mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-02-08 07:08:30 +00:00
Polaris sync
This commit is contained in:
@@ -9,7 +9,6 @@ LINEN BINS
|
||||
desc = "A surprisingly soft linen bedsheet."
|
||||
icon = 'icons/obj/items.dmi'
|
||||
icon_state = "sheet"
|
||||
item_state = "bedsheet"
|
||||
slot_flags = SLOT_BACK
|
||||
layer = 4.0
|
||||
throwforce = 1
|
||||
@@ -39,75 +38,59 @@ LINEN BINS
|
||||
|
||||
/obj/item/weapon/bedsheet/blue
|
||||
icon_state = "sheetblue"
|
||||
item_state = "sheetblue"
|
||||
|
||||
/obj/item/weapon/bedsheet/green
|
||||
icon_state = "sheetgreen"
|
||||
item_state = "sheetgreen"
|
||||
|
||||
/obj/item/weapon/bedsheet/orange
|
||||
icon_state = "sheetorange"
|
||||
item_state = "sheetorange"
|
||||
|
||||
/obj/item/weapon/bedsheet/purple
|
||||
icon_state = "sheetpurple"
|
||||
item_state = "sheetpurple"
|
||||
|
||||
/obj/item/weapon/bedsheet/rainbow
|
||||
icon_state = "sheetrainbow"
|
||||
item_state = "sheetrainbow"
|
||||
|
||||
/obj/item/weapon/bedsheet/red
|
||||
icon_state = "sheetred"
|
||||
item_state = "sheetred"
|
||||
|
||||
/obj/item/weapon/bedsheet/yellow
|
||||
icon_state = "sheetyellow"
|
||||
item_state = "sheetyellow"
|
||||
|
||||
/obj/item/weapon/bedsheet/mime
|
||||
icon_state = "sheetmime"
|
||||
item_state = "sheetmime"
|
||||
|
||||
/obj/item/weapon/bedsheet/clown
|
||||
icon_state = "sheetclown"
|
||||
item_state = "sheetclown"
|
||||
item_state = "sheetrainbow"
|
||||
|
||||
/obj/item/weapon/bedsheet/captain
|
||||
icon_state = "sheetcaptain"
|
||||
item_state = "sheetcaptain"
|
||||
|
||||
/obj/item/weapon/bedsheet/rd
|
||||
icon_state = "sheetrd"
|
||||
item_state = "sheetrd"
|
||||
|
||||
/obj/item/weapon/bedsheet/medical
|
||||
icon_state = "sheetmedical"
|
||||
item_state = "sheetmedical"
|
||||
|
||||
/obj/item/weapon/bedsheet/hos
|
||||
icon_state = "sheethos"
|
||||
item_state = "sheethos"
|
||||
|
||||
/obj/item/weapon/bedsheet/hop
|
||||
icon_state = "sheethop"
|
||||
item_state = "sheethop"
|
||||
|
||||
/obj/item/weapon/bedsheet/ce
|
||||
icon_state = "sheetce"
|
||||
item_state = "sheetce"
|
||||
|
||||
/obj/item/weapon/bedsheet/brown
|
||||
icon_state = "sheetbrown"
|
||||
item_state = "sheetbrown"
|
||||
|
||||
/obj/item/weapon/bedsheet/ian
|
||||
icon_state = "sheetian"
|
||||
item_state = "bedsheet"
|
||||
|
||||
/obj/item/weapon/bedsheet/double
|
||||
icon_state = "doublesheet"
|
||||
item_state = "bedsheet"
|
||||
item_state = "sheet"
|
||||
|
||||
/obj/item/weapon/bedsheet/bluedouble
|
||||
icon_state = "doublesheetblue"
|
||||
@@ -125,54 +108,53 @@ LINEN BINS
|
||||
icon_state = "doublesheetpurple"
|
||||
item_state = "sheetpurple"
|
||||
|
||||
/obj/item/weapon/bedsheet/doublerainbow //all the way across the sky.
|
||||
/obj/item/weapon/bedsheet/rainbowdouble //all the way across the sky.
|
||||
icon_state = "doublesheetrainbow"
|
||||
item_state = "sheetrainbow"
|
||||
|
||||
/obj/item/weapon/bedsheet/doublered
|
||||
/obj/item/weapon/bedsheet/reddouble
|
||||
icon_state = "doublesheetred"
|
||||
item_state = "sheetred"
|
||||
|
||||
/obj/item/weapon/bedsheet/doubleyellow
|
||||
/obj/item/weapon/bedsheet/yellowdouble
|
||||
icon_state = "doublesheetyellow"
|
||||
item_state = "sheetyellow"
|
||||
|
||||
/obj/item/weapon/bedsheet/doublemime
|
||||
/obj/item/weapon/bedsheet/mimedouble
|
||||
icon_state = "doublesheetmime"
|
||||
item_state = "sheetmime"
|
||||
|
||||
/obj/item/weapon/bedsheet/doubleclown
|
||||
/obj/item/weapon/bedsheet/clowndouble
|
||||
icon_state = "doublesheetclown"
|
||||
item_state = "sheetclown"
|
||||
item_state = "sheetrainbow"
|
||||
|
||||
/obj/item/weapon/bedsheet/doublecaptain
|
||||
/obj/item/weapon/bedsheet/captaindouble
|
||||
icon_state = "doublesheetcaptain"
|
||||
item_state = "sheetcaptain"
|
||||
|
||||
/obj/item/weapon/bedsheet/doublerd
|
||||
/obj/item/weapon/bedsheet/rddouble
|
||||
icon_state = "doublesheetrd"
|
||||
item_state = "sheetrd"
|
||||
|
||||
/obj/item/weapon/bedsheet/doublehos
|
||||
/obj/item/weapon/bedsheet/hosdouble
|
||||
icon_state = "doublesheethos"
|
||||
item_state = "sheethos"
|
||||
|
||||
/obj/item/weapon/bedsheet/doublehop
|
||||
/obj/item/weapon/bedsheet/hopdouble
|
||||
icon_state = "doublesheethop"
|
||||
item_state = "sheethop"
|
||||
|
||||
/obj/item/weapon/bedsheet/doublece
|
||||
/obj/item/weapon/bedsheet/cedouble
|
||||
icon_state = "doublesheetce"
|
||||
item_state = "sheetce"
|
||||
|
||||
/obj/item/weapon/bedsheet/doublebrown
|
||||
/obj/item/weapon/bedsheet/browndouble
|
||||
icon_state = "doublesheetbrown"
|
||||
item_state = "sheetbrown"
|
||||
|
||||
/obj/item/weapon/bedsheet/doubleian
|
||||
/obj/item/weapon/bedsheet/iandouble
|
||||
icon_state = "doublesheetian"
|
||||
item_state = "bedsheet"
|
||||
|
||||
item_state = "sheetian"
|
||||
|
||||
/obj/structure/bedsheetbin
|
||||
name = "linen bin"
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
new /obj/item/clothing/accessory/storage/brown_vest(src)
|
||||
new /obj/item/blueprints(src)
|
||||
new /obj/item/clothing/under/rank/chief_engineer(src)
|
||||
new /obj/item/clothing/under/rank/engineer/chief_engineer/skirt(src)
|
||||
new /obj/item/clothing/under/rank/chief_engineer/skirt(src)
|
||||
new /obj/item/clothing/head/hardhat/white(src)
|
||||
new /obj/item/clothing/head/welding(src)
|
||||
new /obj/item/clothing/gloves/yellow(src)
|
||||
|
||||
@@ -192,7 +192,7 @@
|
||||
new /obj/item/clothing/under/rank/medical/navyblue(src)
|
||||
new /obj/item/clothing/head/surgery/navyblue(src)
|
||||
new /obj/item/clothing/under/rank/chief_medical_officer(src)
|
||||
new /obj/item/clothing/under/rank/medical/chief_medical_officer/skirt(src)
|
||||
new /obj/item/clothing/under/rank/chief_medical_officer/skirt(src)
|
||||
new /obj/item/clothing/suit/storage/toggle/labcoat/cmo(src)
|
||||
new /obj/item/clothing/suit/storage/toggle/labcoat/cmoalt(src)
|
||||
new /obj/item/weapon/cartridge/cmo(src)
|
||||
|
||||
@@ -102,8 +102,8 @@
|
||||
new /obj/item/clothing/suit/storage/vest/hos(src)
|
||||
new /obj/item/clothing/under/rank/head_of_security/jensen(src)
|
||||
new /obj/item/clothing/under/rank/head_of_security/corp(src)
|
||||
new /obj/item/clothing/suit/armor/hos/jensen(src)
|
||||
new /obj/item/clothing/suit/armor/hos(src)
|
||||
new /obj/item/clothing/suit/storage/vest/hoscoat/jensen(src)
|
||||
new /obj/item/clothing/suit/storage/vest/hoscoat(src)
|
||||
new /obj/item/clothing/head/helmet/HoS/dermal(src)
|
||||
new /obj/item/weapon/cartridge/hos(src)
|
||||
new /obj/item/device/radio/headset/heads/hos(src)
|
||||
@@ -114,6 +114,8 @@
|
||||
new /obj/item/weapon/shield/riot/tele(src)
|
||||
new /obj/item/weapon/storage/box/holobadge/hos(src)
|
||||
new /obj/item/clothing/accessory/badge/holo/hos(src)
|
||||
new /obj/item/weapon/reagent_containers/spray/pepper(src)
|
||||
new /obj/item/weapon/crowbar/red(src)
|
||||
new /obj/item/weapon/storage/box/flashbangs(src)
|
||||
new /obj/item/weapon/storage/belt/security(src)
|
||||
new /obj/item/device/flash(src)
|
||||
@@ -150,8 +152,8 @@
|
||||
new /obj/item/clothing/suit/storage/vest/warden(src)
|
||||
new /obj/item/clothing/under/rank/warden(src)
|
||||
new /obj/item/clothing/under/rank/warden/corp(src)
|
||||
new /obj/item/clothing/suit/armor/vest/warden(src)
|
||||
new /obj/item/clothing/suit/armor/vest/warden/alt(src)
|
||||
new /obj/item/clothing/suit/storage/vest/wardencoat(src)
|
||||
new /obj/item/clothing/suit/storage/vest/wardencoat/alt(src)
|
||||
new /obj/item/clothing/head/helmet/warden(src)
|
||||
new /obj/item/weapon/cartridge/security(src)
|
||||
new /obj/item/device/radio/headset/headset_sec(src)
|
||||
|
||||
@@ -246,9 +246,9 @@
|
||||
new /obj/item/clothing/under/rank/atmospheric_technician(src)
|
||||
new /obj/item/clothing/under/rank/atmospheric_technician(src)
|
||||
new /obj/item/clothing/under/rank/atmospheric_technician(src)
|
||||
new /obj/item/clothing/under/rank/engineer/atmospheric_technician/skirt(src)
|
||||
new /obj/item/clothing/under/rank/engineer/atmospheric_technician/skirt(src)
|
||||
new /obj/item/clothing/under/rank/engineer/atmospheric_technician/skirt(src)
|
||||
new /obj/item/clothing/under/rank/atmospheric_technician/skirt(src)
|
||||
new /obj/item/clothing/under/rank/atmospheric_technician/skirt(src)
|
||||
new /obj/item/clothing/under/rank/atmospheric_technician/skirt(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
@@ -396,8 +396,8 @@
|
||||
..()
|
||||
new /obj/item/clothing/under/rank/chemist(src)
|
||||
new /obj/item/clothing/under/rank/chemist(src)
|
||||
new /obj/item/clothing/under/rank/medical/chemist/skirt(src)
|
||||
new /obj/item/clothing/under/rank/medical/chemist/skirt(src)
|
||||
new /obj/item/clothing/under/rank/chemist/skirt(src)
|
||||
new /obj/item/clothing/under/rank/chemist/skirt(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
new /obj/item/clothing/suit/storage/toggle/labcoat/chemist(src)
|
||||
@@ -418,8 +418,8 @@
|
||||
..()
|
||||
new /obj/item/clothing/under/rank/geneticist(src)
|
||||
new /obj/item/clothing/under/rank/geneticist(src)
|
||||
new /obj/item/clothing/under/rank/medical/geneticist/skirt(src)
|
||||
new /obj/item/clothing/under/rank/medical/geneticist/skirt(src)
|
||||
new /obj/item/clothing/under/rank/geneticist/skirt(src)
|
||||
new /obj/item/clothing/under/rank/geneticist/skirt(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
new /obj/item/clothing/suit/storage/toggle/labcoat/genetics(src)
|
||||
@@ -440,8 +440,8 @@
|
||||
..()
|
||||
new /obj/item/clothing/under/rank/virologist(src)
|
||||
new /obj/item/clothing/under/rank/virologist(src)
|
||||
new /obj/item/clothing/under/rank/medical/virologist/skirt(src)
|
||||
new /obj/item/clothing/under/rank/medical/virologist/skirt(src)
|
||||
new /obj/item/clothing/under/rank/virologist/skirt(src)
|
||||
new /obj/item/clothing/under/rank/virologist/skirt(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
new /obj/item/clothing/suit/storage/toggle/labcoat/virologist(src)
|
||||
|
||||
@@ -331,18 +331,34 @@
|
||||
var/target_temp = T0C - 40
|
||||
var/cooling_power = 40
|
||||
|
||||
return_air()
|
||||
var/datum/gas_mixture/gas = (..())
|
||||
if(!gas) return null
|
||||
var/datum/gas_mixture/newgas = new/datum/gas_mixture()
|
||||
newgas.copy_from(gas)
|
||||
if(newgas.temperature <= target_temp) return
|
||||
/obj/structure/closet/crate/freezer/return_air()
|
||||
var/datum/gas_mixture/gas = (..())
|
||||
if(!gas) return null
|
||||
var/datum/gas_mixture/newgas = new/datum/gas_mixture()
|
||||
newgas.copy_from(gas)
|
||||
if(newgas.temperature <= target_temp) return
|
||||
|
||||
if((newgas.temperature - cooling_power) > target_temp)
|
||||
newgas.temperature -= cooling_power
|
||||
else
|
||||
newgas.temperature = target_temp
|
||||
return newgas
|
||||
if((newgas.temperature - cooling_power) > target_temp)
|
||||
newgas.temperature -= cooling_power
|
||||
else
|
||||
newgas.temperature = target_temp
|
||||
return newgas
|
||||
|
||||
/obj/structure/closet/crate/freezer/Entered(var/atom/movable/AM)
|
||||
if(istype(AM, /obj/item/organ))
|
||||
var/obj/item/organ/O = AM
|
||||
O.preserved = 1
|
||||
for(var/obj/item/organ/organ in O)
|
||||
organ.preserved = 1
|
||||
..()
|
||||
|
||||
/obj/structure/closet/crate/freezer/Exited(var/atom/movable/AM)
|
||||
if(istype(AM, /obj/item/organ))
|
||||
var/obj/item/organ/O = AM
|
||||
O.preserved = 0
|
||||
for(var/obj/item/organ/organ in O)
|
||||
organ.preserved = 0
|
||||
..()
|
||||
|
||||
/obj/structure/closet/crate/freezer/rations //Fpr use in the escape shuttle
|
||||
name = "emergency rations"
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
w_class = 5
|
||||
var/state = 0
|
||||
var/base_icon_state = ""
|
||||
var/base_name = "Airlock"
|
||||
var/base_name = "airlock"
|
||||
var/obj/item/weapon/airlock_electronics/electronics = null
|
||||
var/airlock_type = "" //the type path of the airlock once completed
|
||||
var/glass_type = "/glass"
|
||||
@@ -19,91 +19,91 @@
|
||||
|
||||
/obj/structure/door_assembly/door_assembly_com
|
||||
base_icon_state = "com"
|
||||
base_name = "Command Airlock"
|
||||
base_name = "Command airlock"
|
||||
glass_type = "/glass_command"
|
||||
airlock_type = "/command"
|
||||
|
||||
/obj/structure/door_assembly/door_assembly_sec
|
||||
base_icon_state = "sec"
|
||||
base_name = "Security Airlock"
|
||||
base_name = "Security airlock"
|
||||
glass_type = "/glass_security"
|
||||
airlock_type = "/security"
|
||||
|
||||
/obj/structure/door_assembly/door_assembly_eng
|
||||
base_icon_state = "eng"
|
||||
base_name = "Engineering Airlock"
|
||||
base_name = "Engineering airlock"
|
||||
glass_type = "/glass_engineering"
|
||||
airlock_type = "/engineering"
|
||||
|
||||
/obj/structure/door_assembly/door_assembly_eat
|
||||
base_icon_state = "eat"
|
||||
base_name = "Engineering Atmos Airlock"
|
||||
base_name = "Engineering atmos airlock"
|
||||
glass_type = "/glass_engineeringatmos"
|
||||
airlock_type = "/engineering"
|
||||
|
||||
/obj/structure/door_assembly/door_assembly_min
|
||||
base_icon_state = "min"
|
||||
base_name = "Mining Airlock"
|
||||
base_name = "Mining airlock"
|
||||
glass_type = "/glass_mining"
|
||||
airlock_type = "/mining"
|
||||
|
||||
/obj/structure/door_assembly/door_assembly_atmo
|
||||
base_icon_state = "atmo"
|
||||
base_name = "Atmospherics Airlock"
|
||||
base_name = "Atmospherics airlock"
|
||||
glass_type = "/glass_atmos"
|
||||
airlock_type = "/atmos"
|
||||
|
||||
/obj/structure/door_assembly/door_assembly_research
|
||||
base_icon_state = "res"
|
||||
base_name = "Research Airlock"
|
||||
base_name = "Research airlock"
|
||||
glass_type = "/glass_research"
|
||||
airlock_type = "/research"
|
||||
|
||||
/obj/structure/door_assembly/door_assembly_science
|
||||
base_icon_state = "sci"
|
||||
base_name = "Science Airlock"
|
||||
base_name = "Science airlock"
|
||||
glass_type = "/glass_science"
|
||||
airlock_type = "/science"
|
||||
|
||||
/obj/structure/door_assembly/door_assembly_med
|
||||
base_icon_state = "med"
|
||||
base_name = "Medical Airlock"
|
||||
base_name = "Medical airlock"
|
||||
glass_type = "/glass_medical"
|
||||
airlock_type = "/medical"
|
||||
|
||||
/obj/structure/door_assembly/door_assembly_mai
|
||||
base_icon_state = "mai"
|
||||
base_name = "Maintenance Airlock"
|
||||
base_name = "Maintenance airlock"
|
||||
airlock_type = "/maintenance"
|
||||
glass = -1
|
||||
|
||||
/obj/structure/door_assembly/door_assembly_ext
|
||||
base_icon_state = "ext"
|
||||
base_name = "External Airlock"
|
||||
base_name = "External airlock"
|
||||
airlock_type = "/external"
|
||||
glass = -1
|
||||
|
||||
/obj/structure/door_assembly/door_assembly_fre
|
||||
base_icon_state = "fre"
|
||||
base_name = "Freezer Airlock"
|
||||
base_name = "Freezer airlock"
|
||||
airlock_type = "/freezer"
|
||||
glass = -1
|
||||
|
||||
/obj/structure/door_assembly/door_assembly_hatch
|
||||
base_icon_state = "hatch"
|
||||
base_name = "Airtight Hatch"
|
||||
base_name = "airtight hatch"
|
||||
airlock_type = "/hatch"
|
||||
glass = -1
|
||||
|
||||
/obj/structure/door_assembly/door_assembly_mhatch
|
||||
base_icon_state = "mhatch"
|
||||
base_name = "Maintenance Hatch"
|
||||
base_name = "maintenance hatch"
|
||||
airlock_type = "/maintenance_hatch"
|
||||
glass = -1
|
||||
|
||||
/obj/structure/door_assembly/door_assembly_highsecurity // Borrowing this until WJohnston makes sprites for the assembly
|
||||
base_icon_state = "highsec"
|
||||
base_name = "High Security Airlock"
|
||||
base_name = "high security airlock"
|
||||
airlock_type = "/highsecurity"
|
||||
glass = -1
|
||||
|
||||
@@ -221,7 +221,6 @@
|
||||
W.loc = src
|
||||
user << "<span class='notice'>You installed the airlock electronics!</span>"
|
||||
src.state = 2
|
||||
src.name = "Near finished Airlock Assembly"
|
||||
src.electronics = W
|
||||
|
||||
else if(istype(W, /obj/item/weapon/crowbar) && state == 2 )
|
||||
@@ -238,7 +237,6 @@
|
||||
if(!src) return
|
||||
user << "<span class='notice'>You removed the airlock electronics!</span>"
|
||||
src.state = 1
|
||||
src.name = "Wired Airlock Assembly"
|
||||
electronics.loc = src.loc
|
||||
electronics = null
|
||||
|
||||
@@ -294,9 +292,9 @@
|
||||
switch (state)
|
||||
if(0)
|
||||
if (anchored)
|
||||
name = "Secured "
|
||||
name = "secured "
|
||||
if(1)
|
||||
name = "Wired "
|
||||
name = "wired "
|
||||
if(2)
|
||||
name = "Near Finished "
|
||||
name += "[glass == 1 ? "Window " : ""][istext(glass) ? "[glass] Airlock" : base_name] Assembly"
|
||||
name = "near finished "
|
||||
name += "[glass == 1 ? "window " : ""][istext(glass) ? "[glass] airlock" : base_name] assembly ([created_name])"
|
||||
|
||||
@@ -78,6 +78,11 @@
|
||||
icon = 'icons/obj/plants.dmi'
|
||||
icon_state = "plant-26"
|
||||
|
||||
/obj/structure/flora/pottedplant/xmas/New()
|
||||
..()
|
||||
icon_state = "plant-xmas"
|
||||
|
||||
|
||||
//newbushes
|
||||
|
||||
/obj/structure/flora/ausbushes
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
else if(!anchored)
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
|
||||
user << "<span class='notice'>Now securing the girder...</span>"
|
||||
if(get_turf(user, 40))
|
||||
if(do_after(user, 40,src))
|
||||
user << "<span class='notice'>You secured the girder!</span>"
|
||||
reset_girder()
|
||||
|
||||
@@ -126,7 +126,8 @@
|
||||
return ..()
|
||||
|
||||
/obj/structure/girder/proc/construct_wall(obj/item/stack/material/S, mob/user)
|
||||
if(S.get_amount() < 2)
|
||||
var/amount_to_use = reinf_material ? 1 : 2
|
||||
if(S.get_amount() < amount_to_use)
|
||||
user << "<span class='notice'>There isn't enough material here to construct a wall.</span>"
|
||||
return 0
|
||||
|
||||
@@ -143,7 +144,6 @@
|
||||
|
||||
user << "<span class='notice'>You begin adding the plating...</span>"
|
||||
|
||||
var/amount_to_use = reinf_material ? 1 : 2
|
||||
if(!do_after(user,40) || !S.use(amount_to_use))
|
||||
return 1 //once we've gotten this far don't call parent attackby()
|
||||
|
||||
|
||||
@@ -328,9 +328,6 @@
|
||||
desc = "Rubber ducky you're so fine, you make bathtime lots of fuuun. Rubber ducky I'm awfully fooooond of yooooouuuu~" //thanks doohl
|
||||
icon = 'icons/obj/watercloset.dmi'
|
||||
icon_state = "rubberducky"
|
||||
item_state = "rubberducky"
|
||||
|
||||
|
||||
|
||||
/obj/structure/sink
|
||||
name = "sink"
|
||||
@@ -388,7 +385,6 @@
|
||||
for(var/mob/V in viewers(src, null))
|
||||
V.show_message("<span class='notice'>[user] washes their hands using \the [src].</span>")
|
||||
|
||||
|
||||
/obj/structure/sink/attackby(obj/item/O as obj, mob/user as mob)
|
||||
if(busy)
|
||||
user << "<span class='warning'>Someone's already washing here.</span>"
|
||||
@@ -444,7 +440,6 @@
|
||||
"<span class='notice'>[user] washes \a [I] using \the [src].</span>", \
|
||||
"<span class='notice'>You wash \a [I] using \the [src].</span>")
|
||||
|
||||
|
||||
/obj/structure/sink/kitchen
|
||||
name = "kitchen sink"
|
||||
icon_state = "sink_alt"
|
||||
|
||||
@@ -19,12 +19,18 @@ obj/structure/windoor_assembly
|
||||
w_class = 3
|
||||
|
||||
var/obj/item/weapon/airlock_electronics/electronics = null
|
||||
var/created_name = null
|
||||
|
||||
//Vars to help with the icon's name
|
||||
var/facing = "l" //Does the windoor open to the left or right?
|
||||
var/secure = "" //Whether or not this creates a secure windoor
|
||||
var/state = "01" //How far the door assembly has progressed in terms of sprites
|
||||
|
||||
obj/structure/windoor_assembly/secure
|
||||
name = "secure windoor assembly"
|
||||
secure = "secure_"
|
||||
icon_state = "l_secure_windoor_assembly01"
|
||||
|
||||
obj/structure/windoor_assembly/New(Loc, start_dir=NORTH, constructed=0)
|
||||
..()
|
||||
if(constructed)
|
||||
@@ -65,24 +71,31 @@ obj/structure/windoor_assembly/Destroy()
|
||||
|
||||
|
||||
/obj/structure/windoor_assembly/attackby(obj/item/W as obj, mob/user as mob)
|
||||
//I really should have spread this out across more states but thin little windoors are hard to sprite.
|
||||
if(istype(W, /obj/item/weapon/pen))
|
||||
var/t = sanitizeSafe(input(user, "Enter the name for the windoor.", src.name, src.created_name), MAX_NAME_LEN)
|
||||
if(!t) return
|
||||
if(!in_range(src, usr) && src.loc != usr) return
|
||||
created_name = t
|
||||
return
|
||||
|
||||
switch(state)
|
||||
if("01")
|
||||
if(istype(W, /obj/item/weapon/weldingtool) && !anchored )
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if (WT.remove_fuel(0,user))
|
||||
user.visible_message("[user] dissassembles the windoor assembly.", "You start to dissassemble the windoor assembly.")
|
||||
user.visible_message("[user] disassembles the windoor assembly.", "You start to disassemble the windoor assembly.")
|
||||
playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
|
||||
|
||||
if(do_after(user, 40))
|
||||
if(!src || !WT.isOn()) return
|
||||
user << "<span class='notice'>You dissasembled the windoor assembly!</span>"
|
||||
new /obj/item/stack/material/glass/reinforced(get_turf(src), 5)
|
||||
user << "<span class='notice'>You disassembled the windoor assembly!</span>"
|
||||
if(secure)
|
||||
PoolOrNew(/obj/item/stack/rods, list(get_turf(src), 4))
|
||||
new /obj/item/stack/material/glass/reinforced(get_turf(src), 2)
|
||||
else
|
||||
new /obj/item/stack/material/glass(get_turf(src), 2)
|
||||
qdel(src)
|
||||
else
|
||||
user << "<span class='notice'>You need more welding fuel to dissassemble the windoor assembly.</span>"
|
||||
user << "<span class='notice'>You need more welding fuel to disassemble the windoor assembly.</span>"
|
||||
return
|
||||
|
||||
//Wrenching an unsecure assembly anchors it in place. Step 4 complete
|
||||
@@ -95,9 +108,9 @@ obj/structure/windoor_assembly/Destroy()
|
||||
user << "<span class='notice'>You've secured the windoor assembly!</span>"
|
||||
src.anchored = 1
|
||||
if(src.secure)
|
||||
src.name = "Secure Anchored Windoor Assembly"
|
||||
src.name = "secure anchored windoor assembly"
|
||||
else
|
||||
src.name = "Anchored Windoor Assembly"
|
||||
src.name = "anchored windoor assembly"
|
||||
|
||||
//Unwrenching an unsecure assembly un-anchors it. Step 4 undone
|
||||
else if(istype(W, /obj/item/weapon/wrench) && anchored)
|
||||
@@ -109,26 +122,9 @@ obj/structure/windoor_assembly/Destroy()
|
||||
user << "<span class='notice'>You've unsecured the windoor assembly!</span>"
|
||||
src.anchored = 0
|
||||
if(src.secure)
|
||||
src.name = "Secure Windoor Assembly"
|
||||
src.name = "secure windoor assembly"
|
||||
else
|
||||
src.name = "Windoor Assembly"
|
||||
|
||||
//Adding plasteel makes the assembly a secure windoor assembly. Step 2 (optional) complete.
|
||||
else if(istype(W, /obj/item/stack/rods) && !secure)
|
||||
var/obj/item/stack/rods/R = W
|
||||
if(R.get_amount() < 4)
|
||||
user << "<span class='warning'>You need more rods to do this.</span>"
|
||||
return
|
||||
user << "<span class='notice'>You start to reinforce the windoor with rods.</span>"
|
||||
|
||||
if(do_after(user,40) && !secure)
|
||||
if (R.use(4))
|
||||
user << "<span class='notice'>You reinforce the windoor.</span>"
|
||||
src.secure = "secure_"
|
||||
if(src.anchored)
|
||||
src.name = "Secure Anchored Windoor Assembly"
|
||||
else
|
||||
src.name = "Secure Windoor Assembly"
|
||||
src.name = "windoor assembly"
|
||||
|
||||
//Adding cable to the assembly. Step 5 complete.
|
||||
else if(istype(W, /obj/item/stack/cable_coil) && anchored)
|
||||
@@ -140,9 +136,9 @@ obj/structure/windoor_assembly/Destroy()
|
||||
user << "<span class='notice'>You wire the windoor!</span>"
|
||||
src.state = "02"
|
||||
if(src.secure)
|
||||
src.name = "Secure Wired Windoor Assembly"
|
||||
src.name = "secure wired windoor assembly"
|
||||
else
|
||||
src.name = "Wired Windoor Assembly"
|
||||
src.name = "wired windoor assembly"
|
||||
else
|
||||
..()
|
||||
|
||||
@@ -160,9 +156,9 @@ obj/structure/windoor_assembly/Destroy()
|
||||
new/obj/item/stack/cable_coil(get_turf(user), 1)
|
||||
src.state = "01"
|
||||
if(src.secure)
|
||||
src.name = "Secure Anchored Windoor Assembly"
|
||||
src.name = "secure anchored windoor assembly"
|
||||
else
|
||||
src.name = "Anchored Windoor Assembly"
|
||||
src.name = "anchored windoor assembly"
|
||||
|
||||
//Adding airlock electronics for access. Step 6 complete.
|
||||
else if(istype(W, /obj/item/weapon/airlock_electronics) && W:icon_state != "door_electronics_smoked")
|
||||
@@ -175,7 +171,7 @@ obj/structure/windoor_assembly/Destroy()
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
user << "<span class='notice'>You've installed the airlock electronics!</span>"
|
||||
src.name = "Near finished Windoor Assembly"
|
||||
src.name = "near finished windoor assembly"
|
||||
src.electronics = W
|
||||
else
|
||||
W.loc = src.loc
|
||||
@@ -189,9 +185,9 @@ obj/structure/windoor_assembly/Destroy()
|
||||
if(!src || !src.electronics) return
|
||||
user << "<span class='notice'>You've removed the airlock electronics!</span>"
|
||||
if(src.secure)
|
||||
src.name = "Secure Wired Windoor Assembly"
|
||||
src.name = "secure wired windoor assembly"
|
||||
else
|
||||
src.name = "Wired Windoor Assembly"
|
||||
src.name = "wired windoor assembly"
|
||||
var/obj/item/weapon/airlock_electronics/ae = electronics
|
||||
electronics = null
|
||||
ae.loc = src.loc
|
||||
@@ -222,6 +218,9 @@ obj/structure/windoor_assembly/Destroy()
|
||||
windoor.base_state = "rightsecure"
|
||||
windoor.set_dir(src.dir)
|
||||
windoor.density = 0
|
||||
windoor.name = created_name
|
||||
spawn(0)
|
||||
windoor.close()
|
||||
|
||||
if(src.electronics.one_access)
|
||||
windoor.req_access = null
|
||||
@@ -240,6 +239,9 @@ obj/structure/windoor_assembly/Destroy()
|
||||
windoor.base_state = "right"
|
||||
windoor.set_dir(src.dir)
|
||||
windoor.density = 0
|
||||
windoor.name = created_name
|
||||
spawn(0)
|
||||
windoor.close()
|
||||
|
||||
if(src.electronics.one_access)
|
||||
windoor.req_access = null
|
||||
@@ -257,8 +259,11 @@ obj/structure/windoor_assembly/Destroy()
|
||||
..()
|
||||
|
||||
//Update to reflect changes(if applicable)
|
||||
update_icon()
|
||||
update_state()
|
||||
|
||||
/obj/structure/windoor_assembly/proc/update_state()
|
||||
update_icon()
|
||||
name += " ([created_name])"
|
||||
|
||||
//Rotates the windoor assembly clockwise
|
||||
/obj/structure/windoor_assembly/verb/revrotate()
|
||||
|
||||
@@ -161,6 +161,7 @@
|
||||
if(reinf) tforce *= 0.25
|
||||
if(health - tforce <= 7 && !reinf)
|
||||
anchored = 0
|
||||
update_verbs()
|
||||
update_nearby_icons()
|
||||
step(src, get_dir(AM, src))
|
||||
take_damage(tforce)
|
||||
|
||||
Reference in New Issue
Block a user