mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-28 07:38:05 +01:00
Merge remote-tracking branch 'upstream/master' into airlockQDEL
This commit is contained in:
@@ -70,17 +70,16 @@
|
||||
#define BOT_MOVING 9 // for clean/floor/med bots, when moving.
|
||||
#define BOT_HEALING 10 // healing people (medbots)
|
||||
#define BOT_RESPONDING 11 // responding to a call from the AI
|
||||
#define BOT_LOADING 12 // loading/unloading
|
||||
#define BOT_DELIVER 13 // moving to deliver
|
||||
#define BOT_GO_HOME 14 // returning to home
|
||||
#define BOT_BLOCKED 15 // blocked
|
||||
#define BOT_NAV 16 // computing navigation
|
||||
#define BOT_WAIT_FOR_NAV 17 // waiting for nav computation
|
||||
#define BOT_NO_ROUTE 18 // no destination beacon found (or no route)
|
||||
#define BOT_DELIVER 12 // moving to deliver
|
||||
#define BOT_GO_HOME 13 // returning to home
|
||||
#define BOT_BLOCKED 14 // blocked
|
||||
#define BOT_NAV 15 // computing navigation
|
||||
#define BOT_WAIT_FOR_NAV 16 // waiting for nav computation
|
||||
#define BOT_NO_ROUTE 17 // no destination beacon found (or no route)
|
||||
var/list/mode_name = list("In Pursuit","Preparing to Arrest", "Arresting", \
|
||||
"Beginning Patrol", "Patrolling", "Summoned by PDA", \
|
||||
"Cleaning", "Repairing", "Proceeding to work site", "Healing", \
|
||||
"Proceeding to AI waypoint", "Loading/Unloading", "Navigating to Delivery Location", "Navigating to Home", \
|
||||
"Proceeding to AI waypoint", "Navigating to Delivery Location", "Navigating to Home", \
|
||||
"Waiting for clear path", "Calculating navigation path", "Pinging beacon network", "Unable to reach destination")
|
||||
//This holds text for what the bot is mode doing, reported on the remote bot control interface.
|
||||
|
||||
|
||||
@@ -6,6 +6,11 @@
|
||||
|
||||
var/global/mulebot_count = 0
|
||||
|
||||
|
||||
#define SIGH 0
|
||||
#define ANNOYED 1
|
||||
#define DELIGHT 2
|
||||
|
||||
/obj/machinery/bot/mulebot
|
||||
name = "\improper MULEbot"
|
||||
desc = "A Multiple Utility Load Effector bot."
|
||||
@@ -22,6 +27,8 @@ var/global/mulebot_count = 0
|
||||
bot_type = MULE_BOT
|
||||
model = "MULE"
|
||||
blood_DNA = list()
|
||||
can_buckle = 1
|
||||
buckle_lying = 0
|
||||
|
||||
suffix = ""
|
||||
|
||||
@@ -83,6 +90,26 @@ obj/machinery/bot/mulebot/bot_reset()
|
||||
reached_target = 0
|
||||
|
||||
|
||||
obj/machinery/bot/mulebot/Move(atom/newloc, direct)
|
||||
. = ..()
|
||||
if(buckled_mob)
|
||||
if(!buckled_mob.Move(loc, direct))
|
||||
loc = buckled_mob.loc //we gotta go back
|
||||
last_move = buckled_mob.last_move
|
||||
inertia_dir = last_move
|
||||
buckled_mob.inertia_dir = last_move
|
||||
. = 0
|
||||
|
||||
obj/machinery/bot/mulebot/Process_Spacemove(movement_dir = 0)
|
||||
if(buckled_mob)
|
||||
return buckled_mob.Process_Spacemove(movement_dir)
|
||||
return ..()
|
||||
|
||||
obj/machinery/bot/mulebot/CanPass(atom/movable/mover, turf/target, height=1.5)
|
||||
if(mover == buckled_mob)
|
||||
return 1
|
||||
return ..()
|
||||
|
||||
// attack by item
|
||||
// emag : lock/unlock,
|
||||
// screwdriver: open/close hatch
|
||||
@@ -189,8 +216,6 @@ obj/machinery/bot/mulebot/bot_reset()
|
||||
switch(mode)
|
||||
if(BOT_IDLE)
|
||||
dat += "<span class='good'>Ready</span>"
|
||||
if(BOT_LOADING)
|
||||
dat += "<span class='good'>[mode_name[BOT_LOADING]]</span>"
|
||||
if(BOT_DELIVER)
|
||||
dat += "<span class='good'>[mode_name[BOT_DELIVER]]</span>"
|
||||
if(BOT_GO_HOME)
|
||||
@@ -364,7 +389,7 @@ obj/machinery/bot/mulebot/bot_reset()
|
||||
updateDialog()
|
||||
|
||||
if("unload")
|
||||
if(load && mode !=1)
|
||||
if(load && mode != BOT_HUNT)
|
||||
if(loc == target)
|
||||
unload(loaddir)
|
||||
else
|
||||
@@ -385,7 +410,6 @@ obj/machinery/bot/mulebot/bot_reset()
|
||||
|
||||
|
||||
|
||||
|
||||
// returns true if the bot has power
|
||||
/obj/machinery/bot/mulebot/proc/has_power()
|
||||
return !open && cell && cell.charge > 0 && wires.HasPower()
|
||||
@@ -399,66 +423,94 @@ obj/machinery/bot/mulebot/bot_reset()
|
||||
user << "<span class='danger'>Access denied.</span>"
|
||||
return 0
|
||||
|
||||
/obj/machinery/bot/mulebot/proc/buzz(type)
|
||||
switch(type)
|
||||
if(SIGH)
|
||||
visible_message("[src] makes a sighing buzz.", "<span class='italics'>You hear an electronic buzzing sound.</span>")
|
||||
playsound(loc, 'sound/machines/buzz-sigh.ogg', 50, 0)
|
||||
if(ANNOYED)
|
||||
visible_message("[src] makes an annoyed buzzing sound.", "<span class='italics'>You hear an electronic buzzing sound.</span>")
|
||||
playsound(loc, 'sound/machines/buzz-two.ogg', 50, 0)
|
||||
if(DELIGHT)
|
||||
visible_message("[src] makes a delighted ping!", "<span class='italics'>You hear a ping.</span>")
|
||||
playsound(loc, 'sound/machines/ping.ogg', 50, 0)
|
||||
|
||||
|
||||
// mousedrop a crate to load the bot
|
||||
// can load anything if emagged
|
||||
/obj/machinery/bot/mulebot/MouseDrop_T(atom/movable/AM, mob/user)
|
||||
|
||||
/obj/machinery/bot/mulebot/MouseDrop_T(atom/movable/C, mob/user)
|
||||
|
||||
if(user.stat)
|
||||
if(user.incapacitated() || user.lying)
|
||||
return
|
||||
|
||||
if (!on || !istype(C)|| C.anchored || get_dist(user, src) > 1 || get_dist(src,C) > 1 )
|
||||
if (!istype(AM))
|
||||
return
|
||||
|
||||
if(load)
|
||||
return
|
||||
|
||||
load(C)
|
||||
|
||||
load(AM)
|
||||
|
||||
// called to load a crate
|
||||
/obj/machinery/bot/mulebot/proc/load(atom/movable/C)
|
||||
if(wires.LoadCheck() && !istype(C,/obj/structure/closet/crate))
|
||||
visible_message("[src] makes a sighing buzz.", "<span class='italics'>You hear an electronic buzzing sound.</span>")
|
||||
playsound(loc, 'sound/machines/buzz-sigh.ogg', 50, 0)
|
||||
return // if not emagged, only allow crates to be loaded
|
||||
|
||||
//I'm sure someone will come along and ask why this is here... well people were dragging screen items onto the mule, and that was not cool.
|
||||
//So this is a simple fix that only allows a selection of item types to be considered. Further narrowing-down is below.
|
||||
if(!istype(C,/obj/item) && !istype(C,/obj/machinery) && !istype(C,/obj/structure) && !ismob(C))
|
||||
return
|
||||
if(!isturf(C.loc)) //To prevent the loading from stuff from someone's inventory, which wouldn't get handled properly.
|
||||
/obj/machinery/bot/mulebot/proc/load(atom/movable/AM)
|
||||
if(load || AM.anchored)
|
||||
return
|
||||
|
||||
if(get_dist(C, src) > 1 || load || !on)
|
||||
if(!isturf(AM.loc)) //To prevent the loading from stuff from someone's inventory or screen icons.
|
||||
return
|
||||
mode = BOT_LOADING
|
||||
|
||||
// if a create, close before loading
|
||||
var/obj/structure/closet/crate/crate = C
|
||||
if(istype(crate))
|
||||
crate.close()
|
||||
var/obj/structure/closet/crate/CRATE
|
||||
if(istype(AM,/obj/structure/closet/crate))
|
||||
CRATE = AM
|
||||
else
|
||||
if(wires.LoadCheck())
|
||||
buzz(SIGH)
|
||||
return // if not emagged, only allow crates to be loaded
|
||||
|
||||
C.loc = loc
|
||||
sleep(2)
|
||||
if(C.loc != loc) //To prevent you from going onto more thano ne bot.
|
||||
return
|
||||
C.loc = src
|
||||
load = C
|
||||
if(CRATE) // if it's a crate, close before loading
|
||||
CRATE.close()
|
||||
|
||||
C.pixel_y += 9
|
||||
if(C.layer < layer)
|
||||
C.layer = layer + 0.1
|
||||
overlays += C
|
||||
if(isobj(AM))
|
||||
var/obj/O = AM
|
||||
if(O.buckled_mob || (locate(/mob) in AM)) //can't load non crates objects with mobs buckled to it or inside it.
|
||||
buzz(SIGH)
|
||||
return
|
||||
|
||||
if(ismob(C))
|
||||
var/mob/M = C
|
||||
if(M.client)
|
||||
M.client.perspective = EYE_PERSPECTIVE
|
||||
M.client.eye = src
|
||||
if(isliving(AM))
|
||||
if(!buckle_mob(AM))
|
||||
return
|
||||
else
|
||||
AM.loc = src
|
||||
AM.pixel_y += 9
|
||||
if(AM.layer < layer)
|
||||
AM.layer = layer + 0.1
|
||||
overlays += AM
|
||||
|
||||
load= AM
|
||||
mode = BOT_IDLE
|
||||
|
||||
/obj/machinery/bot/mulebot/buckle_mob(mob/living/M)
|
||||
if(M.buckled)
|
||||
return 0
|
||||
var/turf/T = get_turf(src)
|
||||
if(M.loc != T)
|
||||
density = 0
|
||||
var/can_step = step_towards(M, T)
|
||||
density = 1
|
||||
if(!can_step)
|
||||
return 0
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/machinery/bot/mulebot/post_buckle_mob(mob/living/M)
|
||||
if(M == buckled_mob) //post buckling
|
||||
M.pixel_y = initial(M.pixel_y) + 9
|
||||
if(M.layer < layer)
|
||||
M.layer = layer + 0.1
|
||||
|
||||
else //post unbuckling
|
||||
load = null
|
||||
M.layer = initial(M.layer)
|
||||
M.pixel_y = initial(M.pixel_y)
|
||||
|
||||
|
||||
// called to unload the bot
|
||||
// argument is optional direction to unload
|
||||
// if zero, unload at bot's location
|
||||
@@ -466,18 +518,16 @@ obj/machinery/bot/mulebot/bot_reset()
|
||||
if(!load)
|
||||
return
|
||||
|
||||
mode = BOT_LOADING
|
||||
mode = BOT_IDLE
|
||||
|
||||
overlays.Cut()
|
||||
|
||||
if(ismob(load))
|
||||
var/mob/M = load
|
||||
if(M.client)
|
||||
M.client.perspective = MOB_PERSPECTIVE
|
||||
M.client.eye = src
|
||||
|
||||
if(buckled_mob)
|
||||
unbuckle_mob()
|
||||
return
|
||||
|
||||
load.loc = loc
|
||||
load.pixel_y -= 9
|
||||
load.pixel_y = initial(load.pixel_y)
|
||||
load.layer = initial(load.layer)
|
||||
if(dirn)
|
||||
var/turf/T = loc
|
||||
@@ -487,22 +537,7 @@ obj/machinery/bot/mulebot/bot_reset()
|
||||
|
||||
load = null
|
||||
|
||||
// in case non-load items end up in contents, dump every else too
|
||||
// this seems to happen sometimes due to race conditions
|
||||
// with items dropping as mobs are loaded
|
||||
|
||||
for(var/atom/movable/AM in src)
|
||||
if(AM == cell || istype(AM , botcard) || AM == Radio) continue
|
||||
|
||||
AM.loc = loc
|
||||
AM.layer = initial(AM.layer)
|
||||
AM.pixel_y = initial(AM.pixel_y)
|
||||
if(ismob(AM))
|
||||
var/mob/M = AM
|
||||
if(M.client)
|
||||
M.client.perspective = MOB_PERSPECTIVE
|
||||
M.client.eye = src
|
||||
mode = BOT_IDLE
|
||||
|
||||
/obj/machinery/bot/mulebot/call_bot()
|
||||
..()
|
||||
@@ -542,14 +577,14 @@ obj/machinery/bot/mulebot/bot_reset()
|
||||
if(refresh) updateDialog()
|
||||
|
||||
/obj/machinery/bot/mulebot/proc/process_bot()
|
||||
//if(mode) world << "Mode: [mode]"
|
||||
|
||||
if(!on)
|
||||
return
|
||||
|
||||
switch(mode)
|
||||
if(BOT_IDLE) // idle
|
||||
icon_state = "mulebot0"
|
||||
return
|
||||
if(BOT_LOADING) // loading/unloading
|
||||
return
|
||||
|
||||
if(BOT_DELIVER,BOT_GO_HOME,BOT_BLOCKED) // navigating to deliver,home, or blocked
|
||||
if(loc == target) // reached target
|
||||
@@ -609,26 +644,22 @@ obj/machinery/bot/mulebot/bot_reset()
|
||||
blockcount++
|
||||
mode = BOT_BLOCKED
|
||||
if(blockcount == 3)
|
||||
visible_message("[src] makes an annoyed buzzing sound.", "<span class='italics'>You hear an electronic buzzing sound.</span>")
|
||||
playsound(loc, 'sound/machines/buzz-two.ogg', 50, 0)
|
||||
buzz(ANNOYED)
|
||||
|
||||
if(blockcount > 10) // attempt 10 times before recomputing
|
||||
// find new path excluding blocked turf
|
||||
visible_message("[src] makes a sighing buzz.", "<span class='italics'>You hear an electronic buzzing sound.</span>")
|
||||
playsound(loc, 'sound/machines/buzz-sigh.ogg', 50, 0)
|
||||
buzz(SIGH)
|
||||
|
||||
spawn(2)
|
||||
calc_path(next)
|
||||
if(path.len > 0)
|
||||
visible_message("[src] makes a delighted ping!", "<span class='italics'>You hear a ping.</span>")
|
||||
playsound(loc, 'sound/machines/ping.ogg', 50, 0)
|
||||
buzz(DELIGHT)
|
||||
mode = BOT_BLOCKED
|
||||
mode = BOT_WAIT_FOR_NAV
|
||||
return
|
||||
return
|
||||
else
|
||||
visible_message("[src] makes an annoyed buzzing sound.", "<span class='italics'>You hear an electronic buzzing sound.</span>")
|
||||
playsound(loc, 'sound/machines/buzz-two.ogg', 50, 0)
|
||||
buzz(ANNOYED)
|
||||
//world << "Bad turf."
|
||||
mode = BOT_NAV
|
||||
return
|
||||
@@ -647,20 +678,12 @@ obj/machinery/bot/mulebot/bot_reset()
|
||||
if(path.len > 0)
|
||||
blockcount = 0
|
||||
mode = BOT_BLOCKED
|
||||
visible_message("[src] makes a delighted ping!", "<span class='italics'>You hear a ping.</span>")
|
||||
playsound(loc, 'sound/machines/ping.ogg', 50, 0)
|
||||
buzz(DELIGHT)
|
||||
|
||||
else
|
||||
visible_message("[src] makes a sighing buzz.", "<span class='italics'>You hear an electronic buzzing sound.</span>")
|
||||
playsound(loc, 'sound/machines/buzz-sigh.ogg', 50, 0)
|
||||
buzz(SIGH)
|
||||
|
||||
mode = BOT_NO_ROUTE
|
||||
//if(6)
|
||||
//world << "Pending path calc."
|
||||
//if(7)
|
||||
//world << "No dest / no route."
|
||||
|
||||
return
|
||||
|
||||
|
||||
// calculates a path to the current destination
|
||||
@@ -679,6 +702,8 @@ obj/machinery/bot/mulebot/bot_reset()
|
||||
|
||||
// starts bot moving to current destination
|
||||
/obj/machinery/bot/mulebot/proc/start()
|
||||
if(!on)
|
||||
return
|
||||
if(destination == home_destination)
|
||||
mode = BOT_GO_HOME
|
||||
else
|
||||
@@ -689,6 +714,8 @@ obj/machinery/bot/mulebot/bot_reset()
|
||||
// starts bot moving to home
|
||||
// sends a beacon query to find
|
||||
/obj/machinery/bot/mulebot/proc/start_home()
|
||||
if(!on)
|
||||
return
|
||||
spawn(0)
|
||||
set_destination(home_destination)
|
||||
mode = BOT_BLOCKED
|
||||
@@ -725,7 +752,7 @@ obj/machinery/bot/mulebot/bot_reset()
|
||||
break
|
||||
else // otherwise, look for crates only
|
||||
AM = locate(/obj/structure/closet/crate) in get_step(loc,loaddir)
|
||||
if(AM)
|
||||
if(AM && AM.Adjacent(src))
|
||||
load(AM)
|
||||
if(report_delivery)
|
||||
speak("Now loading [load] at <b>[get_area(src)]</b>.", radio_frequency)
|
||||
@@ -780,11 +807,10 @@ obj/machinery/bot/mulebot/bot_reset()
|
||||
|
||||
// player on mulebot attempted to move
|
||||
/obj/machinery/bot/mulebot/relaymove(mob/user)
|
||||
if(user.stat)
|
||||
if(user.incapacitated())
|
||||
return
|
||||
if(load == user)
|
||||
unload(0)
|
||||
return
|
||||
|
||||
|
||||
//Update navigation data. Called when commanded to deliver, return home, or a route update is needed...
|
||||
@@ -834,5 +860,12 @@ obj/machinery/bot/mulebot/bot_reset()
|
||||
s.start()
|
||||
|
||||
new /obj/effect/decal/cleanable/oil(loc)
|
||||
unload(0)
|
||||
qdel(src)
|
||||
|
||||
/obj/machinery/bot/mulebot/Destroy()
|
||||
unload(0)
|
||||
return ..()
|
||||
|
||||
#undef SIGH
|
||||
#undef ANNOYED
|
||||
#undef DELIGHT
|
||||
|
||||
@@ -93,7 +93,9 @@
|
||||
|
||||
else if(istype(A, /mob/living)) // You Shall Not Pass!
|
||||
var/mob/living/M = A
|
||||
if(!M.lying && !ismonkey(M) && !isslime(M)) //If your not laying down, or a small creature, no pass.
|
||||
if(M.buckled && istype(M.buckled, /obj/machinery/bot/mulebot)) // mulebot passenger gets a free pass.
|
||||
return 1
|
||||
if(!M.lying && !M.ventcrawler && M.mob_size != MOB_SIZE_TINY) //If your not laying down, or a ventcrawler or a small creature, no pass.
|
||||
return 0
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
|
||||
//Wrapper procs that handle sanity and user feedback
|
||||
/obj/proc/user_buckle_mob(mob/living/M, mob/user)
|
||||
if(!user.Adjacent(M) || user.restrained() || user.lying || user.stat)
|
||||
if(!user.Adjacent(M) || user.lying || user.incapacitated())
|
||||
return
|
||||
|
||||
add_fingerprint(user)
|
||||
|
||||
@@ -11,8 +11,36 @@
|
||||
icon_state = icon_regular_floor
|
||||
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/black
|
||||
icon_state = "dark"
|
||||
/turf/simulated/floor/plasteel/black/side
|
||||
icon_state = "black" //NOTICE ME SEMPAI: floors.dmi contains two sprites named black, remove the incorrect one
|
||||
/turf/simulated/floor/plasteel/black/corner
|
||||
icon_state = "blackcorner"
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/white
|
||||
icon_state = "white"
|
||||
/turf/simulated/floor/plasteel/white/side
|
||||
icon_state = "whitehall"
|
||||
/turf/simulated/floor/plasteel/white/corner
|
||||
icon_state = "whitecorner"
|
||||
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/brown
|
||||
icon_state = "brown"
|
||||
/turf/simulated/floor/plasteel/brown/corner
|
||||
icon_state = "browncorner"
|
||||
|
||||
/turf/simulated/floor/plasteel/darkbrown
|
||||
icon_state = "darkbrownfull"
|
||||
/turf/simulated/floor/plasteel/darkbrown/side
|
||||
icon_state = "darkbrown"
|
||||
/turf/simulated/floor/plasteel/darkbrown/corner
|
||||
icon_state = "darkbrowncorners"
|
||||
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/green
|
||||
@@ -22,7 +50,6 @@
|
||||
/turf/simulated/floor/plasteel/green/corner
|
||||
icon_state = "greencorner"
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/darkgreen
|
||||
icon_state = "darkgreenfull"
|
||||
/turf/simulated/floor/plasteel/darkgreen/side
|
||||
@@ -30,11 +57,13 @@
|
||||
/turf/simulated/floor/plasteel/darkgreen/corner
|
||||
icon_state = "darkgreencorners"
|
||||
|
||||
/turf/simulated/floor/plasteel/whitegreen
|
||||
icon_state = "whitegreenfull"
|
||||
/turf/simulated/floor/plasteel/whitegreen/side
|
||||
icon_state = "whitegreen"
|
||||
/turf/simulated/floor/plasteel/whitegreen/corner
|
||||
icon_state = "whitegreencorner"
|
||||
|
||||
/turf/simulated/floor/plasteel/brown
|
||||
icon_state = "brown"
|
||||
/turf/simulated/floor/plasteel/brown/corner
|
||||
icon_state = "browncorner"
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/red
|
||||
@@ -44,7 +73,6 @@
|
||||
/turf/simulated/floor/plasteel/red/corner
|
||||
icon_state = "redcorner"
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/darkred
|
||||
icon_state = "darkredfull"
|
||||
/turf/simulated/floor/plasteel/darkred/side
|
||||
@@ -52,6 +80,90 @@
|
||||
/turf/simulated/floor/plasteel/darkred/corner
|
||||
icon_state = "darkredcorners"
|
||||
|
||||
/turf/simulated/floor/plasteel/whitered
|
||||
icon_state = "whiteredfull"
|
||||
/turf/simulated/floor/plasteel/whitered/side
|
||||
icon_state = "whitered"
|
||||
/turf/simulated/floor/plasteel/whitered/corner
|
||||
icon_state = "whiteredcorner"
|
||||
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/blue
|
||||
icon_state = "bluefull"
|
||||
/turf/simulated/floor/plasteel/blue/side
|
||||
icon_state = "blue"
|
||||
/turf/simulated/floor/plasteel/blue/corner
|
||||
icon_state = "bluecorner"
|
||||
|
||||
/turf/simulated/floor/plasteel/darkblue
|
||||
icon_state = "darkbluefull"
|
||||
/turf/simulated/floor/plasteel/darkblue/side
|
||||
icon_state = "darkblue"
|
||||
/turf/simulated/floor/plasteel/darkblue/corner
|
||||
icon_state = "darkbluecorners"
|
||||
|
||||
/turf/simulated/floor/plasteel/whiteblue
|
||||
icon_state = "whitebluefull"
|
||||
/turf/simulated/floor/plasteel/whiteblue/side
|
||||
icon_state = "whiteblue"
|
||||
/turf/simulated/floor/plasteel/whiteblue/corner
|
||||
icon_state = "whitebluecorner"
|
||||
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/yellow
|
||||
icon_state = "yellowfull"
|
||||
/turf/simulated/floor/plasteel/yellow/side
|
||||
icon_state = "yellow"
|
||||
/turf/simulated/floor/plasteel/yellow/corner
|
||||
icon_state = "yellowcorner"
|
||||
|
||||
/turf/simulated/floor/plasteel/darkyellow
|
||||
icon_state = "darkyellowfull"
|
||||
/turf/simulated/floor/plasteel/darkyellow/side
|
||||
icon_state = "darkyellow"
|
||||
/turf/simulated/floor/plasteel/darkyellow/corner
|
||||
icon_state = "darkyellowcorners"
|
||||
|
||||
/turf/simulated/floor/plasteel/whiteyellow
|
||||
icon_state = "whiteyellowfull"
|
||||
/turf/simulated/floor/plasteel/whiteyellow/side
|
||||
icon_state = "whiteyellow"
|
||||
/turf/simulated/floor/plasteel/whiteyellow/corner
|
||||
icon_state = "whiteyellowcorner"
|
||||
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/purple
|
||||
icon_state = "purplefull"
|
||||
/turf/simulated/floor/plasteel/purple/side
|
||||
icon_state = "purple"
|
||||
/turf/simulated/floor/plasteel/purple/corner
|
||||
icon_state = "purplecorner"
|
||||
|
||||
/turf/simulated/floor/plasteel/darkpurple
|
||||
icon_state = "darkpurplefull"
|
||||
/turf/simulated/floor/plasteel/darkpurple/side
|
||||
icon_state = "darkpurple"
|
||||
/turf/simulated/floor/plasteel/darkpurple/corner
|
||||
icon_state = "darkpurplecorners"
|
||||
|
||||
/turf/simulated/floor/plasteel/whitepurple
|
||||
icon_state = "whitepurplefull"
|
||||
/turf/simulated/floor/plasteel/whitepurple/side
|
||||
icon_state = "whitepurple"
|
||||
/turf/simulated/floor/plasteel/whitepurple/corner
|
||||
icon_state = "whitepurplecorner"
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/orange
|
||||
icon_state = "orangefull"
|
||||
/turf/simulated/floor/plasteel/orange/side
|
||||
icon_state = "orange"
|
||||
/turf/simulated/floor/plasteel/orange/corner
|
||||
icon_state = "orangecorner"
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/neutral
|
||||
icon_state = "neutralfull"
|
||||
@@ -61,12 +173,48 @@
|
||||
icon_state = "neutralcorner"
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/arrival
|
||||
icon_state = "arrival"
|
||||
/turf/simulated/floor/plasteel/arrival/corner
|
||||
icon_state = "arrivalcorner"
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/escape
|
||||
icon_state = "escape"
|
||||
/turf/simulated/floor/plasteel/escape/corner
|
||||
icon_state = "escapecorner"
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/caution
|
||||
icon_state = "caution"
|
||||
/turf/simulated/floor/plasteel/caution/corner
|
||||
icon_state = "cautioncorner"
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/warning
|
||||
icon_state = "warning"
|
||||
/turf/simulated/floor/plasteel/warning/corner
|
||||
icon_state = "warningcorner"
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/warnplate
|
||||
icon_state = "warnplate"
|
||||
/turf/simulated/floor/plasteel/warnplate/corner
|
||||
icon_state = "warnplatecorner"
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/warnwhite
|
||||
icon_state = "warnwhite"
|
||||
/turf/simulated/floor/plasteel/warnwhite/corner
|
||||
icon_state = "warnwhitecorner"
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/whitebot
|
||||
icon_state = "whitebot"
|
||||
/turf/simulated/floor/plasteel/whitebot/delivery
|
||||
icon_state = "whitedelivery"
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/redyellow
|
||||
icon_state = "redyellowfull"
|
||||
/turf/simulated/floor/plasteel/redyellow/side
|
||||
@@ -75,15 +223,45 @@
|
||||
|
||||
/turf/simulated/floor/plasteel/redblue
|
||||
icon_state = "redbluefull"
|
||||
/turf/simulated/floor/plasteel/redblue/side
|
||||
/turf/simulated/floor/plasteel/redblue/blueside
|
||||
icon_state = "bluered"
|
||||
/turf/simulated/floor/plasteel/redblue/redside
|
||||
icon_state = "redblue"
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/redgreen
|
||||
icon_state = "redgreenfull"
|
||||
/turf/simulated/floor/plasteel/redgreen/side
|
||||
icon_state = "redgreen"
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/greenyellow
|
||||
icon_state = "greenyellowfull"
|
||||
/turf/simulated/floor/plasteel/greenyellow/side
|
||||
icon_state = "greenyellow"
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/greenblue
|
||||
icon_state = "greenbluefull"
|
||||
/turf/simulated/floor/plasteel/greenblue/side
|
||||
icon_state = "greenblue"
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/blueyellow
|
||||
icon_state = "blueyellowfull"
|
||||
/turf/simulated/floor/plasteel/blueyellow/side
|
||||
icon_state = "blueyellow"
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/darkwarning
|
||||
icon_state = "warndark"
|
||||
/turf/simulated/floor/plasteel/darkwarning/corner
|
||||
icon_state = "warndarkcorners"
|
||||
|
||||
/turf/simulated/floor/plasteel/warningline
|
||||
icon_state = "warningline"
|
||||
/turf/simulated/floor/plasteel/warningline/corner
|
||||
icon_state = "warninglinecorners"
|
||||
|
||||
/turf/simulated/floor/plasteel/yellowsiding
|
||||
icon_state = "yellowsiding"
|
||||
@@ -97,12 +275,86 @@
|
||||
icon_state = "podhatchcorner"
|
||||
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/circuit
|
||||
icon_state = "bcircuit"
|
||||
/turf/simulated/floor/plasteel/circuit/off
|
||||
icon_state = "bcircuitoff"
|
||||
|
||||
/turf/simulated/floor/plasteel/circuit/gcircuit
|
||||
icon_state = "gcircuit"
|
||||
/turf/simulated/floor/plasteel/circuit/gcircuit/off
|
||||
icon_state = "gcircuitoff"
|
||||
/turf/simulated/floor/plasteel/circuit/gcircuit/animated
|
||||
icon_state = "gcircuitanim"
|
||||
|
||||
/turf/simulated/floor/plasteel/circuit/rcircuit
|
||||
icon_state = "rcircuit"
|
||||
/turf/simulated/floor/plasteel/circuit/rcircuit/animated
|
||||
icon_state = "rcircuitanim"
|
||||
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/loadingarea
|
||||
icon_state = "loadingarea"
|
||||
/turf/simulated/floor/plasteel/loadingarea/dirty
|
||||
icon_state = "loadingareadirty1"
|
||||
/turf/simulated/floor/plasteel/loadingarea/dirtydirty
|
||||
icon_state = "loadingareadirty2"
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/shuttle
|
||||
icon_state = "shuttlefloor"
|
||||
/turf/simulated/floor/plasteel/shuttle/red
|
||||
name = "Brig floor"
|
||||
icon_state = "shuttlefloor4"
|
||||
/turf/simulated/floor/plasteel/shuttle/yellow
|
||||
icon_state = "shuttlefloor2"
|
||||
/turf/simulated/floor/plasteel/shuttle/white
|
||||
icon_state = "shuttlefloor3"
|
||||
/turf/simulated/floor/plasteel/shuttle/purple
|
||||
icon_state = "shuttlefloor5"
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/asteroid
|
||||
icon_state = "asteroidfloor"
|
||||
/turf/simulated/floor/plasteel/asteroid/warning
|
||||
icon_state = "asteroidwarning"
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/recharge_floor
|
||||
icon_state = "recharge_floor"
|
||||
/turf/simulated/floor/plasteel/recharge_floor/asteroid
|
||||
icon_state = "recharge_floor_asteroid"
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/chapel
|
||||
icon_state = "chapel"
|
||||
|
||||
/turf/simulated/floor/plasteel/showroomfloor
|
||||
icon_state = "showroomfloor"
|
||||
|
||||
/turf/simulated/floor/plasteel/floorgrime
|
||||
icon_state = "floorgrime"
|
||||
|
||||
/turf/simulated/floor/plasteel/solarpanel
|
||||
icon_state = "solarpanel"
|
||||
|
||||
/turf/simulated/floor/plasteel/cmo
|
||||
icon_state = "cmo"
|
||||
|
||||
/turf/simulated/floor/plasteel/barber
|
||||
icon_state = "barber"
|
||||
|
||||
/turf/simulated/floor/plasteel/hydrofloor
|
||||
icon_state = "hydrofloor"
|
||||
|
||||
/turf/simulated/floor/plasteel/delivery
|
||||
icon_state = "delivery"
|
||||
|
||||
/turf/simulated/floor/plasteel/bot
|
||||
icon_state = "bot"
|
||||
|
||||
/turf/simulated/floor/plasteel/freezer
|
||||
icon_state = "freezerfloor"
|
||||
|
||||
@@ -115,10 +367,18 @@
|
||||
/turf/simulated/floor/plasteel/cafeteria
|
||||
icon_state = "cafeteria"
|
||||
|
||||
/turf/simulated/floor/plasteel/vault
|
||||
icon_state = "vault"
|
||||
|
||||
/turf/simulated/floor/plasteel/cult
|
||||
icon_state = "cult"
|
||||
name = "engraved floor"
|
||||
|
||||
/turf/simulated/floor/plasteel/goonplaque
|
||||
icon_state = "plaque"
|
||||
name = "Commemorative Plaque"
|
||||
desc = "\"This is a plaque in honour of our comrades on the G4407 Stations. Hopefully TG4407 model can live up to your fame and fortune.\" Scratched in beneath that is a crude image of a meteor and a spaceman. The spaceman is laughing. The meteor is exploding."
|
||||
|
||||
/turf/simulated/floor/plasteel/cult/narsie_act()
|
||||
return
|
||||
|
||||
@@ -127,9 +387,61 @@
|
||||
nitrogen = 0
|
||||
temperature = TCMB
|
||||
|
||||
/turf/simulated/floor/plasteel/shuttle
|
||||
icon_state = "shuttlefloor"
|
||||
|
||||
/turf/simulated/floor/plasteel/shuttle/red
|
||||
name = "Brig floor"
|
||||
icon_state = "shuttlefloor4"
|
||||
|
||||
|
||||
|
||||
|
||||
//
|
||||
//unused? remove?
|
||||
//
|
||||
/turf/simulated/floor/plasteel/stage_bottom
|
||||
icon_state = "stage_bottom"
|
||||
/turf/simulated/floor/plasteel/stage_left
|
||||
icon_state = "stage_left"
|
||||
/turf/simulated/floor/plasteel/stage_bleft
|
||||
icon_state = "stage_bleft"
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/stairs
|
||||
icon_state = "stairs"
|
||||
/turf/simulated/floor/plasteel/stairs/left
|
||||
icon_state = "stairs-l"
|
||||
/turf/simulated/floor/plasteel/stairs/medium
|
||||
icon_state = "stairs-m"
|
||||
/turf/simulated/floor/plasteel/stairs/right
|
||||
icon_state = "stairs-r"
|
||||
/turf/simulated/floor/plasteel/stairs/old
|
||||
icon_state = "stairs-old"
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/brownold
|
||||
icon_state = "brownold"
|
||||
/turf/simulated/floor/plasteel/brownold/corner
|
||||
icon_state = "browncornerold"
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/rockvault
|
||||
icon_state = "rockvault"
|
||||
/turf/simulated/floor/plasteel/rockvault/alien
|
||||
icon_state = "alienvault"
|
||||
/turf/simulated/floor/plasteel/rockvault/sandstone
|
||||
icon_state = "sandstonevault"
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/elevatorshaft
|
||||
icon_state = "elevatorshaft"
|
||||
|
||||
/turf/simulated/floor/plasteel/bluespace
|
||||
icon_state = "bluespace"
|
||||
|
||||
/turf/simulated/floor/plasteel/sepia
|
||||
icon_state = "sepia"
|
||||
|
||||
|
||||
/turf/simulated/floor/plasteel/sandeffect
|
||||
icon_state = "sandeffect"
|
||||
/turf/simulated/floor/plasteel/sandeffect/warning
|
||||
icon_state = "warningsandeffect"
|
||||
/turf/simulated/floor/plasteel/sandeffect/warning/corner
|
||||
icon_state = "warningsandeffectcorners"
|
||||
Reference in New Issue
Block a user