[Quest API/Cleanup] Add several spell methods to Perl/Lua (#3379)

* [Quest API/Cleanup] Add several spell methods to Perl/Lua

- Add `quest::CalculateCorruptionCounters(spell_id)`.
- Add `quest::CalculateCounters(spell_id)`.
- Add `quest::CalculateCurseCounters(spell_id)`.
- Add `quest::CalculateDiseaseCounters(spell_id)`.
- Add `quest::CalculatePoisonCounters(spell_id)`.
- Add `quest::GetSpellEffectDescriptionNumber(spell_id)`.
- Add `quest::GetSpellEffectIndex(spell_id, effect_id)`.
- Add `quest::GetSpellFuriousBash(spell_id)`.
- Add `quest::GetSpellMinimumLevel(spell_id)`.
- Add `quest::GetSpellNimbusEffect(spell_id)`.
- Add `quest::GetSpellPartialMagicRuneAmount(spell_id)`.
- Add `quest::GetSpellPartialMagicRuneReduction(spell_id)`.
- Add `quest::GetSpellPartialMeleeRuneAmount(spell_id)`.
- Add `quest::GetSpellPartialMeleeRuneReduction(spell_id)`.
- Add `quest::GetSpellProcLimitTimer(spell_id)`.
- Add `quest::GetSpellResistType(spell_id)`.
- Add `quest::GetSpellResurrectionSicknessCheck(spell_id_one, spell_id_two)`.
- Add `quest::GetSpellTargetType(spell_id)`.
- Add `quest::GetSpellTriggerSpellID(spell_id)`.
- Add `quest::GetSpellViralMaximumSpreadTime(spell_id)`.
- Add `quest::GetSpellViralMinimumSpreadTime(spell_id)`.
- Add `quest::GetSpellViralSpreadRange(spell_id)`.
- Add `quest::IsAEDurationSpell(spell_id)`.
- Add `quest::IsAENukeSpell(spell_id)`.
- Add `quest::IsAERainNukeSpell(spell_id)`.
- Add `quest::IsAllianceSpell(spell_id)`.
- Add `quest::IsBardOnlyStackEffect(effect_id)`.
- Add `quest::IsBardSong(spell_id)`.
- Add `quest::IsBlankSpellEffect(spell_id, effect_index)`.
- Add `quest::IsBlindSpell(spell_id)`.
- Add `quest::IsBuffSpell(spell_id)`.
- Add `quest::IsCastNotStandingSpell(spell_id)`.
- Add `quest::IsCastOnFadeDurationSpell(spell_id)`.
- Add `quest::IsCastRestrictedSpell(spell_id)`.
- Add `quest::IsCastTimeReductionSpell(spell_id)`.
- Add `quest::IsCastWhileInvisibleSpell(spell_id)`.
- Add `quest::IsCharmSpell(spell_id)`.
- Add `quest::IsCombatSkill(spell_id)`.
- Add `quest::IsCompleteHealDurationSpell(spell_id)`.
- Add `quest::IsCompleteHealSpell(spell_id)`.
- Add `quest::IsCureSpell(spell_id)`.
- Add `quest::IsDamageSpell(spell_id)`.
- Add `quest::IsDeathSaveSpell(spell_id)`.
- Add `quest::IsDebuffSpell(spell_id)`.
- Add `quest::IsDetrimentalSpell(spell_id)`.
- Add `quest::IsDiscipline(spell_id)`.
- Add `quest::IsDisciplineBuff(spell_id)`.
- Add `quest::IsDiseaseCounterSpell(spell_id)`.
- Add `quest::IsDistanceModifierSpell(spell_id)`.
- Add `quest::IsEffectIgnoredInStacking(effect_id)`.
- Add `quest::IsFastHealSpell(spell_id)`.
- Add `quest::IsFearSpell(spell_id)`.
- Add `quest::IsFocusLimit(effect_id)`.
- Add `quest::IsFullDeathSaveSpell(spell_id)`.
- Add `quest::IsGateSpell(spell_id)`.
- Add `quest::IsImprovedDamageSpell(spell_id)`.
- Add `quest::IsImprovedHealingSpell(spell_id)`.
- Add `quest::IsIncreaseDurationSpell(spell_id)`.
- Add `quest::IsIncreaseRangeSpell(spell_id)`.
- Add `quest::IsInstrumentModifierAppliedToSpellEffect(spell_id, effect_id)`.
- Add `quest::IsInvisibleSpell(spell_id)`.
- Add `quest::IsInvulnerabilitySpell(spell_id)`.
- Add `quest::IsLDoNObjectSpell(spell_id)`.
- Add `quest::IsLifetapSpell(spell_id)`.
- Add `quest::IsMagicRuneSpell(spell_id)`.
- Add `quest::IsManaCostReductionSpell(spell_id)`.
- Add `quest::IsManaTapSpell(spell_id)`.
- Add `quest::IsMesmerizeSpell(spell_id)`.
- Add `quest::IsNoDetrimentalSpellAggroSpell(spell_id)`.
- Add `quest::IsPBAENukeSpell(spell_id)`.
- Add `quest::IsPartialDeathSaveSpell(spell_id)`.
- Add `quest::IsPartialResistableSpell(spell_id)`.
- Add `quest::IsPercentalHealSpell(spell_id)`.
- Add `quest::IsPersistDeathSpell(spell_id)`.
- Add `quest::IsPetSpell(spell_id)`.
- Add `quest::IsPoisonCounterSpell(spell_id)`.
- Add `quest::IsPulsingBardSong(spell_id)`.
- Add `quest::IsPureNukeSpell(spell_id)`.
- Add `quest::IsRegularGroupHealSpell(spell_id)`.
- Add `quest::IsRegularSingleTargetHealSpell(spell_id)`.
- Add `quest::IsResistDebuffSpell(spell_id)`.
- Add `quest::IsResistableSpell(spell_id)`.
- Add `quest::IsRestAllowedSpell(spell_id)`.
- Add `quest::IsResurrectionEffects(spell_id)`.
- Add `quest::IsRuneSpell(spell_id)`.
- Add `quest::IsRunning(spell_id)`.
- Add `quest::IsSacrificeSpell(spell_id)`.
- Add `quest::IsSelfConversionSpell(spell_id)`.
- Add `quest::IsShadowStepSpell(spell_id)`.
- Add `quest::IsShortDurationBuff(spell_id)`.
- Add `quest::IsSpellUsableInThisZoneType(spell_id)`.
- Add `quest::IsSpellUsableInThisZoneType(spell_id, zone_type)`.
- Add `quest::IsStackableDOT(spell_id)`.
- Add `quest::IsStunSpell(spell_id)`.
- Add `quest::IsSuccorSpell(spell_id)`.
- Add `quest::IsSummonItemSpell(spell_id)`.
- Add `quest::IsSummonPCSpell(spell_id)`.
- Add `quest::IsSummonPetSpell(spell_id)`.
- Add `quest::IsSummonSkeletonSpell(spell_id)`.
- Add `quest::IsSummonSpell(spell_id)`.
- Add `quest::IsSuspendableSpell(spell_id)`.
- Add `quest::IsTargetRequiredForSpell(spell_id)`.
- Add `quest::IsTargetableAESpell(spell_id)`.
- Add `quest::IsTeleportSpell(spell_id)`.
- Add `quest::IsTranslocateSpell(spell_id)`.
- Add `quest::IsValidSpell(spell_id)`.
- Add `quest::IsVeryFastHealSpell(spell_id)`.
- Add `quest::IsVirusSpell(spell_id)`.

- Add `eq.calculate_corruption_counters(spell_id)`.
- Add `eq.calculate_counters(spell_id)`.
- Add `eq.calculate_curse_counters(spell_id)`.
- Add `eq.calculate_disease_counters(spell_id)`.
- Add `eq.calculate_poison_counters(spell_id)`.
- Add `eq.get_spell_effect_description_number(spell_id)`.
- Add `eq.get_spell_effect_index(spell_id, effect_id)`.
- Add `eq.get_spell_furious_bash(spell_id)`.
- Add `eq.get_spell_level(spell_id, class_id)`.
- Add `eq.get_spell_minimum_level(spell_id)`.
- Add `eq.get_spell_nimbus_effect(spell_id)`.
- Add `eq.get_spell_partial_magic_rune_amount(spell_id)`.
- Add `eq.get_spell_partial_magic_rune_reduction(spell_id)`.
- Add `eq.get_spell_partial_melee_rune_amount(spell_id)`.
- Add `eq.get_spell_partial_melee_rune_reduction(spell_id)`.
- Add `eq.get_spell_proc_limit_timer(spell_id)`.
- Add `eq.get_spell_resist_type(spell_id)`.
- Add `eq.get_spell_resurrection_sickness_check(spell_id_one, spell_id_two)`.
- Add `eq.get_spell_target_type(spell_id)`.
- Add `eq.get_spell_trigger_spell_id(spell_id)`.
- Add `eq.get_spell_viral_maximum_spread_time(spell_id)`.
- Add `eq.get_spell_viral_minimum_spread_time(spell_id)`.
- Add `eq.get_spell_viral_spread_range(spell_id)`.
- Add `eq.is_ae_duration_spell(spell_id)`.
- Add `eq.is_ae_nuke_spell(spell_id)`.
- Add `eq.is_ae_rain_nuke_spell(spell_id)`.
- Add `eq.is_alliance_spell(spell_id)`.
- Add `eq.is_bard_only_stack_effect(spell_id)`.
- Add `eq.is_bard_song(spell_id)`.
- Add `eq.is_beneficial_spell(spell_id)`.
- Add `eq.is_blank_spell_effect(spell_id)`.
- Add `eq.is_blind_spell(spell_id)`.
- Add `eq.is_buff_spell(spell_id)`.
- Add `eq.is_cast_not_standing_spell(spell_id)`.
- Add `eq.is_cast_on_fade_duration_spell(spell_id)`.
- Add `eq.is_cast_restricted_spell(spell_id)`.
- Add `eq.is_cast_time_reduction_spell(spell_id)`.
- Add `eq.is_cast_while_invisible_spell(spell_id)`.
- Add `eq.is_charm_spell(spell_id)`.
- Add `eq.is_combat_skill(spell_id)`.
- Add `eq.is_complete_heal_duration_spell(spell_id)`.
- Add `eq.is_complete_heal_spell(spell_id)`.
- Add `eq.is_cure_spell(spell_id)`.
- Add `eq.is_damage_spell(spell_id)`.
- Add `eq.is_death_save_spell(spell_id)`.
- Add `eq.is_debuff_spell(spell_id)`.
- Add `eq.is_detrimental_spell(spell_id)`.
- Add `eq.is_discipline(spell_id)`.
- Add `eq.is_discipline_buff(spell_id)`.
- Add `eq.is_disease_counter_spell(spell_id)`.
- Add `eq.is_distance_modifier_spell(spell_id)`.
- Add `eq.is_effect_ignored_in_stacking(effect_id)`.
- Add `eq.is_effect_in_spell(spell_id, effect_id)`.
- Add `eq.is_fast_heal_spell(spell_id)`.
- Add `eq.is_fear_spell(spell_id)`.
- Add `eq.is_focus_limit(effect_id)`.
- Add `eq.is_full_death_save_spell(spell_id)`.
- Add `eq.is_gate_spell(spell_id)`.
- Add `eq.is_group_complete_heal_spell(spell_id)`.
- Add `eq.is_group_heal_over_time_spell(spell_id)`.
- Add `eq.is_group_only_spell(spell_id)`.
- Add `eq.is_group_spell(spell_id)`.
- Add `eq.is_harmony_spell(spell_id)`.
- Add `eq.is_haste_spell(spell_id)`.
- Add `eq.is_heal_over_time_spell(spell_id)`.
- Add `eq.is_health_spell(spell_id)`.
- Add `eq.is_illusion_spell(spell_id)`.
- Add `eq.is_improved_damage_spell(spell_id)`.
- Add `eq.is_improved_healing_spell(spell_id)`.
- Add `eq.is_increase_duration_spell(spell_id)`.
- Add `eq.is_increase_range_spell(spell_id)`.
- Add `eq.is_instrument_modifier_applied_to_spell_effect(spell_id, effect_id)`.
- Add `eq.is_invisible_spell(spell_id)`.
- Add `eq.is_invulnerability_spell(spell_id)`.
- Add `eq.is_ldon_object_spell(spell_id)`.
- Add `eq.is_lifetap_spell(spell_id)`.
- Add `eq.is_magic_rune_spell(spell_id)`.
- Add `eq.is_mana_cost_reduction_spell(spell_id)`.
- Add `eq.is_mana_tap_spell(spell_id)`.
- Add `eq.is_mesmerize_spell(spell_id)`.
- Add `eq.is_no_detrimental_spell_aggro_spell(spell_id)`.
- Add `eq.is_partial_death_save_spell(spell_id)`.
- Add `eq.is_partial_resistable_spell(spell_id)`.
- Add `eq.is_pbae_nuke_spell(spell_id)`.
- Add `eq.is_percental_heal_spell(spell_id)`.
- Add `eq.is_persist_death_spell(spell_id)`.
- Add `eq.is_pet_spell(spell_id)`.
- Add `eq.is_poison_counter_spell(spell_id)`.
- Add `eq.is_pulsing_bard_song(spell_id)`.
- Add `eq.is_pure_nuke_spell(spell_id)`.
- Add `eq.is_regular_group_heal_spell(spell_id)`.
- Add `eq.is_regular_single_target_heal_spell(spell_id)`.
- Add `eq.is_resist_debuff_spell(spell_id)`.
- Add `eq.is_resistable_spell(spell_id)`.
- Add `eq.is_rest_allowed_spell(spell_id)`.
- Add `eq.is_resurrection_effects(spell_id)`.
- Add `eq.is_rune_spell(spell_id)`.
- Add `eq.is_sacrifice_spell(spell_id)`.
- Add `eq.is_self_conversion_spell(spell_id)`.
- Add `eq.is_shadow_step_spell(spell_id)`.
- Add `eq.is_short_duration_buff(spell_id)`.
- Add `eq.is_spell_usable_in_this_zone_type(spell_id)`.
- Add `eq.is_spell_usable_in_this_zone_type(spell_id, zone_type)`.
- Add `eq.is_stackable_dot(spell_id)`.
- Add `eq.is_stun_spell(spell_id)`.
- Add `eq.is_succor_spell(spell_id)`.
- Add `eq.is_summon_item_spell(spell_id)`.
- Add `eq.is_summon_pc_spell(spell_id)`.
- Add `eq.is_summon_pet_spell(spell_id)`.
- Add `eq.is_summon_skeleton_spell(spell_id)`.
- Add `eq.is_summon_spell(spell_id)`.
- Add `eq.is_suspendable_spell(spell_id)`.
- Add `eq.is_target_required_for_spell(spell_id)`.
- Add `eq.is_targetable_ae_spell(spell_id)`.
- Add `eq.is_teleport_spell(spell_id)`.
- Add `eq.is_tgb_compatible_spell(spell_id)`.
- Add `eq.is_translocate_spell(spell_id)`.
- Add `eq.is_valid_spell(spell_id)`.
- Add `eq.is_very_fast_heal_spell(spell_id)`.
- Add `eq.is_virus_spell(spell_id)`.

- A lot of cleanup in the logic and naming of these methods was done.
- Missing GM restricted spells like Guide spells and GM Health buffs were added as defines.
- Good effect values were added as defines.
- Resurrection effects non-stacking value was added as a define.
- Max fast heal casting time and max very fast heal casting time were added as defines.
- `SE_Display` was uncommented so we could use it instead of the magic number `425`.
- `IsEvacSpell(spell_id)` was removed as it was unnecessary since `IsSuccorSpell(spell_id)` checks for `SE_Succor` as well.
- `GetMorphTrigger(spell_id)` was removed as it was unused.
- `GroupOnlySpell(spell_id)` was removed as it was unnecessary since `IsGroupOnlySpell(spell_id)` exists.
- `CanUseSpell(spell_id)` was removed as it was unnecessary since `GetSpellLevel(spell_id, class_id)` exists.
- `BeneficialSpell(spell_id)` was removed as it was unnecessary since `IsBeneficialSpell(spell_id)` exists.

* Update spell_effects.cpp

* Update spdat.cpp
This commit is contained in:
Alex King
2023-06-12 20:27:22 -04:00
committed by GitHub
parent c5c575b028
commit 756e835144
21 changed files with 2740 additions and 833 deletions
+703 -15
View File
@@ -528,10 +528,10 @@ std::string Perl__getspellname(uint32 spell_id)
return quest_manager.getspellname(spell_id);
}
int Perl__get_spell_level(uint32_t spell_id, int class_id)
uint8 Perl__get_spell_level(uint16 spell_id, uint8 class_id)
{
int spell_level = IsValidSpell(spell_id) ? GetSpellLevel(spell_id, class_id) : 0;
return (spell_level > RuleI(Character, MaxLevel)) ? 0 : spell_level;
const auto spell_level = GetSpellLevel(spell_id, class_id);
return spell_level > RuleI(Character, MaxLevel) ? UINT8_MAX : spell_level;
}
std::string Perl__getskillname(int skill_id)
@@ -1695,14 +1695,489 @@ bool Perl__IsRunning()
return quest_manager.IsRunning();
}
bool Perl__IsEffectInSpell(uint32 spell_id, uint32 effect_id)
bool Perl__IsEffectInSpell(uint16 spell_id, int effect_id)
{
return IsEffectInSpell(spell_id, effect_id);
}
bool Perl__IsBeneficialSpell(uint16 spell_id)
{
return BeneficialSpell(spell_id);
return IsBeneficialSpell(spell_id);
}
bool Perl__IsDetrimentalSpell(uint16 spell_id)
{
return IsDetrimentalSpell(spell_id);
}
bool Perl__IsTargetableAESpell(uint16 spell_id)
{
return IsTargetableAESpell(spell_id);
}
bool Perl__IsSacrificeSpell(uint16 spell_id)
{
return IsSacrificeSpell(spell_id);
}
bool Perl__IsLifetapSpell(uint16 spell_id)
{
return IsLifetapSpell(spell_id);
}
bool Perl__IsMesmerizeSpell(uint16 spell_id)
{
return IsMesmerizeSpell(spell_id);
}
bool Perl__IsStunSpell(uint16 spell_id)
{
return IsStunSpell(spell_id);
}
bool Perl__IsSummonSpell(uint16 spell_id)
{
return IsSummonSpell(spell_id);
}
bool Perl__IsDamageSpell(uint16 spell_id)
{
return IsDamageSpell(spell_id);
}
bool Perl__IsFearSpell(uint16 spell_id)
{
return IsFearSpell(spell_id);
}
bool Perl__IsCureSpell(uint16 spell_id)
{
return IsCureSpell(spell_id);
}
bool Perl__IsHasteSpell(uint16 spell_id)
{
return IsHasteSpell(spell_id);
}
bool Perl__IsHarmonySpell(uint16 spell_id)
{
return IsHarmonySpell(spell_id);
}
bool Perl__IsPercentalHealSpell(uint16 spell_id)
{
return IsPercentalHealSpell(spell_id);
}
bool Perl__IsGroupOnlySpell(uint16 spell_id)
{
return IsGroupOnlySpell(spell_id);
}
bool Perl__IsInvisibleSpell(uint16 spell_id)
{
return IsInvisibleSpell(spell_id);
}
bool Perl__IsInvulnerabilitySpell(uint16 spell_id)
{
return IsInvulnerabilitySpell(spell_id);
}
bool Perl__IsCompleteHealDurationSpell(uint16 spell_id)
{
return IsCompleteHealDurationSpell(spell_id);
}
bool Perl__IsPoisonCounterSpell(uint16 spell_id)
{
return IsPoisonCounterSpell(spell_id);
}
bool Perl__IsDiseaseCounterSpell(uint16 spell_id)
{
return IsDiseaseCounterSpell(spell_id);
}
bool Perl__IsSummonItemSpell(uint16 spell_id)
{
return IsSummonItemSpell(spell_id);
}
bool Perl__IsSummonSkeletonSpell(uint16 spell_id)
{
return IsSummonSkeletonSpell(spell_id);
}
bool Perl__IsSummonPetSpell(uint16 spell_id)
{
return IsSummonPetSpell(spell_id);
}
bool Perl__IsPetSpell(uint16 spell_id)
{
return IsPetSpell(spell_id);
}
bool Perl__IsSummonPCSpell(uint16 spell_id)
{
return IsSummonPCSpell(spell_id);
}
bool Perl__IsCharmSpell(uint16 spell_id)
{
return IsCharmSpell(spell_id);
}
bool Perl__IsBlindSpell(uint16 spell_id)
{
return IsBlindSpell(spell_id);
}
bool Perl__IsHealthSpell(uint16 spell_id)
{
return IsHealthSpell(spell_id);
}
bool Perl__IsCastTimeReductionSpell(uint16 spell_id)
{
return IsCastTimeReductionSpell(spell_id);
}
bool Perl__IsIncreaseDurationSpell(uint16 spell_id)
{
return IsIncreaseDurationSpell(spell_id);
}
bool Perl__IsManaCostReductionSpell(uint16 spell_id)
{
return IsManaCostReductionSpell(spell_id);
}
bool Perl__IsIncreaseRangeSpell(uint16 spell_id)
{
return IsIncreaseRangeSpell(spell_id);
}
bool Perl__IsImprovedHealingSpell(uint16 spell_id)
{
return IsImprovedHealingSpell(spell_id);
}
bool Perl__IsImprovedDamageSpell(uint16 spell_id)
{
return IsImprovedDamageSpell(spell_id);
}
bool Perl__IsAEDurationSpell(uint16 spell_id)
{
return IsAEDurationSpell(spell_id);
}
bool Perl__IsPureNukeSpell(uint16 spell_id)
{
return IsPureNukeSpell(spell_id);
}
bool Perl__IsAENukeSpell(uint16 spell_id)
{
return IsAENukeSpell(spell_id);
}
bool Perl__IsPBAENukeSpell(uint16 spell_id)
{
return IsPBAENukeSpell(spell_id);
}
bool Perl__IsAERainNukeSpell(uint16 spell_id)
{
return IsAERainNukeSpell(spell_id);
}
bool Perl__IsPartialResistableSpell(uint16 spell_id)
{
return IsPartialResistableSpell(spell_id);
}
bool Perl__IsResistableSpell(uint16 spell_id)
{
return IsResistableSpell(spell_id);
}
bool Perl__IsGroupSpell(uint16 spell_id)
{
return IsGroupSpell(spell_id);
}
bool Perl__IsTGBCompatibleSpell(uint16 spell_id)
{
return IsTGBCompatibleSpell(spell_id);
}
bool Perl__IsBardSong(uint16 spell_id)
{
return IsBardSong(spell_id);
}
bool Perl__IsPulsingBardSong(uint16 spell_id)
{
return IsPulsingBardSong(spell_id);
}
bool Perl__IsDisciplineBuff(uint16 spell_id)
{
return IsDisciplineBuff(spell_id);
}
bool Perl__IsDiscipline(uint16 spell_id)
{
return IsDiscipline(spell_id);
}
bool Perl__IsCombatSkill(uint16 spell_id)
{
return IsCombatSkill(spell_id);
}
bool Perl__IsResurrectionEffects(uint16 spell_id)
{
return IsResurrectionEffects(spell_id);
}
bool Perl__IsRuneSpell(uint16 spell_id)
{
return IsRuneSpell(spell_id);
}
bool Perl__IsMagicRuneSpell(uint16 spell_id)
{
return IsMagicRuneSpell(spell_id);
}
bool Perl__IsManaTapSpell(uint16 spell_id)
{
return IsManaTapSpell(spell_id);
}
bool Perl__IsAllianceSpell(uint16 spell_id)
{
return IsAllianceSpell(spell_id);
}
bool Perl__IsDeathSaveSpell(uint16 spell_id)
{
return IsDeathSaveSpell(spell_id);
}
bool Perl__IsPartialDeathSaveSpell(uint16 spell_id)
{
return IsPartialDeathSaveSpell(spell_id);
}
bool Perl__IsFullDeathSaveSpell(uint16 spell_id)
{
return IsFullDeathSaveSpell(spell_id);
}
bool Perl__IsShadowStepSpell(uint16 spell_id)
{
return IsShadowStepSpell(spell_id);
}
bool Perl__IsSuccorSpell(uint16 spell_id)
{
return IsSuccorSpell(spell_id);
}
bool Perl__IsTeleportSpell(uint16 spell_id)
{
return IsTeleportSpell(spell_id);
}
bool Perl__IsTranslocateSpell(uint16 spell_id)
{
return IsTranslocateSpell(spell_id);
}
bool Perl__IsGateSpell(uint16 spell_id)
{
return IsGateSpell(spell_id);
}
bool Perl__IsIllusionSpell(uint16 spell_id)
{
return IsIllusionSpell(spell_id);
}
bool Perl__IsLDoNObjectSpell(uint16 spell_id)
{
return IsLDoNObjectSpell(spell_id);
}
bool Perl__IsHealOverTimeSpell(uint16 spell_id)
{
return IsHealOverTimeSpell(spell_id);
}
bool Perl__IsCompleteHealSpell(uint16 spell_id)
{
return IsCompleteHealSpell(spell_id);
}
bool Perl__IsFastHealSpell(uint16 spell_id)
{
return IsFastHealSpell(spell_id);
}
bool Perl__IsVeryFastHealSpell(uint16 spell_id)
{
return IsVeryFastHealSpell(spell_id);
}
bool Perl__IsRegularSingleTargetHealSpell(uint16 spell_id)
{
return IsRegularSingleTargetHealSpell(spell_id);
}
bool Perl__IsRegularGroupHealSpell(uint16 spell_id)
{
return IsRegularGroupHealSpell(spell_id);
}
bool Perl__IsGroupCompleteHealSpell(uint16 spell_id)
{
return IsGroupCompleteHealSpell(spell_id);
}
bool Perl__IsGroupHealOverTimeSpell(uint16 spell_id)
{
return IsGroupHealOverTimeSpell(spell_id);
}
bool Perl__IsDebuffSpell(uint16 spell_id)
{
return IsDebuffSpell(spell_id);
}
bool Perl__IsResistDebuffSpell(uint16 spell_id)
{
return IsResistDebuffSpell(spell_id);
}
bool Perl__IsSelfConversionSpell(uint16 spell_id)
{
return IsSelfConversionSpell(spell_id);
}
bool Perl__IsBuffSpell(uint16 spell_id)
{
return IsBuffSpell(spell_id);
}
bool Perl__IsPersistDeathSpell(uint16 spell_id)
{
return IsPersistDeathSpell(spell_id);
}
bool Perl__IsSuspendableSpell(uint16 spell_id)
{
return IsSuspendableSpell(spell_id);
}
bool Perl__IsCastOnFadeDurationSpell(uint16 spell_id)
{
return IsCastOnFadeDurationSpell(spell_id);
}
bool Perl__IsDistanceModifierSpell(uint16 spell_id)
{
return IsDistanceModifierSpell(spell_id);
}
bool Perl__IsRestAllowedSpell(uint16 spell_id)
{
return IsRestAllowedSpell(spell_id);
}
bool Perl__IsNoDetrimentalSpellAggroSpell(uint16 spell_id)
{
return IsNoDetrimentalSpellAggroSpell(spell_id);
}
bool Perl__IsStackableDOT(uint16 spell_id)
{
return IsStackableDOT(spell_id);
}
bool Perl__IsShortDurationBuff(uint16 spell_id)
{
return IsShortDurationBuff(spell_id);
}
bool Perl__IsTargetRequiredForSpell(uint16 spell_id)
{
return IsTargetRequiredForSpell(spell_id);
}
bool Perl__IsVirusSpell(uint16 spell_id)
{
return IsVirusSpell(spell_id);
}
bool Perl__IsValidSpell(uint16 spell_id)
{
return IsValidSpell(spell_id);
}
bool Perl__IsEffectIgnoredInStacking(int effect_id)
{
return IsEffectIgnoredInStacking(effect_id);
}
bool Perl__IsFocusLimit(int effect_id)
{
return IsFocusLimit(effect_id);
}
bool Perl__IsBardOnlyStackEffect(int effect_id)
{
return IsBardOnlyStackEffect(effect_id);
}
bool Perl__IsCastWhileInvisibleSpell(uint16 spell_id)
{
return IsCastWhileInvisibleSpell(spell_id);
}
bool Perl__IsCastRestrictedSpell(uint16 spell_id)
{
return IsCastRestrictedSpell(spell_id);
}
bool Perl__IsCastNotStandingSpell(uint16 spell_id)
{
return IsCastNotStandingSpell(spell_id);
}
bool Perl__IsInstrumentModifierAppliedToSpellEffect(uint16 spell_id, int effect_id)
{
return IsInstrumentModifierAppliedToSpellEffect(spell_id, effect_id);
}
bool Perl__IsBlankSpellEffect(uint16 spell_id, int effect_index)
{
return IsBlankSpellEffect(spell_id, effect_index);
}
uint16 Perl__GetSpellTriggerSpellID(uint16 spell_id, int effect_id)
{
return GetSpellTriggerSpellID(spell_id, effect_id);
}
uint8 Perl__GetSpellMinimumLevel(uint16 spell_id)
{
return GetSpellMinimumLevel(spell_id);
}
int Perl__GetSpellResistType(uint16 spell_id)
@@ -1715,6 +2190,106 @@ int Perl__GetSpellTargetType(uint16 spell_id)
return GetSpellTargetType(spell_id);
}
int Perl__GetSpellPartialMeleeRuneReduction(uint16 spell_id)
{
return GetSpellPartialMeleeRuneReduction(spell_id);
}
int Perl__GetSpellPartialMagicRuneReduction(uint16 spell_id)
{
return GetSpellPartialMagicRuneReduction(spell_id);
}
int Perl__GetSpellPartialMeleeRuneAmount(uint16 spell_id)
{
return GetSpellPartialMeleeRuneAmount(spell_id);
}
int Perl__GetSpellPartialMagicRuneAmount(uint16 spell_id)
{
return GetSpellPartialMagicRuneAmount(spell_id);
}
int Perl__GetSpellViralMinimumSpreadTime(uint16 spell_id)
{
return GetSpellViralMinimumSpreadTime(spell_id);
}
int Perl__GetSpellViralMaximumSpreadTime(uint16 spell_id)
{
return GetSpellViralMaximumSpreadTime(spell_id);
}
int Perl__GetSpellViralSpreadRange(uint16 spell_id)
{
return GetSpellViralSpreadRange(spell_id);
}
int Perl__GetSpellProcLimitTimer(uint16 spell_id, int proc_type)
{
return GetSpellProcLimitTimer(spell_id, proc_type);
}
int Perl__GetSpellEffectDescriptionNumber(uint16 spell_id)
{
return GetSpellEffectDescriptionNumber(spell_id);
}
int Perl__GetSpellFuriousBash(uint16 spell_id)
{
return GetSpellFuriousBash(spell_id);
}
bool Perl__IsSpellUsableInThisZoneType(uint16 spell_id)
{
return IsSpellUsableInThisZoneType(spell_id, zone->GetZoneType());
}
bool Perl__IsSpellUsableInThisZoneType(uint16 spell_id, uint8 zone_type)
{
return IsSpellUsableInThisZoneType(spell_id, zone_type);
}
int Perl__GetSpellEffectIndex(uint16 spell_id, int effect_id)
{
return GetSpellEffectIndex(spell_id, effect_id);
}
int Perl__CalculatePoisonCounters(uint16 spell_id)
{
return CalculatePoisonCounters(spell_id);
}
int Perl__CalculateDiseaseCounters(uint16 spell_id)
{
return CalculateDiseaseCounters(spell_id);
}
int Perl__CalculateCurseCounters(uint16 spell_id)
{
return CalculateCurseCounters(spell_id);
}
int Perl__CalculateCorruptionCounters(uint16 spell_id)
{
return CalculateCorruptionCounters(spell_id);
}
int Perl__CalculateCounters(uint16 spell_id)
{
return CalculateCounters(spell_id);
}
int8 Perl__GetSpellResurrectionSicknessCheck(uint16 spell_id_one, uint16 spell_id_two)
{
return GetSpellResurrectionSicknessCheck(spell_id_one, spell_id_two);
}
int Perl__GetSpellNimbusEffect(uint16 spell_id)
{
return GetSpellNimbusEffect(spell_id);
}
void Perl__FlyMode(GravityBehavior flymode)
{
quest_manager.FlyMode(flymode);
@@ -4762,7 +5337,11 @@ void perl_register_quest()
package.add("createbotcount", (int(*)())&Perl__createbotcount);
package.add("createbotcount", (int(*)(uint8))&Perl__createbotcount);
package.add("createBot", &Perl__createBot);
package.add("CalculateCorruptionCounters", &Perl__CalculateCorruptionCounters);
package.add("CalculateCounters", &Perl__CalculateCounters);
package.add("CalculateCurseCounters", &Perl__CalculateCurseCounters);
package.add("CalculateDiseaseCounters", &Perl__CalculateDiseaseCounters);
package.add("CalculatePoisonCounters", &Perl__CalculatePoisonCounters);
package.add("AssignGroupToInstance", &Perl__AssignGroupToInstance);
package.add("AssignRaidToInstance", &Perl__AssignRaidToInstance);
package.add("AssignToInstance", &Perl__AssignToInstance);
@@ -4783,8 +5362,23 @@ void perl_register_quest()
package.add("GetInstanceIDsByCharID", &Perl__GetInstanceIDsByCharID);
package.add("GetInstanceVersionByID", &Perl__GetInstanceVersionByID);
package.add("GetInstanceZoneIDByID", &Perl__GetInstanceZoneIDByID);
package.add("GetSpellPartialMagicRuneReduction", &Perl__GetSpellPartialMagicRuneReduction);
package.add("GetSpellPartialMagicRuneAmount", &Perl__GetSpellPartialMagicRuneAmount);
package.add("GetSpellPartialMeleeRuneReduction", &Perl__GetSpellPartialMeleeRuneReduction);
package.add("GetSpellPartialMeleeRuneAmount", &Perl__GetSpellPartialMeleeRuneAmount);
package.add("GetSpellProcLimitTimer", &Perl__GetSpellProcLimitTimer);
package.add("GetSpellResurrectionSicknessCheck", &Perl__GetSpellResurrectionSicknessCheck);
package.add("GetSpellEffectDescriptionNumber", &Perl__GetSpellEffectDescriptionNumber);
package.add("GetSpellEffectIndex", &Perl__GetSpellEffectIndex);
package.add("GetSpellFuriousBash", &Perl__GetSpellFuriousBash);
package.add("GetSpellMinimumLevel", &Perl__GetSpellMinimumLevel);
package.add("GetSpellNimbusEffect", &Perl__GetSpellNimbusEffect);
package.add("GetSpellResistType", &Perl__GetSpellResistType);
package.add("GetSpellTargetType", &Perl__GetSpellTargetType);
package.add("GetSpellTriggerSpellID", &Perl__GetSpellTriggerSpellID);
package.add("GetSpellViralMaximumSpreadTime", &Perl__GetSpellViralMaximumSpreadTime);
package.add("GetSpellViralMinimumSpreadTime", &Perl__GetSpellViralMinimumSpreadTime);
package.add("GetSpellViralSpreadRange", &Perl__GetSpellViralSpreadRange);
package.add("GetTimeSeconds", &Perl__GetTimeSeconds);
package.add("GetZoneBypassExpansionCheck", (int8(*)(uint32))&Perl__GetZoneBypassExpansionCheck);
package.add("GetZoneBypassExpansionCheck", (int8(*)(uint32, int))&Perl__GetZoneBypassExpansionCheck);
@@ -4913,19 +5507,105 @@ void perl_register_quest()
package.add("GetZoneUnderworldTeleportIndex", (int(*)(uint32, int))&Perl__GetZoneUnderworldTeleportIndex);
package.add("GetZoneWalkSpeed", (float(*)(uint32))&Perl__GetZoneWalkSpeed);
package.add("GetZoneWalkSpeed", (float(*)(uint32, int))&Perl__GetZoneWalkSpeed);
package.add("set_rule", &Perl__set_rule);
package.add("get_rule", &Perl__get_rule);
package.add("get_data", &Perl__get_data);
package.add("get_data_expires", &Perl__get_data_expires);
package.add("get_data_remaining", &Perl__get_data_remaining);
package.add("set_data", (void(*)(std::string, std::string))&Perl__set_data);
package.add("set_data", (void(*)(std::string, std::string, std::string))&Perl__set_data);
package.add("delete_data", &Perl__delete_data);
package.add("IsAEDurationSpell", &Perl__IsAEDurationSpell);
package.add("IsAENukeSpell", &Perl__IsAENukeSpell);
package.add("IsAERainNukeSpell", &Perl__IsAERainNukeSpell);
package.add("IsAllianceSpell", &Perl__IsAllianceSpell);
package.add("IsBardOnlyStackEffect", &Perl__IsBardOnlyStackEffect);
package.add("IsBardSong", &Perl__IsBardSong);
package.add("IsBeneficialSpell", &Perl__IsBeneficialSpell);
package.add("IsBlankSpellEffect", &Perl__IsBlankSpellEffect);
package.add("IsBlindSpell", &Perl__IsBlindSpell);
package.add("IsBuffSpell", &Perl__IsBuffSpell);
package.add("IsCastOnFadeDurationSpell", &Perl__IsCastOnFadeDurationSpell);
package.add("IsCastNotStandingSpell", &Perl__IsCastNotStandingSpell);
package.add("IsCastRestrictedSpell", &Perl__IsCastRestrictedSpell);
package.add("IsCastTimeReductionSpell", &Perl__IsCastTimeReductionSpell);
package.add("IsCastWhileInvisibleSpell", &Perl__IsCastWhileInvisibleSpell);
package.add("IsCharmSpell", &Perl__IsCharmSpell);
package.add("IsCombatSkill", &Perl__IsCombatSkill);
package.add("IsCompleteHealSpell", &Perl__IsCompleteHealSpell);
package.add("IsCompleteHealDurationSpell", &Perl__IsCompleteHealDurationSpell);
package.add("IsCureSpell", &Perl__IsCureSpell);
package.add("IsDamageSpell", &Perl__IsDamageSpell);
package.add("IsDeathSaveSpell", &Perl__IsDeathSaveSpell);
package.add("IsDebuffSpell", &Perl__IsDebuffSpell);
package.add("IsDetrimentalSpell", &Perl__IsDetrimentalSpell);
package.add("IsDiscipline", &Perl__IsDiscipline);
package.add("IsDisciplineBuff", &Perl__IsDisciplineBuff);
package.add("IsDiseaseCounterSpell", &Perl__IsDiseaseCounterSpell);
package.add("IsDistanceModifierSpell", &Perl__IsDistanceModifierSpell);
package.add("IsEffectIgnoredInStacking", &Perl__IsEffectIgnoredInStacking);
package.add("IsEffectInSpell", &Perl__IsEffectInSpell);
package.add("IsFastHealSpell", &Perl__IsFastHealSpell);
package.add("IsFearSpell", &Perl__IsFearSpell);
package.add("IsFocusLimit", &Perl__IsFocusLimit);
package.add("IsFullDeathSaveSpell", &Perl__IsFullDeathSaveSpell);
package.add("IsGateSpell", &Perl__IsGateSpell);
package.add("IsGroupCompleteHealSpell", &Perl__IsGroupCompleteHealSpell);
package.add("IsGroupHealOverTimeSpell", &Perl__IsGroupHealOverTimeSpell);
package.add("IsGroupOnlySpell", &Perl__IsGroupOnlySpell);
package.add("IsGroupSpell", &Perl__IsGroupSpell);
package.add("IsHarmonySpell", &Perl__IsHarmonySpell);
package.add("IsHasteSpell", &Perl__IsHasteSpell);
package.add("IsHealOverTimeSpell", &Perl__IsHealOverTimeSpell);
package.add("IsHealthSpell", &Perl__IsHealthSpell);
package.add("IsIllusionSpell", &Perl__IsIllusionSpell);
package.add("IsImprovedDamageSpell", &Perl__IsImprovedDamageSpell);
package.add("IsImprovedHealingSpell", &Perl__IsImprovedHealingSpell);
package.add("IsIncreaseDurationSpell", &Perl__IsIncreaseDurationSpell);
package.add("IsIncreaseRangeSpell", &Perl__IsIncreaseRangeSpell);
package.add("IsInstrumentModifierAppliedToSpellEffect", &Perl__IsInstrumentModifierAppliedToSpellEffect);
package.add("IsInvisibleSpell", &Perl__IsInvisibleSpell);
package.add("IsInvulnerabilitySpell", &Perl__IsInvulnerabilitySpell);
package.add("IsLDoNObjectSpell", &Perl__IsLDoNObjectSpell);
package.add("IsLifetapSpell", &Perl__IsLifetapSpell);
package.add("IsMagicRuneSpell", &Perl__IsMagicRuneSpell);
package.add("IsManaCostReductionSpell", &Perl__IsManaCostReductionSpell);
package.add("IsManaTapSpell", &Perl__IsManaTapSpell);
package.add("IsMesmerizeSpell", &Perl__IsMesmerizeSpell);
package.add("IsNoDetrimentalSpellAggroSpell", &Perl__IsNoDetrimentalSpellAggroSpell);
package.add("IsPartialDeathSaveSpell", &Perl__IsPartialDeathSaveSpell);
package.add("IsPartialResistableSpell", &Perl__IsPartialResistableSpell);
package.add("IsPBAENukeSpell", &Perl__IsPBAENukeSpell);
package.add("IsPercentalHealSpell", &Perl__IsPercentalHealSpell);
package.add("IsPersistDeathSpell", &Perl__IsPersistDeathSpell);
package.add("IsPetSpell", &Perl__IsPetSpell);
package.add("IsPoisonCounterSpell", &Perl__IsPoisonCounterSpell);
package.add("IsPulsingBardSong", &Perl__IsPulsingBardSong);
package.add("IsPureNukeSpell", &Perl__IsPureNukeSpell);
package.add("IsRaining", &Perl__IsRaining);
package.add("IsSnowing", &Perl__IsSnowing);
package.add("IsRegularGroupHealSpell", &Perl__IsRegularGroupHealSpell);
package.add("IsRegularSingleTargetHealSpell", &Perl__IsRegularSingleTargetHealSpell);
package.add("IsResistableSpell", &Perl__IsResistableSpell);
package.add("IsResistDebuffSpell", &Perl__IsResistDebuffSpell);
package.add("IsRestAllowedSpell", &Perl__IsRestAllowedSpell);
package.add("IsResurrectionEffects", &Perl__IsResurrectionEffects);
package.add("IsRuneSpell", &Perl__IsRuneSpell);
package.add("IsRunning", &Perl__IsRunning);
package.add("IsSacrificeSpell", &Perl__IsSacrificeSpell);
package.add("IsSelfConversionSpell", &Perl__IsSelfConversionSpell);
package.add("IsShadowStepSpell", &Perl__IsShadowStepSpell);
package.add("IsShortDurationBuff", &Perl__IsShortDurationBuff);
package.add("IsSnowing", &Perl__IsSnowing);
package.add("IsSpellUsableInThisZoneType", (bool(*)(uint16))&Perl__IsSpellUsableInThisZoneType);
package.add("IsSpellUsableInThisZoneType", (bool(*)(uint16, uint8))&Perl__IsSpellUsableInThisZoneType);
package.add("IsStackableDOT", &Perl__IsStackableDOT);
package.add("IsStunSpell", &Perl__IsStunSpell);
package.add("IsSuccorSpell", &Perl__IsSuccorSpell);
package.add("IsSummonItemSpell", &Perl__IsSummonItemSpell);
package.add("IsSummonPCSpell", &Perl__IsSummonPCSpell);
package.add("IsSummonPetSpell", &Perl__IsSummonPetSpell);
package.add("IsSummonSkeletonSpell", &Perl__IsSummonSkeletonSpell);
package.add("IsSummonSpell", &Perl__IsSummonSpell);
package.add("IsSuspendableSpell", &Perl__IsSuspendableSpell);
package.add("IsTargetableAESpell", &Perl__IsTargetableAESpell);
package.add("IsTargetRequiredForSpell", &Perl__IsTargetRequiredForSpell);
package.add("IsTeleportSpell", &Perl__IsTeleportSpell);
package.add("IsTranslocateSpell", &Perl__IsTranslocateSpell);
package.add("IsVeryFastHealSpell", &Perl__IsVeryFastHealSpell);
package.add("IsVirusSpell", &Perl__IsVirusSpell);
package.add("IsValidSpell", &Perl__IsValidSpell);
package.add("LearnRecipe", &Perl__LearnRecipe);
package.add("MerchantCountItem", &Perl__MerchantCountItem);
package.add("MerchantSetItem", (void(*)(uint32, uint32))&Perl__MerchantSetItem);
@@ -5199,6 +5879,7 @@ void perl_register_quest()
package.add("worldwideupdateactivity", (void(*)(uint32, int, int, uint8, uint8))&Perl__worldwideupdateactivity);
package.add("debug", (void(*)(const char*))&Perl__debug);
package.add("debug", (void(*)(const char*, int))&Perl__debug);
package.add("delete_data", &Perl__delete_data);
package.add("delglobal", &Perl__delglobal);
package.add("depop", (void(*)())&Perl__depop);
package.add("depop", (void(*)(int))&Perl__depop);
@@ -5253,6 +5934,9 @@ void perl_register_quest()
package.add("getconsiderlevelname", &Perl__getconsiderlevelname);
package.add("gethexcolorcode", &Perl__gethexcolorcode);
package.add("getcurrencyid", &Perl__getcurrencyid);
package.add("get_data", &Perl__get_data);
package.add("get_data_expires", &Perl__get_data_expires);
package.add("get_data_remaining", &Perl__get_data_remaining);
package.add("get_dz_task_id", &Perl__get_dz_task_id);
package.add("getexpmodifierbycharid", (double(*)(uint32, uint32))&Perl__getexpmodifierbycharid);
package.add("getexpmodifierbycharid", (double(*)(uint32, uint32, int16))&Perl__getexpmodifierbycharid);
@@ -5270,6 +5954,7 @@ void perl_register_quest()
package.add("getlanguagename", &Perl__getlanguagename);
package.add("getldonthemename", &Perl__getldonthemename);
package.add("getnpcnamebyid", &Perl__getnpcnamebyid);
package.add("get_rule", &Perl__get_rule);
package.add("get_spawn_condition", (int(*)(const char*, uint16))&Perl__get_spawn_condition);
package.add("get_spawn_condition", (int(*)(const char*, uint32, uint16))&Perl__get_spawn_condition);
package.add("getcharnamebyid", &Perl__getcharnamebyid);
@@ -5424,12 +6109,15 @@ void perl_register_quest()
package.add("send_channel_message", (void(*)(Client*, const char*, uint8, uint32, uint8, uint8, const char*))&Perl__send_channel_message);
package.add("setaaexpmodifierbycharid", (void(*)(uint32, uint32, double))&Perl__setaaexpmodifierbycharid);
package.add("setaaexpmodifierbycharid", (void(*)(uint32, uint32, double, int16))&Perl__setaaexpmodifierbycharid);
package.add("set_data", (void(*)(std::string, std::string))&Perl__set_data);
package.add("set_data", (void(*)(std::string, std::string, std::string))&Perl__set_data);
package.add("set_proximity", (void(*)(float, float, float, float))&Perl__set_proximity);
package.add("set_proximity", (void(*)(float, float, float, float, float, float))&Perl__set_proximity);
package.add("set_proximity", (void(*)(float, float, float, float, float, float, bool))&Perl__set_proximity);
package.add("set_proximity_range", (void(*)(float, float))&Perl__set_proximity_range);
package.add("set_proximity_range", (void(*)(float, float, float))&Perl__set_proximity_range);
package.add("set_proximity_range", (void(*)(float, float, float, bool))&Perl__set_proximity_range);
package.add("set_rule", &Perl__set_rule);
package.add("set_zone_flag", &Perl__set_zone_flag);
package.add("setallskill", &Perl__setallskill);
package.add("setanim", &Perl__setanim);