uint32 NextStep(uint32 Step) { Creature* Spark = Unit::GetCreature(*me, SparkGUID); switch(Step) { case 0: if (Spark) Spark->GetMotionMaster()->MovePoint(0, -5080.70f, -11253.61f, 0.56f); me->GetMotionMaster()->MovePoint(0, -5092.26f, -11252, 0.71f); return 9000; // NPCs are walking up to fire case 1: DespawnNagaFlag(true); DoScriptText(EMOTE_SPARK, Spark); return 1000; case 2: DoScriptText(GEEZLE_SAY_1, me, Spark); if (Spark) { Spark->SetInFront(me); me->SetInFront(Spark); } return 5000; case 3: DoScriptText(SPARK_SAY_2, Spark); return 7000; case 4: DoScriptText(SPARK_SAY_3, Spark); return 8000; case 5: DoScriptText(GEEZLE_SAY_4, me, Spark); return 8000; case 6: DoScriptText(SPARK_SAY_5, Spark); return 9000; case 7: DoScriptText(SPARK_SAY_6, Spark); return 8000; case 8: DoScriptText(GEEZLE_SAY_7, me, Spark); return 2000; case 9: me->GetMotionMaster()->MoveTargetedHome(); if (Spark) Spark->GetMotionMaster()->MovePoint(0, SparkPos[0], SparkPos[1], SparkPos[2]); CompleteQuest(); return 9000; case 10: if (Spark) Spark->DisappearAndDie(); DespawnNagaFlag(false); me->DisappearAndDie(); default: return 99999999; } }
uint32 NextStep(uint8 Step) { Creature* Spark = ObjectAccessor::GetCreature(*me, SparkGUID); if (!Spark) { me->DespawnOrUnsummon(1); return 5000; } switch (Step) { case 0: Spark->GetMotionMaster()->MovePoint(0, -5080.70f, -11253.61f, 0.56f); me->GetMotionMaster()->MovePoint(0, -5092.26f, -11252, 0.71f); return 9000; case 1: DespawnNagaFlag(true); Spark->AI()->Talk(EMOTE_SPARK); return 1000; case 2: Talk(GEEZLE_SAY_1, Spark); Spark->SetInFront(me); me->SetInFront(Spark); return 5000; case 3: Spark->AI()->Talk(SPARK_SAY_2); return 7000; case 4: Spark->AI()->Talk(SPARK_SAY_3); return 8000; case 5: Talk(GEEZLE_SAY_4, Spark); return 8000; case 6: Spark->AI()->Talk(SPARK_SAY_5); return 9000; case 7: Spark->AI()->Talk(SPARK_SAY_6); return 8000; case 8: Talk(GEEZLE_SAY_7, Spark); return 2000; case 9: me->GetMotionMaster()->MoveTargetedHome(); Spark->GetMotionMaster()->MovePoint(0, SparkPos); CompleteQuest(); return 9000; case 10: Spark->DespawnOrUnsummon(1); DespawnNagaFlag(false); me->DespawnOrUnsummon(1); return 5000; default: return 99999999; } }
uint32 NextStep(uint32 Step) { Creature* Spark = Unit::GetCreature((*me), SparkGUID); if (!Spark) return 99999999; switch (Step) { case 0: return 99999; case 1: DespawnNagaFlag(true); // @todo: this emote doesnt seem to include Spark's name DoScriptText(EMOTE_SPARK, Spark); return 1000; case 2: DoScriptText(GEEZLE_SAY_1, me, Spark); Spark->SetInFront(me); me->SetInFront(Spark); return 5000; case 3: DoScriptText(SPARK_SAY_2, Spark); return 7000; case 4: DoScriptText(SPARK_SAY_3, Spark); return 8000; case 5: DoScriptText(GEEZLE_SAY_4, me, Spark); return 8000; case 6: DoScriptText(SPARK_SAY_5, Spark); return 9000; case 7: DoScriptText(SPARK_SAY_6, Spark); return 8000; case 8: DoScriptText(GEEZLE_SAY_7, me, Spark); return 2000; case 9: me->GetMotionMaster()->MoveTargetedHome(); Spark->GetMotionMaster()->MovePoint(0, -5030.95f, -11291.99f, 7.97f); CompleteQuest(); return 9000; case 10: Spark->DisappearAndDie(); DespawnNagaFlag(false); me->DisappearAndDie(); default: return 99999999; } }