aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <none@none>2010-08-27 18:11:21 +0200
committerShauren <none@none>2010-08-27 18:11:21 +0200
commit5fbc8f1de41958cbcbbf5d1c9a3457b3a2075284 (patch)
tree5d1b6b5a4286f6e947462b0096795687abc67f99 /src
parentf1d4933dcbcc343181c2402de9797f67fb710cd0 (diff)
Scripts/Icecrown Citadel: Added hacky workaround for teleporting spells because their default target is not supported by current grid system
Scripts/Icecrown Citadel: Mark Gunship event as complete on Lady Deathwhisper's death (temporary, until transport system will fully allow scripting the event) --HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Spells/Spell.cpp4
-rw-r--r--src/server/game/Spells/SpellMgr.cpp13
-rw-r--r--src/server/game/World/World.cpp6
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp1
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp4
5 files changed, 21 insertions, 7 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 69987f962fc..c6616d0625b 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -2221,7 +2221,7 @@ void Spell::SelectEffectTargets(uint32 i, uint32 cur)
Unit *target = m_targets.getUnitTarget();
if (!target)
{
- sLog.outError("SPELL: no unit target for spell ID %u\n", m_spellInfo->Id);
+ sLog.outError("SPELL: no unit target for spell ID %u", m_spellInfo->Id);
break;
}
@@ -2264,7 +2264,7 @@ void Spell::SelectEffectTargets(uint32 i, uint32 cur)
{
if (!m_targets.HasDst())
{
- sLog.outError("SPELL: no destination for spell ID %u\n", m_spellInfo->Id);
+ sLog.outError("SPELL: no destination for spell ID %u", m_spellInfo->Id);
break;
}
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index 01cb2d6d243..6b3ec145b2e 100644
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -3862,6 +3862,19 @@ void SpellMgr::LoadSpellCustomAttr()
mSpellCustomAttr[i] |= SPELL_ATTR_CU_IGNORE_ARMOR;
count++;
break;
+ // THESE SPELLS ARE WORKING CORRECTLY EVEN WITHOUT THIS HACK
+ // THE ONLY REASON ITS HERE IS THAT CURRENT GRID SYSTEM
+ // DOES NOT ALLOW FAR OBJECT SELECTION (dist > 333)
+ case 70781: // Light's Hammer Teleport
+ case 70856: // Oratory of the Damned Teleport
+ case 70857: // Rampart of Skulls Teleport
+ case 70858: // Deathbringer's Rise Teleport
+ case 70859: // Upper Spire Teleport
+ case 70860: // Frozen Throne Teleport
+ case 70861: // Sindragosa's Lair Teleport
+ spellInfo->EffectImplicitTargetA[0] = TARGET_DST_DB;
+ count++;
+ break;
default:
break;
}
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp
index 8a47cbdcc93..cc5391fc9a9 100644
--- a/src/server/game/World/World.cpp
+++ b/src/server/game/World/World.cpp
@@ -1449,15 +1449,15 @@ void World::SetInitialWorldSettings()
sLog.outString("Loading Graveyard-zone links...");
sObjectMgr.LoadGraveyardZones();
- sLog.outString("Loading Spell target coordinates...");
- sSpellMgr.LoadSpellTargetPositions();
-
sLog.outString("Loading spell pet auras...");
sSpellMgr.LoadSpellPetAuras();
sLog.outString("Loading spell extra attributes...");
sSpellMgr.LoadSpellCustomAttr();
+ sLog.outString("Loading Spell target coordinates...");
+ sSpellMgr.LoadSpellTargetPositions();
+
sLog.outString("Loading enchant custom attributes...");
sSpellMgr.LoadEnchantCustomAttr();
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp
index 2eaaf96820d..100440237bb 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp
@@ -63,6 +63,7 @@ class icecrown_citadel_teleport : public GameObjectScript
bool OnGossipSelect(Player* player, GameObject* go, uint32 sender, uint32 action)
{
+ player->CLOSE_GOSSIP_MENU();
SpellEntry const* spell = sSpellStore.LookupEntry(action);
if (!spell)
return false;
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
index 236642e414c..dbf8ced0c48 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
@@ -207,8 +207,8 @@ class instance_icecrown_citadel : public InstanceMapScript
switch (data)
{
case DONE:
- // TEMPORARY, UNCOMMMENT IF YOU WANT TO DO SAURFANG AND SKIP GUNSHIP
- //uiEncounterState[DATA_GUNSHIP_EVENT] = DONE;
+ // TEMPORARY, SKIP GUNSHIP
+ uiEncounterState[DATA_GUNSHIP_EVENT] = DONE;
HandleGameObject(uiOratoryDoor, true);
if (GameObject* elevator = instance->GetGameObject(uiLadyDeathwisperElevator))
{