aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBlaymoira <none@none>2009-01-01 20:53:49 +0100
committerBlaymoira <none@none>2009-01-01 20:53:49 +0100
commit95d6015cb0b4801fca2a617d5d2209091433f750 (patch)
tree4879fd27adc8fbb24d2dc21faf60d11b6e5954fe
parent657b4257b2bf476d5655c692fa47a294da1edf5e (diff)
*Support for quest 8490
--HG-- branch : trunk
-rw-r--r--sql/updates/748_world_scripts.sql3
-rw-r--r--src/bindings/scripts/scripts/zone/eversong_woods/eversong_woods.cpp16
2 files changed, 7 insertions, 12 deletions
diff --git a/sql/updates/748_world_scripts.sql b/sql/updates/748_world_scripts.sql
new file mode 100644
index 00000000000..484c71f3199
--- /dev/null
+++ b/sql/updates/748_world_scripts.sql
@@ -0,0 +1,3 @@
+update creature_template set scriptname='npc_infused_crystal', flags_extra=0 where entry=16364;
+update quest_template set specialflags=2, reqcreatureorgoid1=1, reqcreatureorgocount1=1 where entry=8490;
+delete from creature where id=17086; \ No newline at end of file
diff --git a/src/bindings/scripts/scripts/zone/eversong_woods/eversong_woods.cpp b/src/bindings/scripts/scripts/zone/eversong_woods/eversong_woods.cpp
index be74291fe3d..1126352de8c 100644
--- a/src/bindings/scripts/scripts/zone/eversong_woods/eversong_woods.cpp
+++ b/src/bindings/scripts/scripts/zone/eversong_woods/eversong_woods.cpp
@@ -672,25 +672,21 @@ struct TRINITY_DLL_DECL npc_infused_crystalAI : public Scripted_NoMovementAI
void Reset()
{
- EndTimer = 60000;
+ EndTimer = 0;
Completed = false;
- Progress = true;
+ Progress = false;
PlayerGUID = 0;
- WaveTimer = 1000;
+ WaveTimer = 0;
}
void Aggro(Unit* who){}
void MoveInLineOfSight(Unit* who)
{
- PlayerGUID = who->GetGUID();
- error_log("MoveLos");
- if( who->GetTypeId() == TYPEID_PLAYER && !m_creature->canStartAttack(who) )
+ if( who->GetTypeId() == TYPEID_PLAYER && !m_creature->canStartAttack(who) && !Progress)
{
- error_log("TypeId check");
if( ((Player*)who)->GetQuestStatus(QUEST_POWERING_OUR_DEFENSES) == QUEST_STATUS_INCOMPLETE )
{
- error_log("Queststaus");
float Radius = 10.0;
if( m_creature->IsWithinDistInMap(who, Radius) )
{
@@ -698,7 +694,6 @@ struct TRINITY_DLL_DECL npc_infused_crystalAI : public Scripted_NoMovementAI
WaveTimer = 1000;
EndTimer = 60000;
Progress = true;
- error_log("Event started");
}
}
}
@@ -730,11 +725,9 @@ struct TRINITY_DLL_DECL npc_infused_crystalAI : public Scripted_NoMovementAI
Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
if(player)
((Player*)player)->CompleteQuest(QUEST_POWERING_OUR_DEFENSES);
- error_log("quest complete");
}
m_creature->DealDamage(m_creature,m_creature->GetHealth(),NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
m_creature->RemoveCorpse();
- error_log("EndTimer done");
}else EndTimer -= diff;
if(WaveTimer < diff && !Completed && Progress)
@@ -746,7 +739,6 @@ struct TRINITY_DLL_DECL npc_infused_crystalAI : public Scripted_NoMovementAI
m_creature->SummonCreature(MOB_ENRAGED_WRAITH, SpawnLocations[ran2].x, SpawnLocations[ran2].y, SpawnLocations[ran2].z, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 10000);
m_creature->SummonCreature(MOB_ENRAGED_WRAITH, SpawnLocations[ran3].x, SpawnLocations[ran3].y, SpawnLocations[ran3].z, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 10000);
WaveTimer = 30000;
- error_log("Wave summon");
}else WaveTimer -= diff;
}
};