Merge pull request #27 from Chuck5ta/develop21

Creature sleeping script altered
This commit is contained in:
Charles A Edwards 2015-05-28 12:07:29 +01:00
commit 64b9a02abc

View File

@ -39,6 +39,7 @@
*/ */
#include "precompiled.h" #include "precompiled.h"
#include "GameEventMgr.h"
/*###### /*######
## mob_yenniku ## mob_yenniku
@ -136,9 +137,16 @@ struct mob_yenniku : public CreatureScript
## PANTHERS: Shadowmaw Panther (684), Elder Shadowmaw Panther (1713), Young Panther (683), Panther (736) ## PANTHERS: Shadowmaw Panther (684), Elder Shadowmaw Panther (1713), Young Panther (683), Panther (736)
######*/ ######*/
enum
{
SPELL_SLEEP_DND = 25148, // zzzZZZ animation - not implemented yet, due to removal failing!
EVENT_ID = 3, // Nights
};
struct mob_sleeping_creature : public CreatureScript struct mob_sleeping_creature : public CreatureScript
{ {
mob_sleeping_creature() : CreatureScript("mob_sleeping_creature") {} mob_sleeping_creature() : CreatureScript("mob_sleeping_creature") {}
struct mob_sleeping_creatureAI : public ScriptedAI struct mob_sleeping_creatureAI : public ScriptedAI
{ {
@ -154,7 +162,7 @@ struct mob_sleeping_creature : public CreatureScript
// go to sleep if it is night time (9pm to 5am) // go to sleep if it is night time (9pm to 5am)
time_t t = sWorld.GetGameTime(); time_t t = sWorld.GetGameTime();
struct tm *tmp = gmtime(&t); struct tm *tmp = gmtime(&t);
if (tmp->tm_hour >= 21 || tmp->tm_hour < 5) if (sGameEventMgr.IsActiveEvent(EVENT_ID))
{ {
// search area for nearby player characters // search area for nearby player characters
Map::PlayerList const& players = m_creature->GetMap()->GetPlayers(); Map::PlayerList const& players = m_creature->GetMap()->GetPlayers();
@ -182,6 +190,7 @@ struct mob_sleeping_creature : public CreatureScript
// no players nearby, therefore send the creature to sleep // no players nearby, therefore send the creature to sleep
m_creature->SetStandState(UNIT_STAND_STATE_SLEEP); m_creature->SetStandState(UNIT_STAND_STATE_SLEEP);
m_creature->GetMotionMaster()->MoveIdle(); m_creature->GetMotionMaster()->MoveIdle();
// DoCastSpellIfCan(m_creature, SPELL_SLEEP_DND); // zzzZZZ animation
} }
} }