change airplane id (Plane -> Airplane)

This is for a better distinguising between the Plane property and the airplane
shapetextures
Maikel de Vries 2015-11-21 20:53:19 +01:00
parent d63015065c
commit 338f3bca9d
35 changed files with 64 additions and 64 deletions

View File

@ -1,5 +1,5 @@
[DefCore]
id=Goal_Plane
id=Goal_Airplane
Version=6,0
Category=C4D_StaticBack|C4D_Goal
Picture=0,0,128,128

View File

@ -1,5 +1,5 @@
/*--
Plane goal
Airplane goal
Author: Maikel
The plane has to be retrieved and transported back to the pilot.
@ -24,10 +24,10 @@ public func IsFulfilled()
var cabin = FindObject(Find_ID(WoodenCabin));
if (!cabin)
return false;
var plane = FindObject(Find_ID(Plane));
var plane = FindObject(Find_ID(Airplane));
if (!plane)
return false;
// Plane has to be brought to the wooden cabin.
// Airplane has to be brought to the wooden cabin.
if (ObjectDistance(plane, cabin) < 200)
{
is_outro_stated = true;
@ -59,7 +59,7 @@ public func Activate(int byplr)
public func GetShortDescription(int plr)
{
return "{{Plane}}"; // TODO
return "{{Airplane}}"; // TODO
}
public func SetFulfilled()

View File

@ -23,7 +23,7 @@ func DoInit(int first_player)
if (windmill) windmill->SetOwner(first_player);
// Goal
CreateObject(Goal_Plane);
CreateObject(Goal_Airplane);
// Rules
CreateObject(Rule_TeamAccount, 50, 50);

View File

@ -4,7 +4,7 @@
func Intro_Init()
{
this.plane = CreateObjectAbove(Plane, 0, 400);
this.plane = CreateObjectAbove(Airplane, 0, 400);
this.plane->SetColor(0xa04000);
this.pilot = npc_pyrit = CreateObjectAbove(Clonk, 100, 100, NO_OWNER);
this.pilot->MakeInvincible();
@ -254,7 +254,7 @@ func Intro_Stop()
SetPlayerZoomByViewRange(NO_OWNER, 400,300, PLRZOOM_Set);
// Turn and relocate the airplane to make starting it easier.
var plane = FindObject(Find_ID(Plane));
var plane = FindObject(Find_ID(Airplane));
if (plane)
{
plane->FaceLeft();

View File

@ -6,7 +6,7 @@ static npc_pyrit, g_cannon, g_cannoneer;
func Intro_Init()
{
this.plane = CreateObjectAbove(Plane, 0, 800);
this.plane = CreateObjectAbove(Airplane, 0, 800);
this.plane->SetColor(0xa04000);
this.plane.health = 9999999;
this.plane.intro_seq = this;
@ -179,7 +179,7 @@ func Intro_PlaneHit()
npc_pyrit->Exit(0,-5, 0, -1, -2);
npc_pyrit->SetAction("Tumble");
this.Hit = this.intro_seq.plane_Hit;
this.MeshTransformation=Trans_Mul(Trans_Rotate(10,0,2,1), Plane.MeshTransformation);
this.MeshTransformation=Trans_Mul(Trans_Rotate(10,0,2,1), Airplane.MeshTransformation);
this.intro_seq->ScheduleNext(50);
SetObjectLayer(this); // plane is broken
return true;

View File

@ -12,7 +12,7 @@ func Intro_Start()
this.intro_skyscroll_xdir = -10;
SetSkyParallax(0, 20, 20, this.intro_skyscroll_xdir, 0);
this.plane = CreateObjectAbove(Plane, 500, 200);
this.plane = CreateObjectAbove(Airplane, 500, 200);
this.plane->SetColor(0xa04000);
this.pilot = CreateObjectAbove(Clonk, 100, 100, NO_OWNER);
this.pilot->MakeInvincible();
@ -42,7 +42,7 @@ func Intro_Start()
func Intro_PlaneTimer(...)
{
// Plane flight overload: Just move sky and have plane do turbulent movement during initial part of intro
var rv = Call(Plane.FxIntPlaneTimer, ...);
var rv = Call(Airplane.FxIntPlaneTimer, ...);
if (g_intro_sky_moving)
{
if (!Random(4)) this.rdir = BoundBy((80+Random(21)-GetR())/5,-1,1);

View File

@ -34,7 +34,7 @@ func Outro_4()
{
this.communicator->StopCommunication();
MessageBoxAll("$Outro3$", this.hero, true); // i wonder if anyone has heard us
this.plane = CreateObjectAbove(Plane, 100, main_island_y-100);
this.plane = CreateObjectAbove(Airplane, 100, main_island_y-100);
this.plane->SetContactDensity(85); // only collision with brick for proper landing
this.pilot = CreateObjectAbove(Clonk, 100, 100);
this.pilot->MakeInvincible();

View File

@ -42,7 +42,7 @@ func DoInit(int first_player)
tree.ChopDown = Scenario.Tree_Chopdown;
//tree->ChopDown();
}
//g_attack_done = true; GetCrew()->SetPosition(npc_pyrit->GetX(), npc_pyrit->GetY()); GetCrew()->CreateObjectAbove(Plane); GetCrew()->CreateObjectAbove(MetalBarrel);
//g_attack_done = true; GetCrew()->SetPosition(npc_pyrit->GetX(), npc_pyrit->GetY()); GetCrew()->CreateObjectAbove(Airplane); GetCrew()->CreateObjectAbove(MetalBarrel);
//GetCrew()->CreateContents(Shovel);
return true;
}
@ -66,7 +66,7 @@ func InitializePlayer(int plr)
// Ensure flag has owner
if (g_flagpole && g_flagpole->GetOwner()<0) g_flagpole->SetOwner(plr);
// Late join stuff
if (g_pyrit_spoken) SetPlrKnowledge(plr, Plane);
if (g_pyrit_spoken) SetPlrKnowledge(plr, Airplane);
// Join intro listening or regular scenario
SetPlayerViewLock(plr, true);
JoinPlayer(plr);

View File

@ -102,7 +102,7 @@ func Dlg_Pyrit_15(object clonk)
SetBroadcast(false);
StopDialogue();
SetDialogueProgress(16);
SetPlrKnowledge(NO_OWNER, Plane);
SetPlrKnowledge(NO_OWNER, Airplane);
// many NPCs get new texts now
Dialogue->FindByTarget(npc_newton)->SetDialogueProgress(200, nil, true);
Dialogue->FindByTarget(npc_mave)->SetDialogueProgress(100, nil, true);
@ -115,7 +115,7 @@ func Dlg_Pyrit_15(object clonk)
func CheckOilAtPlane()
{
var barrel;
for (var plane in FindObjects(Find_ID(Plane)))
for (var plane in FindObjects(Find_ID(Airplane)))
if (barrel = plane->FindObject(plane->Find_AtRect(-30,-10,60,20), Find_ID(MetalBarrel)))
{
RemoveTimer(Scenario.CheckOilAtPlane);

View File

@ -15,7 +15,7 @@ func Exit(...)
// dropping at plane? then put into plane
if (Contained() && Contained()->GetAlive())
{
var plane = FindObject(Find_ID(Plane), Find_AtPoint());
var plane = FindObject(Find_ID(Airplane), Find_AtPoint());
if (plane)
{
ScheduleCall(nil, Global.GameCall, 1,1, "OnPlaneLoaded", plane, this);

View File

@ -1,4 +1,4 @@
#appendto Plane
#appendto Airplane
func Initialize(...)
{

View File

@ -21,7 +21,7 @@ func Attack_1()
this.planes = CreateArray(n_planes);
for (var i=0; i<n_planes; ++i)
{
var plane = CreateObjectAbove(Plane, plane_x[i], plane_y[i]);
var plane = CreateObjectAbove(Airplane, plane_x[i], plane_y[i]);
var pilot = CreateObjectAbove(Clonk, plane_x[i], plane_y[i]);
pilot->SetSkin(2);
pilot->Enter(plane);

View File

@ -130,15 +130,15 @@ func InitializeObjects()
Chest006->SetClrModulation(0xd0ffffff);
var Chest007 = CreateObjectAbove(Chest, 212, 406);
CreateObjectAbove(Plane_Construction, 272, 415);
CreateObjectAbove(Airplane_Construction, 272, 415);
var Plane_Wings001 = CreateObject(Plane_Wings, 600, 118);
var Plane_Wings001 = CreateObject(Airplane_Wings, 600, 118);
Plane_Wings001->SetR(117);
var Plane_Skids001 = CreateObject(Plane_Skids, 457, 887);
var Plane_Skids001 = CreateObject(Airplane_Skids, 457, 887);
Plane_Skids001->SetR(13);
var Plane_Chassis001 = CreateObject(Plane_Chassis, 908, 960);
var Plane_Chassis001 = CreateObject(Airplane_Chassis, 908, 960);
Plane_Chassis001->SetR(-18);
Chest004->CreateContents(Rock, 4);
@ -177,7 +177,7 @@ func InitializeObjects()
Chest003->CreateContents(GoldBar, 3);
Chest006->CreateContents(GoldBar);
var Plane_Propeller001 = CreateObject(Plane_Propeller, 1031, 329);
var Plane_Propeller001 = CreateObject(Airplane_Propeller, 1031, 329);
Plane_Propeller001->SetR(20);
Chest002->CreateContents(Firestone, 3);

View File

@ -1,5 +1,5 @@
[DefCore]
id=Plane_Chassis
id=Airplane_Chassis
Version=6,0
Category=C4D_Vehicle
Width=60

View File

@ -1,5 +1,5 @@
[DefCore]
id=Plane_Construction
id=Airplane_Construction
Version=6,0
Category=C4D_Structure
Width=60
@ -11,6 +11,6 @@ VertexY=14,14
VertexFriction=100,100
Value=200
Mass=4000
Components=Plane_Propeller=1;Plane_Chassis=1;Plane_Skids=1;Plane_Engine=1;Plane_Wings=1;
Components=Airplane_Propeller=1;Airplane_Chassis=1;Airplane_Skids=1;Airplane_Engine=1;Airplane_Wings=1;
Construction=0
Rotate=0

View File

@ -1,5 +1,5 @@
[DefCore]
id=Plane_Engine
id=Airplane_Engine
Version=6,0
Category=C4D_Object
Width=13

View File

@ -1,5 +1,5 @@
[DefCore]
id=Plane_Propeller
id=Airplane_Propeller
Version=6,0
Category=C4D_Object
Width=9

View File

@ -15,7 +15,7 @@ public func Initialize()
func SetProgress(int new_progress)
{
var parts = [Plane_Skids, Plane_Chassis, Plane_Wings, Plane_Engine, Plane_Propeller, nil];
var parts = [Airplane_Skids, Airplane_Chassis, Airplane_Wings, Airplane_Engine, Airplane_Propeller, nil];
progress = new_progress;
if (!progress)
{

View File

@ -1,5 +1,5 @@
[DefCore]
id=Plane_Skids
id=Airplane_Skids
Version=6,0
Category=C4D_Vehicle
Width=38

View File

@ -1,5 +1,5 @@
[DefCore]
id=Plane_Wings
id=Airplane_Wings
Version=6,0
Category=C4D_Vehicle
Width=10

View File

@ -16,7 +16,7 @@ private func Initialize()
public func IsFulfilled()
{
return ObjectCount(Find_ID(Plane));
return ObjectCount(Find_ID(Airplane));
}
public func GetDescription(int plr)
@ -48,15 +48,15 @@ public func Activate(int byplr)
public func GetShortDescription(int plr)
{
var next_part = Plane_Skids;
var next_part = Airplane_Skids;
if (progress == 1)
next_part = Plane_Chassis;
next_part = Airplane_Chassis;
if (progress == 2)
next_part = Plane_Wings;
next_part = Airplane_Wings;
if (progress == 3)
next_part = Plane_Engine;
next_part = Airplane_Engine;
if (progress == 4)
next_part = Plane_Propeller;
next_part = Airplane_Propeller;
return Format("{{%i}}", next_part);
}

View File

@ -13,28 +13,28 @@ ValueOverloads=Nugget=10;GoldBar=50;
[Player1]
Wealth=50,0,0,250
Crew=Clonk=2
Knowledge=Plane_Engine=1;Scaffold=1;Foundry=1;ToolsWorkshop=1;ChemicalLab=1;WindGenerator=1;Flagpole=1;Sawmill=1;Elevator=1;Basement=1;Lorry=1;Pickaxe=1;Axe=1;Hammer=1;Shovel=1;ToolsWorkshop_SplitFirestone=1;Barrel=1;Dynamite=1;DynamiteBox=1;Pump=1;Chest=1
Knowledge=Airplane_Engine=1;Scaffold=1;Foundry=1;ToolsWorkshop=1;ChemicalLab=1;WindGenerator=1;Flagpole=1;Sawmill=1;Elevator=1;Basement=1;Lorry=1;Pickaxe=1;Axe=1;Hammer=1;Shovel=1;ToolsWorkshop_SplitFirestone=1;Barrel=1;Dynamite=1;DynamiteBox=1;Pump=1;Chest=1
BaseMaterial=Loam=99;Wood=5;Metal=3;Shovel=2;Axe=2;Hammer=2;Clonk=5;Bread=5;Firestone=5
BaseProduction=Loam=10;Wood=5;Metal=3;Shovel=2;Axe=2;Hammer=2;Clonk=5;Bread=5;Firestone=5
[Player2]
Wealth=50,0,0,250
Crew=Clonk=2
Knowledge=Plane_Engine=1;Scaffold=1;Foundry=1;ToolsWorkshop=1;ChemicalLab=1;WindGenerator=1;Flagpole=1;Sawmill=1;Elevator=1;Basement=1;Lorry=1;Pickaxe=1;Axe=1;Hammer=1;Shovel=1;ToolsWorkshop_SplitFirestone=1;Barrel=1;Dynamite=1;DynamiteBox=1;Pump=1;Chest=1
Knowledge=Airplane_Engine=1;Scaffold=1;Foundry=1;ToolsWorkshop=1;ChemicalLab=1;WindGenerator=1;Flagpole=1;Sawmill=1;Elevator=1;Basement=1;Lorry=1;Pickaxe=1;Axe=1;Hammer=1;Shovel=1;ToolsWorkshop_SplitFirestone=1;Barrel=1;Dynamite=1;DynamiteBox=1;Pump=1;Chest=1
BaseMaterial=Loam=99;Wood=5;Metal=3;Shovel=2;Axe=2;Hammer=2;Clonk=5;Bread=5;Firestone=5
BaseProduction=Loam=10;Wood=5;Metal=3;Shovel=2;Axe=2;Hammer=2;Clonk=5;Bread=5;Firestone=5
[Player3]
Wealth=50,0,0,250
Crew=Clonk=2
Knowledge=Plane_Engine=1;Scaffold=1;Foundry=1;ToolsWorkshop=1;ChemicalLab=1;WindGenerator=1;Flagpole=1;Sawmill=1;Elevator=1;Basement=1;Lorry=1;Pickaxe=1;Axe=1;Hammer=1;Shovel=1;ToolsWorkshop_SplitFirestone=1;Barrel=1;Dynamite=1;DynamiteBox=1;Pump=1;Chest=1
Knowledge=Airplane_Engine=1;Scaffold=1;Foundry=1;ToolsWorkshop=1;ChemicalLab=1;WindGenerator=1;Flagpole=1;Sawmill=1;Elevator=1;Basement=1;Lorry=1;Pickaxe=1;Axe=1;Hammer=1;Shovel=1;ToolsWorkshop_SplitFirestone=1;Barrel=1;Dynamite=1;DynamiteBox=1;Pump=1;Chest=1
BaseMaterial=Loam=99;Wood=5;Metal=3;Shovel=2;Axe=2;Hammer=2;Clonk=5;Bread=5;Firestone=5
BaseProduction=Loam=10;Wood=5;Metal=3;Shovel=2;Axe=2;Hammer=2;Clonk=5;Bread=5;Firestone=5
[Player4]
Wealth=50,0,0,250
Crew=Clonk=2
Knowledge=Plane_Engine=1;Scaffold=1;Foundry=1;ToolsWorkshop=1;ChemicalLab=1;WindGenerator=1;Flagpole=1;Sawmill=1;Elevator=1;Basement=1;Lorry=1;Pickaxe=1;Axe=1;Hammer=1;Shovel=1;ToolsWorkshop_SplitFirestone=1;Barrel=1;Dynamite=1;DynamiteBox=1;Pump=1;Chest=1
Knowledge=Airplane_Engine=1;Scaffold=1;Foundry=1;ToolsWorkshop=1;ChemicalLab=1;WindGenerator=1;Flagpole=1;Sawmill=1;Elevator=1;Basement=1;Lorry=1;Pickaxe=1;Axe=1;Hammer=1;Shovel=1;ToolsWorkshop_SplitFirestone=1;Barrel=1;Dynamite=1;DynamiteBox=1;Pump=1;Chest=1
BaseMaterial=Loam=99;Wood=5;Metal=3;Shovel=2;Axe=2;Hammer=2;Clonk=5;Bread=5;Firestone=5
BaseProduction=Loam=10;Wood=5;Metal=3;Shovel=2;Axe=2;Hammer=2;Clonk=5;Bread=5;Firestone=5

View File

@ -60,7 +60,7 @@ func InitializePlayer(int plr)
func OnPlaneFinished(object plane)
{
// todo: outro
plane->CreateObjectAbove(Plane, 0,0, NO_OWNER);
plane->CreateObjectAbove(Airplane, 0,0, NO_OWNER);
plane->RemoveObject();
}

View File

@ -84,13 +84,13 @@ func FxPyritHammeringTimer(object c, proplist fx, int time)
var fc = FrameCounter();
if (fc < this.anim_continue_frame || c.has_sequence) return FX_OK;
this.anim = 0;
if (!fx.plane) if (!(fx.plane = FindObject(Find_ID(Plane), Sort_Distance()))) return FX_OK;
if (!fx.plane) if (!(fx.plane = FindObject(Find_ID(Airplane), Sort_Distance()))) return FX_OK;
// After a while, the plane is finished. Prefer to finish while no players are nearby.
if ((fc > 11500 && !ObjectCount(Find_ID(Clonk), Find_InRect(-300,-200,600,400), Find_Not(Find_Owner(NO_OWNER)))) || fc > 24000)
{
fx.plane->SetMeshMaterial(Plane->GetMeshMaterial());
fx.plane->SetMeshMaterial(Airplane->GetMeshMaterial());
fx.plane->SetR(90);
fx.plane.MeshTransformation=Plane.MeshTransformation;
fx.plane.MeshTransformation=Airplane.MeshTransformation;
return FX_Execute_Kill;
}
if ((!Random(20)) || this.was_walk_interrupted)

View File

@ -5,7 +5,7 @@ func Exit(...)
// dropping at plane? then put into plane
if (Contained() && Contained()->GetAlive())
{
var plane = FindObject(Find_ID(Plane), Find_AtPoint());
var plane = FindObject(Find_ID(Airplane), Find_AtPoint());
if (plane)
{
ScheduleCall(nil, Global.GameCall, 1,1, "OnPlaneLoaded", plane, this);

View File

@ -1,4 +1,4 @@
#appendto Plane
#appendto Airplane
// plane needs oil
public func ContainedUp(object clonk, ...)

View File

@ -7,7 +7,7 @@ static npc_pyrit, g_goal;
func Intro_Init(object flagpole)
{
// Fix plane outside landscape for now
this.plane = CreateObjectAbove(Plane, 100,-20);
this.plane = CreateObjectAbove(Airplane, 100,-20);
this.plane->FaceRight();
this.plane->SetR(80);
this.plane->SetColor(0xa04000);
@ -105,7 +105,7 @@ func Intro_PlaneHit()
}
}
SetMeshMaterial("CrashedAirplane");
this.MeshTransformation=Trans_Mul(Trans_Rotate(10,0,2,1), Plane.MeshTransformation);
this.MeshTransformation=Trans_Mul(Trans_Rotate(10,0,2,1), Airplane.MeshTransformation);
this.Hit = this.intro_seq.plane_Hit;
this.intro_seq.plane_crashed = true;
this.intro_seq->ScheduleNext(50);

View File

@ -11,7 +11,7 @@ func Outro_Start(object plane)
SetViewTarget(GetHero());
npc_pyrit.has_sequence = true; // Pyrit stops hammering
this.plane->SetR(90); // in case Pyrit isn't done yet
this.plane.MeshTransformation=Plane.MeshTransformation;
this.plane.MeshTransformation=Airplane.MeshTransformation;
var max_unstick = 10;
while (this.plane->Stuck() && max_unstick--) this.plane->SetPosition(this.plane->GetX(), this.plane->GetY()-1);
return ScheduleNext(5);

View File

@ -1,5 +1,5 @@
[DefCore]
id=Plane
id=Airplane
Version=6,0
Category=C4D_Vehicle
Width=40

View File

@ -12,8 +12,8 @@ private func Initialize()
PlaceObjects(Loam,25,"Earth");
PlaceObjects(Nugget,25,"Earth");
AddEffect("PlaneReset",CreateObjectAbove(Plane,3030,315,0),100,10,nil,nil);
AddEffect("PlaneReset",CreateObjectAbove(Plane,3160,315,1),100,10,nil,nil);
AddEffect("PlaneReset",CreateObjectAbove(Airplane,3030,315,0),100,10,nil,nil);
AddEffect("PlaneReset",CreateObjectAbove(Airplane,3160,315,1),100,10,nil,nil);
Doors();
@ -89,7 +89,7 @@ global func FxAutoOpenTimer(object pTarget, effect, int timer)
{
if (!effect.fired)
{
if (FindObject(Find_ID(Plane),Find_InRect(2710,310,130,40)))
if (FindObject(Find_ID(Airplane),Find_InRect(2710,310,130,40)))
{
effect.fired = true;
var cannons = FindObjects(Find_ID(Cannon));
@ -100,7 +100,7 @@ global func FxAutoOpenTimer(object pTarget, effect, int timer)
}
}
}
if(FindObject(Find_ID(Plane),Find_InRect(0,0,2000,500)))
if(FindObject(Find_ID(Airplane),Find_InRect(0,0,2000,500)))
{
pTarget->OpenDoor();
return FX_Execute_Kill;

View File

@ -123,7 +123,7 @@ global func GivePlayerAirKnowledge(int plr)
// Shipyard to construct the vehicles.
Shipyard,
// Airship and plane.
Airship, Plane
Airship, Airplane
];
for (var plan in knowledge)
SetPlrKnowledge(plr, plan);

View File

@ -5,7 +5,7 @@
public func Intro_Init()
{
// Create an airplane with pilot and fly it towards the peak.
this.airplane = CreateObjectAbove(Plane, 24, LandscapeHeight() - 480);
this.airplane = CreateObjectAbove(Airplane, 24, LandscapeHeight() - 480);
this.pilot = CreateObjectAbove(Clonk, 24, LandscapeHeight() - 480);
this.pilot->SetName("$PilotName$");
this.pilot->SetSkin(2);

View File

@ -91,7 +91,7 @@ protected func InitializePlayer(int plr)
global func FxGoalCheckTimer(object target, proplist effect)
{
// Complete goal if there is an airplane with the required amount of gold bars.
for (var plane in FindObjects(Find_ID(Plane), Find_Not(Find_Func("IsBroken"))))
for (var plane in FindObjects(Find_ID(Airplane), Find_Not(Find_Func("IsBroken"))))
{
if (plane->ContentsCount(GoldBar) >= effect.barcnt)
{

View File

@ -1,6 +1,6 @@
// The airplane acts as a container for gold bars and starting material.
#appendto Plane
#appendto Airplane
public func IsContainer() { return true; }

View File

@ -13,7 +13,7 @@ public func Intro_Init(int difficulty)
lava_y++;
// Create an airplane with pilot and fly it towards the peak.
this.airplane = CreateObjectAbove(Plane, LandscapeWidth() / 2 - 564, lava_y - 176);
this.airplane = CreateObjectAbove(Airplane, LandscapeWidth() / 2 - 564, lava_y - 176);
this.pilot = CreateObjectAbove(Clonk, LandscapeWidth() / 2 - 564, lava_y - 176);
this.pilot->SetName("$PilotName$");
this.pilot->SetSkin(2);
@ -140,7 +140,7 @@ public func Intro_6()
public func Intro_PlaneHit()
{
// Plane hit ground! Continue sequence.
// Airplane hit ground! Continue sequence.
Sound("PlaneCrash", true);
var particles = Particles_Smoke(true);
particles.Size = PV_Linear(PV_Random(20, 60), PV_Random(50, 100));
@ -163,7 +163,7 @@ public func Intro_PlaneHit()
// Stop plane movement and rotate for crash effect.
SetXDir(0);
this.Hit = this.intro_seq.plane_hit;
this.MeshTransformation=Trans_Mul(Trans_Rotate(10,0,2,1), Plane.MeshTransformation);
this.MeshTransformation = Trans_Mul(Trans_Rotate(10,0,2,1), Airplane.MeshTransformation);
this.intro_seq->ScheduleNext(50);
return true;
}