From 5876049cb7adcde9fe160bb9af30cd677d8480f5 Mon Sep 17 00:00:00 2001 From: dmcintosh-BCT Date: Thu, 21 Jul 2022 16:49:17 -0400 Subject: [PATCH] Changed mana_used to use int32, to match int32 mana_cost This will allow higher mana costs to function --- zone/mob.h | 4 ++-- zone/spell_effects.cpp | 2 +- zone/spells.cpp | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/zone/mob.h b/zone/mob.h index 6f9b51934..24da73945 100644 --- a/zone/mob.h +++ b/zone/mob.h @@ -345,9 +345,9 @@ public: int32 mana_cost = -1, uint32* oSpellWillFinish = 0, uint32 item_slot = 0xFFFFFFFF, uint32 timer = 0xFFFFFFFF, uint32 timer_duration = 0, int16 resist_adjust = 0, uint32 aa_id = 0); - void CastedSpellFinished(uint16 spell_id, uint32 target_id, EQ::spells::CastingSlot slot, uint16 mana_used, + void CastedSpellFinished(uint16 spell_id, uint32 target_id, EQ::spells::CastingSlot slot, int mana_used, uint32 inventory_slot = 0xFFFFFFFF, int16 resist_adjust = 0); - bool SpellFinished(uint16 spell_id, Mob *target, EQ::spells::CastingSlot slot = EQ::spells::CastingSlot::Item, uint16 mana_used = 0, + bool SpellFinished(uint16 spell_id, Mob *target, EQ::spells::CastingSlot slot = EQ::spells::CastingSlot::Item, int mana_used = 0, uint32 inventory_slot = 0xFFFFFFFF, int16 resist_adjust = 0, bool isproc = false, int level_override = -1, uint32 timer = 0xFFFFFFFF, uint32 timer_duration = 0, bool from_casted_spell = false, uint32 aa_id = 0); void SendBeginCast(uint16 spell_id, uint32 casttime); virtual bool SpellOnTarget(uint16 spell_id, Mob* spelltar, int reflect_effectiveness = 0, diff --git a/zone/spell_effects.cpp b/zone/spell_effects.cpp index 6d258ca8d..3fdc6d443 100644 --- a/zone/spell_effects.cpp +++ b/zone/spell_effects.cpp @@ -7077,7 +7077,7 @@ uint16 Mob::GetSympatheticSpellProcID(uint16 spell_id) return 0; } -bool Mob::DoHPToManaCovert(uint16 mana_cost) +bool Mob::DoHPToManaCovert(int32 mana_cost) { if (spellbonuses.HPToManaConvert){ int64 hp_cost = spellbonuses.HPToManaConvert * mana_cost / 100; diff --git a/zone/spells.cpp b/zone/spells.cpp index 3d1acc0a6..e9aff89a1 100644 --- a/zone/spells.cpp +++ b/zone/spells.cpp @@ -1288,7 +1288,7 @@ void Mob::StopCastSpell(int32 spell_id, bool send_spellbar_enable) // just check timed spell specific things before passing off to SpellFinished // which figures out proper targets etc void Mob::CastedSpellFinished(uint16 spell_id, uint32 target_id, CastingSlot slot, - uint16 mana_used, uint32 inventory_slot, int16 resist_adjust) + int32 mana_used, uint32 inventory_slot, int16 resist_adjust) { if (!IsValidSpell(spell_id)) { @@ -2260,7 +2260,7 @@ bool Mob::DetermineSpellTargets(uint16 spell_id, Mob *&spell_target, Mob *&ae_ce // only used from CastedSpellFinished, and procs // we can't interrupt in this, or anything called from this! // if you need to abort the casting, return false -bool Mob::SpellFinished(uint16 spell_id, Mob *spell_target, CastingSlot slot, uint16 mana_used, +bool Mob::SpellFinished(uint16 spell_id, Mob *spell_target, CastingSlot slot, int32 mana_used, uint32 inventory_slot, int16 resist_adjust, bool isproc, int level_override, uint32 timer, uint32 timer_duration, bool from_casted_spell, uint32 aa_id) {