Fully refactors Chairs, Stools & Beds. Adds a few fun bits

This commit is contained in:
Purpose
2018-09-14 18:40:42 +01:00
parent e340389c49
commit efbcd54cf2
107 changed files with 2210 additions and 2053 deletions
+1 -1
View File
@@ -306,5 +306,5 @@ var/global/datum/prizes/global_prizes = new
/datum/prize_item/bike
name = "Awesome Bike!"
desc = "WOAH."
typepath = /obj/structure/stool/bed/chair/wheelchair/bike
typepath = /obj/structure/chair/wheelchair/bike
cost = 10000 //max stack + 1 tickets.
+2 -2
View File
@@ -40,7 +40,7 @@
return
/obj/item/assembly/shock_kit/receive_signal()
if(istype(loc, /obj/structure/stool/bed/chair/e_chair))
var/obj/structure/stool/bed/chair/e_chair/C = loc
if(istype(loc, /obj/structure/chair/e_chair))
var/obj/structure/chair/e_chair/C = loc
C.shock()
return
@@ -2159,7 +2159,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
var/obj/item/organ/external/l_foot = character.get_organ("l_foot")
var/obj/item/organ/external/r_foot = character.get_organ("r_foot")
if(!l_foot && !r_foot)
var/obj/structure/stool/bed/chair/wheelchair/W = new /obj/structure/stool/bed/chair/wheelchair (character.loc)
var/obj/structure/chair/wheelchair/W = new /obj/structure/chair/wheelchair (character.loc)
character.buckled = W
character.update_canmove()
W.dir = character.dir
+2 -2
View File
@@ -168,9 +168,9 @@
if(!proximity || !ishuman(user) || user.incapacitated())
return
if(istype(target, /obj/structure/stool/bed/chair/wheelchair) && !istype(target, /obj/structure/stool/bed/chair/wheelchair/bike))
if(istype(target, /obj/structure/chair/wheelchair) && !istype(target, /obj/structure/chair/wheelchair/bike))
to_chat(user, "<span class='notice'>You modify the appearance of [target].</span>")
var/obj/structure/stool/bed/chair/wheelchair/chair = target
var/obj/structure/chair/wheelchair/chair = target
chair.icon = 'icons/obj/custom_items.dmi'
chair.icon_state = "vox_wheelchair"
chair.name = "vox wheelchair"
@@ -196,13 +196,13 @@
if("winter") //Snow terrain is slow to move in and cold! Get the assistants to shovel your driveway.
NewTerrainFloors = /turf/simulated/floor/snow // Needs to be updated after turf update
NewTerrainWalls = /turf/simulated/wall/mineral/wood
NewTerrainChairs = /obj/structure/stool/bed/chair/wood/normal
NewTerrainChairs = /obj/structure/chair/wood/normal
NewTerrainTables = /obj/structure/table/glass
NewFlora = list(/obj/structure/flora/grass/green, /obj/structure/flora/grass/brown, /obj/structure/flora/grass/both)
if("jungle") //Beneficial due to actually having breathable air. Plus, monkeys and bows and arrows.
NewTerrainFloors = /turf/simulated/floor/grass
NewTerrainWalls = /turf/simulated/wall/mineral/sandstone
NewTerrainChairs = /obj/structure/stool/bed/chair/wood/normal
NewTerrainChairs = /obj/structure/chair/wood/normal
NewTerrainTables = /obj/structure/table/wood
NewFlora = list(/obj/structure/flora/ausbushes/sparsegrass, /obj/structure/flora/ausbushes/fernybush, /obj/structure/flora/ausbushes/leafybush,
/obj/structure/flora/ausbushes/grassybush, /obj/structure/flora/ausbushes/sunnybush, /obj/structure/flora/tree/palm, /mob/living/carbon/human/monkey,
@@ -211,7 +211,7 @@
if("alien") //Beneficial, turns stuff into alien alloy which is useful to cargo and research. Also repairs atmos.
NewTerrainFloors = /turf/simulated/floor/mineral/abductor
NewTerrainWalls = /turf/simulated/wall/mineral/abductor
NewTerrainChairs = /obj/structure/stool/bed/abductor //ayys apparently don't have chairs. An entire species of people who only recline.
NewTerrainChairs = /obj/structure/bed/abductor //ayys apparently don't have chairs. An entire species of people who only recline.
NewTerrainTables = /obj/structure/table/abductor
/obj/machinery/anomalous_crystal/theme_warp/ActivationReaction(mob/user, method)
@@ -233,9 +233,9 @@
if(iswallturf(T) && NewTerrainWalls)
T.ChangeTurf(NewTerrainWalls)
continue
if(istype(Stuff, /obj/structure/stool/bed/chair) && NewTerrainChairs)
var/obj/structure/stool/bed/chair/Original = Stuff
var/obj/structure/stool/bed/chair/C = new NewTerrainChairs(Original.loc)
if(istype(Stuff, /obj/structure/chair) && NewTerrainChairs)
var/obj/structure/chair/Original = Stuff
var/obj/structure/chair/C = new NewTerrainChairs(Original.loc)
C.dir = Original.dir
qdel(Stuff)
continue
+1 -1
View File
@@ -442,7 +442,7 @@
attack_self(user)
//Bed
/obj/structure/stool/bed/pod
/obj/structure/bed/pod
icon = 'icons/obj/lavaland/survival_pod.dmi'
icon_state = "bed"
@@ -146,7 +146,7 @@ Doesn't work on other aliens/AI.*/
if("resin membrane")
new /obj/structure/alien/resin/membrane(loc)
if("resin nest")
new /obj/structure/stool/bed/nest(loc)
new /obj/structure/bed/nest(loc)
return
/mob/living/carbon/alien/humanoid/verb/regurgitate()
+5 -5
View File
@@ -578,14 +578,14 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump,
/mob/living/carbon/can_use_hands()
if(handcuffed)
return 0
if(buckled && ! istype(buckled, /obj/structure/stool/bed/chair)) // buckling does not restrict hands
return 0
return 1
return FALSE
if(buckled && ! istype(buckled, /obj/structure/chair)) // buckling does not restrict hands
return FALSE
return TRUE
/mob/living/carbon/restrained()
if(handcuffed)
return 1
return TRUE
return
+2 -2
View File
@@ -354,8 +354,8 @@
handle_dreams()
adjustStaminaLoss(-10)
var/comfort = 1
if(istype(buckled, /obj/structure/stool/bed))
var/obj/structure/stool/bed/bed = buckled
if(istype(buckled, /obj/structure/bed))
var/obj/structure/bed/bed = buckled
comfort+= bed.comfort
for(var/obj/item/bedsheet/bedsheet in range(loc,0))
if(bedsheet.loc != loc) //bedsheets in your backpack/neck don't give you comfort
+1 -1
View File
@@ -359,7 +359,7 @@
character.lastarea = get_area(loc)
// Moving wheelchair if they have one
if(character.buckled && istype(character.buckled, /obj/structure/stool/bed/chair/wheelchair))
if(character.buckled && istype(character.buckled, /obj/structure/chair/wheelchair))
character.buckled.loc = character.loc
character.buckled.dir = character.dir
@@ -14,7 +14,7 @@
/datum/mapGeneratorModule/syndieFurniture
clusterCheckFlags = CLUSTER_CHECK_SAME_ATOMS
spawnableTurfs = list()
spawnableAtoms = list(/obj/structure/table = 20,/obj/structure/stool/bed/chair = 15,/obj/structure/stool = 10, \
spawnableAtoms = list(/obj/structure/table = 20,/obj/structure/chair = 15,/obj/structure/chair/stool = 10, \
/obj/structure/computerframe = 15, /obj/item/storage/toolbox/syndicate = 15 ,\
/obj/structure/closet/syndicate = 25)
@@ -50,4 +50,4 @@
/datum/mapGeneratorModule/border/syndieWalls,\
/datum/mapGeneratorModule/syndieFurniture, \
/datum/mapGeneratorModule/splatterLayer/syndieMobs, \
/datum/mapGeneratorModule/bottomLayer/repressurize)
/datum/mapGeneratorModule/bottomLayer/repressurize)
+2 -2
View File
@@ -380,7 +380,7 @@ var/static/regex/multispin_words = regex("like a record baby")
else if((findtext(message, sit_words)))
for(var/V in listeners)
var/mob/living/L = V
for(var/obj/structure/stool/bed/chair/chair in get_turf(L))
for(var/obj/structure/chair/chair in get_turf(L))
chair.buckle_mob(L)
break
next_command = world.time + cooldown_meme
@@ -389,7 +389,7 @@ var/static/regex/multispin_words = regex("like a record baby")
else if((findtext(message, stand_words)))
for(var/V in listeners)
var/mob/living/L = V
if(L.buckled && istype(L.buckled, /obj/structure/stool/bed/chair))
if(L.buckled && istype(L.buckled, /obj/structure/chair))
L.buckled.unbuckle_mob(L)
next_command = world.time + cooldown_meme
+2 -2
View File
@@ -23,7 +23,7 @@
var/delay_timer = null
var/list/blacklist = list(/obj/tram/rail,/atom/movable/lighting_overlay)
var/list/ancwhitelist = list(/obj/tram, /obj/vehicle, /obj/structure/stool/bed/chair, /obj/structure/grille, /obj/structure/window)
var/list/ancwhitelist = list(/obj/tram, /obj/vehicle, /obj/structure/chair, /obj/structure/grille, /obj/structure/window)
/obj/tram/tram_controller/New()
spawn(1)
@@ -260,4 +260,4 @@
/obj/tram/bullet_act(var/obj/item/projectile/proj)
if(prob(proj.damage))
qdel(src)
..()
..()
+3 -3
View File
@@ -3,7 +3,7 @@
desc = "what the paramedic uses to run over people to take to medbay."
icon_state = "docwagon2"
keytype = /obj/item/key/ambulance
var/obj/structure/stool/bed/amb_trolley/bed = null
var/obj/structure/bed/amb_trolley/bed = null
/obj/item/key/ambulance
@@ -40,11 +40,11 @@
if(bed.buckled_mob)
bed.buckled_mob.dir = Dir
/obj/structure/stool/bed/amb_trolley
/obj/structure/bed/amb_trolley
name = "ambulance train trolley"
icon = 'icons/vehicles/CargoTrain.dmi'
icon_state = "ambulance"
anchored = 0
anchored = FALSE
throw_pressure_limit = INFINITY //Throwing an ambulance trolley can kill the process scheduler.
/obj/structure/stool/bed/amb_trolley/MouseDrop(obj/over_object as obj)