diff --git a/zone/CMakeLists.txt b/zone/CMakeLists.txt index 0a29a21e1..93136a4ca 100644 --- a/zone/CMakeLists.txt +++ b/zone/CMakeLists.txt @@ -121,6 +121,7 @@ SET(zone_sources perl_raids.cpp perl_spawn.cpp perl_spell.cpp + perl_stat_bonuses.cpp perlpacket.cpp petitions.cpp pets.cpp diff --git a/zone/embparser.cpp b/zone/embparser.cpp index f50bd1d2d..84455bfd4 100644 --- a/zone/embparser.cpp +++ b/zone/embparser.cpp @@ -48,6 +48,7 @@ void perl_register_inventory(); void perl_register_questitem(); void perl_register_spawn(); void perl_register_spell(); +void perl_register_stat_bonuses(); void perl_register_hateentry(); void perl_register_object(); void perl_register_doors(); @@ -1071,6 +1072,7 @@ void PerlembParser::MapFunctions() perl_register_questitem(); perl_register_spawn(); perl_register_spell(); + perl_register_stat_bonuses(); perl_register_hateentry(); perl_register_object(); perl_register_doors(); diff --git a/zone/perl_mob.cpp b/zone/perl_mob.cpp index 2316cf110..fda3d614b 100644 --- a/zone/perl_mob.cpp +++ b/zone/perl_mob.cpp @@ -3005,6 +3005,21 @@ bool Perl_Mob_HasSpellEffect(Mob* self, int effect_id) return self->HasSpellEffect(effect_id); } +StatBonuses* Perl_Mob_GetAABonuses(Mob* self) +{ + return self->GetAABonusesPtr(); +} + +StatBonuses* Perl_Mob_GetItemBonuses(Mob* self) +{ + return self->GetItemBonusesPtr(); +} + +StatBonuses* Perl_Mob_GetSpellBonuses(Mob* self) +{ + return self->GetSpellBonusesPtr(); +} + void perl_register_mob() { perl::interpreter perl(PERL_GET_THX); @@ -3153,6 +3168,7 @@ void perl_register_mob() package.add("GMMove", (void(*)(Mob*, float, float, float, float))&Perl_Mob_GMMove); package.add("Gate", &Perl_Mob_Gate); package.add("GetAA", &Perl_Mob_GetAA); + package.add("GetAABonuses", &Perl_Mob_GetAABonuses); package.add("GetAAByAAID", &Perl_Mob_GetAAByAAID); package.add("GetAC", &Perl_Mob_GetAC); package.add("GetAGI", &Perl_Mob_GetAGI); @@ -3259,6 +3275,7 @@ void perl_register_mob() package.add("GetInvisibleLevel", &Perl_Mob_GetInvisibleLevel); package.add("GetInvisibleUndeadLevel", &Perl_Mob_GetInvisibleUndeadLevel); package.add("GetInvul", &Perl_Mob_GetInvul); + package.add("GetItemBonuses", &Perl_Mob_GetItemBonuses); package.add("GetItemHPBonuses", &Perl_Mob_GetItemHPBonuses); package.add("GetItemStat", &Perl_Mob_GetItemStat); package.add("GetLastName", &Perl_Mob_GetLastName); @@ -3310,6 +3327,7 @@ void perl_register_mob() package.add("GetSpecialAbility", &Perl_Mob_GetSpecialAbility); package.add("GetSpecialAbilityParam", &Perl_Mob_GetSpecialAbilityParam); package.add("GetSpecializeSkillValue", &Perl_Mob_GetSpecializeSkillValue); + package.add("GetSpellBonuses", &Perl_Mob_GetSpellBonuses); package.add("GetSpellHPBonuses", &Perl_Mob_GetSpellHPBonuses); package.add("GetSpellIDFromSlot", &Perl_Mob_GetSpellIDFromSlot); package.add("GetSpellStat", (int(*)(Mob*, uint32, const char*))&Perl_Mob_GetSpellStat); diff --git a/zone/perl_stat_bonuses.cpp b/zone/perl_stat_bonuses.cpp new file mode 100644 index 000000000..398abf487 --- /dev/null +++ b/zone/perl_stat_bonuses.cpp @@ -0,0 +1,1551 @@ +#include "../common/features.h" +#include "common.h" + +#ifdef EMBPERL_XS_CLASSES + +#include "embperl.h" +#include "../common/data_verification.h" + +int32 Perl_StatBonuses_GetAC(StatBonuses* self) +{ + return self->AC; +} + +int64 Perl_StatBonuses_GetHP(StatBonuses* self) +{ + return self->HP; +} + +int64 Perl_StatBonuses_GetHPRegen(StatBonuses* self) +{ + return self->HPRegen; +} + +int64 Perl_StatBonuses_GetMaxHP(StatBonuses* self) +{ + return self->MaxHP; +} + +int64 Perl_StatBonuses_GetManaRegen(StatBonuses* self) +{ + return self->ManaRegen; +} + +int64 Perl_StatBonuses_GetEnduranceRegen(StatBonuses* self) +{ + return self->EnduranceRegen; +} + +int64 Perl_StatBonuses_GetMana(StatBonuses* self) +{ + return self->Mana; +} + +int64 Perl_StatBonuses_GetEndurance(StatBonuses* self) +{ + return self->Endurance; +} + +int32 Perl_StatBonuses_GetATK(StatBonuses* self) +{ + return self->ATK; +} + +int32 Perl_StatBonuses_GetSTR(StatBonuses* self) +{ + return self->STR; +} + +int32 Perl_StatBonuses_GetSTRCapModifier(StatBonuses* self) +{ + return self->STRCapMod; +} + +int32 Perl_StatBonuses_GetHeroicSTR(StatBonuses* self) +{ + return self->HeroicSTR; +} + +int32 Perl_StatBonuses_GetSTA(StatBonuses* self) +{ + return self->STA; +} + +int32 Perl_StatBonuses_GetSTACapModifier(StatBonuses* self) +{ + return self->STACapMod; +} + +int32 Perl_StatBonuses_GetHeroicSTA(StatBonuses* self) +{ + return self->HeroicSTA; +} + +int32 Perl_StatBonuses_GetDEX(StatBonuses* self) +{ + return self->DEX; +} + +int32 Perl_StatBonuses_GetDEXCapModifier(StatBonuses* self) +{ + return self->DEXCapMod; +} + +int32 Perl_StatBonuses_GetHeroicDEX(StatBonuses* self) +{ + return self->HeroicDEX; +} + +int32 Perl_StatBonuses_GetAGI(StatBonuses* self) +{ + return self->AGI; +} + +int32 Perl_StatBonuses_GetAGICapModifier(StatBonuses* self) +{ + return self->AGICapMod; +} + +int32 Perl_StatBonuses_GetHeroicAGI(StatBonuses* self) +{ + return self->HeroicAGI; +} + +int32 Perl_StatBonuses_GetINT(StatBonuses* self) +{ + return self->INT; +} + +int32 Perl_StatBonuses_GetINTCapModifier(StatBonuses* self) +{ + return self->INTCapMod; +} + +int32 Perl_StatBonuses_GetHeroicINT(StatBonuses* self) +{ + return self->HeroicINT; +} + +int32 Perl_StatBonuses_GetWIS(StatBonuses* self) +{ + return self->WIS; +} + +int32 Perl_StatBonuses_GetWISCapModifier(StatBonuses* self) +{ + return self->WISCapMod; +} + +int32 Perl_StatBonuses_GetHeroicWIS(StatBonuses* self) +{ + return self->HeroicWIS; +} + +int32 Perl_StatBonuses_GetCHA(StatBonuses* self) +{ + return self->CHA; +} + +int32 Perl_StatBonuses_GetCHACapModifier(StatBonuses* self) +{ + return self->CHACapMod; +} + +int32 Perl_StatBonuses_GetHeroicCHA(StatBonuses* self) +{ + return self->HeroicCHA; +} + +int32 Perl_StatBonuses_GetMR(StatBonuses* self) +{ + return self->MR; +} + +int32 Perl_StatBonuses_GetMRCapModifier(StatBonuses* self) +{ + return self->MRCapMod; +} + +int32 Perl_StatBonuses_GetHeroicMR(StatBonuses* self) +{ + return self->HeroicMR; +} + +int32 Perl_StatBonuses_GetFR(StatBonuses* self) +{ + return self->FR; +} + +int32 Perl_StatBonuses_GetFRCapModifier(StatBonuses* self) +{ + return self->FRCapMod; +} + +int32 Perl_StatBonuses_GetHeroicFR(StatBonuses* self) +{ + return self->HeroicFR; +} + +int32 Perl_StatBonuses_GetCR(StatBonuses* self) +{ + return self->CR; +} + +int32 Perl_StatBonuses_GetCRCapModifier(StatBonuses* self) +{ + return self->CRCapMod; +} + +int32 Perl_StatBonuses_GetHeroicCR(StatBonuses* self) +{ + return self->HeroicCR; +} + +int32 Perl_StatBonuses_GetPR(StatBonuses* self) +{ + return self->PR; +} + +int32 Perl_StatBonuses_GetPRCapModifier(StatBonuses* self) +{ + return self->PRCapMod; +} + +int32 Perl_StatBonuses_GetHeroicPR(StatBonuses* self) +{ + return self->HeroicPR; +} + +int32 Perl_StatBonuses_GetDR(StatBonuses* self) +{ + return self->DR; +} + +int32 Perl_StatBonuses_GetDRCapModifier(StatBonuses* self) +{ + return self->DRCapMod; +} + +int32 Perl_StatBonuses_GetHeroicDR(StatBonuses* self) +{ + return self->HeroicDR; +} + +int32 Perl_StatBonuses_GetCorruption(StatBonuses* self) +{ + return self->Corrup; +} + +int32 Perl_StatBonuses_GetCorruptionCapModifier(StatBonuses* self) +{ + return self->CorrupCapMod; +} + +int32 Perl_StatBonuses_GetHeroicCorrup(StatBonuses* self) +{ + return self->HeroicCorrup; +} + +uint16 Perl_StatBonuses_GetDamageShieldSpellID(StatBonuses* self) +{ + return self->DamageShieldSpellID; +} + +int Perl_StatBonuses_GetDamageShield(StatBonuses* self) +{ + return self->DamageShield; +} + +int Perl_StatBonuses_GetDamageShieldType(StatBonuses* self) +{ + return self->DamageShieldType; +} + +int Perl_StatBonuses_GetSpellDamageShield(StatBonuses* self) +{ + return self->SpellDamageShield; +} + +int Perl_StatBonuses_GetSpellShield(StatBonuses* self) +{ + return self->SpellShield; +} + +int Perl_StatBonuses_GetReverseDamageShield(StatBonuses* self) +{ + return self->ReverseDamageShield; +} + +uint16 Perl_StatBonuses_GetReverseDamageShieldSpellID(StatBonuses* self) +{ + return self->ReverseDamageShieldSpellID; +} + +int Perl_StatBonuses_GetReverseDamageShieldType(StatBonuses* self) +{ + return self->ReverseDamageShieldType; +} + +int Perl_StatBonuses_GetMovementSpeed(StatBonuses* self) +{ + return self->movementspeed; +} + +int32 Perl_StatBonuses_GetHaste(StatBonuses* self) +{ + return self->haste; +} + +int32 Perl_StatBonuses_GetHasteType2(StatBonuses* self) +{ + return self->hastetype2; +} + +int32 Perl_StatBonuses_GetHasteType3(StatBonuses* self) +{ + return self->hastetype3; +} + +int32 Perl_StatBonuses_GetInhibitMelee(StatBonuses* self) +{ + return self->inhibitmelee; +} + +float Perl_StatBonuses_GetAggroRange(StatBonuses* self) +{ + return self->AggroRange; +} + +float Perl_StatBonuses_GetAssistRange(StatBonuses* self) +{ + return self->AssistRange; +} + +int32 Perl_StatBonuses_GetSkillModifier(StatBonuses* self, int slot) +{ + return self->skillmod[slot]; +} + +int32 Perl_StatBonuses_GetSkillModifierMax(StatBonuses* self, int slot) +{ + return self->skillmodmax[slot]; +} + +int Perl_StatBonuses_GetEffectiveCastingLevel(StatBonuses* self) +{ + return self->effective_casting_level; +} + +int Perl_StatBonuses_GetAdjustedCastingSkill(StatBonuses* self) +{ + return self->adjusted_casting_skill; +} + +int Perl_StatBonuses_GetReflectChance(StatBonuses* self) +{ + return self->reflect[SBIndex::REFLECT_CHANCE]; +} + +uint32 Perl_StatBonuses_GetSingingModifier(StatBonuses* self) +{ + return self->singingMod; +} + +uint32 Perl_StatBonuses_GetAmplification(StatBonuses* self) +{ + return self->Amplification; +} + +uint32 Perl_StatBonuses_GetBrassModifier(StatBonuses* self) +{ + return self->brassMod; +} + +uint32 Perl_StatBonuses_GetPercussionModifier(StatBonuses* self) +{ + return self->percussionMod; +} + +uint32 Perl_StatBonuses_GetWindModifier(StatBonuses* self) +{ + return self->windMod; +} + +uint32 Perl_StatBonuses_GetStringedModifier(StatBonuses* self) +{ + return self->stringedMod; +} + +uint32 Perl_StatBonuses_GetSongModifierCap(StatBonuses* self) +{ + return self->songModCap; +} + +int32 Perl_StatBonuses_GetHateModifier(StatBonuses* self) +{ + return self->hatemod; +} + +int64 Perl_StatBonuses_GetEnduranceReduction(StatBonuses* self) +{ + return self->EnduranceReduction; +} + +int32 Perl_StatBonuses_GetStrikeThrough(StatBonuses* self) +{ + return self->StrikeThrough; +} + +int32 Perl_StatBonuses_GetMeleeMitigation(StatBonuses* self) +{ + return self->MeleeMitigation; +} + +int32 Perl_StatBonuses_GetMeleeMitigationEffect(StatBonuses* self) +{ + return self->MeleeMitigationEffect; +} + +int32 Perl_StatBonuses_GetCriticalHitChance(StatBonuses* self, int slot) +{ + return self->CriticalHitChance[slot]; +} + +int32 Perl_StatBonuses_GetCriticalSpellChance(StatBonuses* self) +{ + return self->CriticalSpellChance; +} + +int32 Perl_StatBonuses_GetSpellCriticalDamageIncrease(StatBonuses* self) +{ + return self->SpellCritDmgIncrease; +} + +int32 Perl_StatBonuses_GetSpellCriticalDamageIncreaseNoStack(StatBonuses* self) +{ + return self->SpellCritDmgIncNoStack; +} + +int32 Perl_StatBonuses_GetDOTCriticalDamageIncrease(StatBonuses* self) +{ + return self->DotCritDmgIncrease; +} + +int32 Perl_StatBonuses_GetCriticalHealChance(StatBonuses* self) +{ + return self->CriticalHealChance; +} + +int32 Perl_StatBonuses_GetCriticalHealOverTime(StatBonuses* self) +{ + return self->CriticalHealOverTime; +} + +int32 Perl_StatBonuses_GetCriticalDOTChance(StatBonuses* self) +{ + return self->CriticalDoTChance; +} + +int32 Perl_StatBonuses_GetCripplingBlowChance(StatBonuses* self) +{ + return self->CrippBlowChance; +} + +int32 Perl_StatBonuses_GetAvoidMeleeChance(StatBonuses* self) +{ + return self->AvoidMeleeChance; +} + +int32 Perl_StatBonuses_GetAvoidMeleeChanceEffect(StatBonuses* self) +{ + return self->AvoidMeleeChanceEffect; +} + +int32 Perl_StatBonuses_GetRiposteChance(StatBonuses* self) +{ + return self->RiposteChance; +} + +int32 Perl_StatBonuses_GetDodgeChance(StatBonuses* self) +{ + return self->DodgeChance; +} + +int32 Perl_StatBonuses_GetParryChance(StatBonuses* self) +{ + return self->ParryChance; +} + +int32 Perl_StatBonuses_GetDualWieldChance(StatBonuses* self) +{ + return self->DualWieldChance; +} + +int32 Perl_StatBonuses_GetDoubleAttackChance(StatBonuses* self) +{ + return self->DoubleAttackChance; +} + +int32 Perl_StatBonuses_GetTripleAttackChance(StatBonuses* self) +{ + return self->TripleAttackChance; +} + +int32 Perl_StatBonuses_GetDoubleRangedAttack(StatBonuses* self) +{ + return self->DoubleRangedAttack; +} + +int32 Perl_StatBonuses_GetResistSpellChance(StatBonuses* self) +{ + return self->ResistSpellChance; +} + +int32 Perl_StatBonuses_GetResistFearChance(StatBonuses* self) +{ + return self->ResistFearChance; +} + +bool Perl_StatBonuses_GetFearless(StatBonuses* self) +{ + return self->Fearless; +} + +bool Perl_StatBonuses_GetIsFeared(StatBonuses* self) +{ + return self->IsFeared; +} + +bool Perl_StatBonuses_GetIsBlind(StatBonuses* self) +{ + return self->IsBlind; +} + +int32 Perl_StatBonuses_GetStunResist(StatBonuses* self) +{ + return self->StunResist; +} + +int32 Perl_StatBonuses_GetMeleeSkillCheck(StatBonuses* self) +{ + return self->MeleeSkillCheck; +} + +uint8 Perl_StatBonuses_GetMeleeSkillCheckSkill(StatBonuses* self) +{ + return self->MeleeSkillCheckSkill; +} + +int32 Perl_StatBonuses_GetHitChance(StatBonuses* self) +{ + return self->HitChance; +} + +int32 Perl_StatBonuses_GetHitChanceEffect(StatBonuses* self, int slot) +{ + return self->HitChanceEffect[slot]; +} + +int32 Perl_StatBonuses_GetDamageModifier(StatBonuses* self, int slot) +{ + return self->DamageModifier[slot]; +} + +int32 Perl_StatBonuses_GetDamageModifier2(StatBonuses* self, int slot) +{ + return self->DamageModifier2[slot]; +} + +int32 Perl_StatBonuses_GetMinimumDamageModifier(StatBonuses* self, int slot) +{ + return self->MinDamageModifier[slot]; +} + +int32 Perl_StatBonuses_GetProcChance(StatBonuses* self) +{ + return self->ProcChance; +} + +int32 Perl_StatBonuses_GetProcChanceSPA(StatBonuses* self) +{ + return self->ProcChanceSPA; +} + +int32 Perl_StatBonuses_GetExtraAttackChance(StatBonuses* self) +{ + return self->ExtraAttackChance[0]; +} + +int32 Perl_StatBonuses_GetDOTShielding(StatBonuses* self) +{ + return self->DoTShielding; +} + +int32 Perl_StatBonuses_GetFlurryChance(StatBonuses* self) +{ + return self->FlurryChance; +} + +int32 Perl_StatBonuses_GetHundredHands(StatBonuses* self) +{ + return self->HundredHands; +} + +int32 Perl_StatBonuses_GetMeleeLifetap(StatBonuses* self) +{ + return self->MeleeLifetap; +} + +int32 Perl_StatBonuses_GetVampirism(StatBonuses* self) +{ + return self->Vampirism; +} + +int32 Perl_StatBonuses_GetHealRate(StatBonuses* self) +{ + return self->HealRate; +} + +int32 Perl_StatBonuses_GetMaxHPChange(StatBonuses* self) +{ + return self->MaxHPChange; +} + +int32 Perl_StatBonuses_GetHealAmt(StatBonuses* self) +{ + return self->HealAmt; +} + +int32 Perl_StatBonuses_GetSpellDamage(StatBonuses* self) +{ + return self->SpellDmg; +} + +int32 Perl_StatBonuses_GetClairvoyance(StatBonuses* self) +{ + return self->Clairvoyance; +} + +int32 Perl_StatBonuses_GetDSMitigation(StatBonuses* self) +{ + return self->DSMitigation; +} + +int32 Perl_StatBonuses_GetDSMitigationOffHand(StatBonuses* self) +{ + return self->DSMitigationOffHand; +} + +int32 Perl_StatBonuses_GetTwoHandBluntBlock(StatBonuses* self) +{ + return self->TwoHandBluntBlock; +} + +uint32 Perl_StatBonuses_GetItemManaRegenCap(StatBonuses* self) +{ + return self->ItemManaRegenCap; +} + +int32 Perl_StatBonuses_GetGravityEffect(StatBonuses* self) +{ + return self->GravityEffect; +} + +bool Perl_StatBonuses_GetAntiGate(StatBonuses* self) +{ + return self->AntiGate; +} + +bool Perl_StatBonuses_GetMagicWeapon(StatBonuses* self) +{ + return self->MagicWeapon; +} + +int32 Perl_StatBonuses_GetIncreaseBlockChance(StatBonuses* self) +{ + return self->IncreaseBlockChance; +} + +uint32 Perl_StatBonuses_GetPersistentCasting(StatBonuses* self) +{ + return self->PersistantCasting; +} + +int Perl_StatBonuses_GetXPRateModifier(StatBonuses* self) +{ + return self->XPRateMod; +} + +bool Perl_StatBonuses_GetImmuneToFlee(StatBonuses* self) +{ + return self->ImmuneToFlee; +} + +uint32 Perl_StatBonuses_GetVoiceGraft(StatBonuses* self) +{ + return self->VoiceGraft; +} + +int32 Perl_StatBonuses_GetSpellProcChance(StatBonuses* self) +{ + return self->SpellProcChance; +} + +int32 Perl_StatBonuses_GetCharmBreakChance(StatBonuses* self) +{ + return self->CharmBreakChance; +} + +int32 Perl_StatBonuses_GetSongRange(StatBonuses* self) +{ + return self->SongRange; +} + +uint32 Perl_StatBonuses_GetHPToManaConvert(StatBonuses* self) +{ + return self->HPToManaConvert; +} + +bool Perl_StatBonuses_GetNegateEffects(StatBonuses* self) +{ + return self->NegateEffects; +} + +bool Perl_StatBonuses_GetTriggerMeleeThreshold(StatBonuses* self) +{ + return self->TriggerMeleeThreshold; +} + +bool Perl_StatBonuses_GetTriggerSpellThreshold(StatBonuses* self) +{ + return self->TriggerSpellThreshold; +} + +int32 Perl_StatBonuses_GetShieldBlock(StatBonuses* self) +{ + return self->ShieldBlock; +} + +int32 Perl_StatBonuses_GetBlockBehind(StatBonuses* self) +{ + return self->BlockBehind; +} + +bool Perl_StatBonuses_GetCriticalRegenDecay(StatBonuses* self) +{ + return self->CriticalRegenDecay; +} + +bool Perl_StatBonuses_GetCriticalHealDecay(StatBonuses* self) +{ + return self->CriticalHealDecay; +} + +bool Perl_StatBonuses_GetCriticalDOTDecay(StatBonuses* self) +{ + return self->CriticalDotDecay; +} + +bool Perl_StatBonuses_GetDivineAura(StatBonuses* self) +{ + return self->DivineAura; +} + +bool Perl_StatBonuses_GetDistanceRemoval(StatBonuses* self) +{ + return self->DistanceRemoval; +} + +int32 Perl_StatBonuses_GetFrenziedDevastation(StatBonuses* self) +{ + return self->FrenziedDevastation; +} + +bool Perl_StatBonuses_GetNegateIfCombat(StatBonuses* self) +{ + return self->NegateIfCombat; +} + +int8 Perl_StatBonuses_GetScreech(StatBonuses* self) +{ + return self->Screech; +} + +int32 Perl_StatBonuses_GetAlterNPCLevel(StatBonuses* self) +{ + return self->AlterNPCLevel; +} + +bool Perl_StatBonuses_GetBerserkSPA(StatBonuses* self) +{ + return self->BerserkSPA; +} + +int32 Perl_StatBonuses_GetMetabolism(StatBonuses* self) +{ + return self->Metabolism; +} + +bool Perl_StatBonuses_GetSanctuary(StatBonuses* self) +{ + return self->Sanctuary; +} + +int32 Perl_StatBonuses_GetFactionModifierPercent(StatBonuses* self) +{ + return self->FactionModPct; +} + +uint32 Perl_StatBonuses_GetPCPetFlurry(StatBonuses* self) +{ + return self->PC_Pet_Flurry; +} + +int8 Perl_StatBonuses_GetPackrat(StatBonuses* self) +{ + return self->Packrat; +} + +uint8 Perl_StatBonuses_GetBuffSlotIncrease(StatBonuses* self) +{ + return self->BuffSlotIncrease; +} + +uint32 Perl_StatBonuses_GetDelayDeath(StatBonuses* self) +{ + return self->DelayDeath; +} + +int8 Perl_StatBonuses_GetBaseMovementSpeed(StatBonuses* self) +{ + return self->BaseMovementSpeed; +} + +uint8 Perl_StatBonuses_GetIncreaseRunSpeedCap(StatBonuses* self) +{ + return self->IncreaseRunSpeedCap; +} + +int32 Perl_StatBonuses_GetDoubleSpecialAttack(StatBonuses* self) +{ + return self->DoubleSpecialAttack; +} + +uint8 Perl_StatBonuses_GetFrontalStunResist(StatBonuses* self) +{ + return self->FrontalStunResist; +} + +int32 Perl_StatBonuses_GetBindWound(StatBonuses* self) +{ + return self->BindWound; +} + +int32 Perl_StatBonuses_GetMaxBindWound(StatBonuses* self) +{ + return self->MaxBindWound; +} + +int32 Perl_StatBonuses_GetChannelChanceSpells(StatBonuses* self) +{ + return self->ChannelChanceSpells; +} + +int32 Perl_StatBonuses_GetChannelChanceItems(StatBonuses* self) +{ + return self->ChannelChanceItems; +} + +uint8 Perl_StatBonuses_GetSeeInvis(StatBonuses* self) +{ + return self->SeeInvis; +} + +uint8 Perl_StatBonuses_GetTripleBackstab(StatBonuses* self) +{ + return self->TripleBackstab; +} + +bool Perl_StatBonuses_GetFrontalBackstabMinimumDamage(StatBonuses* self) +{ + return self->FrontalBackstabMinDmg; +} + +uint8 Perl_StatBonuses_GetFrontalBackstabChance(StatBonuses* self) +{ + return self->FrontalBackstabChance; +} + +uint8 Perl_StatBonuses_GetConsumeProjectile(StatBonuses* self) +{ + return self->ConsumeProjectile; +} + +uint8 Perl_StatBonuses_GetForageAdditionalItems(StatBonuses* self) +{ + return self->ForageAdditionalItems; +} + +uint8 Perl_StatBonuses_GetSalvageChance(StatBonuses* self) +{ + return self->SalvageChance; +} + +uint32 Perl_StatBonuses_GetArcheryDamageModifier(StatBonuses* self) +{ + return self->ArcheryDamageModifier; +} + +bool Perl_StatBonuses_GetSecondaryDamageIncrease(StatBonuses* self) +{ + return self->SecondaryDmgInc; +} + +uint32 Perl_StatBonuses_GetGiveDoubleAttack(StatBonuses* self) +{ + return self->GiveDoubleAttack; +} + +int32 Perl_StatBonuses_GetPetCriticalHit(StatBonuses* self) +{ + return self->PetCriticalHit; +} + +int32 Perl_StatBonuses_GetPetAvoidance(StatBonuses* self) +{ + return self->PetAvoidance; +} + +int32 Perl_StatBonuses_GetCombatStability(StatBonuses* self) +{ + return self->CombatStability; +} + +int32 Perl_StatBonuses_GetDoubleRiposte(StatBonuses* self) +{ + return self->DoubleRiposte; +} + +int32 Perl_StatBonuses_GetAmbidexterity(StatBonuses* self) +{ + return self->Ambidexterity; +} + +int32 Perl_StatBonuses_GetPetMaxHP(StatBonuses* self) +{ + return self->PetMaxHP; +} + +int32 Perl_StatBonuses_GetPetFlurry(StatBonuses* self) +{ + return self->PetFlurry; +} + +uint8 Perl_StatBonuses_GetMasteryOfPast(StatBonuses* self) +{ + return self->MasteryofPast; +} + +bool Perl_StatBonuses_GetGivePetGroupTarget(StatBonuses* self) +{ + return self->GivePetGroupTarget; +} + +int32 Perl_StatBonuses_GetRootBreakChance(StatBonuses* self) +{ + return self->RootBreakChance; +} + +int32 Perl_StatBonuses_GetUnfailingDivinity(StatBonuses* self) +{ + return self->UnfailingDivinity; +} + +int32 Perl_StatBonuses_GetItemHPRegenCap(StatBonuses* self) +{ + return self->ItemHPRegenCap; +} + +int32 Perl_StatBonuses_GetOffhandRiposteFail(StatBonuses* self) +{ + return self->OffhandRiposteFail; +} + +int32 Perl_StatBonuses_GetItemATKCap(StatBonuses* self) +{ + return self->ItemATKCap; +} + +int32 Perl_StatBonuses_GetShieldEquipDamageModifier(StatBonuses* self) +{ + return self->ShieldEquipDmgMod; +} + +bool Perl_StatBonuses_GetTriggerOnValueAmount(StatBonuses* self) +{ + return self->TriggerOnCastRequirement; +} + +int8 Perl_StatBonuses_GetStunBashChance(StatBonuses* self) +{ + return self->StunBashChance; +} + +int8 Perl_StatBonuses_GetIncreaseChanceMemoryWipe(StatBonuses* self) +{ + return self->IncreaseChanceMemwipe; +} + +int8 Perl_StatBonuses_GetCriticalMend(StatBonuses* self) +{ + return self->CriticalMend; +} + +int32 Perl_StatBonuses_GetImprovedReclaimEnergy(StatBonuses* self) +{ + return self->ImprovedReclaimEnergy; +} + +int32 Perl_StatBonuses_GetPetMeleeMitigation(StatBonuses* self) +{ + return self->PetMeleeMitigation; +} + +bool Perl_StatBonuses_GetIllusionPersistence(StatBonuses* self) +{ + return self->IllusionPersistence; +} + +uint16 Perl_StatBonuses_GetExtraXTargets(StatBonuses* self) +{ + return self->extra_xtargets; +} + +bool Perl_StatBonuses_GetShroudOfStealth(StatBonuses* self) +{ + return self->ShroudofStealth; +} + +uint16 Perl_StatBonuses_GetReduceFallDamage(StatBonuses* self) +{ + return self->ReduceFallDamage; +} + +uint8 Perl_StatBonuses_GetTradeSkillMastery(StatBonuses* self) +{ + return self->TradeSkillMastery; +} + +int16 Perl_StatBonuses_GetNoBreakAESneak(StatBonuses* self) +{ + return self->NoBreakAESneak; +} + +int16 Perl_StatBonuses_GetFeignedCastOnChance(StatBonuses* self) +{ + return self->FeignedCastOnChance; +} + +int32 Perl_StatBonuses_GetDivineSaveChance(StatBonuses* self, int slot) +{ + return self->DivineSaveChance[slot]; +} + +uint32 Perl_StatBonuses_GetDeathSave(StatBonuses* self, int slot) +{ + return self->DeathSave[slot]; +} + +int32 Perl_StatBonuses_GetAccuracy(StatBonuses* self, int slot) +{ + return self->Accuracy[slot]; +} + +int16 Perl_StatBonuses_GetSkillDamageTaken(StatBonuses* self, int slot) +{ + return self->SkillDmgTaken[slot]; +} + +uint32 Perl_StatBonuses_GetSpellTriggers(StatBonuses* self, int slot) +{ + return self->SpellTriggers[slot]; +} + +uint32 Perl_StatBonuses_GetSpellOnKill(StatBonuses* self, int slot) +{ + return self->SpellOnKill[slot]; +} + +uint32 Perl_StatBonuses_GetSpellOnDeath(StatBonuses* self, int slot) +{ + return self->SpellOnDeath[slot]; +} + +int32 Perl_StatBonuses_GetCriticalDamageModifier(StatBonuses* self, int slot) +{ + return self->CritDmgMod[slot]; +} + +int32 Perl_StatBonuses_GetSkillReuseTime(StatBonuses* self, int slot) +{ + return self->SkillReuseTime[slot]; +} + +int32 Perl_StatBonuses_GetSkillDamageAmount(StatBonuses* self, int slot) +{ + if (!EQ::ValueWithin(slot, ALL_SKILLS, EQ::skills::HIGHEST_SKILL)) + { + return 0; + } + + return slot == ALL_SKILLS ? self->SkillDamageAmount[EQ::skills::HIGHEST_SKILL + 1] : self->SkillDamageAmount[slot]; +} + +int Perl_StatBonuses_GetHPPercentCap(StatBonuses* self, int slot) +{ + return self->HPPercCap[slot]; +} + +int Perl_StatBonuses_GetManaPercentCap(StatBonuses* self, int slot) +{ + return self->ManaPercCap[slot]; +} + +int Perl_StatBonuses_GetEndurancePercentCAp(StatBonuses* self, int slot) +{ + return self->EndPercCap[slot]; +} + +uint8 Perl_StatBonuses_GetFocusEffects(StatBonuses* self, int slot) +{ + return self->FocusEffects[slot]; +} + +int16 Perl_StatBonuses_GetFocusEffectsWorn(StatBonuses* self, int slot) +{ + return self->FocusEffectsWorn[slot]; +} + +int32 Perl_StatBonuses_GetSkillDamageAmount2(StatBonuses* self, int slot) +{ + return self->SkillDamageAmount2[slot]; +} + +uint32 Perl_StatBonuses_GetNegateAttacks(StatBonuses* self, int slot) +{ + return self->NegateAttacks[slot]; +} + +uint32 Perl_StatBonuses_GetMitigateMeleeRune(StatBonuses* self, int slot) +{ + return self->MitigateMeleeRune[slot]; +} + +uint32 Perl_StatBonuses_GetMeleeThresholdGuard(StatBonuses* self, int slot) +{ + return self->MeleeThresholdGuard[slot]; +} + +uint32 Perl_StatBonuses_GetSpellThresholdGuard(StatBonuses* self, int slot) +{ + return self->SpellThresholdGuard[slot]; +} + +uint32 Perl_StatBonuses_GetMitigateSpellRune(StatBonuses* self, int slot) +{ + return self->MitigateSpellRune[slot]; +} + +uint32 Perl_StatBonuses_GetMitigateDOTRune(StatBonuses* self, int slot) +{ + return self->MitigateDotRune[slot]; +} + +uint32 Perl_StatBonuses_GetManaAbsorbPercentDamage(StatBonuses* self, int slot) +{ + return self->ManaAbsorbPercentDamage; +} + +int32 Perl_StatBonuses_GetImprovedTaunt(StatBonuses* self, int slot) +{ + return self->ImprovedTaunt[slot]; +} + +int8 Perl_StatBonuses_GetRoot(StatBonuses* self, int slot) +{ + return self->Root[slot]; +} + +uint32 Perl_StatBonuses_GetAbsorbMagicAttack(StatBonuses* self, int slot) +{ + return self->AbsorbMagicAtt[slot]; +} + +uint32 Perl_StatBonuses_GetMeleeRune(StatBonuses* self, int slot) +{ + return self->MeleeRune[slot]; +} + +int32 Perl_StatBonuses_GetAStacker(StatBonuses* self, int slot) +{ + return self->AStacker[slot]; +} + +int32 Perl_StatBonuses_GetBStacker(StatBonuses* self, int slot) +{ + return self->BStacker[slot]; +} + +int32 Perl_StatBonuses_GetCStacker(StatBonuses* self, int slot) +{ + return self->CStacker[slot]; +} + +int32 Perl_StatBonuses_GetDStacker(StatBonuses* self, int slot) +{ + return self->DStacker[slot]; +} + +bool Perl_StatBonuses_GetLimitToSkill(StatBonuses* self, int slot) +{ + return self->LimitToSkill[slot]; +} + +uint32 Perl_StatBonuses_GetSkillProc(StatBonuses* self, int slot) +{ + return self->SkillProc[slot]; +} + +uint32 Perl_StatBonuses_GetSkillProcSuccess(StatBonuses* self, int slot) +{ + return self->SkillProcSuccess[slot]; +} + +uint32 Perl_StatBonuses_GetPCPetRampage(StatBonuses* self, int slot) +{ + return self->PC_Pet_Rampage[slot]; +} + +int32 Perl_StatBonuses_GetSkillAttackProc(StatBonuses* self, int slot) +{ + return self->SkillAttackProc[slot]; +} + +int32 Perl_StatBonuses_GetSlayUndead(StatBonuses* self, int slot) +{ + return self->SlayUndead[slot]; +} + +int32 Perl_StatBonuses_GetGiveDoubleRiposte(StatBonuses* self, int slot) +{ + return self->GiveDoubleRiposte[slot]; +} + +uint32 Perl_StatBonuses_GetRaiseSkillCap(StatBonuses* self, int slot) +{ + return self->RaiseSkillCap[slot]; +} + +int32 Perl_StatBonuses_GetSEResist(StatBonuses* self, int slot) +{ + return self->SEResist[slot]; +} + +int32 Perl_StatBonuses_GetFinishingBlow(StatBonuses* self, int slot) +{ + return self->FinishingBlow[slot]; +} + +uint32 Perl_StatBonuses_GetFinishingBlowLevel(StatBonuses* self, int slot) +{ + return self->FinishingBlowLvl[slot]; +} + +uint32 Perl_StatBonuses_GetHeadShot(StatBonuses* self, int slot) +{ + return self->HeadShot[slot]; +} + +uint8 Perl_StatBonuses_GetHeadShotLevel(StatBonuses* self, int slot) +{ + return self->HSLevel[slot]; +} + +uint32 Perl_StatBonuses_GetAssassinate(StatBonuses* self, int slot) +{ + return self->Assassinate[slot]; +} + +uint8 Perl_StatBonuses_GetAssassinateLevel(StatBonuses* self, int slot) +{ + return self->AssassinateLevel[slot]; +} + +int32 Perl_StatBonuses_GetReduceTradeskillFail(StatBonuses* self, int slot) +{ + return self->ReduceTradeskillFail[slot]; +} + +void perl_register_stat_bonuses() +{ + perl::interpreter perl(PERL_GET_THX); + + auto package = perl.new_class("StatBonuses"); + package.add("GetAbsorbMagicAttack", &Perl_StatBonuses_GetAbsorbMagicAttack); + package.add("GetAC", &Perl_StatBonuses_GetAC); + package.add("GetAccuracy", &Perl_StatBonuses_GetAccuracy); + package.add("GetAdjustedCastingSkill", &Perl_StatBonuses_GetAdjustedCastingSkill); + package.add("GetAggroRange", &Perl_StatBonuses_GetAggroRange); + package.add("GetAGI", &Perl_StatBonuses_GetAGI); + package.add("GetAGICapModifier", &Perl_StatBonuses_GetAGICapModifier); + package.add("GetAlterNPCLevel", &Perl_StatBonuses_GetAlterNPCLevel); + package.add("GetAmbidexterity", &Perl_StatBonuses_GetAmbidexterity); + package.add("GetAmplification", &Perl_StatBonuses_GetAmplification); + package.add("GetAntiGate", &Perl_StatBonuses_GetAntiGate); + package.add("GetArcheryDamageModifier", &Perl_StatBonuses_GetArcheryDamageModifier); + package.add("GetAssassinate", &Perl_StatBonuses_GetAssassinate); + package.add("GetAssassinateLevel", &Perl_StatBonuses_GetAssassinateLevel); + package.add("GetAssistRange", &Perl_StatBonuses_GetAssistRange); + package.add("GetAStacker", &Perl_StatBonuses_GetAStacker); + package.add("GetATK", &Perl_StatBonuses_GetATK); + package.add("GetAvoidMeleeChance", &Perl_StatBonuses_GetAvoidMeleeChance); + package.add("GetAvoidMeleeChanceEffect", &Perl_StatBonuses_GetAvoidMeleeChanceEffect); + package.add("GetBaseMovementSpeed", &Perl_StatBonuses_GetBaseMovementSpeed); + package.add("GetBerserkSPA", &Perl_StatBonuses_GetBerserkSPA); + package.add("GetBindWound", &Perl_StatBonuses_GetBindWound); + package.add("GetBlockBehind", &Perl_StatBonuses_GetBlockBehind); + package.add("GetBrassModifier", &Perl_StatBonuses_GetBrassModifier); + package.add("GetBStacker", &Perl_StatBonuses_GetBStacker); + package.add("GetBuffSlotIncrease", &Perl_StatBonuses_GetBuffSlotIncrease); + package.add("GetCHA", &Perl_StatBonuses_GetCHA); + package.add("GetCHACapModifier", &Perl_StatBonuses_GetCHACapModifier); + package.add("GetChannelChanceItems", &Perl_StatBonuses_GetChannelChanceItems); + package.add("GetChannelChanceSpells", &Perl_StatBonuses_GetChannelChanceSpells); + package.add("GetCharmBreakChance", &Perl_StatBonuses_GetCharmBreakChance); + package.add("GetClairvoyance", &Perl_StatBonuses_GetClairvoyance); + package.add("GetCombatStability", &Perl_StatBonuses_GetCombatStability); + package.add("GetConsumeProjectile", &Perl_StatBonuses_GetConsumeProjectile); + package.add("GetCorruption", &Perl_StatBonuses_GetCorruption); + package.add("GetCorruptionCapModifier", &Perl_StatBonuses_GetCorruptionCapModifier); + package.add("GetCR", &Perl_StatBonuses_GetCR); + package.add("GetCRCapModifier", &Perl_StatBonuses_GetCRCapModifier); + package.add("GetCripplingBlowChance", &Perl_StatBonuses_GetCripplingBlowChance); + package.add("GetCriticalDamageModifier", &Perl_StatBonuses_GetCriticalDamageModifier); + package.add("GetCriticalDOTChance", &Perl_StatBonuses_GetCriticalDOTChance); + package.add("GetCriticalDOTDecay", &Perl_StatBonuses_GetCriticalDOTDecay); + package.add("GetCriticalHealChance", &Perl_StatBonuses_GetCriticalHealChance); + package.add("GetCriticalHealDecay", &Perl_StatBonuses_GetCriticalHealDecay); + package.add("GetCriticalHealOverTime", &Perl_StatBonuses_GetCriticalHealOverTime); + package.add("GetCriticalHitChance", &Perl_StatBonuses_GetCriticalHitChance); + package.add("GetCriticalMend", &Perl_StatBonuses_GetCriticalMend); + package.add("GetCriticalRegenDecay", &Perl_StatBonuses_GetCriticalRegenDecay); + package.add("GetCriticalSpellChance", &Perl_StatBonuses_GetCriticalSpellChance); + package.add("GetCStacker", &Perl_StatBonuses_GetCStacker); + package.add("GetDamageModifier", &Perl_StatBonuses_GetDamageModifier); + package.add("GetDamageModifier2", &Perl_StatBonuses_GetDamageModifier2); + package.add("GetDamageShield", &Perl_StatBonuses_GetDamageShield); + package.add("GetDamageShieldSpellID", &Perl_StatBonuses_GetDamageShieldSpellID); + package.add("GetDamageShieldType", &Perl_StatBonuses_GetDamageShieldType); + package.add("GetDeathSave", &Perl_StatBonuses_GetDeathSave); + package.add("GetDelayDeath", &Perl_StatBonuses_GetDelayDeath); + package.add("GetDEX", &Perl_StatBonuses_GetDEX); + package.add("GetDEXCapModifier", &Perl_StatBonuses_GetDEXCapModifier); + package.add("GetDistanceRemoval", &Perl_StatBonuses_GetDistanceRemoval); + package.add("GetDivineAura", &Perl_StatBonuses_GetDivineAura); + package.add("GetDivineSaveChance", &Perl_StatBonuses_GetDivineSaveChance); + package.add("GetDodgeChance", &Perl_StatBonuses_GetDodgeChance); + package.add("GetDOTCriticalDamageIncrease", &Perl_StatBonuses_GetDOTCriticalDamageIncrease); + package.add("GetDOTShielding", &Perl_StatBonuses_GetDOTShielding); + package.add("GetDoubleAttackChance", &Perl_StatBonuses_GetDoubleAttackChance); + package.add("GetDoubleRangedAttack", &Perl_StatBonuses_GetDoubleRangedAttack); + package.add("GetDoubleRiposte", &Perl_StatBonuses_GetDoubleRiposte); + package.add("GetDoubleSpecialAttack", &Perl_StatBonuses_GetDoubleSpecialAttack); + package.add("GetDR", &Perl_StatBonuses_GetDR); + package.add("GetDRCapModifier", &Perl_StatBonuses_GetDRCapModifier); + package.add("GetDSMitigation", &Perl_StatBonuses_GetDSMitigation); + package.add("GetDSMitigationOffHand", &Perl_StatBonuses_GetDSMitigationOffHand); + package.add("GetDStacker", &Perl_StatBonuses_GetDStacker); + package.add("GetDualWieldChance", &Perl_StatBonuses_GetDualWieldChance); + package.add("GetEffectiveCastingLevel", &Perl_StatBonuses_GetEffectiveCastingLevel); + package.add("GetEndurancePercentCAp", &Perl_StatBonuses_GetEndurancePercentCAp); + package.add("GetEndurance", &Perl_StatBonuses_GetEndurance); + package.add("GetEnduranceReduction", &Perl_StatBonuses_GetEnduranceReduction); + package.add("GetEnduranceRegen", &Perl_StatBonuses_GetEnduranceRegen); + package.add("GetExtraXTargets", &Perl_StatBonuses_GetExtraXTargets); + package.add("GetExtraAttackChance", &Perl_StatBonuses_GetExtraAttackChance); + package.add("GetFactionModifierPercent", &Perl_StatBonuses_GetFactionModifierPercent); + package.add("GetFearless", &Perl_StatBonuses_GetFearless); + package.add("GetFeignedCastOnChance", &Perl_StatBonuses_GetFeignedCastOnChance); + package.add("GetFinishingBlow", &Perl_StatBonuses_GetFinishingBlow); + package.add("GetFinishingBlowLevel", &Perl_StatBonuses_GetFinishingBlowLevel); + package.add("GetFlurryChance", &Perl_StatBonuses_GetFlurryChance); + package.add("GetFocusEffects", &Perl_StatBonuses_GetFocusEffects); + package.add("GetFocusEffectsWorn", &Perl_StatBonuses_GetFocusEffectsWorn); + package.add("GetForageAdditionalItems", &Perl_StatBonuses_GetForageAdditionalItems); + package.add("GetFR", &Perl_StatBonuses_GetFR); + package.add("GetFRCapModifier", &Perl_StatBonuses_GetFRCapModifier); + package.add("GetFrenziedDevastation", &Perl_StatBonuses_GetFrenziedDevastation); + package.add("GetFrontalBackstabChance", &Perl_StatBonuses_GetFrontalBackstabChance); + package.add("GetFrontalBackstabMinimumDamage", &Perl_StatBonuses_GetFrontalBackstabMinimumDamage); + package.add("GetFrontalStunResist", &Perl_StatBonuses_GetFrontalStunResist); + package.add("GetGiveDoubleAttack", &Perl_StatBonuses_GetGiveDoubleAttack); + package.add("GetGiveDoubleRiposte", &Perl_StatBonuses_GetGiveDoubleRiposte); + package.add("GetGivePetGroupTarget", &Perl_StatBonuses_GetGivePetGroupTarget); + package.add("GetGravityEffect", &Perl_StatBonuses_GetGravityEffect); + package.add("GetHaste", &Perl_StatBonuses_GetHaste); + package.add("GetHasteType2", &Perl_StatBonuses_GetHasteType2); + package.add("GetHasteType3", &Perl_StatBonuses_GetHasteType3); + package.add("GetHateModifier", &Perl_StatBonuses_GetHateModifier); + package.add("GetHeadShot", &Perl_StatBonuses_GetHeadShot); + package.add("GetHeadShotLevel", &Perl_StatBonuses_GetHeadShotLevel); + package.add("GetHealAmt", &Perl_StatBonuses_GetHealAmt); + package.add("GetHealRate", &Perl_StatBonuses_GetHealRate); + package.add("GetHeroicAGI", &Perl_StatBonuses_GetHeroicAGI); + package.add("GetHeroicCHA", &Perl_StatBonuses_GetHeroicCHA); + package.add("GetHeroicCorrup", &Perl_StatBonuses_GetHeroicCorrup); + package.add("GetHeroicCR", &Perl_StatBonuses_GetHeroicCR); + package.add("GetHeroicDEX", &Perl_StatBonuses_GetHeroicDEX); + package.add("GetHeroicDR", &Perl_StatBonuses_GetHeroicDR); + package.add("GetHeroicFR", &Perl_StatBonuses_GetHeroicFR); + package.add("GetHeroicINT", &Perl_StatBonuses_GetHeroicINT); + package.add("GetHeroicMR", &Perl_StatBonuses_GetHeroicMR); + package.add("GetHeroicPR", &Perl_StatBonuses_GetHeroicPR); + package.add("GetHeroicSTA", &Perl_StatBonuses_GetHeroicSTA); + package.add("GetHeroicSTR", &Perl_StatBonuses_GetHeroicSTR); + package.add("GetHeroicWIS", &Perl_StatBonuses_GetHeroicWIS); + package.add("GetHitChance", &Perl_StatBonuses_GetHitChance); + package.add("GetHitChanceEffect", &Perl_StatBonuses_GetHitChanceEffect); + package.add("GetHP", &Perl_StatBonuses_GetHP); + package.add("GetHPPercentCap", &Perl_StatBonuses_GetHPPercentCap); + package.add("GetHPRegen", &Perl_StatBonuses_GetHPRegen); + package.add("GetHPToManaConvert", &Perl_StatBonuses_GetHPToManaConvert); + package.add("GetHundredHands", &Perl_StatBonuses_GetHundredHands); + package.add("GetIllusionPersistence", &Perl_StatBonuses_GetIllusionPersistence); + package.add("GetImmuneToFlee", &Perl_StatBonuses_GetImmuneToFlee); + package.add("GetImprovedReclaimEnergy", &Perl_StatBonuses_GetImprovedReclaimEnergy); + package.add("GetImprovedTaunt", &Perl_StatBonuses_GetImprovedTaunt); + package.add("GetIncreaseBlockChance", &Perl_StatBonuses_GetIncreaseBlockChance); + package.add("GetIncreaseChanceMemoryWipe", &Perl_StatBonuses_GetIncreaseChanceMemoryWipe); + package.add("GetIncreaseRunSpeedCap", &Perl_StatBonuses_GetIncreaseRunSpeedCap); + package.add("GetInhibitMelee", &Perl_StatBonuses_GetInhibitMelee); + package.add("GetINT", &Perl_StatBonuses_GetINT); + package.add("GetINTCapModifier", &Perl_StatBonuses_GetINTCapModifier); + package.add("GetIsBlind", &Perl_StatBonuses_GetIsBlind); + package.add("GetIsFeared", &Perl_StatBonuses_GetIsFeared); + package.add("GetItemATKCap", &Perl_StatBonuses_GetItemATKCap); + package.add("GetItemHPRegenCap", &Perl_StatBonuses_GetItemHPRegenCap); + package.add("GetItemManaRegenCap", &Perl_StatBonuses_GetItemManaRegenCap); + package.add("GetLimitToSkill", &Perl_StatBonuses_GetLimitToSkill); + package.add("GetMagicWeapon", &Perl_StatBonuses_GetMagicWeapon); + package.add("GetMana", &Perl_StatBonuses_GetMana); + package.add("GetManaAbsorbPercentDamage", &Perl_StatBonuses_GetManaAbsorbPercentDamage); + package.add("GetManaPercentCap", &Perl_StatBonuses_GetManaPercentCap); + package.add("GetManaRegen", &Perl_StatBonuses_GetManaRegen); + package.add("GetMasteryOfPast", &Perl_StatBonuses_GetMasteryOfPast); + package.add("GetMaxBindWound", &Perl_StatBonuses_GetMaxBindWound); + package.add("GetMaxHP", &Perl_StatBonuses_GetMaxHP); + package.add("GetMaxHPChange", &Perl_StatBonuses_GetMaxHPChange); + package.add("GetMeleeLifetap", &Perl_StatBonuses_GetMeleeLifetap); + package.add("GetMeleeMitigation", &Perl_StatBonuses_GetMeleeMitigation); + package.add("GetMeleeMitigationEffect", &Perl_StatBonuses_GetMeleeMitigationEffect); + package.add("GetMeleeRune", &Perl_StatBonuses_GetMeleeRune); + package.add("GetMeleeSkillCheck", &Perl_StatBonuses_GetMeleeSkillCheck); + package.add("GetMeleeSkillCheckSkill", &Perl_StatBonuses_GetMeleeSkillCheckSkill); + package.add("GetMeleeThresholdGuard", &Perl_StatBonuses_GetMeleeThresholdGuard); + package.add("GetMetabolism", &Perl_StatBonuses_GetMetabolism); + package.add("GetMinimumDamageModifier", &Perl_StatBonuses_GetMinimumDamageModifier); + package.add("GetMitigateDOTRune", &Perl_StatBonuses_GetMitigateDOTRune); + package.add("GetMitigateMeleeRune", &Perl_StatBonuses_GetMitigateMeleeRune); + package.add("GetMitigateSpellRune", &Perl_StatBonuses_GetMitigateSpellRune); + package.add("GetMovementSpeed", &Perl_StatBonuses_GetMovementSpeed); + package.add("GetMR", &Perl_StatBonuses_GetMR); + package.add("GetMRCapModifier", &Perl_StatBonuses_GetMRCapModifier); + package.add("GetNegateAttacks", &Perl_StatBonuses_GetNegateAttacks); + package.add("GetNegateEffects", &Perl_StatBonuses_GetNegateEffects); + package.add("GetNegateIfCombat", &Perl_StatBonuses_GetNegateIfCombat); + package.add("GetNoBreakAESneak", &Perl_StatBonuses_GetNoBreakAESneak); + package.add("GetOffhandRiposteFail", &Perl_StatBonuses_GetOffhandRiposteFail); + package.add("GetPackrat", &Perl_StatBonuses_GetPackrat); + package.add("GetParryChance", &Perl_StatBonuses_GetParryChance); + package.add("GetPCPetFlurry", &Perl_StatBonuses_GetPCPetFlurry); + package.add("GetPCPetRampage", &Perl_StatBonuses_GetPCPetRampage); + package.add("GetPercussionModifier", &Perl_StatBonuses_GetPercussionModifier); + package.add("GetPersistentCasting", &Perl_StatBonuses_GetPersistentCasting); + package.add("GetPetAvoidance", &Perl_StatBonuses_GetPetAvoidance); + package.add("GetPetCriticalHit", &Perl_StatBonuses_GetPetCriticalHit); + package.add("GetPetFlurry", &Perl_StatBonuses_GetPetFlurry); + package.add("GetPetMaxHP", &Perl_StatBonuses_GetPetMaxHP); + package.add("GetPetMeleeMitigation", &Perl_StatBonuses_GetPetMeleeMitigation); + package.add("GetPR", &Perl_StatBonuses_GetPR); + package.add("GetPRCapModifier", &Perl_StatBonuses_GetPRCapModifier); + package.add("GetProcChance", &Perl_StatBonuses_GetProcChance); + package.add("GetProcChanceSPA", &Perl_StatBonuses_GetProcChanceSPA); + package.add("GetRaiseSkillCap", &Perl_StatBonuses_GetRaiseSkillCap); + package.add("GetReduceFallDamage", &Perl_StatBonuses_GetReduceFallDamage); + package.add("GetReduceTradeskillFail", &Perl_StatBonuses_GetReduceTradeskillFail); + package.add("GetReflectChance", &Perl_StatBonuses_GetReflectChance); + package.add("GetResistFearChance", &Perl_StatBonuses_GetResistFearChance); + package.add("GetResistSpellChance", &Perl_StatBonuses_GetResistSpellChance); + package.add("GetReverseDamageShield", &Perl_StatBonuses_GetReverseDamageShield); + package.add("GetReverseDamageShieldSpellID", &Perl_StatBonuses_GetReverseDamageShieldSpellID); + package.add("GetReverseDamageShieldType", &Perl_StatBonuses_GetReverseDamageShieldType); + package.add("GetRiposteChance", &Perl_StatBonuses_GetRiposteChance); + package.add("GetRoot", &Perl_StatBonuses_GetRoot); + package.add("GetRootBreakChance", &Perl_StatBonuses_GetRootBreakChance); + package.add("GetSalvageChance", &Perl_StatBonuses_GetSalvageChance); + package.add("GetSanctuary", &Perl_StatBonuses_GetSanctuary); + package.add("GetScreech", &Perl_StatBonuses_GetScreech); + package.add("GetSecondaryDamageIncrease", &Perl_StatBonuses_GetSecondaryDamageIncrease); + package.add("GetSeeInvis", &Perl_StatBonuses_GetSeeInvis); + package.add("GetSEResist", &Perl_StatBonuses_GetSEResist); + package.add("GetShieldBlock", &Perl_StatBonuses_GetShieldBlock); + package.add("GetShieldEquipDamageModifier", &Perl_StatBonuses_GetShieldEquipDamageModifier); + package.add("GetShroudOfStealth", &Perl_StatBonuses_GetShroudOfStealth); + package.add("GetSingingModifier", &Perl_StatBonuses_GetSingingModifier); + package.add("GetSkillAttackProc", &Perl_StatBonuses_GetSkillAttackProc); + package.add("GetSkillDamageAmount", &Perl_StatBonuses_GetSkillDamageAmount); + package.add("GetSkillDamageAmount2", &Perl_StatBonuses_GetSkillDamageAmount2); + package.add("GetSkillDamageTaken", &Perl_StatBonuses_GetSkillDamageTaken); + package.add("GetSkillModifier", &Perl_StatBonuses_GetSkillModifier); + package.add("GetSkillModifierMax", &Perl_StatBonuses_GetSkillModifierMax); + package.add("GetSkillProc", &Perl_StatBonuses_GetSkillProc); + package.add("GetSkillProcSuccess", &Perl_StatBonuses_GetSkillProcSuccess); + package.add("GetSkillReuseTime", &Perl_StatBonuses_GetSkillReuseTime); + package.add("GetSlayUndead", &Perl_StatBonuses_GetSlayUndead); + package.add("GetSongModifierCap", &Perl_StatBonuses_GetSongModifierCap); + package.add("GetSongRange", &Perl_StatBonuses_GetSongRange); + package.add("GetSpellCriticalDamageIncreaseNoStack", &Perl_StatBonuses_GetSpellCriticalDamageIncreaseNoStack); + package.add("GetSpellCriticalDamageIncrease", &Perl_StatBonuses_GetSpellCriticalDamageIncrease); + package.add("GetSpellDamageShield", &Perl_StatBonuses_GetSpellDamageShield); + package.add("GetSpellDamage", &Perl_StatBonuses_GetSpellDamage); + package.add("GetSpellOnDeath", &Perl_StatBonuses_GetSpellOnDeath); + package.add("GetSpellOnKill", &Perl_StatBonuses_GetSpellOnKill); + package.add("GetSpellProcChance", &Perl_StatBonuses_GetSpellProcChance); + package.add("GetSpellShield", &Perl_StatBonuses_GetSpellShield); + package.add("GetSpellThresholdGuard", &Perl_StatBonuses_GetSpellThresholdGuard); + package.add("GetSpellTriggers", &Perl_StatBonuses_GetSpellTriggers); + package.add("GetSTA", &Perl_StatBonuses_GetSTA); + package.add("GetSTACapModifier", &Perl_StatBonuses_GetSTACapModifier); + package.add("GetSTR", &Perl_StatBonuses_GetSTR); + package.add("GetSTRCapModifier", &Perl_StatBonuses_GetSTRCapModifier); + package.add("GetStrikeThrough", &Perl_StatBonuses_GetStrikeThrough); + package.add("GetStringedModifier", &Perl_StatBonuses_GetStringedModifier); + package.add("GetStunBashChance", &Perl_StatBonuses_GetStunBashChance); + package.add("GetStunResist", &Perl_StatBonuses_GetStunResist); + package.add("GetTradeSkillMastery", &Perl_StatBonuses_GetTradeSkillMastery); + package.add("GetTriggerMeleeThreshold", &Perl_StatBonuses_GetTriggerMeleeThreshold); + package.add("GetTriggerOnValueAmount", &Perl_StatBonuses_GetTriggerOnValueAmount); + package.add("GetTriggerSpellThreshold", &Perl_StatBonuses_GetTriggerSpellThreshold); + package.add("GetTripleAttackChance", &Perl_StatBonuses_GetTripleAttackChance); + package.add("GetTripleBackstab", &Perl_StatBonuses_GetTripleBackstab); + package.add("GetTwoHandBluntBlock", &Perl_StatBonuses_GetTwoHandBluntBlock); + package.add("GetUnfailingDivinity", &Perl_StatBonuses_GetUnfailingDivinity); + package.add("GetVampirism", &Perl_StatBonuses_GetVampirism); + package.add("GetVoiceGraft", &Perl_StatBonuses_GetVoiceGraft); + package.add("GetWindModifier", &Perl_StatBonuses_GetWindModifier); + package.add("GetWIS", &Perl_StatBonuses_GetWIS); + package.add("GetWISCapModifier", &Perl_StatBonuses_GetWISCapModifier); + package.add("GetXPRateModifier", &Perl_StatBonuses_GetXPRateModifier); +} + +#endif //EMBPERL_XS_CLASSES