一般wow玩家是用不到Lib的,因为这些Lib通常情况下已经被包含在了插件内从而被插件直接调用。
这些Lib主要是用于插件开发维护者调用Lib开发者既定的相关数据和规则。
由于Classic客户端的特殊性,碍于某些在Classic中的API的状态的缺陷或缺失,所以国外的开发者们专门就为Classic开发修改了一些Lib,这些Lib将被现在乃至以后的各种相关插件所调用。
以下集合了目前已知的ClassicLib:
1、LibClassicThreat 仇恨数据依赖
随着官方怀旧的发布,暴雪删除了最新的仇恨API接口(官方bfa接口,因为香草并没有这个接口),所以这个LibClassicThreat孕育而生去试图填补这个功能。LibClassicThreat使用的是addon消息为所在队伍/团队发送仇恨信息从而计算怪物的当前仇恨信息。简单的说,这个Lib就是UnitDetailedThreatSituation
的山寨版
源码&下载地址:链接
2、LibClassicDurations 光环持续时间依赖
监视和跟踪所有处于Lib白名单的光环(buffs&debuffs)的应用,LibClassicDurations内置了60年代所有相关光环的持续时间使其可以被所有光环相关插件所调用。
源码&下载地址:链接
3、LibClassicTargetCast 目标施法数据依赖
处理所有目标施法的库(基于ClassicCastBars的Cleu解析)
此Lib目的是模拟解析你的目标施法相关的事件和内置功能函数,并且并不是所有的事件都能在Classic中起作用,所以此Lib发布了一个目前已知的可用事件表(使用LibCallbackHandler):
"PLAYER_ENTERING_WORLD"
"PLAYER_TARGET_CHANGED"
"UNIT_SPELLCAST_START"
"UNIT_SPELLCAST_STOP"
"UNIT_SPELLCAST_FAILED"
"UNIT_SPELLCAST_DELAYED"
"UNIT_SPELLCAST_CHANNEL_START"
"UNIT_SPELLCAST_CHANNEL_STOP"
另外,此Lib提供了和实现了UnitCastingInfo和UnitChannelInfo的模拟,它们成功的模拟了暴雪目前的相应API接口。不过由于所需的方法不同,可能不完全准确。
源码&下载地址:链接
4、LibClassicMobHealth-1.0 目标怪物/NPC血量数据依赖
这个Lib是由CKKnight编写的LGPL LibMobHealth-4.0
库的延续,此库仍然处于开发状态(Classic Beta)
此Lib可以嵌入到插件中被插件调用,但为了获得最佳效果,最好是独立安装,以便将其怪物血量数据库保存到单个savedvariable中
基本用法如下:
local hp = LibStub("LibClasicMobHealth-1.0"):GetMaxHP("幼狼", 2)
local maxhp, found = LibStub("LibClasicMobHealth-1.0"):GetUnitMaxHP("target")
local curhp, found = LibStub("LibClasicMobHealth-1.0"):GetUnitCurrentHP("target")
local curhp, maxhp, found = LibStub("LibClasicMobHealth-1.0"):GetUnitHealth("target")
源码&下载地址:链接
5、LibClassicCasterino 模拟单位施法数据库
此库由rgd87编写,作用是模拟单位施法数据。
用法示例:
local isClassic = select(4,GetBuildInfo()) <= 19999
local UnitCastingInfo = UnitCastingInfo
local UnitChannelInfo = UnitChannelInfo
if isClassic then
UnitCastingInfo = CastingInfo
UnitChannelInfo = ChannelInfo
end
local LibCC = isClassic and LibStub("LibClassicCasterino", true)
if LibCC then
local CastbarEventHandler = function(event, ...)
local self = f
return NugCast[event](self, event, ...)
end
LibCC.RegisterCallback(f,"UNIT_SPELLCAST_START", CastbarEventHandler)
LibCC.RegisterCallback(f,"UNIT_SPELLCAST_DELAYED", CastbarEventHandler) -- only for player
LibCC.RegisterCallback(f,"UNIT_SPELLCAST_STOP", CastbarEventHandler)
LibCC.RegisterCallback(f,"UNIT_SPELLCAST_FAILED", CastbarEventHandler)
LibCC.RegisterCallback(f,"UNIT_SPELLCAST_INTERRUPTED", CastbarEventHandler)
LibCC.RegisterCallback(f,"UNIT_SPELLCAST_CHANNEL_START", CastbarEventHandler)
LibCC.RegisterCallback(f,"UNIT_SPELLCAST_CHANNEL_UPDATE", CastbarEventHandler) -- only for player
LibCC.RegisterCallback(f,"UNIT_SPELLCAST_CHANNEL_STOP", CastbarEventHandler)
UnitCastingInfo = function(unit)
return LibCC:UnitCastingInfo(unit)
end
UnitChannelInfo = function(unit)
return LibCC:UnitChannelInfo(unit)
end
else
f:RegisterEvent("UNIT_SPELLCAST_START")
f:RegisterEvent("UNIT_SPELLCAST_DELAYED")
f:RegisterEvent("UNIT_SPELLCAST_STOP")
f:RegisterEvent("UNIT_SPELLCAST_FAILED")
f:RegisterEvent("UNIT_SPELLCAST_INTERRUPTED")
f:RegisterEvent("UNIT_SPELLCAST_CHANNEL_START")
f:RegisterEvent("UNIT_SPELLCAST_CHANNEL_UPDATE")
f:RegisterEvent("UNIT_SPELLCAST_CHANNEL_STOP")
end
源码&下载地址:链接
6、LibClassicHealComm-1.0 治疗预测数据依赖
此库由luna的作者Aviana编写,作用是在各种单位框架上显示治疗预测数据。
源码&下载地址:链接
7、LibClassicItemSets-1.0 装备套装数据
由Hoizame编写,它包含了怀旧所有套装的信息以及名称
源码&下载地址:链接
8、LibSpellbookClassic-1.0 法术书数据
由AdiAddons编写,监视跟踪法术书,回避解决IsSpellKnown差异
源码&下载地址:链接
9、LibBanzai-2.0-classic 仇恨指示依赖
此库由rgd87编写,作用是为单位框架增加仇恨获取的指示和依赖,通常为团队框架所用
源码&下载地址:链接
10、LibPlayerSpellsClassic-1.0 玩家法术数据依赖
LibPlayerSpellsClassic-1.0是一个可以提供wow中12个角色的法术数据的库。它还包括来自种族特征技能和其他来源的附加法术。它(Spells)包括主动技能和被动技能,可以在玩家的法术书中找到的所有技能。也包括玩家从其他来源获得的增益和减益。
这个库通常作用于需要收集法术数据的插件,例如一些法术监视类插件,可以降低维护成本,并在这些插件之间具有更好的一致性。更多详情请查看作者介绍页。
源码&下载地址:链接
11、libquestxp 任务经验数据库
此库由MrFox42编写,提供了Classic所有任务的经验数据,通常此库给一些任务日志类插件
源码&下载地址:链接