Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

start fix quest 24707

maximillian can't help, core bug..
the elite dragon is to heavy for one player..
  • Loading branch information...
commit aaa506e5ea8a02f950bfb2dfd29a617b1872089d 1 parent 843dd3a
@gpn39f gpn39f authored
View
15 sql/updates/world/2014_02_26_02_misc.sql
@@ -0,0 +1,15 @@
+
+-- crater un'goro
+
+-- wrong auras
+update creature_template_addon set auras="" where entry=38238;
+update creature_template_addon set auras="" where entry=38239;
+update creature_template_addon set auras="71442" where entry=38240;
+
+-- missing KillCredit
+update creature_template set KillCredit1=38708 where entry=38346;
+
+-- wrong faction
+update creature_template set faction_A=14,faction_H=14 where entry in (6501,6502);
+update creature_template set faction_A=634,faction_H=634 where entry in (38346,38708);
+
View
53 src/server/scripts/Kalimdor/zone_ungoro_crater.cpp
@@ -59,6 +59,7 @@ enum UnGoroCrater
NPC_PIMENTO_MAXIMILLIANS_STEED = 38373,
QUEST_THE_BALLAD_OF_MAXIMILLIAN = 24707,
+ NPC_DEVILSAUR_QUEEN = 38346,
};
@@ -211,6 +212,7 @@ class npc_maximillian_of_northshire_2 : public CreatureScript
TalkWithDamselCliffs(diff);
TalkWithDamselNorth(diff);
TalkWithSpirits(diff);
+ HelpPlayerOnFightWithDragonQueen(diff);
if (!UpdateVictim())
return;
@@ -224,15 +226,14 @@ class npc_maximillian_of_northshire_2 : public CreatureScript
if (!_player->IsInCombat()) return;
if (me->IsInCombat()) return;
- return;
+ // core bug.. core allways rise a reset if AttackStart is calling, so this script is not executed
- if (_targetOfPlayer==0)
- if (_targetOfPlayer = _player->GetMap()->GetCreature(_player->GetTarget()))
- {
- me->SetReactState(REACT_AGGRESSIVE);
- AttackStart(_targetOfPlayer);
- printf("Trigger AttackStart \n");
- }
+ if (Unit* playerTarget = _player->GetSelectedUnit())
+ {
+ // now he help allways.. bether is to select only dragons.. ToDo: if core is fixed
+ me->SetReactState(REACT_AGGRESSIVE);
+ AttackStart(playerTarget);
+ }
}
void TalkWithDamselShore(uint32 diff)
@@ -533,6 +534,26 @@ class npc_maximillian_of_northshire_2 : public CreatureScript
}
}
+ void HelpPlayerOnFightWithDragonQueen(uint32 diff)
+ {
+ if (!_player) return;
+ if (!_player->IsInCombat()) return;
+ if (me->IsInCombat()) return;
+
+ // core bug.. core allways rise a reset if AttackStart is calling, so this script is not executed
+
+ if (Unit* playerTarget = _player->GetSelectedUnit())
+ {
+ if (playerTarget->GetEntry() == NPC_DEVILSAUR_QUEEN)
+ {
+ if (_player->GetQuestStatus(QUEST_THE_BALLAD_OF_MAXIMILLIAN) == QUEST_STATUS_INCOMPLETE)
+ {
+ me->SetReactState(REACT_AGGRESSIVE);
+ AttackStart(playerTarget);
+ }
+ }
+ }
+ }
};
CreatureAI* GetAI(Creature* creature) const OVERRIDE
@@ -559,13 +580,15 @@ class npc_maximillian_of_northshire : public CreatureScript
Creature* max = creature->FindNearestCreature(NPC_MAXIMILLIAN_OF_NORDSHIRE_2, 10.0f, true);
if (!max)
{
- bool b=false;
- if (player->GetQuestStatus(QUEST_THE_EVIL_DRAGONS_OF_UNGORO_CRATER) == QUEST_STATUS_INCOMPLETE) b=true;
- if (player->GetQuestStatus(QUEST_DAMSELS_WHERE_MADE_TO_BE_SAVED) == QUEST_STATUS_INCOMPLETE) b=true;
- if (player->GetQuestStatus(QUEST_THE_SPIRITS_OF_GOLAKKA_HOT_SPRINGS) == QUEST_STATUS_INCOMPLETE) b=true;
- if (player->GetQuestStatus(QUEST_THE_BALLAD_OF_MAXIMILLIAN) == QUEST_STATUS_INCOMPLETE) b=true;
- if (player->GetQuestStatus(QUEST_AN_IMPORTANT_LESSION) != QUEST_STATUS_COMPLETE) b=false;
- if(b) SummonMaximillian(player,creature);
+ if (player->GetQuestStatus(QUEST_AN_IMPORTANT_LESSION) == QUEST_STATUS_REWARDED)
+ {
+ bool b=false;
+ if (player->GetQuestStatus(QUEST_THE_EVIL_DRAGONS_OF_UNGORO_CRATER) == QUEST_STATUS_INCOMPLETE) b=true;
+ if (player->GetQuestStatus(QUEST_DAMSELS_WHERE_MADE_TO_BE_SAVED) == QUEST_STATUS_INCOMPLETE) b=true;
+ if (player->GetQuestStatus(QUEST_THE_SPIRITS_OF_GOLAKKA_HOT_SPRINGS) == QUEST_STATUS_INCOMPLETE) b=true;
+ if (player->GetQuestStatus(QUEST_THE_BALLAD_OF_MAXIMILLIAN) == QUEST_STATUS_INCOMPLETE) b=true;
+ if(b) SummonMaximillian(player,creature);
+ }
}
if (player->GetQuestStatus(QUEST_AN_IMPORTANT_LESSION) == QUEST_STATUS_COMPLETE)
Please sign in to comment.
Something went wrong with that request. Please try again.