Spaceport | Gantry


Bottom of Gantry (dbref #10468)

@dig Bottom of Gantry
@field #10468 = text : @print("You are at the base of a very tall metal
 gantry. Judging by the number of crossbeams, it must be several miles
 tall. If it wasn't in the vacuum of space, it would surely collapse
 under its own weight.", @switch(@getfield(10756,"locn"),
 "gantry"," Docked to the west of the gantry, and looming high above you,
 is the massive Attack Cone. From here, only the cone's tip is visible."))
@field #10468 = text2 : @print("You are at the ",
 @switch(@getfield(10346,"setting"),"down","base","top"),
 " of a very tall metal gantry. Judging by the number of crossbeams,
 it must be several miles tall. If it wasn't in the vacuum of space,
 it would surely collapse under its own weight.",
 @switch(@getfield(10756,"locn"),"gantry",
  @print(" Docked to the west of the gantry, and ",
  @switch(@getfield(10346,"setting"),"down","looming high above","droping deep below"),
  " you, is the massive Attack Cone. From here, only the cone's tip is
  visible.")));
@zone #10468 = #10719
@desc #10468 = @tell("%#",@call(10468,"text"));@call(10633,"each_turn");

east (dbref #10759)

@open east;e;out = #10752
@field #10759 = exitto : to Promenade
@desc #10759 = @tell("%#","To the east, you see a pair of sliding doors.");@call(10633,"each_turn");

in (dbref #10348)

@open in;elevator;car;elevator car;enter elevator = #10345
@field #10348 = exitto : to Elevator
@desc #10348 = @tell("%#",@switch(@getfield(10345,"locn"),0, "The elevator car is about as small as a spaceworthy life module can reasonably get. It's equiped with airlock doors, plexiglass windows, an air recycling and heating system, and its own localized gravity field.", "I don't see that here.")); @call(10633,"each_turn");

up/down (dbref #10758)

@open up;u;down;d = nowhere
@set #10758 = dark
@succ #10758 = @tell("%#","To go up or down from here, you must use the elevator."); @call(10633,"each_turn");
@desc #10758 =

call button (dbref #10357)

@create call button;call;button;cb
@fail #10357 = @tell("%#","You can't take the call button.");@call(10633,"each_turn");
@lock #10357 = #-1
@desc #10357 = @tell("%#","It's the call button for the gantry elevator."); @call(10633,"each_turn");

attack cone (dbref #11715)

@create attack cone;cone;tip;cone's tip
@set #11715 = dark
@lock #11715 = #-1
@fail #11715 = @tell("%#","Quite impossible. If you want to move the cone,
 find the driver's seat."); @call(10633,"each_turn");
@desc #11715 = @tell("%#","The cone's tip is the business end of one
 seriously badass weapon. You can easily believe that this could destroy
 entire planets in the CE Realm, if given the opportunity. You are also
 thankful that the cone isn't pointed at you."); @call(10633,"each_turn");

(inside the elevator) (dbref #10345)

@dig (inside the elevator)
@field #10345 = car_name : @let("x"=>@getfield(10345,"locn"),"y"=>@getfield(10346,"setting"), @switch(1, @and(@eq("%x",0),@eq("%y","down")),"Bottom of Gantry (inside the elevator)", @eq("%x",0),"Other Top of Gantry (inside the elevator)", @eq("%x",1),"Halfway Up the Gantry (inside the elevator)", @and(@eq("%x",2),@eq("%y","down")),"Top of Gantry (inside the elevator)", @eq("%x",2),"Other Bottom of Gantry (inside the elevator)", "(inside the elevator)"));
@field #10345 = locn : 0
@zone #10345 = #10719
@desc #10345 = @tell("%#",@switch(@getfield(10345,"locn"), 0,@call(10468,"text2"), 1,@call(10469,"text"), 2,@call(10470,"text2"))); @call(10633,"each_turn");

gravity control switch (dbref #10346)

@create gravity control switch;gravity switch;switch;gcs
@fail #10346 = @tell("%#","The switch is part of the elevator."); @call(10633,"each_turn");
@field #10346 = push : @switch(@getfield("%!","setting"),"down", @setfield("%!","setting","other down"),@setfield("%!","setting","down")); @tell("%#",@print("You push the gravity control switch to the \"", @getfield("%!","setting"), "\" position. Gradually, the gravity in the elevator car lessens to nothing, then starts increasing in the other direction. No fool you, you flip yourself over as ceiling becomes floor, and floor becomes ceiling.")); @setfield(10345,"name",@call(10345,"car_name")); @move("%#",@location("%#"));
@lock #10346 = #-1
@field #10346 = setting : down
@desc #10346 = @tell("%#",@print("The gravity control switch can be pushed to one of two settings: \"down\" and \"other down\". The current setting is \"", @getfield("%!","setting"), "\".")); @call("%!","rename_car");@call(10633,"each_turn");

out (dbref #10349)

@open out;exit;leave = #10468
@desc #10349 =

up (dbref #10352)

// note #10346 is the gravity control switch (setting=down|other down) // note #10345 is elevator room itself (locn=0..2)
@open up;u = nowhere
@desc #10352 = @tell("%#","\"Up\" is such a relative concept, isn't it? If you want to go up, just say so."); @call(10633,"each_turn");
@succ #10352 = @switch(@getfield(10346,"setting"),
 "down",@switch(@getfield(10345,"locn"),
  0, @print(@s("newlocn",1),@call("%!","go_up")),
  1, @print(@s("newlocn",2),@call("%!","go_up")),
  2, @print(@s("top","top"),@call("%!","cant_up"))),
 @switch(@getfield(10345,"locn"),
  0, @print(@s("top","other top"),@call("%!","cant_up")),
  1, @print(@s("newlocn",0),@call("%!","go_up")),
  2, @print(@s("newlocn",1),@call("%!","go_up")))
 )
---
@succ #10352 = @switch(@getfield(10346,"setting"), "down",@switch(@getfield(10345,"locn"), 0, @print(@s("newlocn",1),@call("%!","go_up")), 1, @print(@s("newlocn",2),@call("%!","go_up")), 2, @print(@s("top","top"),@call("%!","cant_up"))), @switch(@getfield(10345,"locn"), 0, @print(@s("top","other top"),@call("%!","cant_up")), 1, @print(@s("newlocn",0),@call("%!","go_up")), 2, @print(@s("newlocn",1),@call("%!","go_up"))))
===
@field #10352 = go_up :
// Tell anyone at org spot elevator is leaving.
// Set the "in" at org spot to dark.
 @switch(@getfield(10345,"locn"),
 0, @print(@tellroom(10468,"","The elevator car climbs up the gantry."),
 @setflag(10348,"dark")),
 1, @print(@tellroom(10469,"","The elevator car leaves."),
 @setflag(10359,"dark")),
 2, @print(@tellroom(10470,"","The elevator car climbs up the gantry."),
 @setflag(10360,"dark")));
// Tell anyone at dest spot elevator arrives.
// Set the "in" at dest spot to !dark.
 @switch(@g("newlocn"),
 0, @print(@tellroom(10468,"","The elevator car arrives from above."),
 @setflag(10348,"!dark")),
 1, @print(@tellroom(10469,"","The elevator car arrives."),
 @setflag(10359,"!dark")),
 2, @print(@tellroom(10470,"","The elevator car arrives from above."),
 @setflag(10360,"!dark")));
// Tell anyone in elevator that elev is going up.
 @tellroom(10345,"","The elevator car climbs up the gantry.");
// Set the elevator's new location.
 @setfield(10345,"locn",@g("newlocn"));
 @setfield(10345,"name",@call(10345,"car_name")); 
// Tell people in the car where they are now.
 @tellroom(10345,"",@shortname(10345));
 @call(10633,"each_turn");
---
@field #10352 = go_up : @switch(@getfield(10345,"locn"), 0, @print(@tellroom(10468,"","The elevator car climbs up the gantry."), @setflag(10348,"dark")), 1, @print(@tellroom(10469,"","The elevator car leaves."), @setflag(10359,"dark")), 2, @print(@tellroom(10470,"","The elevator car climbs up the gantry."), @setflag(10360,"dark"))); @switch(@g("newlocn"), 0, @print(@tellroom(10468,"","The elevator car arrives from above."), @setflag(10348,"!dark")), 1, @print(@tellroom(10469,"","The elevator car arrives."), @setflag(10359,"!dark")), 2, @print(@tellroom(10470,"","The elevator car arrives from above."), @setflag(10360,"!dark"))); @tellroom(10345,"","The elevator car climbs up the gantry."); @setfield(10345,"locn",@g("newlocn")); @setfield(10345,"name",@call(10345,"car_name")); @tellroom(10345,"",@shortname(10345)); @call(10633,"each_turn");
===

@field #10352 = cant_up : @tell("%#",@print("You can't take the elevator any higher. It's already at the ", @g("top"), " of the gantry."); @call(10633,"each_turn")

down (dbref #10355)

@open down;d = nowhere
@desc #10355 = @tell("%#","\"Down\" is such a relative concept, isn't it? If you want to go down, just say so."); @call(10633,"each_turn");
ADD
@field #10355 = cant_down : @tell("%#",@print("You can't take the elevator any lower. It's already at the ", @g("bottom"), " of the gantry."); @call(10633,"each_turn")
@succ #10355 = @switch(@getfield(10346,"setting"),
 "down",@switch(@getfield(10345,"locn"),
  0, @print(@s("bottom","bottom"),@call("%!","cant_down")),
  1, @print(@s("newlocn",0),@call("%!","go_down")),
  2, @print(@s("newlocn",1),@call("%!","go_down"))),
 @switch(@getfield(10345,"locn"),
  0, @print(@s("newlocn",1),@call("%!","go_down")),
  1, @print(@s("newlocn",2),@call("%!","go_down")),
  2, @print(@s("bottom","other bottom"),@call("%!","cant_down")))
 )
--
@succ #10355 = @switch(@getfield(10346,"setting"), "down",@switch(@getfield(10345,"locn"), 0, @print(@s("bottom","bottom"),@call("%!","cant_down")), 1, @print(@s("newlocn",0),@call("%!","go_down")), 2, @print(@s("newlocn",1),@call("%!","go_down"))), @switch(@getfield(10345,"locn"), 0, @print(@s("newlocn",1),@call("%!","go_down")), 1, @print(@s("newlocn",2),@call("%!","go_down")), 2, @print(@s("bottom","other bottom"),@call("%!","cant_down"))))
==

Halfway Up the Gantry (dbref #10469)

@dig Halfway Up the Gantry
@field #10469 = text : @print("This is a weightless chamber halfway up the gantry. A ladder leads west.", @switch(@getfield(10756,"locn"),"gantry"," Docked to the gantry is the massive Attack Cone. Circling the cone at its midpoint are the spinning defense rings which stretch out towards you."));
@zone #10469 = #10719
@desc #10469 = @tell("%#",@call(10469,"text"));@call(10633,"each_turn");

up/down (dbref #10760)

@open up;u;down;d = nowhere
@set #10760 = dark
@succ #10760 = @tell("%#","To go up or down from here, you must use the elevator."); @call(10633,"each_turn");
@desc #10760 =

in (dbref #10359)

@open in;elevator;car;elevator car;enter elevator = #10345
@desc #10359 = @tell("%#",@switch(@getfield(10345,"locn"),0, "The elevator car is about as small as a spaceworthy life module can reasonably get. It's equiped with airlock doors, plexiglass windows, an air recycling and heating system, and its own localized gravity field.", "I don't see that here.")); @call(10633,"each_turn");

west (dbref #10762)

@open west;w = #10757
@field #10762 = exitto : to Defense Rings
@desc #10762 =

call button (dbref #11170)

@create call button;call;button;cb
@lock #11170 = #-1
@fail #11170 = @tell("%#","You can't take the call button.");@call(10633,"each_turn");
@desc #11170 = @tell("%#","It's the call button for the gantry elevator."); @call(10633,"each_turn");


Other Bottom of Gantry (dbref #10470)

@dig Other Bottom of Gantry
@field #10470 = text : @print( "The other bottom of the gantry is a lonely place in Creation, far removed from the spaceport that you can see far, far above. The stars are silent.", @switch(@getfield(10756,"locn"),"gantry", " The Attack Cone's maw, as wide as the moon, is west." ));
@field #10470 = text2 : @print( "The ", @switch(10345,"setting","down","top","other bottom"), " of the gantry is a lonely place in Creation, far removed from the spaceport that you can see far, far ", @switch(10345,"setting","down","below.","above."), " The stars are silent.", @switch(@getfield(10756,"locn"),"gantry"," The Attack Cone's maw, as wide as the moon, is west."));
@zone #10470 = #10719
@desc #10470 = @tell("%#",@call(10470,"text"));@call(10633,"each_turn");

up/down (dbref #10764)

@open up;u;down;d = nowhere
@set #10764 = dark
@succ #10764 = @tell("%#","To go up or down from here, you must use the elevator."); @call(10633,"each_turn");
@desc #10764 = 

west (dbref #10765)

@open west;w = #10756
@field #10765 = exitto : to Attack Cone
@desc #10765 =

in (dbref #10360)

@open in;elevator;car;elevator car;enter elevator = #10345
@desc #10360 = @tell("%#",@switch(@getfield(10345,"locn"),0, "The elevator car is about as small as a spaceworthy life module can reasonably get. It's equiped with airlock doors, plexiglass windows, an air recycling and heating system, and its own localized gravity field.", "I don't see that here.")); @call(10633,"each_turn");

call button (dbref #11171)

@create call button;call;button;cb
@lock #11171 = #-1
@fail #11171 = @tell("%#","You can't take the call button.");@call(10633,"each_turn");
@desc #11171 = @tell("%#","It's the call button for the gantry elevator."); @call(10633,"each_turn");

Attack Cone (dbref #10756)

@dig Attack Cone
@field #10756 = locn : gantry
@zone #10756 = #10719
@desc #10756 =

east (dbref #10766)

@open east;e = #10470
@desc #10766 =

Defense Rings (dbref #10757)

@dig Defense Rings
@zone #10757 = #10719
@desc #10757 =

east (dbref #10763)

@open east;e = #10469
@desc #10763 =