1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
/* End sequence */
#appendto Sequence
func Outro_Start(object plane)
{
// Player closest to plane becomes outro protagonist
this.plane = plane;
this.hero = plane->FindObject(Find_ID(Clonk), Find_Not(Find_Owner(NO_OWNER)), plane->Sort_Distance());
SetPlayerZoomByViewRange(NO_OWNER, 200,100, PLRZOOM_Set | PLRZOOM_LimitMax);
SetViewTarget(this.hero);
npc_pyrit.has_sequence = true; // Pyrit stops hammering
return ScheduleNext(5);
}
func Outro_1()
{
Dialogue->SetSpeakerDirs(this.hero, npc_pyrit);
MessageBoxAll("$Outro1$", this.hero, true); // how 2 fly plane?
return ScheduleNext(200);
}
func Outro_2()
{
Dialogue->SetSpeakerDirs(this.hero, npc_pyrit);
MessageBoxAll("$Outro2$", npc_pyrit, true); // i c u r well prepared
return ScheduleNext(200);
}
func Outro_3()
{
MessageBoxAll("$Outro3$", npc_pyrit, true); // dun worry. me b pilot
return ScheduleNext(200);
}
func Outro_4()
{
MessageBoxAll("$Outro4$", this.hero, true); // let's go then
return ScheduleNext(150);
}
func Outro_5()
{
// Pyrit enters plane. Rest leaves to make sure Pyrit is pilot.
var clonk;
while (clonk = this.plane->FindContents(Clonk)) clonk->Exit();
npc_pyrit->SetCommand("Enter", this.plane);
return ScheduleNext(30);
}
func Outro_6()
{
if (npc_pyrit->Contained() != this.plane) return ScheduleSame(5);
// After Pyrit is inside, rest enters freely
this.plane->PlaneMount(npc_pyrit);
this.plane->SetEntrance(true);
for (var clonk in this.plane->FindObjects(this.plane->Find_AtRect(-60,-30,120,60), Find_ID(Clonk), Find_Not(Find_Owner(NO_OWNER))))
clonk->SetCommand("Enter", this.plane);
return ScheduleNext(100);
}
func Outro_7()
{
this.plane->FaceRight();
this.plane->StartFlight(15);
return ScheduleNext(100);
}
func Outro_8()
{
this.plane->ContainedLeft(npc_pyrit);
return ScheduleNext(100);
}
func Outro_9()
{
return Stop();
}
func Outro_Stop()
{
GameOver();
return true;
}
|