mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-24 13:30:42 +01:00
.loc = to forceMove() (#4937)
As requested, this PR is changed to only include all .loc = to forceMove() changes.
This commit is contained in:
@@ -21,11 +21,11 @@ var/list/obj/effect/bump_teleporter/BUMP_TELEPORTERS = list()
|
||||
|
||||
/obj/effect/bump_teleporter/CollidedWith(atom/user)
|
||||
if(!ismob(user))
|
||||
//user.loc = src.loc //Stop at teleporter location
|
||||
//user.forceMove(src.loc) //Stop at teleporter location
|
||||
return
|
||||
|
||||
if(!id_target)
|
||||
//user.loc = src.loc //Stop at teleporter location, there is nowhere to teleport to.
|
||||
//user.forceMove(src.loc) //Stop at teleporter location, there is nowhere to teleport to.
|
||||
return
|
||||
|
||||
for(var/obj/effect/bump_teleporter/BT in BUMP_TELEPORTERS)
|
||||
|
||||
@@ -167,7 +167,7 @@
|
||||
/obj/structure/foamedmetal/attackby(var/obj/item/I, var/mob/user)
|
||||
if(istype(I, /obj/item/weapon/grab))
|
||||
var/obj/item/weapon/grab/G = I
|
||||
G.affecting.loc = src.loc
|
||||
G.affecting.forceMove(src.loc)
|
||||
visible_message("<span class='warning'>[G.assailant] smashes [G.affecting] through the foamed metal wall.</span>")
|
||||
qdel(I)
|
||||
qdel(src)
|
||||
|
||||
@@ -155,8 +155,8 @@
|
||||
|
||||
/obj/structure/sign/poster/proc/roll_and_drop(turf/newloc)
|
||||
var/obj/item/weapon/contraband/poster/P = new(src, serial_number)
|
||||
P.loc = newloc
|
||||
src.loc = P
|
||||
P.forceMove(newloc)
|
||||
src.forceMove(P)
|
||||
qdel(src)
|
||||
|
||||
/datum/poster
|
||||
|
||||
@@ -133,7 +133,7 @@
|
||||
|
||||
I.loc = null
|
||||
|
||||
I.loc = T
|
||||
I.forceMove(T)
|
||||
|
||||
/obj/item/examine(mob/user, var/distance = -1)
|
||||
var/size
|
||||
|
||||
@@ -349,8 +349,7 @@
|
||||
)
|
||||
var/obj/item/weapon/tank/T = W
|
||||
internal_tank = T
|
||||
user.drop_from_inventory(T)
|
||||
T.forceMove(src)
|
||||
user.drop_from_inventory(T,src)
|
||||
use_internal_tank = 1
|
||||
START_PROCESSING(SSfast_process, src)
|
||||
return
|
||||
|
||||
@@ -136,7 +136,7 @@ move an amendment</a> to the drawing.</p>
|
||||
/obj/item/blueprints/proc/move_turfs_to_area(var/list/turf/turfs, var/area/A)
|
||||
A.contents.Add(turfs)
|
||||
//oldarea.contents.Remove(usr.loc) // not needed
|
||||
//T.loc = A //error: cannot change constant value
|
||||
//T.forceMove(A) //error: cannot change constant value
|
||||
|
||||
|
||||
/obj/item/blueprints/proc/edit_area()
|
||||
|
||||
@@ -870,7 +870,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
|
||||
if("2") // Eject pAI device
|
||||
var/turf/T = get_turf_or_move(src.loc)
|
||||
if(T)
|
||||
pai.loc = T
|
||||
pai.forceMove(T)
|
||||
pai = null
|
||||
|
||||
else
|
||||
@@ -1197,14 +1197,14 @@ var/global/list/obj/item/device/pda/PDAs = list()
|
||||
else
|
||||
var/obj/item/I = user.get_active_hand()
|
||||
if (istype(I, /obj/item/weapon/card/id) && user.unEquip(I))
|
||||
I.loc = src
|
||||
I.forceMove(src)
|
||||
id = I
|
||||
return 1
|
||||
else
|
||||
var/obj/item/weapon/card/I = user.get_active_hand()
|
||||
if (istype(I, /obj/item/weapon/card/id) && I:registered_name && user.unEquip(I))
|
||||
var/obj/old_id = id
|
||||
I.loc = src
|
||||
I.forceMove(src)
|
||||
id = I
|
||||
user.put_in_hands(old_id)
|
||||
return 1
|
||||
@@ -1215,8 +1215,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
|
||||
..()
|
||||
if(istype(C, /obj/item/weapon/cartridge) && !cartridge)
|
||||
cartridge = C
|
||||
user.drop_item()
|
||||
cartridge.loc = src
|
||||
user.drop_from_inventory(cartridge,src)
|
||||
user << "<span class='notice'>You insert [cartridge] into [src].</span>"
|
||||
SSnanoui.update_uis(src) // update all UIs attached to src
|
||||
if(cartridge.radio)
|
||||
@@ -1243,8 +1242,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
|
||||
return //Return in case of failed check or when successful.
|
||||
updateSelfDialog()//For the non-input related code.
|
||||
else if(istype(C, /obj/item/device/paicard) && !src.pai)
|
||||
user.drop_item()
|
||||
C.loc = src
|
||||
user.drop_from_inventory(C,src)
|
||||
pai = C
|
||||
pai.update_location()//This notifies the pAI that they've been slotted into a PDA
|
||||
user << "<span class='notice'>You slot \the [C] into [src].</span>"
|
||||
@@ -1253,8 +1251,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
|
||||
if(pen)
|
||||
user << "<span class='notice'>There is already a pen in \the [src].</span>"
|
||||
else
|
||||
user.drop_item()
|
||||
C.forceMove(src)
|
||||
user.drop_from_inventory(C,src)
|
||||
pen = C
|
||||
user << "<span class='notice'>You slide \the [C] into \the [src].</span>"
|
||||
return
|
||||
@@ -1402,7 +1399,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
|
||||
/obj/item/device/pda/Destroy()
|
||||
PDAs -= src
|
||||
if (src.id && prob(90)) //IDs are kept in 90% of the cases
|
||||
src.id.loc = get_turf(src.loc)
|
||||
src.id.forceMove(get_turf(src.loc))
|
||||
QDEL_NULL(pen)
|
||||
if (LAZYLEN(linked_consoles))
|
||||
for(var/A in linked_consoles)
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
admin_attack_log(user, ai, "Carded with [src.name]", "Was carded with [src.name]", "used the [src.name] to card")
|
||||
src.name = "[initial(name)] - [ai.name]"
|
||||
|
||||
ai.loc = src
|
||||
ai.forceMove(src)
|
||||
ai.destroy_eyeobj(src)
|
||||
ai.cancel_camera()
|
||||
ai.control_disabled = 1
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
|
||||
/obj/item/device/chameleon/proc/eject_all()
|
||||
for(var/atom/movable/A in active_dummy)
|
||||
A.loc = active_dummy.loc
|
||||
A.forceMove(active_dummy.loc)
|
||||
if(ismob(A))
|
||||
var/mob/M = A
|
||||
M.reset_view(null)
|
||||
@@ -95,7 +95,7 @@
|
||||
icon_state = new_iconstate
|
||||
overlays = new_overlays
|
||||
set_dir(O.dir)
|
||||
M.loc = src
|
||||
M.forceMove(src)
|
||||
master = C
|
||||
master.active_dummy = src
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
/obj/item/device/flash/proc/clown_check(var/mob/user)
|
||||
if(user && (CLUMSY in user.mutations) && prob(50))
|
||||
user << "<span class='warning'>\The [src] slips out of your hand.</span>"
|
||||
user.drop_item()
|
||||
user.drop_from_inventory(src)
|
||||
return 0
|
||||
return 1
|
||||
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
if(uses < max_uses)
|
||||
AddUses(1)
|
||||
to_chat(user, "You insert \the [L.name] into \the [src.name]. You have [uses] light\s remaining.")
|
||||
user.drop_item()
|
||||
user.drop_from_inventory(L,get_turf(src))
|
||||
qdel(L)
|
||||
return
|
||||
else
|
||||
|
||||
@@ -183,8 +183,7 @@
|
||||
if (istype(I, /obj/item/weapon/cell))
|
||||
if (!powercell)
|
||||
user << span("notice","You place the [I] inside \the [src].")
|
||||
user.drop_item()
|
||||
I.loc = src
|
||||
user.drop_from_inventory(I,src)
|
||||
powercell = I
|
||||
setconstructionstate(1)
|
||||
return
|
||||
@@ -302,7 +301,7 @@
|
||||
break
|
||||
|
||||
user.visible_message("<span class='notice'>[user] attached [src] onto [newtarget] and flicks it on. The magnetic lock now seals [newtarget].</span>", "<span class='notice'>You attached [src] onto [newtarget] and switched on the magnetic lock.</span>")
|
||||
user.drop_item()
|
||||
user.drop_item() //TODO: Look into this
|
||||
|
||||
forceMove(get_step(newtarget.loc, reverse_direction(direction)))
|
||||
set_dir(reverse_direction(direction))
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
if(!parts)
|
||||
user << "<span class='warning'>This kit has no parts for this modification left.</span>"
|
||||
user.drop_from_inventory(src)
|
||||
user.drop_from_inventory(src,O)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
parts &= ~MODKIT_SUIT
|
||||
|
||||
if(!parts)
|
||||
user.drop_from_inventory(src)
|
||||
user.drop_from_inventory(src,O)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/device/modkit/examine(mob/user)
|
||||
|
||||
@@ -27,13 +27,11 @@
|
||||
var/obj/item/assembly/shock_kit/A = new /obj/item/assembly/shock_kit( user )
|
||||
A.icon = 'icons/obj/assemblies.dmi'
|
||||
|
||||
user.drop_from_inventory(W)
|
||||
W.loc = A
|
||||
user.drop_from_inventory(W,A)
|
||||
W.master = A
|
||||
A.part1 = W
|
||||
|
||||
user.drop_from_inventory(src)
|
||||
loc = A
|
||||
user.drop_from_inventory(src,A)
|
||||
master = A
|
||||
A.part2 = src
|
||||
|
||||
|
||||
@@ -244,7 +244,7 @@
|
||||
if(keyslot1)
|
||||
var/turf/T = get_turf(user)
|
||||
if(T)
|
||||
keyslot1.loc = T
|
||||
keyslot1.forceMove(T)
|
||||
keyslot1 = null
|
||||
|
||||
|
||||
@@ -252,7 +252,7 @@
|
||||
if(keyslot2)
|
||||
var/turf/T = get_turf(user)
|
||||
if(T)
|
||||
keyslot2.loc = T
|
||||
keyslot2.forceMove(T)
|
||||
keyslot2 = null
|
||||
|
||||
recalculateChannels()
|
||||
@@ -267,13 +267,11 @@
|
||||
return
|
||||
|
||||
if(!keyslot1)
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
user.drop_from_inventory(W,src)
|
||||
keyslot1 = W
|
||||
|
||||
else
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
user.drop_from_inventory(W,src)
|
||||
keyslot2 = W
|
||||
|
||||
|
||||
|
||||
@@ -614,7 +614,7 @@ var/global/list/default_medbay_channels = list(
|
||||
if(keyslot)
|
||||
var/turf/T = get_turf(user)
|
||||
if(T)
|
||||
keyslot.loc = T
|
||||
keyslot.forceMove(T)
|
||||
keyslot = null
|
||||
|
||||
recalculateChannels()
|
||||
@@ -629,8 +629,7 @@ var/global/list/default_medbay_channels = list(
|
||||
return
|
||||
|
||||
if(!keyslot)
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
user.drop_from_inventory(W,src)
|
||||
keyslot = W
|
||||
|
||||
recalculateChannels()
|
||||
|
||||
@@ -127,7 +127,7 @@
|
||||
if(ishuman(user))
|
||||
user.put_in_hands(cell)
|
||||
else
|
||||
cell.loc = get_turf(loc)
|
||||
cell.forceMove(get_turf(loc))
|
||||
|
||||
cell.add_fingerprint(user)
|
||||
cell.update_icon()
|
||||
@@ -161,8 +161,7 @@
|
||||
if(cell)
|
||||
user << "There is a [cell] already installed here."
|
||||
else
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
user.drop_from_inventory(W,src)
|
||||
cell = W
|
||||
user << "You insert the [cell]."
|
||||
update_icon()
|
||||
|
||||
@@ -25,13 +25,11 @@
|
||||
|
||||
if(!tank_one)
|
||||
tank_one = item
|
||||
user.drop_item()
|
||||
item.loc = src
|
||||
user.drop_from_inventory(item,src)
|
||||
user << "<span class='notice'>You attach the tank to the transfer valve.</span>"
|
||||
else if(!tank_two)
|
||||
tank_two = item
|
||||
user.drop_item()
|
||||
item.loc = src
|
||||
user.drop_from_inventory(item,src)
|
||||
user << "<span class='notice'>You attach the tank to the transfer valve.</span>"
|
||||
message_admins("[key_name_admin(user)] attached both tanks to a transfer valve. (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[location.x];Y=[location.y];Z=[location.z]'>JMP</a>)")
|
||||
log_game("[key_name_admin(user)] attached both tanks to a transfer valve.",ckey=key_name(user))
|
||||
@@ -49,7 +47,7 @@
|
||||
return
|
||||
user.remove_from_mob(item)
|
||||
attached_device = A
|
||||
A.loc = src
|
||||
A.forceMove(src)
|
||||
user << "<span class='notice'>You attach the [item] to the valve controls and secure it.</span>"
|
||||
A.holder = src
|
||||
A.toggle_secure() //this calls update_icon(), which calls update_icon() on the holder (i.e. the bomb).
|
||||
@@ -107,7 +105,7 @@
|
||||
toggle_valve()
|
||||
else if(attached_device)
|
||||
if(href_list["rem_device"])
|
||||
attached_device.loc = get_turf(src)
|
||||
attached_device.forceMove(get_turf(src))
|
||||
attached_device:holder = null
|
||||
attached_device = null
|
||||
update_icon()
|
||||
@@ -151,7 +149,7 @@
|
||||
else
|
||||
return
|
||||
|
||||
T.loc = get_turf(src)
|
||||
T.forceMove(get_turf(src))
|
||||
update_icon()
|
||||
|
||||
/obj/item/device/transfer_valve/proc/merge_gases()
|
||||
|
||||
@@ -43,21 +43,21 @@
|
||||
switch(contains)
|
||||
if(1)
|
||||
for(var/obj/O in src)
|
||||
O.loc = user.loc
|
||||
O.forceMove(user.loc)
|
||||
user << "<span class='notice'>You take money out of \the [src].</span>"
|
||||
contains = 0
|
||||
update_icon()
|
||||
return
|
||||
if(2)
|
||||
for(var/mob/M in src)
|
||||
M.loc = user.loc
|
||||
M.forceMove(user.loc)
|
||||
user.visible_message("<span class='notice'>[user] releases [M] from \the [src].</span>", "<span class='notice'>You release [M] from \the [src].</span>")
|
||||
contains = 0
|
||||
update_icon()
|
||||
return
|
||||
if(3)
|
||||
for(var/obj/effect/spider/spiderling/S in src)
|
||||
S.loc = user.loc
|
||||
S.forceMove(user.loc)
|
||||
user.visible_message("<span class='notice'>[user] releases [S] from \the [src].</span>", "<span class='notice'>You release [S] from \the [src].</span>")
|
||||
START_PROCESSING(SSprocessing, S) // They can grow after being let out though
|
||||
contains = 0
|
||||
@@ -72,8 +72,7 @@
|
||||
return
|
||||
var/obj/item/weapon/spacecash/S = W
|
||||
user.visible_message("<span class='notice'>[user] puts [S.worth] [S.worth > 1 ? "credits" : "credit"] into \the [src].</span>")
|
||||
user.drop_from_inventory(S)
|
||||
S.forceMove(src)
|
||||
user.drop_from_inventory(S,src)
|
||||
update_icon()
|
||||
|
||||
/obj/item/glass_jar/update_icon() // Also updates name and desc
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
uses -= amt
|
||||
playsound(get_turf(user), 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
if(uses<1)
|
||||
user.drop_item()
|
||||
user.drop_from_inventory(src,get_turf(src))
|
||||
qdel(src)
|
||||
|
||||
// Root voidsuit kit defines.
|
||||
|
||||
@@ -118,7 +118,7 @@
|
||||
var/obj/item/stack/material/M = W
|
||||
if (M.use(1))
|
||||
var/obj/item/weapon/secbot_assembly/ed209_assembly/B = new /obj/item/weapon/secbot_assembly/ed209_assembly
|
||||
B.loc = get_turf(src)
|
||||
B.forceMove(get_turf(src))
|
||||
user << "<span class='notice'>You armed the robot frame.</span>"
|
||||
if (user.get_inactive_hand()==src)
|
||||
user.remove_from_mob(src)
|
||||
@@ -128,37 +128,32 @@
|
||||
user << "<span class='warning'>You need one sheet of metal to arm the robot frame.</span>"
|
||||
if(istype(W, /obj/item/robot_parts/l_leg))
|
||||
if(src.l_leg) return
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
user.drop_from_inventory(W,src)
|
||||
src.l_leg = W
|
||||
src.updateicon()
|
||||
|
||||
if(istype(W, /obj/item/robot_parts/r_leg))
|
||||
if(src.r_leg) return
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
user.drop_from_inventory(W,src)
|
||||
src.r_leg = W
|
||||
src.updateicon()
|
||||
|
||||
if(istype(W, /obj/item/robot_parts/l_arm))
|
||||
if(src.l_arm) return
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
user.drop_from_inventory(W,src)
|
||||
src.l_arm = W
|
||||
src.updateicon()
|
||||
|
||||
if(istype(W, /obj/item/robot_parts/r_arm))
|
||||
if(src.r_arm) return
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
user.drop_from_inventory(W,src)
|
||||
src.r_arm = W
|
||||
src.updateicon()
|
||||
|
||||
if(istype(W, /obj/item/robot_parts/chest))
|
||||
if(src.chest) return
|
||||
if(W:wires && W:cell)
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
user.drop_from_inventory(W,src)
|
||||
src.chest = W
|
||||
src.updateicon()
|
||||
else if(!W:wires)
|
||||
@@ -169,8 +164,7 @@
|
||||
if(istype(W, /obj/item/robot_parts/head))
|
||||
if(src.head) return
|
||||
if(W:flash2 && W:flash1)
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
user.drop_from_inventory(W,src)
|
||||
src.head = W
|
||||
src.updateicon()
|
||||
else
|
||||
@@ -229,7 +223,7 @@
|
||||
var/mob/living/silicon/robot/O = new /mob/living/silicon/robot(get_turf(loc), TRUE)
|
||||
if(!O) return
|
||||
|
||||
user.drop_item()
|
||||
user.drop_item() //TODO: Look into this.
|
||||
|
||||
O.mmi = W
|
||||
O.invisibility = 0
|
||||
@@ -244,8 +238,8 @@
|
||||
O.job = "Cyborg"
|
||||
|
||||
O.cell = chest.cell
|
||||
O.cell.loc = O
|
||||
W.loc = O//Should fix cybros run time erroring when blown up. It got deleted before, along with the frame.
|
||||
O.cell.forceMove(O)
|
||||
W.forceMove(O)//Should fix cybros run time erroring when blown up. It got deleted before, along with the frame.
|
||||
|
||||
// Since we "magically" installed a cell, we also have to update the correct component.
|
||||
if(O.cell)
|
||||
@@ -279,8 +273,7 @@
|
||||
user << "<span class='warning'>You have already inserted a cell!</span>"
|
||||
return
|
||||
else
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
user.drop_from_inventory(W,src)
|
||||
src.cell = W
|
||||
user << "<span class='notice'>You insert the cell!</span>"
|
||||
if(iscoil(W))
|
||||
@@ -316,8 +309,11 @@
|
||||
add_flashes(W,user)
|
||||
else if(istype(W, /obj/item/weapon/stock_parts/manipulator))
|
||||
user << "<span class='notice'>You install some manipulators and modify the head, creating a functional spider-bot!</span>"
|
||||
|
||||
|
||||
|
||||
new /mob/living/simple_animal/spiderbot(get_turf(loc))
|
||||
user.drop_item()
|
||||
user.drop_from_inventory(W,get_turf(loc))
|
||||
qdel(W)
|
||||
qdel(src)
|
||||
return
|
||||
@@ -328,13 +324,11 @@
|
||||
user << "<span class='notice'>You have already inserted the eyes!</span>"
|
||||
return
|
||||
else if(src.flash1)
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
user.drop_from_inventory(W,src)
|
||||
src.flash2 = W
|
||||
user << "<span class='notice'>You insert the flash into the eye socket!</span>"
|
||||
else
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
user.drop_from_inventory(W,src)
|
||||
src.flash1 = W
|
||||
user << "<span class='notice'>You insert the flash into the eye socket!</span>"
|
||||
|
||||
|
||||
@@ -13,5 +13,5 @@
|
||||
user << "You attahed the [src] to [S] making movement silent"
|
||||
S.silent = 1
|
||||
S.desc += " They appear to have some type of fabric soles"
|
||||
user.drop_from_inventory(src)
|
||||
user.drop_from_inventory(src,A)
|
||||
qdel(src)
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// After target moves, check for nearby stakes. If associated, move to target
|
||||
for(var/obj/structure/target_stake/M in view(3,src))
|
||||
if(M.density == 0 && M.pinned_target == src)
|
||||
M.loc = loc
|
||||
M.forceMove(loc)
|
||||
|
||||
// This may seem a little counter-intuitive but I assure you that's for a purpose.
|
||||
// Stakes are the ones that carry targets, yes, but in the stake code we set
|
||||
@@ -61,7 +61,7 @@
|
||||
user.put_in_hands(src)
|
||||
user << "You take the target out of the stake."
|
||||
else
|
||||
src.loc = get_turf(user)
|
||||
src.forceMove(get_turf(user))
|
||||
user << "You take the target out of the stake."
|
||||
|
||||
stake.pinned_target = null
|
||||
|
||||
@@ -156,7 +156,7 @@
|
||||
attackby(obj/item/I as obj, mob/user as mob)
|
||||
if(istype(I, /obj/item/toy/ammo/crossbow))
|
||||
if(bullets <= 4)
|
||||
user.drop_item()
|
||||
user.drop_from_inventory(I,src)
|
||||
qdel(I)
|
||||
bullets++
|
||||
user << "<span class='notice'>You load the foam dart into the crossbow.</span>"
|
||||
|
||||
@@ -49,7 +49,8 @@
|
||||
if((stored_matter + 10) > 30)
|
||||
user << "<span class='notice'>The RCD can't hold any more matter-units.</span>"
|
||||
return
|
||||
user.drop_from_inventory(W)
|
||||
//TODO: Possible better animation
|
||||
user.drop_from_inventory(W,src)
|
||||
qdel(W)
|
||||
stored_matter += 10
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
|
||||
|
||||
@@ -95,7 +95,7 @@ RSF
|
||||
used_energy = 200
|
||||
|
||||
user << "Dispensing [product ? product : "product"]..."
|
||||
product.loc = get_turf(A)
|
||||
product.forceMove(get_turf(A))
|
||||
|
||||
if(isrobot(user))
|
||||
var/mob/living/silicon/robot/R = user
|
||||
|
||||
@@ -32,7 +32,7 @@ var/malftransformermade = 0
|
||||
if(do_after(user, 30 SECONDS, act_target = src))
|
||||
var/obj/product = new /obj/machinery/transformer
|
||||
malftransformermade = 1
|
||||
product.loc = get_turf(A)
|
||||
product.forceMove(get_turf(A))
|
||||
|
||||
if(isrobot(user))
|
||||
var/mob/living/silicon/robot/R = user
|
||||
|
||||
@@ -83,9 +83,9 @@ var/const/NO_EMAG_ACT = -50
|
||||
|
||||
if(uses<1)
|
||||
user.visible_message("<span class='warning'>\The [src] fizzles and sparks - it seems it's been used once too often, and is now spent.</span>")
|
||||
user.drop_item()
|
||||
var/obj/item/weapon/card/emag_broken/junk = new(user.loc)
|
||||
junk.add_fingerprint(user)
|
||||
user.drop_from_inventory(src,get_turf(junk))
|
||||
qdel(src)
|
||||
|
||||
return 1
|
||||
|
||||
@@ -125,8 +125,7 @@
|
||||
/obj/item/weapon/cloaking_device/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if(istype(W, /obj/item/weapon/cell))
|
||||
if(!cell)
|
||||
user.drop_item()
|
||||
W.forceMove(src)
|
||||
user.drop_from_inventory(W,src)
|
||||
cell = W
|
||||
user << "<span class='notice'>You install a cell in [src].</span>"
|
||||
update_icon()
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
user.do_attack_animation(target)
|
||||
|
||||
if(do_after(user, 50) && in_range(user, target))
|
||||
user.drop_item()
|
||||
user.drop_item() //TODO: Look into this
|
||||
src.target = target
|
||||
loc = null
|
||||
|
||||
|
||||
@@ -74,13 +74,13 @@
|
||||
if(iswrench(W) && !status)//Taking this apart
|
||||
var/turf/T = get_turf(src)
|
||||
if(weldtool)
|
||||
weldtool.loc = T
|
||||
weldtool.forceMove(T)
|
||||
weldtool = null
|
||||
if(igniter)
|
||||
igniter.loc = T
|
||||
igniter.forceMove(T)
|
||||
igniter = null
|
||||
if(ptank)
|
||||
ptank.loc = T
|
||||
ptank.forceMove(T)
|
||||
ptank = null
|
||||
new /obj/item/stack/rods(T)
|
||||
qdel(src)
|
||||
@@ -96,8 +96,7 @@
|
||||
var/obj/item/device/assembly/igniter/I = W
|
||||
if(I.secured) return
|
||||
if(igniter) return
|
||||
user.drop_item()
|
||||
I.loc = src
|
||||
user.drop_from_inventory(I,src)
|
||||
igniter = I
|
||||
update_icon()
|
||||
return
|
||||
@@ -106,9 +105,8 @@
|
||||
if(ptank)
|
||||
user << "<span class='notice'>There appears to already be a phoron tank loaded in [src]!</span>"
|
||||
return
|
||||
user.drop_item()
|
||||
user.drop_from_inventory(W,src)
|
||||
ptank = W
|
||||
W.loc = src
|
||||
update_icon()
|
||||
return
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
user << "<span class='notice'>You cut open the present.</span>"
|
||||
|
||||
for(var/mob/M in src) //Should only be one but whatever.
|
||||
M.loc = src.loc
|
||||
M.forceMove(src.loc)
|
||||
if (M.client)
|
||||
M.client.eye = M.client.mob
|
||||
M.client.perspective = MOB_PERSPECTIVE
|
||||
@@ -146,7 +146,7 @@
|
||||
G.w_class = G.size + 1
|
||||
G.icon_state = text("gift[]", G.size)
|
||||
G.gift = W
|
||||
W.loc = G
|
||||
W.forceMove(G)
|
||||
G.add_fingerprint(user)
|
||||
W.add_fingerprint(user)
|
||||
src.add_fingerprint(user)
|
||||
@@ -178,7 +178,7 @@
|
||||
H.client.perspective = EYE_PERSPECTIVE
|
||||
H.client.eye = present
|
||||
|
||||
H.loc = present
|
||||
H.forceMove(present)
|
||||
|
||||
H.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been wrapped with [src.name] by [user.name] ([user.ckey])</font>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Used the [src.name] to wrap [H.name] ([H.ckey])</font>")
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
user << "<span class='notice'>You add [W] to the metal casing.</span>"
|
||||
playsound(src.loc, 'sound/items/Screwdriver2.ogg', 25, -3)
|
||||
user.remove_from_mob(det)
|
||||
det.loc = src
|
||||
det.forceMove(src)
|
||||
detonator = det
|
||||
if(istimer(detonator.a_left))
|
||||
var/obj/item/device/assembly/timer/T = detonator.a_left
|
||||
@@ -104,8 +104,7 @@
|
||||
else
|
||||
if(W.reagents.total_volume)
|
||||
user << "<span class='notice'>You add \the [W] to the assembly.</span>"
|
||||
user.drop_item()
|
||||
W.forceMove(src)
|
||||
user.drop_from_inventory(W,src)
|
||||
beakers += W
|
||||
stage = 1
|
||||
name = "unsecured grenade with [beakers.len] containers[detonator?" and detonator":""]"
|
||||
|
||||
@@ -71,10 +71,9 @@
|
||||
// Apply cuffs.
|
||||
var/obj/item/weapon/handcuffs/cuffs = src
|
||||
if(dispenser)
|
||||
cuffs = new(get_turf(user))
|
||||
cuffs = new(target)
|
||||
else
|
||||
user.drop_from_inventory(cuffs)
|
||||
cuffs.loc = target
|
||||
user.drop_from_inventory(cuffs,target)
|
||||
target.handcuffed = cuffs
|
||||
target.update_inv_handcuffed()
|
||||
return 1
|
||||
|
||||
@@ -93,14 +93,14 @@
|
||||
item_quants[N] -= 1
|
||||
for(var/obj/O in contents)
|
||||
if(O.name == N)
|
||||
O.loc = get_turf(src)
|
||||
O.forceMove(get_turf(src))
|
||||
usr.put_in_hands(O)
|
||||
break
|
||||
|
||||
else if ( href_list["unload"] )
|
||||
item_quants.Cut()
|
||||
for(var/obj/O in contents )
|
||||
O.loc = get_turf(src)
|
||||
O.forceMove(get_turf(src))
|
||||
|
||||
src.updateUsrDialog()
|
||||
return
|
||||
|
||||
@@ -532,7 +532,7 @@ the implant may become unstable and either pre-maturely inject the subject or si
|
||||
if (imp_in)
|
||||
imp_in.put_in_hands(scanned)
|
||||
else
|
||||
scanned.loc = t
|
||||
scanned.forceMove(t)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/weapon/implant/compressed/implanted(mob/source as mob)
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
if (M.imp)
|
||||
if ((src.imp || M.imp.implanted))
|
||||
return
|
||||
M.imp.loc = src
|
||||
M.imp.forceMove(src)
|
||||
src.imp = M.imp
|
||||
M.imp = null
|
||||
src.update()
|
||||
@@ -54,7 +54,7 @@
|
||||
if (src.imp)
|
||||
if (M.imp)
|
||||
return
|
||||
src.imp.loc = M
|
||||
src.imp.forceMove(M)
|
||||
M.imp = src.imp
|
||||
src.imp = null
|
||||
update()
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
if (src.occupant.client)
|
||||
src.occupant.client.eye = src.occupant.client.mob
|
||||
src.occupant.client.perspective = MOB_PERSPECTIVE
|
||||
src.occupant.loc = src.loc
|
||||
src.occupant.forceMove(src.loc)
|
||||
if(injecting)
|
||||
implant(src.occupant)
|
||||
injecting = 0
|
||||
@@ -117,7 +117,7 @@
|
||||
M.client.perspective = EYE_PERSPECTIVE
|
||||
M.client.eye = src
|
||||
M.stop_pulling()
|
||||
M.loc = src
|
||||
M.forceMove(src)
|
||||
src.occupant = M
|
||||
src.add_fingerprint(usr)
|
||||
icon_state = "implantchair_on"
|
||||
@@ -135,7 +135,7 @@
|
||||
O.show_message("<span class='warning'>\The [M] has been implanted by \the [src].</span>", 1)
|
||||
|
||||
if(imp.implanted(M))
|
||||
imp.loc = M
|
||||
imp.forceMove(M)
|
||||
imp.imp_in = M
|
||||
imp.implanted = 1
|
||||
implant_list -= imp
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
/obj/item/weapon/implanter/attack_self(var/mob/user)
|
||||
if(!imp)
|
||||
return ..()
|
||||
imp.loc = get_turf(src)
|
||||
imp.forceMove(get_turf(src))
|
||||
user.put_in_hands(imp)
|
||||
user << "<span class='notice'>You remove \the [imp] from \the [src].</span>"
|
||||
name = "implanter"
|
||||
@@ -43,7 +43,7 @@
|
||||
admin_attack_log(user, M, "Implanted using \the [src.name] ([src.imp.name])", "Implanted with \the [src.name] ([src.imp.name])", "used an implanter, [src.name] ([src.imp.name]), on")
|
||||
|
||||
if(src.imp.implanted(M))
|
||||
src.imp.loc = M
|
||||
src.imp.forceMove(M)
|
||||
src.imp.imp_in = M
|
||||
src.imp.implanted = 1
|
||||
if (ishuman(M))
|
||||
@@ -197,6 +197,5 @@
|
||||
return
|
||||
|
||||
ipc_tag = new_tag
|
||||
user.drop_item()
|
||||
new_tag.loc = src
|
||||
user.drop_from_inventory(new_tag,src)
|
||||
update()
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
if (source.client)
|
||||
source.client.screen -= W
|
||||
if (W)
|
||||
W.loc = source.loc
|
||||
W.forceMove(source.loc)
|
||||
dropped(source)
|
||||
if (W)
|
||||
W.layer = initial(W.layer)
|
||||
@@ -40,7 +40,7 @@
|
||||
if (source.client)
|
||||
source.client.screen -= W
|
||||
if (W)
|
||||
W.loc = source.loc
|
||||
W.forceMove(source.loc)
|
||||
dropped(source)
|
||||
if (W)
|
||||
W.layer = initial(W.layer)
|
||||
|
||||
@@ -42,8 +42,7 @@
|
||||
..()
|
||||
if(istype(C, /obj/item/weapon/implantcase))
|
||||
if(!( src.case ))
|
||||
user.drop_item()
|
||||
C.loc = src
|
||||
user.drop_from_inventory(C,src)
|
||||
src.case = C
|
||||
else
|
||||
return
|
||||
|
||||
@@ -63,8 +63,9 @@
|
||||
finished = new /obj/item/weapon/melee/baton/cattleprod(get_turf(user))
|
||||
user << "<span class='notice'>You fasten the wirecutters to the top of the rod with the cable, prongs outward.</span>"
|
||||
if(finished)
|
||||
user.drop_from_inventory(src)
|
||||
user.drop_from_inventory(I)
|
||||
user.drop_from_inventory(src,finished)
|
||||
user.drop_from_inventory(I,finished)
|
||||
//TODO: Possible better animation here.
|
||||
qdel(I)
|
||||
qdel(src)
|
||||
user.put_in_hands(finished)
|
||||
@@ -91,10 +92,11 @@
|
||||
finished = new /obj/item/weapon/material/twohanded/pike(get_turf(user), tip.material.name)
|
||||
user << "<span class='notice'>You attach \the [I] to the top of \the [src].</span>"
|
||||
if(finished)
|
||||
user.drop_from_inventory(src)
|
||||
user.drop_from_inventory(I)
|
||||
user.drop_from_inventory(src,finished)
|
||||
user.drop_from_inventory(I,finished)
|
||||
qdel(I)
|
||||
qdel(src)
|
||||
//TODO: Possible better animation here.
|
||||
user.put_in_hands(finished)
|
||||
update_icon(user)
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
user << "\The [src] is full."
|
||||
return
|
||||
user.remove_from_mob(W)
|
||||
W.loc = src
|
||||
W.forceMove(src)
|
||||
|
||||
if (istype(W,/obj/item/clothing/mask/smokable/cigarette))
|
||||
var/obj/item/clothing/mask/smokable/cigarette/cig = W
|
||||
@@ -80,7 +80,7 @@
|
||||
if (contents.len)
|
||||
src.visible_message("<span class='danger'>\The [src] slams into [hit_atom], spilling its contents!</span>")
|
||||
for (var/obj/item/clothing/mask/smokable/cigarette/O in contents)
|
||||
O.loc = src.loc
|
||||
O.forceMove(src.loc)
|
||||
if (health < 1)
|
||||
shatter()
|
||||
return
|
||||
|
||||
@@ -73,9 +73,10 @@ Protectiveness | Armor %
|
||||
if(second_plate.material != src.material)
|
||||
to_chat(user, "<span class='warning'>Both plates need to be the same type of material.</span>")
|
||||
return
|
||||
user.drop_from_inventory(src)
|
||||
user.drop_from_inventory(second_plate)
|
||||
var/obj/item/clothing/suit/armor/material/makeshift/new_armor = new(null, src.material.name)
|
||||
//TODO: Possible better animations
|
||||
var/obj/item/clothing/suit/armor/material/makeshift/new_armor = new(src.loc, src.material.name)
|
||||
user.drop_from_inventory(src,new_armor)
|
||||
user.drop_from_inventory(second_plate,new_armor)
|
||||
user.put_in_hands(new_armor)
|
||||
qdel(second_plate)
|
||||
qdel(src)
|
||||
|
||||
@@ -243,8 +243,7 @@
|
||||
var/obj/structure/headspear/HS = new /obj/structure/headspear(user.loc)
|
||||
var/matrix/M = matrix()
|
||||
I.transform = M
|
||||
usr.drop_item()
|
||||
I.forceMove(HS)
|
||||
usr.drop_from_inventory(I,HS)
|
||||
var/mutable_appearance/MA = new(I)
|
||||
MA.layer = FLOAT_LAYER
|
||||
HS.add_overlay(MA)
|
||||
@@ -310,7 +309,7 @@
|
||||
user.visible_message("<span class='warning'>[user] kicks over \the [src]!</span>", "<span class='danger'>You kick down \the [src]!</span>")
|
||||
new /obj/item/weapon/material/twohanded/spear(user.loc, material)
|
||||
for(var/obj/item/organ/external/head/H in src)
|
||||
H.loc = user.loc
|
||||
H.forceMove(user.loc)
|
||||
qdel(src)
|
||||
|
||||
// Chainsaws!
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
/obj/item/weapon/pai_cable/proc/plugin(obj/machinery/M as obj, mob/user as mob)
|
||||
if(istype(M, /obj/machinery/door) || istype(M, /obj/machinery/camera))
|
||||
user.visible_message("[user] inserts [src] into a data port on [M].", "You insert [src] into a data port on [M].", "You hear the satisfying click of a wire jack fastening into place.")
|
||||
user.drop_item()
|
||||
src.loc = M
|
||||
user.drop_from_inventory(src,M)
|
||||
src.machine = M
|
||||
else
|
||||
user.visible_message("[user] dumbly fumbles to find a place on [M] to plug in [src].", "There aren't any ports on [M] that match the jack belonging to [src].")
|
||||
|
||||
@@ -115,7 +115,7 @@ var/list/tape_roll_applications = list()
|
||||
if (istype(A, /obj/machinery/door/airlock))
|
||||
var/turf/T = get_turf(A)
|
||||
var/obj/item/tape/P = new tape_type(T.x,T.y,T.z)
|
||||
P.loc = locate(T.x,T.y,T.z)
|
||||
P.forceMove(locate(T.x,T.y,T.z))
|
||||
P.icon_state = "[src.icon_base]_door"
|
||||
P.layer = 3.2
|
||||
user << span("notice", "You finish placing the [src].")
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
break
|
||||
|
||||
if(!success)
|
||||
user.loc = pick(L)
|
||||
user.forceMove(pick(L))
|
||||
|
||||
smoke.start()
|
||||
src.uses -= 1
|
||||
|
||||
@@ -205,7 +205,7 @@
|
||||
if(!S.amount)
|
||||
qdel(S)
|
||||
else
|
||||
S.loc = src
|
||||
S.forceMove(src)
|
||||
|
||||
orient2hud(usr)
|
||||
if(usr.s_active)
|
||||
|
||||
@@ -80,10 +80,10 @@
|
||||
switch(over_object.name)
|
||||
if("r_hand")
|
||||
usr.u_equip(src)
|
||||
usr.put_in_r_hand(src)
|
||||
usr.put_in_r_hand(src,FALSE)
|
||||
if("l_hand")
|
||||
usr.u_equip(src)
|
||||
usr.put_in_l_hand(src)
|
||||
usr.put_in_l_hand(src,FALSE)
|
||||
src.add_fingerprint(usr)
|
||||
|
||||
|
||||
@@ -422,9 +422,9 @@
|
||||
W.layer = 20
|
||||
else
|
||||
W.layer = initial(W.layer)
|
||||
W.loc = new_location
|
||||
W.forceMove(new_location)
|
||||
else
|
||||
W.loc = get_turf(src)
|
||||
W.forceMove(get_turf(src))
|
||||
|
||||
if(usr)
|
||||
src.orient2hud(usr)
|
||||
|
||||
@@ -66,8 +66,7 @@
|
||||
/obj/item/weapon/melee/baton/attackby(obj/item/weapon/W, mob/user)
|
||||
if(istype(W, /obj/item/weapon/cell))
|
||||
if(!bcell)
|
||||
user.drop_item()
|
||||
W.forceMove(src)
|
||||
user.drop_from_inventory(W,src)
|
||||
bcell = W
|
||||
user << "<span class='notice'>You install a cell in [src].</span>"
|
||||
update_icon()
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
src.master = F
|
||||
F.ptank = src
|
||||
user.remove_from_mob(src)
|
||||
src.loc = F
|
||||
src.forceMove(F)
|
||||
return
|
||||
|
||||
/*
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
noz = make_noz()
|
||||
noz.tank = src
|
||||
noz.reagents = reagents
|
||||
noz.loc = src
|
||||
noz.forceMove(src)
|
||||
|
||||
/obj/item/watertank/ui_action_click()
|
||||
toggle_mister()
|
||||
@@ -44,14 +44,14 @@
|
||||
noz = make_noz()
|
||||
noz.tank = src
|
||||
noz.reagents = reagents
|
||||
noz.loc = src
|
||||
noz.forceMove(src)
|
||||
|
||||
//Detach the nozzle into the user's hands
|
||||
if(!user.put_in_hands(noz))
|
||||
on = FALSE
|
||||
to_chat(user, "<span class='warning'>You need a free hand to hold the mister!</span>")
|
||||
return
|
||||
noz.loc = user
|
||||
noz.forceMove(user)
|
||||
else
|
||||
//Remove from their hands and put back "into" the tank
|
||||
remove_noz()
|
||||
@@ -70,11 +70,10 @@
|
||||
noz = make_noz()
|
||||
noz.tank = src
|
||||
noz.reagents = reagents
|
||||
noz.loc = src
|
||||
noz.forceMove(src)
|
||||
if(ismob(noz.loc))
|
||||
var/mob/M = noz.loc
|
||||
M.drop_from_inventory(noz)
|
||||
noz.loc = src
|
||||
M.drop_from_inventory(noz,src)
|
||||
return
|
||||
|
||||
/obj/item/watertank/Destroy()
|
||||
|
||||
@@ -79,6 +79,7 @@
|
||||
if(!istype(W, /obj/item/weapon/paper))
|
||||
return
|
||||
user.drop_from_inventory(W)
|
||||
//TODO: Possible animation? No clue
|
||||
var/obj/item/weapon/ducttape/tape = new(get_turf(src))
|
||||
tape.attach(W)
|
||||
user.put_in_hands(tape)
|
||||
@@ -113,7 +114,7 @@
|
||||
return
|
||||
|
||||
user << "You remove \the [initial(name)] from [stuck]."
|
||||
|
||||
//TODO: Find out what the fuck is going on here
|
||||
user.drop_from_inventory(src)
|
||||
stuck.forceMove(get_turf(src))
|
||||
user.put_in_hands(stuck)
|
||||
@@ -136,9 +137,8 @@
|
||||
user << "You cannot reach that from here." // can only place stuck papers in cardinal directions, to
|
||||
return // reduce papers around corners issue.
|
||||
|
||||
user.drop_from_inventory(src)
|
||||
user.drop_from_inventory(src,source_turf)
|
||||
playsound(src, 'sound/items/tape.ogg',25)
|
||||
forceMove(source_turf)
|
||||
|
||||
if(params)
|
||||
var/list/mouse_control = params2list(params)
|
||||
|
||||
@@ -239,7 +239,7 @@
|
||||
var/obj/item/stack/rods/R = W
|
||||
R.use(1)
|
||||
var/obj/item/weapon/flamethrower/F = new/obj/item/weapon/flamethrower(user.loc)
|
||||
src.loc = F
|
||||
src.forceMove(F)
|
||||
F.weldtool = src
|
||||
if (user.client)
|
||||
user.client.screen -= src
|
||||
@@ -252,7 +252,7 @@
|
||||
user.remove_from_mob(src)
|
||||
if (user.client)
|
||||
user.client.screen -= src
|
||||
src.loc = F
|
||||
src.forceMove(F)
|
||||
src.add_fingerprint(user)
|
||||
return
|
||||
|
||||
|
||||
@@ -257,7 +257,7 @@
|
||||
var/turf/dropspot = loc
|
||||
|
||||
for(var/obj/item/I in carrying)
|
||||
I.loc = dropspot
|
||||
I.forceMove(dropspot)
|
||||
carrying -= I
|
||||
|
||||
cut_overlays()
|
||||
@@ -273,7 +273,7 @@
|
||||
dropspot = loc
|
||||
|
||||
for(var/obj/item/I in carrying)
|
||||
I.loc = dropspot
|
||||
I.forceMove(dropspot)
|
||||
carrying -= I
|
||||
|
||||
cut_overlays()
|
||||
@@ -297,7 +297,7 @@
|
||||
|
||||
|
||||
for(var/obj/item/I in carrying)
|
||||
I.loc = dropspot
|
||||
I.forceMove(dropspot)
|
||||
carrying.Remove(I)
|
||||
spawn()
|
||||
for(var/i = 1, i <= rand(1,2), i++)
|
||||
|
||||
@@ -229,7 +229,7 @@
|
||||
affecting.visible_message("[affecting] vanishes in a flare of light!")
|
||||
|
||||
if(holdingfacility.len)
|
||||
affecting.loc = pick(holdingfacility)
|
||||
affecting.forceMove(pick(holdingfacility))
|
||||
|
||||
affecting << "You appear in a strange place!"
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
/obj/structure/alien/egg/proc/givefacehugger(var/kill = 1)
|
||||
var/obj/item/clothing/mask/facehugger/child = GetFacehugger()
|
||||
status = BURST
|
||||
child.loc = get_turf(src)
|
||||
child.forceMove(get_turf(src))
|
||||
|
||||
if(kill && istype(child))
|
||||
child.Die()
|
||||
|
||||
@@ -117,14 +117,12 @@ LINEN BINS
|
||||
|
||||
/obj/structure/bedsheetbin/attackby(obj/item/I as obj, mob/user as mob)
|
||||
if(istype(I, /obj/item/weapon/bedsheet))
|
||||
user.drop_item()
|
||||
I.loc = src
|
||||
user.drop_from_inventory(I,src)
|
||||
sheets.Add(I)
|
||||
amount++
|
||||
user << "<span class='notice'>You put [I] in [src].</span>"
|
||||
else if(amount && !hidden && I.w_class < 4) //make sure there's sheets to hide it among, make sure nothing else is hidden in there.
|
||||
user.drop_item()
|
||||
I.loc = src
|
||||
user.drop_from_inventory(I,src)
|
||||
hidden = I
|
||||
user << "<span class='notice'>You hide [I] among the sheets.</span>"
|
||||
|
||||
@@ -140,12 +138,12 @@ LINEN BINS
|
||||
else
|
||||
B = new /obj/item/weapon/bedsheet(loc)
|
||||
|
||||
B.loc = user.loc
|
||||
B.forceMove(user.loc)
|
||||
user.put_in_hands(B)
|
||||
user << "<span class='notice'>You take [B] out of [src].</span>"
|
||||
|
||||
if(hidden)
|
||||
hidden.loc = user.loc
|
||||
hidden.forceMove(user.loc)
|
||||
user << "<span class='notice'>[hidden] falls out of [B]!</span>"
|
||||
hidden = null
|
||||
|
||||
@@ -164,12 +162,12 @@ LINEN BINS
|
||||
else
|
||||
B = new /obj/item/weapon/bedsheet(loc)
|
||||
|
||||
B.loc = loc
|
||||
B.forceMove(loc)
|
||||
user << "<span class='notice'>You telekinetically remove [B] from [src].</span>"
|
||||
update_icon()
|
||||
|
||||
if(hidden)
|
||||
hidden.loc = loc
|
||||
hidden.forceMove(loc)
|
||||
hidden = null
|
||||
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
if (can_hang && !coat)
|
||||
src.visible_message("[mover] lands on \the [src].")
|
||||
coat = mover
|
||||
coat.loc = src
|
||||
coat.forceMove(src)
|
||||
update_icon()
|
||||
return 0
|
||||
else
|
||||
|
||||
@@ -256,9 +256,10 @@
|
||||
return
|
||||
if(!dropsafety(W))
|
||||
return
|
||||
usr.drop_item()
|
||||
if(W)
|
||||
W.forceMove(loc)
|
||||
user.drop_from_inventory(W,loc)
|
||||
else
|
||||
user.drop_item()
|
||||
else if(istype(W, /obj/item/weapon/packageWrap))
|
||||
return
|
||||
else if(iswelder(W))
|
||||
|
||||
@@ -15,9 +15,10 @@
|
||||
return 0
|
||||
if(!dropsafety(W))
|
||||
return
|
||||
user.drop_item()
|
||||
if(W)
|
||||
W.forceMove(loc)
|
||||
user.drop_from_inventory(W,loc)
|
||||
else
|
||||
user.drop_item()
|
||||
else if(istype(W, /obj/item/weapon/packageWrap))
|
||||
return
|
||||
else
|
||||
|
||||
@@ -22,9 +22,10 @@
|
||||
return 0
|
||||
if(!dropsafety(W))
|
||||
return
|
||||
user.drop_item()
|
||||
if(W)
|
||||
W.forceMove(loc)
|
||||
user.drop_from_inventory(W,loc)
|
||||
else
|
||||
user.drop_item()
|
||||
else if(istype(W, /obj/item/weapon/packageWrap))
|
||||
return
|
||||
else
|
||||
|
||||
@@ -34,9 +34,10 @@
|
||||
return
|
||||
else if(W.loc != user) // This should stop mounted modules ending up outside the module.
|
||||
return
|
||||
user.drop_item()
|
||||
if(W)
|
||||
W.forceMove(loc)
|
||||
user.drop_from_inventory(W,loc)
|
||||
else
|
||||
user.drop_item()
|
||||
else if(!opened)
|
||||
if(istype(W, /obj/item/weapon/melee/energy/blade))//Attempt to cut open locker if locked
|
||||
if(emag_act(INFINITY, user, "<span class='danger'>The locker has been sliced open by [user] with \an [W]</span>!", "<span class='danger'>You hear metal being sliced and sparks flying.</span>"))
|
||||
|
||||
@@ -48,8 +48,10 @@
|
||||
if (opened)
|
||||
if (istype(W, /obj/item/weapon/grab))
|
||||
MouseDrop_T(W:affecting, user) //act like they were dragged onto the closet
|
||||
user.drop_item()
|
||||
if (W) W.forceMove(loc)
|
||||
if(W)
|
||||
user.drop_from_inventory(W,loc)
|
||||
else
|
||||
user.drop_item()
|
||||
else if(W.GetID())
|
||||
var/obj/item/weapon/card/id/I = W.GetID()
|
||||
|
||||
|
||||
@@ -104,9 +104,10 @@
|
||||
return
|
||||
else if(W.loc != user) // This should stop mounted modules ending up outside the module.
|
||||
return
|
||||
user.drop_item()
|
||||
if(W)
|
||||
W.forceMove(loc)
|
||||
user.drop_from_inventory(W,loc)
|
||||
else
|
||||
user.drop_item()
|
||||
else if(isscrewdriver(W) && canbemoved)
|
||||
if(screwed)
|
||||
user << "<span class='notice'>You start to unscrew the locker from the floor...</span>"
|
||||
|
||||
@@ -366,9 +366,7 @@
|
||||
return
|
||||
else if(W.loc != user) // This should stop mounted modules ending up outside the module.
|
||||
return
|
||||
user.drop_item()
|
||||
if(W)
|
||||
W.forceMove(loc)
|
||||
user.drop_from_inventory(W,loc)
|
||||
else if(!opened)
|
||||
if(istype(W, /obj/item/weapon/melee/energy/blade))//Attempt to cut open locker if locked
|
||||
if(emag_act(INFINITY, user, "<span class='danger'>The locker has been sliced open by [user] with \an [W]</span>!", "<span class='danger'>You hear metal being sliced and sparks flying.</span>"))
|
||||
|
||||
@@ -105,8 +105,7 @@
|
||||
else if(istype(W, /obj/item/device/radio/electropack))
|
||||
if(rigged)
|
||||
user << "<span class='notice'>You attach [W] to [src].</span>"
|
||||
user.drop_item()
|
||||
W.forceMove(src)
|
||||
user.drop_from_inventory(W,src)
|
||||
return
|
||||
else if(iswirecutter(W))
|
||||
if(rigged)
|
||||
|
||||
@@ -232,8 +232,7 @@
|
||||
if(do_after(user, 40))
|
||||
EL.inuse = 0
|
||||
if(!src) return
|
||||
user.drop_item()
|
||||
EL.forceMove(src)
|
||||
user.drop_from_inventory(EL,src)
|
||||
user << "<span class='notice'>You installed the airlock electronics!</span>"
|
||||
src.state = 2
|
||||
src.name = "Near finished Airlock Assembly"
|
||||
@@ -256,7 +255,7 @@
|
||||
user << "<span class='notice'>You removed the airlock electronics!</span>"
|
||||
src.state = 1
|
||||
src.name = "Wired Airlock Assembly"
|
||||
electronics.loc = src.loc
|
||||
electronics.forceMove(src.loc)
|
||||
electronics = null
|
||||
|
||||
else if(istype(W, /obj/item/stack/material) && !glass)
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
|
||||
/obj/structure/extinguisher_cabinet/attack_tk(mob/user)
|
||||
if(has_extinguisher)
|
||||
has_extinguisher.loc = loc
|
||||
has_extinguisher.forceMove(loc)
|
||||
user << "<span class='notice'>You telekinetically remove [has_extinguisher] from [src].</span>"
|
||||
has_extinguisher = null
|
||||
opened = 1
|
||||
|
||||
@@ -104,8 +104,7 @@
|
||||
if(do_after(user, 20, act_target = src))
|
||||
if(!stored_item)
|
||||
if(W.w_class <= ITEMSIZE_NORMAL)
|
||||
user.drop_from_inventory(W)
|
||||
W.forceMove(src)
|
||||
user.drop_from_inventory(W,src)
|
||||
stored_item = W
|
||||
to_chat(user,"<span class='notice'>You hide \the [W] in [src].</span>")
|
||||
return
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
|
||||
/obj/structure/janitorialcart/MouseDrop_T(atom/movable/O as mob|obj, mob/living/user as mob)
|
||||
if (istype(O, /obj/structure/mopbucket) && !mybucket)
|
||||
O.loc = src
|
||||
O.forceMove(src)
|
||||
mybucket = O
|
||||
user << "You mount the [O] on the janicart."
|
||||
update_icon()
|
||||
@@ -65,9 +65,8 @@
|
||||
var/obj/I = usr.get_active_hand()
|
||||
if(istype(I, /obj/item/weapon/mop))
|
||||
if(!mymop)
|
||||
usr.drop_item()
|
||||
usr.drop_from_inventory(I,src)
|
||||
mymop = I
|
||||
I.forceMove(src)
|
||||
update_icon()
|
||||
updateUsrDialog()
|
||||
usr << "<span class='notice'>You put [I] into [src].</span>"
|
||||
@@ -100,25 +99,23 @@
|
||||
return 1
|
||||
|
||||
else if(istype(I, /obj/item/weapon/reagent_containers/spray) && !myspray)
|
||||
user.drop_item()
|
||||
user.drop_from_inventory(I,src)
|
||||
myspray = I
|
||||
I.forceMove(src)
|
||||
update_icon()
|
||||
updateUsrDialog()
|
||||
user << "<span class='notice'>You put [I] into [src].</span>"
|
||||
return 1
|
||||
|
||||
else if(istype(I, /obj/item/device/lightreplacer) && !myreplacer)
|
||||
user.drop_item()
|
||||
user.drop_from_inventory(I,src)
|
||||
myreplacer = I
|
||||
I.forceMove(src)
|
||||
update_icon()
|
||||
updateUsrDialog()
|
||||
user << "<span class='notice'>You put [I] into [src].</span>"
|
||||
return 1
|
||||
|
||||
else if(istype(I, /obj/item/weapon/storage/bag/trash) && !mybag)
|
||||
user.drop_item()
|
||||
user.drop_from_inventory(I,src)
|
||||
mybag = I
|
||||
I.forceMove(src)
|
||||
update_icon()
|
||||
@@ -128,8 +125,7 @@
|
||||
|
||||
else if(istype(I, /obj/item/weapon/caution))
|
||||
if(signs < 4)
|
||||
user.drop_item()
|
||||
I.forceMove(src)
|
||||
user.drop_from_inventory(I,src)
|
||||
signs++
|
||||
update_icon()
|
||||
updateUsrDialog()
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
for(var/obj/item/I in loc)
|
||||
if(notices > 4) break
|
||||
if(istype(I, /obj/item/weapon/paper))
|
||||
I.loc = src
|
||||
I.forceMove(src)
|
||||
notices++
|
||||
icon_state = "nboard0[notices]"
|
||||
|
||||
@@ -22,8 +22,7 @@
|
||||
if(notices < 5)
|
||||
O.add_fingerprint(user)
|
||||
add_fingerprint(user)
|
||||
user.drop_from_inventory(O)
|
||||
O.loc = src
|
||||
user.drop_from_inventory(O,src)
|
||||
notices++
|
||||
icon_state = "nboard0[notices]" //update sprite
|
||||
user << "<span class='notice'>You pin the paper to the noticeboard.</span>"
|
||||
@@ -55,7 +54,7 @@
|
||||
return
|
||||
var/obj/item/P = locate(href_list["remove"])
|
||||
if(P && P.loc == src)
|
||||
P.loc = get_turf(src) //dump paper on the floor because you're a clumsy fuck
|
||||
P.forceMove(get_turf(src)) //dump paper on the floor because you're a clumsy fuck
|
||||
P.add_fingerprint(usr)
|
||||
add_fingerprint(usr)
|
||||
notices--
|
||||
|
||||
@@ -37,7 +37,7 @@ FLOOR SAFES
|
||||
return
|
||||
if(I.w_class + space <= maxspace)
|
||||
space += I.w_class
|
||||
I.loc = src
|
||||
I.forceMove(src)
|
||||
|
||||
|
||||
/obj/structure/safe/proc/check_unlocked(mob/user as mob, canhear)
|
||||
@@ -147,8 +147,7 @@ FLOOR SAFES
|
||||
if(open)
|
||||
if(I.w_class + space <= maxspace)
|
||||
space += I.w_class
|
||||
user.drop_item()
|
||||
I.loc = src
|
||||
user.drop_from_inventory(I,src)
|
||||
user << "<span class='notice'>You put [I] in [src].</span>"
|
||||
updateUsrDialog()
|
||||
return
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
"<span class='warning'>[user.name] drenches you in a foul-smelling resin, trapping you in the [src]!</span>",\
|
||||
"<span class='notice'>You hear squelching...</span>")
|
||||
M.buckled = src
|
||||
M.loc = src.loc
|
||||
M.forceMove(src.loc)
|
||||
M.set_dir(src.dir)
|
||||
M.update_canmove()
|
||||
M.pixel_y = 6
|
||||
|
||||
@@ -101,7 +101,6 @@
|
||||
return
|
||||
var/obj/item/stack/C = W
|
||||
if(C.get_amount() < 1) // How??
|
||||
user.drop_from_inventory(C)
|
||||
qdel(C)
|
||||
return
|
||||
var/padding_type //This is awful but it needs to be like this until tiles are given a material var.
|
||||
@@ -117,7 +116,7 @@
|
||||
C.use(1)
|
||||
if(!istype(src.loc, /turf))
|
||||
user.drop_from_inventory(src)
|
||||
src.loc = get_turf(src)
|
||||
src.forceMove(get_turf(src))
|
||||
user << "You add padding to \the [src]."
|
||||
add_padding(padding_type)
|
||||
return
|
||||
@@ -135,7 +134,7 @@
|
||||
var/mob/living/affecting = G.affecting
|
||||
user.visible_message("<span class='notice'>[user] attempts to buckle [affecting] into \the [src]!</span>")
|
||||
if(do_after(user, 20))
|
||||
affecting.loc = loc
|
||||
affecting.forceMove(loc)
|
||||
spawn(0)
|
||||
if(buckle_mob(affecting))
|
||||
affecting.visible_message(\
|
||||
@@ -224,7 +223,7 @@
|
||||
var/obj/item/roller_holder/RH = W
|
||||
if(!RH.held)
|
||||
user << "<span class='notice'>You collect the roller bed.</span>"
|
||||
src.loc = RH
|
||||
src.forceMove(RH)
|
||||
RH.held = src
|
||||
return
|
||||
|
||||
@@ -258,7 +257,7 @@
|
||||
..()
|
||||
if(buckled_mob)
|
||||
if(buckled_mob.buckled == src)
|
||||
buckled_mob.loc = src.loc
|
||||
buckled_mob.forceMove(src.loc)
|
||||
else
|
||||
buckled_mob = null
|
||||
|
||||
|
||||
@@ -15,12 +15,11 @@
|
||||
if(!SK.status)
|
||||
user << "<span class='notice'>\The [SK] is not ready to be attached!</span>"
|
||||
return
|
||||
user.drop_item()
|
||||
var/obj/structure/bed/chair/e_chair/E = new (src.loc, material.name)
|
||||
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
E.set_dir(dir)
|
||||
E.part = SK
|
||||
SK.loc = E
|
||||
user.drop_from_inventory(SK,E)
|
||||
SK.master = E
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -122,7 +122,6 @@
|
||||
return
|
||||
var/obj/item/stack/C = W
|
||||
if(C.get_amount() < 1) // How??
|
||||
user.drop_from_inventory(C)
|
||||
qdel(C)
|
||||
return
|
||||
var/padding_type //This is awful but it needs to be like this until tiles are given a material var.
|
||||
@@ -138,7 +137,7 @@
|
||||
C.use(1)
|
||||
if(!istype(src.loc, /turf))
|
||||
user.drop_from_inventory(src)
|
||||
src.loc = get_turf(src)
|
||||
src.forceMove(get_turf(src))
|
||||
user << "You add padding to \the [src]."
|
||||
add_padding(padding_type)
|
||||
return
|
||||
|
||||
@@ -24,14 +24,14 @@
|
||||
/obj/structure/dispenser/update_icon()
|
||||
cut_overlays()
|
||||
switch(oxygentanks)
|
||||
if(1 to 3)
|
||||
if(1 to 3)
|
||||
add_overlay("oxygen-[oxygentanks]")
|
||||
if(4 to INFINITY)
|
||||
if(4 to INFINITY)
|
||||
add_overlay("oxygen-4")
|
||||
switch(phorontanks)
|
||||
if(1 to 4)
|
||||
add_overlay("phoron-[phorontanks]")
|
||||
if(5 to INFINITY)
|
||||
if(5 to INFINITY)
|
||||
add_overlay("phoron-5")
|
||||
|
||||
/obj/structure/dispenser/attack_ai(mob/user as mob)
|
||||
@@ -52,8 +52,7 @@
|
||||
/obj/structure/dispenser/attackby(obj/item/I as obj, mob/user as mob)
|
||||
if(istype(I, /obj/item/weapon/tank/oxygen) || istype(I, /obj/item/weapon/tank/air) || istype(I, /obj/item/weapon/tank/anesthetic))
|
||||
if(oxygentanks < 10)
|
||||
user.drop_item()
|
||||
I.loc = src
|
||||
user.drop_from_inventory(I,src)
|
||||
oxytanks.Add(I)
|
||||
oxygentanks++
|
||||
user << "<span class='notice'>You put [I] in [src].</span>"
|
||||
@@ -65,8 +64,7 @@
|
||||
return
|
||||
if(istype(I, /obj/item/weapon/tank/phoron))
|
||||
if(phorontanks < 10)
|
||||
user.drop_item()
|
||||
I.loc = src
|
||||
user.drop_from_inventory(I,src)
|
||||
platanks.Add(I)
|
||||
phorontanks++
|
||||
user << "<span class='notice'>You put [I] in [src].</span>"
|
||||
@@ -98,7 +96,7 @@
|
||||
oxytanks.Remove(O)
|
||||
else
|
||||
O = new /obj/item/weapon/tank/oxygen(loc)
|
||||
O.loc = loc
|
||||
O.forceMove(loc)
|
||||
usr << "<span class='notice'>You take [O] out of [src].</span>"
|
||||
oxygentanks--
|
||||
update_icon()
|
||||
@@ -110,7 +108,7 @@
|
||||
platanks.Remove(P)
|
||||
else
|
||||
P = new /obj/item/weapon/tank/phoron(loc)
|
||||
P.loc = loc
|
||||
P.forceMove(loc)
|
||||
usr << "<span class='notice'>You take [P] out of [src].</span>"
|
||||
phorontanks--
|
||||
update_icon()
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
..()
|
||||
// Move the pinned target along with the stake
|
||||
if(pinned_target in view(3, src))
|
||||
pinned_target.loc = loc
|
||||
pinned_target.forceMove(loc)
|
||||
|
||||
else // Sanity check: if the pinned target can't be found in immediate view
|
||||
pinned_target = null
|
||||
@@ -28,7 +28,7 @@
|
||||
density = 0
|
||||
W.density = 1
|
||||
user.remove_from_mob(W)
|
||||
W.loc = loc
|
||||
W.forceMove(loc)
|
||||
W.layer = 3.1
|
||||
pinned_target = W
|
||||
user << "You slide the target into the stake."
|
||||
@@ -41,13 +41,13 @@
|
||||
pinned_target.density = 0
|
||||
pinned_target.layer = OBJ_LAYER
|
||||
|
||||
pinned_target.loc = user.loc
|
||||
pinned_target.forceMove(user.loc)
|
||||
if(ishuman(user))
|
||||
if(!user.get_active_hand())
|
||||
user.put_in_hands(pinned_target)
|
||||
user << "You take the target out of the stake."
|
||||
else
|
||||
pinned_target.loc = get_turf(user)
|
||||
pinned_target.forceMove(get_turf(user))
|
||||
user << "You take the target out of the stake."
|
||||
|
||||
pinned_target = null
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
|
||||
/obj/structure/transit_tube_pod/Destroy()
|
||||
for(var/atom/movable/AM in contents)
|
||||
AM.loc = loc
|
||||
AM.forceMove(loc)
|
||||
|
||||
return ..()
|
||||
|
||||
@@ -60,7 +60,7 @@ obj/structure/ex_act(severity)
|
||||
switch(severity)
|
||||
if(1.0)
|
||||
for(var/atom/movable/AM in contents)
|
||||
AM.loc = loc
|
||||
AM.forceMove(loc)
|
||||
AM.ex_act(severity++)
|
||||
|
||||
qdel(src)
|
||||
@@ -68,7 +68,7 @@ obj/structure/ex_act(severity)
|
||||
if(2.0)
|
||||
if(prob(50))
|
||||
for(var/atom/movable/AM in contents)
|
||||
AM.loc = loc
|
||||
AM.forceMove(loc)
|
||||
AM.ex_act(severity++)
|
||||
|
||||
qdel(src)
|
||||
@@ -104,7 +104,7 @@ obj/structure/ex_act(severity)
|
||||
AM << "<span class='warning'>The tube's support pylons block your way.</span>"
|
||||
return ..()
|
||||
else
|
||||
AM.loc = src.loc
|
||||
AM.forceMove(src.loc)
|
||||
AM << "<span class='info'>You slip under the tube.</span>"
|
||||
|
||||
|
||||
@@ -120,7 +120,7 @@ obj/structure/ex_act(severity)
|
||||
AM << "<span class='notice'>The pod is already occupied.</span>"
|
||||
return
|
||||
else if(!pod.moving && pod.dir in directions())
|
||||
AM.loc = pod
|
||||
AM.forceMove(pod)
|
||||
return
|
||||
|
||||
|
||||
@@ -380,7 +380,7 @@ obj/structure/ex_act(severity)
|
||||
if(istype(mob, /mob) && mob.client)
|
||||
// If the pod is not in a tube at all, you can get out at any time.
|
||||
if(!(locate(/obj/structure/transit_tube) in loc))
|
||||
mob.loc = loc
|
||||
mob.forceMove(loc)
|
||||
mob.client.Move(get_step(loc, direction), direction)
|
||||
|
||||
//if(moving && istype(loc, /turf/space))
|
||||
@@ -393,7 +393,7 @@ obj/structure/ex_act(severity)
|
||||
if(!station.pod_moving)
|
||||
if(direction == station.dir)
|
||||
if(station.icon_state == "open")
|
||||
mob.loc = loc
|
||||
mob.forceMove(loc)
|
||||
mob.client.Move(get_step(loc, direction), direction)
|
||||
|
||||
else
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
if(ishuman(user))
|
||||
user.put_in_hands(I)
|
||||
else
|
||||
I.loc = get_turf(src)
|
||||
I.forceMove(get_turf(src))
|
||||
user << "<span class='notice'>You find \an [I] in the cistern.</span>"
|
||||
w_items -= I.w_class
|
||||
return
|
||||
@@ -87,8 +87,7 @@
|
||||
if(w_items + I.w_class > 5)
|
||||
user << "<span class='notice'>The cistern is full.</span>"
|
||||
return
|
||||
user.drop_item()
|
||||
I.loc = src
|
||||
user.drop_from_inventory(I,src)
|
||||
w_items += I.w_class
|
||||
user << "You carefully place \the [I] into the cistern."
|
||||
return
|
||||
|
||||
@@ -175,8 +175,7 @@ obj/structure/windoor_assembly/Destroy()
|
||||
if(do_after(user, 40))
|
||||
EL.inuse = 0
|
||||
if(!src) return
|
||||
user.drop_item()
|
||||
EL.forceMove(src)
|
||||
user.drop_from_inventory(EL,src)
|
||||
user << "<span class='notice'>You've installed the airlock electronics!</span>"
|
||||
src.name = "Near finished Windoor Assembly"
|
||||
src.electronics = EL
|
||||
@@ -197,7 +196,7 @@ obj/structure/windoor_assembly/Destroy()
|
||||
src.name = "Wired Windoor Assembly"
|
||||
var/obj/item/weapon/airlock_electronics/ae = electronics
|
||||
electronics = null
|
||||
ae.loc = src.loc
|
||||
ae.forceMove(src.loc)
|
||||
|
||||
//Crowbar to complete the assembly, Step 7 complete.
|
||||
else if(iscrowbar(W))
|
||||
@@ -232,7 +231,7 @@ obj/structure/windoor_assembly/Destroy()
|
||||
else
|
||||
windoor.req_access = src.electronics.conf_access
|
||||
windoor.electronics = src.electronics
|
||||
src.electronics.loc = windoor
|
||||
src.electronics.forceMove(windoor)
|
||||
else
|
||||
var/obj/machinery/door/window/windoor = new /obj/machinery/door/window(src.loc)
|
||||
if(src.facing == "l")
|
||||
@@ -250,7 +249,7 @@ obj/structure/windoor_assembly/Destroy()
|
||||
else
|
||||
windoor.req_access = src.electronics.conf_access
|
||||
windoor.electronics = src.electronics
|
||||
src.electronics.loc = windoor
|
||||
src.electronics.forceMove(windoor)
|
||||
|
||||
|
||||
qdel(src)
|
||||
|
||||
Reference in New Issue
Block a user