# SpellData

# 说明

SpellData类包含技能的静态数据信息,如技能名称、施法范围、弹道速度等,这些信息通常不会在游戏过程中改变。

# 如何使用

AIBaseClient* hero = ObjectManager::Player();
if (hero) {
    SpellDataInst* qSpell = hero->GetSpell(eSpellSlot::Q);
    if (qSpell) {
        SpellData* spellData = qSpell->SData();
        if (spellData) {
            float range = spellData->CastRange();
            // 使用技能范围数据
        }
    }
}

# Hash

std::uint32_t Hash()

获取技能的哈希值。

SpellData* spellData = qSpell->SData();
if (spellData) {
    std::uint32_t hash = spellData->Hash();
    // 使用技能哈希值
}

# Name

const char* Name()

获取技能的名称。

SpellData* spellData = qSpell->SData();
if (spellData) {
    const char* name = spellData->Name();
    // 使用技能名称
}

# TargettingType

eSpellDataTargetType TargettingType()

获取技能的目标类型。

SpellData* spellData = qSpell->SData();
if (spellData) {
    eSpellDataTargetType targetType = spellData->TargettingType();
    if (targetType == eSpellDataTargetType::LocationAoe) {
        // 这是一个区域技能
    }
}

# SpellTotalTime

float SpellTotalTime()

获取技能的总施放时间。

SpellData* spellData = qSpell->SData();
if (spellData) {
    float totalTime = spellData->SpellTotalTime();
    // 使用技能总施放时间
}

# SpellTotalTimeArray

float SpellTotalTimeArray(int level)

获取指定等级技能的总施放时间。

参数名字 参数类型 描述
level int 技能等级
SpellData* spellData = qSpell->SData();
if (spellData) {
    int level = qSpell->Level();
    float totalTime = spellData->SpellTotalTimeArray(level);
    // 使用当前等级的技能总施放时间
}

# CastRange

float CastRange()

获取技能的施法范围。

SpellData* spellData = qSpell->SData();
if (spellData) {
    float range = spellData->CastRange();
    // 使用技能施法范围
}

# CastRangeArray

float CastRangeArray(int level)

获取指定等级技能的施法范围。

参数名字 参数类型 描述
level int 技能等级
SpellData* spellData = qSpell->SData();
if (spellData) {
    int level = qSpell->Level();
    float range = spellData->CastRangeArray(level);
    // 使用当前等级的技能施法范围
}

# MissileSpeed

float MissileSpeed()

获取技能弹道的速度。

SpellData* spellData = qSpell->SData();
if (spellData) {
    float missileSpeed = spellData->MissileSpeed();
    // 使用技能弹道速度
}

# LineWidth

float LineWidth()

获取线形技能的宽度。

SpellData* spellData = qSpell->SData();
if (spellData) {
    float width = spellData->LineWidth();
    // 使用线形技能宽度
}

# Icon

uintptr_t* Icon(uint8_t index = 0)

获取技能的图标。

参数名字 参数类型 描述
index uint8_t 图标索引,默认为0
SpellData* spellData = qSpell->SData();
if (spellData) {
    uintptr_t* icon = spellData->Icon();
    if (icon) {
        // 使用技能图标
    }
}