mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
loc -- > forcemove (#31176)
* manually done * Update syndicatebomb.dm * Update robot.dm * Update atoms_movable.dm * Update syndicatebomb.dm * Update devil.dm * Update bedsheet_bin.dm * Update vending.dm * Update bedsheet_bin.dm * Update atoms_movable.dm * Update syndicatebomb.dm * Update vending.dm * Update bedsheet_bin.dm * Update devil.dm * Update door_assembly.dm
This commit is contained in:
@@ -140,7 +140,7 @@
|
|||||||
if(open_panel && wires.is_all_cut())
|
if(open_panel && wires.is_all_cut())
|
||||||
if(payload)
|
if(payload)
|
||||||
to_chat(user, "<span class='notice'>You carefully pry out [payload].</span>")
|
to_chat(user, "<span class='notice'>You carefully pry out [payload].</span>")
|
||||||
payload.loc = user.loc
|
payload.forceMove(drop_location())
|
||||||
payload = null
|
payload = null
|
||||||
else
|
else
|
||||||
to_chat(user, "<span class='warning'>There isn't anything in here to remove!</span>")
|
to_chat(user, "<span class='warning'>There isn't anything in here to remove!</span>")
|
||||||
@@ -206,14 +206,14 @@
|
|||||||
var/new_timer = input(user, "Please set the timer.", "Timer", "[timer_set]") as num
|
var/new_timer = input(user, "Please set the timer.", "Timer", "[timer_set]") as num
|
||||||
if(in_range(src, user) && isliving(user)) //No running off and setting bombs from across the station
|
if(in_range(src, user) && isliving(user)) //No running off and setting bombs from across the station
|
||||||
timer_set = Clamp(new_timer, minimum_timer, maximum_timer)
|
timer_set = Clamp(new_timer, minimum_timer, maximum_timer)
|
||||||
src.loc.visible_message("<span class='notice'>[icon2html(src, viewers(src))] timer set for [timer_set] seconds.</span>")
|
loc.visible_message("<span class='notice'>[icon2html(src, viewers(src))] timer set for [timer_set] seconds.</span>")
|
||||||
if(alert(user,"Would you like to start the countdown now?",,"Yes","No") == "Yes" && in_range(src, user) && isliving(user))
|
if(alert(user,"Would you like to start the countdown now?",,"Yes","No") == "Yes" && in_range(src, user) && isliving(user))
|
||||||
if(defused || active)
|
if(defused || active)
|
||||||
if(defused)
|
if(defused)
|
||||||
src.loc.visible_message("<span class='warning'>[icon2html(src, viewers(src))] Device error: User intervention required.</span>")
|
visible_message("<span class='warning'>[icon2html(src, viewers(src))] Device error: User intervention required.</span>")
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
src.loc.visible_message("<span class='danger'>[icon2html(src, viewers(loc))] [timer_set] seconds until detonation, please clear the area.</span>")
|
visible_message("<span class='danger'>[icon2html(src, viewers(loc))] [timer_set] seconds until detonation, please clear the area.</span>")
|
||||||
activate()
|
activate()
|
||||||
update_icon()
|
update_icon()
|
||||||
add_fingerprint(user)
|
add_fingerprint(user)
|
||||||
@@ -223,7 +223,7 @@
|
|||||||
if(payload && !istype(payload, /obj/item/bombcore/training))
|
if(payload && !istype(payload, /obj/item/bombcore/training))
|
||||||
message_admins("[ADMIN_LOOKUPFLW(user)] has primed a [name] ([payload]) for detonation at [A.name] [ADMIN_JMP(bombturf)]</a>.")
|
message_admins("[ADMIN_LOOKUPFLW(user)] has primed a [name] ([payload]) for detonation at [A.name] [ADMIN_JMP(bombturf)]</a>.")
|
||||||
log_game("[key_name(user)] has primed a [name] ([payload]) for detonation at [A.name][COORD(bombturf)]")
|
log_game("[key_name(user)] has primed a [name] ([payload]) for detonation at [A.name][COORD(bombturf)]")
|
||||||
payload.adminlog = "The [src.name] that [key_name(user)] had primed detonated!"
|
payload.adminlog = "The [name] that [key_name(user)] had primed detonated!"
|
||||||
|
|
||||||
///Bomb Subtypes///
|
///Bomb Subtypes///
|
||||||
|
|
||||||
@@ -359,7 +359,7 @@
|
|||||||
var/amt_summon = 1
|
var/amt_summon = 1
|
||||||
|
|
||||||
/obj/item/bombcore/badmin/summon/detonate()
|
/obj/item/bombcore/badmin/summon/detonate()
|
||||||
var/obj/machinery/syndicatebomb/B = src.loc
|
var/obj/machinery/syndicatebomb/B = loc
|
||||||
spawn_and_random_walk(summon_path, src, amt_summon, walk_chance=50, admin_spawn=TRUE)
|
spawn_and_random_walk(summon_path, src, amt_summon, walk_chance=50, admin_spawn=TRUE)
|
||||||
qdel(B)
|
qdel(B)
|
||||||
qdel(src)
|
qdel(src)
|
||||||
@@ -369,7 +369,7 @@
|
|||||||
amt_summon = 100
|
amt_summon = 100
|
||||||
|
|
||||||
/obj/item/bombcore/badmin/summon/clown/defuse()
|
/obj/item/bombcore/badmin/summon/clown/defuse()
|
||||||
playsound(src.loc, 'sound/misc/sadtrombone.ogg', 50)
|
playsound(src, 'sound/misc/sadtrombone.ogg', 50)
|
||||||
..()
|
..()
|
||||||
|
|
||||||
/obj/item/bombcore/large
|
/obj/item/bombcore/large
|
||||||
@@ -457,7 +457,7 @@
|
|||||||
if(istype(I, /obj/item/crowbar) && beakers.len > 0)
|
if(istype(I, /obj/item/crowbar) && beakers.len > 0)
|
||||||
playsound(loc, I.usesound, 50, 1)
|
playsound(loc, I.usesound, 50, 1)
|
||||||
for (var/obj/item/B in beakers)
|
for (var/obj/item/B in beakers)
|
||||||
B.loc = get_turf(src)
|
B.forceMove(drop_location())
|
||||||
beakers -= B
|
beakers -= B
|
||||||
return
|
return
|
||||||
else if(istype(I, /obj/item/reagent_containers/glass/beaker) || istype(I, /obj/item/reagent_containers/glass/bottle))
|
else if(istype(I, /obj/item/reagent_containers/glass/beaker) || istype(I, /obj/item/reagent_containers/glass/bottle))
|
||||||
@@ -488,9 +488,9 @@
|
|||||||
for(var/obj/item/slime_extract/S in LG.beakers) // And slime cores.
|
for(var/obj/item/slime_extract/S in LG.beakers) // And slime cores.
|
||||||
if(beakers.len < max_beakers)
|
if(beakers.len < max_beakers)
|
||||||
beakers += S
|
beakers += S
|
||||||
S.loc = src
|
S.forceMove(src)
|
||||||
else
|
else
|
||||||
S.loc = get_turf(src)
|
S.forceMove(drop_location())
|
||||||
|
|
||||||
if(istype(G, /obj/item/grenade/chem_grenade/cryo))
|
if(istype(G, /obj/item/grenade/chem_grenade/cryo))
|
||||||
spread_range -= 1 // Reduced range, but increased density.
|
spread_range -= 1 // Reduced range, but increased density.
|
||||||
@@ -505,9 +505,9 @@
|
|||||||
for(var/obj/item/reagent_containers/glass/B in G)
|
for(var/obj/item/reagent_containers/glass/B in G)
|
||||||
if(beakers.len < max_beakers)
|
if(beakers.len < max_beakers)
|
||||||
beakers += B
|
beakers += B
|
||||||
B.loc = src
|
B.forceMove(src)
|
||||||
else
|
else
|
||||||
B.loc = get_turf(src)
|
B.forceMove(drop_location())
|
||||||
|
|
||||||
qdel(G)
|
qdel(G)
|
||||||
|
|
||||||
|
|||||||
@@ -259,7 +259,7 @@
|
|||||||
cut_overlays()
|
cut_overlays()
|
||||||
if(panel_open)
|
if(panel_open)
|
||||||
add_overlay("[initial(icon_state)]-panel")
|
add_overlay("[initial(icon_state)]-panel")
|
||||||
playsound(src.loc, W.usesound, 50, 1)
|
playsound(src, W.usesound, 50, 1)
|
||||||
updateUsrDialog()
|
updateUsrDialog()
|
||||||
else
|
else
|
||||||
to_chat(user, "<span class='warning'>You must first secure [src].</span>")
|
to_chat(user, "<span class='warning'>You must first secure [src].</span>")
|
||||||
@@ -403,7 +403,7 @@
|
|||||||
|
|
||||||
var/datum/browser/popup = new(user, "vending", (name))
|
var/datum/browser/popup = new(user, "vending", (name))
|
||||||
popup.set_content(dat)
|
popup.set_content(dat)
|
||||||
popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state))
|
popup.set_title_image(user.browse_rsc_icon(icon, icon_state))
|
||||||
popup.open()
|
popup.open()
|
||||||
|
|
||||||
|
|
||||||
@@ -443,7 +443,7 @@
|
|||||||
dish_quants[N] = max(dish_quants[N] - 1, 0)
|
dish_quants[N] = max(dish_quants[N] - 1, 0)
|
||||||
for(var/obj/O in contents)
|
for(var/obj/O in contents)
|
||||||
if(O.name == N)
|
if(O.name == N)
|
||||||
O.loc = src.loc
|
O.forceMove(drop_location())
|
||||||
break
|
break
|
||||||
vend_ready = 1
|
vend_ready = 1
|
||||||
updateUsrDialog()
|
updateUsrDialog()
|
||||||
@@ -510,7 +510,7 @@
|
|||||||
if(icon_vend) //Show the vending animation if needed
|
if(icon_vend) //Show the vending animation if needed
|
||||||
flick(icon_vend,src)
|
flick(icon_vend,src)
|
||||||
new R.product_path(get_turf(src))
|
new R.product_path(get_turf(src))
|
||||||
SSblackbox.add_details("vending_machine_usage","[src.type]|[R.product_path]")
|
SSblackbox.add_details("vending_machine_usage","[type]|[R.product_path]")
|
||||||
vend_ready = 1
|
vend_ready = 1
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -309,13 +309,13 @@ LINEN BINS
|
|||||||
else
|
else
|
||||||
B = new /obj/item/bedsheet(loc)
|
B = new /obj/item/bedsheet(loc)
|
||||||
|
|
||||||
B.loc = user.loc
|
B.forceMove(drop_location())
|
||||||
user.put_in_hands(B)
|
user.put_in_hands(B)
|
||||||
to_chat(user, "<span class='notice'>You take [B] out of [src].</span>")
|
to_chat(user, "<span class='notice'>You take [B] out of [src].</span>")
|
||||||
update_icon()
|
update_icon()
|
||||||
|
|
||||||
if(hidden)
|
if(hidden)
|
||||||
hidden.loc = user.loc
|
hidden.forceMove(drop_location())
|
||||||
to_chat(user, "<span class='notice'>[hidden] falls out of [B]!</span>")
|
to_chat(user, "<span class='notice'>[hidden] falls out of [B]!</span>")
|
||||||
hidden = null
|
hidden = null
|
||||||
|
|
||||||
@@ -333,12 +333,12 @@ LINEN BINS
|
|||||||
else
|
else
|
||||||
B = new /obj/item/bedsheet(loc)
|
B = new /obj/item/bedsheet(loc)
|
||||||
|
|
||||||
B.loc = loc
|
B.forceMove(drop_location())
|
||||||
to_chat(user, "<span class='notice'>You telekinetically remove [B] from [src].</span>")
|
to_chat(user, "<span class='notice'>You telekinetically remove [B] from [src].</span>")
|
||||||
update_icon()
|
update_icon()
|
||||||
|
|
||||||
if(hidden)
|
if(hidden)
|
||||||
hidden.loc = loc
|
hidden.forceMove(drop_location())
|
||||||
hidden = null
|
hidden = null
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,8 @@
|
|||||||
|
|
||||||
|
#define AIRLOCK_ASSEMBLY_NEEDS_WIRES 0
|
||||||
|
#define AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS 1
|
||||||
|
#define AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER 2
|
||||||
|
|
||||||
/obj/structure/door_assembly
|
/obj/structure/door_assembly
|
||||||
name = "airlock assembly"
|
name = "airlock assembly"
|
||||||
icon = 'icons/obj/doors/airlocks/station/public.dmi'
|
icon = 'icons/obj/doors/airlocks/station/public.dmi'
|
||||||
@@ -6,8 +11,7 @@
|
|||||||
anchored = FALSE
|
anchored = FALSE
|
||||||
density = TRUE
|
density = TRUE
|
||||||
max_integrity = 200
|
max_integrity = 200
|
||||||
desc = "The mechanical framework for an airlock."
|
var/state = AIRLOCK_ASSEMBLY_NEEDS_WIRES
|
||||||
var/state = 0
|
|
||||||
var/mineral = null
|
var/mineral = null
|
||||||
var/typetext = ""
|
var/typetext = ""
|
||||||
var/icontext = ""
|
var/icontext = ""
|
||||||
@@ -26,7 +30,7 @@
|
|||||||
name = "airlock assembly"
|
name = "airlock assembly"
|
||||||
airlock_type = /obj/machinery/door/airlock
|
airlock_type = /obj/machinery/door/airlock
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
|
|
||||||
/obj/structure/door_assembly/door_assembly_com
|
/obj/structure/door_assembly/door_assembly_com
|
||||||
name = "command airlock assembly"
|
name = "command airlock assembly"
|
||||||
@@ -36,7 +40,7 @@
|
|||||||
glass_type = /obj/machinery/door/airlock/glass_command
|
glass_type = /obj/machinery/door/airlock/glass_command
|
||||||
airlock_type = /obj/machinery/door/airlock/command
|
airlock_type = /obj/machinery/door/airlock/command
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
|
|
||||||
/obj/structure/door_assembly/door_assembly_com/glass
|
/obj/structure/door_assembly/door_assembly_com/glass
|
||||||
mineral = "glass"
|
mineral = "glass"
|
||||||
@@ -50,7 +54,7 @@
|
|||||||
glass_type = /obj/machinery/door/airlock/glass_security
|
glass_type = /obj/machinery/door/airlock/glass_security
|
||||||
airlock_type = /obj/machinery/door/airlock/security
|
airlock_type = /obj/machinery/door/airlock/security
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
|
|
||||||
/obj/structure/door_assembly/door_assembly_sec/glass
|
/obj/structure/door_assembly/door_assembly_sec/glass
|
||||||
mineral = "glass"
|
mineral = "glass"
|
||||||
@@ -64,7 +68,7 @@
|
|||||||
glass_type = /obj/machinery/door/airlock/glass_engineering
|
glass_type = /obj/machinery/door/airlock/glass_engineering
|
||||||
airlock_type = /obj/machinery/door/airlock/engineering
|
airlock_type = /obj/machinery/door/airlock/engineering
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
|
|
||||||
/obj/structure/door_assembly/door_assembly_eng/glass
|
/obj/structure/door_assembly/door_assembly_eng/glass
|
||||||
mineral = "glass"
|
mineral = "glass"
|
||||||
@@ -78,7 +82,7 @@
|
|||||||
glass_type = /obj/machinery/door/airlock/glass_mining
|
glass_type = /obj/machinery/door/airlock/glass_mining
|
||||||
airlock_type = /obj/machinery/door/airlock/mining
|
airlock_type = /obj/machinery/door/airlock/mining
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
|
|
||||||
/obj/structure/door_assembly/door_assembly_min/glass
|
/obj/structure/door_assembly/door_assembly_min/glass
|
||||||
mineral = "glass"
|
mineral = "glass"
|
||||||
@@ -92,7 +96,7 @@
|
|||||||
glass_type = /obj/machinery/door/airlock/glass_atmos
|
glass_type = /obj/machinery/door/airlock/glass_atmos
|
||||||
airlock_type = /obj/machinery/door/airlock/atmos
|
airlock_type = /obj/machinery/door/airlock/atmos
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
|
|
||||||
/obj/structure/door_assembly/door_assembly_atmo/glass
|
/obj/structure/door_assembly/door_assembly_atmo/glass
|
||||||
mineral = "glass"
|
mineral = "glass"
|
||||||
@@ -106,7 +110,7 @@
|
|||||||
glass_type = /obj/machinery/door/airlock/glass_research
|
glass_type = /obj/machinery/door/airlock/glass_research
|
||||||
airlock_type = /obj/machinery/door/airlock/research
|
airlock_type = /obj/machinery/door/airlock/research
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
|
|
||||||
/obj/structure/door_assembly/door_assembly_research/glass
|
/obj/structure/door_assembly/door_assembly_research/glass
|
||||||
mineral = "glass"
|
mineral = "glass"
|
||||||
@@ -120,7 +124,7 @@
|
|||||||
glass_type = /obj/machinery/door/airlock/glass_science
|
glass_type = /obj/machinery/door/airlock/glass_science
|
||||||
airlock_type = /obj/machinery/door/airlock/science
|
airlock_type = /obj/machinery/door/airlock/science
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
|
|
||||||
/obj/structure/door_assembly/door_assembly_science/glass
|
/obj/structure/door_assembly/door_assembly_science/glass
|
||||||
mineral = "glass"
|
mineral = "glass"
|
||||||
@@ -134,7 +138,7 @@
|
|||||||
glass_type = /obj/machinery/door/airlock/glass_medical
|
glass_type = /obj/machinery/door/airlock/glass_medical
|
||||||
airlock_type = /obj/machinery/door/airlock/medical
|
airlock_type = /obj/machinery/door/airlock/medical
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
|
|
||||||
/obj/structure/door_assembly/door_assembly_med/glass
|
/obj/structure/door_assembly/door_assembly_med/glass
|
||||||
mineral = "glass"
|
mineral = "glass"
|
||||||
@@ -148,7 +152,7 @@
|
|||||||
glass_type = /obj/machinery/door/airlock/glass_maintenance
|
glass_type = /obj/machinery/door/airlock/glass_maintenance
|
||||||
airlock_type = /obj/machinery/door/airlock/maintenance
|
airlock_type = /obj/machinery/door/airlock/maintenance
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
|
|
||||||
/obj/structure/door_assembly/door_assembly_mai/glass
|
/obj/structure/door_assembly/door_assembly_mai/glass
|
||||||
mineral = "glass"
|
mineral = "glass"
|
||||||
@@ -163,7 +167,7 @@
|
|||||||
glass_type = /obj/machinery/door/airlock/glass_external
|
glass_type = /obj/machinery/door/airlock/glass_external
|
||||||
airlock_type = /obj/machinery/door/airlock/external
|
airlock_type = /obj/machinery/door/airlock/external
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
|
|
||||||
/obj/structure/door_assembly/door_assembly_ext/glass
|
/obj/structure/door_assembly/door_assembly_ext/glass
|
||||||
mineral = "glass"
|
mineral = "glass"
|
||||||
@@ -176,7 +180,7 @@
|
|||||||
icontext = "fre"
|
icontext = "fre"
|
||||||
airlock_type = /obj/machinery/door/airlock/freezer
|
airlock_type = /obj/machinery/door/airlock/freezer
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
|
|
||||||
/obj/structure/door_assembly/door_assembly_hatch
|
/obj/structure/door_assembly/door_assembly_hatch
|
||||||
name = "airtight hatch assembly"
|
name = "airtight hatch assembly"
|
||||||
@@ -186,7 +190,7 @@
|
|||||||
icontext = "hatch"
|
icontext = "hatch"
|
||||||
airlock_type = /obj/machinery/door/airlock/hatch
|
airlock_type = /obj/machinery/door/airlock/hatch
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
|
|
||||||
/obj/structure/door_assembly/door_assembly_mhatch
|
/obj/structure/door_assembly/door_assembly_mhatch
|
||||||
name = "maintenance hatch assembly"
|
name = "maintenance hatch assembly"
|
||||||
@@ -196,7 +200,7 @@
|
|||||||
icontext = "mhatch"
|
icontext = "mhatch"
|
||||||
airlock_type = /obj/machinery/door/airlock/maintenance_hatch
|
airlock_type = /obj/machinery/door/airlock/maintenance_hatch
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
|
|
||||||
/obj/structure/door_assembly/door_assembly_glass
|
/obj/structure/door_assembly/door_assembly_glass
|
||||||
name = "glass airlock assembly"
|
name = "glass airlock assembly"
|
||||||
@@ -204,7 +208,7 @@
|
|||||||
overlays_file = 'icons/obj/doors/airlocks/station2/overlays.dmi'
|
overlays_file = 'icons/obj/doors/airlocks/station2/overlays.dmi'
|
||||||
airlock_type = /obj/machinery/door/airlock/glass
|
airlock_type = /obj/machinery/door/airlock/glass
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
mineral = "glass"
|
mineral = "glass"
|
||||||
material = "glass"
|
material = "glass"
|
||||||
|
|
||||||
@@ -213,7 +217,7 @@
|
|||||||
icon = 'icons/obj/doors/airlocks/station/gold.dmi'
|
icon = 'icons/obj/doors/airlocks/station/gold.dmi'
|
||||||
airlock_type = /obj/machinery/door/airlock/gold
|
airlock_type = /obj/machinery/door/airlock/gold
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
mineral = "gold"
|
mineral = "gold"
|
||||||
|
|
||||||
/obj/structure/door_assembly/door_assembly_silver
|
/obj/structure/door_assembly/door_assembly_silver
|
||||||
@@ -221,7 +225,7 @@
|
|||||||
icon = 'icons/obj/doors/airlocks/station/silver.dmi'
|
icon = 'icons/obj/doors/airlocks/station/silver.dmi'
|
||||||
airlock_type = /obj/machinery/door/airlock/silver
|
airlock_type = /obj/machinery/door/airlock/silver
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
mineral = "silver"
|
mineral = "silver"
|
||||||
|
|
||||||
/obj/structure/door_assembly/door_assembly_diamond
|
/obj/structure/door_assembly/door_assembly_diamond
|
||||||
@@ -229,7 +233,7 @@
|
|||||||
icon = 'icons/obj/doors/airlocks/station/diamond.dmi'
|
icon = 'icons/obj/doors/airlocks/station/diamond.dmi'
|
||||||
airlock_type = /obj/machinery/door/airlock/diamond
|
airlock_type = /obj/machinery/door/airlock/diamond
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
mineral = "diamond"
|
mineral = "diamond"
|
||||||
|
|
||||||
/obj/structure/door_assembly/door_assembly_uranium
|
/obj/structure/door_assembly/door_assembly_uranium
|
||||||
@@ -237,7 +241,7 @@
|
|||||||
icon = 'icons/obj/doors/airlocks/station/uranium.dmi'
|
icon = 'icons/obj/doors/airlocks/station/uranium.dmi'
|
||||||
airlock_type = /obj/machinery/door/airlock/uranium
|
airlock_type = /obj/machinery/door/airlock/uranium
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
mineral = "uranium"
|
mineral = "uranium"
|
||||||
|
|
||||||
/obj/structure/door_assembly/door_assembly_plasma
|
/obj/structure/door_assembly/door_assembly_plasma
|
||||||
@@ -245,7 +249,7 @@
|
|||||||
icon = 'icons/obj/doors/airlocks/station/plasma.dmi'
|
icon = 'icons/obj/doors/airlocks/station/plasma.dmi'
|
||||||
airlock_type = /obj/machinery/door/airlock/plasma
|
airlock_type = /obj/machinery/door/airlock/plasma
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
mineral = "plasma"
|
mineral = "plasma"
|
||||||
|
|
||||||
/obj/structure/door_assembly/door_assembly_clown
|
/obj/structure/door_assembly/door_assembly_clown
|
||||||
@@ -254,7 +258,7 @@
|
|||||||
icon = 'icons/obj/doors/airlocks/station/bananium.dmi'
|
icon = 'icons/obj/doors/airlocks/station/bananium.dmi'
|
||||||
airlock_type = /obj/machinery/door/airlock/clown
|
airlock_type = /obj/machinery/door/airlock/clown
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
mineral = "bananium"
|
mineral = "bananium"
|
||||||
|
|
||||||
/obj/structure/door_assembly/door_assembly_sandstone
|
/obj/structure/door_assembly/door_assembly_sandstone
|
||||||
@@ -262,7 +266,7 @@
|
|||||||
icon = 'icons/obj/doors/airlocks/station/sandstone.dmi'
|
icon = 'icons/obj/doors/airlocks/station/sandstone.dmi'
|
||||||
airlock_type = /obj/machinery/door/airlock/sandstone
|
airlock_type = /obj/machinery/door/airlock/sandstone
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
mineral = "sandstone"
|
mineral = "sandstone"
|
||||||
|
|
||||||
/obj/structure/door_assembly/door_assembly_titanium
|
/obj/structure/door_assembly/door_assembly_titanium
|
||||||
@@ -274,7 +278,7 @@
|
|||||||
glass_type = /obj/machinery/door/airlock/glass_titanium
|
glass_type = /obj/machinery/door/airlock/glass_titanium
|
||||||
airlock_type = /obj/machinery/door/airlock/titanium
|
airlock_type = /obj/machinery/door/airlock/titanium
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
mineral = "titanium"
|
mineral = "titanium"
|
||||||
|
|
||||||
/obj/structure/door_assembly/door_assembly_titanium/glass
|
/obj/structure/door_assembly/door_assembly_titanium/glass
|
||||||
@@ -289,7 +293,7 @@
|
|||||||
icontext = "highsec"
|
icontext = "highsec"
|
||||||
airlock_type = /obj/machinery/door/airlock/highsecurity
|
airlock_type = /obj/machinery/door/airlock/highsecurity
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
|
|
||||||
/obj/structure/door_assembly/door_assembly_vault
|
/obj/structure/door_assembly/door_assembly_vault
|
||||||
name = "vault door assembly"
|
name = "vault door assembly"
|
||||||
@@ -299,7 +303,7 @@
|
|||||||
icontext = "vault"
|
icontext = "vault"
|
||||||
airlock_type = /obj/machinery/door/airlock/vault
|
airlock_type = /obj/machinery/door/airlock/vault
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
|
|
||||||
/obj/structure/door_assembly/door_assembly_shuttle
|
/obj/structure/door_assembly/door_assembly_shuttle
|
||||||
name = "shuttle airlock assembly"
|
name = "shuttle airlock assembly"
|
||||||
@@ -309,7 +313,7 @@
|
|||||||
icontext = "shuttle"
|
icontext = "shuttle"
|
||||||
airlock_type = /obj/machinery/door/airlock/shuttle
|
airlock_type = /obj/machinery/door/airlock/shuttle
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
|
|
||||||
/obj/structure/door_assembly/door_assembly_cult
|
/obj/structure/door_assembly/door_assembly_cult
|
||||||
name = "cult airlock assembly"
|
name = "cult airlock assembly"
|
||||||
@@ -319,7 +323,7 @@
|
|||||||
icontext = "cult"
|
icontext = "cult"
|
||||||
airlock_type = /obj/machinery/door/airlock/cult
|
airlock_type = /obj/machinery/door/airlock/cult
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
|
|
||||||
/obj/structure/door_assembly/door_assembly_cult/glass
|
/obj/structure/door_assembly/door_assembly_cult/glass
|
||||||
mineral = "glass"
|
mineral = "glass"
|
||||||
@@ -338,7 +342,7 @@
|
|||||||
icon = 'icons/obj/doors/airlocks/station/wood.dmi'
|
icon = 'icons/obj/doors/airlocks/station/wood.dmi'
|
||||||
airlock_type = /obj/machinery/door/airlock/wood
|
airlock_type = /obj/machinery/door/airlock/wood
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
mineral = "wood"
|
mineral = "wood"
|
||||||
|
|
||||||
/obj/structure/door_assembly/door_assembly_viro
|
/obj/structure/door_assembly/door_assembly_viro
|
||||||
@@ -349,7 +353,7 @@
|
|||||||
glass_type = /obj/machinery/door/airlock/glass_virology
|
glass_type = /obj/machinery/door/airlock/glass_virology
|
||||||
airlock_type = /obj/machinery/door/airlock/virology
|
airlock_type = /obj/machinery/door/airlock/virology
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
|
|
||||||
/obj/structure/door_assembly/door_assembly_viro/glass
|
/obj/structure/door_assembly/door_assembly_viro/glass
|
||||||
mineral = "glass"
|
mineral = "glass"
|
||||||
@@ -362,7 +366,7 @@
|
|||||||
icontext = "ele"
|
icontext = "ele"
|
||||||
airlock_type = /obj/machinery/door/airlock/centcom
|
airlock_type = /obj/machinery/door/airlock/centcom
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
|
|
||||||
/obj/structure/door_assembly/examine(mob/user)
|
/obj/structure/door_assembly/examine(mob/user)
|
||||||
..()
|
..()
|
||||||
@@ -383,10 +387,10 @@
|
|||||||
|
|
||||||
/obj/structure/door_assembly/attackby(obj/item/W, mob/user, params)
|
/obj/structure/door_assembly/attackby(obj/item/W, mob/user, params)
|
||||||
if(istype(W, /obj/item/pen))
|
if(istype(W, /obj/item/pen))
|
||||||
var/t = stripped_input(user, "Enter the name for the door.", src.name, src.created_name,MAX_NAME_LEN)
|
var/t = stripped_input(user, "Enter the name for the door.", name, created_name,MAX_NAME_LEN)
|
||||||
if(!t)
|
if(!t)
|
||||||
return
|
return
|
||||||
if(!in_range(src, usr) && src.loc != usr)
|
if(!in_range(src, usr) && loc != usr)
|
||||||
return
|
return
|
||||||
created_name = t
|
created_name = t
|
||||||
|
|
||||||
@@ -410,7 +414,7 @@
|
|||||||
|
|
||||||
|
|
||||||
icontype = input(user, "Please select a paintjob for this airlock.") in optionlist
|
icontype = input(user, "Please select a paintjob for this airlock.") in optionlist
|
||||||
if((!in_range(src, usr) && src.loc != usr) || !WT.use(user))
|
if((!in_range(src, usr) && loc != usr) || !WT.use(user))
|
||||||
return
|
return
|
||||||
var/has_solid = FALSE
|
var/has_solid = FALSE
|
||||||
var/has_glass = FALSE
|
var/has_glass = FALSE
|
||||||
@@ -525,7 +529,7 @@
|
|||||||
if(WT.remove_fuel(0,user))
|
if(WT.remove_fuel(0,user))
|
||||||
user.visible_message("<span class='warning'>[user] disassembles the airlock assembly.</span>", \
|
user.visible_message("<span class='warning'>[user] disassembles the airlock assembly.</span>", \
|
||||||
"You start to disassemble the airlock assembly...")
|
"You start to disassemble the airlock assembly...")
|
||||||
playsound(src.loc, 'sound/items/welder2.ogg', 50, 1)
|
playsound(src, 'sound/items/welder2.ogg', 50, 1)
|
||||||
|
|
||||||
if(do_after(user, 40*W.toolspeed, target = src))
|
if(do_after(user, 40*W.toolspeed, target = src))
|
||||||
if( !WT.isOn() )
|
if( !WT.isOn() )
|
||||||
@@ -542,22 +546,22 @@
|
|||||||
break
|
break
|
||||||
|
|
||||||
if(door_check)
|
if(door_check)
|
||||||
playsound(src.loc, W.usesound, 100, 1)
|
playsound(src, W.usesound, 100, 1)
|
||||||
user.visible_message("[user] secures the airlock assembly to the floor.", \
|
user.visible_message("[user] secures the airlock assembly to the floor.", \
|
||||||
"<span class='notice'>You start to secure the airlock assembly to the floor...</span>", \
|
"<span class='notice'>You start to secure the airlock assembly to the floor...</span>", \
|
||||||
"<span class='italics'>You hear wrenching.</span>")
|
"<span class='italics'>You hear wrenching.</span>")
|
||||||
|
|
||||||
if(do_after(user, 40*W.toolspeed, target = src))
|
if(do_after(user, 40*W.toolspeed, target = src))
|
||||||
if( src.anchored )
|
if(anchored)
|
||||||
return
|
return
|
||||||
to_chat(user, "<span class='notice'>You secure the airlock assembly.</span>")
|
to_chat(user, "<span class='notice'>You secure the airlock assembly.</span>")
|
||||||
src.name = "secured airlock assembly"
|
name = "secured airlock assembly"
|
||||||
src.anchored = TRUE
|
anchored = TRUE
|
||||||
else
|
else
|
||||||
to_chat(user, "There is another door here!")
|
to_chat(user, "There is another door here!")
|
||||||
|
|
||||||
else
|
else
|
||||||
playsound(src.loc, W.usesound, 100, 1)
|
playsound(src, W.usesound, 100, 1)
|
||||||
user.visible_message("[user] unsecures the airlock assembly from the floor.", \
|
user.visible_message("[user] unsecures the airlock assembly from the floor.", \
|
||||||
"<span class='notice'>You start to unsecure the airlock assembly from the floor...</span>", \
|
"<span class='notice'>You start to unsecure the airlock assembly from the floor...</span>", \
|
||||||
"<span class='italics'>You hear wrenching.</span>")
|
"<span class='italics'>You hear wrenching.</span>")
|
||||||
@@ -579,63 +583,63 @@
|
|||||||
if(C.get_amount() < 1 || state != 0)
|
if(C.get_amount() < 1 || state != 0)
|
||||||
return
|
return
|
||||||
C.use(1)
|
C.use(1)
|
||||||
src.state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
to_chat(user, "<span class='notice'>You wire the airlock assembly.</span>")
|
to_chat(user, "<span class='notice'>You wire the airlock assembly.</span>")
|
||||||
src.name = "wired airlock assembly"
|
name = "wired airlock assembly"
|
||||||
|
|
||||||
else if(istype(W, /obj/item/wirecutters) && state == 1 )
|
else if(istype(W, /obj/item/wirecutters) && state == 1 )
|
||||||
playsound(src.loc, W.usesound, 100, 1)
|
playsound(src, W.usesound, 100, 1)
|
||||||
user.visible_message("[user] cuts the wires from the airlock assembly.", \
|
user.visible_message("[user] cuts the wires from the airlock assembly.", \
|
||||||
"<span class='notice'>You start to cut the wires from the airlock assembly...</span>")
|
"<span class='notice'>You start to cut the wires from the airlock assembly...</span>")
|
||||||
|
|
||||||
if(do_after(user, 40*W.toolspeed, target = src))
|
if(do_after(user, 40*W.toolspeed, target = src))
|
||||||
if( src.state != 1 )
|
if(state != 1)
|
||||||
return
|
return
|
||||||
to_chat(user, "<span class='notice'>You cut the wires from the airlock assembly.</span>")
|
to_chat(user, "<span class='notice'>You cut the wires from the airlock assembly.</span>")
|
||||||
new/obj/item/stack/cable_coil(get_turf(user), 1)
|
new/obj/item/stack/cable_coil(get_turf(user), 1)
|
||||||
src.state = 0
|
state = AIRLOCK_ASSEMBLY_NEEDS_WIRES
|
||||||
src.name = "secured airlock assembly"
|
name = "secured airlock assembly"
|
||||||
|
|
||||||
else if(istype(W, /obj/item/electronics/airlock) && state == 1 )
|
else if(istype(W, /obj/item/electronics/airlock) && state == 1 )
|
||||||
playsound(src.loc, W.usesound, 100, 1)
|
playsound(src, W.usesound, 100, 1)
|
||||||
user.visible_message("[user] installs the electronics into the airlock assembly.", \
|
user.visible_message("[user] installs the electronics into the airlock assembly.", \
|
||||||
"<span class='notice'>You start to install electronics into the airlock assembly...</span>")
|
"<span class='notice'>You start to install electronics into the airlock assembly...</span>")
|
||||||
if(do_after(user, 40, target = src))
|
if(do_after(user, 40, target = src))
|
||||||
if( src.state != 1 )
|
if( state != 1 )
|
||||||
return
|
return
|
||||||
if(!user.transferItemToLoc(W, src))
|
if(!user.transferItemToLoc(W, src))
|
||||||
return
|
return
|
||||||
|
|
||||||
to_chat(user, "<span class='notice'>You install the airlock electronics.</span>")
|
to_chat(user, "<span class='notice'>You install the airlock electronics.</span>")
|
||||||
src.state = 2
|
state = AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER
|
||||||
src.name = "near finished airlock assembly"
|
name = "near finished airlock assembly"
|
||||||
src.electronics = W
|
electronics = W
|
||||||
|
|
||||||
|
|
||||||
else if(istype(W, /obj/item/crowbar) && state == 2 )
|
else if(istype(W, /obj/item/crowbar) && state == 2 )
|
||||||
playsound(src.loc, W.usesound, 100, 1)
|
playsound(src, W.usesound, 100, 1)
|
||||||
user.visible_message("[user] removes the electronics from the airlock assembly.", \
|
user.visible_message("[user] removes the electronics from the airlock assembly.", \
|
||||||
"<span class='notice'>You start to remove electronics from the airlock assembly...</span>")
|
"<span class='notice'>You start to remove electronics from the airlock assembly...</span>")
|
||||||
|
|
||||||
if(do_after(user, 40*W.toolspeed, target = src))
|
if(do_after(user, 40*W.toolspeed, target = src))
|
||||||
if( src.state != 2 )
|
if(state != 2)
|
||||||
return
|
return
|
||||||
to_chat(user, "<span class='notice'>You remove the airlock electronics.</span>")
|
to_chat(user, "<span class='notice'>You remove the airlock electronics.</span>")
|
||||||
src.state = 1
|
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||||
src.name = "wired airlock assembly"
|
name = "wired airlock assembly"
|
||||||
var/obj/item/electronics/airlock/ae
|
var/obj/item/electronics/airlock/ae
|
||||||
if (!electronics)
|
if (!electronics)
|
||||||
ae = new/obj/item/electronics/airlock( src.loc )
|
ae = new/obj/item/electronics/airlock( loc )
|
||||||
else
|
else
|
||||||
ae = electronics
|
ae = electronics
|
||||||
electronics = null
|
electronics = null
|
||||||
ae.loc = src.loc
|
ae.forceMove(src.loc)
|
||||||
else if(istype(W, /obj/item/stack/sheet) && !mineral)
|
else if(istype(W, /obj/item/stack/sheet) && !mineral)
|
||||||
var/obj/item/stack/sheet/G = W
|
var/obj/item/stack/sheet/G = W
|
||||||
if(G)
|
if(G)
|
||||||
if(G.get_amount() >= 1)
|
if(G.get_amount() >= 1)
|
||||||
if(is_glass_sheet(G))
|
if(is_glass_sheet(G))
|
||||||
playsound(src.loc, 'sound/items/crowbar.ogg', 100, 1)
|
playsound(src, 'sound/items/crowbar.ogg', 100, 1)
|
||||||
user.visible_message("[user] adds [G.name] to the airlock assembly.", \
|
user.visible_message("[user] adds [G.name] to the airlock assembly.", \
|
||||||
"<span class='notice'>You start to install [G.name] into the airlock assembly...</span>")
|
"<span class='notice'>You start to install [G.name] into the airlock assembly...</span>")
|
||||||
if(do_after(user, 40, target = src))
|
if(do_after(user, 40, target = src))
|
||||||
@@ -653,8 +657,8 @@
|
|||||||
material = "glass"
|
material = "glass"
|
||||||
//This list contains the airlock paintjobs that have a glass version:
|
//This list contains the airlock paintjobs that have a glass version:
|
||||||
if(icontext in list("eng", "atmo", "sec", "com", "med", "res", "min"))
|
if(icontext in list("eng", "atmo", "sec", "com", "med", "res", "min"))
|
||||||
src.airlock_type = text2path("/obj/machinery/door/airlock/[typetext]")
|
airlock_type = text2path("/obj/machinery/door/airlock/[typetext]")
|
||||||
src.glass_type = text2path("/obj/machinery/door/airlock/glass_[typetext]")
|
glass_type = text2path("/obj/machinery/door/airlock/glass_[typetext]")
|
||||||
else
|
else
|
||||||
//This airlock is default or does not have a glass version, so we revert to the default glass airlock. |- Ricotez
|
//This airlock is default or does not have a glass version, so we revert to the default glass airlock. |- Ricotez
|
||||||
airlock_type = /obj/machinery/door/airlock
|
airlock_type = /obj/machinery/door/airlock
|
||||||
@@ -664,7 +668,7 @@
|
|||||||
else if(istype(G, /obj/item/stack/sheet/mineral))
|
else if(istype(G, /obj/item/stack/sheet/mineral))
|
||||||
var/M = G.sheettype
|
var/M = G.sheettype
|
||||||
if(G.get_amount() >= 2)
|
if(G.get_amount() >= 2)
|
||||||
playsound(src.loc, 'sound/items/crowbar.ogg', 100, 1)
|
playsound(src, 'sound/items/crowbar.ogg', 100, 1)
|
||||||
user.visible_message("[user] adds [G.name] to the airlock assembly.", \
|
user.visible_message("[user] adds [G.name] to the airlock assembly.", \
|
||||||
"<span class='notice'>You start to install [G.name] into the airlock assembly...</span>")
|
"<span class='notice'>You start to install [G.name] into the airlock assembly...</span>")
|
||||||
if(do_after(user, 40, target = src))
|
if(do_after(user, 40, target = src))
|
||||||
@@ -678,28 +682,28 @@
|
|||||||
glass_type = /obj/machinery/door/airlock/glass
|
glass_type = /obj/machinery/door/airlock/glass
|
||||||
|
|
||||||
else if(istype(W, /obj/item/screwdriver) && state == 2 )
|
else if(istype(W, /obj/item/screwdriver) && state == 2 )
|
||||||
playsound(src.loc, W.usesound, 100, 1)
|
playsound(src, W.usesound, 100, 1)
|
||||||
user.visible_message("[user] finishes the airlock.", \
|
user.visible_message("[user] finishes the airlock.", \
|
||||||
"<span class='notice'>You start finishing the airlock...</span>")
|
"<span class='notice'>You start finishing the airlock...</span>")
|
||||||
|
|
||||||
if(do_after(user, 40*W.toolspeed, target = src))
|
if(do_after(user, 40*W.toolspeed, target = src))
|
||||||
if(src.loc && state == 2)
|
if(loc && state == 2)
|
||||||
to_chat(user, "<span class='notice'>You finish the airlock.</span>")
|
to_chat(user, "<span class='notice'>You finish the airlock.</span>")
|
||||||
var/obj/machinery/door/airlock/door
|
var/obj/machinery/door/airlock/door
|
||||||
if(mineral == "glass")
|
if(mineral == "glass")
|
||||||
door = new src.glass_type( src.loc )
|
door = new glass_type( loc )
|
||||||
else
|
else
|
||||||
door = new src.airlock_type( src.loc )
|
door = new airlock_type( loc )
|
||||||
//door.req_access = src.req_access
|
//door.req_access = req_access
|
||||||
door.electronics = src.electronics
|
door.electronics = electronics
|
||||||
door.heat_proof = src.heat_proof_finished
|
door.heat_proof = heat_proof_finished
|
||||||
if(src.electronics.one_access)
|
if(electronics.one_access)
|
||||||
door.req_one_access = src.electronics.accesses
|
door.req_one_access = electronics.accesses
|
||||||
else
|
else
|
||||||
door.req_access = src.electronics.accesses
|
door.req_access = electronics.accesses
|
||||||
if(created_name)
|
if(created_name)
|
||||||
door.name = created_name
|
door.name = created_name
|
||||||
src.electronics.loc = door
|
electronics.forceMove(door)
|
||||||
qdel(src)
|
qdel(src)
|
||||||
else
|
else
|
||||||
return ..()
|
return ..()
|
||||||
|
|||||||
@@ -167,7 +167,7 @@
|
|||||||
if(mmi && mind)//Safety for when a cyborg gets dust()ed. Or there is no MMI inside.
|
if(mmi && mind)//Safety for when a cyborg gets dust()ed. Or there is no MMI inside.
|
||||||
var/turf/T = get_turf(loc)//To hopefully prevent run time errors.
|
var/turf/T = get_turf(loc)//To hopefully prevent run time errors.
|
||||||
if(T)
|
if(T)
|
||||||
mmi.loc = T
|
mmi.forceMove(T)
|
||||||
if(mmi.brainmob)
|
if(mmi.brainmob)
|
||||||
if(mmi.brainmob.stat == DEAD)
|
if(mmi.brainmob.stat == DEAD)
|
||||||
mmi.brainmob.stat = CONSCIOUS
|
mmi.brainmob.stat = CONSCIOUS
|
||||||
@@ -742,24 +742,24 @@
|
|||||||
/mob/living/silicon/robot/proc/deconstruct()
|
/mob/living/silicon/robot/proc/deconstruct()
|
||||||
var/turf/T = get_turf(src)
|
var/turf/T = get_turf(src)
|
||||||
if (robot_suit)
|
if (robot_suit)
|
||||||
robot_suit.loc = T
|
robot_suit.forceMove(T)
|
||||||
robot_suit.l_leg.loc = T
|
robot_suit.l_leg.forceMove(T)
|
||||||
robot_suit.l_leg = null
|
robot_suit.l_leg = null
|
||||||
robot_suit.r_leg.loc = T
|
robot_suit.r_leg.forceMove(T)
|
||||||
robot_suit.r_leg = null
|
robot_suit.r_leg = null
|
||||||
new /obj/item/stack/cable_coil(T, robot_suit.chest.wired)
|
new /obj/item/stack/cable_coil(T, robot_suit.chest.wired)
|
||||||
robot_suit.chest.loc = T
|
robot_suit.chest.forceMove(T)
|
||||||
robot_suit.chest.wired = 0
|
robot_suit.chest.wired = 0
|
||||||
robot_suit.chest = null
|
robot_suit.chest = null
|
||||||
robot_suit.l_arm.loc = T
|
robot_suit.l_arm.forceMove(T)
|
||||||
robot_suit.l_arm = null
|
robot_suit.l_arm = null
|
||||||
robot_suit.r_arm.loc = T
|
robot_suit.r_arm.forceMove(T)
|
||||||
robot_suit.r_arm = null
|
robot_suit.r_arm = null
|
||||||
robot_suit.head.loc = T
|
robot_suit.head.forceMove(T)
|
||||||
robot_suit.head.flash1.loc = T
|
robot_suit.head.flash1.forceMove(T)
|
||||||
robot_suit.head.flash1.burn_out()
|
robot_suit.head.flash1.burn_out()
|
||||||
robot_suit.head.flash1 = null
|
robot_suit.head.flash1 = null
|
||||||
robot_suit.head.flash2.loc = T
|
robot_suit.head.flash2.forceMove(T)
|
||||||
robot_suit.head.flash2.burn_out()
|
robot_suit.head.flash2.burn_out()
|
||||||
robot_suit.head.flash2 = null
|
robot_suit.head.flash2 = null
|
||||||
robot_suit.head = null
|
robot_suit.head = null
|
||||||
@@ -778,7 +778,7 @@
|
|||||||
var/obj/item/device/assembly/flash/handheld/F = new /obj/item/device/assembly/flash/handheld(T)
|
var/obj/item/device/assembly/flash/handheld/F = new /obj/item/device/assembly/flash/handheld(T)
|
||||||
F.burn_out()
|
F.burn_out()
|
||||||
if (cell) //Sanity check.
|
if (cell) //Sanity check.
|
||||||
cell.loc = T
|
cell.forceMove(T)
|
||||||
cell = null
|
cell = null
|
||||||
qdel(src)
|
qdel(src)
|
||||||
|
|
||||||
|
|||||||
@@ -315,7 +315,7 @@ All ShuttleMove procs go here
|
|||||||
var/turf/T = loc
|
var/turf/T = loc
|
||||||
if(level==1)
|
if(level==1)
|
||||||
hide(T.intact)
|
hide(T.intact)
|
||||||
|
|
||||||
/obj/structure/shuttle/beforeShuttleMove(turf/newT, rotation, move_mode)
|
/obj/structure/shuttle/beforeShuttleMove(turf/newT, rotation, move_mode)
|
||||||
. = ..()
|
. = ..()
|
||||||
. |= MOVE_CONTENTS
|
. |= MOVE_CONTENTS
|
||||||
|
|||||||
@@ -66,7 +66,7 @@
|
|||||||
tempL.Remove(attempt)
|
tempL.Remove(attempt)
|
||||||
|
|
||||||
if(!success)
|
if(!success)
|
||||||
target.loc = pick(L)
|
target.forceMove(L)
|
||||||
playsound(get_turf(user), sound2, 50,1)
|
playsound(get_turf(user), sound2, 50,1)
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -142,31 +142,23 @@
|
|||||||
/mob/living/proc/infernalphaseout()
|
/mob/living/proc/infernalphaseout()
|
||||||
dust_animation()
|
dust_animation()
|
||||||
spawn_dust()
|
spawn_dust()
|
||||||
src.visible_message("<span class='warning'>[src] disappears in a flashfire!</span>")
|
visible_message("<span class='warning'>[src] disappears in a flashfire!</span>")
|
||||||
playsound(get_turf(src), 'sound/magic/enter_blood.ogg', 100, 1, -1)
|
playsound(get_turf(src), 'sound/magic/enter_blood.ogg', 100, 1, -1)
|
||||||
var/obj/effect/dummy/slaughter/holder = new /obj/effect/dummy/slaughter(loc)
|
var/obj/effect/dummy/slaughter/holder = new /obj/effect/dummy/slaughter(loc)
|
||||||
src.ExtinguishMob()
|
ExtinguishMob()
|
||||||
if(buckled)
|
forceMove(holder)
|
||||||
buckled.unbuckle_mob(src,force=1)
|
holder = holder
|
||||||
if(has_buckled_mobs())
|
notransform = 0
|
||||||
unbuckle_all_mobs(force=1)
|
|
||||||
if(pulledby)
|
|
||||||
pulledby.stop_pulling()
|
|
||||||
if(pulling)
|
|
||||||
stop_pulling()
|
|
||||||
src.loc = holder
|
|
||||||
src.holder = holder
|
|
||||||
src.notransform = 0
|
|
||||||
fakefireextinguish()
|
fakefireextinguish()
|
||||||
|
|
||||||
/mob/living/proc/infernalphasein()
|
/mob/living/proc/infernalphasein()
|
||||||
if(src.notransform)
|
if(notransform)
|
||||||
to_chat(src, "<span class='warning'>You're too busy to jaunt in.</span>")
|
to_chat(src, "<span class='warning'>You're too busy to jaunt in.</span>")
|
||||||
return 0
|
return FALSE
|
||||||
fakefire()
|
fakefire()
|
||||||
src.loc = get_turf(src)
|
forceMove(drop_location())
|
||||||
src.client.eye = src
|
client.eye = src
|
||||||
src.visible_message("<span class='warning'><B>[src] appears in a fiery blaze!</B></span>")
|
visible_message("<span class='warning'><B>[src] appears in a fiery blaze!</B></span>")
|
||||||
playsound(get_turf(src), 'sound/magic/exit_blood.ogg', 100, 1, -1)
|
playsound(get_turf(src), 'sound/magic/exit_blood.ogg', 100, 1, -1)
|
||||||
addtimer(CALLBACK(src, .proc/fakefireextinguish), 15, TIMER_UNIQUE)
|
addtimer(CALLBACK(src, .proc/fakefireextinguish), 15, TIMER_UNIQUE)
|
||||||
|
|
||||||
|
|||||||
@@ -57,14 +57,14 @@
|
|||||||
|
|
||||||
var/current_loc = user.loc
|
var/current_loc = user.loc
|
||||||
|
|
||||||
projectile.loc = current_loc
|
projectile.forceMove(current_loc)
|
||||||
|
|
||||||
for(var/i = 0,i < proj_lifespan,i++)
|
for(var/i = 0,i < proj_lifespan,i++)
|
||||||
if(!projectile)
|
if(!projectile)
|
||||||
break
|
break
|
||||||
|
|
||||||
if(proj_insubstantial)
|
if(proj_insubstantial)
|
||||||
projectile.loc = get_step(projectile, projectile.dir)
|
projectile.forceMove(get_step(projectile, projectile.dir))
|
||||||
else
|
else
|
||||||
step(projectile, projectile.dir)
|
step(projectile, projectile.dir)
|
||||||
|
|
||||||
|
|||||||
@@ -28,14 +28,7 @@
|
|||||||
var/obj/effect/dummy/spell_jaunt/holder = new /obj/effect/dummy/spell_jaunt(mobloc)
|
var/obj/effect/dummy/spell_jaunt/holder = new /obj/effect/dummy/spell_jaunt(mobloc)
|
||||||
new jaunt_out_type(mobloc, target.dir)
|
new jaunt_out_type(mobloc, target.dir)
|
||||||
target.ExtinguishMob()
|
target.ExtinguishMob()
|
||||||
if(target.buckled)
|
target.forceMove(holder)
|
||||||
target.buckled.unbuckle_mob(target,force=1)
|
|
||||||
if(target.pulledby)
|
|
||||||
target.pulledby.stop_pulling()
|
|
||||||
target.stop_pulling()
|
|
||||||
if(target.has_buckled_mobs())
|
|
||||||
target.unbuckle_all_mobs(force=1)
|
|
||||||
target.loc = holder
|
|
||||||
target.reset_perspective(holder)
|
target.reset_perspective(holder)
|
||||||
target.notransform=0 //mob is safely inside holder now, no need for protection.
|
target.notransform=0 //mob is safely inside holder now, no need for protection.
|
||||||
jaunt_steam(mobloc)
|
jaunt_steam(mobloc)
|
||||||
@@ -92,7 +85,7 @@
|
|||||||
var/turf/newLoc = get_step(src,direction)
|
var/turf/newLoc = get_step(src,direction)
|
||||||
setDir(direction)
|
setDir(direction)
|
||||||
if(!(newLoc.flags_1 & NOJAUNT_1))
|
if(!(newLoc.flags_1 & NOJAUNT_1))
|
||||||
loc = newLoc
|
forceMove(newLoc)
|
||||||
else
|
else
|
||||||
to_chat(user, "<span class='warning'>Some strange aura is blocking the way!</span>")
|
to_chat(user, "<span class='warning'>Some strange aura is blocking the way!</span>")
|
||||||
movedelay = world.time + movespeed
|
movedelay = world.time + movespeed
|
||||||
|
|||||||
@@ -47,7 +47,7 @@
|
|||||||
|
|
||||||
var/current_loc = user.loc
|
var/current_loc = user.loc
|
||||||
|
|
||||||
projectile.loc = current_loc
|
projectile.forceMove(current_loc)
|
||||||
|
|
||||||
for(var/i = 0,i < proj_lifespan,i++)
|
for(var/i = 0,i < proj_lifespan,i++)
|
||||||
if(!projectile)
|
if(!projectile)
|
||||||
@@ -56,12 +56,12 @@
|
|||||||
if(proj_homing)
|
if(proj_homing)
|
||||||
if(proj_insubstantial)
|
if(proj_insubstantial)
|
||||||
projectile.setDir(get_dir(projectile,target))
|
projectile.setDir(get_dir(projectile,target))
|
||||||
projectile.loc = get_step_to(projectile,target)
|
projectile.forceMove(get_step_to(projectile,target))
|
||||||
else
|
else
|
||||||
step_to(projectile,target)
|
step_to(projectile,target)
|
||||||
else
|
else
|
||||||
if(proj_insubstantial)
|
if(proj_insubstantial)
|
||||||
projectile.loc = get_step(projectile,dir)
|
projectile.forceMove(get_step(projectile,dir))
|
||||||
else
|
else
|
||||||
step(projectile,dir)
|
step(projectile,dir)
|
||||||
|
|
||||||
|
|||||||
@@ -46,7 +46,7 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
var/mob/living/shape = new shapeshift_type(caster.loc)
|
var/mob/living/shape = new shapeshift_type(caster.loc)
|
||||||
caster.loc = shape
|
caster.forceMove(shape)
|
||||||
caster.status_flags |= GODMODE
|
caster.status_flags |= GODMODE
|
||||||
|
|
||||||
current_shapes |= shape
|
current_shapes |= shape
|
||||||
@@ -64,7 +64,7 @@
|
|||||||
break
|
break
|
||||||
if(!caster)
|
if(!caster)
|
||||||
return
|
return
|
||||||
caster.loc = shape.loc
|
caster.forceMove(shape.loc)
|
||||||
caster.status_flags &= ~GODMODE
|
caster.status_flags &= ~GODMODE
|
||||||
|
|
||||||
clothes_req = initial(clothes_req)
|
clothes_req = initial(clothes_req)
|
||||||
|
|||||||
@@ -66,7 +66,7 @@
|
|||||||
|
|
||||||
if(issilicon(M)) //Items in silicons warp the whole silicon
|
if(issilicon(M)) //Items in silicons warp the whole silicon
|
||||||
M.loc.visible_message("<span class='warning'>[M] suddenly disappears!</span>")
|
M.loc.visible_message("<span class='warning'>[M] suddenly disappears!</span>")
|
||||||
M.loc = L.loc
|
M.forceMove(L.loc)
|
||||||
M.loc.visible_message("<span class='caution'>[M] suddenly appears!</span>")
|
M.loc.visible_message("<span class='caution'>[M] suddenly appears!</span>")
|
||||||
item_to_retrieve = null
|
item_to_retrieve = null
|
||||||
break
|
break
|
||||||
@@ -101,7 +101,7 @@
|
|||||||
if(item_to_retrieve.loc)
|
if(item_to_retrieve.loc)
|
||||||
item_to_retrieve.loc.visible_message("<span class='warning'>The [item_to_retrieve.name] suddenly disappears!</span>")
|
item_to_retrieve.loc.visible_message("<span class='warning'>The [item_to_retrieve.name] suddenly disappears!</span>")
|
||||||
if(!L.put_in_hands(item_to_retrieve))
|
if(!L.put_in_hands(item_to_retrieve))
|
||||||
item_to_retrieve.loc = L.loc
|
item_to_retrieve.forceMove(L.loc)
|
||||||
item_to_retrieve.loc.visible_message("<span class='caution'>The [item_to_retrieve.name] suddenly appears!</span>")
|
item_to_retrieve.loc.visible_message("<span class='caution'>The [item_to_retrieve.name] suddenly appears!</span>")
|
||||||
playsound(get_turf(L), 'sound/magic/summonitems_generic.ogg', 50, 1)
|
playsound(get_turf(L), 'sound/magic/summonitems_generic.ogg', 50, 1)
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -41,9 +41,5 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
if(!target.Move(picked))
|
if(!target.Move(picked))
|
||||||
if(target.buckled)
|
target.forceMove(picked)
|
||||||
target.buckled.unbuckle_mob(target,force=1)
|
|
||||||
if(target.has_buckled_mobs())
|
|
||||||
target.unbuckle_all_mobs(force=1)
|
|
||||||
target.loc = picked
|
|
||||||
playsound(get_turf(user), sound2, 50,1)
|
playsound(get_turf(user), sound2, 50,1)
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
case = locate(/obj/item/implantcase) in get_turf(target)
|
case = locate(/obj/item/implantcase) in get_turf(target)
|
||||||
if(case && !case.imp)
|
if(case && !case.imp)
|
||||||
case.imp = I
|
case.imp = I
|
||||||
I.loc = case
|
I.forceMove(case)
|
||||||
case.update_icon()
|
case.update_icon()
|
||||||
user.visible_message("[user] places [I] into [case]!", "<span class='notice'>You place [I] into [case].</span>")
|
user.visible_message("[user] places [I] into [case]!", "<span class='notice'>You place [I] into [case].</span>")
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -49,5 +49,5 @@
|
|||||||
newmeat.subjectname = H.real_name
|
newmeat.subjectname = H.real_name
|
||||||
newmeat.subjectjob = H.job
|
newmeat.subjectjob = H.job
|
||||||
newmeat.reagents.add_reagent ("nutriment", (removednutriment / 15)) //To balance with nutriment_factor of nutriment
|
newmeat.reagents.add_reagent ("nutriment", (removednutriment / 15)) //To balance with nutriment_factor of nutriment
|
||||||
newmeat.loc = target.loc
|
newmeat.forceMove(target.loc)
|
||||||
return 1
|
return 1
|
||||||
@@ -77,7 +77,7 @@
|
|||||||
if(..())
|
if(..())
|
||||||
return 1
|
return 1
|
||||||
else if(mybag)
|
else if(mybag)
|
||||||
mybag.loc = get_turf(user)
|
mybag.forceMove(get_turf(user))
|
||||||
user.put_in_hands(mybag)
|
user.put_in_hands(mybag)
|
||||||
mybag = null
|
mybag = null
|
||||||
update_icon()
|
update_icon()
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
/obj/vehicle/space/speedbike/speedwagon/Collide(atom/movable/A)
|
/obj/vehicle/space/speedbike/speedwagon/Collide(atom/movable/A)
|
||||||
. = ..()
|
. = ..()
|
||||||
if(A.density && has_buckled_mobs())
|
if(A.density && has_buckled_mobs())
|
||||||
var/atom/throw_target = get_edge_target_turf(A, src.dir)
|
var/atom/throw_target = get_edge_target_turf(A, dir)
|
||||||
if(crash_all)
|
if(crash_all)
|
||||||
A.throw_at(throw_target, 4, 3)
|
A.throw_at(throw_target, 4, 3)
|
||||||
visible_message("<span class='danger'>[src] crashes into [A]!</span>")
|
visible_message("<span class='danger'>[src] crashes into [A]!</span>")
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
|
|
||||||
/obj/vehicle/space/speedbike/speedwagon/Moved()
|
/obj/vehicle/space/speedbike/speedwagon/Moved()
|
||||||
. = ..()
|
. = ..()
|
||||||
if(src.has_buckled_mobs())
|
if(has_buckled_mobs())
|
||||||
for(var/atom/A in range(2, src))
|
for(var/atom/A in range(2, src))
|
||||||
if(!(A in src.buckled_mobs))
|
if(!(A in buckled_mobs))
|
||||||
Collide(A)
|
Collide(A)
|
||||||
|
|||||||
@@ -42,7 +42,7 @@
|
|||||||
if(A.density)
|
if(A.density)
|
||||||
if(A != src && A != M)
|
if(A != src && A != M)
|
||||||
return
|
return
|
||||||
M.loc = get_turf(src)
|
M.forceMove(get_turf(src))
|
||||||
..()
|
..()
|
||||||
if(user.client)
|
if(user.client)
|
||||||
user.client.change_view(view_range)
|
user.client.change_view(view_range)
|
||||||
|
|||||||
Reference in New Issue
Block a user