8 public override void Execute()
10 if (this.pos.HasBlock)
12 this.pos.SetBlock(0, 0);
16 this.pos.SetObj(0, 1, 0);
19 foreach (
Thing thing
in this.pos.Things)
27 if (traitNewZone !=
null && ((this.fromAbove && traitNewZone.IsUpstairs) || (!
this.fromAbove && traitNewZone.IsDownstairs)))
35 if (
EClass._zone.IsSkyLevel)
37 for (
int i = this.pos.z - 1; i <
this.pos.z + 2; i++)
39 for (
int j = this.pos.x - 1; j <
this.pos.x + 2; j++)
42 if (point.IsValid && point.sourceFloor.tileType ==
TileType.Sky)
44 EClass._map.SetFloor(point.x, point.z,
EClass._zone.biome.interior.floor.mat,
EClass._zone.biome.interior.floor.id);
49 Thing thing2 =
ThingGen.Create(
EClass._zone.biome.style.GetIdStairs(
this.fromAbove), -1, -1);
50 EClass._zone.AddCard(thing2, this.pos.x,
this.pos.z);
51 thing2.c_uidZone = this.uidZone;
52 thing2.SetPlaceState(PlaceState.installed,
false);
53 thing2.isPlayerCreation =
true;
63 public bool fromAbove;