aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/FULL/world_script_texts.sql21
-rw-r--r--sql/updates/7300_world_script_texts.sql30
-rw-r--r--src/game/InstanceSaveMgr.cpp16
-rw-r--r--src/scripts/northrend/draktharon_keep/boss_novos.cpp3
-rw-r--r--src/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp1
-rw-r--r--src/scripts/northrend/draktharon_keep/boss_trollgore.cpp1
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,