diff options
-rw-r--r-- | sql/FULL/world_script_texts.sql | 21 | ||||
-rw-r--r-- | sql/updates/7300_world_script_texts.sql | 30 | ||||
-rw-r--r-- | src/game/InstanceSaveMgr.cpp | 16 | ||||
-rw-r--r-- | src/scripts/northrend/draktharon_keep/boss_novos.cpp | 3 | ||||
-rw-r--r-- | src/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp | 1 | ||||
-rw-r--r-- | src/scripts/northrend/draktharon_keep/boss_trollgore.cpp | 1 |
6 files changed, 67 insertions, 5 deletions
diff --git a/sql/FULL/world_script_texts.sql b/sql/FULL/world_script_texts.sql index bba3674d538..4c21fccc28c 100644 --- a/sql/FULL/world_script_texts.sql +++ b/sql/FULL/world_script_texts.sql @@ -1894,6 +1894,27 @@ INSERT INTO `script_texts` (`npc_entry`,`entry`,`content_default`,`content_loc1` (33993,-1590001,'A Tempest Minion appears to defend Emalon!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,3,0,0,'emalon EMOTE_MINION_RESPAWN'), (33993,-1590002,'Archavon the Stone Watcher goes into a berserker rage!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,2,0,0,'archavon EMOTE_BERSERK'), +-- -1 600 000 DRAK'THARON KEEP + (26631,-1600000,'The chill that you feel is the herald of your doom!',null,null,null,null,null,null,null,null,13173,1,0,0,'novos SAY_AGGRO'), + (26631,-1600001,'Such is the fate of all who oppose the Lich King.',null,null,null,null,null,null,null,null,13175,1,0,0,'novos SAY_KILL'), + (26631,-1600002,'Your efforts... are in vain.',null,null,null,null,null,null,null,null,13174,1,0,0,'novos SAY_DEATH'), + (26631,-1600003,'Bolster my defenses! Hurry, curse you!',null,null,null,null,null,null,null,null,13176,1,0,0,'novos SAY_NECRO_ADD'), + (26631,-1600004,'Surely you can see the futility of it all!',null,null,null,null,null,null,null,null,13177,1,0,0,'novos SAY_REUBBLE_1'), + (26631,-1600005,'Just give up and die already!',null,null,null,null,null,null,null,null,13178,1,0,0,'novos SAY_REUBBLE_2'), + (26630,-1600006,'More grunts, more glands, more FOOD!',null,null,null,null,null,null,null,null,13181,1,0,0,'trollgore SAY_AGGRO'), + (26630,-1600007,'You have gone, me gonna eat you!',null,null,null,null,null,null,null,null,13185,1,0,0,'trollgore SAY_KILL'), + (26630,-1600008,'So hungry! Must feed!',null,null,null,null,null,null,null,null,13182,1,0,0,'trollgore SAY_CONSUME'), + (26630,-1600009,'Corpse go boom!',null,null,null,null,null,null,null,null,13184,1,0,0,'trollgore SAY_EXPLODE'), + (26630,-1600010,'Aaaargh...',null,null,null,null,null,null,null,null,13183,1,0,0,'trollgore SAY_DEATH'), + (26632,-1600011,'Tharon''ja sees all! The work of mortals shall not end the eternal dynasty!',null,null,null,null,null,null,null,null,13862,1,0,0,'tharon''ja SAY_AGGRO'), + (26632,-1600012,'As Tharon''ja predicted.',null,null,null,null,null,null,null,null,13863,1,0,0,'tharon''ja SAY_KILL_1'), + (26632,-1600013,'As it was written.',null,null,null,null,null,null,null,null,13864,1,0,0,'tharon''ja SAY_KILL_2'), + (26632,-1600014,'Your flesh serves Tharon''ja now!',null,null,null,null,null,null,null,null,13865,1,0,0,'tharon''ja SAY_FLESH_1'), + (26632,-1600015,'Tharon''ja has a use for your mortal shell!',null,null,null,null,null,null,null,null,13866,1,0,0,'tharon''ja SAY_FLESH_2'), + (26632,-1600016,'No! A taste... all too brief!',null,null,null,null,null,null,null,null,13867,1,0,0,'tharon''ja SAY_SKELETON_1'), + (26632,-1600017,'Tharon''ja will have more!',null,null,null,null,null,null,null,null,13868,1,0,0,'tharon''ja SAY_SKELETON_2'), + (26632,-1600018,'I''m... impossible! Tharon''ja is eternal! Tharon''ja... is...',null,null,null,null,null,null,null,null,13869,1,0,0,'tharon''ja SAY_DEATH'), + -- -1 601 000 AZJOL-NERUB (28684,-1601000, 'This kingdom belongs to the Scourge! Only the dead may enter.', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 1, 0, 0, 'SAY_AGGRO boss_krik_thir'), (28684,-1601001, 'You were foolish to come.', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 1, 0, 0, 'SAY_SLAY_1 boss_krik_thir'), diff --git a/sql/updates/7300_world_script_texts.sql b/sql/updates/7300_world_script_texts.sql new file mode 100644 index 00000000000..5f722209173 --- /dev/null +++ b/sql/updates/7300_world_script_texts.sql @@ -0,0 +1,30 @@ +-- Novos +DELETE FROM `script_texts` WHERE `entry` in (-1600000,-1600001,-1600002,-1600003,-1600004,-1600005); +INSERT INTO `script_texts` (`npc_entry`,`entry`,`content_default`,`content_loc1`,`content_loc2`,`content_loc3`,`content_loc4`,`content_loc5`,`content_loc6`,`content_loc7`,`content_loc8`,`sound`,`type`,`language`,`emote`,`comment`) VALUES +(26631,-1600000,'The chill that you feel is the herald of your doom!',null,null,null,null,null,null,null,null,13173,1,0,0,'novos SAY_AGGRO'), +(26631,-1600001,'Such is the fate of all who oppose the Lich King.',null,null,null,null,null,null,null,null,13175,1,0,0,'novos SAY_KILL'), +(26631,-1600002,'Your efforts... are in vain.',null,null,null,null,null,null,null,null,13174,1,0,0,'novos SAY_DEATH'), +(26631,-1600003,'Bolster my defenses! Hurry, curse you!',null,null,null,null,null,null,null,null,13176,1,0,0,'novos SAY_NECRO_ADD'), +(26631,-1600004,'Surely you can see the futility of it all!',null,null,null,null,null,null,null,null,13177,1,0,0,'novos SAY_REUBBLE_1'), +(26631,-1600005,'Just give up and die already!',null,null,null,null,null,null,null,null,13178,1,0,0,'novos SAY_REUBBLE_2'); + +-- Trollgore +DELETE FROM `script_texts` WHERE `entry` in (-1600006,-1600007,-1600008,-1600009,-1600010); +INSERT INTO `script_texts` (`npc_entry`,`entry`,`content_default`,`content_loc1`,`content_loc2`,`content_loc3`,`content_loc4`,`content_loc5`,`content_loc6`,`content_loc7`,`content_loc8`,`sound`,`type`,`language`,`emote`,`comment`) VALUES +(26630,-1600006,'More grunts, more glands, more FOOD!',null,null,null,null,null,null,null,null,13181,1,0,0,'trollgore SAY_AGGRO'), +(26630,-1600007,'You have gone, me gonna eat you!',null,null,null,null,null,null,null,null,13185,1,0,0,'trollgore SAY_KILL'), +(26630,-1600008,'So hungry! Must feed!',null,null,null,null,null,null,null,null,13182,1,0,0,'trollgore SAY_CONSUME'), +(26630,-1600009,'Corpse go boom!',null,null,null,null,null,null,null,null,13184,1,0,0,'trollgore SAY_EXPLODE'), +(26630,-1600010,'Aaaargh...',null,null,null,null,null,null,null,null,13183,1,0,0,'trollgore SAY_DEATH'); + +-- Tharon'ja +DELETE FROM `script_texts` WHERE `entry` in (-1600011,-1600012,-1600013,-1600014,-1600015,-1600016,-1600017,-1600018); +INSERT INTO `script_texts` (`npc_entry`,`entry`,`content_default`,`content_loc1`,`content_loc2`,`content_loc3`,`content_loc4`,`content_loc5`,`content_loc6`,`content_loc7`,`content_loc8`,`sound`,`type`,`language`,`emote`,`comment`) VALUES +(26632,-1600011,'Tharon''ja sees all! The work of mortals shall not end the eternal dynasty!',null,null,null,null,null,null,null,null,13862,1,0,0,'tharon''ja SAY_AGGRO'), +(26632,-1600012,'As Tharon''ja predicted.',null,null,null,null,null,null,null,null,13863,1,0,0,'tharon''ja SAY_KILL_1'), +(26632,-1600013,'As it was written.',null,null,null,null,null,null,null,null,13864,1,0,0,'tharon''ja SAY_KILL_2'), +(26632,-1600014,'Your flesh serves Tharon''ja now!',null,null,null,null,null,null,null,null,13865,1,0,0,'tharon''ja SAY_FLESH_1'), +(26632,-1600015,'Tharon''ja has a use for your mortal shell!',null,null,null,null,null,null,null,null,13866,1,0,0,'tharon''ja SAY_FLESH_2'), +(26632,-1600016,'No! A taste... all too brief!',null,null,null,null,null,null,null,null,13867,1,0,0,'tharon''ja SAY_SKELETON_1'), +(26632,-1600017,'Tharon''ja will have more!',null,null,null,null,null,null,null,null,13868,1,0,0,'tharon''ja SAY_SKELETON_2'), +(26632,-1600018,'I''m... impossible! Tharon''ja is eternal! Tharon''ja... is...',null,null,null,null,null,null,null,null,13869,1,0,0,'tharon''ja SAY_DEATH');
\ No newline at end of file diff --git a/src/game/InstanceSaveMgr.cpp b/src/game/InstanceSaveMgr.cpp index 9e8cd3eb694..b94dbe38377 100644 --- a/src/game/InstanceSaveMgr.cpp +++ b/src/game/InstanceSaveMgr.cpp @@ -501,7 +501,9 @@ void InstanceSaveManager::LoadResetTimes() continue; // the reset_delay must be at least one day - uint32 period = (mapDiff->resetTime / DAY * sWorld.getRate(RATE_INSTANCE_RESET_TIME)) * DAY; + uint32 period = ((mapDiff->resetTime * sWorld.getRate(RATE_INSTANCE_RESET_TIME))/DAY) * DAY; + if (period < DAY) + period = DAY; time_t t = GetResetTimeFor(mapid,difficulty); if(!t) @@ -529,6 +531,8 @@ void InstanceSaveManager::LoadResetTimes() if(t - tim[type-1] > now) break; + ScheduleReset(true, t - tim[type-1], InstResetEvent(type, mapid, difficulty, -1)); + for(ResetTimeMapDiffInstances::const_iterator in_itr = mapDiffResetInstances.lower_bound(map_diff_pair); in_itr != mapDiffResetInstances.upper_bound(map_diff_pair); ++in_itr) { @@ -662,8 +666,16 @@ void InstanceSaveManager::_ResetOrWarnAll(uint32 mapid, Difficulty difficulty, b // calculate the next reset time uint32 diff = sWorld.getConfig(CONFIG_INSTANCE_RESET_TIME_HOUR) * HOUR; - uint32 period = mapDiff->resetTime * DAY; + + uint32 period = ((mapDiff->resetTime * sWorld.getRate(RATE_INSTANCE_RESET_TIME))/DAY) * DAY; + if (period < DAY) + period = DAY; + uint64 next_reset = ((now + timeLeft + MINUTE) / DAY * DAY) + period + diff; + + SetResetTimeFor(mapid, difficulty, next_reset); + ScheduleReset(true, time_t(next_reset-3600), InstResetEvent(1, mapid, difficulty, -1)); + // update it in the DB CharacterDatabase.PExecute("UPDATE instance_reset SET resettime = '"UI64FMTD"' WHERE mapid = '%d' AND difficulty = '%d'", next_reset, mapid, difficulty); } diff --git a/src/scripts/northrend/draktharon_keep/boss_novos.cpp b/src/scripts/northrend/draktharon_keep/boss_novos.cpp index 17e1c022abf..2ea61e0dc92 100644 --- a/src/scripts/northrend/draktharon_keep/boss_novos.cpp +++ b/src/scripts/northrend/draktharon_keep/boss_novos.cpp @@ -159,7 +159,7 @@ struct boss_novosAI : public Scripted_NoMovementAI } else uiTimer -= diff; if (uiCrystalHandlerTimer <= diff) { - //TODO: say + DoScriptText(SAY_NECRO_ADD, m_creature); Creature *pCrystalHandler = m_creature->SummonCreature(CREATURE_CRYSTAL_HANDLER, CrystalHandlerSpawnPoint.x, CrystalHandlerSpawnPoint.y , CrystalHandlerSpawnPoint.z, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN,20000); pCrystalHandler->GetMotionMaster()->MovePoint(0, AddDestinyPoint.x, AddDestinyPoint.y, AddDestinyPoint.z); uiCrystalHandlerTimer = urand(20000,30000); @@ -178,6 +178,7 @@ struct boss_novosAI : public Scripted_NoMovementAI } void JustDied(Unit* killer) { + DoScriptText(SAY_DEATH, m_creature); if (pInstance) { pInstance->SetData(DATA_NOVOS_EVENT, DONE); diff --git a/src/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp b/src/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp index f374dc761b9..57e1bea1f70 100644 --- a/src/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp +++ b/src/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp @@ -60,7 +60,6 @@ enum PlayerSkills SPELL_PLAYER_PHASE2_TOUCH_OF_LIFE = 49617 }; */ -//not in db enum Yells { SAY_AGGRO = -1600011, diff --git a/src/scripts/northrend/draktharon_keep/boss_trollgore.cpp b/src/scripts/northrend/draktharon_keep/boss_trollgore.cpp index 00f72318ba1..8bea8bda8dc 100644 --- a/src/scripts/northrend/draktharon_keep/boss_trollgore.cpp +++ b/src/scripts/northrend/draktharon_keep/boss_trollgore.cpp @@ -42,7 +42,6 @@ enum Spells H_SPELL_CONSUME = SPELL_CONSUME_59803, H_SPELL_CONSUME_AURA = SPELL_CONSUME_59805, }; -//not in db enum Yells { SAY_AGGRO = -1600006, |