CreateObject/CreateObjectAbove (#1214)

Renamed CreateObject() to CreateObjectAbove() and replaced all occurrences in script files.
Added CreateObject(), the function may need a rewrite though, see comment in code.
Updated documentation
issue1247
Mark 2015-01-10 10:14:02 +01:00
parent 1c994ad3c7
commit 850bf1b9d4
214 changed files with 2364 additions and 2285 deletions

View File

@ -34,18 +34,23 @@
</param>
</params>
</syntax>
<desc>Creates an object of the specified type at the specified position. The position will be the bottom center of the new object. xoffset and yoffset are relative to the calling object in local calls, otherwiese global.</desc>
<desc>Creates an object of the specified type at the specified position. The position will be the center of the new object, so that the object is exactly at the specified coordinates if it is created in global context. xoffset and yoffset are relative to the calling object in local calls, otherwise global.</desc>
<examples>
<example>
<code>CreateObject(Wipf, 100,100, <funclink>NO_OWNER</funclink>);</code>
<text>Creates a wipf at coordinates 100/100 with no owner.</text>
</example>
</examples>
<remark>
The function behaviour has changed since version 6.0 OC: The offset of the object is now created at the specified position, not the bottom center. The old behaviour is used in <code><funclink>CreateObjectAbove</funclink></code>.
</remark>
<related>
<funclink>CreateConstruction</funclink>
<funclink>CreateContents</funclink>
<funclink>CreateObjectAbove</funclink>
<funclink>RemoveObject</funclink>
</related>
</func>
<author>springer</author><date>2002-04</date>
<author>Marky</author><date>2015-01</date>
</funcs>

View File

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE funcs
SYSTEM '../../../clonk.dtd'>
<?xml-stylesheet type="text/xsl" href="../../../clonk.xsl"?>
<funcs>
<func>
<title>CreateObjectAbove</title>
<category>Objects</category>
<subcat>Creation</subcat>
<version>6.0 OC</version>
<syntax>
<rtype>object</rtype>
<params>
<param>
<type>id</type>
<name>id</name>
<desc>Type of object to be created.</desc>
</param>
<param>
<type>int</type>
<name>xoffset</name>
<desc>X coordinate</desc>
</param>
<param>
<type>int</type>
<name>yoffset</name>
<desc>Y coordinate</desc>
</param>
<param>
<type>int</type>
<name>owner</name>
<desc>Owner of the new object. Either a valid player number or <code><funclink>NO_OWNER</funclink></code> for no owner. If not specified the owner is the controller (see <funclink>GetController</funclink>) of the calling object or <code>NO_OWNER</code> if the call is made without object context.</desc>
<optional />
</param>
</params>
</syntax>
<desc>Creates an object of the specified type at the specified position. The position will be the bottom center of the new object. xoffset and yoffset are relative to the calling object in local calls, otherwise global.</desc>
<examples>
<example>
<code>CreateObject(Wipf, 100,100, <funclink>NO_OWNER</funclink>);</code>
<text>Creates a wipf at coordinates 100/100 with no owner. If the landscape begins at y-coordinate 100, then the wipf will be stuck.</text>
<code>CreateObjectAbove(Wipf, 150,100, <funclink>NO_OWNER</funclink>);</code>
<text>Creates a wipf above coordinates 100/100 with no owner. This time the wipf should be standing on the landscape.</text>
</example>
</examples>
<related>
<funclink>CreateConstruction</funclink>
<funclink>CreateContents</funclink>
<funclink>CreateObject</funclink>
<funclink>RemoveObject</funclink>
</related>
</func>
<author>springer</author><date>2002-04</date>
<author>Marky</author><date>2015-01</date>
</funcs>

View File

@ -169,7 +169,7 @@ private func InitMaterials(int map_size)
var loc = FindLocation(Loc_Tunnel(), Loc_Wall(CNAT_Bottom));
if (!loc)
continue;
CreateObject([Shovel, Pickaxe][Random(2)], loc.x, loc.y)->SetR(Random(360));
CreateObjectAbove([Shovel, Pickaxe][Random(2)], loc.x, loc.y)->SetR(Random(360));
}
return;
}
@ -182,7 +182,7 @@ private func InitEnvironment(int map_size)
for (var side = -1; side <= 1; side += 2)
{
// Both sides of the cave are lighted for all players.
var torch = CreateObject(Torch, wdt / 2 + side * 50, hgt / 2 + 32);
var torch = CreateObjectAbove(Torch, wdt / 2 + side * 50, hgt / 2 + 32);
torch->AttachToWall(true);
}
return;
@ -196,7 +196,7 @@ private func InitLorries()
for (var index = GetLength(cave_list) - 1; index >= GetLength(cave_list) / 2; index--)
{
var cave = cave_list[index];
var lorry = CreateObject(Lorry, cave[0], cave[1]);
var lorry = CreateObjectAbove(Lorry, cave[0], cave[1]);
// Basic objects which are in every lorry.
lorry->CreateContents(Dynamite, RandomX(2, 4));
lorry->CreateContents(Loam, RandomX(2, 4));
@ -242,7 +242,7 @@ private func InitLorries()
for (var side = -1; side <= 1; side += 2)
{
// Create lorry with useful tools and weapons.
var lorry = CreateObject(Lorry, wdt / 2 + side * 50, hgt / 2 + 44);
var lorry = CreateObjectAbove(Lorry, wdt / 2 + side * 50, hgt / 2 + 44);
lorry->CreateContents(Bow, 2);
lorry->CreateContents(BombArrow, 4);
lorry->CreateContents(Boompack, 2);

View File

@ -9,9 +9,9 @@
protected func Initialize()
{
// Environment
CreateObject(Rule_ObjectFade)->DoFadeTime(10 * 36);
CreateObject(Environment_Celestial);
var time=CreateObject(Environment_Time);
CreateObjectAbove(Rule_ObjectFade)->DoFadeTime(10 * 36);
CreateObjectAbove(Environment_Celestial);
var time=CreateObjectAbove(Environment_Time);
time->SetTime();
time->SetCycleSpeed();
FindObject(Find_ID(Moon))->SetMoonPhase(3);
@ -19,35 +19,35 @@ protected func Initialize()
FindObject(Find_ID(Moon))->SetPosition(LandscapeWidth()/2,150);
// Goal: Capture the flag, with bases in both hideouts.
var goal = CreateObject(Goal_CaptureTheFlag, 0, 0, NO_OWNER);
var goal = CreateObjectAbove(Goal_CaptureTheFlag, 0, 0, NO_OWNER);
goal->SetFlagBase(1, 135, 266);
goal->SetFlagBase(2, LandscapeWidth() - 135, 266);
CreateObject(Rule_KillLogs);
CreateObjectAbove(Rule_KillLogs);
var gate = CreateObject(StoneDoor, 345, 272, NO_OWNER);
var gate = CreateObjectAbove(StoneDoor, 345, 272, NO_OWNER);
gate->SetClrModulation(RGB(140,185,255));
gate->SetAutoControl(1);
var gate = CreateObject(StoneDoor, LandscapeWidth()-344, 272, NO_OWNER);
var gate = CreateObjectAbove(StoneDoor, LandscapeWidth()-344, 272, NO_OWNER);
gate->SetClrModulation(RGB(140,185,255));
gate->SetAutoControl(2);
// Chests with weapons.
var chest;
chest = CreateObject(Chest, 60, 220, NO_OWNER);
chest = CreateObjectAbove(Chest, 60, 220, NO_OWNER);
chest->MakeInvincible();
AddEffect("FillBaseChest", chest, 100, 7 * 36,nil,nil,false);
chest = CreateObject(Chest, 150, 370, NO_OWNER);
chest = CreateObjectAbove(Chest, 150, 370, NO_OWNER);
chest->MakeInvincible();
AddEffect("FillBaseChest", chest, 100, 7 * 36,nil,nil,true);
chest = CreateObject(Chest, LandscapeWidth() - 60, 220, NO_OWNER);
chest = CreateObjectAbove(Chest, LandscapeWidth() - 60, 220, NO_OWNER);
chest->MakeInvincible();
AddEffect("FillBaseChest", chest, 100, 7 * 36,nil,nil,false);
chest = CreateObject(Chest, LandscapeWidth() - 150, 370, NO_OWNER);
chest = CreateObjectAbove(Chest, LandscapeWidth() - 150, 370, NO_OWNER);
chest->MakeInvincible();
AddEffect("FillBaseChest", chest, 100, 7 * 36,nil,nil,true);
chest = CreateObject(Chest, LandscapeWidth()/2, 320, NO_OWNER);
chest = CreateObjectAbove(Chest, LandscapeWidth()/2, 320, NO_OWNER);
chest->MakeInvincible();
AddEffect("FillOtherChest", chest, 100, 5 * 36);
@ -141,13 +141,13 @@ global func PlaceEdges()
var o=[1,0,3,2];
for (var i = 0; i < GetLength(x); i++)
{
var edge=CreateObject(BrickEdge, x[i], y[i] + 5, NO_OWNER);
var edge=CreateObjectAbove(BrickEdge, x[i], y[i] + 5, NO_OWNER);
edge->Initialize();
edge->SetP(d[i]);
edge->SetPosition(x[i],y[i]);
edge->PermaEdge();
edge=CreateObject(BrickEdge, x[i], y[i] + 5, NO_OWNER);
edge=CreateObjectAbove(BrickEdge, x[i], y[i] + 5, NO_OWNER);
edge->Initialize();
edge->SetP(o[d[i]]);
edge->SetPosition(LandscapeWidth()-x[i],y[i]);
@ -166,7 +166,7 @@ protected func InitializePlayer(int plr)
protected func OnPlayerRelaunch(int plr)
{
var clonk = GetCrew(plr);
var relaunch = CreateObject(RelaunchContainer, clonk->GetX(), clonk->GetY(), clonk->GetOwner());
var relaunch = CreateObjectAbove(RelaunchContainer, clonk->GetX(), clonk->GetY(), clonk->GetOwner());
relaunch->StartRelaunch(clonk);
relaunch->SetRelaunchTime(8, true);
return;
@ -260,7 +260,7 @@ global func CreateChestContents(id obj_id)
{
if (!this)
return;
var obj = CreateObject(obj_id);
var obj = CreateObjectAbove(obj_id);
if (obj_id == Bow)
obj->CreateContents(Arrow);
if (obj_id == Musket)

View File

@ -66,8 +66,8 @@ public func FxFrostboltTimer(pTarget, effect, iEffectTime)
)
)
{
CreateObject(Dynamite,x,y,effect.owner)->BlueExplode();
var dummy = CreateObject(Dummy,x,y,-1);
CreateObjectAbove(Dynamite,x,y,effect.owner)->BlueExplode();
var dummy = CreateObjectAbove(Dummy,x,y,-1);
dummy->Sound("GlassShatter");
ScheduleCall(dummy, "RemoveObject", 36);
for(var i=0; i<=60;i++)

View File

@ -11,7 +11,7 @@ public func FxMoveTimer(object target, effect, int time)
{
for (var i = 0; i < 3; i++)
{
var bubble = CreateObject(Fx_Bubble);
var bubble = CreateObjectAbove(Fx_Bubble);
bubble->SetCon(10 * target->GetCon() / 15);
bubble->SetYDir(target->GetYDir());
}
@ -25,4 +25,4 @@ public func FxMoveTimer(object target, effect, int time)
SetXDir(GetXDir() + 2 * Random(2) - 1);
return 1;
}
}

View File

@ -13,67 +13,67 @@ protected func Initialize()
PlaceGrass(185);
// Goal: Capture the flag, with bases in both hideouts.
var goal = CreateObject(Goal_CaptureTheFlag, 0, 0, NO_OWNER);
var goal = CreateObjectAbove(Goal_CaptureTheFlag, 0, 0, NO_OWNER);
goal->SetFlagBase(1, 120, 506);
goal->SetFlagBase(2, LandscapeWidth() - 120, 506);
// Rules
CreateObject(Rule_Restart);
CreateObject(Rule_ObjectFade)->DoFadeTime(5 * 36);
CreateObject(Rule_KillLogs);
CreateObject(Rule_Gravestones);
CreateObjectAbove(Rule_Restart);
CreateObjectAbove(Rule_ObjectFade)->DoFadeTime(5 * 36);
CreateObjectAbove(Rule_KillLogs);
CreateObjectAbove(Rule_Gravestones);
var lwidth = LandscapeWidth();
// Doors and spinwheels.
var gate, wheel;
gate = CreateObject(StoneDoor, 364, 448, NO_OWNER);
gate = CreateObjectAbove(StoneDoor, 364, 448, NO_OWNER);
DrawMaterialQuad("Tunnel-brickback", 360, 446, 360, 448, 368, 448, 368, 446);
gate->DoDamage(50); // Upper doors are easier to destroy
gate->SetAutoControl(1);
gate = CreateObject(StoneDoor, 340, 584, NO_OWNER);
gate = CreateObjectAbove(StoneDoor, 340, 584, NO_OWNER);
DrawMaterialQuad("Tunnel-brickback", 336, 582, 336, 584, 344, 584, 344, 582);
gate->SetAutoControl(1);
gate = CreateObject(StoneDoor, 692, 544, NO_OWNER);
gate = CreateObjectAbove(StoneDoor, 692, 544, NO_OWNER);
DrawMaterialQuad("Tunnel-brickback", 688, 542, 688, 544, 696, 544, 696, 542);
gate->DoDamage(80); // Middle doors even easier
wheel = CreateObject(SpinWheel, 660, 552, NO_OWNER);
wheel = CreateObjectAbove(SpinWheel, 660, 552, NO_OWNER);
wheel->SetStoneDoor(gate);
gate = CreateObject(StoneDoor, lwidth - 364, 448, NO_OWNER);
gate = CreateObjectAbove(StoneDoor, lwidth - 364, 448, NO_OWNER);
DrawMaterialQuad("Tunnel-brickback", lwidth - 361, 446, lwidth - 361, 448, lwidth - 365, 448, lwidth - 365, 446);
gate->DoDamage(50); // Upper doors are easier to destroy
gate->SetAutoControl(2);
gate = CreateObject(StoneDoor, lwidth - 340, 584, NO_OWNER);
gate = CreateObjectAbove(StoneDoor, lwidth - 340, 584, NO_OWNER);
DrawMaterialQuad("Tunnel-brickback", lwidth - 337, 582, lwidth - 337, 584, lwidth - 345, 584, lwidth - 345, 582);
gate->SetAutoControl(2);
gate = CreateObject(StoneDoor, lwidth - 692, 544, NO_OWNER);
gate = CreateObjectAbove(StoneDoor, lwidth - 692, 544, NO_OWNER);
DrawMaterialQuad("Tunnel-brickback", lwidth - 689, 542, lwidth - 689, 544, lwidth - 697, 544, lwidth - 697, 542);
gate->DoDamage(80); // Middle doors even easier
wheel = CreateObject(SpinWheel, lwidth - 660, 552, NO_OWNER);
wheel = CreateObjectAbove(SpinWheel, lwidth - 660, 552, NO_OWNER);
wheel->SetStoneDoor(gate);
// Chests with weapons.
var chest;
chest = CreateObject(Chest, 110, 592, NO_OWNER);
chest = CreateObjectAbove(Chest, 110, 592, NO_OWNER);
chest->MakeInvincible();
AddEffect("FillBaseChest", chest, 100, 6 * 36,nil,nil,true);
chest = CreateObject(Chest, 25, 464, NO_OWNER);
chest = CreateObjectAbove(Chest, 25, 464, NO_OWNER);
chest->MakeInvincible();
AddEffect("FillBaseChest", chest, 100, 6 * 36,nil,nil,false);
chest = CreateObject(Chest, 730, 408, NO_OWNER);
chest = CreateObjectAbove(Chest, 730, 408, NO_OWNER);
chest->MakeInvincible();
AddEffect("FillOtherChest", chest, 100, 6 * 36);
chest = CreateObject(Chest, lwidth - 110, 592, NO_OWNER);
chest = CreateObjectAbove(Chest, lwidth - 110, 592, NO_OWNER);
chest->MakeInvincible();
AddEffect("FillBaseChest", chest, 100, 6 * 36,nil,nil,true);
chest = CreateObject(Chest, lwidth - 25, 464, NO_OWNER);
chest = CreateObjectAbove(Chest, lwidth - 25, 464, NO_OWNER);
chest->MakeInvincible();
AddEffect("FillBaseChest", chest, 100, 6 * 36,nil,nil,false);
chest = CreateObject(Chest, lwidth - 730, 408, NO_OWNER);
chest = CreateObjectAbove(Chest, lwidth - 730, 408, NO_OWNER);
chest->MakeInvincible();
AddEffect("FillOtherChest", chest, 100, 6 * 36);
chest = CreateObject(Chest, lwidth/2, 512, NO_OWNER);
chest = CreateObjectAbove(Chest, lwidth/2, 512, NO_OWNER);
chest->MakeInvincible();
AddEffect("FillSpecialChest", chest, 100, 4 * 36);
@ -81,11 +81,11 @@ protected func Initialize()
// No Cannons
// Cannons loaded with 12 shots.
var cannon;
cannon = CreateObject(Cannon, 429, 444, NO_OWNER);
cannon = CreateObjectAbove(Cannon, 429, 444, NO_OWNER);
cannon->SetDir(DIR_Right);
cannon->SetR(15);
cannon->CreateContents(PowderKeg);
cannon = CreateObject(Cannon, lwidth - 429, 444, NO_OWNER);
cannon = CreateObjectAbove(Cannon, lwidth - 429, 444, NO_OWNER);
cannon->SetDir(DIR_Left);
cannon->SetR(-15);
cannon->CreateContents(PowderKeg);
@ -104,7 +104,7 @@ protected func InitializePlayer(int plr)
protected func OnPlayerRelaunch(int plr)
{
var clonk = GetCrew(plr);
var relaunch = CreateObject(RelaunchContainer, clonk->GetX(), clonk->GetY(), clonk->GetOwner());
var relaunch = CreateObjectAbove(RelaunchContainer, clonk->GetX(), clonk->GetY(), clonk->GetOwner());
relaunch->StartRelaunch(clonk);
relaunch->SetRelaunchTime(8, true);
return;
@ -212,7 +212,7 @@ global func CreateChestContents(id obj_id)
{
if (!this)
return;
var obj = CreateObject(obj_id);
var obj = CreateObjectAbove(obj_id);
if (obj_id == Bow)
obj->CreateContents(Arrow);
@ -240,9 +240,9 @@ func OnClonkDeath(object clonk, int killed_by)
// create a magic healing gem on Clonk death
if(Hostile(clonk->GetOwner(), killed_by))
{
var gem=clonk->CreateObject(LifeGem, 0, 0, killed_by);
var gem=clonk->CreateObjectAbove(LifeGem, 0, 0, killed_by);
if(GetPlayerTeam(killed_by) == 1)
gem->SetGraphics("E");
}
return _inherited(clonk, killed_by);
}
}

View File

@ -71,12 +71,12 @@ global func FxGemShieldCreationTimer(object target, effect, int time)
var clr=RGB(122+Random(20),18+Random(10),90+Random(20));
if(e)clr=RGB(190+Random(10),0,20+Random(20));
var shield=CreateObject(CrystalShield,x+Sin(time*7,35),y+Cos(time*7,35));
var shield=CreateObjectAbove(CrystalShield,x+Sin(time*7,35),y+Cos(time*7,35));
shield->SetR(-time*7);
shield->SetClrModulation(clr);
CreateParticle("MagicSpark", x+Sin(time*7,39),y+Cos(time*7,39), PV_Random(-10, 10), PV_Random(-10, 10), PV_Random(10, 20), effect.particles, 10);
var shield=CreateObject(CrystalShield,x-Sin(-7+time*7,35),y+Cos(-7+time*7,35));
var shield=CreateObjectAbove(CrystalShield,x-Sin(-7+time*7,35),y+Cos(-7+time*7,35));
shield->SetR(-7 + time*7);
shield->SetClrModulation(clr);
CreateParticle("MagicSpark", x-Sin(-7+time*7,39),y+Cos(-7+time*7,39), PV_Random(-10, 10), PV_Random(-10, 10), PV_Random(10, 20), effect.particles, 10);

View File

@ -8,7 +8,7 @@ func Initialize()
for (i=0; i<6; ++i)
if (pos=FindLocation(Loc_InRect(0,0,ls_wdt,ls_hgt/2-100), Loc_Wall(CNAT_Bottom))) // Loc_Wall adds us 100 pixels...
{
var chest = CreateObject(Chest,pos.x,pos.y);
var chest = CreateObjectAbove(Chest,pos.x,pos.y);
if (chest)
{
chest->CreateContents(Firestone,5);
@ -25,12 +25,12 @@ func Initialize()
for (i=0; i<30; ++i)
if (pos=FindLocation(Loc_InRect(0,0,ls_wdt,ls_hgt/2), Loc_Solid()))
if (GBackSolid(pos.x,pos.y-1))
CreateObject(Firestone,pos.x,pos.y-1);
CreateObjectAbove(Firestone,pos.x,pos.y-1);
// Some firestones in lower half
for (i=0; i<30; ++i)
if (pos=FindLocation(Loc_InRect(0,ls_hgt/2,ls_wdt,ls_hgt/3), Loc_Solid()))
if (GBackSolid(pos.x,pos.y-1))
CreateObject(Firestone,pos.x,pos.y-1);
CreateObjectAbove(Firestone,pos.x,pos.y-1);
return true;
}

View File

@ -10,42 +10,42 @@
protected func Initialize()
{
// Goal.
var goal = CreateObject(Goal_KingOfTheHill, 555, 250, NO_OWNER);
var goal = CreateObjectAbove(Goal_KingOfTheHill, 555, 250, NO_OWNER);
goal->SetRadius(80);
goal->SetPointLimit(6);
AddEffect("BlessTheKing",goal,100,1,nil);
// Objects fade after 7 seconds.
CreateObject(Rule_ObjectFade)->DoFadeTime(7 * 36);
CreateObject(Rule_KillLogs);
CreateObject(Rule_Gravestones);
CreateObjectAbove(Rule_ObjectFade)->DoFadeTime(7 * 36);
CreateObjectAbove(Rule_KillLogs);
CreateObjectAbove(Rule_Gravestones);
//make lava collapse
CreateObject(Firestone,625,480);
CreateObjectAbove(Firestone,625,480);
// Chests with weapons.
CreateObject(Chest, 320, 80, NO_OWNER)->MakeInvincible();
CreateObject(Chest, 720, 192, NO_OWNER)->MakeInvincible();
CreateObject(Chest, 668, 336, NO_OWNER)->MakeInvincible();
CreateObject(Chest, 320, 440, NO_OWNER)->MakeInvincible();
CreateObject(Chest, 48, 256, NO_OWNER)->MakeInvincible();
CreateObjectAbove(Chest, 320, 80, NO_OWNER)->MakeInvincible();
CreateObjectAbove(Chest, 720, 192, NO_OWNER)->MakeInvincible();
CreateObjectAbove(Chest, 668, 336, NO_OWNER)->MakeInvincible();
CreateObjectAbove(Chest, 320, 440, NO_OWNER)->MakeInvincible();
CreateObjectAbove(Chest, 48, 256, NO_OWNER)->MakeInvincible();
AddEffect("IntFillChests", nil, 100, 5 * 36);
// Moving bricks.
var brick;
brick = CreateObject(MovingBrick, 542, 176);
brick = CreateObjectAbove(MovingBrick, 542, 176);
brick->SetSize(3);
brick->MoveVertical(168, 472, 8);
brick = CreateObject(MovingBrick, 588, 192);
brick = CreateObjectAbove(MovingBrick, 588, 192);
brick->SetSize(3);
brick->MoveVertical(160, 464, 8);
brick = CreateObject(MovingBrick, 77, 0);
brick = CreateObjectAbove(MovingBrick, 77, 0);
brick->MoveVertical(0, LandscapeHeight(), 6);
AddEffect("LavaBrickReset", brick, 100, 10);
brick = CreateObject(MovingBrick, 77, LandscapeHeight() / 3);
brick = CreateObjectAbove(MovingBrick, 77, LandscapeHeight() / 3);
brick->MoveVertical(0, LandscapeHeight(), 6);
AddEffect("LavaBrickReset", brick, 100, 10);
brick = CreateObject(MovingBrick, 77, 2 * LandscapeHeight() / 3);
brick = CreateObjectAbove(MovingBrick, 77, 2 * LandscapeHeight() / 3);
brick->MoveVertical(0, LandscapeHeight(), 6);
AddEffect("LavaBrickReset", brick, 100, 10);
@ -128,7 +128,7 @@ global func CreateChestContents(id obj_id)
{
if (!this)
return;
var obj = CreateObject(obj_id);
var obj = CreateObjectAbove(obj_id);
if (obj_id == Bow)
obj->CreateContents(Arrow);
if (obj_id == Musket)
@ -145,7 +145,7 @@ protected func InitializePlayer(int plr)
// GameCall from RelaunchContainer.
protected func RelaunchPlayer(int plr)
{
var clonk = CreateObject(Clonk, 0, 0, plr);
var clonk = CreateObjectAbove(Clonk, 0, 0, plr);
clonk->MakeCrewMember(plr);
SetCursor(plr, clonk);
JoinPlayer(plr);
@ -159,7 +159,7 @@ protected func JoinPlayer(int plr)
var position = [[420,200],[300,440],[130,176],[140,368],[700,192],[670,336],[750,440],[440,392],[45,256]];
var r=Random(GetLength(position));
var x = position[r][0], y = position[r][1];
var relaunch = CreateObject(RelaunchContainer, x, y, clonk->GetOwner());
var relaunch = CreateObjectAbove(RelaunchContainer, x, y, clonk->GetOwner());
relaunch->StartRelaunch(clonk);
return;
}

View File

@ -12,7 +12,7 @@ private func FireWeapon(object clonk, int angle)
if(king_size)
{
var box = CreateObject(LeadShot,0,0,this->GetOwner());
var box = CreateObjectAbove(LeadShot,0,0,this->GetOwner());
shot->LessDamage();
shot->Launch(clonk,angle,iBarrel,260+Random(40));
shot=box->TakeObject();

View File

@ -11,9 +11,9 @@ static Overcast_air_particles;
protected func Initialize()
{
// Goal.
CreateObject(Goal_LastManStanding);
CreateObject(Rule_KillLogs);
CreateObject(Rule_Gravestones);
CreateObjectAbove(Goal_LastManStanding);
CreateObjectAbove(Rule_KillLogs);
CreateObjectAbove(Rule_Gravestones);
//Enviroment.
Cloud->Place(25);
@ -26,7 +26,7 @@ protected func Initialize()
var d=[2, 1, 3, 0, 1, 3, 3, 1, 2, 0, 0, 2];
for (var i = 0; i < GetLength(x); i++)
{
var edge=CreateObject(BrickEdge, x[i], y[i], NO_OWNER);
var edge=CreateObjectAbove(BrickEdge, x[i], y[i], NO_OWNER);
edge->Initialize();
edge->SetP(d[i]);
edge->SetPosition(x[i],y[i]);
@ -34,102 +34,102 @@ protected func Initialize()
}
// Vertically moving bricks
var brick = CreateObject(MovingBrick, 660, 90);
var brick = CreateObjectAbove(MovingBrick, 660, 90);
brick->SetSize(3);
brick->MoveVertical(80, 144);
var brick = CreateObject(MovingBrick, 592, 270);
var brick = CreateObjectAbove(MovingBrick, 592, 270);
brick->SetSize(2);
brick->MoveVertical(264, 344);
var brick = CreateObject(MovingBrick, 632, 285);
var brick = CreateObjectAbove(MovingBrick, 632, 285);
brick->SetSize(2);
brick->MoveVertical(272, 352);
var brick = CreateObject(MovingBrick, 672, 300);
var brick = CreateObjectAbove(MovingBrick, 672, 300);
brick->SetSize(2);
brick->MoveVertical(280, 360);
var brick = CreateObject(MovingBrick, 270, 430);
var brick = CreateObjectAbove(MovingBrick, 270, 430);
brick->SetSize(2);
brick->MoveVertical(416, 488);
var brick = CreateObject(MovingBrick, 310, 440);
var brick = CreateObjectAbove(MovingBrick, 310, 440);
brick->SetSize(2);
brick->MoveVertical(424, 496);
var brick = CreateObject(MovingBrick, 350, 450);
var brick = CreateObjectAbove(MovingBrick, 350, 450);
brick->SetSize(2);
brick->MoveVertical(432, 504);
var brick = CreateObject(MovingBrick, 932, 240);
var brick = CreateObjectAbove(MovingBrick, 932, 240);
brick->SetSize(4);
brick->MoveVertical(232, 536);
var brick = CreateObject(MovingBrick, 368, 200);
var brick = CreateObjectAbove(MovingBrick, 368, 200);
brick->SetSize(3);
brick->MoveVertical(152, 288);
var brick = CreateObject(MovingBrick, 184, 320);
var brick = CreateObjectAbove(MovingBrick, 184, 320);
brick->SetSize(2);
brick->MoveVertical(240, 368);
var brick = CreateObject(MovingBrick, 498, 560);
var brick = CreateObjectAbove(MovingBrick, 498, 560);
brick->SetSize(2);
brick->MoveVertical(480, 680);
DrawMaterialQuad("Tunnel-Brickback", 478, 478, 497, 478, 497, 552, 478, 552);
DrawMaterialQuad("Tunnel-Brickback", 478, 670, 497, 670, 497, 680, 478, 680);
var brick = CreateObject(MovingBrick, 170, 600);
var brick = CreateObjectAbove(MovingBrick, 170, 600);
brick->SetSize(2);
brick->MoveVertical(528, 680);
DrawMaterialQuad("Tunnel-Brickback", 150, 524, 169, 524, 169, 576, 150, 576);
DrawMaterialQuad("Tunnel-Brickback", 150, 670, 169, 670, 169, 680, 150, 680);
// Horizontally moving bricks.
var brick = CreateObject(MovingBrick, 600, 496);
var brick = CreateObjectAbove(MovingBrick, 600, 496);
brick->SetSize(4);
brick->MoveHorizontal(552, 736);
var brick = CreateObject(MovingBrick, 656, 688);
var brick = CreateObjectAbove(MovingBrick, 656, 688);
brick->SetSize(3);
brick->MoveHorizontal(504, 668);
var brick = CreateObject(MovingBrick, 688, 664);
var brick = CreateObjectAbove(MovingBrick, 688, 664);
brick->SetSize(3);
brick->MoveHorizontal(668, 832);
var brick = CreateObject(MovingBrick, 320, 688);
var brick = CreateObjectAbove(MovingBrick, 320, 688);
brick->SetSize(3);
brick->MoveHorizontal(192, 456);
// Chests with weapons.
var chest;
chest = CreateObject(Chest, 764, 128, NO_OWNER);
chest = CreateObjectAbove(Chest, 764, 128, NO_OWNER);
chest->MakeInvincible();
AddEffect("FillChest", chest, 100, 72);
chest = CreateObject(Chest, 732, 336, NO_OWNER);
chest = CreateObjectAbove(Chest, 732, 336, NO_OWNER);
chest->MakeInvincible();
AddEffect("FillChest", chest, 100, 72);
chest = CreateObject(Chest, 116, 400, NO_OWNER);
chest = CreateObjectAbove(Chest, 116, 400, NO_OWNER);
chest->MakeInvincible();
AddEffect("FillChest", chest, 100, 72);
chest = CreateObject(Chest, 272, 152, NO_OWNER);
chest = CreateObjectAbove(Chest, 272, 152, NO_OWNER);
chest->MakeInvincible();
AddEffect("FillChest", chest, 100, 72);
chest = CreateObject(Chest, 424, 480, NO_OWNER);
chest = CreateObjectAbove(Chest, 424, 480, NO_OWNER);
chest->MakeInvincible();
AddEffect("FillChest", chest, 100, 72);
chest = CreateObject(Chest, 872, 520, NO_OWNER);
chest = CreateObjectAbove(Chest, 872, 520, NO_OWNER);
chest->MakeInvincible();
AddEffect("FillChest", chest, 100, 72);
chest = CreateObject(Chest, 72, 208, NO_OWNER);
chest = CreateObjectAbove(Chest, 72, 208, NO_OWNER);
chest->MakeInvincible();
AddEffect("FillChest", chest, 100, 72);
// Some columns as decoration.
CreateObject(Column, 736, 480, NO_OWNER);
CreateObject(Column, 860, 392, NO_OWNER);
CreateObject(Column, 420, 280, NO_OWNER);
CreateObject(Column, 200, 144, NO_OWNER);
CreateObject(Column, 556, 480, NO_OWNER);
CreateObject(Column, 452, 672, NO_OWNER);
CreateObject(Column, 192, 672, NO_OWNER);
CreateObjectAbove(Column, 736, 480, NO_OWNER);
CreateObjectAbove(Column, 860, 392, NO_OWNER);
CreateObjectAbove(Column, 420, 280, NO_OWNER);
CreateObjectAbove(Column, 200, 144, NO_OWNER);
CreateObjectAbove(Column, 556, 480, NO_OWNER);
CreateObjectAbove(Column, 452, 672, NO_OWNER);
CreateObjectAbove(Column, 192, 672, NO_OWNER);
// Grass as decoration.
var x=[813, 820, 856, 833, 827, 838, 844, 869, 872, 882, 853, 861, 506, 466, 527, 524, 514, 510, 517, 502, 436, 437, 441, 448, 457, 463, 177, 139, 121, 126, 199, 190, 181, 213, 206, 133, 147, 196, 104, 175, 116, 108, 126, 135, 155, 201, 195, 188, 43, 52, 58, 406, 410, 551, 554, 550, 547, 538, 723, 838, 802, 808, 836, 690, 781, 787, 745, 869, 861, 825, 829, 849, 720, 910, 908, 901, 795, 803, 819, 875, 855, 830, 813, 869, 894, 886, 844, 796, 789, 787, 729, 764, 779, 770, 755, 749, 741, 574, 533, 574, 566, 559, 546, 426, 429, 414, 407, 397, 390, 387, 380, 376, 218, 210, 97, 104, 118, 123, 131, 139, 144, 154, 212, 194, 209, 205, 198, 188, 181, 174, 216, 221, 291, 313, 298, 305, 307, 296, 301, 284, 269, 103, 84, 132, 124, 148, 146, 140, 118, 107, 91, 332, 330, 328, 314, 298, 281, 184, 236, 227, 213, 268, 292, 307, 315, 322, 365, 362, 370, 378, 578, 582, 589, 731, 734, 740, 759, 773, 787, 833, 826, 806, 818, 832, 842, 864, 851, 887, 892, 906, 877, 732, 729, 709, 704, 757, 769, 717, 892, 899, 922, 907, 857, 842, 832];
@ -137,17 +137,17 @@ protected func Initialize()
var r=[-50, 0, 0, -50, 0, -50, -30, 90, 50, 60, 0, 0, 0, 0, 60, 60, 60, 45, 0, 0, -45, -45, -45, 0, 0, 0, 0, -45, -45, -45, 0, 0, 0, 45, 0, 0, 0, 85, -35, 0, 0, 0, 0, 0, 0, 35, 0, 0, -35, 0, 0, -85, 0, 45, 95, 95, 95, 0, -45, 45, -45, 0, -45, -45, 45, 95, 0, 0, 0, -35, -95, 0, -35, 75, 75, 0, 45, 0, 90, 90, 60, 0, 0, 0, 0, 0, 0, 60, 0, 60, 0, 0, 0, 0, 0, 0, 0, 45, 90, 90, 0, 0, 0, 0, -90, 0, 0, 0, -40, 0, -40, -40, 40, 30, -30, 0, -30, -30, 0, 0, 0, 0, 90, 40, 40, 40, 0, 0, 0, 0, -40, -20, 50, 50, 50, 0, 50, 50, 50, 0, 0, -40, -40, 50, 0, 90, 50, 0, 50, 0, 0, 90, 55, 55, 0, -35, -35, 0, 0, 0, 0, 0, 0, 0, 0, 0, -55, 0, 0, 0, 55, 0, 0, 0, -35, 0, 0, 0, 0, 35, 35, 0, 0, -35, 0, 0, 0, 35, 0, 0, 0, 0, 0, -35, -45, 0, 0, 0, 0, -45, 45, 0, 10, 0, -50];
for (var i = 0; i < GetLength(x); i++)
{
var grass = CreateObject(Grass, x[i], y[i] + 5, NO_OWNER);
var grass = CreateObjectAbove(Grass, x[i], y[i] + 5, NO_OWNER);
grass->SetR(r[i]);
}
// Blue chest with wind bag
var chest_blue = CreateObject(Chest, 850, 648, NO_OWNER);
var chest_blue = CreateObjectAbove(Chest, 850, 648, NO_OWNER);
chest_blue->SetClrModulation(RGB(100,180,255));
AddEffect("FillBlueChest", chest_blue, 100, 72);
// Red chest with club.
var chest_red = CreateObject(Chest, 124, 520, NO_OWNER);
var chest_red = CreateObjectAbove(Chest, 124, 520, NO_OWNER);
chest_red->SetClrModulation(RGB(255, 100, 100));
AddEffect("FillRedChest", chest_red, 100, 72);
@ -324,7 +324,7 @@ global func CreateChestContents(id obj_id)
{
if (!this)
return;
var obj = CreateObject(obj_id);
var obj = CreateObjectAbove(obj_id);
if (obj_id == Bow)
obj->CreateContents(Arrow);
if (obj_id == Musket)
@ -356,7 +356,7 @@ global func GetRandomSpawn()
protected func OnPlayerRelaunch(int plr)
{
var clonk = GetCrew(plr);
var relaunch = CreateObject(RelaunchContainer, LandscapeWidth() / 2, LandscapeHeight() / 2, clonk->GetOwner());
var relaunch = CreateObjectAbove(RelaunchContainer, LandscapeWidth() / 2, LandscapeHeight() / 2, clonk->GetOwner());
relaunch->StartRelaunch(clonk);
return;
}

View File

@ -44,8 +44,8 @@ public func FxFireballTimer(pTarget, effect, iEffectTime)
)
)
{
CreateObject(Dynamite,x,y,-1)->Explode(14);
for(var i=0; i<=3;i++) CreateObject(Dynamite,x+Sin(i*120 +x,13),y-Cos(i*120 +x,13),-1)->Explode(6+Random(4));
CreateObjectAbove(Dynamite,x,y,-1)->Explode(14);
for(var i=0; i<=3;i++) CreateObjectAbove(Dynamite,x+Sin(i*120 +x,13),y-Cos(i*120 +x,13),-1)->Explode(6+Random(4));
return -1;
}
else if(iEffectTime < 70)

View File

@ -9,26 +9,26 @@
protected func Initialize()
{
// Goal and rules.
CreateObject(Goal_LastManStanding, 0, 0, NO_OWNER);
CreateObject(Rule_KillLogs);
CreateObject(Rule_Gravestones);
CreateObjectAbove(Goal_LastManStanding, 0, 0, NO_OWNER);
CreateObjectAbove(Rule_KillLogs);
CreateObjectAbove(Rule_Gravestones);
// Chests with weapons.
var chest = CreateObject(Chest, 108, 248);
var chest = CreateObjectAbove(Chest, 108, 248);
chest->MakeInvincible();
AddEffect("IntFillChests", nil, 100, 36, nil, nil, chest);
// Objects fade after 7 seconds.
CreateObject(Rule_ObjectFade)->DoFadeTime(7 * 36);
CreateObjectAbove(Rule_ObjectFade)->DoFadeTime(7 * 36);
// Some decoration trunks ranks and a waterfall.
var trunk = CreateObject(Trunk, 76, 324);
var trunk = CreateObjectAbove(Trunk, 76, 324);
trunk->SetR(60); trunk.Plane = 510;
trunk.MeshTransformation = [-731, 0, 682, 0, 0, 1000, 0, 0, -682, 0, -731, 0];
trunk = CreateObject(Trunk, 123, 68);
trunk = CreateObjectAbove(Trunk, 123, 68);
trunk->SetR(115); trunk.Plane = 510;
trunk.MeshTransformation = [469, 0, 883, 0, 0, 1000, 0, 0, -883, 0, 469, 0];
trunk = CreateObject(Trunk, 172, 134);
trunk = CreateObjectAbove(Trunk, 172, 134);
trunk->SetR(-110); trunk.Plane = 510;
trunk.MeshTransformation = [-545, 0, -839, 0, 0, 1000, 0, 0, 839, 0, -545, 0];
@ -41,31 +41,31 @@ protected func Initialize()
CreateLiquidDrain(130, 315, 10);
CreateLiquidDrain(160, 315, 10);
CreateObject(Fern, 48, 114);
CreateObject(Fern, 284, 128);
CreateObject(Lorry, 294, 128)->SetR(20);
CreateObject(Pickaxe, 260, 128)->SetR(-45);
CreateObject(Mushroom, 271, 136);
CreateObjectAbove(Fern, 48, 114);
CreateObjectAbove(Fern, 284, 128);
CreateObjectAbove(Lorry, 294, 128)->SetR(20);
CreateObjectAbove(Pickaxe, 260, 128)->SetR(-45);
CreateObjectAbove(Mushroom, 271, 136);
CreateObject(Branch, 146, 316)->SetR(180);
CreateObject(Branch, 192, 198)->SetR(225);
CreateObject(Branch, 54, 76)->SetR(180);
CreateObject(Branch, 50, 232)->SetR(120);
CreateObject(Branch, 264, 238)->SetR(-120);
CreateObjectAbove(Branch, 146, 316)->SetR(180);
CreateObjectAbove(Branch, 192, 198)->SetR(225);
CreateObjectAbove(Branch, 54, 76)->SetR(180);
CreateObjectAbove(Branch, 50, 232)->SetR(120);
CreateObjectAbove(Branch, 264, 238)->SetR(-120);
for (var i = 0; i < 2 + Random(6); i++)
CreateObject(Branch, 121, 10 + Random(140))->SetR(RandomX(60, 120));
CreateObjectAbove(Branch, 121, 10 + Random(140))->SetR(RandomX(60, 120));
for (var i = 0; i < 2 + Random(6); i++)
CreateObject(Branch, 183, 10 + Random(140))->SetR(-RandomX(60, 120));
CreateObjectAbove(Branch, 183, 10 + Random(140))->SetR(-RandomX(60, 120));
// Some lights to have the well visible at all times.
CreateLight(152, 40, 80, Fx_Light.LGT_Constant);
CreateLight(152, 120, 80, Fx_Light.LGT_Constant);
CreateLight(152, 200, 80, Fx_Light.LGT_Constant);
CreateLight(152, 340, 80, Fx_Light.LGT_Constant);
var torch1 = CreateObject(Torch, 60, 256);
var torch1 = CreateObjectAbove(Torch, 60, 256);
torch1->AttachToWall(true);
var torch2 = CreateObject(Torch, 224, 256);
var torch2 = CreateObjectAbove(Torch, 224, 256);
torch2->AttachToWall(true);
return;
}
@ -86,7 +86,7 @@ protected func InitializePlayer(int plr)
protected func OnPlayerRelaunch(int plr)
{
var clonk = GetCrew(plr);
var relaunch = CreateObject(RelaunchContainer, LandscapeWidth() / 2, LandscapeHeight() / 2, clonk->GetOwner());
var relaunch = CreateObjectAbove(RelaunchContainer, LandscapeWidth() / 2, LandscapeHeight() / 2, clonk->GetOwner());
relaunch->StartRelaunch(clonk);
return;
}
@ -118,7 +118,7 @@ global func CreateChestContents(id obj_id)
{
if (!this)
return;
var obj = CreateObject(obj_id);
var obj = CreateObjectAbove(obj_id);
if (obj_id == Bow)
obj->CreateContents([Arrow, BombArrow][Random(2)]);
if (obj_id == Musket)

View File

@ -10,28 +10,28 @@ static const RUINS_RAIN_PERIOD_TIME=3200;
protected func Initialize()
{
// Goal.
CreateObject(Goal_LastManStanding, 0, 0, NO_OWNER);
CreateObject(Rule_KillLogs);
CreateObject(Rule_Gravestones);
CreateObjectAbove(Goal_LastManStanding, 0, 0, NO_OWNER);
CreateObjectAbove(Rule_KillLogs);
CreateObjectAbove(Rule_Gravestones);
// Mood.
SetSkyAdjust(RGBa(255, 255, 255, 127), RGB(255, 200, 150));
SetGamma(RGB(40, 35, 30), RGB(140, 135, 130), RGB(255, 250, 245));
// Chests with weapons.
CreateObject(Chest, 230, 224, NO_OWNER)->MakeInvincible();
CreateObject(Chest, 500, 64, NO_OWNER)->MakeInvincible();
CreateObject(Chest, 124, 128, NO_OWNER)->MakeInvincible();
CreateObject(Chest, 340, 440, NO_OWNER)->MakeInvincible();
CreateObjectAbove(Chest, 230, 224, NO_OWNER)->MakeInvincible();
CreateObjectAbove(Chest, 500, 64, NO_OWNER)->MakeInvincible();
CreateObjectAbove(Chest, 124, 128, NO_OWNER)->MakeInvincible();
CreateObjectAbove(Chest, 340, 440, NO_OWNER)->MakeInvincible();
AddEffect("IntFillChests", nil, 100, 2 * 36);
// Ropeladders to get to the upper part.
CreateObject(Ropeladder, 380, 112, NO_OWNER)->Unroll(-1,0,19);
CreateObject(Ropeladder, 135, 135, NO_OWNER)->Unroll(1,0,16);
CreateObjectAbove(Ropeladder, 380, 112, NO_OWNER)->Unroll(-1,0,19);
CreateObjectAbove(Ropeladder, 135, 135, NO_OWNER)->Unroll(1,0,16);
// Objects fade after 5 seconds.
CreateObject(Rule_ObjectFade)->DoFadeTime(5 * 36);
CreateObjectAbove(Rule_ObjectFade)->DoFadeTime(5 * 36);
// Smooth brick edges.
var x=[188, 205, 261, 244, 308, 325];
@ -39,7 +39,7 @@ protected func Initialize()
var d=[3, 2, 2, 3, 3, 2];
for (var i = 0; i < GetLength(x); i++)
{
var edge=CreateObject(BrickEdge, x[i], y[i], NO_OWNER);
var edge=CreateObjectAbove(BrickEdge, x[i], y[i], NO_OWNER);
edge->Initialize();
edge->SetP(d[i]);
edge->SetPosition(x[i],y[i]);
@ -54,7 +54,7 @@ protected func Initialize()
protected func OnPlayerRelaunch(int plr)
{
var clonk = GetCrew(plr);
var relaunch = CreateObject(RelaunchContainer, LandscapeWidth() / 2, LandscapeHeight() / 2, clonk->GetOwner());
var relaunch = CreateObjectAbove(RelaunchContainer, LandscapeWidth() / 2, LandscapeHeight() / 2, clonk->GetOwner());
relaunch->StartRelaunch(clonk);
return;
}
@ -124,7 +124,7 @@ global func CreateChestContents(id obj_id)
{
if (!this)
return;
var obj = CreateObject(obj_id);
var obj = CreateObjectAbove(obj_id);
if (obj_id == Bow)
obj->CreateContents(Arrow);
if (obj_id == Musket)

View File

@ -47,7 +47,7 @@ global func PlaceGrass(int amount, int start, int end)
if (GetMaterial(AbsX(x), AbsY(y)) == Material("Sky"))
if (GetMaterial(AbsX(x), AbsY(y + 3)) == Material("Earth"))
if (Random(100) < amount)
CreateObject(Grass, AbsX(x), AbsY(y + 4), NO_OWNER);
CreateObjectAbove(Grass, AbsX(x), AbsY(y + 4), NO_OWNER);
y += 3;
}
x += 9;

View File

@ -12,16 +12,16 @@ protected func Initialize()
SetMatAdjust(RGB(255,150,128));
// Goal.
CreateObject(Goal_DeathMatch, 0, 0, NO_OWNER);
CreateObject(Rule_KillLogs);
CreateObject(Rule_Gravestones);
CreateObjectAbove(Goal_DeathMatch, 0, 0, NO_OWNER);
CreateObjectAbove(Rule_KillLogs);
CreateObjectAbove(Rule_Gravestones);
//Enviroment.
CreateObject(Rule_ObjectFade)->DoFadeTime(10 * 36);
CreateObjectAbove(Rule_ObjectFade)->DoFadeTime(10 * 36);
SetSkyAdjust(RGB(255,128,0));
SetSkyParallax(1, 20,20, 0,0, nil, nil);
CreateObject(Column,160,304)->SetClrModulation(RGB(255,100,80));
CreateObject(Column,448,272)->SetClrModulation(RGB(255,100,80));
CreateObjectAbove(Column,160,304)->SetClrModulation(RGB(255,100,80));
CreateObjectAbove(Column,448,272)->SetClrModulation(RGB(255,100,80));
AddEffect("RandomMeteor", nil, 100, 36-Min(GetPlayerCount()*3,20));
AddEffect("DangerousLava", nil, 100, 1);
@ -55,7 +55,7 @@ private func PlaceEdges()
var d=[3, 1, 3, 2, 0, 0, 1, 3, 2, 1, 3, 1, 1, 3, 1, 1, 1, 0, 3, 2, 0, 0, 1, 1, 3, 3, 2, 3];
for (var i = 0; i < GetLength(x); i++)
{
var edge=CreateObject(BrickEdge, x[i], y[i] + 4, NO_OWNER);
var edge=CreateObjectAbove(BrickEdge, x[i], y[i] + 4, NO_OWNER);
edge->Initialize();
edge->SetP(d[i]);
edge->SetPosition(x[i],y[i]);
@ -72,7 +72,7 @@ global func PlaceGras()
for (var i = 0; i < GetLength(x); i++)
{
while(GBackSolid(x[i],y[i])) y[i]--;
var edge=CreateObject(Grass, x[i], y[i] + 5, NO_OWNER);
var edge=CreateObjectAbove(Grass, x[i], y[i] + 5, NO_OWNER);
edge->SetCategory(C4D_StaticBack);
edge->SetR(r[i]);
edge->Initialize();
@ -90,7 +90,7 @@ protected func OnPlayerRelaunch(int plr)
var y=100;
while(!GBackSolid(x,y)) y+=1;
y-=30;
var relaunch = CreateObject(RelaunchContainer, x, y, clonk->GetOwner());
var relaunch = CreateObjectAbove(RelaunchContainer, x, y, clonk->GetOwner());
relaunch->StartRelaunch(clonk);
relaunch->SetRelaunchTime(3);
clonk->CreateContents(TeleGlove);

View File

@ -11,31 +11,31 @@ static ThunderousSkies_air_particles, ThunderousSkies_air_particles_red;
protected func Initialize()
{
// Goal.
CreateObject(Rule_ObjectFade)->DoFadeTime(8 * 36);
var goal = CreateObject(Goal_KingOfTheHill, 450, 380, NO_OWNER);
CreateObjectAbove(Rule_ObjectFade)->DoFadeTime(8 * 36);
var goal = CreateObjectAbove(Goal_KingOfTheHill, 450, 380, NO_OWNER);
goal->SetRadius(90);
goal->SetPointLimit(5);
AddEffect("BlessTheKing",goal,100,1,nil);
CreateObject(Rule_KillLogs);
CreateObject(Rule_Gravestones);
CreateObjectAbove(Rule_KillLogs);
CreateObjectAbove(Rule_Gravestones);
//Enviroment.
//SetSkyAdjust(RGBa(250,250,255,128),RGB(200,200,220));
SetSkyParallax(1, 20,20, 0,0, nil, nil);
Sound("BirdsLoop",true,100,nil,+1);
CreateObject(Column,650,379);
CreateObject(Column,350,409);
CreateObject(Column,160,229);
CreateObject(Column,448,269);
CreateObject(Column,810,179);
CreateObjectAbove(Column,650,379);
CreateObjectAbove(Column,350,409);
CreateObjectAbove(Column,160,229);
CreateObjectAbove(Column,448,269);
CreateObjectAbove(Column,810,179);
// Chests with weapons.
CreateObject(Chest, 175, 200, NO_OWNER)->MakeInvincible();
CreateObject(Chest, 800, 150, NO_OWNER)->MakeInvincible();
CreateObject(Chest, 430, 240, NO_OWNER)->MakeInvincible();
CreateObject(Chest, 610, 340, NO_OWNER)->MakeInvincible();
CreateObject(Chest, 355, 390, NO_OWNER)->MakeInvincible();
CreateObjectAbove(Chest, 175, 200, NO_OWNER)->MakeInvincible();
CreateObjectAbove(Chest, 800, 150, NO_OWNER)->MakeInvincible();
CreateObjectAbove(Chest, 430, 240, NO_OWNER)->MakeInvincible();
CreateObjectAbove(Chest, 610, 340, NO_OWNER)->MakeInvincible();
CreateObjectAbove(Chest, 355, 390, NO_OWNER)->MakeInvincible();
AddEffect("IntFillChests", nil, 100, 2 * 36, nil);
// Smooth brick edges.
@ -44,12 +44,12 @@ protected func Initialize()
// Moving bricks.
var brick;
brick = CreateObject(MovingBrick,370,424);
brick = CreateObjectAbove(MovingBrick,370,424);
brick->MoveHorizontal(344, 544);
brick = CreateObject(MovingBrick,550,250);
brick = CreateObjectAbove(MovingBrick,550,250);
brick->MoveVertical(240, 296);
CreateObject(BrickEdge, 380, 416)->PermaEdge();
CreateObjectAbove(BrickEdge, 380, 416)->PermaEdge();
PlaceGras();
@ -152,12 +152,12 @@ global func FxBalloonsTimer()
var target;
var r = Random(3);
if (r == 0) { target = CreateObject(Boompack, x, y, NO_OWNER); target->SetR(180); }
if (r == 1) { target = CreateObject(DynamiteBox, x, y, NO_OWNER); target->SetR(180); }
if (r == 2) { target = CreateObject(Arrow, x, y, NO_OWNER); target->SetObjDrawTransform(1000,0,0,0,1000,-7500); }
if (r == 0) { target = CreateObjectAbove(Boompack, x, y, NO_OWNER); target->SetR(180); }
if (r == 1) { target = CreateObjectAbove(DynamiteBox, x, y, NO_OWNER); target->SetR(180); }
if (r == 2) { target = CreateObjectAbove(Arrow, x, y, NO_OWNER); target->SetObjDrawTransform(1000,0,0,0,1000,-7500); }
var balloon = CreateObject(TargetBalloon, x, y-30, NO_OWNER);
var balloon = CreateObjectAbove(TargetBalloon, x, y-30, NO_OWNER);
balloon->SetProperty("load",target);
target->SetAction("Attach", balloon);
CreateParticle("Flash", x, y, 0, 0, 8, Particles_Flash());
@ -172,7 +172,7 @@ global func PlaceGras()
var r=[-91, -93, -93, 89, 93, 93, 88, 89, -92, -92, 88, 93, 93, -88, -87, -93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 43, 46, 44, 48, -43, -48, -48, -45, -43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -48, -44, -45, 48, 46, 48, 45, 0, 0, 0, 0, 0, 0, 0, 44, 0];
for (var i = 0; i < GetLength(x); i++)
{
var edge=CreateObject(Grass, x[i], y[i] + 5, NO_OWNER);
var edge=CreateObjectAbove(Grass, x[i], y[i] + 5, NO_OWNER);
edge->SetR(r[i]);
edge->Initialize();
}
@ -229,7 +229,7 @@ global func CreateChestContents(id obj_id)
{
if (!this)
return;
var obj = CreateObject(obj_id);
var obj = CreateObjectAbove(obj_id);
if (obj_id == Bow)
obj->CreateContents(Arrow);
if (obj_id == Musket)
@ -246,7 +246,7 @@ protected func InitializePlayer(int plr)
// GameCall from RelaunchContainer.
protected func RelaunchPlayer(int plr)
{
var clonk = CreateObject(Clonk, 0, 0, plr);
var clonk = CreateObjectAbove(Clonk, 0, 0, plr);
clonk->MakeCrewMember(plr);
SetCursor(plr, clonk);
JoinPlayer(plr);
@ -260,7 +260,7 @@ protected func JoinPlayer(int plr)
var position = [[180,150],[310,320],[600,290],[650,180],[790,110],[440,190]];
var r=Random(GetLength(position));
var x = position[r][0], y = position[r][1];
var relaunch = CreateObject(RelaunchContainer, x, y + 49, clonk->GetOwner());
var relaunch = CreateObjectAbove(RelaunchContainer, x, y + 49, clonk->GetOwner());
relaunch->StartRelaunch(clonk);
return;
}

View File

@ -47,12 +47,12 @@ public func FxFireballTimer(pTarget, effect, iEffectTime)
)
)
{
CreateObject(Dynamite,x,y,effect.owner)->Explode(14);
for(var i=0; i<=3;i++) CreateObject(Dynamite,x+Sin(i*120 +x,13),y-Cos(i*120 +x,13),effect.owner)->Explode(6+Random(4));
CreateObjectAbove(Dynamite,x,y,effect.owner)->Explode(14);
for(var i=0; i<=3;i++) CreateObjectAbove(Dynamite,x+Sin(i*120 +x,13),y-Cos(i*120 +x,13),effect.owner)->Explode(6+Random(4));
var obj=FindObject(Find_Distance(22,x,y),Find_ID(TargetBalloon));
if(obj)
{
var arw=CreateObject(Arrow,0,0,effect.owner);
var arw=CreateObjectAbove(Arrow,0,0,effect.owner);
obj->OnProjectileHit(arw);
arw->RemoveObject();
}

View File

@ -80,7 +80,7 @@ global func FxThunderStrikeTimer(pTarget, effect, iEffectTime)
{
if(t->GetID() == TargetBalloon)
{
var arw=CreateObject(Arrow,0,0,owner);
var arw=CreateObjectAbove(Arrow,0,0,owner);
t->OnProjectileHit(arw);
arw->RemoveObject();
}

View File

@ -16,7 +16,7 @@ func Fall(int from)
{
for(var i=0; i < 7 + Random(2); i++)
{
var dyn=CreateObject(Dynamite,0,0,from);
var dyn=CreateObjectAbove(Dynamite,0,0,from);
dyn->SetController(from);
dyn->SetXDir(RandomX(-9,9));
dyn->SetYDir(RandomX(-5,8));
@ -46,4 +46,4 @@ Attach = {
// Animation = "idle",
}
} ,def);
}
}

View File

@ -54,7 +54,7 @@ protected func FxFlightTimer(object pTarget, effect, int iEffectTime)
public func OnProjectileHit(object shot)
{
shot->CreateObject(Rock,0,0)->Explode(10);
shot->CreateObjectAbove(Rock,0,0)->Explode(10);
if(hits > 10 * GetPlayerCount())
{
@ -83,7 +83,7 @@ func DoDrill(int angle)
{
var x = Sin(angle+GetR(), 40);
var y = -Cos(angle+GetR(), 40);
CreateObject(Rock,x,y,GetOwner())->Explode(30);
CreateObjectAbove(Rock,x,y,GetOwner())->Explode(30);
SetXDir(Sin(GetR(),50), 100);
SetYDir(-Cos(GetR(),50), 100);
}

View File

@ -15,16 +15,16 @@ static const Boomattack_attack_growth = 90;
func Initialize()
{
var offs = 45;
CreateObject(WindGenerator, 1147, 938+offs)->SetR(7);
CreateObject(WindGenerator, 985, 1105+offs)->SetR(-170);
CreateObject(WindGenerator, 1055, 1085+offs)->SetR(140);
CreateObject(WindGenerator, 971, 857+offs)->SetR(-20);
CreateObject(WindGenerator, 1147, 1035+offs)->SetR(160);
CreateObject(WindGenerator, 1036, 870+offs)->SetR(-10);
CreateObject(WindGenerator, 1081, 873+offs)->SetR(18);
CreateObject(WindGenerator, 858, 930+offs)->SetR(-10);
CreateObjectAbove(WindGenerator, 1147, 938+offs)->SetR(7);
CreateObjectAbove(WindGenerator, 985, 1105+offs)->SetR(-170);
CreateObjectAbove(WindGenerator, 1055, 1085+offs)->SetR(140);
CreateObjectAbove(WindGenerator, 971, 857+offs)->SetR(-20);
CreateObjectAbove(WindGenerator, 1147, 1035+offs)->SetR(160);
CreateObjectAbove(WindGenerator, 1036, 870+offs)->SetR(-10);
CreateObjectAbove(WindGenerator, 1081, 873+offs)->SetR(18);
CreateObjectAbove(WindGenerator, 858, 930+offs)->SetR(-10);
CreateObject(Goal_SaveTheWindmills,10,10);
CreateObjectAbove(Goal_SaveTheWindmills,10,10);
PlaceGrass(100, 800, 1400);
SetSkyParallax(0,25,25,0,0,0,50);
AddEffect("BoomAttack", nil, 100, 35);
@ -75,7 +75,7 @@ global func CreateAttackWave(int angle, int rockets, int anglespread)
var x = Sin(rocket_angle, rocket_radius)+LandscapeWidth()/2;
var y = -Cos(rocket_angle, rocket_radius)+LandscapeHeight()/2;
CreateObject(rocket_id, x, y)->Launch(rocket_angle + 180);
CreateObjectAbove(rocket_id, x, y)->Launch(rocket_angle + 180);
}
for(var i=0; i<GetPlayerCount(); ++i)
@ -84,7 +84,7 @@ global func CreateAttackWave(int angle, int rockets, int anglespread)
var gui_arrow = FindObject(Find_ID(GUI_GoalArrow), Find_Owner(owner));
if(!gui_arrow)
{
gui_arrow = CreateObject(GUI_GoalArrow,0,0,owner);
gui_arrow = CreateObjectAbove(GUI_GoalArrow,0,0,owner);
gui_arrow->SetAction("Show", GetCursor(owner));
gui_arrow->SetClrModulation(RGB(255,0,0));
gui_arrow->SetObjectBlitMode(GFX_BLIT_Mod2);
@ -113,7 +113,7 @@ func RemovePlayer(int iPlr)
func RelaunchPlayer(int plr)
{
var clonk = CreateObject(Clonk, LandscapeWidth()/2, 600, plr);
var clonk = CreateObjectAbove(Clonk, LandscapeWidth()/2, 600, plr);
clonk->MakeCrewMember(plr);
SetCursor(plr, clonk);
JoinPlayer(plr);
@ -127,8 +127,8 @@ func JoinPlayer(int iPlr)
clonk->DoEnergy(1000);
clonk->CreateContents(Bow);
clonk->Collect(CreateObject(Arrow));
clonk->Collect(CreateObjectAbove(Arrow));
clonk->CreateContents(Musket);
clonk->Collect(CreateObject(LeadShot));
clonk->Collect(CreateObjectAbove(LeadShot));
return;
}

View File

@ -6,11 +6,11 @@ local graphicFront, graphicBack;
protected func Construction()
{
graphicBack = CreateObject(EnvPack_BridgeRustic_Back,-20,0,nil);
graphicBack = CreateObjectAbove(EnvPack_BridgeRustic_Back,-20,0,nil);
graphicBack->SetAction("Attach", this);
graphicFront = CreateObject(EnvPack_BridgeRustic_Front,0,0,nil);
graphicFront = CreateObjectAbove(EnvPack_BridgeRustic_Front,0,0,nil);
graphicFront->SetAction("Attach", this);
@ -18,4 +18,4 @@ protected func Construction()
SetClrModulation(RGBa(0,0,0,0)); //Set SolidMask graphic invisible
return true;
}
}

View File

@ -14,7 +14,7 @@ protected func Initialize()
protected func Construction() {
SetProperty("MeshTransformation", Trans_Mul(Trans_Rotate(RandomX(-35,35),0,10), Trans_Scale(30)));
objShine = CreateObject(EnvPack_Candle_Shine, x, y + 10, -1);
objShine = CreateObjectAbove(EnvPack_Candle_Shine, x, y + 10, -1);
}
private func Shining()
@ -49,7 +49,7 @@ public func SetOn(fOn)
if (fOn)
{
if (!FindObject(Find_ID(objShine)))
objShine = CreateObject(EnvPack_Candle_Shine, 0, -5, -1);
objShine = CreateObjectAbove(EnvPack_Candle_Shine, 0, -5, -1);
SetAction("Shine");
SetClrModulation(RGB(255, 255, 255));
fShine = true;
@ -73,4 +73,4 @@ local ActMap = {
EndCall: "Noise",
Delay: 5
}
};
};

View File

@ -15,7 +15,7 @@ protected func Initialize()
protected func Construction()
{
SetProperty("MeshTransformation", Trans_Mul(Trans_Rotate(RandomX(-35,35),0,10), Trans_Scale(60)));
objShine = CreateObject(EnvPack_CandleSmall_Shine, x, y + 10, -1);
objShine = CreateObjectAbove(EnvPack_CandleSmall_Shine, x, y + 10, -1);
objShine->SetCon(40);
objShine->SetClrModulation(RGBa(255,255,255,70));
}
@ -52,7 +52,7 @@ public func SetOn(fOn)
if (fOn)
{
if (!FindObject(Find_ID(objShine)))
objShine = CreateObject(EnvPack_CandleSmall_Shine, 0, -5, -1);
objShine = CreateObjectAbove(EnvPack_CandleSmall_Shine, 0, -5, -1);
SetAction("Shine");
SetClrModulation(RGB(255, 255, 255));
fShine = true;
@ -76,4 +76,4 @@ local ActMap = {
EndCall: "Noise",
Delay: 5
}
};
};

View File

@ -15,7 +15,7 @@ protected func Initialize()
protected func Construction()
{
SetProperty("MeshTransformation", Trans_Mul(Trans_Rotate(RandomX(-30, 30), 11, 40), Trans_Scale(400)));
objShine = CreateObject(EnvPack_Lantern_Shine, x, y + 15, -1);
objShine = CreateObjectAbove(EnvPack_Lantern_Shine, x, y + 15, -1);
}
private func Shining()
@ -48,7 +48,7 @@ public func SetOn(fOn)
if (fOn)
{
if (!FindObject(Find_ID(objShine)))
objShine = CreateObject(EnvPack_Lantern_Shine, 0, 15, -1);
objShine = CreateObjectAbove(EnvPack_Lantern_Shine, 0, 15, -1);
SetAction("Shine");
SetClrModulation(RGB(255, 255, 255));
fShine = true;
@ -72,4 +72,4 @@ local ActMap = {
EndCall: "Noise",
Delay: 5
}
};
};

View File

@ -36,7 +36,7 @@ func ControlUseStart(object clonk, int x, int y)
sy = y+clonk->GetY();
if(vis) vis->RemoveObject();
vis = CreateObject(VisualPath,0,0,clonk->GetOwner());
vis = CreateObjectAbove(VisualPath,0,0,clonk->GetOwner());
vis->Set(sx,sy,x+clonk->GetX(),y+clonk->GetY());
vis["Visibility"]=VIS_Owner;

View File

@ -8,7 +8,7 @@ local graphic;
protected func Initialize()
{
SetAction("Hatch");
graphic = CreateObject(Hatch_Graphic);
graphic = CreateObjectAbove(Hatch_Graphic);
graphic->SetAction("Attach", this);
graphic->SetHatchParent(this);
return 1;
@ -55,4 +55,4 @@ local ActMap = {
Wdt = 1,
Hgt = 1,
},
};
};

View File

@ -115,7 +115,7 @@ func Initialize()
func SetRope(bool no_connect)
{
rope = CreateObject(LiftTower_Rope,0,0,NO_OWNER);
rope = CreateObjectAbove(LiftTower_Rope,0,0,NO_OWNER);
if (!no_connect) rope->Connect(tower, this);
tower->SetRope(rope);
return rope;
@ -137,4 +137,4 @@ public func NoLiftTowerConnection() { return true; }
local Name = "$Name$";
local Description = "$Description$";
local Collectible = 1;
local Collectible = 1;

View File

@ -37,7 +37,7 @@ private func CreateSegment(int index, object previous)
{
if(index == 0) return;
var segment;
segment = CreateObject(LiftTower_Rope);
segment = CreateObjectAbove(LiftTower_Rope);
return segment;
}
@ -257,4 +257,4 @@ local ActMap = {
Name = "Hide",
},
};
local Name = "$Name$";
local Name = "$Name$";

View File

@ -28,7 +28,7 @@ protected func Initialize()
func OnRopeBreak()
{
if (!hook)
hook = CreateObject(LiftTower_Hook, 0,0, NO_OWNER);
hook = CreateObjectAbove(LiftTower_Hook, 0,0, NO_OWNER);
hook->Enter(this);
}
@ -167,4 +167,4 @@ func Definition(def) {
local Name = "$Name$";
local Description = "$Description$";
local Touchable = 2;
local BlastIncinerate = 100;
local BlastIncinerate = 100;

View File

@ -44,7 +44,7 @@ public func Damage()
private func Destroy()
{
if(Random(maxsize+35)<size) CreateObject(Moss,0,0,-1);
if(Random(maxsize+35)<size) CreateObjectAbove(Moss,0,0,-1);
var particles =
{
Size = PV_Random(3, 7),
@ -92,7 +92,7 @@ protected func Replicate()
if(!good) return ;
for(var i=2+Random(5); i>0; i--)
if(ExtractLiquid(waterpos[0],waterpos[1]) != Material("Water")) return -1;
CreateObject(Moss_Lichen,x,y,-1);
CreateObjectAbove(Moss_Lichen,x,y,-1);
buriedtime = -Random(MOSS_MINBURIED);
}

View File

@ -83,7 +83,7 @@ protected func TryToLichen()
}
if(!good) return ;
CreateObject(Moss_Lichen,x,y,-1);
CreateObjectAbove(Moss_Lichen,x,y,-1);
still = -MOSS_LICHENDELAY-Random(MOSS_LICHENDELAY);
}

View File

@ -35,7 +35,7 @@ public func DoConstructionEffects(object site)
// Site is done immediately
SetCon(100);
// Create TopFace overlay
top_face = CreateObject(GetID(),0,35,GetOwner());
top_face = CreateObjectAbove(GetID(),0,35,GetOwner());
top_face.Plane = this.Plane + 10;
top_face->SetGraphics("TopFace");
top_face->SetAction("Attach", this);
@ -354,4 +354,4 @@ local Collectible = false;
local Name = "$Name$";
local Description = "$Description$";
local Touchable = 0;
local Plane = 280;
local Plane = 280;

View File

@ -16,16 +16,16 @@ static g_is_initialized, g_is_in_intro, g_intro_done, npc_tuesday, g_tuesday_pos
protected func PostIntroInitialize()
{
// Construction site on goal platform
var goal_site = CreateObject(ConstructionSite, goal_platform_x+10, goal_platform_y+3);
var goal_site = CreateObjectAbove(ConstructionSite, goal_platform_x+10, goal_platform_y+3);
goal_site->Set(CrystalCommunicator);
goal_site->MakeUncancellable();
if (SCEN_TEST)
{
for (var i=0; i<6; ++i)
{
goal_site->CreateObject(Metal,-20);
goal_site->CreateObject(Ruby,0);
goal_site->CreateObject(Amethyst,20);
goal_site->CreateObjectAbove(Metal,-20);
goal_site->CreateObjectAbove(Ruby,0);
goal_site->CreateObjectAbove(Amethyst,20);
}
goal_site->CreateContents(Metal,6);
goal_site->CreateContents(Ruby,6);
@ -40,7 +40,7 @@ protected func PostIntroInitialize()
// NPC
g_tuesday_pos = FindMainIslandPosition(0, 100, true);
npc_tuesday = CreateObject(Clonk, g_tuesday_pos[0]+20, g_tuesday_pos[1]-10);
npc_tuesday = CreateObjectAbove(Clonk, g_tuesday_pos[0]+20, g_tuesday_pos[1]-10);
npc_tuesday->SetDir(DIR_Left);
npc_tuesday->SetColor(0x804000);
npc_tuesday->SetName("$Tuesday$");
@ -107,7 +107,7 @@ private func InitEnvironment()
SetSkyParallax(0, 20, 20);
// Ambience sounds
CreateObject(Ambience);
CreateObjectAbove(Ambience);
// No disasters for now
//Meteor->SetChance(5); Cloud->SetLightning(16);
@ -200,7 +200,7 @@ private func InitMainIsland()
// Always start with a lorry filled with: hammer(x2), axe(x2), wood(x6) and metal(x4).
var lorry_pos = FindMainIslandPosition(0, 80);
var lorry = CreateObject(Lorry, lorry_pos[0], lorry_pos[1] - 8);
var lorry = CreateObjectAbove(Lorry, lorry_pos[0], lorry_pos[1] - 8);
lorry->CreateContents(Hammer, 2);
lorry->CreateContents(Axe, 2);
lorry->CreateContents(Wood, 6);
@ -211,13 +211,13 @@ private func InitMainIsland()
if (amount >= 2)
{
pos = FindMainIslandPosition(-120, 20);
CreateObject(Flagpole, pos[0]-7, pos[1]);
var rfp = CreateObject(Flagpole, pos[0]+7, pos[1]);
CreateObjectAbove(Flagpole, pos[0]-7, pos[1]);
var rfp = CreateObjectAbove(Flagpole, pos[0]+7, pos[1]);
rfp->SetNeutral(true);
pos = FindMainIslandPosition(120, 20);
CreateObject(Flagpole, pos[0], pos[1]);
CreateObjectAbove(Flagpole, pos[0], pos[1]);
pos = FindMainIslandPosition(nil, nil, true);
CreateObject(WindGenerator, pos[0], pos[1]);
CreateObjectAbove(WindGenerator, pos[0], pos[1]);
lorry->CreateContents(Wood, 4);
lorry->CreateContents(Metal, 2);
lorry->CreateContents(Pickaxe, 1);
@ -229,11 +229,11 @@ private func InitMainIsland()
if (amount >= 3)
{
pos = FindMainIslandPosition(nil, nil, true);
CreateObject(Sawmill, pos[0], pos[1]);
CreateObjectAbove(Sawmill, pos[0], pos[1]);
pos = FindMainIslandPosition(nil, nil, true);
CreateObject(ChemicalLab, pos[0], pos[1]);
CreateObjectAbove(ChemicalLab, pos[0], pos[1]);
pos = FindMainIslandPosition(nil, nil, true);
CreateObject(ToolsWorkshop, pos[0], pos[1]);
CreateObjectAbove(ToolsWorkshop, pos[0], pos[1]);
lorry->CreateContents(Barrel, 1);
lorry->CreateContents(Bucket, 1);
@ -297,4 +297,4 @@ global func Particles_Smoke(...)
p.DampingX = 800;
}
return p;
}
}

View File

@ -11,9 +11,9 @@ func Intro_Start()
SetWind(-100);
SetSkyParallax(0, 20, 20, -10, 0);
this.plane = CreateObject(Plane, 500, 200);
this.plane = CreateObjectAbove(Plane, 500, 200);
this.plane->SetColor(0xa04000);
this.pilot = CreateObject(Clonk, 100, 100, NO_OWNER);
this.pilot = CreateObjectAbove(Clonk, 100, 100, NO_OWNER);
this.pilot->MakeInvincible();
this.pilot->MakeNonFlammable();
this.pilot->SetSkin(2);

View File

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

View File

@ -66,7 +66,7 @@ public func SelectDestination(object select_clonk, object station)
effect.select_clonk = select_clonk;
effect.station = station;
// Helping object
effect.cablecar_sel = CreateObject(CableCar_Selector, 0,0, select_clonk->GetOwner());
effect.cablecar_sel = CreateObjectAbove(CableCar_Selector, 0,0, select_clonk->GetOwner());
effect.cablecar_sel->FixTo(station);
effect.engaging_station = station;
@ -309,4 +309,4 @@ public func DeliverObjects()
private func DeliveryFailed()
{
}
}

View File

@ -50,7 +50,7 @@ protected func ControlUse(object clonk, int x, int y)
}
else // A new power line needs to be created.
{
line = CreateObject(CableLine, 0, 0, NO_OWNER);
line = CreateObjectAbove(CableLine, 0, 0, NO_OWNER);
line->SetActionTargets(this, obj);
Sound("Connect");
clonk->Message("$TxtConnect$", obj->GetName());

View File

@ -10,28 +10,28 @@
protected func Initialize()
{
var workshop = CreateObject(ToolsWorkshop, 835, 360);
var c1 = CreateObject(CableCrossing, 765, 355);
var c2 = CreateObject(CableCrossing, 695, 415);
var c3 = CreateObject(CableCrossing, 585, 415);
var c4 = CreateObject(CableCrossing, 555, 385);
var cabin = CreateObject(WoodenCabin, 490, 390);
// CreateObject(LiftTower, 935, 360);
var workshop = CreateObjectAbove(ToolsWorkshop, 835, 360);
var c1 = CreateObjectAbove(CableCrossing, 765, 355);
var c2 = CreateObjectAbove(CableCrossing, 695, 415);
var c3 = CreateObjectAbove(CableCrossing, 585, 415);
var c4 = CreateObjectAbove(CableCrossing, 555, 385);
var cabin = CreateObjectAbove(WoodenCabin, 490, 390);
// CreateObjectAbove(LiftTower, 935, 360);
// CreateObject(CableLine)->SetConnectedObjects(workshop, c1);
CreateObject(CableLine)->SetConnectedObjects(c1, c2);
CreateObject(CableLine)->SetConnectedObjects(c2, c3);
CreateObject(CableLine)->SetConnectedObjects(c3, c4);
// CreateObject(CableLine)->SetConnectedObjects(c4, cabin);
// CreateObjectAbove(CableLine)->SetConnectedObjects(workshop, c1);
CreateObjectAbove(CableLine)->SetConnectedObjects(c1, c2);
CreateObjectAbove(CableLine)->SetConnectedObjects(c2, c3);
CreateObjectAbove(CableLine)->SetConnectedObjects(c3, c4);
// CreateObjectAbove(CableLine)->SetConnectedObjects(c4, cabin);
CreateObject(Lorry, 835, 360);
CreateObjectAbove(Lorry, 835, 360);
CreateConstruction(Elevator, 160, 390, NO_OWNER, 100, true)->CreateShaft(150);
// Forest on the left side of the map, with sawmill.
/* for (var i = 0; i < 20; i++)
PlaceVegetation(Tree_Coniferous, 0, 200, 180, 300, 1000 * RandomX(60, 90));
var sawmill = CreateObject(CableCrossing, 190, 390); // TODO: Replace with sawmill
var sawmill = CreateObjectAbove(CableCrossing, 190, 390); // TODO: Replace with sawmill
sawmill->CreateContents(Wood, 10); //TODO: remove if sawmill exists
835, 360
765, 360
@ -40,75 +40,75 @@ protected func Initialize()
555, 390
490, 390
// Foundry to produce metal in the middle of the map.
var foundry = CreateObject(Foundry, 490, 390);
var car = foundry->CreateObject(CableLorry);
var foundry = CreateObjectAbove(Foundry, 490, 390);
var car = foundry->CreateObjectAbove(CableLorry);
car->EngageRail(foundry);
// Chest near the foundry with necessary tools for the player.
var chest = CreateObject(Chest, 530, 390);
var chest = CreateObjectAbove(Chest, 530, 390);
chest->CreateContents(Dynamite, 4);
chest->CreateContents(Shovel, 2);
chest->CreateContents(Hammer, 2);
chest->CreateContents(CableLorryReel, 2);
// Tool workshop on the little mountain.
var tools = CreateObject(ToolsWorkshop, 540, 260);
var tools = CreateObjectAbove(ToolsWorkshop, 540, 260);
// Crossing on island, connected to sawmill, foundry and tool workshop.
/* var cross_isle1 = CreateObject(CableCrossing, 320, 390);
var cross_isle2 = CreateObject(CableCrossing, 360, 390);
var cross_tools1 = CreateObject(CableCrossing, 450, 290);
CreateObject(CableLine)->SetConnectedObjects(cross_isle1, sawmill);
CreateObject(CableLine)->SetConnectedObjects(cross_isle1, cross_isle2);
CreateObject(CableLine)->SetConnectedObjects(cross_isle2, foundry);
CreateObject(CableLine)->SetConnectedObjects(cross_isle2, cross_tools1);
CreateObject(CableLine)->SetConnectedObjects(cross_tools1, tools);*/
/* var cross_isle1 = CreateObjectAbove(CableCrossing, 320, 390);
var cross_isle2 = CreateObjectAbove(CableCrossing, 360, 390);
var cross_tools1 = CreateObjectAbove(CableCrossing, 450, 290);
CreateObjectAbove(CableLine)->SetConnectedObjects(cross_isle1, sawmill);
CreateObjectAbove(CableLine)->SetConnectedObjects(cross_isle1, cross_isle2);
CreateObjectAbove(CableLine)->SetConnectedObjects(cross_isle2, foundry);
CreateObjectAbove(CableLine)->SetConnectedObjects(cross_isle2, cross_tools1);
CreateObjectAbove(CableLine)->SetConnectedObjects(cross_tools1, tools);*/
// Wooden cabin on the granite.
// var cabin = CreateObject(WoodenCabin, 850, 360);
// var cabin = CreateObjectAbove(WoodenCabin, 850, 360);
// Crossings from foundry into the mines.
/* var cross_foundry1 = CreateObject(CableCrossing, 560, 390);
var cross_foundry2 = CreateObject(CableCrossing, 600, 420);
var cross_mine = CreateObject(CableCrossing, 630, 490);
CreateObject(CableLine)->SetConnectedObjects(foundry, cross_foundry1);
CreateObject(CableLine)->SetConnectedObjects(cross_foundry1, cross_foundry2);
CreateObject(CableLine)->SetConnectedObjects(cross_foundry2, cross_mine);*/
/* var cross_foundry1 = CreateObjectAbove(CableCrossing, 560, 390);
var cross_foundry2 = CreateObjectAbove(CableCrossing, 600, 420);
var cross_mine = CreateObjectAbove(CableCrossing, 630, 490);
CreateObjectAbove(CableLine)->SetConnectedObjects(foundry, cross_foundry1);
CreateObjectAbove(CableLine)->SetConnectedObjects(cross_foundry1, cross_foundry2);
CreateObjectAbove(CableLine)->SetConnectedObjects(cross_foundry2, cross_mine);*/
// Crossings from tool workshop to cabin.
/* var cross_tools2 = CreateObject(CableCrossing, 610, 260);
var cross_tools3 = CreateObject(CableCrossing, 670, 310);
var cross_cabin1 = CreateObject(CableCrossing, 760, 360);
CreateObject(CableLine)->SetConnectedObjects(tools, cross_tools2);
CreateObject(CableLine)->SetConnectedObjects(cross_tools2, cross_tools3);
CreateObject(CableLine)->SetConnectedObjects(cross_tools3, cross_cabin1);
/* var cross_tools2 = CreateObjectAbove(CableCrossing, 610, 260);
var cross_tools3 = CreateObjectAbove(CableCrossing, 670, 310);
var cross_cabin1 = CreateObjectAbove(CableCrossing, 760, 360);
CreateObjectAbove(CableLine)->SetConnectedObjects(tools, cross_tools2);
CreateObjectAbove(CableLine)->SetConnectedObjects(cross_tools2, cross_tools3);
CreateObjectAbove(CableLine)->SetConnectedObjects(cross_tools3, cross_cabin1);
// Crossing from cabin to mines.
var cross_minecabin = CreateObject(CableCrossing, 690, 420);
CreateObject(CableLine)->SetConnectedObjects(cross_cabin1, cross_minecabin);
CreateObject(CableLine)->SetConnectedObjects(cross_minecabin, cross_mine);
var cross_minecabin = CreateObjectAbove(CableCrossing, 690, 420);
CreateObjectAbove(CableLine)->SetConnectedObjects(cross_cabin1, cross_minecabin);
CreateObjectAbove(CableLine)->SetConnectedObjects(cross_minecabin, cross_mine);
// Crossings from mine central to ore mine.
var cross_ore1 = CreateObject(CableCrossing, 550, 550);
var cross_ore2 = CreateObject(CableCrossing, 470, 620);
var cross_ore3 = CreateObject(CableCrossing, 370, 650);
var cross_ore4 = CreateObject(CableCrossing, 250, 600);
var cross_ore5 = CreateObject(CableCrossing, 200, 570);
CreateObject(CableLine)->SetConnectedObjects(cross_mine, cross_ore1);
CreateObject(CableLine)->SetConnectedObjects(cross_ore1, cross_ore2);
CreateObject(CableLine)->SetConnectedObjects(cross_ore2, cross_ore3);
CreateObject(CableLine)->SetConnectedObjects(cross_ore3, cross_ore4);
CreateObject(CableLine)->SetConnectedObjects(cross_ore4, cross_ore5);
var cross_ore1 = CreateObjectAbove(CableCrossing, 550, 550);
var cross_ore2 = CreateObjectAbove(CableCrossing, 470, 620);
var cross_ore3 = CreateObjectAbove(CableCrossing, 370, 650);
var cross_ore4 = CreateObjectAbove(CableCrossing, 250, 600);
var cross_ore5 = CreateObjectAbove(CableCrossing, 200, 570);
CreateObjectAbove(CableLine)->SetConnectedObjects(cross_mine, cross_ore1);
CreateObjectAbove(CableLine)->SetConnectedObjects(cross_ore1, cross_ore2);
CreateObjectAbove(CableLine)->SetConnectedObjects(cross_ore2, cross_ore3);
CreateObjectAbove(CableLine)->SetConnectedObjects(cross_ore3, cross_ore4);
CreateObjectAbove(CableLine)->SetConnectedObjects(cross_ore4, cross_ore5);
// A departure into the firestone mine.
var cross_sulph1 = CreateObject(CableCrossing, 290, 670);
var cross_sulph2 = CreateObject(CableCrossing, 250, 700);
CreateObject(CableLine)->SetConnectedObjects(cross_ore3, cross_sulph1);
CreateObject(CableLine)->SetConnectedObjects(cross_sulph1, cross_sulph2);
var cross_sulph1 = CreateObjectAbove(CableCrossing, 290, 670);
var cross_sulph2 = CreateObjectAbove(CableCrossing, 250, 700);
CreateObjectAbove(CableLine)->SetConnectedObjects(cross_ore3, cross_sulph1);
CreateObjectAbove(CableLine)->SetConnectedObjects(cross_sulph1, cross_sulph2);
// A departure into the coal mine.
var cross_coal1 = CreateObject(CableCrossing, 470, 710);
CreateObject(CableLine)->SetConnectedObjects(cross_ore3, cross_coal1);
var cross_coal1 = CreateObjectAbove(CableCrossing, 470, 710);
CreateObjectAbove(CableLine)->SetConnectedObjects(cross_ore3, cross_coal1);
// Some resources are already available in the mines.
cross_ore5->CreateContents(Ore, 10);
@ -120,20 +120,20 @@ protected func Initialize()
DrawMaterialQuad("Earth-earth", 235, 300, 265, 300, 265, 305, 235, 305);
DrawMaterialQuad("Earth-earth", 285, 250, 315, 250, 315, 255, 285, 255);
DrawMaterialQuad("Earth-earth", 235, 200, 265, 200, 265, 205, 235, 205);
var c1 = CreateObject(CableCrossing, 250, 240);
var c2 = CreateObject(CableCrossing, 200, 240);
var c3 = CreateObject(CableCrossing, 250, 290);
var c4 = CreateObject(CableCrossing, 300, 240);
var c5 = CreateObject(CableCrossing, 250, 190);
CreateObject(CableLine)->SetConnectedObjects(c1, c2);
CreateObject(CableLine)->SetConnectedObjects(c1, c3);
CreateObject(CableLine)->SetConnectedObjects(c1, c4);
CreateObject(CableLine)->SetConnectedObjects(c1, c5);
CreateObject(CableLine)->SetConnectedObjects(c2, c3);
CreateObject(CableLine)->SetConnectedObjects(c3, c4);
CreateObject(CableLine)->SetConnectedObjects(c4, c5);
CreateObject(CableLine)->SetConnectedObjects(c5, c2);
CreateObject(CableLorry)->EngageRail(c2);*/
var c1 = CreateObjectAbove(CableCrossing, 250, 240);
var c2 = CreateObjectAbove(CableCrossing, 200, 240);
var c3 = CreateObjectAbove(CableCrossing, 250, 290);
var c4 = CreateObjectAbove(CableCrossing, 300, 240);
var c5 = CreateObjectAbove(CableCrossing, 250, 190);
CreateObjectAbove(CableLine)->SetConnectedObjects(c1, c2);
CreateObjectAbove(CableLine)->SetConnectedObjects(c1, c3);
CreateObjectAbove(CableLine)->SetConnectedObjects(c1, c4);
CreateObjectAbove(CableLine)->SetConnectedObjects(c1, c5);
CreateObjectAbove(CableLine)->SetConnectedObjects(c2, c3);
CreateObjectAbove(CableLine)->SetConnectedObjects(c3, c4);
CreateObjectAbove(CableLine)->SetConnectedObjects(c4, c5);
CreateObjectAbove(CableLine)->SetConnectedObjects(c5, c2);
CreateObjectAbove(CableLorry)->EngageRail(c2);*/
// Structures to cable stations, shouldn't this be automatic?
// TODO: implement a method.
@ -155,7 +155,7 @@ protected func InitializePlayer(int plr)
protected func RelaunchPlayer(int plr)
{
var clonk = CreateObject(Clonk, 0, 0, plr);
var clonk = CreateObjectAbove(Clonk, 0, 0, plr);
clonk->MakeCrewMember(plr);
SetCursor(plr, clonk);
JoinPlayer(plr);
@ -168,4 +168,4 @@ private func JoinPlayer(int plr)
clonk->DoEnergy(100000);
clonk->SetPosition(510, 370);
return;
}
}

View File

@ -1,13 +1,13 @@
func Initialize()
{
CreateObject(OCTier, 48, 100, -1)->TestAnimation("Run");
CreateObject(OCTier, 88, 100, -1)->TestAnimation("Dig");
CreateObject(OCTier, 128, 100, -1)->TestAnimation("Poke");
CreateObject(OCTier, 168, 100, -1)->TestAnimation("Walk");
CreateObjectAbove(OCTier, 48, 100, -1)->TestAnimation("Run");
CreateObjectAbove(OCTier, 88, 100, -1)->TestAnimation("Dig");
CreateObjectAbove(OCTier, 128, 100, -1)->TestAnimation("Poke");
CreateObjectAbove(OCTier, 168, 100, -1)->TestAnimation("Walk");
}
func InitializePlayer(plr)
{
var oct = CreateObject(OCTier, 48, 52, -1);
var oct = CreateObjectAbove(OCTier, 48, 52, -1);
oct->MakeCrewMember(plr);
}

View File

@ -2,105 +2,105 @@
func Initialize()
{
// CreateObject(Ropeladder, 174, 445)->Unroll(-1, 0, 25);
CreateObject(Ropeladder, 328, 564);
CreateObject(Ropeladder, 226, 330);
// CreateObjectAbove(Ropeladder, 174, 445)->Unroll(-1, 0, 25);
CreateObjectAbove(Ropeladder, 328, 564);
CreateObjectAbove(Ropeladder, 226, 330);
CreateObject(Rock, 159, 363);
CreateObject(Rock, 232, 388);
CreateObjectAbove(Rock, 159, 363);
CreateObjectAbove(Rock, 232, 388);
var Anchor1 = CreateObject(Ropebridge_Post, 515, 547);
var Anchor2 = CreateObject(Ropebridge_Post, 602, 538);
var Anchor1 = CreateObjectAbove(Ropebridge_Post, 515, 547);
var Anchor2 = CreateObjectAbove(Ropebridge_Post, 602, 538);
Anchor2->SetObjDrawTransform(-1000, 0, 0, 0, 1000);
Anchor2.Double->SetObjDrawTransform(-1000, 0, 0, 0, 1000);
var bridge = CreateObject(Ropebridge, 515, 547);
var bridge = CreateObjectAbove(Ropebridge, 515, 547);
bridge->MakeBridge(Anchor1, Anchor2);
bridge->SetFragile();
var Anchor1 = CreateObject(Ropebridge_Post, 266, 435+6);
var Anchor2 = CreateObject(Ropebridge_Post, 346, 473+6);
var Anchor1 = CreateObjectAbove(Ropebridge_Post, 266, 435+6);
var Anchor2 = CreateObjectAbove(Ropebridge_Post, 346, 473+6);
Anchor2->SetObjDrawTransform(-1000, 0, 0, 0, 1000);
Anchor2.Double->SetObjDrawTransform(-1000, 0, 0, 0, 1000);
CreateObject(Ropebridge, 515, 547)->MakeBridge(Anchor1, Anchor2);
CreateObject(Branch, 505, 547);
CreateObject(Rock,495, 547);
// CreateObject(Ropeladder, 197, 432)->MakeBridge(Rock1, Rock2);
CreateObjectAbove(Ropebridge, 515, 547)->MakeBridge(Anchor1, Anchor2);
CreateObjectAbove(Branch, 505, 547);
CreateObjectAbove(Rock,495, 547);
// CreateObjectAbove(Ropeladder, 197, 432)->MakeBridge(Rock1, Rock2);
// for(var i = 0; i < 10; i++)
// bridge->CreateObject(Zap, RandomX(-30,30), -40+RandomX(-30,30));
// bridge->CreateObjectAbove(Zap, RandomX(-30,30), -40+RandomX(-30,30));
var obj;
obj = CreateObject(Branch, 395, 484);
obj = CreateObjectAbove(Branch, 395, 484);
obj->SetR(40);
obj->SetProperty("MeshTransformation", [-1000, 0, 0, 0, 0, 1000, 0, 0, 0, 0, -1000, 0]);
obj.Plane = 400;
obj = CreateObject(Branch, 433, 509);
obj = CreateObjectAbove(Branch, 433, 509);
obj->SetR(-26);
obj->SetProperty("MeshTransformation", [-602, 0, -799, 0, 0, 1000, 0, 0, 799, 0, -602, 0]);
obj.Plane = 400;
obj = CreateObject(Branch, 448, 517);
obj = CreateObjectAbove(Branch, 448, 517);
obj->SetR(24);
obj->SetProperty("MeshTransformation", [-848, 0, 530, 0, 0, 1000, 0, 0, -530, 0, -848, 0]);
obj.Plane = 100;
obj = CreateObject(Branch, 366, 482);
obj = CreateObjectAbove(Branch, 366, 482);
obj->SetR(16);
obj->SetProperty("MeshTransformation", [-999, 0, -52, 0, 0, 1000, 0, 0, 52, 0, -999, 0]);
obj.Plane = 100;
obj = CreateObject(Branch, 501, 548);
obj = CreateObjectAbove(Branch, 501, 548);
obj->SetR(-16);
obj->SetProperty("MeshTransformation", [629, 0, 777, 0, 0, 1000, 0, 0, -777, 0, 629, 0]);
obj.Plane = 100;
obj = CreateObject(Branch, 417, 474);
obj = CreateObjectAbove(Branch, 417, 474);
obj->SetR(-4);
obj->SetProperty("MeshTransformation", [978, 0, 208, 0, 0, 1000, 0, 0, -208, 0, 978, 0]);
obj.Plane = 100;
obj = CreateObject(Branch, 482, 532);
obj = CreateObjectAbove(Branch, 482, 532);
obj->SetR(11);
obj->SetProperty("MeshTransformation", [743, 0, 669, 0, 0, 1000, 0, 0, -669, 0, 743, 0]);
obj.Plane = 100;
obj = CreateObject(Branch, 468, 511);
obj = CreateObjectAbove(Branch, 468, 511);
obj->SetR(40);
obj->SetProperty("MeshTransformation", [-423, 0, 906, 0, 0, 1000, 0, 0, -906, 0, -423, 0]);
obj.Plane = -400;
obj = CreateObject(Trunk, 402, 507);
obj = CreateObjectAbove(Trunk, 402, 507);
obj->SetR(10);
obj->SetProperty("MeshTransformation", [940, 0, 342, 0, 0, 1000, 0, 0, -342, 0, 940, 0]);
obj.Plane = 100;
obj = CreateObject(Trunk, 456, 545);
obj = CreateObjectAbove(Trunk, 456, 545);
obj->SetR(120);
obj->SetProperty("MeshTransformation", [-906, 0, -423, 0, 0, 1000, 0, 0, 423, 0, -906, 0]);
obj.Plane = -40;
obj = CreateObject(Tree_Coniferous, 375, 483);
obj = CreateObjectAbove(Tree_Coniferous, 375, 483);
obj->SetProperty("MeshTransformation", [139, 0, 990, 0, 0, 1000, 0, 0, -990, 0, 139, 0]);
obj.Plane = 100;
obj = CreateObject(Tree_Coniferous, 455, 526);
obj = CreateObjectAbove(Tree_Coniferous, 455, 526);
obj->SetProperty("MeshTransformation", [276, 0, 961, 0, 0, 1000, 0, 0, -961, 0, 276, 0]);
obj.Plane = 100;
obj = CreateObject(BigRock, 497, 561);
obj = CreateObjectAbove(BigRock, 497, 561);
obj->SetProperty("MeshTransformation", [1003, -29, 18, 0, 0, -313, -521, 0, 44, 1096, -658, 0]);
obj.Plane = 100;
obj = CreateObject(BigRock, 448, 527);
obj = CreateObjectAbove(BigRock, 448, 527);
obj->SetProperty("MeshTransformation", [916, 133, -534, 0, 0, -1124, -280, 0, -354, 142, -571, 0]);
obj.Plane = -100;
obj = CreateObject(BigRock, 363, 491);
obj = CreateObjectAbove(BigRock, 363, 491);
obj->SetProperty("MeshTransformation", [-782, 469, 16, 0, 0, -40, 1162, 0, 465, 772, 27, 0]);
obj.Plane = -400;
obj = CreateObject(BigRock, 417, 512);
obj = CreateObjectAbove(BigRock, 417, 512);
obj->SetProperty("MeshTransformation", [-759, -552, 9, 0, 0, -22, -1337, 0, 465, -639, 10, 0]);
obj.Plane = -400;
obj = CreateObject(Fern, 468, 530);
obj = CreateObjectAbove(Fern, 468, 530);
obj->SetProperty("MeshTransformation", [-156, 0, 988, 0, 0, 1000, 0, 0, -988, 0, -156, 0]);
obj.Plane = 400;
obj = CreateObject(Fern, 383, 481);
obj = CreateObjectAbove(Fern, 383, 481);
obj->SetProperty("MeshTransformation", [-891, 0, -454, 0, 0, 1000, 0, 0, 454, 0, -891, 0]);
obj.Plane = 100;
obj = CreateObject(Fern, 422, 512);
obj = CreateObjectAbove(Fern, 422, 512);
obj->SetProperty("MeshTransformation", [921, 0, -391, 0, 0, 1000, 0, 0, 391, 0, 921, 0]);
obj.Plane = 100;
obj = CreateObject(Mushroom, 368, 482);
obj = CreateObjectAbove(Mushroom, 368, 482);
obj->SetProperty("MeshTransformation", [-999, 0, 35, 0, 0, 1000, 0, 0, -35, 0, -999, 0]);
obj.Plane = 500;
obj = CreateObject(Mushroom, 472, 532);
obj = CreateObjectAbove(Mushroom, 472, 532);
obj->SetProperty("MeshTransformation", [-707, 0, 707, 0, 0, 1000, 0, 0, -707, 0, -707, 0]);
obj.Plane = 500;
}
@ -112,7 +112,7 @@ func SerializeObjects(ids)
for( findid in ids)
for(var obj in FindObjects(Find_ID(findid)))
{
Log("obj = CreateObject(%i, %d, %d);", findid, obj->GetX(), obj->GetDefBottom());
Log("obj = CreateObjectAbove(%i, %d, %d);", findid, obj->GetX(), obj->GetDefBottom());
if(obj->GetR())
Log("obj->SetR(%d);", obj->GetR());
if(obj->GetProperty("MeshTransformation"))
@ -130,7 +130,7 @@ func InitializePlayer(int iPlr, int iX, int iY, object pBase, int iTeam)
func RelaunchPlayer(int iPlr)
{
var clonk = CreateObject(Clonk, 0, 0, iPlr);
var clonk = CreateObjectAbove(Clonk, 0, 0, iPlr);
clonk->MakeCrewMember(iPlr);
SetCursor(iPlr,clonk);
JoinPlayer(iPlr);
@ -145,6 +145,6 @@ func InitializePlayer(int iPlr, int iX, int iY, object pBase, int iTeam)
clonk->CreateContents(LeadShot);
clonk->CreateContents(GrappleBow);
clonk->CreateContents(Bow);
clonk->Collect(CreateObject(Arrow));
clonk->Collect(CreateObjectAbove(Arrow));
return;
}
}

View File

@ -2,14 +2,14 @@
func Initialize()
{
CreateObject(Raiders_FrontTower, -113, 85, NO_OWNER);
CreateObjectAbove(Raiders_FrontTower, -113, 85, NO_OWNER);
// First floor
CreateObject(Raiders_CastleFloor, -52, 51, NO_OWNER)->SetBreaky(1+Random(2));
CreateObject(Raiders_CastleFloor, 35, 51, NO_OWNER)->SetBreaky(1+Random(2));
CreateObjectAbove(Raiders_CastleFloor, -52, 51, NO_OWNER)->SetBreaky(1+Random(2));
CreateObjectAbove(Raiders_CastleFloor, 35, 51, NO_OWNER)->SetBreaky(1+Random(2));
// Second floor
CreateObject(Raiders_CastleFloor, 88, 11, NO_OWNER)->SetBreaky(1+Random(2));
CreateObject(Raiders_CastleFloor, 1, 11, NO_OWNER)->SetBreaky(1+Random(2));
CreateObjectAbove(Raiders_CastleFloor, 88, 11, NO_OWNER)->SetBreaky(1+Random(2));
CreateObjectAbove(Raiders_CastleFloor, 1, 11, NO_OWNER)->SetBreaky(1+Random(2));
// Third floor
CreateObject(Raiders_CastleFloor, -52, -29, NO_OWNER)->SetBreaky(3);
CreateObject(Raiders_CastleFloor, 35, -29, NO_OWNER)->SetBreaky(3);
}
CreateObjectAbove(Raiders_CastleFloor, -52, -29, NO_OWNER)->SetBreaky(3);
CreateObjectAbove(Raiders_CastleFloor, 35, -29, NO_OWNER)->SetBreaky(3);
}

View File

@ -12,7 +12,7 @@ static is_initialized;
func Initialize()
{
// Goal: Script goal.
var goal = CreateObject(Goal_Script);
var goal = CreateObjectAbove(Goal_Script);
goal.Description = "$GoalDesc1$";
// Vegetation
@ -20,7 +20,7 @@ func Initialize()
PlaceGrass(20, 0,106);
// The castle
CreateObject(Raiders_CastleBack, 1068, 256, NO_OWNER);
CreateObjectAbove(Raiders_CastleBack, 1068, 256, NO_OWNER);
}
// Player related supplies and structures
@ -30,11 +30,11 @@ func DoInit(int plr)
if (is_initialized) return;
// Supplies
var crate = CreateObject(Crate, 30, FindHeight(30), plr);
var crate = CreateObjectAbove(Crate, 30, FindHeight(30), plr);
crate->CreateContents(Shovel);
crate->CreateContents(Hammer);
crate->CreateContents(Axe);
crate = CreateObject(Crate, 45, FindHeight(30), plr);
crate = CreateObjectAbove(Crate, 45, FindHeight(30), plr);
crate->CreateContents(Bread, 3);
// A flag
@ -53,4 +53,4 @@ protected func InitializePlayer(int plr)
crew->SetPosition(x, FindHeight(x)-10);
DoInit(plr);
}
}

View File

@ -18,11 +18,11 @@
func Initialize()
{
// Setup testing environment: one object for context, a second object at the context object, one object at 0,0
var ctx = CreateObject(Dummy, 100, 100, NO_OWNER);
var ctx = CreateObjectAbove(Dummy, 100, 100, NO_OWNER);
ctx->SetName("ctx");
var at_origin = CreateObject(Dummy, 0, 0, NO_OWNER);
var at_origin = CreateObjectAbove(Dummy, 0, 0, NO_OWNER);
at_origin->SetName("at_origin");
var at_object = CreateObject(Dummy, ctx->GetX(), ctx->GetY(), NO_OWNER);
var at_object = CreateObjectAbove(Dummy, ctx->GetX(), ctx->GetY(), NO_OWNER);
at_object->SetName("at_object");
TEST("object context Find_Distance");

View File

@ -2,194 +2,194 @@
func InitializeObjects()
{
CreateObject(Tree_Coniferous, 1864, 236);
CreateObject(Tree_Coniferous, 1904, 268);
CreateObject(Tree_Coniferous, 1976, 260);
CreateObject(Tree_Coniferous, 1939, 267);
CreateObject(Tree_Coniferous, 2020, 244);
var Tree_Coniferous0021 = CreateObject(Tree_Coniferous, 1758, 149);
CreateObjectAbove(Tree_Coniferous, 1864, 236);
CreateObjectAbove(Tree_Coniferous, 1904, 268);
CreateObjectAbove(Tree_Coniferous, 1976, 260);
CreateObjectAbove(Tree_Coniferous, 1939, 267);
CreateObjectAbove(Tree_Coniferous, 2020, 244);
var Tree_Coniferous0021 = CreateObjectAbove(Tree_Coniferous, 1758, 149);
Tree_Coniferous0021->SetR(65);
Tree_Coniferous0021->SetPosition(1758, 130);
CreateObject(Tree_Coniferous, 1997, 255);
CreateObject(Tree_Coniferous, 1959, 271);
CreateObjectAbove(Tree_Coniferous, 1997, 255);
CreateObjectAbove(Tree_Coniferous, 1959, 271);
CreateObject(Trunk, 1924, 272);
CreateObjectAbove(Trunk, 1924, 272);
CreateObject(Rule_TeamAccount, 50, 40);
CreateObjectAbove(Rule_TeamAccount, 50, 40);
CreateObject(Rule_BuyAtFlagpole, 50, 40);
CreateObjectAbove(Rule_BuyAtFlagpole, 50, 40);
var Goal_AcidDrilling0036 = CreateObject(Goal_AcidDrilling, 0, -10);
var Goal_AcidDrilling0036 = CreateObjectAbove(Goal_AcidDrilling, 0, -10);
Goal_AcidDrilling0036->SetBasinPosition(2338, 250);
var Chest0040 = CreateObject(Chest, 71, 222);
var Chest0040 = CreateObjectAbove(Chest, 71, 222);
var Catapult0041 = CreateObject(Catapult, 1063, 225);
var Catapult0041 = CreateObjectAbove(Catapult, 1063, 225);
Catapult0041->SetCon(64);
Catapult0041->SetRDir(-7);
Catapult0041->SetClrModulation(0xff808080);
var Lorry0042 = CreateObject(Lorry, 1169, 666);
var Lorry0042 = CreateObjectAbove(Lorry, 1169, 666);
Lorry0042->SetR(-5);
Lorry0042->SetRDir(6);
Lorry0042->SetPosition(1169, 658);
var Ore0044 = CreateObject(Ore, 1845, 299);
var Ore0044 = CreateObjectAbove(Ore, 1845, 299);
Ore0044->SetR(151);
Ore0044->SetPosition(1845, 297);
var Ore0045 = CreateObject(Ore, 1544, 206);
var Ore0045 = CreateObjectAbove(Ore, 1544, 206);
Ore0045->SetR(-129);
Ore0045->SetPosition(1544, 204);
var Ore0046 = CreateObject(Ore, 1568, 176);
var Ore0046 = CreateObjectAbove(Ore, 1568, 176);
Ore0046->SetR(-48);
Ore0046->SetPosition(1568, 175);
var Ore0047 = CreateObject(Ore, 1667, 231);
var Ore0047 = CreateObjectAbove(Ore, 1667, 231);
Ore0047->SetR(-166);
Ore0047->SetPosition(1667, 230);
var Ore0048 = CreateObject(Ore, 2197, 403);
var Ore0048 = CreateObjectAbove(Ore, 2197, 403);
Ore0048->SetR(145);
Ore0048->SetPosition(2197, 401);
var Ore0049 = CreateObject(Ore, 730, 345);
var Ore0049 = CreateObjectAbove(Ore, 730, 345);
Ore0049->SetR(-99);
Ore0049->SetPosition(730, 343);
var Ore0050 = CreateObject(Ore, 1326, 174);
var Ore0050 = CreateObjectAbove(Ore, 1326, 174);
Ore0050->SetR(86);
Ore0050->SetPosition(1326, 172);
var Ore0051 = CreateObject(Ore, 1321, 211);
var Ore0051 = CreateObjectAbove(Ore, 1321, 211);
Ore0051->SetR(121);
Ore0051->SetPosition(1321, 209);
var Ore0052 = CreateObject(Ore, 810, 98);
var Ore0052 = CreateObjectAbove(Ore, 810, 98);
Ore0052->SetR(-168);
Ore0052->SetPosition(810, 97);
var Ore0053 = CreateObject(Ore, 250, 166);
var Ore0053 = CreateObjectAbove(Ore, 250, 166);
Ore0053->SetR(-171);
Ore0053->SetPosition(250, 165);
var Ore0054 = CreateObject(Ore, 271, 89);
var Ore0054 = CreateObjectAbove(Ore, 271, 89);
Ore0054->SetR(122);
Ore0054->SetPosition(271, 87);
var Ore0055 = CreateObject(Ore, 539, 571);
var Ore0055 = CreateObjectAbove(Ore, 539, 571);
Ore0055->SetR(109);
Ore0055->SetPosition(539, 569);
var Ore0056 = CreateObject(Ore, 392, 613);
var Ore0056 = CreateObjectAbove(Ore, 392, 613);
Ore0056->SetR(-144);
Ore0056->SetPosition(392, 611);
var Ore0057 = CreateObject(Ore, 462, 523);
var Ore0057 = CreateObjectAbove(Ore, 462, 523);
Ore0057->SetR(67);
Ore0057->SetPosition(462, 522);
var Loam0058 = CreateObject(Loam, 1144, 170);
var Loam0058 = CreateObjectAbove(Loam, 1144, 170);
Loam0058->SetR(-122);
Loam0058->SetPosition(1144, 168);
var Loam0059 = CreateObject(Loam, 1553, 360);
var Loam0059 = CreateObjectAbove(Loam, 1553, 360);
Loam0059->SetR(-95);
Loam0059->SetPosition(1553, 360);
var Loam0060 = CreateObject(Loam, 1353, 334);
var Loam0060 = CreateObjectAbove(Loam, 1353, 334);
Loam0060->SetR(-84);
Loam0060->SetPosition(1353, 334);
var Loam0061 = CreateObject(Loam, 915, 517);
var Loam0061 = CreateObjectAbove(Loam, 915, 517);
Loam0061->SetR(-154);
Loam0061->SetPosition(915, 514);
var Loam0062 = CreateObject(Loam, 867, 291);
var Loam0062 = CreateObjectAbove(Loam, 867, 291);
Loam0062->SetR(-79);
Loam0062->SetPosition(867, 290);
var Loam0063 = CreateObject(Loam, 891, 138);
var Loam0063 = CreateObjectAbove(Loam, 891, 138);
Loam0063->SetR(59);
Loam0063->SetPosition(891, 136);
var Loam0064 = CreateObject(Loam, 880, 107);
var Loam0064 = CreateObjectAbove(Loam, 880, 107);
Loam0064->SetR(-169);
Loam0064->SetPosition(880, 104);
var Loam0065 = CreateObject(Loam, 636, 226);
var Loam0065 = CreateObjectAbove(Loam, 636, 226);
Loam0065->SetR(13);
Loam0065->SetPosition(636, 223);
var Loam0066 = CreateObject(Loam, 555, 255);
var Loam0066 = CreateObjectAbove(Loam, 555, 255);
Loam0066->SetR(-171);
Loam0066->SetPosition(555, 252);
var Loam0067 = CreateObject(Loam, 1880, 270);
var Loam0067 = CreateObjectAbove(Loam, 1880, 270);
Loam0067->SetR(48);
Loam0067->SetPosition(1880, 268);
var Loam0068 = CreateObject(Loam, 2029, 265);
var Loam0068 = CreateObjectAbove(Loam, 2029, 265);
Loam0068->SetR(-6);
Loam0068->SetPosition(2029, 262);
var Loam0069 = CreateObject(Loam, 1706, 160);
var Loam0069 = CreateObjectAbove(Loam, 1706, 160);
Loam0069->SetR(-108);
Loam0069->SetPosition(1706, 159);
var Loam0070 = CreateObject(Loam, 87, 262);
var Loam0070 = CreateObjectAbove(Loam, 87, 262);
Loam0070->SetR(31);
Loam0070->SetPosition(87, 259);
var Loam0071 = CreateObject(Loam, 478, 305);
var Loam0071 = CreateObjectAbove(Loam, 478, 305);
Loam0071->SetR(-173);
Loam0071->SetPosition(478, 302);
var Loam0072 = CreateObject(Loam, 613, 395);
var Loam0072 = CreateObjectAbove(Loam, 613, 395);
Loam0072->SetR(114);
Loam0072->SetPosition(613, 394);
var Loam0073 = CreateObject(Loam, 736, 377);
var Loam0073 = CreateObjectAbove(Loam, 736, 377);
Loam0073->SetR(142);
Loam0073->SetPosition(736, 375);
var Loam0074 = CreateObject(Loam, 675, 384);
var Loam0074 = CreateObjectAbove(Loam, 675, 384);
Loam0074->SetR(125);
Loam0074->SetPosition(675, 382);
var Loam0075 = CreateObject(Loam, 1711, 520);
var Loam0075 = CreateObjectAbove(Loam, 1711, 520);
Loam0075->SetR(-52);
Loam0075->SetPosition(1711, 518);
var Loam0076 = CreateObject(Loam, 1671, 480);
var Loam0076 = CreateObjectAbove(Loam, 1671, 480);
Loam0076->SetR(131);
Loam0076->SetPosition(1671, 478);
var Loam0077 = CreateObject(Loam, 1987, 659);
var Loam0077 = CreateObjectAbove(Loam, 1987, 659);
Loam0077->SetR(137);
Loam0077->SetPosition(1987, 657);
var Loam0078 = CreateObject(Loam, 2243, 681);
var Loam0078 = CreateObjectAbove(Loam, 2243, 681);
Loam0078->SetR(103);
Loam0078->SetPosition(2243, 680);
var Loam0079 = CreateObject(Loam, 1535, 676);
var Loam0079 = CreateObjectAbove(Loam, 1535, 676);
Loam0079->SetR(-50);
Loam0079->SetPosition(1535, 674);
var Loam0080 = CreateObject(Loam, 2008, 456);
var Loam0080 = CreateObjectAbove(Loam, 2008, 456);
Loam0080->SetR(-152);
Loam0080->SetPosition(2008, 453);
var Loam0081 = CreateObject(Loam, 2030, 446);
var Loam0081 = CreateObjectAbove(Loam, 2030, 446);
Loam0081->SetR(-136);
Loam0081->SetPosition(2030, 444);
Lorry0042->CreateContents(Loam);
Lorry0042->CreateContents(Loam);
var Nugget0084 = CreateObject(Nugget, 1421, 557);
var Nugget0084 = CreateObjectAbove(Nugget, 1421, 557);
Nugget0084->SetR(16);
Nugget0084->SetPosition(1421, 556);
var Nugget0085 = CreateObject(Nugget, 1391, 516);
var Nugget0085 = CreateObjectAbove(Nugget, 1391, 516);
Nugget0085->SetR(-23);
Nugget0085->SetPosition(1391, 515);
var Nugget0086 = CreateObject(Nugget, 1339, 563);
var Nugget0086 = CreateObjectAbove(Nugget, 1339, 563);
Nugget0086->SetR(-179);
Nugget0086->SetPosition(1339, 562);
var Nugget0087 = CreateObject(Nugget, 727, 566);
var Nugget0087 = CreateObjectAbove(Nugget, 727, 566);
Nugget0087->SetR(-159);
Nugget0087->SetPosition(727, 564);
var Nugget0088 = CreateObject(Nugget, 111, 405);
var Nugget0088 = CreateObjectAbove(Nugget, 111, 405);
Nugget0088->SetR(4);
Nugget0088->SetPosition(111, 404);
var Nugget0089 = CreateObject(Nugget, 70, 349);
var Nugget0089 = CreateObjectAbove(Nugget, 70, 349);
Nugget0089->SetR(106);
Nugget0089->SetPosition(70, 347);
var Nugget0090 = CreateObject(Nugget, 72, 293);
var Nugget0090 = CreateObjectAbove(Nugget, 72, 293);
Nugget0090->SetR(-117);
Nugget0090->SetPosition(72, 291);
var Metal0091 = CreateObject(Metal, 1551, 254);
var Metal0091 = CreateObjectAbove(Metal, 1551, 254);
Metal0091->SetR(-35);
Metal0091->SetPosition(1551, 251);
var Metal0092 = CreateObject(Metal, 2172, 409);
var Metal0092 = CreateObjectAbove(Metal, 2172, 409);
Metal0092->SetR(70);
Metal0092->SetPosition(2172, 404);
var Metal0093 = CreateObject(Metal, 1827, 279);
var Metal0093 = CreateObjectAbove(Metal, 1827, 279);
Metal0093->SetR(-3);
Metal0093->SetPosition(1827, 279);
var Metal0094 = CreateObject(Metal, 175, 680);
var Metal0094 = CreateObjectAbove(Metal, 175, 680);
Metal0094->SetR(148);
Metal0094->SetPosition(175, 677);
var Metal0095 = CreateObject(Metal, 205, 701);
var Metal0095 = CreateObjectAbove(Metal, 205, 701);
Metal0095->SetR(-50);
Metal0095->SetPosition(205, 697);
var Metal0096 = CreateObject(Metal, 571, 583);
var Metal0096 = CreateObjectAbove(Metal, 571, 583);
Metal0096->SetR(166);
Metal0096->SetPosition(571, 582);
Chest0040->CreateContents(Metal);
@ -197,28 +197,28 @@ func InitializeObjects()
Chest0040->CreateContents(Metal);
Chest0040->CreateContents(Metal);
var Wood0101 = CreateObject(Wood, 79, 683);
var Wood0101 = CreateObjectAbove(Wood, 79, 683);
Wood0101->SetR(44);
Wood0101->SetPosition(79, 680);
var Wood0102 = CreateObject(Wood, 148, 682);
var Wood0102 = CreateObjectAbove(Wood, 148, 682);
Wood0102->SetR(-23);
Wood0102->SetPosition(148, 680);
var Wood0103 = CreateObject(Wood, 60, 683);
var Wood0103 = CreateObjectAbove(Wood, 60, 683);
Wood0103->SetR(36);
Wood0103->SetPosition(60, 680);
var Wood0104 = CreateObject(Wood, 68, 682);
var Wood0104 = CreateObjectAbove(Wood, 68, 682);
Wood0104->SetR(-37);
Wood0104->SetPosition(68, 680);
var Wood0105 = CreateObject(Wood, 2030, 690);
var Wood0105 = CreateObjectAbove(Wood, 2030, 690);
Wood0105->SetR(-84);
Wood0105->SetPosition(2030, 686);
var Wood0106 = CreateObject(Wood, 2035, 465);
var Wood0106 = CreateObjectAbove(Wood, 2035, 465);
Wood0106->SetR(95);
Wood0106->SetPosition(2035, 460);
var Wood0107 = CreateObject(Wood, 1734, 467);
var Wood0107 = CreateObjectAbove(Wood, 1734, 467);
Wood0107->SetR(-163);
Wood0107->SetPosition(1734, 466);
var Wood0108 = CreateObject(Wood, 1933, 436);
var Wood0108 = CreateObjectAbove(Wood, 1933, 436);
Wood0108->SetR(25);
Wood0108->SetPosition(1933, 434);
Chest0040->CreateContents(Wood);
@ -234,7 +234,7 @@ func InitializeObjects()
Chest0040->CreateContents(GoldBar);
Lorry0042->CreateContents(GoldBar);
CreateObject(Mushroom, 1677, 232);
CreateObjectAbove(Mushroom, 1677, 232);
Chest0040->CreateContents(WallKit);
Chest0040->CreateContents(WallKit);
@ -248,20 +248,20 @@ func InitializeObjects()
Chest0040->CreateContents(Bread);
Chest0040->CreateContents(Bread);
CreateObject(Firestone, 2082, 328);
CreateObject(Firestone, 2171, 289);
CreateObject(Firestone, 1672, 119);
CreateObject(Firestone, 1856, 272);
CreateObject(Firestone, 1332, 220);
CreateObject(Firestone, 1264, 131);
CreateObject(Firestone, 1157, 366);
CreateObject(Firestone, 1134, 446);
CreateObject(Firestone, 597, 144);
CreateObject(Firestone, 833, 94);
CreateObject(Firestone, 451, 505);
CreateObject(Firestone, 557, 567);
CreateObject(Firestone, 153, 482);
CreateObject(Firestone, 251, 511);
CreateObject(Firestone, 263, 149);
CreateObjectAbove(Firestone, 2082, 328);
CreateObjectAbove(Firestone, 2171, 289);
CreateObjectAbove(Firestone, 1672, 119);
CreateObjectAbove(Firestone, 1856, 272);
CreateObjectAbove(Firestone, 1332, 220);
CreateObjectAbove(Firestone, 1264, 131);
CreateObjectAbove(Firestone, 1157, 366);
CreateObjectAbove(Firestone, 1134, 446);
CreateObjectAbove(Firestone, 597, 144);
CreateObjectAbove(Firestone, 833, 94);
CreateObjectAbove(Firestone, 451, 505);
CreateObjectAbove(Firestone, 557, 567);
CreateObjectAbove(Firestone, 153, 482);
CreateObjectAbove(Firestone, 251, 511);
CreateObjectAbove(Firestone, 263, 149);
return true;
}

View File

@ -43,7 +43,7 @@ func InitializePlayer(int plr)
private func InitPowerCrystals(int owner)
{
var positions = [[1013, 59], [1030, 320], [1050, 500], [1000, 660]];
for (var pos in positions) CreateObject(PowerCrystals, pos[0], pos[1]+16, owner);
for (var pos in positions) CreateObjectAbove(PowerCrystals, pos[0], pos[1]+16, owner);
return true;
}
@ -51,7 +51,7 @@ private func InitBase(int owner)
{
// Create standard base owned by player
var y=232;
var lorry = CreateObject(Lorry, 2040,y-2, owner);
var lorry = CreateObjectAbove(Lorry, 2040,y-2, owner);
if (lorry)
{
lorry->CreateContents(Loam, 6);
@ -64,16 +64,16 @@ private func InitBase(int owner)
lorry->CreateContents(Dynamite, 2);
lorry->CreateContents(Pipe, 2);
}
CreateObject(Pump, 2062,y, owner);
CreateObject(Flagpole, 2085,y, owner);
CreateObject(WindGenerator, 2110, y, owner);
CreateObject(ToolsWorkshop, 2150, y, owner);
CreateObject(WindGenerator, 2200, y, owner);
CreateObject(WoodenCabin, 2250, y, owner);
CreateObjectAbove(Pump, 2062,y, owner);
CreateObjectAbove(Flagpole, 2085,y, owner);
CreateObjectAbove(WindGenerator, 2110, y, owner);
CreateObjectAbove(ToolsWorkshop, 2150, y, owner);
CreateObjectAbove(WindGenerator, 2200, y, owner);
CreateObjectAbove(WoodenCabin, 2250, y, owner);
CreateObject(Foundry, 1793, y, owner);
CreateObject(Flagpole, 1819, y, owner);
CreateObject(Sawmill, 1845, y, owner);
CreateObjectAbove(Foundry, 1793, y, owner);
CreateObjectAbove(Flagpole, 1819, y, owner);
CreateObjectAbove(Sawmill, 1845, y, owner);
return true;
}

View File

@ -2,157 +2,157 @@
func InitializeObjects()
{
CreateObject(Grass, 555, 551);
CreateObject(Grass, 533, 550);
CreateObject(Grass, 1306, 706);
CreateObjectAbove(Grass, 555, 551);
CreateObjectAbove(Grass, 533, 550);
CreateObjectAbove(Grass, 1306, 706);
var Rule_BaseRespawn001 = CreateObject(Rule_BaseRespawn, 0, 0);
var Rule_BaseRespawn001 = CreateObjectAbove(Rule_BaseRespawn, 0, 0);
Rule_BaseRespawn001->SetInventoryTransfer(true);
Rule_BaseRespawn001->SetFreeCrew(true);
CreateObject(Tree_Coniferous, 380, 877);
CreateObject(Tree_Coniferous, 210, 875);
CreateObject(Tree_Coniferous, 207, 871);
CreateObject(Tree_Coniferous, 252, 872);
CreateObject(Tree_Coniferous, 367, 874);
CreateObject(Tree_Coniferous, 309, 871);
CreateObject(Tree_Coniferous, 179, 874);
CreateObject(Tree_Coniferous, 271, 874);
CreateObject(Tree_Coniferous, 423, 547);
CreateObject(Tree_Coniferous, 496, 560);
CreateObject(Tree_Coniferous, 322, 554);
CreateObject(Tree_Coniferous, 1339, 367);
CreateObject(Tree_Coniferous, 1357, 360);
CreateObject(Tree_Coniferous, 1393, 314);
CreateObject(Tree_Coniferous, 1304, 387);
CreateObjectAbove(Tree_Coniferous, 380, 877);
CreateObjectAbove(Tree_Coniferous, 210, 875);
CreateObjectAbove(Tree_Coniferous, 207, 871);
CreateObjectAbove(Tree_Coniferous, 252, 872);
CreateObjectAbove(Tree_Coniferous, 367, 874);
CreateObjectAbove(Tree_Coniferous, 309, 871);
CreateObjectAbove(Tree_Coniferous, 179, 874);
CreateObjectAbove(Tree_Coniferous, 271, 874);
CreateObjectAbove(Tree_Coniferous, 423, 547);
CreateObjectAbove(Tree_Coniferous, 496, 560);
CreateObjectAbove(Tree_Coniferous, 322, 554);
CreateObjectAbove(Tree_Coniferous, 1339, 367);
CreateObjectAbove(Tree_Coniferous, 1357, 360);
CreateObjectAbove(Tree_Coniferous, 1393, 314);
CreateObjectAbove(Tree_Coniferous, 1304, 387);
CreateObject(Fern, 1331, 704);
CreateObject(Fern, 1468, 664);
CreateObject(Fern, 1583, 696);
CreateObjectAbove(Fern, 1331, 704);
CreateObjectAbove(Fern, 1468, 664);
CreateObjectAbove(Fern, 1583, 696);
var Lichen001 = CreateObject(Lichen, 1377, 696);
var Lichen001 = CreateObjectAbove(Lichen, 1377, 696);
Lichen001->SetAction("Grow");
Lichen001->SetPhase(3);
var Lichen002 = CreateObject(Lichen, 1514, 696);
var Lichen002 = CreateObjectAbove(Lichen, 1514, 696);
Lichen002->SetAction("Grow");
Lichen002->SetPhase(3);
var Branch001 = CreateObject(Branch, 1352, 447);
var Branch001 = CreateObjectAbove(Branch, 1352, 447);
Branch001->SetR(170);
Branch001->SetPosition(1352, 435);
var Branch002 = CreateObject(Branch, 1427, 453);
var Branch002 = CreateObjectAbove(Branch, 1427, 453);
Branch002->SetR(160);
Branch002->SetPosition(1427, 442);
var Branch003 = CreateObject(Branch, 1430, 460);
var Branch003 = CreateObjectAbove(Branch, 1430, 460);
Branch003->SetR(150);
Branch003->SetPosition(1430, 450);
var Branch004 = CreateObject(Branch, 552, 596);
var Branch004 = CreateObjectAbove(Branch, 552, 596);
Branch004->SetR(150);
Branch004->SetPosition(552, 586);
var Branch005 = CreateObject(Branch, 524, 611);
var Branch005 = CreateObjectAbove(Branch, 524, 611);
Branch005->SetR(160);
Branch005->SetPosition(524, 600);
var Branch006 = CreateObject(Branch, 317, 623);
var Branch006 = CreateObjectAbove(Branch, 317, 623);
Branch006->SetR(-170);
Branch006->SetPosition(317, 611);
var Branch007 = CreateObject(Branch, 398, 774);
var Branch007 = CreateObjectAbove(Branch, 398, 774);
Branch007->SetR(-110);
Branch007->SetPosition(398, 770);
CreateObject(Trunk, 1447, 682);
CreateObjectAbove(Trunk, 1447, 682);
CreateObject(SproutBerryBush, 1286, 734);
CreateObjectAbove(SproutBerryBush, 1286, 734);
CreateObject(Tree_Coniferous, 1297, 388);
CreateObjectAbove(Tree_Coniferous, 1297, 388);
CreateObject(SproutBerryBush, 565, 861);
CreateObjectAbove(SproutBerryBush, 565, 861);
CreateObject(Wheat, 1345, 696);
CreateObjectAbove(Wheat, 1345, 696);
var Tree_Coniferous001 = CreateObject(Tree_Coniferous, 231, 878);
var Tree_Coniferous001 = CreateObjectAbove(Tree_Coniferous, 231, 878);
Tree_Coniferous001->SetCon(47);
var Chest001 = CreateObject(Chest, 264, 1287);
var Chest001 = CreateObjectAbove(Chest, 264, 1287);
var WoodenCabin001 = CreateObject(WoodenCabin, 62, 870);
var WoodenCabin001 = CreateObjectAbove(WoodenCabin, 62, 870);
CreateObject(Idol, 102, 871);
CreateObjectAbove(Idol, 102, 871);
var Flagpole001 = CreateObject(Flagpole, 119, 872);
var Flagpole001 = CreateObjectAbove(Flagpole, 119, 872);
Flagpole001->SetNeutral(true);
var Lorry001 = CreateObject(Lorry, 76, 1299);
var Lorry001 = CreateObjectAbove(Lorry, 76, 1299);
Lorry001->SetR(-14);
Lorry001->SetPosition(76, 1290);
var Catapult001 = CreateObject(Catapult, 445, 547);
var Catapult001 = CreateObjectAbove(Catapult, 445, 547);
Catapult001->SetCon(80);
Catapult001->SetRDir(1);
Catapult001->SetClrModulation(0xff686868);
CreateObject(Rock, 279, 965);
CreateObject(Rock, 469, 1214);
CreateObject(Rock, 225, 1335);
CreateObject(Rock, 69, 1125);
CreateObject(Rock, 45, 915);
CreateObject(Rock, 547, 1015);
CreateObject(Rock, 1117, 1178);
CreateObject(Rock, 1176, 1308);
CreateObject(Rock, 1414, 1075);
CreateObject(Rock, 1485, 893);
CreateObjectAbove(Rock, 279, 965);
CreateObjectAbove(Rock, 469, 1214);
CreateObjectAbove(Rock, 225, 1335);
CreateObjectAbove(Rock, 69, 1125);
CreateObjectAbove(Rock, 45, 915);
CreateObjectAbove(Rock, 547, 1015);
CreateObjectAbove(Rock, 1117, 1178);
CreateObjectAbove(Rock, 1176, 1308);
CreateObjectAbove(Rock, 1414, 1075);
CreateObjectAbove(Rock, 1485, 893);
CreateObject(Coal, 218, 1010);
CreateObject(Coal, 94, 1046);
CreateObject(Coal, 98, 1010);
CreateObjectAbove(Coal, 218, 1010);
CreateObjectAbove(Coal, 94, 1046);
CreateObjectAbove(Coal, 98, 1010);
CreateObject(Ore, 269, 1105);
CreateObjectAbove(Ore, 269, 1105);
CreateObject(Nugget, 40, 1210);
CreateObject(Nugget, 18, 1216);
CreateObject(Nugget, 49, 1267);
CreateObject(Nugget, 439, 1259);
CreateObject(Nugget, 485, 1154);
CreateObject(Nugget, 1580, 1139);
CreateObject(Nugget, 1470, 1080);
CreateObject(Nugget, 33, 1311);
CreateObject(Nugget, 134, 1347);
CreateObject(Nugget, 253, 1317);
CreateObject(Nugget, 369, 1283);
CreateObject(Nugget, 373, 1243);
CreateObjectAbove(Nugget, 40, 1210);
CreateObjectAbove(Nugget, 18, 1216);
CreateObjectAbove(Nugget, 49, 1267);
CreateObjectAbove(Nugget, 439, 1259);
CreateObjectAbove(Nugget, 485, 1154);
CreateObjectAbove(Nugget, 1580, 1139);
CreateObjectAbove(Nugget, 1470, 1080);
CreateObjectAbove(Nugget, 33, 1311);
CreateObjectAbove(Nugget, 134, 1347);
CreateObjectAbove(Nugget, 253, 1317);
CreateObjectAbove(Nugget, 369, 1283);
CreateObjectAbove(Nugget, 373, 1243);
CreateObject(Metal, 124, 1302);
CreateObjectAbove(Metal, 124, 1302);
CreateObject(Loam, 520, 950);
CreateObject(Loam, 403, 1010);
CreateObject(Loam, 339, 1252);
CreateObject(Loam, 178, 1312);
CreateObject(Loam, 727, 1274);
CreateObject(Loam, 884, 1333);
CreateObject(Loam, 1195, 1300);
CreateObject(Loam, 1568, 1109);
CreateObject(Loam, 1565, 880);
CreateObject(Loam, 1360, 784);
CreateObject(Loam, 1519, 724);
CreateObject(Loam, 1348, 721);
CreateObject(Loam, 1379, 352);
CreateObjectAbove(Loam, 520, 950);
CreateObjectAbove(Loam, 403, 1010);
CreateObjectAbove(Loam, 339, 1252);
CreateObjectAbove(Loam, 178, 1312);
CreateObjectAbove(Loam, 727, 1274);
CreateObjectAbove(Loam, 884, 1333);
CreateObjectAbove(Loam, 1195, 1300);
CreateObjectAbove(Loam, 1568, 1109);
CreateObjectAbove(Loam, 1565, 880);
CreateObjectAbove(Loam, 1360, 784);
CreateObjectAbove(Loam, 1519, 724);
CreateObjectAbove(Loam, 1348, 721);
CreateObjectAbove(Loam, 1379, 352);
var Wood001 = CreateObject(Wood, 518, 1081);
var Wood001 = CreateObjectAbove(Wood, 518, 1081);
Wood001->SetR(35);
Wood001->SetPosition(518, 1078);
CreateObject(Wood, 1302, 904);
var Wood002 = CreateObject(Wood, 1335, 904);
CreateObjectAbove(Wood, 1302, 904);
var Wood002 = CreateObjectAbove(Wood, 1335, 904);
Wood002->SetClrModulation(0xff302020);
CreateObject(Moss, 1357, 695);
CreateObject(Moss, 1269, 905);
CreateObject(Moss, 336, 558);
CreateObject(Moss, 479, 554);
CreateObject(Moss, 523, 847);
CreateObjectAbove(Moss, 1357, 695);
CreateObjectAbove(Moss, 1269, 905);
CreateObjectAbove(Moss, 336, 558);
CreateObjectAbove(Moss, 479, 554);
CreateObjectAbove(Moss, 523, 847);
CreateObject(Crate, 155, 1302);
CreateObject(Crate, 139, 1302);
CreateObjectAbove(Crate, 155, 1302);
CreateObjectAbove(Crate, 139, 1302);
CreateObject(Bread, 171, 1302);
CreateObjectAbove(Bread, 171, 1302);
Chest001->CreateContents(Bread);
Chest001->CreateContents(Bread);
Chest001->CreateContents(Bread);
@ -167,39 +167,39 @@ func InitializeObjects()
WoodenCabin001->CreateContents(Sproutberry);
var Seaweed001 = CreateObject(Seaweed, 1343, 991);
var Seaweed001 = CreateObjectAbove(Seaweed, 1343, 991);
Seaweed001->SetPhase(3);
var Seaweed002 = CreateObject(Seaweed, 1430, 918);
var Seaweed002 = CreateObjectAbove(Seaweed, 1430, 918);
Seaweed002->SetPhase(22);
var Seaweed003 = CreateObject(Seaweed, 1530, 921);
var Seaweed003 = CreateObjectAbove(Seaweed, 1530, 921);
Seaweed003->SetPhase(40);
CreateObject(Firestone, 49, 1316);
CreateObject(Firestone, 36, 1282);
CreateObjectAbove(Firestone, 49, 1316);
CreateObjectAbove(Firestone, 36, 1282);
Lorry001->CreateContents(Firestone);
CreateObject(Firestone, 452, 920);
CreateObject(Firestone, 50, 949);
CreateObject(Firestone, 374, 894);
CreateObject(Firestone, 301, 927);
CreateObject(Firestone, 38, 1072);
CreateObject(Firestone, 216, 1085);
CreateObject(Firestone, 502, 985);
CreateObject(Firestone, 229, 925);
CreateObject(Firestone, 413, 1133);
CreateObject(Firestone, 757, 1233);
CreateObject(Firestone, 374, 1296);
CreateObject(Firestone, 345, 1073);
CreateObject(Firestone, 586, 1250);
CreateObject(Firestone, 154, 1350);
CreateObject(Firestone, 381, 1079);
CreateObject(Firestone, 714, 1253);
CreateObject(Firestone, 1267, 956);
CreateObject(Firestone, 1346, 820);
CreateObject(Firestone, 1393, 916);
CreateObject(Firestone, 1464, 720);
CreateObject(Firestone, 1308, 1168);
CreateObject(Firestone, 80, 1102);
CreateObject(Firestone, 351, 1230);
CreateObject(Firestone, 112, 1128);
CreateObjectAbove(Firestone, 452, 920);
CreateObjectAbove(Firestone, 50, 949);
CreateObjectAbove(Firestone, 374, 894);
CreateObjectAbove(Firestone, 301, 927);
CreateObjectAbove(Firestone, 38, 1072);
CreateObjectAbove(Firestone, 216, 1085);
CreateObjectAbove(Firestone, 502, 985);
CreateObjectAbove(Firestone, 229, 925);
CreateObjectAbove(Firestone, 413, 1133);
CreateObjectAbove(Firestone, 757, 1233);
CreateObjectAbove(Firestone, 374, 1296);
CreateObjectAbove(Firestone, 345, 1073);
CreateObjectAbove(Firestone, 586, 1250);
CreateObjectAbove(Firestone, 154, 1350);
CreateObjectAbove(Firestone, 381, 1079);
CreateObjectAbove(Firestone, 714, 1253);
CreateObjectAbove(Firestone, 1267, 956);
CreateObjectAbove(Firestone, 1346, 820);
CreateObjectAbove(Firestone, 1393, 916);
CreateObjectAbove(Firestone, 1464, 720);
CreateObjectAbove(Firestone, 1308, 1168);
CreateObjectAbove(Firestone, 80, 1102);
CreateObjectAbove(Firestone, 351, 1230);
CreateObjectAbove(Firestone, 112, 1128);
return true;
}

View File

@ -9,12 +9,12 @@ static g_is_initialized, g_has_bought_plans, npc_pyrit;
func DoInit(int first_player)
{
CreateObject(Windmill, 152, 825+48, 0);
CreateObjectAbove(Windmill, 152, 825+48, 0);
// Set time of day to evening and create some clouds and celestials.
Cloud->Place(20);
CreateObject(Environment_Celestial);
var time = CreateObject(Environment_Time);
CreateObjectAbove(Environment_Celestial);
var time = CreateObjectAbove(Environment_Time);
time->SetTime(600);
time->SetCycleSpeed(20);
// Waterfall
@ -24,13 +24,13 @@ func DoInit(int first_player)
if (windmill) windmill->SetOwner(first_player);
// Goal
CreateObject(Goal_Plane);
CreateObjectAbove(Goal_Plane);
// Rules
CreateObject(Rule_TeamAccount, 50, 50);
CreateObjectAbove(Rule_TeamAccount, 50, 50);
// NPC: Merchant.
var merchant = CreateObject(Clonk, 76, 870);
var merchant = CreateObjectAbove(Clonk, 76, 870);
merchant->MakeInvincible();
merchant->MakeNonFlammable();
merchant->SetSkin(1);

View File

@ -4,9 +4,9 @@
func Intro_Init()
{
this.plane = CreateObject(Plane, 0, 400);
this.plane = CreateObjectAbove(Plane, 0, 400);
this.plane->SetColor(0xa04000);
this.pilot = npc_pyrit = CreateObject(Clonk, 100, 100, NO_OWNER);
this.pilot = npc_pyrit = CreateObjectAbove(Clonk, 100, 100, NO_OWNER);
this.pilot->MakeInvincible();
this.pilot->MakeNonFlammable();
this.pilot->SetSkin(2);
@ -47,7 +47,7 @@ func Intro_JoinPlayer(int plr)
func Intro_CreateBoompack(int x, int y, int fuel)
{
var boompack = CreateObject(Boompack, x, y, NO_OWNER);
var boompack = CreateObjectAbove(Boompack, x, y, NO_OWNER);
boompack->SetFuel(fuel);
boompack->SetDirectionDeviation(8); // make sure direction of boompack is roughly kept
boompack->SetControllable(false);

View File

@ -4,109 +4,109 @@ static g_ruin1, g_ruin2, g_ruin3, g_elev1, g_elev2, g_cannon, g_king, g_farmer,
func InitializeObjects()
{
var Grass001 = CreateObject(Grass, 396, 1149);
var Grass001 = CreateObjectAbove(Grass, 396, 1149);
Grass001->SetClrModulation(0xffa08060);
var Grass002 = CreateObject(Grass, 232, 1181);
var Grass002 = CreateObjectAbove(Grass, 232, 1181);
Grass002->SetClrModulation(0xffa08060);
var Grass003 = CreateObject(Grass, 228, 1180);
var Grass003 = CreateObjectAbove(Grass, 228, 1180);
Grass003->SetClrModulation(0xffa08060);
var Rule_BaseRespawn001 = CreateObject(Rule_BaseRespawn, 0, 0);
var Rule_BaseRespawn001 = CreateObjectAbove(Rule_BaseRespawn, 0, 0);
Rule_BaseRespawn001->SetInventoryTransfer(true);
Rule_BaseRespawn001->SetFreeCrew(true);
var Tree_Coniferous_Burned001 = CreateObject(Tree_Coniferous_Burned, 17, 1141);
var Tree_Coniferous_Burned001 = CreateObjectAbove(Tree_Coniferous_Burned, 17, 1141);
Tree_Coniferous_Burned001->SetR(10);
Tree_Coniferous_Burned001->SetPosition(17, 1097);
var Tree_Coniferous_Burned002 = CreateObject(Tree_Coniferous_Burned, 43, 1156);
var Tree_Coniferous_Burned002 = CreateObjectAbove(Tree_Coniferous_Burned, 43, 1156);
Tree_Coniferous_Burned002->SetCon(75);
Tree_Coniferous_Burned002->SetR(100);
Tree_Coniferous_Burned002->SetPosition(43, 1150);
var Tree_Coniferous001 = CreateObject(Tree_Coniferous, 415, 1161);
var Tree_Coniferous001 = CreateObjectAbove(Tree_Coniferous, 415, 1161);
Tree_Coniferous001->SetR(10);
Tree_Coniferous001->SetClrModulation(0xffc08060);
Tree_Coniferous001->SetPosition(415, 1117);
var Branch001 = CreateObject(Branch, 241, 1179);
var Branch001 = CreateObjectAbove(Branch, 241, 1179);
Branch001->SetR(17);
Branch001->SetPosition(241, 1176);
var Fern001 = CreateObject(Fern, 312, 1432);
var Fern001 = CreateObjectAbove(Fern, 312, 1432);
Fern001->SetClrModulation(0xffa08060);
var LargeCaveMushroom001 = CreateObject(LargeCaveMushroom, 1355, 1451);
var LargeCaveMushroom001 = CreateObjectAbove(LargeCaveMushroom, 1355, 1451);
LargeCaveMushroom001->SetClrModulation(0xffcddfdf);
var LargeCaveMushroom002 = CreateObject(LargeCaveMushroom, 1308, 1409);
var LargeCaveMushroom002 = CreateObjectAbove(LargeCaveMushroom, 1308, 1409);
LargeCaveMushroom002->SetR(180);
LargeCaveMushroom002->SetClrModulation(0xffdae7dc);
LargeCaveMushroom002->SetPosition(1308, 1384);
var LargeCaveMushroom003 = CreateObject(LargeCaveMushroom, 1411, 1447);
var LargeCaveMushroom003 = CreateObjectAbove(LargeCaveMushroom, 1411, 1447);
LargeCaveMushroom003->SetClrModulation(0xffe9d5dd);
var LargeCaveMushroom004 = CreateObject(LargeCaveMushroom, 1420, 1397);
var LargeCaveMushroom004 = CreateObjectAbove(LargeCaveMushroom, 1420, 1397);
LargeCaveMushroom004->SetR(160);
LargeCaveMushroom004->SetClrModulation(0xffeaedfb);
LargeCaveMushroom004->SetPosition(1420, 1374);
var Branch002 = CreateObject(Branch, 1430, 1420);
var Branch002 = CreateObjectAbove(Branch, 1430, 1420);
Branch002->SetR(-25);
Branch002->SetPosition(1430, 1417);
var Lichen001 = CreateObject(Lichen, 1387, 1440);
var Lichen001 = CreateObjectAbove(Lichen, 1387, 1440);
Lichen001->SetAction("Grown");
var Lichen002 = CreateObject(Lichen, 1310, 1456);
var Lichen002 = CreateObjectAbove(Lichen, 1310, 1456);
Lichen002->SetAction("Grown");
var Lichen003 = CreateObject(Lichen, 1466, 1415);
var Lichen003 = CreateObjectAbove(Lichen, 1466, 1415);
Lichen003->SetAction("Grown");
var Trunk001 = CreateObject(Trunk, 217, 1184);
var Trunk001 = CreateObjectAbove(Trunk, 217, 1184);
Trunk001->SetR(-10);
Trunk001->SetPosition(217, 1159);
var EnvPack_Bag001 = CreateObject(EnvPack_Bag, 846, 885);
var EnvPack_Bag001 = CreateObjectAbove(EnvPack_Bag, 846, 885);
EnvPack_Bag001->SetClrModulation(0xffa0a0a0);
CreateObject(EnvPack_Bag, 840, 888);
CreateObject(EnvPack_Bag, 844, 888);
CreateObjectAbove(EnvPack_Bag, 840, 888);
CreateObjectAbove(EnvPack_Bag, 844, 888);
CreateObject(EnvPack_BridgeRustic, 1096, 673);
CreateObjectAbove(EnvPack_BridgeRustic, 1096, 673);
CreateObject(EnvPack_Candle, 1054, 672);
CreateObjectAbove(EnvPack_Candle, 1054, 672);
CreateObject(EnvPack_Candle, 1054, 575);
CreateObjectAbove(EnvPack_Candle, 1054, 575);
CreateObject(EnvPack_Candle, 1185, 616);
CreateObjectAbove(EnvPack_Candle, 1185, 616);
CreateObject(EnvPack_Candle, 1531, 448);
CreateObjectAbove(EnvPack_Candle, 1531, 448);
CreateObject(EnvPack_Candle, 1362, 432);
CreateObjectAbove(EnvPack_Candle, 1362, 432);
CreateObject(EnvPack_CandleSmall, 1556, 432);
CreateObjectAbove(EnvPack_CandleSmall, 1556, 432);
CreateObject(EnvPack_Crate, 1017, 576);
CreateObjectAbove(EnvPack_Crate, 1017, 576);
CreateObject(EnvPack_FenceRustic, 1111, 728);
CreateObject(EnvPack_FenceRustic, 1089, 735);
CreateObjectAbove(EnvPack_FenceRustic, 1111, 728);
CreateObjectAbove(EnvPack_FenceRustic, 1089, 735);
CreateObject(EnvPack_Guidepost, 315, 1167);
CreateObjectAbove(EnvPack_Guidepost, 315, 1167);
CreateObject(EnvPack_Lantern, 894, 488);
CreateObjectAbove(EnvPack_Lantern, 894, 488);
CreateObject(EnvPack_Lantern, 1291, 472);
CreateObjectAbove(EnvPack_Lantern, 1291, 472);
CreateObject(EnvPack_Painting, 1235, 537);
CreateObjectAbove(EnvPack_Painting, 1235, 537);
CreateObject(EnvPack_Rail, 1121, 672);
CreateObjectAbove(EnvPack_Rail, 1121, 672);
CreateObject(EnvPack_Scarecrow, 204, 1185);
CreateObjectAbove(EnvPack_Scarecrow, 204, 1185);
CreateObject(EnvPack_TreeTrunks, 788, 888);
CreateObjectAbove(EnvPack_TreeTrunks, 788, 888);
CreateObject(EnvPack_WineBarrel, 1438, 552);
CreateObject(EnvPack_WineBarrel, 1455, 553);
CreateObjectAbove(EnvPack_WineBarrel, 1438, 552);
CreateObjectAbove(EnvPack_WineBarrel, 1455, 553);
CreateObject(EnvPack_Candle, 1471, 552);
CreateObjectAbove(EnvPack_Candle, 1471, 552);
g_king = CreateObject(Clonk, 1569, 430);
g_king = CreateObjectAbove(Clonk, 1569, 430);
g_king->SetCon(200);
g_king->SetColor(0xff);
g_king->SetClrModulation(0xffff8000);
@ -121,95 +121,95 @@ func InitializeObjects()
S2AI->SetEncounterCB(g_king, "EncounterKing");
g_king->SetDir(DIR_Left);
var Goal_Assassination001 = CreateObject(Goal_Assassination, 0, 0);
var Goal_Assassination001 = CreateObjectAbove(Goal_Assassination, 0, 0);
Goal_Assassination001->SetVictim(g_king);
CreateObject(Rule_TeamAccount, 0, 0);
CreateObjectAbove(Rule_TeamAccount, 0, 0);
CreateObject(Rule_NoPowerNeed, 0, 0);
CreateObjectAbove(Rule_NoPowerNeed, 0, 0);
var LargeCaveMushroom005 = CreateObject(LargeCaveMushroom, 1334, 1459);
var LargeCaveMushroom005 = CreateObjectAbove(LargeCaveMushroom, 1334, 1459);
LargeCaveMushroom005->SetClrModulation(0xffd0dbdf);
var LargeCaveMushroom006 = CreateObject(LargeCaveMushroom, 1396, 1451);
var LargeCaveMushroom006 = CreateObjectAbove(LargeCaveMushroom, 1396, 1451);
LargeCaveMushroom006->SetClrModulation(0xffe7e6f0);
var LargeCaveMushroom007 = CreateObject(LargeCaveMushroom, 1426, 1437);
var LargeCaveMushroom007 = CreateObjectAbove(LargeCaveMushroom, 1426, 1437);
LargeCaveMushroom007->SetClrModulation(0xffcfcbe5);
g_ruin1 = CreateObject(Ruin_WoodenCabin, 97, 1179);
g_ruin1 = CreateObjectAbove(Ruin_WoodenCabin, 97, 1179);
g_ruin1->SetR(16);
g_ruin1.StaticSaveVar = "g_ruin1";
g_ruin1->SetPosition(97, 1150);
g_ruin2 = CreateObject(Ruin_Windmill, 353, 1145);
g_ruin2 = CreateObjectAbove(Ruin_Windmill, 353, 1145);
g_ruin2.StaticSaveVar = "g_ruin2";
g_ruin3 = CreateObject(Ruin_ChemicalLab, 267, 1180);
g_ruin3 = CreateObjectAbove(Ruin_ChemicalLab, 267, 1180);
g_ruin3.StaticSaveVar = "g_ruin3";
CreateObject(Foundry, 238, 1287);
CreateObjectAbove(Foundry, 238, 1287);
var Chest001 = CreateObject(Chest, 1474, 1414);
var Chest001 = CreateObjectAbove(Chest, 1474, 1414);
Chest001->SetXDir(3);
var Chest006 = CreateObject(Chest, 1574, 583);
var Chest005 = CreateObject(Chest, 823, 887);
var Chest002 = CreateObject(Chest, 856, 887);
var Chest003 = CreateObject(Chest, 1032, 575);
var Chest004 = CreateObject(Chest, 136, 103);
var Chest006 = CreateObjectAbove(Chest, 1574, 583);
var Chest005 = CreateObjectAbove(Chest, 823, 887);
var Chest002 = CreateObjectAbove(Chest, 856, 887);
var Chest003 = CreateObjectAbove(Chest, 1032, 575);
var Chest004 = CreateObjectAbove(Chest, 136, 103);
var StoneDoor001 = CreateObject(StoneDoor, 940, 671);
var StoneDoor001 = CreateObjectAbove(StoneDoor, 940, 671);
StoneDoor001->SetComDir(COMD_Down);
var StoneDoor002 = CreateObject(StoneDoor, 1348, 527);
var StoneDoor002 = CreateObjectAbove(StoneDoor, 1348, 527);
StoneDoor002->SetComDir(COMD_Down);
var StoneDoor003 = CreateObject(StoneDoor, 1347, 431);
var StoneDoor003 = CreateObjectAbove(StoneDoor, 1347, 431);
StoneDoor003->SetComDir(COMD_Down);
var SpinWheel001 = CreateObject(SpinWheel, 961, 672);
var SpinWheel001 = CreateObjectAbove(SpinWheel, 961, 672);
SpinWheel001->SetStoneDoor(StoneDoor001);
var SpinWheel002 = CreateObject(SpinWheel, 1367, 527);
var SpinWheel002 = CreateObjectAbove(SpinWheel, 1367, 527);
SpinWheel002->SetStoneDoor(StoneDoor002);
var SpinWheel003 = CreateObject(SpinWheel, 1384, 471);
var SpinWheel003 = CreateObjectAbove(SpinWheel, 1384, 471);
SpinWheel003->SetStoneDoor(StoneDoor003);
CreateObject(Column, 1197, 551);
CreateObject(Column, 1218, 463);
CreateObjectAbove(Column, 1197, 551);
CreateObjectAbove(Column, 1218, 463);
CreateObject(Idol, 1080, 575);
CreateObjectAbove(Idol, 1080, 575);
var Flagpole001 = CreateObject(Flagpole, 135, 1182);
var Flagpole001 = CreateObjectAbove(Flagpole, 135, 1182);
Flagpole001->SetNeutral(true);
var SteamEngine001 = CreateObject(SteamEngine, 1529, 585);
var SteamEngine001 = CreateObjectAbove(SteamEngine, 1529, 585);
g_elev1 = CreateObject(Elevator, 167, 1184);
g_elev1 = CreateObjectAbove(Elevator, 167, 1184);
g_elev1.StaticSaveVar = "g_elev1";
g_elev1->SetClrModulation(0xffa08060);
g_elev1->CreateShaft(95);
g_elev1->SetCasePosition(1267);
g_elev2 = CreateObject(Elevator, 1366, 615);
g_elev2 = CreateObjectAbove(Elevator, 1366, 615);
g_elev2.StaticSaveVar = "g_elev2";
g_elev2->CreateShaft(481);
g_elev2->SetCasePosition(1084);
var Catapult001 = CreateObject(Catapult, 697, 887);
var Catapult001 = CreateObjectAbove(Catapult, 697, 887);
Catapult001->SetRDir(4);
var Lorry001 = CreateObject(Lorry, 149, 1323);
var Lorry001 = CreateObjectAbove(Lorry, 149, 1323);
Lorry001->SetR(24);
Lorry001->SetPosition(149, 1314);
var Lorry002 = CreateObject(Lorry, 1425, 1254);
var Lorry002 = CreateObjectAbove(Lorry, 1425, 1254);
Lorry002->SetR(-35);
Lorry002->SetPosition(1425, 1244);
CreateObject(Airship_Burnt, 38, 1152);
CreateObjectAbove(Airship_Burnt, 38, 1152);
var Cannon001 = CreateObject(Cannon, 788, 679);
var Cannon001 = CreateObjectAbove(Cannon, 788, 679);
Cannon001->SetR(30);
Cannon001->SetPosition(788, 669);
g_cannon = CreateObject(Cannon, 994, 471);
g_cannon = CreateObjectAbove(Cannon, 994, 471);
g_cannon.StaticSaveVar = "g_cannon";
CreateObject(Cannon, 1336, 336);
CreateObjectAbove(Cannon, 1336, 336);
var Clonk001 = CreateObject(Clonk, 673, 887);
var Clonk001 = CreateObjectAbove(Clonk, 673, 887);
Clonk001->SetColor(0xff);
Clonk001->SetName("Horst");
S2AI->AddAI(Clonk001);
@ -218,7 +218,7 @@ func InitializeObjects()
S2AI->SetAllyAlertRange(Clonk001, 60);
S2AI->SetEncounterCB(Clonk001, "EncounterOutpost");
Clonk001->SetDir(DIR_Left);
var Clonk002 = CreateObject(Clonk, 710, 886);
var Clonk002 = CreateObjectAbove(Clonk, 710, 886);
Clonk002->SetColor(0xff);
Clonk002->SetName("Hanniball");
S2AI->AddAI(Clonk002);
@ -226,28 +226,28 @@ func InitializeObjects()
S2AI->SetGuardRange(Clonk002, 300, 700, 500, 250);
S2AI->SetAllyAlertRange(Clonk002, 60);
Clonk002->SetDir(DIR_Left);
var Clonk003 = CreateObject(Clonk, 781, 670);
var Clonk003 = CreateObjectAbove(Clonk, 781, 670);
Clonk003->SetDir(DIR_Right);
Clonk003->SetColor(0xff);
Clonk003->SetName("Twonky");
S2AI->AddAI(Clonk003);
S2AI->SetHome(Clonk003, 781, 663, DIR_Right);
S2AI->SetGuardRange(Clonk003, 481, 511, 600, 300);
var Clonk004 = CreateObject(Clonk, 1010, 670);
var Clonk004 = CreateObjectAbove(Clonk, 1010, 670);
Clonk004->SetDir(DIR_Right);
Clonk004->SetColor(0xff);
Clonk004->SetName("Sven");
S2AI->AddAI(Clonk004);
S2AI->SetHome(Clonk004, 1010, 663, DIR_Right);
S2AI->SetGuardRange(Clonk004, 710, 511, 600, 300);
var Clonk005 = CreateObject(Clonk, 985, 670);
var Clonk005 = CreateObjectAbove(Clonk, 985, 670);
Clonk005->SetDir(DIR_Right);
Clonk005->SetColor(0xff);
Clonk005->SetName("Luki");
S2AI->AddAI(Clonk005);
S2AI->SetHome(Clonk005, 985, 663, DIR_Right);
S2AI->SetGuardRange(Clonk005, 685, 511, 600, 300);
var Clonk006 = CreateObject(Clonk, 1373, 1245);
var Clonk006 = CreateObjectAbove(Clonk, 1373, 1245);
Clonk006->SetColor(0xffff0000);
Clonk006->SetName("Anna");
S2AI->AddAI(Clonk006);
@ -255,7 +255,7 @@ func InitializeObjects()
S2AI->SetGuardRange(Clonk006, 1150, 1140, 320, 150);
S2AI->SetAllyAlertRange(Clonk006, 170);
Clonk006->SetDir(DIR_Left);
var Clonk007 = CreateObject(Clonk, 1449, 1246);
var Clonk007 = CreateObjectAbove(Clonk, 1449, 1246);
Clonk007->SetColor(0xffff0000);
Clonk007->SetName("Cindy");
S2AI->AddAI(Clonk007);
@ -264,121 +264,121 @@ func InitializeObjects()
S2AI->SetAllyAlertRange(Clonk007, 170);
S2AI->SetEncounterCB(Clonk007, "EncounterCave");
Clonk007->SetDir(DIR_Left);
g_farmer = CreateObject(Clonk, 307, 1167);
g_farmer = CreateObjectAbove(Clonk, 307, 1167);
g_farmer->SetColor(0xff0000);
g_farmer->SetClrModulation(0xffffa020);
g_farmer->SetName("Farmer");
g_farmer.StaticSaveVar = "g_farmer";
g_farmer->SetDir(DIR_Left);
var Clonk008 = CreateObject(Clonk, 1197, 550);
var Clonk008 = CreateObjectAbove(Clonk, 1197, 550);
Clonk008->SetDir(DIR_Right);
Clonk008->SetColor(0xff);
Clonk008->SetName("Sabrina");
S2AI->AddAI(Clonk008);
S2AI->SetHome(Clonk008, 1196, 542, DIR_Right);
S2AI->SetGuardRange(Clonk008, 896, 392, 600, 300);
var Clonk009 = CreateObject(Clonk, 1266, 551);
var Clonk009 = CreateObjectAbove(Clonk, 1266, 551);
Clonk009->SetColor(0xff);
Clonk009->SetName("Laura");
S2AI->AddAI(Clonk009);
S2AI->SetHome(Clonk009, 1266, 541, DIR_Left);
S2AI->SetGuardRange(Clonk009, 966, 391, 600, 300);
Clonk009->SetDir(DIR_Left);
var Clonk010 = CreateObject(Clonk, 1287, 471);
var Clonk010 = CreateObjectAbove(Clonk, 1287, 471);
Clonk010->SetDir(DIR_Right);
Clonk010->SetColor(0xff);
S2AI->AddAI(Clonk010);
S2AI->SetHome(Clonk010, 1287, 464, DIR_Right);
S2AI->SetGuardRange(Clonk010, 987, 312, 600, 300);
var Clonk011 = CreateObject(Clonk, 1092, 574);
var Clonk011 = CreateObjectAbove(Clonk, 1092, 574);
Clonk011->SetDir(DIR_Right);
Clonk011->SetColor(0xff);
Clonk011->SetName("Wolfgang");
S2AI->AddAI(Clonk011);
S2AI->SetHome(Clonk011, 1092, 567, DIR_Right);
S2AI->SetGuardRange(Clonk011, 792, 416, 600, 300);
var Clonk012 = CreateObject(Clonk, 1070, 574);
var Clonk012 = CreateObjectAbove(Clonk, 1070, 574);
Clonk012->SetColor(0xff);
Clonk012->SetName("Hans");
S2AI->AddAI(Clonk012);
S2AI->SetHome(Clonk012, 1069, 566, DIR_Left);
S2AI->SetGuardRange(Clonk012, 769, 416, 600, 300);
Clonk012->SetDir(DIR_Left);
var Clonk013 = CreateObject(Clonk, 1018, 470);
var Clonk013 = CreateObjectAbove(Clonk, 1018, 470);
Clonk013->SetDir(DIR_Right);
Clonk013->SetColor(0xff);
Clonk013->SetName("Joki");
S2AI->AddAI(Clonk013);
S2AI->SetHome(Clonk013, 1019, 462, DIR_Right);
S2AI->SetGuardRange(Clonk013, 719, 312, 600, 300);
var Clonk014 = CreateObject(Clonk, 285, 1182);
var Clonk014 = CreateObjectAbove(Clonk, 285, 1182);
Clonk014->Kill(Clonk014, true);
Clonk014->SetDir(DIR_Right);
Clonk014->SetColor(0xffff0000);
var Clonk015 = CreateObject(Clonk, 208, 1183);
var Clonk015 = CreateObjectAbove(Clonk, 208, 1183);
Clonk015->Kill(Clonk015, true);
Clonk015->SetDir(DIR_Right);
Clonk015->SetColor(0xffff0000);
g_cannoneer = CreateObject(Clonk, 995, 471);
g_cannoneer = CreateObjectAbove(Clonk, 995, 471);
g_cannoneer->SetColor(0xff);
g_cannoneer.StaticSaveVar = "g_cannoneer";
g_cannoneer->SetDir(DIR_Left);
CreateObject(Rock, 879, 1003);
CreateObject(Rock, 262, 1182);
CreateObject(Rock, 140, 1183);
CreateObject(Rock, 48, 1151);
CreateObject(Rock, 154, 1206);
CreateObject(Rock, 154, 1206);
CreateObject(Rock, 241, 1287);
CreateObject(Rock, 338, 1257);
CreateObject(Rock, 661, 1393);
CreateObject(Rock, 813, 887);
CreateObject(Rock, 893, 1291);
CreateObject(Rock, 1248, 1088);
CreateObject(Rock, 1334, 1012);
CreateObject(Rock, 1268, 933);
CreateObject(Rock, 1296, 795);
CreateObject(Rock, 1501, 933);
CreateObject(Rock, 1473, 676);
CreateObject(Rock, 1367, 655);
CreateObject(Rock, 1505, 1163);
CreateObject(Rock, 1482, 1050);
CreateObject(Rock, 1402, 1448);
CreateObject(Rock, 1025, 1393);
CreateObject(Rock, 742, 1522);
CreateObject(Rock, 712, 1351);
CreateObject(Rock, 1047, 1207);
CreateObjectAbove(Rock, 879, 1003);
CreateObjectAbove(Rock, 262, 1182);
CreateObjectAbove(Rock, 140, 1183);
CreateObjectAbove(Rock, 48, 1151);
CreateObjectAbove(Rock, 154, 1206);
CreateObjectAbove(Rock, 154, 1206);
CreateObjectAbove(Rock, 241, 1287);
CreateObjectAbove(Rock, 338, 1257);
CreateObjectAbove(Rock, 661, 1393);
CreateObjectAbove(Rock, 813, 887);
CreateObjectAbove(Rock, 893, 1291);
CreateObjectAbove(Rock, 1248, 1088);
CreateObjectAbove(Rock, 1334, 1012);
CreateObjectAbove(Rock, 1268, 933);
CreateObjectAbove(Rock, 1296, 795);
CreateObjectAbove(Rock, 1501, 933);
CreateObjectAbove(Rock, 1473, 676);
CreateObjectAbove(Rock, 1367, 655);
CreateObjectAbove(Rock, 1505, 1163);
CreateObjectAbove(Rock, 1482, 1050);
CreateObjectAbove(Rock, 1402, 1448);
CreateObjectAbove(Rock, 1025, 1393);
CreateObjectAbove(Rock, 742, 1522);
CreateObjectAbove(Rock, 712, 1351);
CreateObjectAbove(Rock, 1047, 1207);
Clonk006->CreateContents(Rock);
Clonk006->CreateContents(Rock);
Clonk006->CreateContents(Rock);
CreateObject(Coal, 59, 1346);
CreateObject(Coal, 156, 1370);
CreateObject(Coal, 243, 1555);
CreateObject(Coal, 61, 1495);
CreateObject(Coal, 140, 1380);
CreateObjectAbove(Coal, 59, 1346);
CreateObjectAbove(Coal, 156, 1370);
CreateObjectAbove(Coal, 243, 1555);
CreateObjectAbove(Coal, 61, 1495);
CreateObjectAbove(Coal, 140, 1380);
SteamEngine001->CreateContents(Coal);
SteamEngine001->CreateContents(Coal);
SteamEngine001->CreateContents(Coal);
CreateObject(Ore, 227, 1366);
CreateObject(Ore, 64, 1421);
CreateObject(Ore, 264, 1454);
CreateObject(Ore, 462, 1479);
CreateObject(Ore, 77, 1486);
CreateObject(Ore, 1481, 1449);
CreateObject(Ore, 1438, 1464);
CreateObject(Ore, 1566, 1562);
CreateObjectAbove(Ore, 227, 1366);
CreateObjectAbove(Ore, 64, 1421);
CreateObjectAbove(Ore, 264, 1454);
CreateObjectAbove(Ore, 462, 1479);
CreateObjectAbove(Ore, 77, 1486);
CreateObjectAbove(Ore, 1481, 1449);
CreateObjectAbove(Ore, 1438, 1464);
CreateObjectAbove(Ore, 1566, 1562);
CreateObject(Nugget, 1079, 1217);
CreateObject(Nugget, 1244, 1139);
CreateObject(Nugget, 1156, 1164);
CreateObject(Nugget, 1127, 1166);
CreateObjectAbove(Nugget, 1079, 1217);
CreateObjectAbove(Nugget, 1244, 1139);
CreateObjectAbove(Nugget, 1156, 1164);
CreateObjectAbove(Nugget, 1127, 1166);
CreateObject(Wood, 19, 1135);
CreateObject(Wood, 749, 1056);
CreateObject(Wood, 168, 1512);
CreateObjectAbove(Wood, 19, 1135);
CreateObjectAbove(Wood, 749, 1056);
CreateObjectAbove(Wood, 168, 1512);
Lorry001->CreateContents(Wood);
Lorry001->CreateContents(Wood);
Lorry001->CreateContents(Wood);
@ -414,8 +414,8 @@ func InitializeObjects()
Chest002->CreateContents(Wood);
Chest002->CreateContents(Wood);
Chest002->CreateContents(Wood);
CreateObject(Wood, 346, 1456);
CreateObject(Wood, 336, 1456);
CreateObjectAbove(Wood, 346, 1456);
CreateObjectAbove(Wood, 336, 1456);
Lorry002->CreateContents(Wood);
Chest001->CreateContents(Wood);
Chest001->CreateContents(Wood);
@ -433,32 +433,32 @@ func InitializeObjects()
Chest003->CreateContents(Wood);
Chest003->CreateContents(Wood);
Chest003->CreateContents(Wood);
CreateObject(Wood, 167, 1512);
CreateObject(Wood, 177, 1512);
CreateObject(Wood, 511, 1497);
CreateObjectAbove(Wood, 167, 1512);
CreateObjectAbove(Wood, 177, 1512);
CreateObjectAbove(Wood, 511, 1497);
Lorry001->CreateContents(Loam);
CreateObject(Loam, 199, 1287);
CreateObject(Loam, 283, 1431);
CreateObject(Loam, 372, 1391);
CreateObject(Loam, 415, 1431);
CreateObject(Loam, 484, 1487);
CreateObject(Loam, 511, 1502);
CreateObject(Loam, 37, 1274);
CreateObject(Loam, 200, 1583);
CreateObject(Loam, 356, 1559);
CreateObject(Loam, 314, 1231);
CreateObject(Loam, 921, 1287);
CreateObject(Loam, 1042, 1392);
CreateObject(Loam, 1180, 1578);
CreateObject(Loam, 1481, 1415);
CreateObject(Loam, 1527, 1406);
CreateObject(Loam, 958, 983);
CreateObject(Loam, 1267, 896);
CreateObject(Loam, 892, 828);
CreateObject(Loam, 1393, 1103);
CreateObject(Loam, 1462, 1079);
CreateObject(Loam, 1501, 1415);
CreateObjectAbove(Loam, 199, 1287);
CreateObjectAbove(Loam, 283, 1431);
CreateObjectAbove(Loam, 372, 1391);
CreateObjectAbove(Loam, 415, 1431);
CreateObjectAbove(Loam, 484, 1487);
CreateObjectAbove(Loam, 511, 1502);
CreateObjectAbove(Loam, 37, 1274);
CreateObjectAbove(Loam, 200, 1583);
CreateObjectAbove(Loam, 356, 1559);
CreateObjectAbove(Loam, 314, 1231);
CreateObjectAbove(Loam, 921, 1287);
CreateObjectAbove(Loam, 1042, 1392);
CreateObjectAbove(Loam, 1180, 1578);
CreateObjectAbove(Loam, 1481, 1415);
CreateObjectAbove(Loam, 1527, 1406);
CreateObjectAbove(Loam, 958, 983);
CreateObjectAbove(Loam, 1267, 896);
CreateObjectAbove(Loam, 892, 828);
CreateObjectAbove(Loam, 1393, 1103);
CreateObjectAbove(Loam, 1462, 1079);
CreateObjectAbove(Loam, 1501, 1415);
Chest002->CreateContents(Loam);
Chest002->CreateContents(Loam);
Chest002->CreateContents(Loam);
@ -468,13 +468,13 @@ func InitializeObjects()
Chest004->CreateContents(Loam);
Chest004->CreateContents(Loam);
var GoldBar001 = CreateObject(GoldBar, 1293, 1236);
var GoldBar001 = CreateObjectAbove(GoldBar, 1293, 1236);
GoldBar001->SetR(22);
GoldBar001->SetPosition(1293, 1235);
Lorry002->CreateContents(GoldBar);
Lorry002->CreateContents(GoldBar);
CreateObject(Airship, 931, 495);
CreateObjectAbove(Airship, 931, 495);
Clonk001->CreateContents(Sword);
Clonk007->CreateContents(Sword);
@ -510,13 +510,13 @@ func InitializeObjects()
Clonk013->CreateContents(Bow);
g_king->CreateContents(Bow);
var Boompack001 = CreateObject(Boompack, 135, 1324);
var Boompack001 = CreateObjectAbove(Boompack, 135, 1324);
Boompack001->SetColor(0xff);
var Boompack002 = CreateObject(Boompack, 1498, 1414);
var Boompack002 = CreateObjectAbove(Boompack, 1498, 1414);
Boompack002->SetColor(0xff);
var Boompack003 = CreateObject(Boompack, 1483, 1414);
var Boompack003 = CreateObjectAbove(Boompack, 1483, 1414);
Boompack003->SetColor(0xff);
var Boompack004 = CreateObject(Boompack, 1491, 1415);
var Boompack004 = CreateObjectAbove(Boompack, 1491, 1415);
Boompack004->SetColor(0xff);
var Boompack005 = Chest001->CreateContents(Boompack);
Boompack005->AddRestoreMode(Chest001, 1473, 1403);
@ -531,7 +531,7 @@ func InitializeObjects()
Chest001->CreateContents(DynamiteBox);
Chest004->CreateContents(DynamiteBox);
CreateObject(Dynamite, 1334, 1224);
CreateObjectAbove(Dynamite, 1334, 1224);
Lorry002->CreateContents(Pickaxe);
Clonk006->CreateContents(Pickaxe);
@ -539,60 +539,60 @@ func InitializeObjects()
Lorry001->CreateContents(Shovel);
var Barrel001 = CreateObject(Barrel, 167, 1333);
var Barrel001 = CreateObjectAbove(Barrel, 167, 1333);
Barrel001->SetR(-13);
Barrel001->SetColor(0xff000000);
Barrel001->SetPosition(167, 1327);
var Seaweed001 = CreateObject(Seaweed, 169, 1543);
var Seaweed001 = CreateObjectAbove(Seaweed, 169, 1543);
Seaweed001->SetPhase(5);
var Seaweed002 = CreateObject(Seaweed, 815, 1342);
var Seaweed002 = CreateObjectAbove(Seaweed, 815, 1342);
Seaweed002->SetPhase(5);
var Seaweed003 = CreateObject(Seaweed, 719, 1078);
var Seaweed003 = CreateObjectAbove(Seaweed, 719, 1078);
Seaweed003->SetPhase(24);
var Seaweed004 = CreateObject(Seaweed, 772, 1087);
var Seaweed004 = CreateObjectAbove(Seaweed, 772, 1087);
Seaweed004->SetPhase(42);
var Seaweed005 = CreateObject(Seaweed, 1258, 1279);
var Seaweed005 = CreateObjectAbove(Seaweed, 1258, 1279);
Seaweed005->SetPhase(31);
var Seaweed006 = CreateObject(Seaweed, 847, 1367);
var Seaweed006 = CreateObjectAbove(Seaweed, 847, 1367);
Seaweed006->SetCon(1);
var Seaweed007 = CreateObject(Seaweed, 793, 1080);
var Seaweed007 = CreateObjectAbove(Seaweed, 793, 1080);
Seaweed007->SetCon(1);
var Seaweed008 = CreateObject(Seaweed, 568, 1463);
var Seaweed008 = CreateObjectAbove(Seaweed, 568, 1463);
Seaweed008->SetCon(1);
var Seaweed009 = CreateObject(Seaweed, 361, 1558);
var Seaweed009 = CreateObjectAbove(Seaweed, 361, 1558);
Seaweed009->SetCon(1);
var Seaweed010 = CreateObject(Seaweed, 438, 1238);
var Seaweed010 = CreateObjectAbove(Seaweed, 438, 1238);
Seaweed010->SetCon(1);
var Seaweed011 = CreateObject(Seaweed, 733, 1087);
var Seaweed011 = CreateObjectAbove(Seaweed, 733, 1087);
Seaweed011->SetCon(1);
var Seaweed012 = CreateObject(Seaweed, 503, 1325);
var Seaweed012 = CreateObjectAbove(Seaweed, 503, 1325);
Seaweed012->SetCon(1);
var Seaweed013 = CreateObject(Seaweed, 568, 1463);
var Seaweed013 = CreateObjectAbove(Seaweed, 568, 1463);
Seaweed013->SetCon(1);
var Seaweed014 = CreateObject(Seaweed, 564, 1461);
var Seaweed014 = CreateObjectAbove(Seaweed, 564, 1461);
Seaweed014->SetCon(1);
var Seaweed015 = CreateObject(Seaweed, 461, 1247);
var Seaweed015 = CreateObjectAbove(Seaweed, 461, 1247);
Seaweed015->SetCon(1);
var Seaweed016 = CreateObject(Seaweed, 568, 1463);
var Seaweed016 = CreateObjectAbove(Seaweed, 568, 1463);
Seaweed016->SetCon(1);
var Seaweed017 = CreateObject(Seaweed, 563, 1461);
var Seaweed017 = CreateObjectAbove(Seaweed, 563, 1461);
Seaweed017->SetCon(1);
Seaweed017->SetXDir(-37);
CreateObject(Mushroom, 126, 1320);
CreateObject(Mushroom, 212, 1288);
CreateObject(Mushroom, 367, 1392);
CreateObject(Mushroom, 268, 1432);
var Mushroom001 = CreateObject(Mushroom, 247, 1292);
CreateObjectAbove(Mushroom, 126, 1320);
CreateObjectAbove(Mushroom, 212, 1288);
CreateObjectAbove(Mushroom, 367, 1392);
CreateObjectAbove(Mushroom, 268, 1432);
var Mushroom001 = CreateObjectAbove(Mushroom, 247, 1292);
Mushroom001->SetCon(22);
var Mushroom002 = CreateObject(Mushroom, 384, 1400);
var Mushroom002 = CreateObjectAbove(Mushroom, 384, 1400);
Mushroom002->SetCon(9);
var Mushroom003 = CreateObject(Mushroom, 184, 1294);
var Mushroom003 = CreateObjectAbove(Mushroom, 184, 1294);
Mushroom003->SetCon(8);
var Mushroom004 = CreateObject(Mushroom, 195, 1293);
var Mushroom004 = CreateObjectAbove(Mushroom, 195, 1293);
Mushroom004->SetCon(4);
var Mushroom005 = CreateObject(Mushroom, 215, 1294);
var Mushroom005 = CreateObjectAbove(Mushroom, 215, 1294);
Mushroom005->SetCon(1);
Chest006->CreateContents(Musket);
@ -619,7 +619,7 @@ func InitializeObjects()
Chest004->CreateContents(Bread);
Chest004->CreateContents(Bread);
CreateObject(EnvPack_ManaAltar, 1052, 471);
CreateObjectAbove(EnvPack_ManaAltar, 1052, 471);
Chest001->CreateContents(Ropeladder);
Chest001->CreateContents(Ropeladder);
@ -629,29 +629,29 @@ func InitializeObjects()
Catapult001->CreateContents(Firestone);
Catapult001->CreateContents(Firestone);
Catapult001->CreateContents(Firestone);
CreateObject(Firestone, 38, 1190);
CreateObject(Firestone, 101, 1215);
CreateObject(Firestone, 369, 1282);
CreateObject(Firestone, 22, 1254);
CreateObject(Firestone, 376, 1217);
CreateObject(Firestone, 139, 1347);
CreateObject(Firestone, 280, 1464);
CreateObject(Firestone, 451, 1439);
CreateObject(Firestone, 678, 1365);
CreateObject(Firestone, 838, 1101);
CreateObject(Firestone, 880, 1090);
CreateObject(Firestone, 1022, 1226);
CreateObject(Firestone, 1338, 1262);
CreateObject(Firestone, 1144, 1408);
CreateObject(Firestone, 1051, 1366);
CreateObject(Firestone, 1328, 1487);
CreateObject(Firestone, 1467, 1461);
CreateObject(Firestone, 911, 981);
CreateObject(Firestone, 1118, 766);
CreateObject(Firestone, 948, 788);
CreateObject(Firestone, 781, 911);
CreateObject(Firestone, 1356, 806);
CreateObject(Firestone, 1287, 852);
CreateObjectAbove(Firestone, 38, 1190);
CreateObjectAbove(Firestone, 101, 1215);
CreateObjectAbove(Firestone, 369, 1282);
CreateObjectAbove(Firestone, 22, 1254);
CreateObjectAbove(Firestone, 376, 1217);
CreateObjectAbove(Firestone, 139, 1347);
CreateObjectAbove(Firestone, 280, 1464);
CreateObjectAbove(Firestone, 451, 1439);
CreateObjectAbove(Firestone, 678, 1365);
CreateObjectAbove(Firestone, 838, 1101);
CreateObjectAbove(Firestone, 880, 1090);
CreateObjectAbove(Firestone, 1022, 1226);
CreateObjectAbove(Firestone, 1338, 1262);
CreateObjectAbove(Firestone, 1144, 1408);
CreateObjectAbove(Firestone, 1051, 1366);
CreateObjectAbove(Firestone, 1328, 1487);
CreateObjectAbove(Firestone, 1467, 1461);
CreateObjectAbove(Firestone, 911, 981);
CreateObjectAbove(Firestone, 1118, 766);
CreateObjectAbove(Firestone, 948, 788);
CreateObjectAbove(Firestone, 781, 911);
CreateObjectAbove(Firestone, 1356, 806);
CreateObjectAbove(Firestone, 1287, 852);
Clonk006->CreateContents(Firestone);
Clonk006->CreateContents(Firestone);
Clonk007->CreateContents(Firestone);

View File

@ -1,6 +1,6 @@
global func AddScorch(int x, int y, int r, int strength, int duration)
{
var scorch = CreateObject(Wood, x,y, NO_OWNER);
var scorch = CreateObjectAbove(Wood, x,y, NO_OWNER);
if (!scorch) return nil;
scorch->SetObjectLayer(scorch);
scorch->SetR(r);

View File

@ -6,12 +6,12 @@ static npc_pyrit, g_cannon, g_cannoneer;
func Intro_Init()
{
this.plane = CreateObject(Plane, 0, 800);
this.plane = CreateObjectAbove(Plane, 0, 800);
this.plane->SetColor(0xa04000);
this.plane.health = 9999999;
this.plane.intro_seq = this;
this.pilot = npc_pyrit = CreateObject(Clonk, 100, 100, NO_OWNER);
this.pilot = npc_pyrit = CreateObjectAbove(Clonk, 100, 100, NO_OWNER);
this.pilot->MakeInvincible();
this.pilot->MakeNonFlammable();
this.pilot->SetSkin(2);
@ -180,4 +180,4 @@ func Intro_PlaneHit()
this.intro_seq->ScheduleNext(50);
SetObjectLayer(this); // plane is broken
return true;
}
}

View File

@ -4,14 +4,14 @@ func Initialize()
{
// Goal
var goal = FindObject(Find_ID(Goal_RepairStatue));
if (!goal) goal = CreateObject(Goal_RepairStatue);
var statue = CreateObject(MinersStatue, 600,736);
if (!goal) goal = CreateObjectAbove(Goal_RepairStatue);
var statue = CreateObjectAbove(MinersStatue, 600,736);
statue->SetBroken();
var statue_head = CreateObject(MinersStatue_Head, 2200,560);
var statue_head = CreateObjectAbove(MinersStatue_Head, 2200,560);
goal->SetStatue(statue);
// Rules
if (!ObjectCount(Find_ID(Rule_TeamAccount))) CreateObject(Rule_TeamAccount);
if (!ObjectCount(Find_ID(Rule_BuyAtFlagpole))) CreateObject(Rule_BuyAtFlagpole);
if (!ObjectCount(Find_ID(Rule_TeamAccount))) CreateObjectAbove(Rule_TeamAccount);
if (!ObjectCount(Find_ID(Rule_BuyAtFlagpole))) CreateObjectAbove(Rule_BuyAtFlagpole);
// Mushrooms before any earth materials, because they create their own caves
LargeCaveMushroom->Place(15, Rectangle(100,0,600,300));
// Create earth materials
@ -54,8 +54,8 @@ private func InitBase(int owner)
{
// Create standard base owned by player
var y=736;
var flag = CreateObject(Flagpole, 670,y, owner);
var lorry = CreateObject(Lorry, 650,y-2, owner);
var flag = CreateObjectAbove(Flagpole, 670,y, owner);
var lorry = CreateObjectAbove(Lorry, 650,y-2, owner);
if (lorry)
{
lorry->CreateContents(Loam, 6);
@ -80,7 +80,7 @@ private func PlaceBatches(array item_ids, int n_per_batch, int batch_radius, int
if (loc = FindLocation(Loc_Material("Earth")))
for (var j=0; j<n_per_batch; ++j)
if (loc2 = FindLocation(Loc_InRect(loc.x-batch_radius,loc.y-batch_radius,batch_radius*2,batch_radius*2), Loc_Material("Earth")))
if (obj=CreateObject(item_ids[Random(n_item_ids)],loc2.x,loc2.y))
if (obj=CreateObjectAbove(item_ids[Random(n_item_ids)],loc2.x,loc2.y))
{
obj->SetPosition(loc2.x,loc2.y);
++n_created;

View File

@ -35,7 +35,7 @@ public func DoConstructionEffects(object site)
// Site is done immediately
SetCon(100);
// Create TopFace overlay
top_face = CreateObject(GetID(),0,35,GetOwner());
top_face = CreateObjectAbove(GetID(),0,35,GetOwner());
top_face.Plane = this.Plane + 10;
top_face->SetGraphics("TopFace");
top_face->SetAction("Attach", this);
@ -354,4 +354,4 @@ local Collectible = false;
local Name = "$Name$";
local Description = "$Description$";
local Touchable = 0;
local Plane = 280;
local Plane = 280;

View File

@ -16,16 +16,16 @@ static g_is_initialized, g_is_in_intro, g_intro_done, npc_tuesday, g_tuesday_pos
protected func PostIntroInitialize()
{
// Construction site on goal platform
var goal_site = CreateObject(ConstructionSite, goal_platform_x+10, goal_platform_y+3);
var goal_site = CreateObjectAbove(ConstructionSite, goal_platform_x+10, goal_platform_y+3);
goal_site->Set(CrystalCommunicator);
goal_site->MakeUncancellable();
if (SCEN_TEST)
{
for (var i=0; i<6; ++i)
{
goal_site->CreateObject(Metal,-20);
goal_site->CreateObject(Ruby,0);
goal_site->CreateObject(Amethyst,20);
goal_site->CreateObjectAbove(Metal,-20);
goal_site->CreateObjectAbove(Ruby,0);
goal_site->CreateObjectAbove(Amethyst,20);
}
goal_site->CreateContents(Metal,6);
goal_site->CreateContents(Ruby,6);
@ -40,7 +40,7 @@ protected func PostIntroInitialize()
// NPC
g_tuesday_pos = FindMainIslandPosition(0, 100, true);
npc_tuesday = CreateObject(Clonk, g_tuesday_pos[0]+20, g_tuesday_pos[1]-10);
npc_tuesday = CreateObjectAbove(Clonk, g_tuesday_pos[0]+20, g_tuesday_pos[1]-10);
npc_tuesday->SetDir(DIR_Left);
npc_tuesday->SetColor(0x804000);
npc_tuesday->SetName("$Tuesday$");
@ -197,7 +197,7 @@ private func InitMainIsland()
// Always start with a lorry filled with: hammer(x2), axe(x2), wood(x6) and metal(x4).
var lorry_pos = FindMainIslandPosition(0, 80);
var lorry = CreateObject(Lorry, lorry_pos[0], lorry_pos[1] - 8);
var lorry = CreateObjectAbove(Lorry, lorry_pos[0], lorry_pos[1] - 8);
lorry->CreateContents(Hammer, 2);
lorry->CreateContents(Axe, 2);
lorry->CreateContents(Wood, 6);
@ -208,13 +208,13 @@ private func InitMainIsland()
if (amount >= 2)
{
pos = FindMainIslandPosition(-120, 20);
CreateObject(Flagpole, pos[0]-7, pos[1]);
var rfp = CreateObject(Flagpole, pos[0]+7, pos[1]);
CreateObjectAbove(Flagpole, pos[0]-7, pos[1]);
var rfp = CreateObjectAbove(Flagpole, pos[0]+7, pos[1]);
rfp->SetNeutral(true);
pos = FindMainIslandPosition(120, 20);
CreateObject(Flagpole, pos[0], pos[1]);
CreateObjectAbove(Flagpole, pos[0], pos[1]);
pos = FindMainIslandPosition(nil, nil, true);
CreateObject(WindGenerator, pos[0], pos[1]);
CreateObjectAbove(WindGenerator, pos[0], pos[1]);
lorry->CreateContents(Wood, 4);
lorry->CreateContents(Metal, 2);
lorry->CreateContents(Pickaxe, 1);
@ -226,11 +226,11 @@ private func InitMainIsland()
if (amount >= 3)
{
pos = FindMainIslandPosition(nil, nil, true);
CreateObject(Sawmill, pos[0], pos[1]);
CreateObjectAbove(Sawmill, pos[0], pos[1]);
pos = FindMainIslandPosition(nil, nil, true);
CreateObject(ChemicalLab, pos[0], pos[1]);
CreateObjectAbove(ChemicalLab, pos[0], pos[1]);
pos = FindMainIslandPosition(nil, nil, true);
CreateObject(ToolsWorkshop, pos[0], pos[1]);
CreateObjectAbove(ToolsWorkshop, pos[0], pos[1]);
lorry->CreateContents(Barrel, 1);
lorry->CreateContents(Bucket, 1);
@ -294,4 +294,4 @@ global func Particles_Smoke(...)
p.DampingX = 800;
}
return p;
}
}

View File

@ -10,9 +10,9 @@ func Intro_Start()
SetWind(-100);
SetSkyParallax(0, 20, 20, -10, 0);
this.plane = CreateObject(Plane, 500, 200);
this.plane = CreateObjectAbove(Plane, 500, 200);
this.plane->SetColor(0xa04000);
this.pilot = CreateObject(Clonk, 100, 100, NO_OWNER);
this.pilot = CreateObjectAbove(Clonk, 100, 100, NO_OWNER);
this.pilot->MakeInvincible();
this.pilot->MakeNonFlammable();
this.pilot->SetSkin(2);

View File

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

View File

@ -169,7 +169,7 @@ func Inventory_GetCarryTransform()
func LaunchEnemy(proplist enemy, int x, int y)
{
// Create enemy (usually a Clonk)
var obj = CreateObject(enemy.Type ?? Clonk, x,y), clonk;
var obj = CreateObjectAbove(enemy.Type ?? Clonk, x,y), clonk;
// Enemy visuals
if (enemy.Skin)
{
@ -208,7 +208,7 @@ func LaunchEnemy(proplist enemy, int x, int y)
var vehicle;
if (enemy.Vehicle)
{
vehicle = CreateObject(enemy.Vehicle, x,y);
vehicle = CreateObjectAbove(enemy.Vehicle, x,y);
obj->SetAction("Push", vehicle);
}
// Enemy inventory

View File

@ -4,45 +4,45 @@ static g_goal, g_object_fade, g_statue, g_doorleft, g_doorright;
func InitializeObjects()
{
CreateObject(Rule_BuyAtFlagpole, 0, 0);
CreateObject(Rule_TeamAccount, 0, 0);
CreateObjectAbove(Rule_BuyAtFlagpole, 0, 0);
CreateObjectAbove(Rule_TeamAccount, 0, 0);
g_goal = CreateObject(Goal_ProtectTheStatue, 0, 0);
g_goal = CreateObjectAbove(Goal_ProtectTheStatue, 0, 0);
g_goal.StaticSaveVar = "g_goal";
g_object_fade = CreateObject(Rule_ObjectFade, 0, 0);
g_object_fade = CreateObjectAbove(Rule_ObjectFade, 0, 0);
g_object_fade.StaticSaveVar = "g_object_fade";
g_statue = CreateObject(Idol, 632, 445);
g_statue = CreateObjectAbove(Idol, 632, 445);
g_statue.StaticSaveVar = "g_statue";
g_doorleft = CreateObject(StoneDoor, 495, 449);
g_doorleft = CreateObjectAbove(StoneDoor, 495, 449);
g_doorleft->SetComDir(COMD_Down);
g_doorleft.StaticSaveVar = "g_doorleft";
g_doorleft->SetAutoControl();
g_doorright = CreateObject(StoneDoor, 765, 448);
g_doorright = CreateObjectAbove(StoneDoor, 765, 448);
g_doorright->SetComDir(COMD_Down);
g_doorright.StaticSaveVar = "g_doorright";
g_doorright->SetAutoControl();
var Flagpole0012 = CreateObject(Flagpole, 676, 369);
var Flagpole0012 = CreateObjectAbove(Flagpole, 676, 369);
Flagpole0012->SetCategory(C4D_StaticBack);
Flagpole0012->SetColor(0xff);
var Flagpole0007 = CreateObject(Flagpole, 582, 369);
var Flagpole0007 = CreateObjectAbove(Flagpole, 582, 369);
Flagpole0007->SetCategory(C4D_StaticBack);
Flagpole0007->SetColor(0xff);
CreateObject(Rock, 312, 713);
CreateObject(Rock, 353, 679);
CreateObject(Rock, 894, 707);
CreateObject(Rock, 1084, 582);
CreateObjectAbove(Rock, 312, 713);
CreateObjectAbove(Rock, 353, 679);
CreateObjectAbove(Rock, 894, 707);
CreateObjectAbove(Rock, 1084, 582);
CreateObject(Loam, 752, 608);
CreateObject(Loam, 130, 555);
CreateObjectAbove(Loam, 752, 608);
CreateObjectAbove(Loam, 130, 555);
CreateObject(Firestone, 436, 652);
CreateObject(Firestone, 554, 533);
CreateObject(Firestone, 199, 583);
CreateObject(Firestone, 883, 559);
CreateObjectAbove(Firestone, 436, 652);
CreateObjectAbove(Firestone, 554, 533);
CreateObjectAbove(Firestone, 199, 583);
CreateObjectAbove(Firestone, 883, 559);
return true;
}

View File

@ -85,7 +85,7 @@ func JoinPlayer(plr)
}
else
{
clonk = CreateObject(Clonk, x,y+10, plr);
clonk = CreateObjectAbove(Clonk, x,y+10, plr);
clonk->MakeCrewMember(plr);
}
SetCursor(plr, clonk);
@ -94,11 +94,11 @@ func JoinPlayer(plr)
//clonk.MaxContentsCount = CustomAI.Clonk_MaxContentsCount;
//clonk.MaxContentsCountVal = 2;
clonk->CreateContents(Bow);
var arrow = CreateObject(Arrow);
var arrow = CreateObjectAbove(Arrow);
clonk->Collect(arrow);
arrow->SetInfiniteStackCount();
//clonk->CreateContents(Musket);
//clonk->Collect(CreateObject(LeadShot));
//clonk->Collect(CreateObjectAbove(LeadShot));
clonk->~CrewSelection(); // force update HUD
return;
}

View File

@ -10,7 +10,7 @@ func DoBuy(id idDef, int iForPlr, int iPayPlr, object pClonk, bool bRight, bool
else if (idobj == GrenadeLauncher) idammo = IronBomb;
if (idammo)
{
var ammo = CreateObject(idammo,0,0,iForPlr);
var ammo = CreateObjectAbove(idammo,0,0,iForPlr);
if (ammo)
{
ammo->~SetInfiniteStackCount();
@ -18,4 +18,4 @@ func DoBuy(id idDef, int iForPlr, int iPayPlr, object pClonk, bool bRight, bool
}
}
return obj;
}
}

View File

@ -4,15 +4,15 @@ func Initialize()
{
// Goal
var goal = FindObject(Find_ID(Goal_SellGems));
if (!goal) goal = CreateObject(Goal_SellGems);
if (!goal) goal = CreateObjectAbove(Goal_SellGems);
goal->SetTargetAmount(1);
// Rules
if (!ObjectCount(Find_ID(Rule_TeamAccount))) CreateObject(Rule_TeamAccount);
if (!ObjectCount(Find_ID(Rule_TeamAccount))) CreateObjectAbove(Rule_TeamAccount);
// Environment
var loc;
for (var i=0; i<5; ++i)
if (loc = FindLocation(Loc_InRect(0,80*8,40*8,20*8), Loc_Material("Earth")))
CreateObject(Rock, loc.x, loc.y+3);
CreateObjectAbove(Rock, loc.x, loc.y+3);
SetSkyParallax(1, 20,20, 0,0, nil, nil);
}
@ -35,20 +35,20 @@ private func InitBase(int owner)
{
// Create standard base owned by player
var y=90*8, x=40*8;
var flag = CreateObject(Flagpole, x+85,y, owner);
var hut = CreateObject(ToolsWorkshop, x+45,y, owner);
var flag = CreateObjectAbove(Flagpole, x+85,y, owner);
var hut = CreateObjectAbove(ToolsWorkshop, x+45,y, owner);
if (hut)
{
hut->CreateContents(Shovel, 1);
hut->CreateContents(Loam, 1);
}
for (var i=0; i<3; ++i) CreateObject(Boompack, x+20+i*5+Random(4),y, owner);
for (var i=0; i<3; ++i) CreateObjectAbove(Boompack, x+20+i*5+Random(4),y, owner);
return true;
}
func RelaunchPlayer(int plr)
{
var clonk = CreateObject(Clonk, 50, 1000, plr);
var clonk = CreateObjectAbove(Clonk, 50, 1000, plr);
clonk->MakeCrewMember(plr);
SetCursor(plr, clonk);
JoinPlayer(plr);

View File

@ -2,39 +2,39 @@
func InitializeObjects()
{
CreateObject(Grass, 443, 199);
CreateObject(Grass, 468, 197);
CreateObject(Grass, 441, 202);
CreateObjectAbove(Grass, 443, 199);
CreateObjectAbove(Grass, 468, 197);
CreateObjectAbove(Grass, 441, 202);
CreateObject(Tree_Coniferous, 452, 200);
CreateObject(Tree_Coniferous, 391, 200);
CreateObject(Tree_Coniferous, 336, 202);
CreateObject(Tree_Coniferous, 427, 199);
CreateObject(Tree_Coniferous, 367, 201);
CreateObjectAbove(Tree_Coniferous, 452, 200);
CreateObjectAbove(Tree_Coniferous, 391, 200);
CreateObjectAbove(Tree_Coniferous, 336, 202);
CreateObjectAbove(Tree_Coniferous, 427, 199);
CreateObjectAbove(Tree_Coniferous, 367, 201);
CreateObject(SproutBerryBush, 59, 214);
CreateObjectAbove(SproutBerryBush, 59, 214);
CreateObject(Trunk, 301, 202);
CreateObjectAbove(Trunk, 301, 202);
var Branch0029 = CreateObject(Branch, 41, 169);
var Branch0029 = CreateObjectAbove(Branch, 41, 169);
Branch0029->SetR(188);
Branch0029->SetPosition(41, 166);
var Branch0030 = CreateObject(Branch, 322, 195);
var Branch0030 = CreateObjectAbove(Branch, 322, 195);
Branch0030->SetR(6);
Branch0030->SetPosition(322, 192);
CreateObject(SproutBerryBush, 350, 206);
CreateObjectAbove(SproutBerryBush, 350, 206);
var Chest0039 = CreateObject(Chest, 200, 469);
var Chest0040 = CreateObject(Chest, 1192, 701);
var Chest0041 = CreateObject(Chest, 1807, 515);
var Chest0042 = CreateObject(Chest, 2360, 484);
var Chest0039 = CreateObjectAbove(Chest, 200, 469);
var Chest0040 = CreateObjectAbove(Chest, 1192, 701);
var Chest0041 = CreateObjectAbove(Chest, 1807, 515);
var Chest0042 = CreateObjectAbove(Chest, 2360, 484);
CreateObject(Rock, 335, 362);
CreateObject(Rock, 283, 376);
CreateObject(Rock, 464, 226);
CreateObject(Rock, 31, 103);
CreateObject(Rock, 481, 239);
CreateObjectAbove(Rock, 335, 362);
CreateObjectAbove(Rock, 283, 376);
CreateObjectAbove(Rock, 464, 226);
CreateObjectAbove(Rock, 31, 103);
CreateObjectAbove(Rock, 481, 239);
Chest0039->CreateContents(Wood);
Chest0039->CreateContents(Wood);
@ -65,23 +65,23 @@ func InitializeObjects()
Chest0041->CreateContents(WallKit);
Chest0042->CreateContents(WallKit);
var Barrel0071 = CreateObject(Barrel, 34, 206);
var Barrel0071 = CreateObjectAbove(Barrel, 34, 206);
Barrel0071->SetR(-86);
Barrel0071->SetPosition(34, 203);
var Seaweed0073 = CreateObject(Seaweed, 53, 503);
var Seaweed0073 = CreateObjectAbove(Seaweed, 53, 503);
Seaweed0073->SetPhase(15);
var Seaweed0076 = CreateObject(Seaweed, 123, 495);
var Seaweed0076 = CreateObjectAbove(Seaweed, 123, 495);
Seaweed0076->SetPhase(38);
CreateObject(Mushroom, 74, 201);
CreateObject(Mushroom, 14, 199);
CreateObject(Mushroom, 351, 201);
CreateObject(Mushroom, 388, 199);
CreateObject(Mushroom, 419, 199);
CreateObject(Mushroom, 400, 199);
CreateObject(Mushroom, 291, 199);
CreateObject(Mushroom, 376, 198);
CreateObjectAbove(Mushroom, 74, 201);
CreateObjectAbove(Mushroom, 14, 199);
CreateObjectAbove(Mushroom, 351, 201);
CreateObjectAbove(Mushroom, 388, 199);
CreateObjectAbove(Mushroom, 419, 199);
CreateObjectAbove(Mushroom, 400, 199);
CreateObjectAbove(Mushroom, 291, 199);
CreateObjectAbove(Mushroom, 376, 198);
Chest0039->CreateContents(Bread);
Chest0039->CreateContents(Bread);
@ -92,20 +92,20 @@ func InitializeObjects()
Chest0042->CreateContents(Bread);
Chest0042->CreateContents(Bread);
CreateObject(Firestone, 51, 85);
CreateObject(Firestone, 168, 146);
CreateObject(Firestone, 17, 261);
CreateObject(Firestone, 394, 253);
CreateObject(Firestone, 278, 240);
CreateObject(Firestone, 143, 439);
CreateObject(Firestone, 618, 225);
CreateObject(Firestone, 653, 231);
CreateObject(Firestone, 500, 245);
CreateObject(Firestone, 633, 236);
CreateObject(Firestone, 32, 277);
CreateObject(Firestone, 32, 266);
CreateObject(Firestone, 17, 238);
CreateObject(Firestone, 153, 149);
CreateObject(Firestone, 585, 241);
CreateObjectAbove(Firestone, 51, 85);
CreateObjectAbove(Firestone, 168, 146);
CreateObjectAbove(Firestone, 17, 261);
CreateObjectAbove(Firestone, 394, 253);
CreateObjectAbove(Firestone, 278, 240);
CreateObjectAbove(Firestone, 143, 439);
CreateObjectAbove(Firestone, 618, 225);
CreateObjectAbove(Firestone, 653, 231);
CreateObjectAbove(Firestone, 500, 245);
CreateObjectAbove(Firestone, 633, 236);
CreateObjectAbove(Firestone, 32, 277);
CreateObjectAbove(Firestone, 32, 266);
CreateObjectAbove(Firestone, 17, 238);
CreateObjectAbove(Firestone, 153, 149);
CreateObjectAbove(Firestone, 585, 241);
return true;
}

View File

@ -4,11 +4,11 @@ func Initialize()
{
// Goal
var goal = FindObject(Find_ID(Goal_SellGems));
if (!goal) goal = CreateObject(Goal_SellGems);
if (!goal) goal = CreateObjectAbove(Goal_SellGems);
goal->SetTargetAmount(30);
// Rules
if (!ObjectCount(Find_ID(Rule_TeamAccount))) CreateObject(Rule_TeamAccount);
if (!ObjectCount(Find_ID(Rule_BuyAtFlagpole))) CreateObject(Rule_BuyAtFlagpole);
if (!ObjectCount(Find_ID(Rule_TeamAccount))) CreateObjectAbove(Rule_TeamAccount);
if (!ObjectCount(Find_ID(Rule_BuyAtFlagpole))) CreateObjectAbove(Rule_BuyAtFlagpole);
// Environment
SetSkyParallax(1, 20,20, 0,0, nil, nil);
return true;
@ -42,21 +42,21 @@ private func InitBase(int owner)
{
// Create standard base owned by player
var y=200;
var flag = CreateObject(Flagpole, 590,y, owner);
var windgen = CreateObject(WindGenerator, 500,y, owner);
var chemlab = CreateObject(ChemicalLab, 560,y, owner);
var invlab = CreateObject(InventorsLab, 660,y, owner);
var flag = CreateObjectAbove(Flagpole, 590,y, owner);
var windgen = CreateObjectAbove(WindGenerator, 500,y, owner);
var chemlab = CreateObjectAbove(ChemicalLab, 560,y, owner);
var invlab = CreateObjectAbove(InventorsLab, 660,y, owner);
if (invlab)
{
invlab->SetClrModulation(0xff804000);
}
var toolsw = CreateObject(ToolsWorkshop, 620,y, owner);
var toolsw = CreateObjectAbove(ToolsWorkshop, 620,y, owner);
if (toolsw)
{
toolsw->CreateContents(Wood, 5);
toolsw->CreateContents(Metal, 2);
}
var lorry = CreateObject(Lorry, 690,y-2, owner);
var lorry = CreateObjectAbove(Lorry, 690,y-2, owner);
if (lorry)
{
//lorry->CreateContents(GrappleBow, GetStartupPlayerCount());

View File

@ -2,169 +2,169 @@
func InitializeObjects()
{
var Grass0001 = CreateObject(Grass, 132, 142);
var Grass0001 = CreateObjectAbove(Grass, 132, 142);
Grass0001->SetClrModulation(0xff0b1d05);
var Grass0002 = CreateObject(Grass, 142, 139);
var Grass0002 = CreateObjectAbove(Grass, 142, 139);
Grass0002->SetClrModulation(0xff150b09);
var Grass0003 = CreateObject(Grass, 125, 146);
var Grass0003 = CreateObjectAbove(Grass, 125, 146);
Grass0003->SetClrModulation(0xff06090a);
var Grass0004 = CreateObject(Grass, 119, 151);
var Grass0004 = CreateObjectAbove(Grass, 119, 151);
Grass0004->SetClrModulation(0xff201308);
var Grass0005 = CreateObject(Grass, 205, 146);
var Grass0005 = CreateObjectAbove(Grass, 205, 146);
Grass0005->SetClrModulation(0xff35020b);
var Grass0006 = CreateObject(Grass, 179, 143);
var Grass0006 = CreateObjectAbove(Grass, 179, 143);
Grass0006->SetClrModulation(0xff3b0e05);
var Grass0007 = CreateObject(Grass, 172, 141);
var Grass0007 = CreateObjectAbove(Grass, 172, 141);
Grass0007->SetClrModulation(0xff2e150e);
CreateObject(Grass, 1360, 397);
CreateObject(Grass, 1456, 325);
CreateObject(Grass, 1462, 325);
CreateObject(Grass, 1469, 325);
CreateObject(Grass, 1475, 326);
CreateObject(Grass, 1482, 326);
CreateObject(Grass, 1269, 316);
CreateObject(Grass, 1262, 315);
CreateObject(Grass, 1281, 310);
CreateObject(Grass, 1274, 312);
CreateObject(Grass, 1254, 317);
CreateObject(Grass, 1246, 315);
CreateObject(Grass, 1243, 317);
CreateObject(Grass, 32, 155);
CreateObject(Grass, 38, 155);
CreateObject(Grass, 27, 157);
CreateObject(Grass, 1591, 349);
CreateObject(Grass, 1598, 349);
CreateObject(Grass, 1605, 349);
CreateObject(Grass, 1612, 350);
CreateObject(Grass, 1620, 353);
CreateObject(Grass, 1725, 369);
CreateObjectAbove(Grass, 1360, 397);
CreateObjectAbove(Grass, 1456, 325);
CreateObjectAbove(Grass, 1462, 325);
CreateObjectAbove(Grass, 1469, 325);
CreateObjectAbove(Grass, 1475, 326);
CreateObjectAbove(Grass, 1482, 326);
CreateObjectAbove(Grass, 1269, 316);
CreateObjectAbove(Grass, 1262, 315);
CreateObjectAbove(Grass, 1281, 310);
CreateObjectAbove(Grass, 1274, 312);
CreateObjectAbove(Grass, 1254, 317);
CreateObjectAbove(Grass, 1246, 315);
CreateObjectAbove(Grass, 1243, 317);
CreateObjectAbove(Grass, 32, 155);
CreateObjectAbove(Grass, 38, 155);
CreateObjectAbove(Grass, 27, 157);
CreateObjectAbove(Grass, 1591, 349);
CreateObjectAbove(Grass, 1598, 349);
CreateObjectAbove(Grass, 1605, 349);
CreateObjectAbove(Grass, 1612, 350);
CreateObjectAbove(Grass, 1620, 353);
CreateObjectAbove(Grass, 1725, 369);
CreateObject(Tree_Coniferous, 359, 134);
CreateObjectAbove(Tree_Coniferous, 359, 134);
var Trunk0034 = CreateObject(Trunk, 149, 144);
var Trunk0034 = CreateObjectAbove(Trunk, 149, 144);
Trunk0034->SetCon(70);
Trunk0034->SetR(10);
Trunk0034->SetClrModulation(0xff808080);
Trunk0034->SetPosition(149, 127);
var Trunk0035 = CreateObject(Trunk, 119, 161);
var Trunk0035 = CreateObjectAbove(Trunk, 119, 161);
Trunk0035->SetCon(85);
Trunk0035->SetClrModulation(0xff806640);
var Tree_Coniferous0036 = CreateObject(Tree_Coniferous, 21, 159);
var Tree_Coniferous0036 = CreateObjectAbove(Tree_Coniferous, 21, 159);
Tree_Coniferous0036->SetCon(60);
var Tree_Coniferous0040 = CreateObject(Tree_Coniferous, 50, 158);
var Tree_Coniferous0040 = CreateObjectAbove(Tree_Coniferous, 50, 158);
Tree_Coniferous0040->SetCon(80);
var Tree_Coniferous0044 = CreateObject(Tree_Coniferous, 553, 70);
var Tree_Coniferous0044 = CreateObjectAbove(Tree_Coniferous, 553, 70);
Tree_Coniferous0044->SetCon(60);
Tree_Coniferous0044->SetR(-20);
Tree_Coniferous0044->SetPosition(553, 45);
var Tree_Coniferous0048 = CreateObject(Tree_Coniferous, 663, 52);
var Tree_Coniferous0048 = CreateObjectAbove(Tree_Coniferous, 663, 52);
Tree_Coniferous0048->SetCon(80);
CreateObject(Tree_Coniferous, 682, 52);
CreateObject(Tree_Coniferous, 812, 57);
CreateObjectAbove(Tree_Coniferous, 682, 52);
CreateObjectAbove(Tree_Coniferous, 812, 57);
CreateObject(Trunk, 778, 81);
CreateObjectAbove(Trunk, 778, 81);
CreateObject(Tree_Coniferous, 547, 407);
CreateObject(Tree_Coniferous, 494, 403);
CreateObject(Tree_Coniferous, 416, 394);
CreateObjectAbove(Tree_Coniferous, 547, 407);
CreateObjectAbove(Tree_Coniferous, 494, 403);
CreateObjectAbove(Tree_Coniferous, 416, 394);
CreateObject(Trunk, 331, 364);
var Trunk0074 = CreateObject(Trunk, 379, 260);
CreateObjectAbove(Trunk, 331, 364);
var Trunk0074 = CreateObjectAbove(Trunk, 379, 260);
Trunk0074->SetCon(70);
Trunk0074->SetR(180);
Trunk0074->SetPosition(379, 244);
var Trunk0075 = CreateObject(Trunk, 353, 288);
var Trunk0075 = CreateObjectAbove(Trunk, 353, 288);
Trunk0075->SetCon(50);
Trunk0075->SetR(140);
Trunk0075->SetPosition(353, 280);
var Branch0076 = CreateObject(Branch, 338, 290);
var Branch0076 = CreateObjectAbove(Branch, 338, 290);
Branch0076->SetR(140);
Branch0076->SetPosition(338, 293);
var Branch0077 = CreateObject(Branch, 618, 122);
var Branch0077 = CreateObjectAbove(Branch, 618, 122);
Branch0077->SetR(-140);
Branch0077->SetPosition(618, 125);
var Branch0078 = CreateObject(Branch, 585, 104);
var Branch0078 = CreateObjectAbove(Branch, 585, 104);
Branch0078->SetR(-150);
Branch0078->SetPosition(585, 107);
var Trunk0079 = CreateObject(Trunk, 643, 153);
var Trunk0079 = CreateObjectAbove(Trunk, 643, 153);
Trunk0079->SetCon(60);
Trunk0079->SetR(-150);
Trunk0079->SetPosition(643, 141);
CreateObject(SproutBerryBush, 458, 406);
CreateObjectAbove(SproutBerryBush, 458, 406);
var LargeCaveMushroom0084 = CreateObject(LargeCaveMushroom, 11, 306);
var LargeCaveMushroom0084 = CreateObjectAbove(LargeCaveMushroom, 11, 306);
LargeCaveMushroom0084->SetCon(60);
LargeCaveMushroom0084->SetClrModulation(0xffe0ece4);
CreateObject(Tree_Coniferous, 300, 134);
CreateObjectAbove(Tree_Coniferous, 300, 134);
var LargeCaveMushroom0096 = CreateObject(LargeCaveMushroom, 144, 513);
var LargeCaveMushroom0096 = CreateObjectAbove(LargeCaveMushroom, 144, 513);
LargeCaveMushroom0096->SetCon(60);
LargeCaveMushroom0096->SetClrModulation(0xff788cc8);
var LargeCaveMushroom0100 = CreateObject(LargeCaveMushroom, 1220, 489);
var LargeCaveMushroom0100 = CreateObjectAbove(LargeCaveMushroom, 1220, 489);
LargeCaveMushroom0100->SetCon(50);
LargeCaveMushroom0100->SetClrModulation(0xffe5e6ec);
var LargeCaveMushroom0104 = CreateObject(LargeCaveMushroom, 176, 146);
var LargeCaveMushroom0104 = CreateObjectAbove(LargeCaveMushroom, 176, 146);
LargeCaveMushroom0104->SetCon(80);
LargeCaveMushroom0104->SetClrModulation(0xff643c28);
CreateObject(Tree_Coniferous, 1398, 324);
CreateObject(Tree_Coniferous, 1328, 316);
CreateObject(Tree_Coniferous, 1208, 311);
CreateObject(Tree_Coniferous, 1168, 320);
CreateObject(Tree_Coniferous, 1188, 317);
CreateObject(Tree_Coniferous, 1128, 323);
CreateObject(Tree_Coniferous, 1293, 314);
CreateObject(Tree_Coniferous, 1337, 317);
CreateObject(Tree_Coniferous, 1319, 312);
CreateObject(Tree_Coniferous, 1368, 322);
CreateObjectAbove(Tree_Coniferous, 1398, 324);
CreateObjectAbove(Tree_Coniferous, 1328, 316);
CreateObjectAbove(Tree_Coniferous, 1208, 311);
CreateObjectAbove(Tree_Coniferous, 1168, 320);
CreateObjectAbove(Tree_Coniferous, 1188, 317);
CreateObjectAbove(Tree_Coniferous, 1128, 323);
CreateObjectAbove(Tree_Coniferous, 1293, 314);
CreateObjectAbove(Tree_Coniferous, 1337, 317);
CreateObjectAbove(Tree_Coniferous, 1319, 312);
CreateObjectAbove(Tree_Coniferous, 1368, 322);
CreateObject(SproutBerryBush, 1258, 323);
CreateObject(SproutBerryBush, 1579, 358);
CreateObjectAbove(SproutBerryBush, 1258, 323);
CreateObjectAbove(SproutBerryBush, 1579, 358);
var Trunk0156 = CreateObject(Trunk, 1065, 369);
var Trunk0156 = CreateObjectAbove(Trunk, 1065, 369);
Trunk0156->SetR(-30);
Trunk0156->SetPosition(1065, 347);
CreateObject(Trunk, 1522, 338);
var Trunk0158 = CreateObject(Trunk, 1001, 520);
CreateObjectAbove(Trunk, 1522, 338);
var Trunk0158 = CreateObjectAbove(Trunk, 1001, 520);
Trunk0158->SetR(-80);
Trunk0158->SetPosition(1001, 512);
var Trunk0159 = CreateObject(Trunk, 680, 519);
var Trunk0159 = CreateObjectAbove(Trunk, 680, 519);
Trunk0159->SetR(65);
Trunk0159->SetPosition(680, 507);
CreateObject(BigRock, 523, 405);
var BigRock0161 = CreateObject(BigRock, 711, 530);
CreateObjectAbove(BigRock, 523, 405);
var BigRock0161 = CreateObjectAbove(BigRock, 711, 530);
BigRock0161->SetR(60);
BigRock0161->SetPosition(711, 527);
CreateObject(BigRock, 1025, 560);
CreateObject(BigRock, 338, 572);
CreateObjectAbove(BigRock, 1025, 560);
CreateObjectAbove(BigRock, 338, 572);
var Tree_Coniferous0164 = CreateObject(Tree_Coniferous, 261, 133);
var Tree_Coniferous0164 = CreateObjectAbove(Tree_Coniferous, 261, 133);
Tree_Coniferous0164->SetCon(70);
var Tree_Coniferous0168 = CreateObject(Tree_Coniferous, 171, 197);
var Tree_Coniferous0168 = CreateObjectAbove(Tree_Coniferous, 171, 197);
Tree_Coniferous0168->SetCon(1);
CreateObject(Tree_Coniferous, 1640, 367);
CreateObject(Tree_Coniferous, 1700, 374);
CreateObject(Tree_Coniferous, 1756, 370);
CreateObject(Tree_Coniferous, 1673, 375);
CreateObjectAbove(Tree_Coniferous, 1640, 367);
CreateObjectAbove(Tree_Coniferous, 1700, 374);
CreateObjectAbove(Tree_Coniferous, 1756, 370);
CreateObjectAbove(Tree_Coniferous, 1673, 375);
CreateObject(Rule_TeamAccount, 50, 50);
CreateObjectAbove(Rule_TeamAccount, 50, 50);
CreateObject(Rule_BuyAtFlagpole, 50, 50);
CreateObjectAbove(Rule_BuyAtFlagpole, 50, 50);
CreateObject(Rule_BuyAtFlagpole, 50, 50);
CreateObjectAbove(Rule_BuyAtFlagpole, 50, 50);
var Chest0224 = CreateObject(Chest, 534, 543);
var Chest0225 = CreateObject(Chest, 279, 585);
var Chest0226 = CreateObject(Chest, 1185, 447);
var Chest0227 = CreateObject(Chest, 1812, 549);
var Chest0224 = CreateObjectAbove(Chest, 534, 543);
var Chest0225 = CreateObjectAbove(Chest, 279, 585);
var Chest0226 = CreateObjectAbove(Chest, 1185, 447);
var Chest0227 = CreateObjectAbove(Chest, 1812, 549);
var WindGenerator0190 = CreateObject(WindGenerator, 177, 144);
var WindGenerator0190 = CreateObjectAbove(WindGenerator, 177, 144);
WindGenerator0190->SetCon(80);
WindGenerator0190->SetCategory(C4D_StaticBack);
WindGenerator0190->SetR(92);
@ -172,20 +172,20 @@ func InitializeObjects()
WindGenerator0190->SetPosition(177, 134);
WindGenerator0190->~Destruction(); // shouldn't have a power radius
var Elevator0228 = CreateObject(Elevator, 69, 159);
var Elevator0228 = CreateObjectAbove(Elevator, 69, 159);
Elevator0228->CreateShaft(5);
Elevator0228->SetCasePosition(152);
var Clonk0236 = CreateObject(Clonk, 134, 396);
var Clonk0236 = CreateObjectAbove(Clonk, 134, 396);
Clonk0236->SetColor(0xfff0783c);
Clonk0236->SetDir(DIR_Left);
var Clonk0242 = CreateObject(Clonk, 149, 387);
var Clonk0242 = CreateObjectAbove(Clonk, 149, 387);
Clonk0242->SetColor(0xff78f03c);
Clonk0242->SetDir(DIR_Left);
var Clonk0248 = CreateObject(Clonk, 80, 387);
var Clonk0248 = CreateObjectAbove(Clonk, 80, 387);
Clonk0248->SetDir(DIR_Right);
Clonk0248->SetColor(0xfff078f0);
var Clonk0254 = CreateObject(Clonk, 520, 553);
var Clonk0254 = CreateObjectAbove(Clonk, 520, 553);
Clonk0254->Kill(Clonk0254, true);
Clonk0254->SetDir(DIR_Right);
Clonk0254->SetYDir(20);
@ -216,22 +216,22 @@ func InitializeObjects()
Chest0224->CreateContents(GoldBar);
CreateObject(Mushroom, 790, 71);
CreateObject(Mushroom, 799, 67);
CreateObject(Mushroom, 672, 57);
CreateObject(Mushroom, 252, 134);
CreateObject(Mushroom, 137, 144);
CreateObject(Mushroom, 590, 419);
CreateObject(Mushroom, 623, 406);
CreateObject(Mushroom, 548, 542);
CreateObject(Mushroom, 84, 495);
CreateObject(Mushroom, 159, 508);
CreateObject(Mushroom, 223, 535);
CreateObject(Mushroom, 1115, 479);
CreateObject(Mushroom, 1079, 479);
CreateObject(Mushroom, 1049, 478);
CreateObject(Mushroom, 1115, 329);
CreateObject(Mushroom, 1206, 488);
CreateObjectAbove(Mushroom, 790, 71);
CreateObjectAbove(Mushroom, 799, 67);
CreateObjectAbove(Mushroom, 672, 57);
CreateObjectAbove(Mushroom, 252, 134);
CreateObjectAbove(Mushroom, 137, 144);
CreateObjectAbove(Mushroom, 590, 419);
CreateObjectAbove(Mushroom, 623, 406);
CreateObjectAbove(Mushroom, 548, 542);
CreateObjectAbove(Mushroom, 84, 495);
CreateObjectAbove(Mushroom, 159, 508);
CreateObjectAbove(Mushroom, 223, 535);
CreateObjectAbove(Mushroom, 1115, 479);
CreateObjectAbove(Mushroom, 1079, 479);
CreateObjectAbove(Mushroom, 1049, 478);
CreateObjectAbove(Mushroom, 1115, 329);
CreateObjectAbove(Mushroom, 1206, 488);
Chest0225->CreateContents(Mushroom);
Chest0225->CreateContents(Musket);

View File

@ -8,7 +8,7 @@ static g_is_initialized;
func DoInit(int first_player)
{
var goal = CreateObject(Goal_ElevatorEnergy);
var goal = CreateObjectAbove(Goal_ElevatorEnergy);
var elevator = FindObject(Find_ID(Elevator));
goal->SetTarget(elevator.case);
@ -16,11 +16,11 @@ func DoInit(int first_player)
elevator->SetOwner(first_player);
elevator.case->SetPosition(elevator.case->GetX(), elevator.case->GetY()+190);
// Create the start buildings: 2 x flag, windmill, armory, cabin
CreateObject(Flagpole, 193*8, 43*8, first_player);
CreateObject(Flagpole, 221*8, 46*8, first_player);
CreateObject(WoodenCabin, 228*8, 47*8, first_player);
CreateObject(Armory, 212*8, 47*8, first_player);
CreateObject(WindGenerator, 197*8, 44*8, first_player);
CreateObjectAbove(Flagpole, 193*8, 43*8, first_player);
CreateObjectAbove(Flagpole, 221*8, 46*8, first_player);
CreateObjectAbove(WoodenCabin, 228*8, 47*8, first_player);
CreateObjectAbove(Armory, 212*8, 47*8, first_player);
CreateObjectAbove(WindGenerator, 197*8, 44*8, first_player);
// Create start material: Hammer, shovel, axe
var clonk1 = GetCrew(first_player, 0);
var clonk2 = GetCrew(first_player, 1);
@ -36,7 +36,7 @@ func DoInit(int first_player)
var location = FindLocation(Loc_Material("Earth"));//, Loc_Space(5, false), Loc_Space(5, true));
if(location)
{
CreateObject(stuff[Random(GetLength(stuff))], location.x, location.y);
CreateObjectAbove(stuff[Random(GetLength(stuff))], location.x, location.y);
}
}

View File

@ -2,310 +2,310 @@
func InitializeObjects()
{
CreateObject(Grass, 792, 656);
CreateObject(Grass, 647, 614);
CreateObject(Grass, 656, 618);
CreateObject(Grass, 176, 533);
CreateObject(Grass, 86, 502);
CreateObject(Grass, 164, 529);
CreateObject(Grass, 248, 571);
CreateObject(Grass, 254, 575);
CreateObject(Grass, 207, 548);
CreateObject(Grass, 241, 568);
CreateObject(Grass, 224, 558);
CreateObject(Grass, 169, 533);
CreateObject(Grass, 199, 541);
CreateObject(Grass, 215, 550);
CreateObject(Grass, 222, 554);
CreateObject(Grass, 10, 498);
CreateObject(Grass, 3, 501);
CreateObjectAbove(Grass, 792, 656);
CreateObjectAbove(Grass, 647, 614);
CreateObjectAbove(Grass, 656, 618);
CreateObjectAbove(Grass, 176, 533);
CreateObjectAbove(Grass, 86, 502);
CreateObjectAbove(Grass, 164, 529);
CreateObjectAbove(Grass, 248, 571);
CreateObjectAbove(Grass, 254, 575);
CreateObjectAbove(Grass, 207, 548);
CreateObjectAbove(Grass, 241, 568);
CreateObjectAbove(Grass, 224, 558);
CreateObjectAbove(Grass, 169, 533);
CreateObjectAbove(Grass, 199, 541);
CreateObjectAbove(Grass, 215, 550);
CreateObjectAbove(Grass, 222, 554);
CreateObjectAbove(Grass, 10, 498);
CreateObjectAbove(Grass, 3, 501);
CreateObject(Trunk, 1117, 546);
var Trunk0019 = CreateObject(Trunk, 1100, 555);
CreateObjectAbove(Trunk, 1117, 546);
var Trunk0019 = CreateObjectAbove(Trunk, 1100, 555);
Trunk0019->SetCon(80);
var Trunk0020 = CreateObject(Trunk, 1363, 543);
var Trunk0020 = CreateObjectAbove(Trunk, 1363, 543);
Trunk0020->SetCon(65);
var Trunk0021 = CreateObject(Trunk, 1236, 561);
var Trunk0021 = CreateObjectAbove(Trunk, 1236, 561);
Trunk0021->SetCon(40);
CreateObject(Trunk, 983, 593);
CreateObject(Trunk, 1050, 574);
CreateObjectAbove(Trunk, 983, 593);
CreateObjectAbove(Trunk, 1050, 574);
var Branch0024 = CreateObject(Branch, 1105, 503);
var Branch0024 = CreateObjectAbove(Branch, 1105, 503);
Branch0024->SetR(-140);
Branch0024->SetPosition(1105, 503);
var Branch0025 = CreateObject(Branch, 1415, 280);
var Branch0025 = CreateObjectAbove(Branch, 1415, 280);
Branch0025->SetR(176);
Branch0025->SetPosition(1415, 280);
var Branch0026 = CreateObject(Branch, 1509, 289);
var Branch0026 = CreateObjectAbove(Branch, 1509, 289);
Branch0026->SetR(-165);
Branch0026->SetPosition(1509, 289);
var Branch0027 = CreateObject(Branch, 1557, 314);
var Branch0027 = CreateObjectAbove(Branch, 1557, 314);
Branch0027->SetR(-159);
Branch0027->SetPosition(1557, 314);
var Branch0028 = CreateObject(Branch, 1315, 293);
var Branch0028 = CreateObjectAbove(Branch, 1315, 293);
Branch0028->SetR(-173);
Branch0028->SetPosition(1315, 293);
var Branch0029 = CreateObject(Branch, 1583, 452);
var Branch0029 = CreateObjectAbove(Branch, 1583, 452);
Branch0029->SetR(-8);
Branch0029->SetPosition(1583, 449);
var Branch0030 = CreateObject(Branch, 1491, 479);
var Branch0030 = CreateObjectAbove(Branch, 1491, 479);
Branch0030->SetR(-26);
Branch0030->SetPosition(1491, 476);
var Trunk0031 = CreateObject(Trunk, 1388, 302);
var Trunk0031 = CreateObjectAbove(Trunk, 1388, 302);
Trunk0031->SetCon(55);
Trunk0031->SetR(180);
Trunk0031->SetPosition(1388, 290);
var Trunk0032 = CreateObject(Trunk, 1316, 218);
var Trunk0032 = CreateObjectAbove(Trunk, 1316, 218);
Trunk0032->SetCon(66);
CreateObject(Tree_Coniferous, 531, 574);
CreateObjectAbove(Tree_Coniferous, 531, 574);
CreateObject(Fern, 596, 595);
CreateObjectAbove(Fern, 596, 595);
CreateObject(Tree_Coniferous, 633, 607);
CreateObject(Tree_Coniferous, 716, 632);
CreateObject(Tree_Coniferous, 764, 631);
CreateObject(Tree_Coniferous, 581, 590);
CreateObject(Tree_Coniferous, 413, 702);
CreateObject(Tree_Coniferous, 789, 628);
CreateObject(Tree_Coniferous, 934, 615);
CreateObject(Tree_Coniferous, 1134, 533);
CreateObject(Tree_Coniferous, 122, 507);
CreateObject(Tree_Coniferous, 137, 518);
CreateObject(Tree_Coniferous, 131, 515);
CreateObject(Tree_Coniferous, 152, 525);
CreateObject(Tree_Coniferous, 189, 543);
CreateObject(Tree_Coniferous, 231, 565);
CreateObject(Tree_Coniferous, 1290, 227);
CreateObjectAbove(Tree_Coniferous, 633, 607);
CreateObjectAbove(Tree_Coniferous, 716, 632);
CreateObjectAbove(Tree_Coniferous, 764, 631);
CreateObjectAbove(Tree_Coniferous, 581, 590);
CreateObjectAbove(Tree_Coniferous, 413, 702);
CreateObjectAbove(Tree_Coniferous, 789, 628);
CreateObjectAbove(Tree_Coniferous, 934, 615);
CreateObjectAbove(Tree_Coniferous, 1134, 533);
CreateObjectAbove(Tree_Coniferous, 122, 507);
CreateObjectAbove(Tree_Coniferous, 137, 518);
CreateObjectAbove(Tree_Coniferous, 131, 515);
CreateObjectAbove(Tree_Coniferous, 152, 525);
CreateObjectAbove(Tree_Coniferous, 189, 543);
CreateObjectAbove(Tree_Coniferous, 231, 565);
CreateObjectAbove(Tree_Coniferous, 1290, 227);
CreateObject(Fern, 241, 1104);
CreateObject(Fern, 493, 1160);
CreateObject(Fern, 1008, 736);
CreateObject(Fern, 1530, 464);
CreateObject(Fern, 820, 1248);
CreateObject(Fern, 1125, 1207);
CreateObjectAbove(Fern, 241, 1104);
CreateObjectAbove(Fern, 493, 1160);
CreateObjectAbove(Fern, 1008, 736);
CreateObjectAbove(Fern, 1530, 464);
CreateObjectAbove(Fern, 820, 1248);
CreateObjectAbove(Fern, 1125, 1207);
CreateObject(Tree_Coniferous, 264, 1111);
CreateObject(Tree_Coniferous, 691, 626);
CreateObjectAbove(Tree_Coniferous, 264, 1111);
CreateObjectAbove(Tree_Coniferous, 691, 626);
CreateObject(Fern, 1100, 1353);
CreateObject(Fern, 1074, 1354);
CreateObjectAbove(Fern, 1100, 1353);
CreateObjectAbove(Fern, 1074, 1354);
var Trunk0141 = CreateObject(Trunk, 211, 1090);
var Trunk0141 = CreateObjectAbove(Trunk, 211, 1090);
Trunk0141->SetCon(80);
var Trunk0142 = CreateObject(Trunk, 438, 1155);
var Trunk0142 = CreateObjectAbove(Trunk, 438, 1155);
Trunk0142->SetCon(70);
var Trunk0143 = CreateObject(Trunk, 538, 1103);
var Trunk0143 = CreateObjectAbove(Trunk, 538, 1103);
Trunk0143->SetR(-165);
Trunk0143->SetPosition(538, 1080);
var Tree_Coniferous0144 = CreateObject(Tree_Coniferous, 624, 612);
var Tree_Coniferous0144 = CreateObjectAbove(Tree_Coniferous, 624, 612);
Tree_Coniferous0144->SetCon(24);
var Branch0148 = CreateObject(Branch, 1634, 363);
var Branch0148 = CreateObjectAbove(Branch, 1634, 363);
Branch0148->SetR(-158);
Branch0148->SetPosition(1634, 363);
var Trunk0149 = CreateObject(Trunk, 1457, 528);
var Trunk0149 = CreateObjectAbove(Trunk, 1457, 528);
Trunk0149->SetCon(30);
CreateObject(Fern, 75, 1102);
CreateObjectAbove(Fern, 75, 1102);
CreateObject(Rule_NoPowerNeed, 0, 0);
CreateObjectAbove(Rule_NoPowerNeed, 0, 0);
var Chest0156 = CreateObject(Chest, 55, 1308);
CreateObject(Chest, 1381, 534);
var Chest0158 = CreateObject(Chest, 620, 879);
var Chest0159 = CreateObject(Chest, 625, 748);
var Chest0160 = CreateObject(Chest, 1553, 279);
CreateObject(Chest, 1647, 1380);
var Chest0156 = CreateObjectAbove(Chest, 55, 1308);
CreateObjectAbove(Chest, 1381, 534);
var Chest0158 = CreateObjectAbove(Chest, 620, 879);
var Chest0159 = CreateObjectAbove(Chest, 625, 748);
var Chest0160 = CreateObjectAbove(Chest, 1553, 279);
CreateObjectAbove(Chest, 1647, 1380);
CreateObject(Armory, 1326, 523);
CreateObjectAbove(Armory, 1326, 523);
var Flagpole0204 = CreateObject(Flagpole, 120, 71);
var Flagpole0204 = CreateObjectAbove(Flagpole, 120, 71);
Flagpole0204->SetCategory(C4D_StaticBack);
Flagpole0204->SetColor(0xffc85a12);
var WindGenerator0170 = CreateObject(WindGenerator, 1262, 537);
var WindGenerator0170 = CreateObjectAbove(WindGenerator, 1262, 537);
WindGenerator0170->SetCon(48);
WindGenerator0170->SetCategory(C4D_StaticBack);
WindGenerator0170->SetClrModulation(0xff7a6e65);
var WoodenCabin0155 = CreateObject(WoodenCabin, 56, 505);
var WoodenCabin0155 = CreateObjectAbove(WoodenCabin, 56, 505);
WoodenCabin0155->SetCategory(C4D_Structure|C4D_Background);
var Elevator0162 = CreateObject(Elevator, 1170, 544);
var Elevator0162 = CreateObjectAbove(Elevator, 1170, 544);
Elevator0162->SetCon(40);
Elevator0162->SetClrModulation(0xff58362c);
var Clonk0289 = CreateObject(Clonk, 155, 997);
var Clonk0289 = CreateObjectAbove(Clonk, 155, 997);
Clonk0289->Kill(Clonk0289, true);
Clonk0289->SetYDir(16);
Clonk0289->SetColor(0xffdd3420);
Clonk0289->SetName("Hans-Georg");
Clonk0289->SetDir(DIR_Left);
CreateObject(Rock, 109, 659);
CreateObject(Rock, 86, 860);
CreateObject(Rock, 31, 883);
CreateObject(Rock, 172, 601);
CreateObject(Rock, 128, 1045);
CreateObject(Rock, 37, 1031);
CreateObject(Rock, 240, 1204);
CreateObject(Rock, 453, 1176);
CreateObject(Rock, 514, 1233);
CreateObject(Rock, 493, 1292);
CreateObject(Rock, 669, 1190);
CreateObject(Rock, 794, 1262);
CreateObject(Rock, 983, 1371);
CreateObject(Rock, 1135, 1283);
CreateObject(Rock, 1193, 1261);
CreateObject(Rock, 1036, 1128);
CreateObject(Rock, 876, 1126);
CreateObject(Rock, 940, 976);
CreateObject(Rock, 668, 926);
CreateObject(Rock, 1152, 1064);
CreateObject(Rock, 1044, 809);
CreateObject(Rock, 1199, 740);
CreateObject(Rock, 1305, 605);
CreateObject(Rock, 1315, 837);
CreateObject(Rock, 1448, 637);
CreateObject(Rock, 1579, 854);
CreateObject(Rock, 1455, 244);
CreateObject(Rock, 667, 711);
CreateObject(Rock, 475, 634);
CreateObjectAbove(Rock, 109, 659);
CreateObjectAbove(Rock, 86, 860);
CreateObjectAbove(Rock, 31, 883);
CreateObjectAbove(Rock, 172, 601);
CreateObjectAbove(Rock, 128, 1045);
CreateObjectAbove(Rock, 37, 1031);
CreateObjectAbove(Rock, 240, 1204);
CreateObjectAbove(Rock, 453, 1176);
CreateObjectAbove(Rock, 514, 1233);
CreateObjectAbove(Rock, 493, 1292);
CreateObjectAbove(Rock, 669, 1190);
CreateObjectAbove(Rock, 794, 1262);
CreateObjectAbove(Rock, 983, 1371);
CreateObjectAbove(Rock, 1135, 1283);
CreateObjectAbove(Rock, 1193, 1261);
CreateObjectAbove(Rock, 1036, 1128);
CreateObjectAbove(Rock, 876, 1126);
CreateObjectAbove(Rock, 940, 976);
CreateObjectAbove(Rock, 668, 926);
CreateObjectAbove(Rock, 1152, 1064);
CreateObjectAbove(Rock, 1044, 809);
CreateObjectAbove(Rock, 1199, 740);
CreateObjectAbove(Rock, 1305, 605);
CreateObjectAbove(Rock, 1315, 837);
CreateObjectAbove(Rock, 1448, 637);
CreateObjectAbove(Rock, 1579, 854);
CreateObjectAbove(Rock, 1455, 244);
CreateObjectAbove(Rock, 667, 711);
CreateObjectAbove(Rock, 475, 634);
Chest0159->CreateContents(Rock);
CreateObject(Rock, 948, 721);
CreateObjectAbove(Rock, 948, 721);
Chest0156->CreateContents(Rock);
CreateObject(Rock, 380, 332);
CreateObject(Rock, 302, 300);
CreateObject(Rock, 1519, 1011);
CreateObjectAbove(Rock, 380, 332);
CreateObjectAbove(Rock, 302, 300);
CreateObjectAbove(Rock, 1519, 1011);
CreateObject(Coal, 160, 666);
CreateObject(Coal, 133, 1112);
CreateObject(Coal, 741, 708);
CreateObject(Coal, 1081, 642);
var Coal0464 = CreateObject(Coal, 1482, 1211);
CreateObjectAbove(Coal, 160, 666);
CreateObjectAbove(Coal, 133, 1112);
CreateObjectAbove(Coal, 741, 708);
CreateObjectAbove(Coal, 1081, 642);
var Coal0464 = CreateObjectAbove(Coal, 1482, 1211);
Coal0464->SetCon(98);
CreateObject(Coal, 609, 1179);
CreateObjectAbove(Coal, 609, 1179);
CreateObject(Sulphur, 663, 947);
CreateObject(Sulphur, 897, 958);
CreateObject(Sulphur, 973, 784);
CreateObject(Sulphur, 993, 673);
CreateObject(Sulphur, 1324, 692);
CreateObject(Sulphur, 1554, 749);
CreateObject(Sulphur, 1393, 640);
CreateObjectAbove(Sulphur, 663, 947);
CreateObjectAbove(Sulphur, 897, 958);
CreateObjectAbove(Sulphur, 973, 784);
CreateObjectAbove(Sulphur, 993, 673);
CreateObjectAbove(Sulphur, 1324, 692);
CreateObjectAbove(Sulphur, 1554, 749);
CreateObjectAbove(Sulphur, 1393, 640);
Chest0158->CreateContents(Loam);
CreateObject(Loam, 28, 587);
CreateObjectAbove(Loam, 28, 587);
Chest0160->CreateContents(Loam);
CreateObject(Loam, 154, 183);
CreateObjectAbove(Loam, 154, 183);
CreateObject(Nugget, 679, 894);
CreateObject(Nugget, 660, 887);
CreateObject(Nugget, 637, 878);
CreateObject(Nugget, 683, 845);
CreateObject(Nugget, 91, 584);
CreateObject(Nugget, 718, 856);
CreateObject(Nugget, 802, 1101);
CreateObject(Nugget, 677, 1225);
CreateObjectAbove(Nugget, 679, 894);
CreateObjectAbove(Nugget, 660, 887);
CreateObjectAbove(Nugget, 637, 878);
CreateObjectAbove(Nugget, 683, 845);
CreateObjectAbove(Nugget, 91, 584);
CreateObjectAbove(Nugget, 718, 856);
CreateObjectAbove(Nugget, 802, 1101);
CreateObjectAbove(Nugget, 677, 1225);
Chest0158->CreateContents(Nugget);
Chest0158->CreateContents(Nugget);
CreateObject(Nugget, 1100, 1229);
CreateObject(Nugget, 1114, 974);
CreateObject(Nugget, 1484, 586);
CreateObject(Nugget, 358, 407);
CreateObjectAbove(Nugget, 1100, 1229);
CreateObjectAbove(Nugget, 1114, 974);
CreateObjectAbove(Nugget, 1484, 586);
CreateObjectAbove(Nugget, 358, 407);
Chest0156->CreateContents(Metal);
CreateObject(Wood, 643, 656);
var Wood0494 = CreateObject(Wood, 672, 760);
CreateObjectAbove(Wood, 643, 656);
var Wood0494 = CreateObjectAbove(Wood, 672, 760);
Wood0494->SetR(22);
Wood0494->SetRDir(-3);
Wood0494->SetPosition(672, 758);
var Axe0315 = CreateObject(Axe, 1537, 1292);
var Axe0315 = CreateObjectAbove(Axe, 1537, 1292);
Axe0315->SetR(99);
Axe0315->SetPosition(1537, 1290);
var Shovel0316 = CreateObject(Shovel, 138, 982);
var Shovel0316 = CreateObjectAbove(Shovel, 138, 982);
Shovel0316->SetR(123);
Shovel0316->SetPosition(138, 978);
Chest0159->CreateContents(Ropeladder);
CreateObject(Mushroom, 1503, 472);
CreateObject(Mushroom, 979, 590);
CreateObject(Mushroom, 1225, 544);
CreateObject(Mushroom, 1082, 551);
CreateObject(Mushroom, 1438, 529);
CreateObject(Mushroom, 601, 880);
CreateObject(Mushroom, 199, 1071);
CreateObject(Mushroom, 180, 1047);
CreateObject(Mushroom, 116, 941);
CreateObject(Mushroom, 1113, 726);
CreateObject(Mushroom, 1076, 726);
CreateObject(Mushroom, 1532, 825);
CreateObject(Mushroom, 1552, 1309);
CreateObject(Mushroom, 1577, 1317);
CreateObject(Mushroom, 674, 897);
CreateObject(Mushroom, 662, 1161);
CreateObject(Mushroom, 799, 1240);
CreateObject(Mushroom, 1616, 463);
CreateObject(Mushroom, 1659, 507);
CreateObjectAbove(Mushroom, 1503, 472);
CreateObjectAbove(Mushroom, 979, 590);
CreateObjectAbove(Mushroom, 1225, 544);
CreateObjectAbove(Mushroom, 1082, 551);
CreateObjectAbove(Mushroom, 1438, 529);
CreateObjectAbove(Mushroom, 601, 880);
CreateObjectAbove(Mushroom, 199, 1071);
CreateObjectAbove(Mushroom, 180, 1047);
CreateObjectAbove(Mushroom, 116, 941);
CreateObjectAbove(Mushroom, 1113, 726);
CreateObjectAbove(Mushroom, 1076, 726);
CreateObjectAbove(Mushroom, 1532, 825);
CreateObjectAbove(Mushroom, 1552, 1309);
CreateObjectAbove(Mushroom, 1577, 1317);
CreateObjectAbove(Mushroom, 674, 897);
CreateObjectAbove(Mushroom, 662, 1161);
CreateObjectAbove(Mushroom, 799, 1240);
CreateObjectAbove(Mushroom, 1616, 463);
CreateObjectAbove(Mushroom, 1659, 507);
Chest0159->CreateContents(Mushroom);
CreateObject(Mushroom, 659, 757);
CreateObject(Mushroom, 1615, 1389);
CreateObjectAbove(Mushroom, 659, 757);
CreateObjectAbove(Mushroom, 1615, 1389);
Chest0158->CreateContents(Dynamite);
Chest0158->CreateContents(Dynamite);
Chest0160->CreateContents(Dynamite);
Chest0160->CreateContents(Dynamite);
var Seaweed0473 = CreateObject(Seaweed, 189, 1167);
var Seaweed0473 = CreateObjectAbove(Seaweed, 189, 1167);
Seaweed0473->SetYDir(16);
Seaweed0473->SetPhase(11);
var Seaweed0476 = CreateObject(Seaweed, 142, 1169);
var Seaweed0476 = CreateObjectAbove(Seaweed, 142, 1169);
Seaweed0476->SetYDir(16);
Seaweed0476->SetPhase(11);
var Seaweed0479 = CreateObject(Seaweed, 522, 658);
var Seaweed0479 = CreateObjectAbove(Seaweed, 522, 658);
Seaweed0479->SetYDir(16);
Seaweed0479->SetPhase(11);
var Seaweed0482 = CreateObject(Seaweed, 610, 705);
var Seaweed0482 = CreateObjectAbove(Seaweed, 610, 705);
Seaweed0482->SetYDir(16);
Seaweed0482->SetPhase(11);
var Seaweed0485 = CreateObject(Seaweed, 697, 682);
var Seaweed0485 = CreateObjectAbove(Seaweed, 697, 682);
Seaweed0485->SetYDir(16);
Seaweed0485->SetPhase(11);
var Seaweed0488 = CreateObject(Seaweed, 766, 697);
var Seaweed0488 = CreateObjectAbove(Seaweed, 766, 697);
Seaweed0488->SetYDir(16);
Seaweed0488->SetPhase(11);
CreateObject(GrappleBow, 1601, 326);
CreateObjectAbove(GrappleBow, 1601, 326);
Chest0160->CreateContents(Bow);
var Arrow0496 = Chest0160->CreateContents(Arrow);
Arrow0496->SetR(90);
CreateObject(Firestone, 84, 1018);
CreateObject(Firestone, 95, 909);
CreateObject(Firestone, 695, 1002);
CreateObject(Firestone, 864, 1279);
CreateObject(Firestone, 901, 710);
CreateObject(Firestone, 1298, 951);
CreateObject(Firestone, 1448, 742);
CreateObject(Firestone, 1644, 318);
CreateObjectAbove(Firestone, 84, 1018);
CreateObjectAbove(Firestone, 95, 909);
CreateObjectAbove(Firestone, 695, 1002);
CreateObjectAbove(Firestone, 864, 1279);
CreateObjectAbove(Firestone, 901, 710);
CreateObjectAbove(Firestone, 1298, 951);
CreateObjectAbove(Firestone, 1448, 742);
CreateObjectAbove(Firestone, 1644, 318);
Chest0159->CreateContents(Firestone);
Chest0159->CreateContents(Firestone);
CreateObject(Firestone, 193, 1172);
CreateObjectAbove(Firestone, 193, 1172);
Chest0156->CreateContents(Firestone);
CreateObject(Firestone, 573, 616);
CreateObject(Firestone, 1154, 674);
CreateObject(Firestone, 534, 698);
CreateObject(Firestone, 1520, 953);
CreateObjectAbove(Firestone, 573, 616);
CreateObjectAbove(Firestone, 1154, 674);
CreateObjectAbove(Firestone, 534, 698);
CreateObjectAbove(Firestone, 1520, 953);
return true;
}

View File

@ -9,15 +9,15 @@ static g_is_initialized;
func Initialize()
{
if(!ObjectCount(Find_ID(Rule_NoPowerNeed))) CreateObject(Rule_NoPowerNeed, 0, 0, NO_OWNER);
if(!ObjectCount(Find_ID(Rule_NoPowerNeed))) CreateObjectAbove(Rule_NoPowerNeed, 0, 0, NO_OWNER);
}
func DoInit(int first_player)
{
// Set time of day to morning and create some clouds and celestials.
Cloud->Place(20);
CreateObject(Environment_Celestial);
var time = CreateObject(Environment_Time);
CreateObjectAbove(Environment_Celestial);
var time = CreateObjectAbove(Environment_Time);
time->SetTime(400);
time->SetCycleSpeed(6);
@ -26,7 +26,7 @@ func DoInit(int first_player)
if (workshop) workshop->SetOwner(first_player);
// Goal
CreateObject(Goal_GetBack);
CreateObjectAbove(Goal_GetBack);
return true;
}

View File

@ -54,7 +54,7 @@ global func IntroAddPlayer(int plr)
global func IntroCreateBoompack(int x, int y, int fuel)
{
var boompack = CreateObject(Boompack, x, y, NO_OWNER);
var boompack = CreateObjectAbove(Boompack, x, y, NO_OWNER);
boompack->SetFuel(fuel);
boompack->SetDirectionDeviation(8); // make sure direction of boompack is roughly kept
boompack->SetControllable(false);
@ -66,7 +66,7 @@ global func FxIntIntroStart(object target, proplist effect)
effect.Cabin = FindObject(Find_ID(WoodenCabin));
if(!effect.Cabin) return -1;
effect.Sister = CreateObject(Clonk, 174, 532, NO_OWNER);
effect.Sister = CreateObjectAbove(Clonk, 174, 532, NO_OWNER);
effect.Sister->MakeInvincible();
effect.Sister->MakeNonFlammable();
effect.Sister->SetSkin(1);

View File

@ -4,237 +4,237 @@ static g_chemical, g_cabin, g_sawmill, g_workshop, g_flagpole, g_windmill, npc_n
func InitializeObjects()
{
var Rule_BaseRespawn01 = CreateObject(Rule_BaseRespawn, 0, 0);
var Rule_BaseRespawn01 = CreateObjectAbove(Rule_BaseRespawn, 0, 0);
Rule_BaseRespawn01->SetInventoryTransfer(true);
Rule_BaseRespawn01->SetFreeCrew(true);
CreateObject(Grass, 1121, 429);
CreateObject(Grass, 1185, 444);
CreateObjectAbove(Grass, 1121, 429);
CreateObjectAbove(Grass, 1185, 444);
CreateObject(Rule_NoPowerNeed, 0, 0);
CreateObjectAbove(Rule_NoPowerNeed, 0, 0);
CreateObject(Rule_TeamAccount, 0, 0);
CreateObjectAbove(Rule_TeamAccount, 0, 0);
CreateObject(EnvPack_Scarecrow, 1218, 440);
CreateObjectAbove(EnvPack_Scarecrow, 1218, 440);
CreateObject(EnvPack_Guidepost, 835, 369);
CreateObjectAbove(EnvPack_Guidepost, 835, 369);
CreateObject(EnvPack_TreeTrunks, 808, 368);
CreateObjectAbove(EnvPack_TreeTrunks, 808, 368);
CreateObject(SproutBerryBush, 1154, 445);
CreateObjectAbove(SproutBerryBush, 1154, 445);
var Branch0012 = CreateObject(Branch, 1509, 664);
var Branch0012 = CreateObjectAbove(Branch, 1509, 664);
Branch0012->SetR(-26);
Branch0012->SetPosition(1509, 657);
CreateObject(Trunk, 1194, 454);
CreateObjectAbove(Trunk, 1194, 454);
CreateObject(Tree_Coconut, 1487, 669);
CreateObjectAbove(Tree_Coconut, 1487, 669);
var Tree_Coniferous0018 = CreateObject(Tree_Coniferous, 1068, 408);
var Tree_Coniferous0018 = CreateObjectAbove(Tree_Coniferous, 1068, 408);
Tree_Coniferous0018->SetR(6);
Tree_Coniferous0018->SetPosition(1068, 363);
var Tree_Coniferous0022 = CreateObject(Tree_Coniferous, 1032, 403);
var Tree_Coniferous0022 = CreateObjectAbove(Tree_Coniferous, 1032, 403);
Tree_Coniferous0022->SetR(-8);
Tree_Coniferous0022->SetPosition(1032, 358);
CreateObject(Tree_Coniferous, 1371, 576);
CreateObject(Tree_Coniferous, 1258, 470);
CreateObject(Tree_Coniferous, 1085, 429);
CreateObject(Tree_Coniferous, 1155, 441);
var Tree_Coniferous0042 = CreateObject(Tree_Coniferous, 1302, 503);
CreateObjectAbove(Tree_Coniferous, 1371, 576);
CreateObjectAbove(Tree_Coniferous, 1258, 470);
CreateObjectAbove(Tree_Coniferous, 1085, 429);
CreateObjectAbove(Tree_Coniferous, 1155, 441);
var Tree_Coniferous0042 = CreateObjectAbove(Tree_Coniferous, 1302, 503);
Tree_Coniferous0042->SetR(30);
Tree_Coniferous0042->SetPosition(1302, 464);
var Tree_Coniferous0046 = CreateObject(Tree_Coniferous, 1328, 541);
var Tree_Coniferous0046 = CreateObjectAbove(Tree_Coniferous, 1328, 541);
Tree_Coniferous0046->SetR(20);
Tree_Coniferous0046->SetPosition(1328, 499);
CreateObject(Tree_Coniferous, 1219, 441);
CreateObjectAbove(Tree_Coniferous, 1219, 441);
CreateObject(EnvPack_Guidepost, 2054, 521);
CreateObjectAbove(EnvPack_Guidepost, 2054, 521);
CreateObject(Tree_Coniferous, 2107, 520);
CreateObject(Tree_Coniferous, 2421, 612);
CreateObject(Tree_Coniferous, 2569, 576);
CreateObjectAbove(Tree_Coniferous, 2107, 520);
CreateObjectAbove(Tree_Coniferous, 2421, 612);
CreateObjectAbove(Tree_Coniferous, 2569, 576);
CreateObject(Trunk, 2631, 589);
CreateObjectAbove(Trunk, 2631, 589);
CreateObject(SproutBerryBush, 2599, 590);
CreateObject(SproutBerryBush, 2521, 582);
CreateObject(SproutBerryBush, 3332, 653);
CreateObject(SproutBerryBush, 2674, 593);
CreateObjectAbove(SproutBerryBush, 2599, 590);
CreateObjectAbove(SproutBerryBush, 2521, 582);
CreateObjectAbove(SproutBerryBush, 3332, 653);
CreateObjectAbove(SproutBerryBush, 2674, 593);
var Branch0084 = CreateObject(Branch, 2335, 607);
var Branch0084 = CreateObjectAbove(Branch, 2335, 607);
Branch0084->SetR(21);
Branch0084->SetPosition(2335, 600);
CreateObject(BigRock, 3273, 609);
CreateObjectAbove(BigRock, 3273, 609);
var LargeCaveMushroom0086 = CreateObject(LargeCaveMushroom, 2877, 1342);
var LargeCaveMushroom0086 = CreateObjectAbove(LargeCaveMushroom, 2877, 1342);
LargeCaveMushroom0086->SetClrModulation(0xffe1dde0);
var LargeCaveMushroom0090 = CreateObject(LargeCaveMushroom, 3101, 1371);
var LargeCaveMushroom0090 = CreateObjectAbove(LargeCaveMushroom, 3101, 1371);
LargeCaveMushroom0090->SetClrModulation(0xffdde4da);
var LargeCaveMushroom0094 = CreateObject(LargeCaveMushroom, 2971, 1339);
var LargeCaveMushroom0094 = CreateObjectAbove(LargeCaveMushroom, 2971, 1339);
LargeCaveMushroom0094->SetClrModulation(0xffe0eef5);
var LargeCaveMushroom0098 = CreateObject(LargeCaveMushroom, 2793, 1261);
var LargeCaveMushroom0098 = CreateObjectAbove(LargeCaveMushroom, 2793, 1261);
LargeCaveMushroom0098->SetClrModulation(0xffdcd2ed);
CreateObject(Tree_Coconut, 1822, 679);
CreateObjectAbove(Tree_Coconut, 1822, 679);
var Basement0123 = CreateObject(Basement, 2720, 615);
var Basement0123 = CreateObjectAbove(Basement, 2720, 615);
Basement0123->SetCategory(C4D_StaticBack);
var Basement0122 = CreateObject(Basement, 2897, 603);
var Basement0122 = CreateObjectAbove(Basement, 2897, 603);
Basement0122->SetCategory(C4D_StaticBack);
var Basement0121 = CreateObject(Basement, 2935, 604);
var Basement0121 = CreateObjectAbove(Basement, 2935, 604);
Basement0121->SetCategory(C4D_StaticBack);
var Basement0120 = CreateObject(Basement, 2967, 604);
var Basement0120 = CreateObjectAbove(Basement, 2967, 604);
Basement0120->SetCategory(C4D_StaticBack);
var Basement0119 = CreateObject(Basement, 3019, 622);
var Basement0119 = CreateObjectAbove(Basement, 3019, 622);
Basement0119->SetCategory(C4D_StaticBack);
var Basement0118 = CreateObject(Basement, 3061, 624);
var Basement0118 = CreateObjectAbove(Basement, 3061, 624);
Basement0118->SetCategory(C4D_StaticBack);
var Basement0117 = CreateObject(Basement, 3171, 607);
var Basement0117 = CreateObjectAbove(Basement, 3171, 607);
Basement0117->SetCategory(C4D_StaticBack);
var Basement0116 = CreateObject(Basement, 3205, 608);
var Basement0116 = CreateObjectAbove(Basement, 3205, 608);
Basement0116->SetCategory(C4D_StaticBack);
var Basement0115 = CreateObject(Basement, 3230, 609);
var Basement0115 = CreateObjectAbove(Basement, 3230, 609);
Basement0115->SetCategory(C4D_StaticBack);
var Basement0114 = CreateObject(Basement, 2837, 616);
var Basement0114 = CreateObjectAbove(Basement, 2837, 616);
Basement0114->SetCategory(C4D_StaticBack);
var Basement0113 = CreateObject(Basement, 2796, 617);
var Basement0113 = CreateObjectAbove(Basement, 2796, 617);
Basement0113->SetCategory(C4D_StaticBack);
var Basement0112 = CreateObject(Basement, 2758, 616);
var Basement0112 = CreateObjectAbove(Basement, 2758, 616);
Basement0112->SetCategory(C4D_StaticBack);
var Basement0111 = CreateObject(Basement, 581, 374);
var Basement0111 = CreateObjectAbove(Basement, 581, 374);
Basement0111->SetCategory(C4D_StaticBack);
var Basement0110 = CreateObject(Basement, 733, 373);
var Basement0110 = CreateObjectAbove(Basement, 733, 373);
Basement0110->SetCategory(C4D_StaticBack);
var Basement0109 = CreateObject(Basement, 618, 374);
var Basement0109 = CreateObjectAbove(Basement, 618, 374);
Basement0109->SetCategory(C4D_StaticBack);
var Basement0108 = CreateObject(Basement, 93, 395);
var Basement0108 = CreateObjectAbove(Basement, 93, 395);
Basement0108->SetCategory(C4D_StaticBack);
var Basement0107 = CreateObject(Basement, 464, 372);
var Basement0107 = CreateObjectAbove(Basement, 464, 372);
Basement0107->SetCategory(C4D_StaticBack);
var Basement0106 = CreateObject(Basement, 758, 374);
var Basement0106 = CreateObjectAbove(Basement, 758, 374);
Basement0106->SetCategory(C4D_StaticBack);
var Foundry0124 = CreateObject(Foundry, 944, 782);
var Foundry0127 = CreateObject(Foundry, 2958, 596);
var Foundry0124 = CreateObjectAbove(Foundry, 944, 782);
var Foundry0127 = CreateObjectAbove(Foundry, 2958, 596);
g_chemical = CreateObject(ChemicalLab, 734, 365);
g_chemical = CreateObjectAbove(ChemicalLab, 734, 365);
g_chemical.StaticSaveVar = "g_chemical";
g_cabin = CreateObject(WoodenCabin, 546, 367);
g_cabin = CreateObjectAbove(WoodenCabin, 546, 367);
g_cabin.StaticSaveVar = "g_cabin";
g_sawmill = CreateObject(Sawmill, 782, 366);
g_sawmill = CreateObjectAbove(Sawmill, 782, 366);
g_sawmill.StaticSaveVar = "g_sawmill";
CreateObject(Pump, 466, 363);
CreateObjectAbove(Pump, 466, 363);
g_workshop = CreateObject(ToolsWorkshop, 609, 365);
g_workshop = CreateObjectAbove(ToolsWorkshop, 609, 365);
g_workshop.StaticSaveVar = "g_workshop";
var ToolsWorkshop0139 = CreateObject(ToolsWorkshop, 2905, 595);
var ToolsWorkshop0139 = CreateObjectAbove(ToolsWorkshop, 2905, 595);
CreateObject(Castle_ConstructionSite, 281, 343);
CreateObjectAbove(Castle_ConstructionSite, 281, 343);
CreateObject(Kitchen, 3030, 615);
CreateObjectAbove(Kitchen, 3030, 615);
CreateObject(InventorsLab, 3212, 599);
CreateObjectAbove(InventorsLab, 3212, 599);
var Shipyard0146 = CreateObject(Shipyard, 2763, 608);
var Shipyard0146 = CreateObjectAbove(Shipyard, 2763, 608);
CreateObject(Loom, 3080, 616);
CreateObjectAbove(Loom, 3080, 616);
var StoneDoor0150 = CreateObject(StoneDoor, 540, 1263);
var StoneDoor0150 = CreateObjectAbove(StoneDoor, 540, 1263);
StoneDoor0150->SetComDir(COMD_Down);
var SpinWheel0151 = CreateObject(SpinWheel, 571, 1263);
var SpinWheel0151 = CreateObjectAbove(SpinWheel, 571, 1263);
SpinWheel0151->SetStoneDoor(StoneDoor0150);
var WindGenerator0269 = CreateObject(WindGenerator, 3163, 599);
var WindGenerator0269 = CreateObjectAbove(WindGenerator, 3163, 599);
WindGenerator0269->SetCategory(C4D_StaticBack);
g_flagpole = CreateObject(Flagpole, 502, 369);
g_flagpole = CreateObjectAbove(Flagpole, 502, 369);
g_flagpole->SetNeutral(true);
g_flagpole.StaticSaveVar = "g_flagpole";
g_windmill = CreateObject(Windmill, 665, 351);
g_windmill = CreateObjectAbove(Windmill, 665, 351);
g_windmill->SetCategory(C4D_StaticBack);
g_windmill.StaticSaveVar = "g_windmill";
var Elevator0361 = CreateObject(Elevator, 76, 387);
var Elevator0361 = CreateObjectAbove(Elevator, 76, 387);
Elevator0361->SetDir(DIR_Right);
Elevator0361->CreateShaft(530);
Elevator0361->SetCasePosition(905);
var Lorry0369 = CreateObject(Lorry, 25, 779);
var Lorry0369 = CreateObjectAbove(Lorry, 25, 779);
Lorry0369->SetR(11);
Lorry0369->SetPosition(25, 771);
var Lorry0371 = CreateObject(Lorry, 3188, 598);
var Lorry0371 = CreateObjectAbove(Lorry, 3188, 598);
var Catapult0373 = CreateObject(Catapult, 2795, 608);
var Catapult0373 = CreateObjectAbove(Catapult, 2795, 608);
Catapult0373->SetRDir(4);
Catapult0373->SetObjectLayer(Catapult0373);
npc_newton = CreateObject(Clonk, 226, 321);
npc_newton = CreateObjectAbove(Clonk, 226, 321);
npc_newton->SetColor(0xffff);
npc_newton->SetName("Newton");
npc_newton->SetObjectLayer(npc_newton);
npc_newton.StaticSaveVar = "npc_newton";
npc_newton->SetDir(DIR_Left);
npc_lara = CreateObject(Clonk, 300, 337);
npc_lara = CreateObjectAbove(Clonk, 300, 337);
npc_lara->SetColor(0xff0000);
npc_lara.StaticSaveVar = "npc_lara";
npc_lara->SetName("Lara");
npc_lara->SetObjectLayer(npc_lara);
npc_lara->SetSkin(1);
npc_lara->SetDir(DIR_Left);
npc_lisa = CreateObject(Clonk, 496, 367);
npc_lisa = CreateObjectAbove(Clonk, 496, 367);
npc_lisa->SetColor(0xff00);
npc_lisa.StaticSaveVar = "npc_lisa";
npc_lisa->SetName("Lisa");
npc_lisa->SetObjectLayer(npc_lisa);
npc_lisa->SetSkin(3);
npc_lisa->SetDir(DIR_Left);
npc_woody = CreateObject(Clonk, 782, 367);
npc_woody = CreateObjectAbove(Clonk, 782, 367);
npc_woody->SetColor(0x808000);
npc_woody.StaticSaveVar = "npc_woody";
npc_woody->SetName("Woody");
npc_woody->SetObjectLayer(npc_woody);
npc_woody->SetSkin(2);
npc_woody->SetDir(DIR_Left);
npc_rocky = CreateObject(Clonk, 98, 774);
npc_rocky = CreateObjectAbove(Clonk, 98, 774);
npc_rocky->SetDir(DIR_Right);
npc_rocky->SetColor(0x808080);
npc_rocky.StaticSaveVar = "npc_rocky";
npc_rocky->SetName("Rocky");
npc_rocky->SetObjectLayer(npc_rocky);
npc_rocky->SetSkin(2);
npc_mave = CreateObject(Clonk, 973, 783);
npc_mave = CreateObjectAbove(Clonk, 973, 783);
npc_mave->SetDir(DIR_Right);
npc_mave->SetColor(0xff8000);
npc_mave->SetName("Mave");
npc_mave->SetObjectLayer(npc_mave);
npc_mave.StaticSaveVar = "npc_mave";
npc_pyrit = CreateObject(Clonk, 2816, 607);
npc_pyrit = CreateObjectAbove(Clonk, 2816, 607);
npc_pyrit->SetColor(0xff0000);
npc_pyrit.StaticSaveVar = "npc_pyrit";
npc_pyrit->SetName("Pyrit");
npc_pyrit->SetObjectLayer(npc_pyrit);
npc_pyrit->SetSkin(2);
npc_pyrit->SetDir(DIR_Left);
npc_clonko = CreateObject(Clonk, 2934, 595);
npc_clonko = CreateObjectAbove(Clonk, 2934, 595);
npc_clonko->SetDir(DIR_Right);
npc_clonko->SetColor(0xff8000);
npc_clonko->SetName("Clonko");
npc_clonko->SetObjectLayer(npc_clonko);
npc_clonko.StaticSaveVar = "npc_clonko";
npc_matthi = CreateObject(Clonk, 3002, 613);
npc_matthi = CreateObjectAbove(Clonk, 3002, 613);
npc_matthi->SetColor(0x80ff00);
npc_matthi->SetName("Matthi");
npc_matthi->SetObjectLayer(npc_matthi);
npc_matthi.StaticSaveVar = "npc_matthi";
npc_matthi->SetDir(DIR_Left);
npc_dora = CreateObject(Clonk, 3178, 1367);
npc_dora = CreateObjectAbove(Clonk, 3178, 1367);
npc_dora->SetDir(DIR_Right);
npc_dora->SetColor(0xffff20);
npc_dora.StaticSaveVar = "npc_dora";
@ -242,8 +242,8 @@ func InitializeObjects()
npc_dora->SetObjectLayer(npc_dora);
npc_dora->SetSkin(3);
CreateObject(Fish, 1923, 729);
CreateObject(Fish, 1924, 746);
CreateObjectAbove(Fish, 1923, 729);
CreateObjectAbove(Fish, 1924, 746);
npc_dora->SetDialogue("Dora",true);
@ -278,62 +278,62 @@ func InitializeObjects()
npc_matthi->SetDialogue("Matthi",true);
CreateObject(Skull, 1566, 703);
CreateObject(Skull, 3124, 1378);
CreateObjectAbove(Skull, 1566, 703);
CreateObjectAbove(Skull, 3124, 1378);
CreateObject(Rock, 685, 594);
CreateObject(Rock, 793, 488);
CreateObject(Rock, 1244, 515);
CreateObject(Rock, 1480, 735);
CreateObject(Rock, 794, 895);
CreateObject(Rock, 311, 447);
CreateObject(Rock, 1243, 792);
CreateObject(Rock, 1231, 737);
CreateObject(Rock, 563, 922);
CreateObject(Rock, 1219, 1088);
CreateObject(Rock, 428, 1319);
CreateObject(Rock, 2100, 951);
CreateObject(Rock, 1922, 1161);
CreateObject(Rock, 2277, 968);
CreateObject(Rock, 2405, 696);
CreateObject(Rock, 2893, 989);
CreateObject(Rock, 3131, 689);
CreateObject(Rock, 3266, 1379);
CreateObjectAbove(Rock, 685, 594);
CreateObjectAbove(Rock, 793, 488);
CreateObjectAbove(Rock, 1244, 515);
CreateObjectAbove(Rock, 1480, 735);
CreateObjectAbove(Rock, 794, 895);
CreateObjectAbove(Rock, 311, 447);
CreateObjectAbove(Rock, 1243, 792);
CreateObjectAbove(Rock, 1231, 737);
CreateObjectAbove(Rock, 563, 922);
CreateObjectAbove(Rock, 1219, 1088);
CreateObjectAbove(Rock, 428, 1319);
CreateObjectAbove(Rock, 2100, 951);
CreateObjectAbove(Rock, 1922, 1161);
CreateObjectAbove(Rock, 2277, 968);
CreateObjectAbove(Rock, 2405, 696);
CreateObjectAbove(Rock, 2893, 989);
CreateObjectAbove(Rock, 3131, 689);
CreateObjectAbove(Rock, 3266, 1379);
CreateObject(Ore, 2226, 943);
CreateObjectAbove(Ore, 2226, 943);
Foundry0127->CreateContents(Ore);
Foundry0127->CreateContents(Ore);
Foundry0127->CreateContents(Ore);
CreateObject(Loam, 1030, 449);
CreateObject(Loam, 1122, 920);
CreateObject(Loam, 1492, 804);
CreateObject(Loam, 935, 1132);
CreateObject(Loam, 456, 1004);
CreateObject(Loam, 2315, 632);
CreateObject(Loam, 2582, 790);
CreateObject(Loam, 3056, 725);
CreateObject(Loam, 3235, 792);
CreateObject(Loam, 3167, 949);
CreateObject(Loam, 2630, 1052);
CreateObject(Loam, 3238, 1150);
CreateObject(Loam, 2734, 1245);
CreateObject(Loam, 3003, 1345);
CreateObjectAbove(Loam, 1030, 449);
CreateObjectAbove(Loam, 1122, 920);
CreateObjectAbove(Loam, 1492, 804);
CreateObjectAbove(Loam, 935, 1132);
CreateObjectAbove(Loam, 456, 1004);
CreateObjectAbove(Loam, 2315, 632);
CreateObjectAbove(Loam, 2582, 790);
CreateObjectAbove(Loam, 3056, 725);
CreateObjectAbove(Loam, 3235, 792);
CreateObjectAbove(Loam, 3167, 949);
CreateObjectAbove(Loam, 2630, 1052);
CreateObjectAbove(Loam, 3238, 1150);
CreateObjectAbove(Loam, 2734, 1245);
CreateObjectAbove(Loam, 3003, 1345);
Foundry0124->CreateContents(Loam);
Foundry0124->CreateContents(Loam);
CreateObject(Loam, 951, 1333);
CreateObject(Loam, 970, 1355);
CreateObject(Loam, 952, 1364);
CreateObject(Loam, 808, 1336);
CreateObject(Loam, 737, 1322);
CreateObject(Loam, 652, 1280);
CreateObject(Loam, 797, 1391);
CreateObject(Loam, 1021, 1339);
CreateObject(Loam, 492, 1263);
CreateObject(Loam, 504, 1263);
CreateObject(Loam, 500, 1263);
CreateObjectAbove(Loam, 951, 1333);
CreateObjectAbove(Loam, 970, 1355);
CreateObjectAbove(Loam, 952, 1364);
CreateObjectAbove(Loam, 808, 1336);
CreateObjectAbove(Loam, 737, 1322);
CreateObjectAbove(Loam, 652, 1280);
CreateObjectAbove(Loam, 797, 1391);
CreateObjectAbove(Loam, 1021, 1339);
CreateObjectAbove(Loam, 492, 1263);
CreateObjectAbove(Loam, 504, 1263);
CreateObjectAbove(Loam, 500, 1263);
CreateObject(Metal, 2217, 942);
CreateObjectAbove(Metal, 2217, 942);
ToolsWorkshop0139->CreateContents(Metal);
ToolsWorkshop0139->CreateContents(Metal);
ToolsWorkshop0139->CreateContents(Metal);
@ -344,7 +344,7 @@ func InitializeObjects()
Lorry0371->CreateContents(Metal);
Lorry0371->CreateContents(Metal);
CreateObject(Moss, 1529, 681);
CreateObjectAbove(Moss, 1529, 681);
ToolsWorkshop0139->CreateContents(Wood);
ToolsWorkshop0139->CreateContents(Wood);
@ -354,7 +354,7 @@ func InitializeObjects()
Shipyard0146->CreateContents(Wood);
Shipyard0146->CreateContents(Wood);
var Crate0548 = CreateObject(Crate, 2836, 607);
var Crate0548 = CreateObjectAbove(Crate, 2836, 607);
var Hammer0549 = Crate0548->CreateContents(Hammer);
Hammer0549->SetR(50);
@ -364,7 +364,7 @@ func InitializeObjects()
Foundry0124->CreateContents(Bucket);
Foundry0124->CreateContents(Bucket);
Foundry0124->CreateContents(Bucket);
CreateObject(Bucket, 435, 1271);
CreateObjectAbove(Bucket, 435, 1271);
Lorry0369->CreateContents(Axe);
Lorry0369->CreateContents(Axe);
@ -373,10 +373,10 @@ func InitializeObjects()
ToolsWorkshop0139->CreateContents(Pickaxe);
ToolsWorkshop0139->CreateContents(Pickaxe);
CreateObject(Crate, 2849, 607);
CreateObject(Crate, 444, 1271);
CreateObject(Crate, 473, 1263);
CreateObject(Crate, 403, 1271);
CreateObjectAbove(Crate, 2849, 607);
CreateObjectAbove(Crate, 444, 1271);
CreateObjectAbove(Crate, 473, 1263);
CreateObjectAbove(Crate, 403, 1271);
var Barrel0560 = Foundry0124->CreateContents(Barrel);
Barrel0560->SetColor(0xff000000);
@ -384,107 +384,107 @@ func InitializeObjects()
var Barrel0562 = Foundry0124->CreateContents(Barrel);
Barrel0562->SetColor(0xff000000);
Barrel0562->AddRestoreMode(Foundry0124);
var Barrel0564 = CreateObject(Barrel, 484, 367);
var Barrel0564 = CreateObjectAbove(Barrel, 484, 367);
Barrel0564->SetR(23);
Barrel0564->SetColor(0xff000000);
Barrel0564->SetObjectLayer(Barrel0564);
Barrel0564->SetPosition(484, 361);
var Barrel0566 = CreateObject(Barrel, 648, 351);
var Barrel0566 = CreateObjectAbove(Barrel, 648, 351);
Barrel0566->SetR(-22);
Barrel0566->SetColor(0xff000000);
Barrel0566->SetObjectLayer(Barrel0566);
Barrel0566->SetPosition(648, 345);
var Barrel0568 = CreateObject(Barrel, 244, 321);
var Barrel0568 = CreateObjectAbove(Barrel, 244, 321);
Barrel0568->SetColor(0xff000000);
Barrel0568->SetObjectLayer(Barrel0568);
var Barrel0570 = CreateObject(Barrel, 396, 343);
var Barrel0570 = CreateObjectAbove(Barrel, 396, 343);
Barrel0570->SetColor(0xff000000);
Barrel0570->SetObjectLayer(Barrel0570);
CreateObject(Mushroom, 1192, 448);
CreateObject(Mushroom, 1170, 440);
CreateObject(Mushroom, 1492, 663);
CreateObject(Mushroom, 1131, 436);
CreateObject(Mushroom, 1523, 675);
CreateObject(Mushroom, 1163, 440);
CreateObject(Mushroom, 1070, 414);
CreateObject(Mushroom, 1010, 399);
CreateObject(Mushroom, 960, 400);
CreateObject(Mushroom, 1175, 440);
CreateObject(Mushroom, 1120, 432);
CreateObject(Mushroom, 989, 400);
CreateObject(Mushroom, 968, 400);
CreateObject(Mushroom, 1013, 400);
CreateObject(Mushroom, 1496, 664);
CreateObject(Mushroom, 1088, 424);
CreateObject(Mushroom, 1545, 696);
CreateObject(Mushroom, 1223, 440);
CreateObject(Mushroom, 943, 399);
CreateObject(Mushroom, 1006, 400);
CreateObjectAbove(Mushroom, 1192, 448);
CreateObjectAbove(Mushroom, 1170, 440);
CreateObjectAbove(Mushroom, 1492, 663);
CreateObjectAbove(Mushroom, 1131, 436);
CreateObjectAbove(Mushroom, 1523, 675);
CreateObjectAbove(Mushroom, 1163, 440);
CreateObjectAbove(Mushroom, 1070, 414);
CreateObjectAbove(Mushroom, 1010, 399);
CreateObjectAbove(Mushroom, 960, 400);
CreateObjectAbove(Mushroom, 1175, 440);
CreateObjectAbove(Mushroom, 1120, 432);
CreateObjectAbove(Mushroom, 989, 400);
CreateObjectAbove(Mushroom, 968, 400);
CreateObjectAbove(Mushroom, 1013, 400);
CreateObjectAbove(Mushroom, 1496, 664);
CreateObjectAbove(Mushroom, 1088, 424);
CreateObjectAbove(Mushroom, 1545, 696);
CreateObjectAbove(Mushroom, 1223, 440);
CreateObjectAbove(Mushroom, 943, 399);
CreateObjectAbove(Mushroom, 1006, 400);
var Seaweed0652 = CreateObject(Seaweed, 1952, 903);
var Seaweed0652 = CreateObjectAbove(Seaweed, 1952, 903);
Seaweed0652->SetPhase(26);
var Seaweed0655 = CreateObject(Seaweed, 2013, 911);
var Seaweed0655 = CreateObjectAbove(Seaweed, 2013, 911);
Seaweed0655->SetPhase(1);
var Seaweed0658 = CreateObject(Seaweed, 1903, 887);
var Seaweed0658 = CreateObjectAbove(Seaweed, 1903, 887);
Seaweed0658->SetPhase(57);
var Seaweed0661 = CreateObject(Seaweed, 1983, 911);
var Seaweed0661 = CreateObjectAbove(Seaweed, 1983, 911);
Seaweed0661->SetPhase(35);
var Seaweed0664 = CreateObject(Seaweed, 2207, 942);
var Seaweed0664 = CreateObjectAbove(Seaweed, 2207, 942);
Seaweed0664->SetPhase(29);
var Seaweed0667 = CreateObject(Seaweed, 2127, 895);
var Seaweed0667 = CreateObjectAbove(Seaweed, 2127, 895);
Seaweed0667->SetPhase(44);
var Seaweed0670 = CreateObject(Seaweed, 2227, 943);
var Seaweed0670 = CreateObjectAbove(Seaweed, 2227, 943);
Seaweed0670->SetPhase(29);
var Seaweed0673 = CreateObject(Seaweed, 2191, 927);
var Seaweed0673 = CreateObjectAbove(Seaweed, 2191, 927);
Seaweed0673->SetPhase(29);
var Seaweed0676 = CreateObject(Seaweed, 2232, 943);
var Seaweed0676 = CreateObjectAbove(Seaweed, 2232, 943);
Seaweed0676->SetPhase(66);
var Seaweed0679 = CreateObject(Seaweed, 2269, 927);
var Seaweed0679 = CreateObjectAbove(Seaweed, 2269, 927);
Seaweed0679->SetPhase(66);
var Seaweed0682 = CreateObject(Seaweed, 2249, 935);
var Seaweed0682 = CreateObjectAbove(Seaweed, 2249, 935);
Seaweed0682->SetPhase(66);
CreateObject(DynamiteBox, 2844, 607);
CreateObject(DynamiteBox, 452, 1271);
var DynamiteBox0687 = CreateObject(DynamiteBox, 430, 1271);
CreateObjectAbove(DynamiteBox, 2844, 607);
CreateObjectAbove(DynamiteBox, 452, 1271);
var DynamiteBox0687 = CreateObjectAbove(DynamiteBox, 430, 1271);
DynamiteBox0687->SetR(10);
DynamiteBox0687->SetPosition(430, 1269);
var MetalBarrel0688 = CreateObject(MetalBarrel, 395, 1271);
var MetalBarrel0688 = CreateObjectAbove(MetalBarrel, 395, 1271);
MetalBarrel0688->SetColor(0xff000000);
var MetalBarrel0690 = CreateObject(MetalBarrel, 421, 1271);
var MetalBarrel0690 = CreateObjectAbove(MetalBarrel, 421, 1271);
MetalBarrel0690->SetR(-104);
MetalBarrel0690->SetColor(0xff000000);
MetalBarrel0690->SetPosition(421, 1268);
var MetalBarrel0692 = CreateObject(MetalBarrel, 411, 1271);
var MetalBarrel0692 = CreateObjectAbove(MetalBarrel, 411, 1271);
MetalBarrel0692->SetColor(0xff000000);
var MetalBarrel0694 = CreateObject(MetalBarrel, 385, 1271);
var MetalBarrel0694 = CreateObjectAbove(MetalBarrel, 385, 1271);
MetalBarrel0694->SetColor(0xff000000);
var PowderKeg0696 = CreateObject(PowderKeg, 378, 1271);
var PowderKeg0696 = CreateObjectAbove(PowderKeg, 378, 1271);
PowderKeg0696->SetR(99);
PowderKeg0696->SetPosition(378, 1268);
var WindBag0698 = CreateObject(WindBag, 382, 1271);
var WindBag0698 = CreateObjectAbove(WindBag, 382, 1271);
WindBag0698->SetR(-29);
WindBag0698->SetPosition(382, 1268);
CreateObject(Firestone, 1272, 962);
CreateObject(Firestone, 1763, 901);
CreateObject(Firestone, 1415, 709);
CreateObject(Firestone, 772, 622);
CreateObject(Firestone, 1196, 494);
CreateObject(Firestone, 345, 693);
CreateObjectAbove(Firestone, 1272, 962);
CreateObjectAbove(Firestone, 1763, 901);
CreateObjectAbove(Firestone, 1415, 709);
CreateObjectAbove(Firestone, 772, 622);
CreateObjectAbove(Firestone, 1196, 494);
CreateObjectAbove(Firestone, 345, 693);
Lorry0371->CreateContents(Firestone);
Lorry0371->CreateContents(Firestone);
CreateObject(Firestone, 2460, 1367);
CreateObject(Firestone, 2893, 672);
CreateObject(Firestone, 2998, 960);
CreateObject(Firestone, 3266, 1173);
CreateObject(Firestone, 2653, 1130);
CreateObject(Firestone, 2410, 1166);
CreateObject(Firestone, 2853, 1379);
CreateObjectAbove(Firestone, 2460, 1367);
CreateObjectAbove(Firestone, 2893, 672);
CreateObjectAbove(Firestone, 2998, 960);
CreateObjectAbove(Firestone, 3266, 1173);
CreateObjectAbove(Firestone, 2653, 1130);
CreateObjectAbove(Firestone, 2410, 1166);
CreateObjectAbove(Firestone, 2853, 1379);
return true;
}

View File

@ -33,7 +33,7 @@ func Initialize()
func DoInit(int first_player)
{
StartSequence("Intro", 0, GetCrew(first_player));
//g_goal = CreateObject(Goal_Raid);
//g_goal = CreateObjectAbove(Goal_Raid);
// Prepare trigger for attack sequence
for (var tree in FindObjects(Find_Func("IsTree")))
{
@ -41,7 +41,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()->CreateObject(Plane); GetCrew()->CreateObject(MetalBarrel);
//g_attack_done = true; GetCrew()->SetPosition(npc_pyrit->GetX(), npc_pyrit->GetY()); GetCrew()->CreateObjectAbove(Plane); GetCrew()->CreateObjectAbove(MetalBarrel);
//GetCrew()->CreateContents(Shovel);
return true;
}

View File

@ -35,7 +35,7 @@ global func FxIntRuinOnDamageDamage(object target, fx, int dmg, int cause)
else
{
// other ruins have a separate ID
ruin = CreateObject(fx.ruin_id, 0, GetDefBottom()-GetY(), GetOwner());
ruin = CreateObjectAbove(fx.ruin_id, 0, GetDefBottom()-GetY(), GetOwner());
}
// lots of smoke!
var particles = Particles_Smoke(true);
@ -52,7 +52,7 @@ global func FxIntRuinOnDamageDamage(object target, fx, int dmg, int cause)
// cast burning wood
for (i=-20; i<=20; i+= 20)
{
var item = CreateObject(Wood, fire.x, fire.y, GetOwner());
var item = CreateObjectAbove(Wood, fire.x, fire.y, GetOwner());
if (item)
{
item->SetR(Random(360));
@ -81,7 +81,7 @@ global func FxIntRuinOnDamageDamage(object target, fx, int dmg, int cause)
global func AddScorch(int x, int y, int r, int strength, int duration)
{
var scorch = CreateObject(Wood, x,y, NO_OWNER);
var scorch = CreateObjectAbove(Wood, x,y, NO_OWNER);
if (!scorch) return nil;
scorch->SetObjectLayer(scorch);
scorch->SetR(r);

View File

@ -21,8 +21,8 @@ func Attack_1()
this.planes = CreateArray(n_planes);
for (var i=0; i<n_planes; ++i)
{
var plane = CreateObject(Plane, plane_x[i], plane_y[i]);
var pilot = CreateObject(Clonk, plane_x[i], plane_y[i]);
var plane = CreateObjectAbove(Plane, plane_x[i], plane_y[i]);
var pilot = CreateObjectAbove(Clonk, plane_x[i], plane_y[i]);
pilot->SetSkin(2);
pilot->Enter(plane);
pilot->SetAction("Walk"); // prevents falling out
@ -138,7 +138,7 @@ func Attack_DropBomb(int plane_idx, int delay)
if (!plane) return;
for (var i=0; i<3; ++i)
{
var bomb = plane->CreateObject(IronBomb, 0, 12);
var bomb = plane->CreateObjectAbove(IronBomb, 0, 12);
if (!bomb) return;
bomb->SetXDir(plane->GetXDir() + (i-2) * 10);
bomb->Fuse(true); // fuse and explode on hit

View File

@ -106,7 +106,7 @@ func Intro_9()
func Intro_Stop()
{
npc_newton.has_sequence = false; // continue hammering
g_goal = CreateObject(Goal_Raid);
g_goal = CreateObjectAbove(Goal_Raid);
SetPlayerZoomByViewRange(NO_OWNER, 400,300, PLRZOOM_Set | PLRZOOM_LimitMax);
return true;
}

View File

@ -2,99 +2,99 @@
func InitializeObjects()
{
CreateObject(Rule_TeamAccount, 50, 50);
CreateObjectAbove(Rule_TeamAccount, 50, 50);
CreateObject(Rule_BuyAtFlagpole, 50, 50);
CreateObjectAbove(Rule_BuyAtFlagpole, 50, 50);
CreateObject(Tree_Coniferous, 962, 839);
CreateObject(Tree_Coniferous, 774, 951);
CreateObjectAbove(Tree_Coniferous, 962, 839);
CreateObjectAbove(Tree_Coniferous, 774, 951);
CreateObject(Tree_SmallConiferous, 46, 441);
var Tree_SmallConiferous0015 = CreateObject(Tree_SmallConiferous, 320, 312);
CreateObjectAbove(Tree_SmallConiferous, 46, 441);
var Tree_SmallConiferous0015 = CreateObjectAbove(Tree_SmallConiferous, 320, 312);
Tree_SmallConiferous0015->SetR(-30);
Tree_SmallConiferous0015->SetPosition(320, 293);
var Tree_SmallConiferous0019 = CreateObject(Tree_SmallConiferous, 422, 887);
var Tree_SmallConiferous0019 = CreateObjectAbove(Tree_SmallConiferous, 422, 887);
Tree_SmallConiferous0019->SetClrModulation(0xffb0b080);
var Tree_SmallConiferous0023 = CreateObject(Tree_SmallConiferous, 373, 920);
var Tree_SmallConiferous0023 = CreateObjectAbove(Tree_SmallConiferous, 373, 920);
Tree_SmallConiferous0023->SetClrModulation(0xff808080);
var Tree_SmallConiferous0027 = CreateObject(Tree_SmallConiferous, 72, 744);
var Tree_SmallConiferous0027 = CreateObjectAbove(Tree_SmallConiferous, 72, 744);
Tree_SmallConiferous0027->SetClrModulation(0xff808080);
CreateObject(Tree_SmallConiferous, 974, 327);
CreateObject(Tree_SmallConiferous, 1003, 326);
CreateObject(Tree_SmallConiferous, 550, 107);
CreateObject(Tree_SmallConiferous, 632, 128);
var Tree_SmallConiferous0047 = CreateObject(Tree_SmallConiferous, 129, 409);
CreateObjectAbove(Tree_SmallConiferous, 974, 327);
CreateObjectAbove(Tree_SmallConiferous, 1003, 326);
CreateObjectAbove(Tree_SmallConiferous, 550, 107);
CreateObjectAbove(Tree_SmallConiferous, 632, 128);
var Tree_SmallConiferous0047 = CreateObjectAbove(Tree_SmallConiferous, 129, 409);
Tree_SmallConiferous0047->SetR(-5);
Tree_SmallConiferous0047->SetClrModulation(0xffd49d68);
Tree_SmallConiferous0047->SetPosition(129, 387);
CreateObject(Tree_SmallConiferous, 78, 440);
var Tree_SmallConiferous0055 = CreateObject(Tree_SmallConiferous, 182, 408);
CreateObjectAbove(Tree_SmallConiferous, 78, 440);
var Tree_SmallConiferous0055 = CreateObjectAbove(Tree_SmallConiferous, 182, 408);
Tree_SmallConiferous0055->SetR(-2);
Tree_SmallConiferous0055->SetClrModulation(0xffca999c);
Tree_SmallConiferous0055->SetPosition(182, 386);
var Tree_SmallConiferous0059 = CreateObject(Tree_SmallConiferous, 200, 408);
var Tree_SmallConiferous0059 = CreateObjectAbove(Tree_SmallConiferous, 200, 408);
Tree_SmallConiferous0059->SetR(8);
Tree_SmallConiferous0059->SetClrModulation(0xfff7e5ee);
Tree_SmallConiferous0059->SetPosition(200, 386);
CreateObject(Tree_SmallConiferous, 23, 452);
var Tree_SmallConiferous0067 = CreateObject(Tree_SmallConiferous, 110, 410);
CreateObjectAbove(Tree_SmallConiferous, 23, 452);
var Tree_SmallConiferous0067 = CreateObjectAbove(Tree_SmallConiferous, 110, 410);
Tree_SmallConiferous0067->SetR(1);
Tree_SmallConiferous0067->SetClrModulation(0xffe9e2b0);
Tree_SmallConiferous0067->SetPosition(110, 388);
var Tree_SmallConiferous0071 = CreateObject(Tree_SmallConiferous, 167, 408);
var Tree_SmallConiferous0071 = CreateObjectAbove(Tree_SmallConiferous, 167, 408);
Tree_SmallConiferous0071->SetR(-4);
Tree_SmallConiferous0071->SetClrModulation(0xffedfa82);
Tree_SmallConiferous0071->SetPosition(167, 386);
var Tree_SmallConiferous0075 = CreateObject(Tree_SmallConiferous, 93, 430);
var Tree_SmallConiferous0075 = CreateObjectAbove(Tree_SmallConiferous, 93, 430);
Tree_SmallConiferous0075->SetR(-10);
Tree_SmallConiferous0075->SetClrModulation(0xffedf4c6);
Tree_SmallConiferous0075->SetPosition(93, 408);
var Tree_SmallConiferous0079 = CreateObject(Tree_SmallConiferous, 36, 446);
var Tree_SmallConiferous0079 = CreateObjectAbove(Tree_SmallConiferous, 36, 446);
Tree_SmallConiferous0079->SetR(-2);
Tree_SmallConiferous0079->SetClrModulation(0xffca90cd);
Tree_SmallConiferous0079->SetPosition(36, 424);
var Tree_SmallConiferous0083 = CreateObject(Tree_SmallConiferous, 151, 406);
var Tree_SmallConiferous0083 = CreateObjectAbove(Tree_SmallConiferous, 151, 406);
Tree_SmallConiferous0083->SetR(-3);
Tree_SmallConiferous0083->SetClrModulation(0xffd8d7e0);
Tree_SmallConiferous0083->SetPosition(151, 384);
var Tree_SmallConiferous0087 = CreateObject(Tree_SmallConiferous, 159, 407);
var Tree_SmallConiferous0087 = CreateObjectAbove(Tree_SmallConiferous, 159, 407);
Tree_SmallConiferous0087->SetClrModulation(0xffd1e168);
var Tree_SmallConiferous0091 = CreateObject(Tree_SmallConiferous, 60, 440);
var Tree_SmallConiferous0091 = CreateObjectAbove(Tree_SmallConiferous, 60, 440);
Tree_SmallConiferous0091->SetR(-10);
Tree_SmallConiferous0091->SetClrModulation(0xffd8c49d);
Tree_SmallConiferous0091->SetPosition(60, 418);
var Tree_SmallConiferous0095 = CreateObject(Tree_SmallConiferous, 355, 313);
var Tree_SmallConiferous0095 = CreateObjectAbove(Tree_SmallConiferous, 355, 313);
Tree_SmallConiferous0095->SetR(10);
Tree_SmallConiferous0095->SetPosition(355, 291);
CreateObject(Tree_SmallConiferous, 132, 726);
var Tree_SmallConiferous0103 = CreateObject(Tree_SmallConiferous, 487, 805);
CreateObjectAbove(Tree_SmallConiferous, 132, 726);
var Tree_SmallConiferous0103 = CreateObjectAbove(Tree_SmallConiferous, 487, 805);
Tree_SmallConiferous0103->SetR(-30);
Tree_SmallConiferous0103->SetPosition(487, 786);
var Chest0107 = CreateObject(Chest, 164, 903);
var Chest0107 = CreateObjectAbove(Chest, 164, 903);
Chest0107->SetClrModulation(0xd0ffffff);
var Chest0108 = CreateObject(Chest, 503, 808);
var Chest0108 = CreateObjectAbove(Chest, 503, 808);
Chest0108->SetClrModulation(0xd0ffffff);
var Chest0109 = CreateObject(Chest, 611, 1047);
var Chest0109 = CreateObjectAbove(Chest, 611, 1047);
Chest0109->SetClrModulation(0xd0ffffff);
var Chest0110 = CreateObject(Chest, 258, 134);
var Chest0110 = CreateObjectAbove(Chest, 258, 134);
Chest0110->SetClrModulation(0xd0ffffff);
var Chest0111 = CreateObject(Chest, 990, 327);
var Chest0111 = CreateObjectAbove(Chest, 990, 327);
Chest0111->SetClrModulation(0xd0ffffff);
var Chest0112 = CreateObject(Chest, 947, 841);
var Chest0112 = CreateObjectAbove(Chest, 947, 841);
Chest0112->SetClrModulation(0xd0ffffff);
CreateObject(Plane_Construction, 272, 415);
CreateObjectAbove(Plane_Construction, 272, 415);
var Plane_Wings0115 = CreateObject(Plane_Wings, 600, 129);
var Plane_Wings0115 = CreateObjectAbove(Plane_Wings, 600, 129);
Plane_Wings0115->SetR(117);
Plane_Wings0115->SetPosition(600, 118);
var Plane_Skids0116 = CreateObject(Plane_Skids, 457, 896);
var Plane_Skids0116 = CreateObjectAbove(Plane_Skids, 457, 896);
Plane_Skids0116->SetR(13);
Plane_Skids0116->SetPosition(457, 887);
var Plane_Chassis0117 = CreateObject(Plane_Chassis, 908, 973);
var Plane_Chassis0117 = CreateObjectAbove(Plane_Chassis, 908, 973);
Plane_Chassis0117->SetR(-18);
Plane_Chassis0117->SetPosition(908, 960);
@ -141,14 +141,14 @@ func InitializeObjects()
Chest0110->CreateContents(Loam);
Chest0110->CreateContents(Loam);
Chest0110->CreateContents(Loam);
CreateObject(Loam, 116, 755);
CreateObject(Loam, 183, 480);
CreateObject(Loam, 41, 486);
CreateObject(Loam, 158, 432);
CreateObject(Loam, 552, 187);
CreateObject(Loam, 995, 349);
CreateObject(Loam, 1052, 368);
CreateObject(Loam, 177, 747);
CreateObjectAbove(Loam, 116, 755);
CreateObjectAbove(Loam, 183, 480);
CreateObjectAbove(Loam, 41, 486);
CreateObjectAbove(Loam, 158, 432);
CreateObjectAbove(Loam, 552, 187);
CreateObjectAbove(Loam, 995, 349);
CreateObjectAbove(Loam, 1052, 368);
CreateObjectAbove(Loam, 177, 747);
Chest0109->CreateContents(Loam);
Chest0109->CreateContents(Loam);
Chest0109->CreateContents(Loam);
@ -174,7 +174,7 @@ func InitializeObjects()
Chest0109->CreateContents(GoldBar);
Chest0112->CreateContents(GoldBar);
var Plane_Propeller0188 = CreateObject(Plane_Propeller, 1031, 334);
var Plane_Propeller0188 = CreateObjectAbove(Plane_Propeller, 1031, 334);
Plane_Propeller0188->SetR(20);
Plane_Propeller0188->SetPosition(1031, 329);
@ -187,31 +187,31 @@ func InitializeObjects()
Chest0107->CreateContents(Firestone);
Chest0107->CreateContents(Firestone);
Chest0109->CreateContents(Firestone);
CreateObject(Firestone, 163, 486);
CreateObject(Firestone, 143, 444);
CreateObject(Firestone, 37, 467);
CreateObject(Firestone, 178, 442);
CreateObject(Firestone, 566, 233);
CreateObject(Firestone, 539, 176);
CreateObject(Firestone, 102, 760);
CreateObject(Firestone, 426, 916);
CreateObject(Firestone, 479, 932);
CreateObject(Firestone, 848, 1000);
CreateObject(Firestone, 908, 1012);
CreateObject(Firestone, 1063, 354);
CreateObject(Firestone, 170, 446);
CreateObject(Firestone, 259, 478);
CreateObject(Firestone, 310, 477);
CreateObject(Firestone, 350, 414);
CreateObject(Firestone, 469, 913);
CreateObjectAbove(Firestone, 163, 486);
CreateObjectAbove(Firestone, 143, 444);
CreateObjectAbove(Firestone, 37, 467);
CreateObjectAbove(Firestone, 178, 442);
CreateObjectAbove(Firestone, 566, 233);
CreateObjectAbove(Firestone, 539, 176);
CreateObjectAbove(Firestone, 102, 760);
CreateObjectAbove(Firestone, 426, 916);
CreateObjectAbove(Firestone, 479, 932);
CreateObjectAbove(Firestone, 848, 1000);
CreateObjectAbove(Firestone, 908, 1012);
CreateObjectAbove(Firestone, 1063, 354);
CreateObjectAbove(Firestone, 170, 446);
CreateObjectAbove(Firestone, 259, 478);
CreateObjectAbove(Firestone, 310, 477);
CreateObjectAbove(Firestone, 350, 414);
CreateObjectAbove(Firestone, 469, 913);
Chest0109->CreateContents(Firestone);
Chest0109->CreateContents(Firestone);
Chest0109->CreateContents(Firestone);
Chest0109->CreateContents(Firestone);
CreateObject(Firestone, 89, 766);
CreateObject(Firestone, 135, 741);
CreateObject(Firestone, 159, 748);
CreateObject(Firestone, 199, 470);
CreateObject(Firestone, 361, 351);
CreateObjectAbove(Firestone, 89, 766);
CreateObjectAbove(Firestone, 135, 741);
CreateObjectAbove(Firestone, 159, 748);
CreateObjectAbove(Firestone, 199, 470);
CreateObjectAbove(Firestone, 361, 351);
return true;
}

View File

@ -43,7 +43,7 @@ func ControlUp()
if (wall_top)
wall_top->RemoveObject();
else
(wall_top = CreateObject(ScaffoldWall,0,0,GetOwner()))->SetTop(this);
(wall_top = CreateObjectAbove(ScaffoldWall,0,0,GetOwner()))->SetTop(this);
Sound("DullWoodHit1");
return true;
}
@ -53,7 +53,7 @@ func ControlLeft()
if (wall_left)
wall_left->RemoveObject();
else
(wall_left = CreateObject(ScaffoldWall,0,0,GetOwner()))->SetLeft(this);
(wall_left = CreateObjectAbove(ScaffoldWall,0,0,GetOwner()))->SetLeft(this);
Sound("DullWoodHit1");
return true;
}
@ -67,9 +67,9 @@ func ControlRight()
wall_right2->RemoveObject();
}
else
(wall_right2 = CreateObject(ScaffoldWall,0,0,GetOwner()))->SetRight2(this);
(wall_right2 = CreateObjectAbove(ScaffoldWall,0,0,GetOwner()))->SetRight2(this);
else
(wall_right = CreateObject(ScaffoldWall,0,0,GetOwner()))->SetRight(this);
(wall_right = CreateObjectAbove(ScaffoldWall,0,0,GetOwner()))->SetRight(this);
Sound("DullWoodHit1");
return true;
}
@ -83,9 +83,9 @@ func ControlDown()
wall_bottom2->RemoveObject();
}
else
(wall_bottom2 = CreateObject(ScaffoldWall,0,0,GetOwner()))->SetBottom2(this);
(wall_bottom2 = CreateObjectAbove(ScaffoldWall,0,0,GetOwner()))->SetBottom2(this);
else
(wall_bottom = CreateObject(ScaffoldWall,0,0,GetOwner()))->SetBottom(this);
(wall_bottom = CreateObjectAbove(ScaffoldWall,0,0,GetOwner()))->SetBottom(this);
Sound("DullWoodHit1");
return true;
}

View File

@ -11,7 +11,7 @@ static g_intro_initialized;
func DoInit(int first_player)
{
// Test
//CreateObject(LiftTower, 178,405, first_player);
//CreateObjectAbove(LiftTower, 178,405, first_player);
// Set time of day to evening and create some clouds and celestials.
Cloud->Place(15);
EnsureObject(Environment_Celestial,0,0,-1);
@ -24,7 +24,7 @@ func DoInit(int first_player)
time->SetTime(600);
time->SetCycleSpeed(20);
// Goal
CreateObject(Goal_Plane);
CreateObjectAbove(Goal_Plane);
// Plane part restore
for (var part in FindObjects(Find_Func("IsPlanePart"))) part->AddRestoreMode();
return true;
@ -33,7 +33,7 @@ func DoInit(int first_player)
func EnsureObject(id def, int x, int y, int owner)
{
var obj = FindObject(Find_ID(def));
if (!obj) obj = CreateObject(def,x,y,owner);
if (!obj) obj = CreateObjectAbove(def,x,y,owner);
return obj;
}
@ -69,7 +69,7 @@ func InitializePlayer(int plr)
func OnPlaneFinished(object plane)
{
// todo: outro
plane->CreateObject(Plane, 0,0, NO_OWNER);
plane->CreateObjectAbove(Plane, 0,0, NO_OWNER);
plane->RemoveObject();
}

View File

@ -190,7 +190,7 @@ private func CreateStream(int x0, int y0)
}
// Create stream data struct
var stream_debug;
if (storm_debug) stream_debug = CreateObject(Storm_DebugDisplay,0,0,NO_OWNER);
if (storm_debug) stream_debug = CreateObjectAbove(Storm_DebugDisplay,0,0,NO_OWNER);
var new_stream = {
Prototype = StormStream,
"x0" = x0, "y0" = y0, // "a"=a because Guenther said so
@ -406,4 +406,4 @@ global func GetWind(int x, int y)
{
if (g_storm) return g_storm->GetWindEx(x+GetX(),y+GetY());
return _inherited(x,y,...);
}
}

View File

@ -4,273 +4,273 @@ static npc_dagobert, npc_tarzan, g_golden_shovel, g_flagpole;
func InitializeObjects()
{
var Rule_BaseRespawn001 = CreateObject(Rule_BaseRespawn, 0, 0);
var Rule_BaseRespawn001 = CreateObjectAbove(Rule_BaseRespawn, 0, 0);
Rule_BaseRespawn001->SetInventoryTransfer(true);
Rule_BaseRespawn001->SetFreeCrew(true);
CreateObject(Grass, 1627, 396);
CreateObject(Grass, 1636, 385);
CreateObject(Grass, 1786, 469);
CreateObject(Grass, 1574, 493);
CreateObject(Grass, 1564, 493);
CreateObject(Grass, 1537, 525);
CreateObject(Grass, 1585, 486);
CreateObject(Grass, 1739, 430);
CreateObjectAbove(Grass, 1627, 396);
CreateObjectAbove(Grass, 1636, 385);
CreateObjectAbove(Grass, 1786, 469);
CreateObjectAbove(Grass, 1574, 493);
CreateObjectAbove(Grass, 1564, 493);
CreateObjectAbove(Grass, 1537, 525);
CreateObjectAbove(Grass, 1585, 486);
CreateObjectAbove(Grass, 1739, 430);
var Column0010 = CreateObject(Column, 779, 591);
var Column0010 = CreateObjectAbove(Column, 779, 591);
Column0010->SetClrModulation(0xffffd0d0);
Column0010->SetMeshMaterial("AncientColumn", 0);
Column0010.Plane = 50;
var Chest0009 = CreateObject(Chest, 1002, 313);
var Chest0009 = CreateObjectAbove(Chest, 1002, 313);
Chest0009.Plane = 50;
CreateObject(Rule_TeamAccount, 0, 0);
CreateObjectAbove(Rule_TeamAccount, 0, 0);
CreateObject(Rule_NoPowerNeed, 0, 0);
CreateObjectAbove(Rule_NoPowerNeed, 0, 0);
var LargeCaveMushroom0013 = CreateObject(LargeCaveMushroom, 1308, 1038);
var LargeCaveMushroom0013 = CreateObjectAbove(LargeCaveMushroom, 1308, 1038);
LargeCaveMushroom0013->SetClrModulation(0xffe4effc);
var LargeCaveMushroom0017 = CreateObject(LargeCaveMushroom, 1345, 1028);
var LargeCaveMushroom0017 = CreateObjectAbove(LargeCaveMushroom, 1345, 1028);
LargeCaveMushroom0017->SetClrModulation(0xffe1e3ee);
LargeCaveMushroom0017->SetMeshMaterial("FlyAmanitaMushroom", 0);
var LargeCaveMushroom0021 = CreateObject(LargeCaveMushroom, 1399, 1025);
var LargeCaveMushroom0021 = CreateObjectAbove(LargeCaveMushroom, 1399, 1025);
LargeCaveMushroom0021->SetClrModulation(0xfff3e3e7);
LargeCaveMushroom0021->SetMeshMaterial("FlyAmanitaMushroom", 0);
var LargeCaveMushroom0025 = CreateObject(LargeCaveMushroom, 1464, 999);
var LargeCaveMushroom0025 = CreateObjectAbove(LargeCaveMushroom, 1464, 999);
LargeCaveMushroom0025->SetClrModulation(0xffe0e6dd);
var LargeCaveMushroom0029 = CreateObject(LargeCaveMushroom, 1450, 1012);
var LargeCaveMushroom0029 = CreateObjectAbove(LargeCaveMushroom, 1450, 1012);
LargeCaveMushroom0029->SetClrModulation(0xffe4eae2);
var LargeCaveMushroom0033 = CreateObject(LargeCaveMushroom, 1523, 993);
var LargeCaveMushroom0033 = CreateObjectAbove(LargeCaveMushroom, 1523, 993);
LargeCaveMushroom0033->SetClrModulation(0xffe2deee);
LargeCaveMushroom0033->SetMeshMaterial("FlyAmanitaMushroom", 0);
CreateObject(Trunk, 1000, 313);
CreateObject(Trunk, 1006, 313);
CreateObjectAbove(Trunk, 1000, 313);
CreateObjectAbove(Trunk, 1006, 313);
CreateObject(EnvPack_Painting, 606, 434);
CreateObjectAbove(EnvPack_Painting, 606, 434);
CreateObject(EnvPack_Guidepost, 81, 743);
CreateObjectAbove(EnvPack_Guidepost, 81, 743);
CreateObject(EnvPack_BridgeRustic, 591, 356);
CreateObjectAbove(EnvPack_BridgeRustic, 591, 356);
CreateObject(EnvPack_Bag, 506, 968);
CreateObjectAbove(EnvPack_Bag, 506, 968);
CreateObject(EnvPack_Lantern, 356, 458);
CreateObjectAbove(EnvPack_Lantern, 356, 458);
CreateObject(EnvPack_TreeTrunks, 601, 408);
CreateObjectAbove(EnvPack_TreeTrunks, 601, 408);
CreateObject(EnvPack_Rail, 564, 354);
CreateObject(EnvPack_Rail, 616, 356);
CreateObject(EnvPack_Rail, 633, 354);
CreateObject(EnvPack_Rail, 554, 353);
CreateObjectAbove(EnvPack_Rail, 564, 354);
CreateObjectAbove(EnvPack_Rail, 616, 356);
CreateObjectAbove(EnvPack_Rail, 633, 354);
CreateObjectAbove(EnvPack_Rail, 554, 353);
CreateObject(EnvPack_WineBarrel, 627, 455);
CreateObjectAbove(EnvPack_WineBarrel, 627, 455);
CreateObject(EnvPack_Crate, 494, 385);
CreateObjectAbove(EnvPack_Crate, 494, 385);
CreateObject(Fern, 1793, 474);
CreateObject(Fern, 1645, 384);
CreateObject(Fern, 1525, 535);
CreateObjectAbove(Fern, 1793, 474);
CreateObjectAbove(Fern, 1645, 384);
CreateObjectAbove(Fern, 1525, 535);
var Branch0066 = CreateObject(Branch, 1320, 326);
var Branch0066 = CreateObjectAbove(Branch, 1320, 326);
Branch0066->SetR(148);
Branch0066->SetPosition(1320, 329);
var Branch0067 = CreateObject(Branch, 1327, 298);
var Branch0067 = CreateObjectAbove(Branch, 1327, 298);
Branch0067->SetR(165);
Branch0067->SetPosition(1327, 291);
var Branch0068 = CreateObject(Branch, 1424, 257);
var Branch0068 = CreateObjectAbove(Branch, 1424, 257);
Branch0068->SetR(108);
Branch0068->SetPosition(1424, 260);
var Branch0069 = CreateObject(Branch, 1430, 248);
var Branch0069 = CreateObjectAbove(Branch, 1430, 248);
Branch0069->SetR(39);
Branch0069->SetPosition(1430, 240);
var Branch0070 = CreateObject(Branch, 1413, 262);
var Branch0070 = CreateObjectAbove(Branch, 1413, 262);
Branch0070->SetR(128);
Branch0070->SetPosition(1413, 265);
var Branch0071 = CreateObject(Branch, 1396, 263);
var Branch0071 = CreateObjectAbove(Branch, 1396, 263);
Branch0071->SetR(-131);
Branch0071->SetPosition(1396, 266);
CreateObject(SproutBerryBush, 1823, 493);
CreateObjectAbove(SproutBerryBush, 1823, 493);
CreateObject(Trunk, 401, 1147);
CreateObjectAbove(Trunk, 401, 1147);
CreateObject(Tree_Coconut, 51, 1142);
CreateObject(Tree_Coconut, 333, 1150);
CreateObjectAbove(Tree_Coconut, 51, 1142);
CreateObjectAbove(Tree_Coconut, 333, 1150);
CreateObject(Tree_Coniferous, 1864, 464);
CreateObject(Tree_Coniferous, 2788, 680);
CreateObjectAbove(Tree_Coniferous, 1864, 464);
CreateObjectAbove(Tree_Coniferous, 2788, 680);
var Lichen0093 = CreateObject(Lichen, 2694, 706);
var Lichen0093 = CreateObjectAbove(Lichen, 2694, 706);
Lichen0093->SetAction("Grown");
CreateObject(BigRock, 1301, 500);
CreateObject(BigRock, 1207, 282);
CreateObject(BigRock, 1291, 263);
CreateObjectAbove(BigRock, 1301, 500);
CreateObjectAbove(BigRock, 1207, 282);
CreateObjectAbove(BigRock, 1291, 263);
var Amethyst0099 = CreateObject(Amethyst, 803, 583);
var Amethyst0099 = CreateObjectAbove(Amethyst, 803, 583);
Amethyst0099.Plane = 190;
var Chest0101 = CreateObject(Chest, 515, 967);
var Chest0101 = CreateObjectAbove(Chest, 515, 967);
Chest0101.tool_spawn = TeleGlove;
var Chest0102 = CreateObject(Chest, 227, 760);
var Chest0102 = CreateObjectAbove(Chest, 227, 760);
Chest0102.tool_spawn = Pickaxe;
var Chest0103 = CreateObject(Chest, 624, 943);
var Chest0103 = CreateObjectAbove(Chest, 624, 943);
Chest0103.tool_spawn = GrappleBow;
var Chest0104 = CreateObject(Chest, 603, 942);
var Chest0104 = CreateObjectAbove(Chest, 603, 942);
Chest0104.tool_spawn = GrappleBow;
var Chest0105 = CreateObject(Chest, 472, 455);
var Chest0106 = CreateObject(Chest, 546, 383);
var Chest0107 = CreateObject(Chest, 840, 47);
var Chest0105 = CreateObjectAbove(Chest, 472, 455);
var Chest0106 = CreateObjectAbove(Chest, 546, 383);
var Chest0107 = CreateObjectAbove(Chest, 840, 47);
Chest0107.tool_spawn = WindBag;
var Chest0108 = CreateObject(Chest, 853, 1574);
var Chest0109 = CreateObject(Chest, 1428, 1542);
var Chest0110 = CreateObject(Chest, 1765, 1191);
var Chest0111 = CreateObject(Chest, 1878, 719);
var Chest0108 = CreateObjectAbove(Chest, 853, 1574);
var Chest0109 = CreateObjectAbove(Chest, 1428, 1542);
var Chest0110 = CreateObjectAbove(Chest, 1765, 1191);
var Chest0111 = CreateObjectAbove(Chest, 1878, 719);
Chest0111.tool_spawn = Axe;
var Chest0112 = CreateObject(Chest, 1943, 714);
var Chest0113 = CreateObject(Chest, 2103, 1119);
var Chest0114 = CreateObject(Chest, 397, 583);
var Chest0115 = CreateObject(Chest, 871, 583);
var Chest0112 = CreateObjectAbove(Chest, 1943, 714);
var Chest0113 = CreateObjectAbove(Chest, 2103, 1119);
var Chest0114 = CreateObjectAbove(Chest, 397, 583);
var Chest0115 = CreateObjectAbove(Chest, 871, 583);
Chest0115->SetMeshMaterial("GoldenChest", 0);
var Chest0116 = CreateObject(Chest, 12, 39);
var Chest0117 = CreateObject(Chest, 2786, 55);
var Chest0118 = CreateObject(Chest, 1830, 486);
var Chest0116 = CreateObjectAbove(Chest, 12, 39);
var Chest0117 = CreateObjectAbove(Chest, 2786, 55);
var Chest0118 = CreateObjectAbove(Chest, 1830, 486);
Chest0118.tool_spawn = Hammer;
var Chest0119 = CreateObject(Chest, 730, 135);
var Chest0120 = CreateObject(Chest, 1626, 1591);
var Chest0119 = CreateObjectAbove(Chest, 730, 135);
var Chest0120 = CreateObjectAbove(Chest, 1626, 1591);
var StoneDoor0121 = CreateObject(StoneDoor, 940, 1151);
var StoneDoor0121 = CreateObjectAbove(StoneDoor, 940, 1151);
StoneDoor0121->SetComDir(COMD_Down);
StoneDoor0121->MakeInvincible();
var StoneDoor0123 = CreateObject(StoneDoor, 1084, 1151);
var StoneDoor0123 = CreateObjectAbove(StoneDoor, 1084, 1151);
StoneDoor0123->SetComDir(COMD_Down);
StoneDoor0123->MakeInvincible();
var StoneDoor0125 = CreateObject(StoneDoor, 564, 455);
var StoneDoor0125 = CreateObjectAbove(StoneDoor, 564, 455);
StoneDoor0125->SetComDir(COMD_Down);
StoneDoor0125->MakeInvincible();
var StoneDoor0127 = CreateObject(StoneDoor, 843, 735);
var StoneDoor0127 = CreateObjectAbove(StoneDoor, 843, 735);
StoneDoor0127->SetComDir(COMD_Down);
StoneDoor0127->MakeInvincible();
var StoneDoor0129 = CreateObject(StoneDoor, 1058, 719);
var StoneDoor0129 = CreateObjectAbove(StoneDoor, 1058, 719);
StoneDoor0129->SetComDir(COMD_Down);
StoneDoor0129->MakeInvincible();
var StoneDoor0131 = CreateObject(StoneDoor, 1092, 1047);
var StoneDoor0131 = CreateObjectAbove(StoneDoor, 1092, 1047);
StoneDoor0131->SetComDir(COMD_Down);
StoneDoor0131->MakeInvincible();
var StoneDoor0133 = CreateObject(StoneDoor, 1892, 951);
var StoneDoor0133 = CreateObjectAbove(StoneDoor, 1892, 951);
StoneDoor0133->SetComDir(COMD_Down);
StoneDoor0133->MakeInvincible();
var StoneDoor0135 = CreateObject(StoneDoor, 813, 735);
var StoneDoor0135 = CreateObjectAbove(StoneDoor, 813, 735);
StoneDoor0135->SetComDir(COMD_Down);
StoneDoor0135->MakeInvincible();
var StoneDoor0137 = CreateObject(StoneDoor, 781, 735);
var StoneDoor0137 = CreateObjectAbove(StoneDoor, 781, 735);
StoneDoor0137->SetComDir(COMD_Down);
StoneDoor0137->SetClrModulation(0xffa0a0a0);
var StoneDoor0138 = CreateObject(StoneDoor, 692, 767);
var StoneDoor0138 = CreateObjectAbove(StoneDoor, 692, 767);
StoneDoor0138->SetComDir(COMD_Down);
StoneDoor0138->MakeInvincible();
var StoneDoor0140 = CreateObject(StoneDoor, 684, 351);
var StoneDoor0140 = CreateObjectAbove(StoneDoor, 684, 351);
StoneDoor0140->SetComDir(COMD_Down);
StoneDoor0140->MakeInvincible();
var SpinWheel0142 = CreateObject(SpinWheel, 589, 457);
var SpinWheel0142 = CreateObjectAbove(SpinWheel, 589, 457);
SpinWheel0142->SetMeshMaterial("SpinWheelGearRed", 0);
SpinWheel0142->SetStoneDoor(StoneDoor0121);
var SpinWheel0143 = CreateObject(SpinWheel, 611, 456);
var SpinWheel0143 = CreateObjectAbove(SpinWheel, 611, 456);
SpinWheel0143->SetMeshMaterial("SpinWheelGearBlue", 0);
SpinWheel0143->SetStoneDoor(StoneDoor0123);
var SpinWheel0144 = CreateObject(SpinWheel, 619, 410);
var SpinWheel0144 = CreateObjectAbove(SpinWheel, 619, 410);
SpinWheel0144->SetMeshMaterial("SpinWheelBaseAlt", 1);
SpinWheel0144->SetStoneDoor(StoneDoor0125);
var SpinWheel0145 = CreateObject(SpinWheel, 1223, 1553);
var SpinWheel0145 = CreateObjectAbove(SpinWheel, 1223, 1553);
SpinWheel0145->SetStoneDoor(StoneDoor0129);
var SpinWheel0146 = CreateObject(SpinWheel, 1117, 1048);
var SpinWheel0146 = CreateObjectAbove(SpinWheel, 1117, 1048);
SpinWheel0146->SetStoneDoor(StoneDoor0131);
var SpinWheel0147 = CreateObject(SpinWheel, 2761, 690);
var SpinWheel0147 = CreateObjectAbove(SpinWheel, 2761, 690);
SpinWheel0147->SetMeshMaterial("SpinWheelBaseAlt", 1);
SpinWheel0147->SetStoneDoor(StoneDoor0135);
var SpinWheel0148 = CreateObject(SpinWheel, 1850, 1463);
var SpinWheel0148 = CreateObjectAbove(SpinWheel, 1850, 1463);
SpinWheel0148->SetMeshMaterial("SpinWheelGearRed", 0);
SpinWheel0148->SetMeshMaterial("SpinWheelBaseAlt", 1);
SpinWheel0148->SetStoneDoor(StoneDoor0127);
var SpinWheel0149 = CreateObject(SpinWheel, 2793, 1521);
var SpinWheel0149 = CreateObjectAbove(SpinWheel, 2793, 1521);
SpinWheel0149->SetMeshMaterial("SpinWheelGearRed", 0);
SpinWheel0149->SetMeshMaterial("SpinWheelBaseAlt", 1);
SpinWheel0149->SetStoneDoor(StoneDoor0133);
var SpinWheel0150 = CreateObject(SpinWheel, 830, 735);
var SpinWheel0150 = CreateObjectAbove(SpinWheel, 830, 735);
SpinWheel0150->SetStoneDoor(StoneDoor0138);
var SpinWheel0151 = CreateObject(SpinWheel, 703, 352);
var SpinWheel0151 = CreateObjectAbove(SpinWheel, 703, 352);
SpinWheel0151->SetMeshMaterial("SpinWheelBaseAlt", 1);
SpinWheel0151->SetStoneDoor(StoneDoor0140);
CreateObject(Pump, 1027, 1152);
CreateObjectAbove(Pump, 1027, 1152);
CreateObject(Sawmill, 1259, 1047);
CreateObjectAbove(Sawmill, 1259, 1047);
var ToolsWorkshop0156 = CreateObject(ToolsWorkshop, 1169, 903);
var ToolsWorkshop0156 = CreateObjectAbove(ToolsWorkshop, 1169, 903);
var Column0158 = CreateObject(Column, 779, 488);
var Column0158 = CreateObjectAbove(Column, 779, 488);
Column0158->SetR(180);
Column0158->SetClrModulation(0xffffd0d0);
Column0158->SetMeshMaterial("AncientColumn", 0);
Column0158->SetPosition(779, 488);
var Column0159 = CreateObject(Column, 1419, 217);
var Column0159 = CreateObjectAbove(Column, 1419, 217);
Column0159->SetMeshMaterial("AncientColumn", 0);
CreateObject(Column, 1386, 616);
CreateObjectAbove(Column, 1386, 616);
CreateObject(Ruin_Windmill, 1678, 375);
CreateObjectAbove(Ruin_Windmill, 1678, 375);
CreateObject(Ruin_WoodenCabin, 1199, 1046);
CreateObjectAbove(Ruin_WoodenCabin, 1199, 1046);
var Idol0163 = CreateObject(Idol, 1045, 721);
var Idol0163 = CreateObjectAbove(Idol, 1045, 721);
Idol0163->SetMeshMaterial("IdolGrayColor", 0);
g_flagpole = CreateObject(Flagpole, 210, 1185);
g_flagpole = CreateObjectAbove(Flagpole, 210, 1185);
g_flagpole->SetNeutral(true);
g_flagpole.StaticSaveVar = "g_flagpole";
var LotsOfCoins0164 = CreateObject(LotsOfCoins, 805, 592);
var LotsOfCoins0164 = CreateObjectAbove(LotsOfCoins, 805, 592);
LotsOfCoins0164.Plane = 200;
var Idol0230 = CreateObject(Idol, 824, 583);
var Idol0230 = CreateObjectAbove(Idol, 824, 583);
Idol0230->SetR(-4);
Idol0230.Plane = 220;
Idol0230->SetPosition(824, 568);
var Lorry0231 = CreateObject(Lorry, 200, 1183);
var Lorry0233 = CreateObject(Lorry, 708, 1407);
var Lorry0231 = CreateObjectAbove(Lorry, 200, 1183);
var Lorry0233 = CreateObjectAbove(Lorry, 708, 1407);
Lorry0233->SetMeshMaterial("RuinedLorry", 0);
var Catapult0235 = CreateObject(Catapult, 1714, 951);
var Catapult0235 = CreateObjectAbove(Catapult, 1714, 951);
Catapult0235->SetRDir(2);
CreateObject(StrawMan, 1924, 439);
CreateObject(StrawMan, 2642, 705);
CreateObjectAbove(StrawMan, 1924, 439);
CreateObjectAbove(StrawMan, 2642, 705);
var Clonk0238 = CreateObject(Clonk, 316, 430);
var Clonk0238 = CreateObjectAbove(Clonk, 316, 430);
Clonk0238->SetColor(0xff);
S2AI->AddAI(Clonk0238);
S2AI->SetHome(Clonk0238, 315, 422, DIR_Left);
S2AI->SetGuardRange(Clonk0238, 296, 322, 350, 140);
S2AI->SetEncounterCB(Clonk0238, "EncounterCastle");
Clonk0238->SetDir(DIR_Left);
var Clonk0245 = CreateObject(Clonk, 501, 455);
var Clonk0245 = CreateObjectAbove(Clonk, 501, 455);
Clonk0245->SetDir(DIR_Right);
Clonk0245->SetColor(0xff);
S2AI->AddAI(Clonk0245);
S2AI->SetHome(Clonk0245, 502, 445, DIR_Right);
S2AI->SetGuardRange(Clonk0245, 460, 300, 200, 160);
S2AI->SetMaxAggroDistance(Clonk0245, 60);
var Clonk0252 = CreateObject(Clonk, 534, 454);
var Clonk0252 = CreateObjectAbove(Clonk, 534, 454);
Clonk0252->SetDir(DIR_Right);
Clonk0252->SetColor(0xff);
S2AI->AddAI(Clonk0252);
S2AI->SetHome(Clonk0252, 534, 446, DIR_Right);
S2AI->SetGuardRange(Clonk0252, 460, 300, 200, 160);
S2AI->SetMaxAggroDistance(Clonk0252, 60);
var Clonk0259 = CreateObject(Clonk, 671, 638);
var Clonk0259 = CreateObjectAbove(Clonk, 671, 638);
Clonk0259->SetDir(DIR_Right);
Clonk0259->SetCon(150);
Clonk0259->SetColor(0xffffa000);
@ -278,44 +278,44 @@ func InitializeObjects()
S2AI->SetHome(Clonk0259, 671, 629, DIR_Right);
S2AI->SetGuardRange(Clonk0259, 580, 480, 320, 175);
S2AI->SetEncounterCB(Clonk0259, "EncounterFinal");
npc_dagobert = CreateObject(Clonk, 369, 1143);
npc_dagobert = CreateObjectAbove(Clonk, 369, 1143);
npc_dagobert->SetColor(0xffa000);
npc_dagobert->SetName("Scrooge");
npc_dagobert.StaticSaveVar = "npc_dagobert";
npc_dagobert->MakeInvincible();
npc_dagobert->SetDir(DIR_Left);
var Clonk0273 = CreateObject(Clonk, 1720, 375);
var Clonk0273 = CreateObjectAbove(Clonk, 1720, 375);
Clonk0273->SetDir(DIR_Right);
Clonk0273->SetColor(0x808080);
Clonk0273->SetName("Otto");
Clonk0273->SetSkin(2);
var Clonk0280 = CreateObject(Clonk, 1868, 950);
var Clonk0280 = CreateObjectAbove(Clonk, 1868, 950);
Clonk0280->SetColor(0xff0000);
Clonk0280->SetName("Donald");
Clonk0280->SetDir(DIR_Left);
var Clonk0286 = CreateObject(Clonk, 676, 942);
var Clonk0286 = CreateObjectAbove(Clonk, 676, 942);
Clonk0286->SetDir(DIR_Right);
Clonk0286->SetColor(0x802000);
Clonk0286->SetName("Jane");
Clonk0286->SetSkin(1);
npc_tarzan = CreateObject(Clonk, 751, 875);
npc_tarzan = CreateObjectAbove(Clonk, 751, 875);
npc_tarzan->SetXDir(3);
npc_tarzan->SetYDir(-1);
npc_tarzan->SetColor(0x402000);
npc_tarzan->SetName("Tarzan");
npc_tarzan.StaticSaveVar = "npc_tarzan";
npc_tarzan->SetDir(DIR_Left);
var Clonk0299 = CreateObject(Clonk, 498, 967);
var Clonk0299 = CreateObjectAbove(Clonk, 498, 967);
Clonk0299->SetColor(0x20ffff);
Clonk0299->SetName("Sophie");
Clonk0299->SetSkin(3);
Clonk0299->SetDir(DIR_Left);
var Clonk0306 = CreateObject(Clonk, 853, 735);
var Clonk0306 = CreateObjectAbove(Clonk, 853, 735);
Clonk0306->SetDir(DIR_Right);
Clonk0306->SetColor(0x6000);
Clonk0306->SetName("Riku");
Clonk0306->SetSkin(2);
var Clonk0313 = CreateObject(Clonk, 1098, 1150);
var Clonk0313 = CreateObjectAbove(Clonk, 1098, 1150);
Clonk0313->SetDir(DIR_Right);
Clonk0313->SetColor(0x800000);
Clonk0313->SetName("Ann");
@ -340,25 +340,25 @@ func InitializeObjects()
Clonk0313->SetDialogue("Ann",true);
CreateObject(Skull, 53, 1138);
CreateObjectAbove(Skull, 53, 1138);
var Bone0344 = CreateObject(Bone, 25, 1141);
var Bone0344 = CreateObjectAbove(Bone, 25, 1141);
Bone0344->SetR(-69);
Bone0344->SetPosition(25, 1139);
var Bone0345 = CreateObject(Bone, 48, 1135);
var Bone0345 = CreateObjectAbove(Bone, 48, 1135);
Bone0345->SetR(-51);
Bone0345->SetPosition(48, 1135);
var Bone0346 = CreateObject(Bone, 472, 963);
var Bone0346 = CreateObjectAbove(Bone, 472, 963);
Bone0346->SetR(-52);
Bone0346->SetRDir(-7);
Bone0346->SetPosition(472, 962);
var Bone0347 = CreateObject(Bone, 488, 962);
var Bone0347 = CreateObjectAbove(Bone, 488, 962);
Bone0347->SetR(-51);
Bone0347->SetPosition(488, 962);
var Bone0348 = CreateObject(Bone, 479, 962);
var Bone0348 = CreateObjectAbove(Bone, 479, 962);
Bone0348->SetR(-51);
Bone0348->SetPosition(479, 962);
var Bone0349 = CreateObject(Bone, 464, 963);
var Bone0349 = CreateObjectAbove(Bone, 464, 963);
Bone0349->SetR(-51);
Bone0349->SetPosition(464, 963);
@ -366,35 +366,35 @@ func InitializeObjects()
Lorry0231->CreateContents(Loam);
Lorry0231->CreateContents(Loam);
Lorry0231->CreateContents(Loam);
CreateObject(Loam, 153, 1235);
CreateObject(Loam, 357, 1320);
CreateObject(Loam, 265, 1454);
CreateObject(Loam, 528, 1453);
CreateObject(Loam, 554, 1456);
CreateObject(Loam, 988, 1287);
CreateObject(Loam, 1030, 1275);
CreateObject(Loam, 1065, 1270);
CreateObject(Loam, 1051, 1261);
CreateObject(Loam, 1049, 1282);
CreateObject(Loam, 1081, 1269);
CreateObject(Loam, 1334, 1052);
CreateObject(Loam, 1532, 861);
CreateObject(Loam, 1619, 807);
CreateObject(Loam, 1642, 442);
CreateObject(Loam, 1694, 402);
CreateObject(Loam, 1578, 527);
CreateObject(Loam, 1746, 459);
CreateObjectAbove(Loam, 153, 1235);
CreateObjectAbove(Loam, 357, 1320);
CreateObjectAbove(Loam, 265, 1454);
CreateObjectAbove(Loam, 528, 1453);
CreateObjectAbove(Loam, 554, 1456);
CreateObjectAbove(Loam, 988, 1287);
CreateObjectAbove(Loam, 1030, 1275);
CreateObjectAbove(Loam, 1065, 1270);
CreateObjectAbove(Loam, 1051, 1261);
CreateObjectAbove(Loam, 1049, 1282);
CreateObjectAbove(Loam, 1081, 1269);
CreateObjectAbove(Loam, 1334, 1052);
CreateObjectAbove(Loam, 1532, 861);
CreateObjectAbove(Loam, 1619, 807);
CreateObjectAbove(Loam, 1642, 442);
CreateObjectAbove(Loam, 1694, 402);
CreateObjectAbove(Loam, 1578, 527);
CreateObjectAbove(Loam, 1746, 459);
var Metal0372 = CreateObject(Metal, 1922, 978);
var Metal0372 = CreateObjectAbove(Metal, 1922, 978);
Metal0372->SetR(20);
Metal0372->SetPosition(1922, 976);
var Nugget0373 = CreateObject(Nugget, 812, 590);
var Nugget0373 = CreateObjectAbove(Nugget, 812, 590);
Nugget0373->SetClrModulation(0xffffd0a0);
CreateObject(Nugget, 869, 583);
var Nugget0375 = CreateObject(Nugget, 853, 584);
CreateObjectAbove(Nugget, 869, 583);
var Nugget0375 = CreateObjectAbove(Nugget, 853, 584);
Nugget0375->SetClrModulation(0xffffd0a0);
var Nugget0376 = CreateObject(Nugget, 823, 584);
var Nugget0376 = CreateObjectAbove(Nugget, 823, 584);
Nugget0376->SetClrModulation(0xffffd0a0);
Chest0106->CreateContents(GoldBar);
@ -414,38 +414,38 @@ func InitializeObjects()
var GoldBar0389 = Chest0119->CreateContents(GoldBar);
GoldBar0389->SetClrModulation(0xffffd0a0);
GoldBar0389->SetR(-29);
var GoldBar0390 = CreateObject(GoldBar, 880, 542);
var GoldBar0390 = CreateObjectAbove(GoldBar, 880, 542);
GoldBar0390->SetR(-29);
GoldBar0390->SetClrModulation(0xffffd0a0);
GoldBar0390->SetPosition(880, 540);
ToolsWorkshop0156->CreateContents(GoldBar);
CreateObject(GoldBar, 72, 1463);
CreateObject(GoldBar, 2746, 736);
var GoldBar0394 = CreateObject(GoldBar, 2507, 1262);
CreateObjectAbove(GoldBar, 72, 1463);
CreateObjectAbove(GoldBar, 2746, 736);
var GoldBar0394 = CreateObjectAbove(GoldBar, 2507, 1262);
GoldBar0394->SetR(-6);
GoldBar0394->SetPosition(2507, 1262);
Chest0120->CreateContents(GoldBar);
var GoldBar0396 = CreateObject(GoldBar, 972, 1280);
var GoldBar0396 = CreateObjectAbove(GoldBar, 972, 1280);
GoldBar0396->SetR(55);
GoldBar0396->SetPosition(972, 1277);
CreateObject(Ruby, 864, 585);
CreateObject(Ruby, 806, 587);
CreateObject(Ruby, 849, 582);
CreateObject(Ruby, 856, 588);
CreateObjectAbove(Ruby, 864, 585);
CreateObjectAbove(Ruby, 806, 587);
CreateObjectAbove(Ruby, 849, 582);
CreateObjectAbove(Ruby, 856, 588);
var Amethyst0405 = CreateObject(Amethyst, 793, 588);
var Amethyst0405 = CreateObjectAbove(Amethyst, 793, 588);
Amethyst0405->SetR(22);
Amethyst0405->SetPosition(793, 584);
CreateObject(Amethyst, 885, 561);
CreateObject(Amethyst, 828, 585);
CreateObjectAbove(Amethyst, 885, 561);
CreateObjectAbove(Amethyst, 828, 585);
Lorry0231->CreateContents(Dynamite);
Lorry0231->CreateContents(Dynamite);
Chest0107->CreateContents(Dynamite);
Chest0107->CreateContents(Dynamite);
Chest0107->CreateContents(Dynamite);
CreateObject(Dynamite, 1046, 722);
CreateObjectAbove(Dynamite, 1046, 722);
Chest0104->CreateContents(Dynamite);
Chest0103->CreateContents(Dynamite);
Chest0104->CreateContents(Dynamite);
@ -464,31 +464,31 @@ func InitializeObjects()
Arrow0435->SetR(90);
var Arrow0436 = Clonk0238->CreateContents(Arrow);
Arrow0436->SetR(90);
var Arrow0437 = CreateObject(Arrow, 313, 431);
var Arrow0437 = CreateObjectAbove(Arrow, 313, 431);
Arrow0437->SetR(90);
Arrow0437->SetPosition(313, 431);
var Arrow0438 = CreateObject(Arrow, 313, 431);
var Arrow0438 = CreateObjectAbove(Arrow, 313, 431);
Arrow0438->SetR(90);
Arrow0438->SetPosition(313, 431);
var Arrow0439 = CreateObject(Arrow, 313, 431);
var Arrow0439 = CreateObjectAbove(Arrow, 313, 431);
Arrow0439->SetR(90);
Arrow0439->SetPosition(313, 431);
var Arrow0440 = CreateObject(Arrow, 313, 431);
var Arrow0440 = CreateObjectAbove(Arrow, 313, 431);
Arrow0440->SetR(90);
Arrow0440->SetPosition(313, 431);
var Arrow0441 = CreateObject(Arrow, 313, 431);
var Arrow0441 = CreateObjectAbove(Arrow, 313, 431);
Arrow0441->SetR(90);
Arrow0441->SetPosition(313, 431);
var Arrow0442 = CreateObject(Arrow, 313, 431);
var Arrow0442 = CreateObjectAbove(Arrow, 313, 431);
Arrow0442->SetR(90);
Arrow0442->SetPosition(313, 431);
var Arrow0443 = CreateObject(Arrow, 313, 431);
var Arrow0443 = CreateObjectAbove(Arrow, 313, 431);
Arrow0443->SetR(90);
Arrow0443->SetPosition(313, 431);
var Arrow0444 = CreateObject(Arrow, 313, 431);
var Arrow0444 = CreateObjectAbove(Arrow, 313, 431);
Arrow0444->SetR(90);
Arrow0444->SetPosition(313, 431);
var Arrow0445 = CreateObject(Arrow, 313, 431);
var Arrow0445 = CreateObjectAbove(Arrow, 313, 431);
Arrow0445->SetR(90);
Arrow0445->SetPosition(313, 431);
@ -514,120 +514,120 @@ func InitializeObjects()
Clonk0259->CreateContents(Sword);
Clonk0259->CreateContents(Sword);
var Seaweed0465 = CreateObject(Seaweed, 2494, 1263);
var Seaweed0465 = CreateObjectAbove(Seaweed, 2494, 1263);
Seaweed0465->SetPhase(41);
var Seaweed0468 = CreateObject(Seaweed, 2508, 1263);
var Seaweed0468 = CreateObjectAbove(Seaweed, 2508, 1263);
Seaweed0468->SetPhase(33);
var Seaweed0471 = CreateObject(Seaweed, 2520, 1263);
var Seaweed0471 = CreateObjectAbove(Seaweed, 2520, 1263);
Seaweed0471->SetPhase(10);
var Seaweed0474 = CreateObject(Seaweed, 2508, 1263);
var Seaweed0474 = CreateObjectAbove(Seaweed, 2508, 1263);
Seaweed0474->SetPhase(10);
var Seaweed0477 = CreateObject(Seaweed, 2503, 1263);
var Seaweed0477 = CreateObjectAbove(Seaweed, 2503, 1263);
Seaweed0477->SetPhase(36);
var Seaweed0480 = CreateObject(Seaweed, 2526, 1262);
var Seaweed0480 = CreateObjectAbove(Seaweed, 2526, 1262);
Seaweed0480->SetPhase(36);
var Seaweed0483 = CreateObject(Seaweed, 2516, 1263);
var Seaweed0483 = CreateObjectAbove(Seaweed, 2516, 1263);
Seaweed0483->SetPhase(36);
var Seaweed0486 = CreateObject(Seaweed, 2499, 1263);
var Seaweed0486 = CreateObjectAbove(Seaweed, 2499, 1263);
Seaweed0486->SetPhase(36);
var Seaweed0489 = CreateObject(Seaweed, 2663, 1278);
var Seaweed0489 = CreateObjectAbove(Seaweed, 2663, 1278);
Seaweed0489->SetPhase(39);
var Seaweed0492 = CreateObject(Seaweed, 2769, 1272);
var Seaweed0492 = CreateObjectAbove(Seaweed, 2769, 1272);
Seaweed0492->SetPhase(39);
var Seaweed0495 = CreateObject(Seaweed, 2751, 1279);
var Seaweed0495 = CreateObjectAbove(Seaweed, 2751, 1279);
Seaweed0495->SetPhase(39);
var Seaweed0498 = CreateObject(Seaweed, 2762, 1271);
var Seaweed0498 = CreateObjectAbove(Seaweed, 2762, 1271);
Seaweed0498->SetPhase(39);
var Seaweed0501 = CreateObject(Seaweed, 2775, 1279);
var Seaweed0501 = CreateObjectAbove(Seaweed, 2775, 1279);
Seaweed0501->SetPhase(39);
var Seaweed0504 = CreateObject(Seaweed, 2762, 1271);
var Seaweed0504 = CreateObjectAbove(Seaweed, 2762, 1271);
Seaweed0504->SetPhase(39);
var Seaweed0507 = CreateObject(Seaweed, 2659, 1279);
var Seaweed0507 = CreateObjectAbove(Seaweed, 2659, 1279);
Seaweed0507->SetPhase(39);
var Seaweed0510 = CreateObject(Seaweed, 2416, 1245);
var Seaweed0510 = CreateObjectAbove(Seaweed, 2416, 1245);
Seaweed0510->SetPhase(77);
var Seaweed0513 = CreateObject(Seaweed, 2395, 1239);
var Seaweed0513 = CreateObjectAbove(Seaweed, 2395, 1239);
Seaweed0513->SetPhase(77);
var Seaweed0516 = CreateObject(Seaweed, 2396, 1239);
var Seaweed0516 = CreateObjectAbove(Seaweed, 2396, 1239);
Seaweed0516->SetPhase(77);
var Seaweed0519 = CreateObject(Seaweed, 2332, 1145);
var Seaweed0519 = CreateObjectAbove(Seaweed, 2332, 1145);
Seaweed0519->SetPhase(77);
var Seaweed0522 = CreateObject(Seaweed, 2407, 1246);
var Seaweed0522 = CreateObjectAbove(Seaweed, 2407, 1246);
Seaweed0522->SetPhase(77);
CreateObject(Mushroom, 1580, 760);
CreateObject(Mushroom, 1613, 776);
CreateObject(Mushroom, 1525, 848);
CreateObject(Mushroom, 1612, 863);
CreateObject(Mushroom, 1321, 895);
CreateObject(Mushroom, 1315, 896);
CreateObject(Mushroom, 1343, 904);
CreateObject(Mushroom, 1347, 903);
CreateObjectAbove(Mushroom, 1580, 760);
CreateObjectAbove(Mushroom, 1613, 776);
CreateObjectAbove(Mushroom, 1525, 848);
CreateObjectAbove(Mushroom, 1612, 863);
CreateObjectAbove(Mushroom, 1321, 895);
CreateObjectAbove(Mushroom, 1315, 896);
CreateObjectAbove(Mushroom, 1343, 904);
CreateObjectAbove(Mushroom, 1347, 903);
CreateObject(Balloon, 491, 383);
CreateObjectAbove(Balloon, 491, 383);
var Barrel0558 = CreateObject(Barrel, 623, 456);
var Barrel0558 = CreateObjectAbove(Barrel, 623, 456);
Barrel0558->SetColor(0xff000000);
CreateObject(Sproutberry, 1823, 488);
CreateObject(Sproutberry, 1823, 488);
CreateObject(Sproutberry, 1823, 488);
CreateObjectAbove(Sproutberry, 1823, 488);
CreateObjectAbove(Sproutberry, 1823, 488);
CreateObjectAbove(Sproutberry, 1823, 488);
var Boompack0563 = CreateObject(Boompack, 543, 383);
var Boompack0563 = CreateObjectAbove(Boompack, 543, 383);
Boompack0563->SetColor(0xff);
var Boompack0564 = CreateObject(Boompack, 548, 384);
var Boompack0564 = CreateObjectAbove(Boompack, 548, 384);
Boompack0564->SetColor(0xff);
var Boompack0565 = CreateObject(Boompack, 1948, 713);
var Boompack0565 = CreateObjectAbove(Boompack, 1948, 713);
Boompack0565->SetColor(0xff);
var Boompack0566 = CreateObject(Boompack, 1944, 487);
var Boompack0566 = CreateObjectAbove(Boompack, 1944, 487);
Boompack0566->SetR(135);
Boompack0566->SetColor(0xff);
Boompack0566->SetPosition(1944, 483);
g_golden_shovel = CreateObject(Shovel, 1841, 1011);
g_golden_shovel = CreateObjectAbove(Shovel, 1841, 1011);
g_golden_shovel->SetMeshMaterial("GoldenShovel", 0);
g_golden_shovel.StaticSaveVar = "g_golden_shovel";
CreateObject(Pipe, 1838, 1016);
CreateObjectAbove(Pipe, 1838, 1016);
var LotsOfCoins0567 = CreateObject(LotsOfCoins, 838, 592);
var LotsOfCoins0567 = CreateObjectAbove(LotsOfCoins, 838, 592);
LotsOfCoins0567.Plane = 500;
var GemOfPower0575 = CreateObject(GemOfPower, 825, 572);
var GemOfPower0575 = CreateObjectAbove(GemOfPower, 825, 572);
GemOfPower0575->SetCategory(C4D_StaticBack);
CreateObject(Firestone, 564, 1136);
CreateObject(Firestone, 552, 1136);
CreateObject(Firestone, 562, 1136);
CreateObject(Firestone, 571, 1136);
CreateObject(Firestone, 567, 1136);
CreateObject(Firestone, 558, 1136);
CreateObject(Firestone, 546, 1136);
CreateObject(Firestone, 560, 1136);
CreateObject(Firestone, 546, 1136);
CreateObject(Firestone, 546, 1136);
CreateObject(Firestone, 555, 1136);
CreateObject(Firestone, 562, 1136);
CreateObject(Firestone, 550, 1136);
CreateObject(Firestone, 552, 1136);
CreateObject(Firestone, 342, 1225);
CreateObject(Firestone, 166, 1261);
CreateObject(Firestone, 234, 1424);
CreateObject(Firestone, 315, 431);
CreateObject(Firestone, 1359, 1061);
CreateObject(Firestone, 1348, 1042);
CreateObject(Firestone, 1384, 1055);
CreateObject(Firestone, 1417, 1107);
CreateObject(Firestone, 1432, 1113);
CreateObject(Firestone, 1436, 1104);
CreateObject(Firestone, 1340, 920);
CreateObject(Firestone, 1476, 876);
CreateObject(Firestone, 1549, 866);
CreateObject(Firestone, 1607, 792);
CreateObject(Firestone, 2053, 852);
CreateObject(Firestone, 2161, 943);
CreateObject(Firestone, 2073, 862);
CreateObject(Firestone, 2064, 852);
CreateObjectAbove(Firestone, 564, 1136);
CreateObjectAbove(Firestone, 552, 1136);
CreateObjectAbove(Firestone, 562, 1136);
CreateObjectAbove(Firestone, 571, 1136);
CreateObjectAbove(Firestone, 567, 1136);
CreateObjectAbove(Firestone, 558, 1136);
CreateObjectAbove(Firestone, 546, 1136);
CreateObjectAbove(Firestone, 560, 1136);
CreateObjectAbove(Firestone, 546, 1136);
CreateObjectAbove(Firestone, 546, 1136);
CreateObjectAbove(Firestone, 555, 1136);
CreateObjectAbove(Firestone, 562, 1136);
CreateObjectAbove(Firestone, 550, 1136);
CreateObjectAbove(Firestone, 552, 1136);
CreateObjectAbove(Firestone, 342, 1225);
CreateObjectAbove(Firestone, 166, 1261);
CreateObjectAbove(Firestone, 234, 1424);
CreateObjectAbove(Firestone, 315, 431);
CreateObjectAbove(Firestone, 1359, 1061);
CreateObjectAbove(Firestone, 1348, 1042);
CreateObjectAbove(Firestone, 1384, 1055);
CreateObjectAbove(Firestone, 1417, 1107);
CreateObjectAbove(Firestone, 1432, 1113);
CreateObjectAbove(Firestone, 1436, 1104);
CreateObjectAbove(Firestone, 1340, 920);
CreateObjectAbove(Firestone, 1476, 876);
CreateObjectAbove(Firestone, 1549, 866);
CreateObjectAbove(Firestone, 1607, 792);
CreateObjectAbove(Firestone, 2053, 852);
CreateObjectAbove(Firestone, 2161, 943);
CreateObjectAbove(Firestone, 2073, 862);
CreateObjectAbove(Firestone, 2064, 852);
return true;
}

View File

@ -163,7 +163,7 @@ func Dlg_Dagobert_Gem1(object clonk)
func Dlg_Dagobert_Gem2(object clonk)
{
MessageBox("$DagobertGem2$", clonk, dlg_target); // take oil
var barrel = CreateObject(MetalBarrel);
var barrel = CreateObjectAbove(MetalBarrel);
if (barrel)
{
barrel->SetXDir(-15);

View File

@ -19,7 +19,7 @@ func Entrance(container)
func DoSellEffect(container)
{
var value = 0;
var fm = CreateObject(FloatingMessage, 0,0, NO_OWNER);
var fm = CreateObjectAbove(FloatingMessage, 0,0, NO_OWNER);
fm->SetColor(250, 200, 50);
fm->FadeOut(2, 10);
fm->SetSpeed(0, -5);
@ -44,4 +44,4 @@ func DoSellEffect(container)
CreateParticle("Flash", 0,0, 0, 0, 8, flash_particles);
CreateParticle("Dust", 0,0, PV_Random(-10, 10), PV_Random(-10, 10), PV_Random(18, 36), dust_particles, 10);
}
}

View File

@ -7,7 +7,7 @@ static npc_pyrit, g_goal;
func Intro_Init(object flagpole)
{
// Fix plane outside landscape for now
this.plane = CreateObject(Plane, 100,-20);
this.plane = CreateObjectAbove(Plane, 100,-20);
this.plane->FaceRight();
this.plane->SetR(80);
this.plane->SetColor(0xa04000);
@ -19,7 +19,7 @@ func Intro_Init(object flagpole)
this.plane->MakeInvincible();
// Pyrit the pilot
this.pilot = npc_pyrit = CreateObject(Clonk, 100, 100, NO_OWNER);
this.pilot = npc_pyrit = CreateObjectAbove(Clonk, 100, 100, NO_OWNER);
this.pilot->MakeInvincible();
this.pilot->MakeNonFlammable();
this.pilot->SetSkin(2);
@ -175,6 +175,6 @@ func Intro_Stop()
this.dialogue->AddAttention();
this.dialogue->Dlg_Pyrit_StartHammering(npc_pyrit);
SetPlayerZoomByViewRange(NO_OWNER, 400,300, PLRZOOM_Set);
g_goal = CreateObject(Goal_TreasureHunt, 0, 0);
g_goal = CreateObjectAbove(Goal_TreasureHunt, 0, 0);
return true;
}

View File

@ -45,7 +45,7 @@ func Hatch(id fish_id)
{
for (var i = 0; i < 5; ++i)
Bubble(1, RandomX(-5, 5), RandomX(-5, 5));
var fish = CreateObject(fish_id, 0, 0, GetOwner());
var fish = CreateObjectAbove(fish_id, 0, 0, GetOwner());
fish->SetCon(1);
AddEffect("FastGrow", fish, 1, 1, nil, GetID());
RemoveObject();

View File

@ -28,7 +28,7 @@ func Place(int amount, proplist rectangle, proplist settings)
var spot = FindLocation(Loc_Material("Water"), Loc_Space(50, false), loc_area);
if (!spot) continue;
f = CreateObject(this, spot.x, spot.y, NO_OWNER);
f = CreateObjectAbove(this, spot.x, spot.y, NO_OWNER);
if (!f) continue;
// Randomly add some large/slim fish
if (Random(3))
@ -360,7 +360,7 @@ func FxPlaceRoeTimer(target, effect, timer)
if (!effect.placed)
{
if (Random(4)) return FX_OK;
CreateObject(FishRoe, 0, 0, GetOwner());
CreateObjectAbove(FishRoe, 0, 0, GetOwner());
effect.placed = true;
return FX_OK;
}

View File

@ -9,7 +9,7 @@ global func Bubble(int amount, int x, int y)
for (var i = 0; i < amount; i++)
{
var bubble = CreateObject(Fx_Bubble, x, y, NO_OWNER);
var bubble = CreateObjectAbove(Fx_Bubble, x, y, NO_OWNER);
if (bubble) bubble.creator = this;
}
return;
@ -37,7 +37,7 @@ public func FxMoveTimer(object target, effect, int time)
{
for (var i = 0; i < 2; i++)
{
var bubble = CreateObject(Fx_Bubble);
var bubble = CreateObjectAbove(Fx_Bubble);
bubble->SetCon(2 * target->GetCon() / 3);
bubble->SetYDir(target->GetYDir());
}

View File

@ -14,7 +14,7 @@ func Burning()
if(!Random(3))
{
var x = Random(15);
var o = CreateObject(GetID(), 0, 0, GetOwner());
var o = CreateObjectAbove(GetID(), 0, 0, GetOwner());
o->SetSpeed(x, -7);
o->SetCon(GetCon()/2);
SetSpeed(-x, -7);

View File

@ -11,7 +11,7 @@ local range, ltype, t;
global func CreateLight(int x, int y, int range, int light_type, player)
{
// create light object. player may be nil
var light = CreateObject(Fx_Light, x, y, player);
var light = CreateObjectAbove(Fx_Light, x, y, player);
if (light) light->Init(range, light_type);
return light;
}

View File

@ -25,7 +25,7 @@ global func AddTrajectory(object pObj, int iX, int iY, int iXDir, int iYDir, int
// Delete old trajectory
RemoveTrajectory(pObj);
// Create new helper object
var pTrajectory = CreateObject(Trajectory, pObj->GetX() - GetX(), pObj->GetY() - GetY(), pObj->GetOwner());
var pTrajectory = CreateObjectAbove(Trajectory, pObj->GetX() - GetX(), pObj->GetY() - GetY(), pObj->GetOwner());
pTrajectory->SetAction("Attach", pObj);
// Set starting values
var i = -1, iXOld, iYOld;

View File

@ -71,7 +71,7 @@ global func MakeEdgeFunction(bool fExact)
if(fExact) Log(" var d=%v;",d);
Log(" for (var i = 0; i < GetLength(x); i++)");
Log(" {");
Log(" var edge=CreateObject(BrickEdge, x[i], y[i], NO_OWNER);");
Log(" var edge=CreateObjectAbove(BrickEdge, x[i], y[i], NO_OWNER);");
Log(" edge->Initialize();"); //additional initialize for anti self blocking
if(fExact)
{

View File

@ -17,7 +17,7 @@ local strength;
/// \returns \c true if the lightning could be launched, \c false otherwise.
global func LaunchLightning(int x, int y, int to_strength, int xdir, int ydir, int xdev, int ydev, bool do_gamma)
{
var lightning = CreateObject(Lightning, x - GetX(), y - GetY());
var lightning = CreateObjectAbove(Lightning, x - GetX(), y - GetY());
return lightning && lightning->Launch(x, y, to_strength, xdir, ydir, xdev, ydev, do_gamma);
}
@ -79,7 +79,7 @@ protected func FxLightningMoveTimer()
if (Random(strength) > 5)
{
var branch_strength = (strength + Random(strength)) / 3;
var lightning = CreateObject(Lightning, newx, newy);
var lightning = CreateObjectAbove(Lightning, newx, newy);
if (lightning)
lightning->Launch(newx + GetX(), newy + GetY(), branch_strength, xDir, yDir, xDev, yDev, false);
strength -= branch_strength / 4;

View File

@ -79,7 +79,7 @@ public func Place(int count)
var pos;
if ((pos = FindPosInMat("Sky", 0, 0, LandscapeWidth(), LandscapeHeight())) && MaterialDepthCheck(pos[0], pos[1], "Sky", 200))
{
CreateObject(Cloud, pos[0], pos[1], NO_OWNER);
CreateObjectAbove(Cloud, pos[0], pos[1], NO_OWNER);
count--;
}
}

View File

@ -20,7 +20,7 @@ protected func Damage()
for (var i = 0, compid; compid = GetComponent(nil, i); ++i)
for (var j = 0; j < GetComponent(compid); ++j)
{
var comp = CreateObject(compid, nil, -Random(50), GetOwner());
var comp = CreateObjectAbove(compid, nil, -Random(50), GetOwner());
if (OnFire()) comp->Incinerate();
if (!ctr || !comp->Enter(ctr))
{

View File

@ -34,7 +34,7 @@ protected func FxIntMeteorControlTimer(object target, proplist effect, int time)
if (Random(100) < effect.chance && !Random(10))
{
// Launch a meteor.
var meteor = CreateObject(Meteor);
var meteor = CreateObjectAbove(Meteor);
var x = Random(LandscapeWidth());
var y = 0;
var size = RandomX(60, 90);
@ -54,7 +54,7 @@ func FxIntMeteorControlSaveScen(obj, fx, props)
global func LaunchMeteor(int x, int y, int size, int xdir, int ydir)
{
var meteor = CreateObject(Meteor);
var meteor = CreateObjectAbove(Meteor);
return meteor->Launch(x, y, size, xdir, ydir);
}

View File

@ -88,7 +88,7 @@ global func LaunchRockfall(int x, int y, int size, int xdir, int ydir, bool expl
return false;
// Create rock and adjust its size.
var rock = CreateObject(Rockfall, x, y);
var rock = CreateObjectAbove(Rockfall, x, y);
rock->SetCon(size);
// Remove rock if stuck.
@ -223,13 +223,13 @@ private func SplitRock()
{
var con = GetCon(), erock;
// Explosive rocks do some damage
if (is_explosive) if (erock = CreateObject(Rock,0,4,GetController())) erock->Explode(Max(15 * con / 100,3));
if (is_explosive) if (erock = CreateObjectAbove(Rock,0,4,GetController())) erock->Explode(Max(15 * con / 100,3));
// Split the rock into smaller ones if it is big enough.
if (con > 40)
{
while (con > 0)
{
var rock = CreateObject(Rockfall);
var rock = CreateObjectAbove(Rockfall);
var rock_con = Max(30, GetCon() / 2 + RandomX(-20, 20));
rock->SetCon(rock_con);
con -= 2 * rock_con / 3;

View File

@ -65,7 +65,7 @@ func FxIntVolcanoControlSaveScen(obj, fx, props)
global func LaunchVolcano(int x, int y, int strength, string material, int angle)
{
var volcano = CreateObject(Volcano);
var volcano = CreateObjectAbove(Volcano);
return volcano->Launch(x, y, strength, material, angle);
}
@ -187,7 +187,7 @@ private func Branch()
var y = side * Sin(angle, str / 4 - new_str / 4);
var new_mat = MaterialName(mat);
var new_angle = angle + side * RandomX(5, 15);
var volcano = CreateObject(Volcano, x, y, NO_OWNER);
var volcano = CreateObjectAbove(Volcano, x, y, NO_OWNER);
volcano->Launch(GetX() + x, GetY() + y, new_str, new_mat, new_angle);
// Reset volcano.
str -= new_str;
@ -235,4 +235,4 @@ local ActMap = {
StartCall = "Erupt",
// Sound = "VolcanoErupt",
},
};
};

View File

@ -66,7 +66,7 @@ public func Place(int amount, proplist rectangle, proplist settings)
if (!spot) continue;
DrawMap(spot.x - width, spot.y - height, 2 * width, 2 * height, Format("map Cave { %s };", map));
var cave = CreateObject(Landscape_Cave, spot.x, spot.y, NO_OWNER);
var cave = CreateObjectAbove(Landscape_Cave, spot.x, spot.y, NO_OWNER);
PushBack(caves, cave);
// project free objects down to the ground
@ -98,4 +98,4 @@ func IsGoodCaveSpot(int x, int y)
if (GetLength(cave) == 0) return true;
cave = cave[0];
return Distance(x, y, cave->GetX(), cave->GetY()) > 100;
}
}

View File

@ -68,7 +68,7 @@ protected func Initialize()
if (FindObject(Find_ID(Environment_Celestial)))
{
PlaceStars();
CreateObject(Moon, LandscapeWidth() / 2, LandscapeHeight() / 6);
CreateObjectAbove(Moon, LandscapeWidth() / 2, LandscapeHeight() / 6);
}
// Set the time to midday (12:00).
@ -113,7 +113,7 @@ private func PlaceStars()
var pos = [Random(lw), Random(lh)];
if(!FindObject(Find_ID(Stars),Find_AtPoint(pos[0],pos[1])))
{
CreateObject(Stars, pos[0], pos[1]);
CreateObjectAbove(Stars, pos[0], pos[1]);
continue;
}
failed++;

View File

@ -16,7 +16,7 @@ protected func Initialize()
global func CreateWaterfall(int x, int y, int strength, string mat)
{
var fall = CreateObject(Waterfall, x, y, NO_OWNER);
var fall = CreateObjectAbove(Waterfall, x, y, NO_OWNER);
if (!mat) mat = "Water";
AddEffect("IntWaterfall", fall, 100, 1, fall, nil, x, y, strength, mat);
return fall;
@ -116,7 +116,7 @@ func SaveScenarioObject(props)
global func CreateLiquidDrain(int x, int y, int strength)
{
var drain = CreateObject(Waterfall, x, y, NO_OWNER);
var drain = CreateObjectAbove(Waterfall, x, y, NO_OWNER);
AddEffect("IntLiquidDrain", drain, 100, 1, drain, nil, x, y, strength);
return drain;
}
@ -139,4 +139,4 @@ protected func FxIntLiquidDrainTimer(object target, proplist effect)
local Name = "$Name$";
local Name = "$Name$";

Some files were not shown because too many files have changed in this diff Show More