# $Id: Simple - Tall.bld 1561 2009-10-19 23:24:25Z ryan $
	
#Simple building - tall version with caged elevator

<Globals>
    Name = My Building
    Designer = Me
    HorizScale = 1
    CameraFloor = 0
    CameraPosition = 0, -60
    CameraRotation = 0, 0, 0
    Sky = noon
<EndGlobals>

<Textures>
    Load data/brick1.jpg, Brick, 0.269, 0.25
    Load data/windows11h.jpg, MainWindows, 0.05, 1
    Load data/windows11h_inside.gif, MainWindowsInt, 0.05, 1
    Load data/Carpet0013_S.jpg, Carpet1, 0.2, 0.2
    Load data/text13.jpg, Stairs, 0.269, 0.25
    Load data/cinderblocks.jpg, Concrete, 0.25, 0.25
    Load data/cinderblocks.jpg, StairsWall, 0.25, 1
    Load data/cutston.jpg, InterExt, 0.269, 0.25
    Load data/downtown.jpg, Downtown, 1, 1
    Load data/cutston.jpg, Ceiling1, 0.269, 0.25
    Load data/metal1.jpg, ElevExt, 0.25, 0.25
    Load data/text16.jpg, ElevDoors, 1, 1
    Load data/panel-back2.jpg, ElevExtPanels, 1, 1
    Load data/marb148.jpg, ElevPanel, 1, 1
    Load data/windows11h_inside.gif, ElevWall, 0.2, 1
    Load data/windows11h_inside.gif, ElevPanelMain, 0.2, 1
    Load data/windows11h_inside.gif, ElevCeiling, 2, 2
    Load data/windows11h_inside.gif, ElevFloor, 2, 2
    Load data/callbutton.gif, ButtonUp, 1, 1
    Load data/callbutton.gif, ButtonDown, 1, -1
    Load data/callbutton_lit.gif, ButtonUpLit, 1, 1
    Load data/callbutton_lit.gif, ButtonDownLit, 1, -1
    Load data/marbl3.jpg, Wall1, 0.269, 0.25
    Load data/servicedoor2.jpg, StairsDoor, 1, 1
    Load data/darrow_single.jpg, Arrow, 1, 1
    Load data/darrow_single_up.jpg, ArrowUp, 1, 1
    Load data/darrow_single_down.jpg, ArrowDown, 1, -1

    Load data/black.jpg, Black, 1, 1
    AddText Black, ButtonOpen, nimbus_sans.ttf, 28, Open, -1, -1, -1, -1, center, center, 255, 255, 255
    AddText Black, ButtonClose, nimbus_sans.ttf, 28, Close, -1, -1, -1, -1, center, center, 255, 255, 255
    AddText Black, ButtonStop, nimbus_sans.ttf, 28, Stop, -1, -1, -1, -1, center, center, 255, 255, 255
    AddText Black, ButtonAlarm, nimbus_sans.ttf, 28, Alarm, -1, -1, -1, -1, center, center, 255, 255, 255
    AddText Black, ButtonCancelTemp, nimbus_sans.ttf, 28, Call, -1, 30, -1, 54, center, center, 255, 255, 255
    AddText ButtonCancelTemp, ButtonCancel, nimbus_sans.ttf, 28, Cancel, -1, 71, -1, 95, center, center, 255, 255, 255
    AddTextRange 1, 100, Black, Button%number%, nimbus_sans.ttf, 47, %number%, -1, -1, -1, -1, center, center, 255, 255, 255
<EndTextures>

# Ground
AddGround Ground, Downtown, -158400, -158400, 158400, 158400, 0, 7920, 7920
Cut Landscape, -20, -1, -20, 20, 1, 20, false, true

<Floor 0>
    ID = 1
    Name = Floor %floor%
    Type = Office
    Height = 10
    InterfloorHeight = 2.24
    Altitude = -2.24
<EndFloor>

<Floors 0 to 99>
    ID = %floor% + 1
    Name = Floor (%floor% + 1)
    Type = Office
    Height = 10
    InterfloorHeight = 2.24
    
    #Floor
    DrawWalls = false, true, false, false, false, false
    AddFloor Floor, Carpet1, 0.5, -20, -20, 20, 20, 0, 0, 0, 0, False

    #Ceiling
    DrawWalls = true, false, false, false, false, false
    AddFloor Ceiling, Ceiling1, 0.5, -20, -20, 20, 20, %height% - 0.05, %height% - 0.05, 0, 0, False

    #External windows
    SetAutoSize = true, false
    DrawWalls = true, false, false, false, false, false
    if[%floor% ! 0] AddWall Front, MainWindows, 0, -20, -20, 20, -20, %height%, %height%, %interfloorheight%, %interfloorheight%, 0, 0, True
    if[%floor% = 0] AddWall Front, MainWindows, 0, -15, -20, 20, -20, %height%, %height%, %interfloorheight%, %interfloorheight%, 0, 0, True
    AddWall Left, MainWindows, 0, -20, 20, -20, -20, %height%, %height%, %interfloorheight%, %interfloorheight%, 0, 0, True
    if[%floor% ! 0] AddWall Front, InterExt, 0, -20, -20, 20, -20, %interfloorheight%, %interfloorheight%, 0, 0, 0, 0, True
    if[%floor% ! 0] AddWall Left, InterExt, 0, -20, 20, -20, -20, %interfloorheight%, %interfloorheight%, 0, 0, 0, 0, True
    DrawWalls = false, true, false, false, false, false
    AddWall Right, MainWindows, 0, 20, -20, 20, 20, %height%, %height%, %interfloorheight%, %interfloorheight%, 0, 0, True
    AddWall Back, MainWindows, 0, 20, 20, -20, 20, %height%, %height%, %interfloorheight%, %interfloorheight%, 0, 0, True
    if[%floor% ! 0] AddWall Right, InterExt, 0, 20, -20, 20, 20, %interfloorheight%, %interfloorheight%, 0, 0, 0, 0, True
    if[%floor% ! 0] AddWall Back, InterExt, 0, 20, 20, -20, 20, %interfloorheight%, %interfloorheight%, 0, 0, 0, 0, True
    SetAutoSize = true, true

    #Internal windows
    SetAutoSize = true, false
    DrawWalls = false, true, false, false, false, false
    if[%floor% = 0] AddWall Front, MainWindowsInt, 0, -10, -20, 20, -20, %height%, %height%, 0, 0, 0, 0, False
    if[%floor% ! 0] AddWall Front, MainWindowsInt, 0, -20, -20, 20, -20, %height%, %height%, 0, 0, 0, 0, False
    AddWall Left, MainWindowsInt, 0, -20, 20, -20, -20, %height%, %height%, 0, 0, 0, 0, False
    DrawWalls = true, false, false, false, false, false
    AddWall Right, MainWindowsInt, 0, 20, -20, 20, 20, %height%, %height%, 0, 0, 0, 0, False
    AddWall Back, MainWindowsInt, 0, 20, 20, -20, 20, %height%, %height%, 0, 0, 0, 0, False
    SetAutoSize = true, true

    #Interfloor bottom
    FloorOrientation = bottom
    DrawWalls = false, true, false, false, false, false
    AddInterfloorFloor IFloor, Brick, 0.5, -20, -20, 20, 20, 0, 0, 0, 0

    #Interfloor top
    FloorOrientation = top
    DrawWalls = true, false, false, false, false, false
    AddInterfloorFloor ITop, Brick, 0.5, -20, -20, 20, 20, %interfloorheight% - 0.05, %interfloorheight% - 0.05, 0, 0

    #Interfloor walls
    WallOrientation = left
    DrawWalls = false, true, false, false, false, false
    AddInterfloorWall IFront, Brick, 0.5, -20, -20, 20, -20, %interfloorheight%, %interfloorheight%, 0, 0, 0, 0
    AddInterfloorWall ILeft, Brick, 0.5, -20, 20, -20, -20, %interfloorheight%, %interfloorheight%, 0, 0, 0, 0
    WallOrientation = right
    DrawWalls = true, false, false, false, false, false
    AddInterfloorWall IRight, Brick, 0.5, 20, -20, 20, 20, %interfloorheight%, %interfloorheight%, 0, 0, 0, 0
    AddInterfloorWall IBack, Brick, 0.5, 20, 20, -20, 20, %interfloorheight%, %interfloorheight%, 0, 0, 0, 0
    
    DrawWalls = true, true, false, false, false, false
<EndFloors>

<Floor 100>
    ID = R
    Name = Roof
    Type = Roof
    Height = 10
    InterfloorHeight = 2.24
    DrawWalls = false, true, false, false, false, false
    AddFloor Roof, Brick, 0.5, -20, -20, 20, 20, 0, 0, 0, 0, True #roof
    DrawWalls = true, true, false, false, false, false
<EndFloor>

#Shaft 1
AddShaft 1, 2, 0, 6, 0, 99
ShaftCut 1, -4, -4.125 + 0.33, 4, 4.125, 0, 5
ShowFullShaft 1 = true

<Floors 0 to 99>
	FloorOrientation = top
	DrawWalls = false, true, false, false, false, false
	if[%floor% = 0] AddShaftFloor 1, Shaft1Base, Brick, 0.5, -4, -4.125, 4, 4.125, 0, 0, 0, 0
	DrawWalls = true, false, false, false, false, false
	if[%floor% = 99] AddShaftFloor 1, Shaft1Top, Brick, 0.5, -4, -4.125, 4, 4.125, %fullheight%, %fullheight%, 0, 0
	DrawWalls = true, true, false, false, false, false
	WallOrientation = left
	AddShaftWall 1, Shaft1Left, Brick, 0.33, -4, -4.125, -4, 4.125, %fullheight%, %fullheight%, 0, 0, 0, 0
	AddShaftWall 1, Shaft1Front, Brick, 0.33, -4, -4.125, 4, -4.125, %fullheight%, %fullheight%, 0, 0, 0, 0
	WallOrientation = right
	AddShaftWall 1, Shaft1Right, Brick, 0.33, 4, -4.125, 4, 4.125, %fullheight%, %fullheight%, 0, 0, 0, 0
	AddShaftWall 1, Shaft1Back, Brick, 0.33, -4, 4.125, 4, 4.125, %fullheight%, %fullheight%, 0, 0, 0, 0
	
	WallOrientation = right
	DrawWalls = true, false, false, false, false, false
	AddWall Shaft1LeftE, Wall1, 0.33, -4, -4.125 + 6 - 0.33, -4, 4.125 + 6 + 0.33, %height%, %height%, 0, 0, 0, 0, False
	AddWall Shaft1FrontE, Wall1, 0.33, -4 - 0.33, -4.125 + 6, 4 + 0.33, -4.125 + 6, %height%, %height%, 0, 0, 0, 0, False
	WallOrientation = left
	DrawWalls = false, true, false, false, false, false
	AddWall Shaft1RightE, Wall1, 0.33, 4, -4.125 + 6 - 0.33, 4, 4.125 + 6 + 0.33, %height%, %height%, 0, 0, 0, 0, False
	AddWall Shaft1BackE, Wall1, 0.33, -4 - 0.33, 4.125 + 6, 4 + 0.33, 4.125 + 6, %height%, %height%, 0, 0, 0, 0, False
<EndFloors>

#reset drawwalls
DrawWalls = true, true, false, false, false, false

<Elevator 1>
    #standard elevator; 7 feet wide, 6 feet deep
    Speed = 20
    Acceleration = 0.2
    Deceleration = 0.2
    AccelJerk = 0.2
    DecelJerk = 0.2
    ServicedFloors = 0 - 99
    AssignedShaft = 1
    CreateElevator false, 0, 5.706, 0

    #floor
    FloorOrientation = top
    DrawWalls = true, true, true, true, true, true
    TextureOverride ElevExt, ElevFloor, ElevExt, ElevExt, ElevExt, ElevExt
    SetAutoSize = false, false
    AddFloor Floor, ElevFloor, 0.2, -3.5, -3, 3.5, 3, 0, 0, 0, 0
    
    #ceiling
    FloorOrientation = bottom
    TextureOverride ElevCeiling, ElevExt, ElevExt, ElevExt, ElevExt, ElevExt
    SetAutoSize = false, false
    AddFloor Ceiling, ElevCeiling, 0.2, -3.5, -3, 3.5, 3, 8, 8, 0, 0 #ceiling
    
    #back and right walls
    WallOrientation = right
    SetAutoSize = true, false
    DrawWalls = true, true, false, false, false, false
    AddWall Back, ElevWall, 0.2, -3.5, 3, 3.5, 3, 8, 8, 0, 0, 0, 0 #back wall
    AddWall Right, ElevWall, 0.2, 3.5, -3, 3.5, 3, 8, 8, 0, 0, 0, 0 #right wall
    
    #left wall
    WallOrientation = left
    AddWall Left, ElevWall, 0.2, -3.5, -3, -3.5, 3, 8, 8, 0, 0, 0, 0 #left wall

    #panels
    DrawWalls = true, true, false, true, false, false
    TextureOverride ElevExt, ElevPanelMain, ElevExt, ElevExt, ElevExt, ElevExt
    AddWall Left Panel, ElevPanelMain, 0.2, -3.5, -3, -1.75, -3, 8, 8, 0, 0, 0, 0 #left panel
    DrawWalls = true, true, true, false, false, false
    TextureOverride ElevExt, ElevPanelMain, ElevExt, ElevExt, ElevExt, ElevExt
    AddWall Right Panel, ElevPanelMain, 0.2, 1.75, -3, 3.5, -3, 8, 8, 0, 0, 0, 0 #right panel
    SetAutoSize = true, false
    
    #doors
    WallOrientation = right
    DrawWalls = true, true, true, true, true, true
    AddDoors 1, ElevDoors, 0.2, 0, -3.01, 3.5, 8, true, 0, 0 #doors
    AddShaftDoors 1, ElevDoors, 0.2, 0, -3.301, 0, 0 #shaft doors
    WallOrientation = left
    SetAutoSize = true, true

    #directional indicator
    AddDirectionalIndicators true, true, true, ElevExtPanels, Arrow, ArrowUp, Arrow, ArrowDown, -3, -4.162, 6, front, 0.5, 0.5, true, 0, 0
    
    #right panel
    CreatePanel ElevPanel, 14, 5, back, -1.75 - 0.875 + 0.1, -3 + 0.2 + 0.001, 0.15, 0.15, 0.3, 0.45, 4, 0, 0
    AddFloorButton 1, Button100, 2, 5, 99, 1, 1
    AddFloorButton 1, Button99, 2, 4, 98, 1, 1
    AddFloorButton 1, Button98, 2, 3, 97, 1, 1
    AddFloorButton 1, Button97, 2, 2, 96, 1, 1
    AddFloorButton 1, Button96, 2, 1, 95, 1, 1
    AddFloorButton 1, Button95, 3, 5, 94, 1, 1
    AddFloorButton 1, Button94, 3, 4, 93, 1, 1
    AddFloorButton 1, Button93, 3, 3, 92, 1, 1
    AddFloorButton 1, Button92, 3, 2, 91, 1, 1
    AddFloorButton 1, Button91, 3, 1, 90, 1, 1
    AddFloorButton 1, Button90, 4, 5, 89, 1, 1
    AddFloorButton 1, Button89, 4, 4, 88, 1, 1
    AddFloorButton 1, Button88, 4, 3, 87, 1, 1
    AddFloorButton 1, Button87, 4, 2, 86, 1, 1
    AddFloorButton 1, Button86, 4, 1, 85, 1, 1
    AddFloorButton 1, Button85, 5, 5, 84, 1, 1
    AddFloorButton 1, Button84, 5, 4, 83, 1, 1
    AddFloorButton 1, Button83, 5, 3, 82, 1, 1
    AddFloorButton 1, Button82, 5, 2, 81, 1, 1
    AddFloorButton 1, Button81, 5, 1, 80, 1, 1
    AddFloorButton 1, Button80, 6, 5, 79, 1, 1
    AddFloorButton 1, Button79, 6, 4, 78, 1, 1
    AddFloorButton 1, Button78, 6, 3, 77, 1, 1
    AddFloorButton 1, Button77, 6, 2, 76, 1, 1
    AddFloorButton 1, Button76, 6, 1, 75, 1, 1
    AddFloorButton 1, Button75, 7, 5, 74, 1, 1
    AddFloorButton 1, Button74, 7, 4, 73, 1, 1
    AddFloorButton 1, Button73, 7, 3, 72, 1, 1
    AddFloorButton 1, Button72, 7, 2, 71, 1, 1
    AddFloorButton 1, Button71, 7, 1, 70, 1, 1
    AddFloorButton 1, Button70, 8, 5, 69, 1, 1
    AddFloorButton 1, Button69, 8, 4, 68, 1, 1
    AddFloorButton 1, Button68, 8, 3, 67, 1, 1
    AddFloorButton 1, Button67, 8, 2, 66, 1, 1
    AddFloorButton 1, Button66, 8, 1, 65, 1, 1
    AddFloorButton 1, Button65, 9, 5, 64, 1, 1
    AddFloorButton 1, Button64, 9, 4, 63, 1, 1
    AddFloorButton 1, Button63, 9, 3, 62, 1, 1
    AddFloorButton 1, Button62, 9, 2, 61, 1, 1
    AddFloorButton 1, Button61, 9, 1, 60, 1, 1
    AddFloorButton 1, Button60, 10, 5, 59, 1, 1
    AddFloorButton 1, Button59, 10, 4, 58, 1, 1
    AddFloorButton 1, Button58, 10, 3, 57, 1, 1
    AddFloorButton 1, Button57, 10, 2, 56, 1, 1
    AddFloorButton 1, Button56, 10, 1, 55, 1, 1
    AddFloorButton 1, Button55, 11, 5, 54, 1, 1
    AddFloorButton 1, Button54, 11, 4, 53, 1, 1
    AddFloorButton 1, Button53, 11, 3, 52, 1, 1
    AddFloorButton 1, Button52, 11, 2, 51, 1, 1
    AddFloorButton 1, Button51, 11, 1, 50, 1, 1
    AddControlButton 1, ButtonOpen, 13, 1, open, 1, 1
    AddControlButton 1, ButtonClose, 13, 2, close, 1, 1
    AddControlButton 1, ButtonCancel, 13, 3, cancel, 1, 1
    AddControlButton 1, ButtonStop, 13, 4, stop, 1, 1
    AddControlButton 1, ButtonAlarm, 13, 5, alarm, 1, 1

    #left panel
    CreatePanel ElevPanel, 14, 5, back, 1.75 + 0.875 - 0.1, -3 + 0.2 + 0.001, 0.15, 0.15, 0.3, 0.45, 4, 0, 0
    AddFloorButton 2, Button50, 2, 5, 49, 1, 1
    AddFloorButton 2, Button49, 2, 4, 48, 1, 1
    AddFloorButton 2, Button48, 2, 3, 47, 1, 1
    AddFloorButton 2, Button47, 2, 2, 46, 1, 1
    AddFloorButton 2, Button46, 2, 1, 45, 1, 1
    AddFloorButton 2, Button45, 3, 5, 44, 1, 1
    AddFloorButton 2, Button44, 3, 4, 43, 1, 1
    AddFloorButton 2, Button43, 3, 3, 42, 1, 1
    AddFloorButton 2, Button42, 3, 2, 41, 1, 1
    AddFloorButton 2, Button41, 3, 1, 40, 1, 1
    AddFloorButton 2, Button40, 4, 5, 39, 1, 1
    AddFloorButton 2, Button39, 4, 4, 38, 1, 1
    AddFloorButton 2, Button38, 4, 3, 37, 1, 1
    AddFloorButton 2, Button37, 4, 2, 36, 1, 1
    AddFloorButton 2, Button36, 4, 1, 35, 1, 1
    AddFloorButton 2, Button35, 5, 5, 34, 1, 1
    AddFloorButton 2, Button34, 5, 4, 33, 1, 1
    AddFloorButton 2, Button33, 5, 3, 32, 1, 1
    AddFloorButton 2, Button32, 5, 2, 31, 1, 1
    AddFloorButton 2, Button31, 5, 1, 30, 1, 1
    AddFloorButton 2, Button30, 6, 5, 29, 1, 1
    AddFloorButton 2, Button29, 6, 4, 28, 1, 1
    AddFloorButton 2, Button28, 6, 3, 27, 1, 1
    AddFloorButton 2, Button27, 6, 2, 26, 1, 1
    AddFloorButton 2, Button26, 6, 1, 25, 1, 1
    AddFloorButton 2, Button25, 7, 5, 24, 1, 1
    AddFloorButton 2, Button24, 7, 4, 23, 1, 1
    AddFloorButton 2, Button23, 7, 3, 22, 1, 1
    AddFloorButton 2, Button22, 7, 2, 21, 1, 1
    AddFloorButton 2, Button21, 7, 1, 20, 1, 1
    AddFloorButton 2, Button20, 8, 5, 19, 1, 1
    AddFloorButton 2, Button19, 8, 4, 18, 1, 1
    AddFloorButton 2, Button18, 8, 3, 17, 1, 1
    AddFloorButton 2, Button17, 8, 2, 16, 1, 1
    AddFloorButton 2, Button16, 8, 1, 15, 1, 1
    AddFloorButton 2, Button15, 9, 5, 14, 1, 1
    AddFloorButton 2, Button14, 9, 4, 13, 1, 1
    AddFloorButton 2, Button13, 9, 3, 12, 1, 1
    AddFloorButton 2, Button12, 9, 2, 11, 1, 1
    AddFloorButton 2, Button11, 9, 1, 10, 1, 1
    AddFloorButton 2, Button10, 10, 5, 9, 1, 1
    AddFloorButton 2, Button9, 10, 4, 8, 1, 1
    AddFloorButton 2, Button8, 10, 3, 7, 1, 1
    AddFloorButton 2, Button7, 10, 2, 6, 1, 1
    AddFloorButton 2, Button6, 10, 1, 5, 1, 1
    AddFloorButton 2, Button5, 11, 5, 4, 1, 1
    AddFloorButton 2, Button4, 11, 4, 3, 1, 1
    AddFloorButton 2, Button3, 11, 3, 2, 1, 1
    AddFloorButton 2, Button2, 11, 2, 1, 1, 1
    AddFloorButton 2, Button1, 11, 1, 0, 1, 1
    AddControlButton 2, ButtonOpen, 13, 5, open, 1, 1
    AddControlButton 2, ButtonClose, 13, 4, close, 1, 1
    AddControlButton 2, ButtonCancel, 13, 3, cancel, 1, 1
    AddControlButton 2, ButtonStop, 13, 2, stop, 1, 1
    AddControlButton 2, ButtonAlarm, 13, 1, alarm, 1, 1

    #Floor Indicator
    AddFloorIndicator back, -1.75 - 0.875 + 0.1, -3 + 0.2 + 0.001, 0.7, 0.5, 6.5
   
<EndElevator>

#stairs 1
CreateStairwell 1, 10, 15, 0, 99
CutStairwell 1, -8.5, -3.5, 8.5, 3.5, 0, 5

#Stairs tutorial
<Floors 0 to 99>
    #More info on stairs specifics at http://en.wikipedia.org/wiki/Stairwell
    #maximum riser height allowed in real-world settings is 8.25 inches (0.6875 feet)
    #minimum tread length allowed in real-world settings is 9 inches (0.75 feet)
    
    #first get the height of each riser.  More info on stairs specifics at http://en.wikipedia.org/wiki/Stairwell
    #this takes the total height of a single staircase level (which is the height of the floor plus the above floor's interfloor height.
    #then divide that value by the total number of stairs you're going to be using.  Make sure that the value it comes up with is not
    #over the riser height limit (you can have it over the limit in Skyscraper, but it won't be realistic)
    #So, in this example, I'm using 20 total stairs, which is 10 on each side.
    
    Set 1 = (%height% + Floor(%floor% + 1).InterfloorHeight) / 20 #determine riser size
    
    #now add the stairs themselves.  The parameters are explained in the design guide, but basically the lower stairs in this example
    #start on the left (bottom) and end on the right (top), and so they face left.  The upper stairs are the opposite, so they face right.
    #the important part of this is the tread size.  In this, it's specified as "10 / 9", since there's 10 total steps in each,
    #but like the design guide says, the top tread is not counted, since the top tread is the landing (specified later), and the staircase.
    #to calculate the height and length of the staircase (according to the design guide): the height is the number of stairs times the riser size
    #(which would be 10 * %1%).  The length is the number of stairs minus one, times the tread size - in this example it would be 9 * (10 / 9) which
    #is 10.
    
    if[%floor% < 99] AddStairs 1, StairsLower, Stairs, left, 0, -1.75, 3.5, %1%, 10 / 9, 10, 0, 0, 0
    if[%floor% < 99] AddStairs 1, StairsUpper, Stairs, right, 0, 1.75, 3.5, %1%, 10 / 9, 10, %1% * 10, 0, 0
    FloorOrientation = top
    
    #For the landings, you need to know where the stairs start and end (the positions).  Since these stairs are located/centered at X position 0, you
    #can find the left and right sides by taking the staircase length and dividing by 2.  In this example the stairs have a width of 10, and so it reaches
    #5 feet in each direction (-5 to 5).  So the lower landing would reach from the left side of the staircase (-8.5) to the left side of the stairs (-5),
    #and the upper landing would be the opposite (go from the stairs top, 5, to the right side of the staircase, 8.5).
    
    if[%floor% > 0] AddStairsFloor 1, LandingLower, Brick, 0.5, -8.5, -3.5, -5, 3.5, 0, 0, 1, 1
    if[%floor% = 0] AddStairsFloor 1, LandingLower, Brick, 0.5, -8.5, -3.5, 8.5, 3.5, 0, 0, 1, 1
    if[%floor% < 99] AddStairsFloor 1, LandingUpper, Brick, 0.5, 5, -3.5, 8.5, 3.5, %1% * 10, %1% * 10, 1, 1

    #the landing covers simply cover the portion of the landing that isn't covered up by the stairs.  You can see this cover if you're underneath a staircase,
    #and it's the small wall piece just below it (fills in the gap between the lower floor's ceiling, and the landing above it).  In this example, the
    #lower landing would need a cover going from Z values -3.5 to 0 (center), since the stairs in that section go from 0 to 3.5.  The upper landing is
    #the opposite (0 to 3.5).
    
    DrawWalls = false, true, false, false, false, false
    WallOrientation = right
    AddStairsWall 1, LandingLowerCover, Brick, 0.1, -5, -3.5, -5, 0, 0.5, 0.5, -0.5, -0.5, 0, 1
    DrawWalls = true, false, false, false, false, false
    WallOrientation = left
    if[%floor% < 99] AddStairsWall 1, LandingUpperCover, Brick, 0.1, 5, 0, 5, 3.5, 0.5, 0.5, (%1% * 10) - 0.5, (%1% * 10) - 0.5, 0, 1
    DrawWalls = true, true, false, false, false, false
    
    #the stairs walls are simply the walls inside the stairwell
    
    SetAutoSize = true, false
    WallOrientation = right
    AddStairsWall 1, LeftWall, StairsWall, 0.3, -8.5, -3.5 - 0.3, -8.5, 3.5 + 0.3, %fullheight%, %fullheight%, -%interfloorheight%, -%interfloorheight%, 0, 3
    AddStairsWall 1, FrontWall, StairsWall, 0.3, -8.5 - 0.3, -3.5, 8.5 + 0.3, -3.5, %fullheight%, %fullheight%, -%interfloorheight%, -%interfloorheight%, 0, 3
    WallOrientation = left
    AddStairsWall 1, BackWall, StairsWall, 0.3, -8.5 - 0.3, 3.5, 8.5 + 0.3, 3.5, %fullheight%, %fullheight%, -%interfloorheight%, -%interfloorheight%, 0, 3
    AddStairsWall 1, RightWall, StairsWall, 0.3, 8.5, -3.5 - 0.3, 8.5, 3.5 + 0.3, %fullheight%, %fullheight%, -%interfloorheight%, -%interfloorheight%, 0, 3
    SetAutoSize = true, true
    
    AddStairsDoor 1, StairsDoor, 0.2, 1, -8.5, 0, 3.5, 8, 0, 1, 1
    
<EndFloors>

<Floors 0 to 99>
    CallButtonElevators = 1
    CreateCallButtons ElevExtPanels, ButtonUp, ButtonUpLit, ButtonDown, ButtonDownLit, 3, 6 - 4.125 - 0.33 - 0.1, 4, front, 0.5, 1, true, 0, 0
<EndFloors>
