diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 54 | ||||
-rw-r--r-- | src/server/game/Miscellaneous/Language.h | 17 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_instance.cpp | 27 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_server.cpp | 15 | ||||
-rw-r--r-- | src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp | 145 | ||||
-rw-r--r-- | src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp | 104 | ||||
-rw-r--r-- | src/server/scripts/Events/childrens_week.cpp | 16 | ||||
-rw-r--r-- | src/server/shared/Database/Field.h | 16 | ||||
-rw-r--r-- | src/server/worldserver/worldserver.conf.dist | 18 |
9 files changed, 204 insertions, 208 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index a94b58868ee..bfd3a1bbcb9 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -5846,40 +5846,38 @@ float Player::OCTRegenMPPerSpirit() return regen; } -void Player::ApplyRatingMod(CombatRating cr, int32 value, bool apply) +void Player::ApplyRatingMod(CombatRating combatRating, int32 value, bool apply) { - float oldRating = m_baseRatingValue[cr]; - m_baseRatingValue[cr]+=(apply ? value : -value); + float oldRating = m_baseRatingValue[combatRating]; + m_baseRatingValue[combatRating] += (apply ? value : -value); + // explicit affected values - if (cr == CR_HASTE_MELEE || cr == CR_HASTE_RANGED || cr == CR_HASTE_SPELL) - { - float const mult = GetRatingMultiplier(cr); - float const oldVal = oldRating * mult; - float const newVal = m_baseRatingValue[cr] * mult; - switch (cr) - { - case CR_HASTE_MELEE: - ApplyAttackTimePercentMod(BASE_ATTACK, oldVal, false); - ApplyAttackTimePercentMod(OFF_ATTACK, oldVal, false); - ApplyAttackTimePercentMod(BASE_ATTACK, newVal, true); - ApplyAttackTimePercentMod(OFF_ATTACK, newVal, true); + float const multiplier = GetRatingMultiplier(combatRating); + float const oldVal = oldRating * multiplier; + float const newVal = m_baseRatingValue[combatRating] * multiplier; + switch (combatRating) + { + case CR_HASTE_MELEE: + ApplyAttackTimePercentMod(BASE_ATTACK, oldVal, false); + ApplyAttackTimePercentMod(OFF_ATTACK, oldVal, false); + ApplyAttackTimePercentMod(BASE_ATTACK, newVal, true); + ApplyAttackTimePercentMod(OFF_ATTACK, newVal, true); if (getClass() == CLASS_DEATH_KNIGHT) UpdateAllRunesRegen(); - break; - case CR_HASTE_RANGED: - ApplyAttackTimePercentMod(RANGED_ATTACK, oldVal, false); - ApplyAttackTimePercentMod(RANGED_ATTACK, newVal, true); - break; - case CR_HASTE_SPELL: - ApplyCastTimePercentMod(oldVal, false); - ApplyCastTimePercentMod(newVal, true); - break; - default: // shut up compiler warnings - break; - } + break; + case CR_HASTE_RANGED: + ApplyAttackTimePercentMod(RANGED_ATTACK, oldVal, false); + ApplyAttackTimePercentMod(RANGED_ATTACK, newVal, true); + break; + case CR_HASTE_SPELL: + ApplyCastTimePercentMod(oldVal, false); + ApplyCastTimePercentMod(newVal, true); + break; + default: + break; } - UpdateRating(cr); + UpdateRating(combatRating); } void Player::UpdateRating(CombatRating cr) diff --git a/src/server/game/Miscellaneous/Language.h b/src/server/game/Miscellaneous/Language.h index e0e9dcd540d..c8106952488 100644 --- a/src/server/game/Miscellaneous/Language.h +++ b/src/server/game/Miscellaneous/Language.h @@ -1104,7 +1104,22 @@ enum TrinityStrings LANG_GPS_POSITION_OUTDOORS = 5042, LANG_GPS_POSITION_INDOORS = 5043, LANG_GPS_NO_VMAP = 5044, - // Room for more Trinity strings 5045-9999 + + // Instance commands + LANG_COMMAND_LIST_BIND_INFO = 5045, + LANG_COMMAND_LIST_BIND_PLAYER_BINDS = 5046, + LANG_COMMAND_LIST_BIND_GROUP_BINDS = 5047, + LANG_COMMAND_INST_UNBIND_UNBINDING = 5048, + LANG_COMMAND_INST_UNBIND_UNBOUND = 5049, + LANG_COMMAND_INST_STAT_LOADED_INST = 5050, + LANG_COMMAND_INST_STAT_PLAYERS_IN = 5051, + LANG_COMMAND_INST_STAT_SAVES = 5052, + LANG_COMMAND_INST_STAT_PLAYERSBOUND = 5053, + LANG_COMMAND_INST_STAT_GROUPSBOUND = 5054, + LANG_NOT_DUNGEON = 5055, // Map is not a dungeon. + LANG_NO_INSTANCE_DATA = 5056, // Map has no instance data. + + // Room for more Trinity strings 5057-9999 // Level requirement notifications LANG_SAY_REQ = 6604, diff --git a/src/server/scripts/Commands/cs_instance.cpp b/src/server/scripts/Commands/cs_instance.cpp index b8d69c250bb..464d58ad908 100644 --- a/src/server/scripts/Commands/cs_instance.cpp +++ b/src/server/scripts/Commands/cs_instance.cpp @@ -29,6 +29,7 @@ EndScriptData */ #include "InstanceScript.h" #include "MapManager.h" #include "Player.h" +#include "Language.h" class instance_commandscript : public CommandScript { @@ -81,11 +82,11 @@ public: { InstanceSave* save = itr->second.save; std::string timeleft = GetTimeString(save->GetResetTime() - time(NULL)); - handler->PSendSysMessage("map: %d inst: %d perm: %s diff: %d canReset: %s TTR: %s", itr->first, save->GetInstanceId(), itr->second.perm ? "yes" : "no", save->GetDifficulty(), save->CanReset() ? "yes" : "no", timeleft.c_str()); + handler->PSendSysMessage(LANG_COMMAND_LIST_BIND_INFO, itr->first, save->GetInstanceId(), itr->second.perm ? "yes" : "no", save->GetDifficulty(), save->CanReset() ? "yes" : "no", timeleft.c_str()); counter++; } } - handler->PSendSysMessage("player binds: %d", counter); + handler->PSendSysMessage(LANG_COMMAND_LIST_BIND_PLAYER_BINDS, counter); counter = 0; if (Group* group = player->GetGroup()) @@ -97,12 +98,12 @@ public: { InstanceSave* save = itr->second.save; std::string timeleft = GetTimeString(save->GetResetTime() - time(NULL)); - handler->PSendSysMessage("map: %d inst: %d perm: %s diff: %d canReset: %s TTR: %s", itr->first, save->GetInstanceId(), itr->second.perm ? "yes" : "no", save->GetDifficulty(), save->CanReset() ? "yes" : "no", timeleft.c_str()); + handler->PSendSysMessage(LANG_COMMAND_LIST_BIND_INFO, itr->first, save->GetInstanceId(), itr->second.perm ? "yes" : "no", save->GetDifficulty(), save->CanReset() ? "yes" : "no", timeleft.c_str()); counter++; } } } - handler->PSendSysMessage("group binds: %d", counter); + handler->PSendSysMessage(LANG_COMMAND_LIST_BIND_GROUP_BINDS, counter); return true; } @@ -140,7 +141,7 @@ public: if (itr->first != player->GetMapId() && (!MapId || MapId == itr->first) && (diff == -1 || diff == save->GetDifficulty())) { std::string timeleft = GetTimeString(save->GetResetTime() - time(NULL)); - handler->PSendSysMessage("unbinding map: %d inst: %d perm: %s diff: %d canReset: %s TTR: %s", itr->first, save->GetInstanceId(), itr->second.perm ? "yes" : "no", save->GetDifficulty(), save->CanReset() ? "yes" : "no", timeleft.c_str()); + handler->PSendSysMessage(LANG_COMMAND_INST_UNBIND_UNBINDING, itr->first, save->GetInstanceId(), itr->second.perm ? "yes" : "no", save->GetDifficulty(), save->CanReset() ? "yes" : "no", timeleft.c_str()); player->UnbindInstance(itr, Difficulty(i)); counter++; } @@ -148,18 +149,18 @@ public: ++itr; } } - handler->PSendSysMessage("instances unbound: %d", counter); + handler->PSendSysMessage(LANG_COMMAND_INST_UNBIND_UNBOUND, counter); return true; } static bool HandleInstanceStatsCommand(ChatHandler* handler, char const* /*args*/) { - handler->PSendSysMessage("instances loaded: %d", sMapMgr->GetNumInstances()); - handler->PSendSysMessage("players in instances: %d", sMapMgr->GetNumPlayersInInstances()); - handler->PSendSysMessage("instance saves: %d", sInstanceSaveMgr->GetNumInstanceSaves()); - handler->PSendSysMessage("players bound: %d", sInstanceSaveMgr->GetNumBoundPlayersTotal()); - handler->PSendSysMessage("groups bound: %d", sInstanceSaveMgr->GetNumBoundGroupsTotal()); + handler->PSendSysMessage(LANG_COMMAND_INST_STAT_LOADED_INST, sMapMgr->GetNumInstances()); + handler->PSendSysMessage(LANG_COMMAND_INST_STAT_PLAYERS_IN, sMapMgr->GetNumPlayersInInstances()); + handler->PSendSysMessage(LANG_COMMAND_INST_STAT_SAVES, sInstanceSaveMgr->GetNumInstanceSaves()); + handler->PSendSysMessage(LANG_COMMAND_INST_STAT_PLAYERSBOUND, sInstanceSaveMgr->GetNumBoundPlayersTotal()); + handler->PSendSysMessage(LANG_COMMAND_INST_STAT_GROUPSBOUND, sInstanceSaveMgr->GetNumBoundGroupsTotal()); return true; } @@ -170,14 +171,14 @@ public: Map* map = player->GetMap(); if (!map->IsDungeon()) { - handler->PSendSysMessage("Map is not a dungeon."); + handler->PSendSysMessage(LANG_NOT_DUNGEON); handler->SetSentErrorMessage(true); return false; } if (!((InstanceMap*)map)->GetInstanceScript()) { - handler->PSendSysMessage("Map has no instance data."); + handler->PSendSysMessage(LANG_NO_INSTANCE_DATA); handler->SetSentErrorMessage(true); return false; } diff --git a/src/server/scripts/Commands/cs_server.cpp b/src/server/scripts/Commands/cs_server.cpp index 14a68d1fdae..f828b66a93a 100644 --- a/src/server/scripts/Commands/cs_server.cpp +++ b/src/server/scripts/Commands/cs_server.cpp @@ -316,6 +316,9 @@ private: if (!*args) return false; + if (strlen(args) > 255) + return false; + // #delay [#exit_code] [reason] char* delayStr = strtok((char*)args, " "); if (!delayStr || !isNumeric(delayStr)) @@ -323,10 +326,7 @@ private: char* exitCodeStr = nullptr; - if (strlen(args) > 255) - return false; - - char reason[255] = { 0 }; + char reason[256] = { 0 }; while (char* nextToken = strtok(nullptr, " ")) { @@ -335,8 +335,11 @@ private: else { strcat(reason, nextToken); - strcat(reason, " "); - strcat(reason, strtok(nullptr, "\0")); + if (char* remainingTokens = strtok(nullptr, "\0")) + { + strcat(reason, " "); + strcat(reason, remainingTokens); + } break; } } diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp index 9351224863c..41873d778ca 100644 --- a/src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp +++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp @@ -1,6 +1,5 @@ /* * Copyright (C) 2008-2014 TrinityCore <http://www.trinitycore.org/> - * Copyright (C) 2006-2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -16,122 +15,108 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -/* ScriptData -SDName: Boss_Ras_Frostwhisper -SD%Complete: 100 -SDComment: -SDCategory: Scholomance -EndScriptData */ - #include "ScriptMgr.h" #include "ScriptedCreature.h" enum Spells { SPELL_FROSTBOLT = 21369, - SPELL_ICEARMOR = 18100, // This is actually a buff he gives himself + SPELL_ICE_ARMOR = 18100, // This is actually a buff he gives himself SPELL_FREEZE = 18763, SPELL_FEAR = 26070, - SPELL_CHILLNOVA = 18099, + SPELL_CHILL_NOVA = 18099, SPELL_FROSTVOLLEY = 8398 }; +enum Events +{ + EVENT_FROSTBOLT = 1, + EVENT_ICE_ARMOR, + EVENT_FREEZE, + EVENT_FEAR, + EVENT_CHILL_NOVA, + EVENT_FROSTVOLLEY +}; + class boss_boss_ras_frostwhisper : public CreatureScript { public: boss_boss_ras_frostwhisper() : CreatureScript("boss_boss_ras_frostwhisper") { } - CreatureAI* GetAI(Creature* creature) const override - { - return new boss_rasfrostAI(creature); - } - struct boss_rasfrostAI : public ScriptedAI { - boss_rasfrostAI(Creature* creature) : ScriptedAI(creature) - { - Initialize(); - } - - void Initialize() - { - IceArmor_Timer = 2000; - Frostbolt_Timer = 8000; - ChillNova_Timer = 12000; - Freeze_Timer = 18000; - FrostVolley_Timer = 24000; - Fear_Timer = 45000; - } - - uint32 IceArmor_Timer; - uint32 Frostbolt_Timer; - uint32 Freeze_Timer; - uint32 Fear_Timer; - uint32 ChillNova_Timer; - uint32 FrostVolley_Timer; + boss_rasfrostAI(Creature* creature) : ScriptedAI(creature) { } void Reset() override { - Initialize(); - - DoCast(me, SPELL_ICEARMOR, true); + events.Reset(); + DoCast(me, SPELL_ICE_ARMOR); } - void EnterCombat(Unit* /*who*/) override { } + void EnterCombat(Unit* /*who*/) override + { + events.ScheduleEvent(EVENT_ICE_ARMOR, 2000); + events.ScheduleEvent(EVENT_FROSTBOLT, 8000); + events.ScheduleEvent(EVENT_CHILL_NOVA, 12000); + events.ScheduleEvent(EVENT_FREEZE, 18000); + events.ScheduleEvent(EVENT_FEAR, 45000); + } void UpdateAI(uint32 diff) override { if (!UpdateVictim()) return; - //IceArmor_Timer - if (IceArmor_Timer <= diff) - { - DoCast(me, SPELL_ICEARMOR); - IceArmor_Timer = 180000; - } else IceArmor_Timer -= diff; - - //Frostbolt_Timer - if (Frostbolt_Timer <= diff) - { - if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) - DoCast(target, SPELL_FROSTBOLT); - - Frostbolt_Timer = 8000; - } else Frostbolt_Timer -= diff; - - //Freeze_Timer - if (Freeze_Timer <= diff) - { - DoCastVictim(SPELL_FREEZE); - Freeze_Timer = 24000; - } else Freeze_Timer -= diff; + events.Update(diff); - //Fear_Timer - if (Fear_Timer <= diff) - { - DoCastVictim(SPELL_FEAR); - Fear_Timer = 30000; - } else Fear_Timer -= diff; - - //ChillNova_Timer - if (ChillNova_Timer <= diff) - { - DoCastVictim(SPELL_CHILLNOVA); - ChillNova_Timer = 14000; - } else ChillNova_Timer -= diff; + if (me->HasUnitState(UNIT_STATE_CASTING)) + return; - //FrostVolley_Timer - if (FrostVolley_Timer <= diff) + while (uint32 eventId = events.ExecuteEvent()) { - DoCastVictim(SPELL_FROSTVOLLEY); - FrostVolley_Timer = 15000; - } else FrostVolley_Timer -= diff; + switch (eventId) + { + case EVENT_ICE_ARMOR: + DoCast(me, SPELL_ICE_ARMOR); + events.ScheduleEvent(EVENT_ICE_ARMOR, 180000); + break; + case EVENT_FROSTBOLT: + if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) + DoCast(target, SPELL_FROSTBOLT); + events.ScheduleEvent(EVENT_FROSTBOLT, 8000); + break; + case EVENT_FREEZE: + DoCastVictim(SPELL_FREEZE); + events.ScheduleEvent(EVENT_FREEZE, 24000); + break; + case EVENT_FEAR: + DoCastVictim(SPELL_FEAR); + events.ScheduleEvent(EVENT_FEAR, 30000); + break; + case EVENT_CHILL_NOVA: + DoCastVictim(SPELL_CHILL_NOVA); + events.ScheduleEvent(EVENT_CHILL_NOVA, 14000); + break; + case EVENT_FROSTVOLLEY: + DoCastVictim(SPELL_FROSTVOLLEY); + events.ScheduleEvent(EVENT_FROSTVOLLEY, 15000); + break; + default: + break; + } + } DoMeleeAttackIfReady(); } + + private: + EventMap events; }; + CreatureAI* GetAI(Creature* creature) const override + { + return new boss_rasfrostAI(creature); + } }; void AddSC_boss_rasfrost() diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp index fba5f3faa14..654f06ad3ed 100644 --- a/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp +++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp @@ -1,6 +1,5 @@ /* * Copyright (C) 2008-2014 TrinityCore <http://www.trinitycore.org/> - * Copyright (C) 2006-2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -16,103 +15,102 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -/* ScriptData -SDName: Boss_Vectus -SD%Complete: 100 -SDComment: -SDCategory: Scholomance -EndScriptData */ - #include "ScriptMgr.h" #include "ScriptedCreature.h" enum Emotes { - EMOTE_FRENZY_KILL = 0 + EMOTE_FRENZY = 0 }; enum Spells { SPELL_FLAMESTRIKE = 18399, SPELL_BLAST_WAVE = 16046, - SPELL_FIRESHIELD = 19626, + SPELL_FIRE_SHIELD = 19626, SPELL_FRENZY = 8269 // 28371 }; +enum Events +{ + EVENT_FIRE_SHIELD = 1, + EVENT_BLAST_WAVE, + EVENT_FRENZY +}; + class boss_vectus : public CreatureScript { public: boss_vectus() : CreatureScript("boss_vectus") { } - CreatureAI* GetAI(Creature* creature) const override - { - return new boss_vectusAI(creature); - } - struct boss_vectusAI : public ScriptedAI { - boss_vectusAI(Creature* creature) : ScriptedAI(creature) + boss_vectusAI(Creature* creature) : ScriptedAI(creature) { } + + void Reset() override { - Initialize(); + events.Reset(); } - void Initialize() + void EnterCombat(Unit* /*who*/) override { - m_uiFireShield_Timer = 2000; - m_uiBlastWave_Timer = 14000; - m_uiFrenzy_Timer = 0; + events.ScheduleEvent(EVENT_FIRE_SHIELD, 2000); + events.ScheduleEvent(EVENT_BLAST_WAVE, 14000); } - uint32 m_uiFireShield_Timer; - uint32 m_uiBlastWave_Timer; - uint32 m_uiFrenzy_Timer; - - void Reset() override + void DamageTaken(Unit* /*attacker*/, uint32& damage) override { - Initialize(); + if (me->HealthBelowPctDamaged(25, damage)) + { + DoCast(me, SPELL_FRENZY); + Talk(EMOTE_FRENZY); + events.ScheduleEvent(EVENT_FRENZY, 24000); + } } - void UpdateAI(uint32 uiDiff) override + void UpdateAI(uint32 diff) override { if (!UpdateVictim()) return; - //FireShield_Timer - if (m_uiFireShield_Timer <= uiDiff) - { - DoCast(me, SPELL_FIRESHIELD); - m_uiFireShield_Timer = 90000; - } - else - m_uiFireShield_Timer -= uiDiff; + events.Update(diff); - //BlastWave_Timer - if (m_uiBlastWave_Timer <= uiDiff) - { - DoCastVictim(SPELL_BLAST_WAVE); - m_uiBlastWave_Timer = 12000; - } - else - m_uiBlastWave_Timer -= uiDiff; + if (me->HasUnitState(UNIT_STATE_CASTING)) + return; - //Frenzy_Timer - if (HealthBelowPct(25)) + while (uint32 eventId = events.ExecuteEvent()) { - if (m_uiFrenzy_Timer <= uiDiff) + switch (eventId) { - DoCast(me, SPELL_FRENZY); - Talk(EMOTE_FRENZY_KILL); - - m_uiFrenzy_Timer = 24000; + case EVENT_FIRE_SHIELD: + DoCast(me, SPELL_FIRE_SHIELD); + events.ScheduleEvent(EVENT_FIRE_SHIELD, 90000); + break; + case EVENT_BLAST_WAVE: + DoCast(me, SPELL_BLAST_WAVE); + events.ScheduleEvent(EVENT_BLAST_WAVE, 12000); + case EVENT_FRENZY: + DoCast(me, SPELL_FRENZY); + Talk(EMOTE_FRENZY); + events.ScheduleEvent(EVENT_FRENZY, 24000); + break; + default: + break; } - else - m_uiFrenzy_Timer -= uiDiff; } DoMeleeAttackIfReady(); } + + private: + EventMap events; }; + + CreatureAI* GetAI(Creature* creature) const override + { + return new boss_vectusAI(creature); + } }; void AddSC_boss_vectus() diff --git a/src/server/scripts/Events/childrens_week.cpp b/src/server/scripts/Events/childrens_week.cpp index 021714e3055..4bc0642e348 100644 --- a/src/server/scripts/Events/childrens_week.cpp +++ b/src/server/scripts/Events/childrens_week.cpp @@ -27,7 +27,7 @@ enum Orphans ORPHAN_BLOOD_ELF = 22817, ORPHAN_DRAENEI = 22818, ORPHAN_HUMAN = 14305, - ORPHAN_ORCISH = 14444, + ORPHAN_ORCISH = 14444 }; enum Texts @@ -68,7 +68,7 @@ enum Texts TEXT_ELDER_KEKEK_1 = 1, TEXT_ALEXSTRASZA_2 = 2, - TEXT_KRASUS_8 = 8, + TEXT_KRASUS_8 = 8 }; enum Quests @@ -99,7 +99,7 @@ enum Quests QUEST_NOW_WHEN_I_GROW_UP = 11975, QUEST_HOME_OF_THE_BEAR_MEN = 13930, QUEST_THE_DRAGON_QUEEN_ORACLE = 13954, - QUEST_THE_DRAGON_QUEEN_WOLVAR = 13955, + QUEST_THE_DRAGON_QUEEN_WOLVAR = 13955 }; enum Areatriggers @@ -120,7 +120,7 @@ enum Areatriggers NPC_SPOREGGAR_CW_TRIGGER = 22829, NPC_THRONE_OF_ELEMENTS_CW_TRIGGER = 22839, NPC_SILVERMOON_01_CW_TRIGGER = 22866, - NPC_KRASUS = 27990, + NPC_KRASUS = 27990 }; enum Misc @@ -128,7 +128,7 @@ enum Misc SPELL_SNOWBALL = 21343, SPELL_ORPHAN_OUT = 58818, - DISPLAY_INVISIBLE = 11686, + DISPLAY_INVISIBLE = 11686 }; uint64 getOrphanGUID(Player* player, uint32 orphan) @@ -169,7 +169,6 @@ class npc_winterfin_playmate : public CreatureScript } void MoveInLineOfSight(Unit* who) override - { if (!phase && who && who->GetDistance2d(me) < 10.0f) if (Player* player = who->ToPlayer()) @@ -347,7 +346,7 @@ class npc_snowfall_glade_playmate : public CreatureScript uint64 orphanGUID; }; - CreatureAI* GetAI(Creature* pCreature) const + CreatureAI* GetAI(Creature* pCreature) const override { return new npc_snowfall_glade_playmateAI(pCreature); } @@ -574,7 +573,6 @@ class npc_elder_kekek : public CreatureScript } void MoveInLineOfSight(Unit* who) override - { if (!phase && who && who->GetDistance2d(me) < 10.0f) if (Player* player = who->ToPlayer()) @@ -791,7 +789,6 @@ class npc_alexstraza_the_lifebinder : public CreatureScript } void MoveInLineOfSight(Unit* who) override - { if (!phase && who && who->GetDistance2d(me) < 10.0f) if (Player* player = who->ToPlayer()) @@ -1082,7 +1079,6 @@ class npc_grizzlemaw_cw_trigger : public CreatureScript } void MoveInLineOfSight(Unit* who) override - { if (who && who->GetDistance2d(me) < 10.0f) if (Player* player = who->ToPlayer()) diff --git a/src/server/shared/Database/Field.h b/src/server/shared/Database/Field.h index 5f427a5871b..2e888be5ed3 100644 --- a/src/server/shared/Database/Field.h +++ b/src/server/shared/Database/Field.h @@ -50,7 +50,7 @@ class Field if (data.raw) return *reinterpret_cast<uint8*>(data.value); - return static_cast<uint8>(atol((char*)data.value)); + return static_cast<uint8>(strtoul((char*)data.value, nullptr, 10)); } int8 GetInt8() const @@ -68,7 +68,7 @@ class Field if (data.raw) return *reinterpret_cast<int8*>(data.value); - return static_cast<int8>(atol((char*)data.value)); + return static_cast<int8>(strtol((char*)data.value, NULL, 10)); } uint16 GetUInt16() const @@ -86,7 +86,7 @@ class Field if (data.raw) return *reinterpret_cast<uint16*>(data.value); - return static_cast<uint16>(atol((char*)data.value)); + return static_cast<uint16>(strtoul((char*)data.value, nullptr, 10)); } int16 GetInt16() const @@ -104,7 +104,7 @@ class Field if (data.raw) return *reinterpret_cast<int16*>(data.value); - return static_cast<int16>(atol((char*)data.value)); + return static_cast<int16>(strtol((char*)data.value, NULL, 10)); } uint32 GetUInt32() const @@ -122,7 +122,7 @@ class Field if (data.raw) return *reinterpret_cast<uint32*>(data.value); - return static_cast<uint32>(atol((char*)data.value)); + return static_cast<uint32>(strtoul((char*)data.value, nullptr, 10)); } int32 GetInt32() const @@ -140,7 +140,7 @@ class Field if (data.raw) return *reinterpret_cast<int32*>(data.value); - return static_cast<int32>(atol((char*)data.value)); + return static_cast<int32>(strtol((char*)data.value, NULL, 10)); } uint64 GetUInt64() const @@ -158,7 +158,7 @@ class Field if (data.raw) return *reinterpret_cast<uint64*>(data.value); - return static_cast<uint64>(atol((char*)data.value)); + return static_cast<uint64>(strtoull((char*)data.value, nullptr, 10)); } int64 GetInt64() const @@ -176,7 +176,7 @@ class Field if (data.raw) return *reinterpret_cast<int64*>(data.value); - return static_cast<int64>(strtol((char*)data.value, NULL, 10)); + return static_cast<int64>(strtoll((char*)data.value, NULL, 10)); } float GetFloat() const diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist index 043d19b66cd..c301d66de34 100644 --- a/src/server/worldserver/worldserver.conf.dist +++ b/src/server/worldserver/worldserver.conf.dist @@ -2612,11 +2612,7 @@ UI.ShowQuestLevelsInDialogs = 0 # ################################################################################################### -################################### -# Auction House Bot Configuration # -################################### - -################################################################################################################### +################################################################################################### # AUCTION HOUSE BOT SETTINGS # # AuctionHouseBot.Update.Interval @@ -2839,7 +2835,10 @@ AuctionHouseBot.Class.Key = 1 AuctionHouseBot.Class.Misc = 5 AuctionHouseBot.Class.Glyph = 3 -################################################################################################################### +# +################################################################################################### + +################################################################################################### # # AHBot ITEM FINE TUNING # The following are usefull for limiting what character levels can @@ -2911,9 +2910,9 @@ AuctionHouseBot.forceIncludeItems = "" AuctionHouseBot.forceExcludeItems = "" # -################################################################################################################### +################################################################################################### -################################################################################################################### +################################################################################################### # AHBot Buyer config # # AuctionHouseBot.Buyer.Enabled @@ -2961,7 +2960,7 @@ AuctionHouseBot.Buyer.Horde.Chance.Ratio = 3 AuctionHouseBot.Buyer.Neutral.Chance.Ratio = 3 # -################################################################################################################### +################################################################################################### ################################################################################################### # LOGGING SYSTEM SETTINGS @@ -3117,6 +3116,7 @@ Log.Async.Enable = 0 # 1 - (Enabled) Allow.IP.Based.Action.Logging = 0 + # ################################################################################################### |