未命名_副本1.jpg

前言:

一般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所有任务的经验数据,通常此库给一些任务日志类插件

源码&下载地址:链接