aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Outland
diff options
context:
space:
mode:
authorNay <dnpd.dd@gmail.com>2013-01-28 01:04:37 +0000
committerNay <dnpd.dd@gmail.com>2013-01-28 01:04:37 +0000
commitb404e0bec1d39a90a516ed935d882faa47e54a04 (patch)
tree575ae3ed3c0a631dc8a1b2ca2f824161c65e73b1 /src/server/scripts/Outland
parenta3d07b5e6ac45c23ec4116028c4bccae9307083b (diff)
parentda080ac4e796be6039a239b7e035ead02e73b333 (diff)
Merge remote-tracking branch 'origin/master' into 4.3.4
Conflicts: dep/PackageList.txt src/server/game/Battlegrounds/Battleground.cpp src/server/game/Combat/ThreatManager.cpp src/server/game/Entities/Object/Object.cpp src/server/game/Entities/Player/Player.cpp src/server/game/Entities/Unit/Unit.cpp src/server/game/Handlers/BattleGroundHandler.cpp src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp src/server/game/Movement/Spline/MoveSplineInit.cpp src/server/game/Spells/Auras/SpellAuraEffects.cpp src/server/game/Spells/SpellEffects.cpp src/server/game/World/World.cpp src/server/game/World/World.h src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h src/server/scripts/Spells/spell_druid.cpp src/server/scripts/Spells/spell_mage.cpp src/server/scripts/Spells/spell_paladin.cpp src/server/scripts/Spells/spell_priest.cpp src/server/scripts/Spells/spell_rogue.cpp src/server/scripts/Spells/spell_shaman.cpp src/server/scripts/Spells/spell_warlock.cpp src/server/scripts/Spells/spell_warrior.cpp src/tools/map_extractor/CMakeLists.txt src/tools/map_extractor/System.cpp src/tools/map_extractor/loadlib.cpp src/tools/map_extractor/mpq_libmpq.cpp src/tools/map_extractor/mpq_libmpq04.h src/tools/vmap4_assembler/CMakeLists.txt src/tools/vmap4_extractor/CMakeLists.txt src/tools/vmap4_extractor/mpq_libmpq.cpp src/tools/vmap4_extractor/mpq_libmpq04.h
Diffstat (limited to 'src/server/scripts/Outland')
-rw-r--r--src/server/scripts/Outland/zone_shadowmoon_valley.cpp75
1 files changed, 52 insertions, 23 deletions
diff --git a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
index 0a016f0923c..a1bfc0a090a 100644
--- a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
+++ b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
@@ -661,6 +661,7 @@ class npc_karynaku : public CreatureScript
/*####
# npc_overlord_morghor
+# this whole script is wrong and needs a rewrite.even the illidan npc used is the wrong one.npc id 23467 may be the correct one
####*/
enum eOverlordData
{
@@ -766,7 +767,7 @@ public:
Player* player = Unit::GetPlayer(*me, PlayerGUID);
Creature* Illi = Creature::GetCreature(*me, IllidanGUID);
- if (!player || !Illi)
+ if (!player)
{
EnterEvadeMode();
return 0;
@@ -794,14 +795,21 @@ public:
return 2000;
break;
case 5:
- Illi->SetVisible(true);
- Illi->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
+ if (Illi)
+ {
+ Illi->SetVisible(true);
+ Illi->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
+ Illi->SetDisplayId(21526);
+ }
return 350;
break;
case 6:
- Illi->CastSpell(Illi, SPELL_ONE, true);
- Illi->SetTarget(me->GetGUID());
- me->SetTarget(IllidanGUID);
+ if (Illi)
+ {
+ Illi->CastSpell(Illi, SPELL_ONE, true);
+ Illi->SetTarget(me->GetGUID());
+ me->SetTarget(IllidanGUID);
+ }
return 2000;
break;
case 7:
@@ -810,10 +818,15 @@ public:
break;
case 8:
me->SetUInt32Value(UNIT_FIELD_BYTES_1, 8);
- return 9000;
+ return 2500;
+ break;
+ case 9:
+ // missing text "Lord Illidan, this is the Dragonmaw that I, and others, have told you about. He will lead us to victory!"
+ return 5000;
break;
case 10:
- Illi->AI()->Talk(LORD_ILLIDAN_SAY_1);
+ if (Illi)
+ Illi->AI()->Talk(LORD_ILLIDAN_SAY_1);
return 5000;
break;
case 11:
@@ -821,42 +834,53 @@ public:
return 6000;
break;
case 12:
- Illi->AI()->Talk(LORD_ILLIDAN_SAY_2);
+ if (Illi)
+ Illi->AI()->Talk(LORD_ILLIDAN_SAY_2);
return 5500;
break;
case 13:
- Illi->AI()->Talk(LORD_ILLIDAN_SAY_3);
+ if (Illi)
+ Illi->AI()->Talk(LORD_ILLIDAN_SAY_3);
return 4000;
break;
case 14:
- Illi->SetTarget(PlayerGUID);
+ if (Illi)
+ Illi->SetTarget(PlayerGUID);
return 1500;
break;
case 15:
- Illi->AI()->Talk(LORD_ILLIDAN_SAY_4);
+ if (Illi)
+ Illi->AI()->Talk(LORD_ILLIDAN_SAY_4);
return 1500;
break;
case 16:
- Illi->CastSpell(player, SPELL_TWO, true);
+ if (Illi)
+ Illi->CastSpell(player, SPELL_TWO, true);
player->RemoveAurasDueToSpell(SPELL_THREE);
player->RemoveAurasDueToSpell(SPELL_FOUR);
return 5000;
break;
case 17:
- Illi->AI()->Talk(LORD_ILLIDAN_SAY_5);
+ if (Illi)
+ Illi->AI()->Talk(LORD_ILLIDAN_SAY_5);
return 5000;
break;
case 18:
- Illi->AI()->Talk(LORD_ILLIDAN_SAY_6);
+ if (Illi)
+ Illi->AI()->Talk(LORD_ILLIDAN_SAY_6);
return 5000;
break;
case 19:
- Illi->AI()->Talk(LORD_ILLIDAN_SAY_7);
+ if (Illi)
+ Illi->AI()->Talk(LORD_ILLIDAN_SAY_7);
return 5000;
break;
case 20:
- Illi->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF);
- Illi->SetDisableGravity(true);
+ if (Illi)
+ {
+ Illi->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF);
+ Illi->SetDisableGravity(true);
+ }
return 500;
break;
case 21:
@@ -864,8 +888,11 @@ public:
return 500;
break;
case 22:
- Illi->SetVisible(false);
- Illi->setDeathState(JUST_DIED);
+ if (Illi)
+ {
+ Illi->SetVisible(false);
+ Illi->setDeathState(JUST_DIED);
+ }
return 1000;
break;
case 23:
@@ -886,7 +913,7 @@ public:
break;
case 27:
{
- Unit* Yarzill = me->FindNearestCreature(C_YARZILL, 50);
+ Unit* Yarzill = me->FindNearestCreature(C_YARZILL, 50.0f);
if (Yarzill)
Yarzill->SetTarget(PlayerGUID);
return 500;
@@ -921,9 +948,11 @@ public:
}
break;
case 32:
- me->GetMotionMaster()->MovePoint(0, -5085.77f, 577.231f, 86.6719f); return 5000;
+ me->GetMotionMaster()->MovePoint(0, -5085.77f, 577.231f, 86.6719f);
+ return 5000;
break;
case 33:
+ me->SetTarget(0);
Reset();
return 100;
break;
@@ -940,7 +969,7 @@ public:
if (ConversationTimer <= diff)
{
- if (Event && IllidanGUID && PlayerGUID)
+ if (Event && PlayerGUID)
ConversationTimer = NextStep(++Step);
} else ConversationTimer -= diff;
}