diff --git a/common/spdat.h b/common/spdat.h index 0159fe52c..1702e1cfc 100644 --- a/common/spdat.h +++ b/common/spdat.h @@ -1298,7 +1298,7 @@ struct SPDat_Spell_Struct /* 016 */ uint32 buff_duration_formula; // -- DURATIONBASE /* 017 */ uint32 buff_duration; // -- DURATIONCAP /* 018 */ uint32 aoe_duration; // sentinel, rain of something -- IMPACTDURATION -/* 019 */ uint16 mana; // Mana Used -- MANACOST +/* 019 */ int32 mana; // Mana Used -- MANACOST /* 020 */ int base_value[EFFECT_COUNT]; //various purposes -- BASEAFFECT1 .. BASEAFFECT12 /* 032 */ int limit_value[EFFECT_COUNT]; //various purposes -- BASE_EFFECT2_1 ... BASE_EFFECT2_12 /* 044 */ int32 max_value[EFFECT_COUNT]; // -- AFFECT1CAP ... AFFECT12CAP diff --git a/zone/effects.cpp b/zone/effects.cpp index dd924be37..1515b7122 100644 --- a/zone/effects.cpp +++ b/zone/effects.cpp @@ -454,7 +454,7 @@ int32 Client::GetActSpellCost(uint16 spell_id, int32 cost) // Formula = Unknown exact, based off a random percent chance up to mana cost(after focuses) of the cast spell if(itembonuses.Clairvoyance && spells[spell_id].classes[(GetClass()%17) - 1] >= GetLevel() - 5) { - int16 mana_back = itembonuses.Clairvoyance * zone->random.Int(1, 100) / 100; + int mana_back = itembonuses.Clairvoyance * zone->random.Int(1, 100) / 100; // Doesnt generate mana, so best case is a free spell if(mana_back > cost) mana_back = cost; diff --git a/zone/merc.cpp b/zone/merc.cpp index 5bf265cb6..f452a1a3f 100644 --- a/zone/merc.cpp +++ b/zone/merc.cpp @@ -2713,7 +2713,7 @@ int32 Merc::GetActSpellCost(uint16 spell_id, int32 cost) // Formula = Unknown exact, based off a random percent chance up to mana cost(after focuses) of the cast spell if(itembonuses.Clairvoyance && spells[spell_id].classes[(GetClass()%17) - 1] >= GetLevel() - 5) { - int16 mana_back = itembonuses.Clairvoyance * zone->random.Int(1, 100) / 100; + int mana_back = itembonuses.Clairvoyance * zone->random.Int(1, 100) / 100; // Doesnt generate mana, so best case is a free spell if(mana_back > cost) mana_back = cost; diff --git a/zone/mob.h b/zone/mob.h index c183bb67e..9a4acc2b5 100644 --- a/zone/mob.h +++ b/zone/mob.h @@ -1608,7 +1608,7 @@ protected: bool delaytimer; uint16 casting_spell_targetid; EQ::spells::CastingSlot casting_spell_slot; - uint16 casting_spell_mana; + int32 casting_spell_mana; uint32 casting_spell_inventory_slot; uint32 casting_spell_timer; uint32 casting_spell_timer_duration; diff --git a/zone/perl_mob.cpp b/zone/perl_mob.cpp index e710cbaf9..9a931f727 100644 --- a/zone/perl_mob.cpp +++ b/zone/perl_mob.cpp @@ -930,12 +930,12 @@ void Perl_Mob_SpellFinished(Mob* self, uint16 spell_id, Mob* target) // @categor self->SpellFinished(spell_id, target, EQ::spells::CastingSlot::Item, 0, -1, spells[spell_id].resist_difficulty); } -void Perl_Mob_SpellFinished(Mob* self, uint16 spell_id, Mob* target, uint16 mana_cost) // @categories Spells and Disciplines +void Perl_Mob_SpellFinished(Mob* self, uint16 spell_id, Mob* target, int32 mana_cost) // @categories Spells and Disciplines { self->SpellFinished(spell_id, target, EQ::spells::CastingSlot::Item, mana_cost, -1, spells[spell_id].resist_difficulty); } -void Perl_Mob_SpellFinished(Mob* self, uint16 spell_id, Mob* target, uint16 mana_cost, uint16 resist_diff) // @categories Spells and Disciplines +void Perl_Mob_SpellFinished(Mob* self, uint16 spell_id, Mob* target, int32 mana_cost, uint16 resist_diff) // @categories Spells and Disciplines { self->SpellFinished(spell_id, target, EQ::spells::CastingSlot::Item, mana_cost, -1, resist_diff); } @@ -2933,8 +2933,8 @@ void perl_register_mob() package.add("SpellEffect", (void(*)(Mob*, uint32, uint32, uint32, bool, uint32, bool, perl::nullable, uint32, uint32))&Perl_Mob_SpellEffect); package.add("SpellFinished", (void(*)(Mob*, uint16))&Perl_Mob_SpellFinished); package.add("SpellFinished", (void(*)(Mob*, uint16, Mob*))&Perl_Mob_SpellFinished); - package.add("SpellFinished", (void(*)(Mob*, uint16, Mob*, uint16))&Perl_Mob_SpellFinished); - package.add("SpellFinished", (void(*)(Mob*, uint16, Mob*, uint16, uint16))&Perl_Mob_SpellFinished); + package.add("SpellFinished", (void(*)(Mob*, uint16, Mob*, int32))&Perl_Mob_SpellFinished); + package.add("SpellFinished", (void(*)(Mob*, uint16, Mob*, int32, uint16))&Perl_Mob_SpellFinished); package.add("Spin", &Perl_Mob_Spin); package.add("StartEnrage", &Perl_Mob_StartEnrage); package.add("StopNavigation", &Perl_Mob_StopNavigation); diff --git a/zone/perl_npc.cpp b/zone/perl_npc.cpp index 9c83a782b..096b4baa2 100644 --- a/zone/perl_npc.cpp +++ b/zone/perl_npc.cpp @@ -459,12 +459,12 @@ float Perl_NPC_GetNPCStat(NPC* self, const char* identifier) // @categories Stat return self->GetNPCStat(identifier); } -void Perl_NPC_AddSpellToNPCList(NPC* self, int16 priority, uint16_t spell_id, uint32 type, int16 mana_cost, int recast_delay, int16 resist_adjust) // @categories Spells and Disciplines, Script Utility +void Perl_NPC_AddSpellToNPCList(NPC* self, int16 priority, uint16_t spell_id, uint32 type, int mana_cost, int recast_delay, int16 resist_adjust) // @categories Spells and Disciplines, Script Utility { self->AddSpellToNPCList(priority, spell_id, type, mana_cost, recast_delay, resist_adjust, 0, 0); } -void Perl_NPC_AddSpellToNPCList(NPC* self, int16 priority, uint16_t spell_id, uint32 type, int16 mana_cost, int recast_delay, int16 resist_adjust, int8 min_hp, int8 max_hp) // @categories Spells and Disciplines, Script Utility +void Perl_NPC_AddSpellToNPCList(NPC* self, int16 priority, uint16_t spell_id, uint32 type, int mana_cost, int recast_delay, int16 resist_adjust, int8 min_hp, int8 max_hp) // @categories Spells and Disciplines, Script Utility { self->AddSpellToNPCList(priority, spell_id, type, mana_cost, recast_delay, resist_adjust, min_hp, max_hp); } @@ -674,8 +674,8 @@ void perl_register_npc() package.add("AI_SetRoambox", (void(*)(NPC*, float, float, float, float, float))&Perl_NPC_AI_SetRoambox); package.add("AI_SetRoambox", (void(*)(NPC*, float, float, float, float, float, uint32))&Perl_NPC_AI_SetRoambox); package.add("AI_SetRoambox", (void(*)(NPC*, float, float, float, float, float, uint32, uint32))&Perl_NPC_AI_SetRoambox); - package.add("AddAISpell", (void(*)(NPC*, int16, uint16, uint32, int16, int, int16))&Perl_NPC_AddSpellToNPCList); - package.add("AddAISpell", (void(*)(NPC*, int16, uint16, uint32, int16, int, int16, int8, int8))&Perl_NPC_AddSpellToNPCList); + package.add("AddAISpell", (void(*)(NPC*, int16, uint16, uint32, int, int, int16))&Perl_NPC_AddSpellToNPCList); + package.add("AddAISpell", (void(*)(NPC*, int16, uint16, uint32, int, int, int16, int8, int8))&Perl_NPC_AddSpellToNPCList); package.add("AddAISpellEffect", &Perl_NPC_AddAISpellEffect); package.add("AddCash", &Perl_NPC_AddCash); package.add("AddDefensiveProc", &Perl_NPC_AddDefensiveProc);