diff options
| author | Treeston <treeston.mmoc@gmail.com> | 2018-02-22 20:31:42 +0100 |
|---|---|---|
| committer | Treeston <treeston.mmoc@gmail.com> | 2018-02-22 20:31:42 +0100 |
| commit | 94b5d9bfa1195ad7c32cf51a665b55514dac0938 (patch) | |
| tree | a90a7c289199727a604caf7c08703a271f4bec83 /src/server/game/Scripting | |
| parent | 3753ec56476d597b180968eb673cb20776785f31 (diff) | |
Core/Spawning: Actually check spawn group state before processing a respawn. It feels like that is something that should've been noticed at some point.
Also remove CreatureScript::CanSpawn since nobody uses it, and spawn groups do the same thing.
Diffstat (limited to 'src/server/game/Scripting')
| -rw-r--r-- | src/server/game/Scripting/ScriptMgr.cpp | 30 | ||||
| -rw-r--r-- | src/server/game/Scripting/ScriptMgr.h | 4 |
2 files changed, 0 insertions, 34 deletions
diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp index cbee458c9a0..16c6bc1a281 100644 --- a/src/server/game/Scripting/ScriptMgr.cpp +++ b/src/server/game/Scripting/ScriptMgr.cpp @@ -1565,36 +1565,6 @@ bool ScriptMgr::OnCastItemCombatSpell(Player* player, Unit* victim, SpellInfo co return tmpscript->OnCastItemCombatSpell(player, victim, spellInfo, item); } -bool ScriptMgr::CanSpawn(ObjectGuid::LowType spawnId, uint32 entry, CreatureData const* cData, Map const* map) -{ - ASSERT(map); - CreatureTemplate const* baseTemplate = sObjectMgr->GetCreatureTemplate(entry); - ASSERT(baseTemplate); - - // find out which template we'd be using - CreatureTemplate const* actTemplate = baseTemplate; - for (uint8 diff = uint8(map->GetSpawnMode()); diff > 0;) - { - if (uint32 diffEntry = baseTemplate->DifficultyEntry[diff - 1]) - if (CreatureTemplate const* diffTemplate = sObjectMgr->GetCreatureTemplate(diffEntry)) - { - actTemplate = diffTemplate; - break; - } - if (diff >= RAID_DIFFICULTY_10MAN_HEROIC && map->IsRaid()) - diff -= 2; - else - diff -= 1; - } - - uint32 scriptId = baseTemplate->ScriptID; - if (cData && cData->scriptId) - scriptId = cData->scriptId; - - GET_SCRIPT_RET(CreatureScript, scriptId, tmpscript, true); - return tmpscript->CanSpawn(spawnId, entry, baseTemplate, actTemplate, cData, map); -} - CreatureAI* ScriptMgr::GetCreatureAI(Creature* creature) { ASSERT(creature); diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h index bc7e75ca91b..39a51c3be6d 100644 --- a/src/server/game/Scripting/ScriptMgr.h +++ b/src/server/game/Scripting/ScriptMgr.h @@ -417,9 +417,6 @@ class TC_GAME_API CreatureScript : public UnitScript public: - // Called when the creature tries to spawn. Return false to block spawn and re-evaluate on next tick. - virtual bool CanSpawn(ObjectGuid::LowType /*spawnId*/, uint32 /*entry*/, CreatureTemplate const* /*baseTemplate*/, CreatureTemplate const* /*actTemplate*/, CreatureData const* /*cData*/, Map const* /*map*/) const { return true; } - // Called when a CreatureAI object is needed for the creature. virtual CreatureAI* GetAI(Creature* /*creature*/) const = 0; }; @@ -920,7 +917,6 @@ class TC_GAME_API ScriptMgr public: /* CreatureScript */ - bool CanSpawn(ObjectGuid::LowType spawnId, uint32 entry, CreatureData const* cData, Map const* map); CreatureAI* GetCreatureAI(Creature* creature); public: /* GameObjectScript */ |
