.loc = to forceMove() (#4937)

As requested, this PR is changed to only include all .loc = to forceMove() changes.
This commit is contained in:
BurgerLUA
2018-08-04 01:48:58 +03:00
committed by Erki
parent 187613428e
commit 8519dcc393
376 changed files with 968 additions and 1261 deletions
+4 -4
View File
@@ -52,21 +52,21 @@
var/atom/l = loc
var/obj/machinery/computer/teleporter/com = locate(/obj/machinery/computer/teleporter, locate(l.x - 2, l.y, l.z))
if(com.locked)
user.loc = get_turf(com.locked)
user.forceMove(get_turf(com.locked))
/obj/effect/portal/attack_ghost(mob/user as mob)
if(target)
user.loc = get_turf(target)
user.forceMove(get_turf(target))
/obj/machinery/gateway/centerstation/attack_ghost(mob/user as mob)
if(awaygate)
user.loc = awaygate.loc
user.forceMove(awaygate.loc)
else
user << "[src] has no destination."
/obj/machinery/gateway/centeraway/attack_ghost(mob/user as mob)
if(stationgate)
user.loc = stationgate.loc
user.forceMove(stationgate.loc)
else
user << "[src] has no destination."
+1 -1
View File
@@ -84,7 +84,7 @@ var/const/tk_maxrange = 15
/obj/item/tk_grab/dropped(mob/user as mob)
if(focus && user && loc != user && loc != user.loc) // drop_item() gets called when you tk-attack a table/closet with an item
if(focus.Adjacent(loc))
focus.loc = loc
focus.forceMove(loc)
loc = null
QDEL_IN(src, 1)
return
+5 -5
View File
@@ -345,13 +345,13 @@
if(!joined_late || job.latejoin_at_spawnpoints)
var/obj/S = get_roundstart_spawnpoint(rank)
if(istype(S, /obj/effect/landmark/start) && istype(S.loc, /turf))
H.loc = S.loc
H.forceMove(S.loc)
else
LateSpawn(H, rank)
// Moving wheelchair if they have one
if(H.buckled && istype(H.buckled, /obj/structure/bed/chair/wheelchair))
H.buckled.loc = H.loc
H.buckled.forceMove(H.loc)
H.buckled.set_dir(H.dir)
// If they're head, give them the account info for their department
@@ -694,14 +694,14 @@
if(spawnpos && istype(spawnpos))
if(spawnpos.check_job_spawning(rank))
H.loc = pick(spawnpos.turfs)
H.forceMove(pick(spawnpos.turfs))
. = spawnpos.msg
else
H << "Your chosen spawnpoint ([spawnpos.display_name]) is unavailable for your chosen job. Spawning you at the Arrivals shuttle instead."
H.loc = pick(latejoin)
H.forceMove(pick(latejoin))
. = "is inbound from the [current_map.dock_name]"
else
H.loc = pick(latejoin)
H.forceMove(pick(latejoin))
. = "is inbound from the [current_map.dock_name]"
Debug("LS/([H]): Completed, spawning at area [H.loc.loc].")
@@ -35,5 +35,5 @@ BONUS
M.emote("cough")
var/obj/item/I = M.get_active_hand()
if(I && I.w_class < 3)
M.drop_item()
M.drop_from_inventory(I)
return
+1 -1
View File
@@ -117,6 +117,6 @@ STI KALY - blind
return
affected_mob.say("SCYAR NILA [uppertext(thearea.name)]!")
affected_mob.loc = pick(L)
affected_mob.forceMove(pick(L))
return
+3 -3
View File
@@ -141,7 +141,7 @@ var/list/wireColours = list("red", "blue", "green", "darkred", "orange", "brown"
// Attach
else
if(istype(I, /obj/item/device/assembly/signaler))
L.drop_item()
usr.drop_from_inventory(I)
Attach(colour, I)
else
L << "<span class='error'>You need a remote signaller!</span>"
@@ -241,7 +241,7 @@ var/const/POWER = 8
if(colour && S)
if(!IsAttached(colour))
signallers[colour] = S
S.loc = holder
S.forceMove(holder)
S.connected = src
return S
@@ -251,7 +251,7 @@ var/const/POWER = 8
if(S)
signallers -= colour
S.connected = null
S.loc = holder.loc
S.forceMove(holder.loc)
return S
+2 -2
View File
@@ -11,8 +11,8 @@
switch(alert("Travel back to ss13?",,"Yes","No"))
if("Yes")
if(user.z != src.z) return
user.loc.loc.Exited(user)
user.loc = pick(latejoin)
user.loc.loc.Exited(user) //what the fuck is this
user.forceMove(pick(latejoin))
if("No")
return
+2 -2
View File
@@ -269,7 +269,7 @@
user.visible_message("<span class='warning'>[user] has unsheathed \a [concealed_blade] from \his [src]!</span>", "You unsheathe \the [concealed_blade] from \the [src].")
// Calling drop/put in hands to properly call item drop/pickup procs
playsound(user.loc, 'sound/weapons/blade_unsheath.ogg', 50, 1)
user.drop_from_inventory(src)
user.drop_from_inventory(src,enable_animations = FALSE)
user.put_in_hands(concealed_blade)
user.put_in_hands(src)
user.update_inv_l_hand(0)
@@ -284,7 +284,7 @@
user.visible_message("<span class='warning'>[user] has sheathed \a [W] into \his [src]!</span>", "You sheathe \the [W] into \the [src].")
playsound(user.loc, 'sound/weapons/blade_sheath.ogg', 50, 1)
user.drop_from_inventory(W)
W.loc = src
W.forceMove(src)
src.concealed_blade = W
update_icon()
else
+2 -2
View File
@@ -267,14 +267,14 @@ var/datum/antagonist/raider/raiders
if(!(primary.slot_flags & SLOT_HOLSTER))
holster = new new_holster(T)
holster.holstered = secondary
secondary.loc = holster
secondary.forceMove(holster)
else
player.equip_to_slot_or_del(secondary, slot_belt)
if(primary.slot_flags & SLOT_HOLSTER)
holster = new new_holster(T)
holster.holstered = primary
primary.loc = holster
primary.forceMove(holster)
else if(!player.belt && (primary.slot_flags & SLOT_BELT))
player.equip_to_slot_or_del(primary, slot_belt)
else if(!player.back && (primary.slot_flags & SLOT_BACK))
+1 -1
View File
@@ -80,7 +80,7 @@ var/datum/antagonist/cultist/cult
break
var/obj/item/weapon/storage/S = locate() in player.contents
if(S && istype(S))
T.loc = S
T.forceMove(S)
/datum/antagonist/cultist/remove_antagonist(var/datum/mind/player, var/show_message, var/implanted)
if(!..())
+1 -1
View File
@@ -111,7 +111,7 @@
if (!isturf(C.loc))
continue
if (C.loc.loc == src)
if (C.loc.loc == src) //what the fuck is this
. += C
/area/proc/atmosalert(danger_level, var/alarm_source)
+13 -15
View File
@@ -84,10 +84,10 @@
src.go_out()
for(var/obj/O in src)
if((!istype(O,/obj/item/weapon/reagent_containers)) && (!istype(O,/obj/item/weapon/circuitboard/clonescanner)) && (!istype(O,/obj/item/weapon/stock_parts)) && (!iscoil(O)))
O.loc = get_turf(src)//Ejects items that manage to get in there (exluding the components)
O.forceMove(get_turf(src))//Ejects items that manage to get in there (exluding the components)
if(!occupant)
for(var/mob/M in src)//Failsafe so you can get mobs out
M.loc = get_turf(src)
M.forceMove(get_turf(src))
/obj/machinery/dna_scannernew/verb/move_inside()
set src in oview(1)
@@ -108,7 +108,7 @@
usr.stop_pulling()
usr.client.perspective = EYE_PERSPECTIVE
usr.client.eye = src
usr.loc = src
usr.forceMove(src)
src.occupant = usr
src.icon_state = "scanner_1"
src.add_fingerprint(usr)
@@ -121,8 +121,7 @@
return
beaker = item
user.drop_item()
item.loc = src
user.drop_from_inventory(item,src)
user.visible_message("\The [user] adds \a [item] to \the [src]!", "You add \a [item] to \the [src]!")
return
else if (!istype(item, /obj/item/weapon/grab))
@@ -145,7 +144,7 @@
if(M.client)
M.client.perspective = EYE_PERSPECTIVE
M.client.eye = src
M.loc = src
M.forceMove(src)
src.occupant = M
src.icon_state = "scanner_1"
@@ -168,7 +167,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)
src.occupant = null
src.icon_state = "scanner_0"
return
@@ -177,7 +176,7 @@
switch(severity)
if(1.0)
for(var/atom/movable/A as mob|obj in src)
A.loc = src.loc
A.forceMove(src.loc)
ex_act(severity)
//Foreach goto(35)
//SN src = null
@@ -186,7 +185,7 @@
if(2.0)
if (prob(50))
for(var/atom/movable/A as mob|obj in src)
A.loc = src.loc
A.forceMove(src.loc)
ex_act(severity)
//Foreach goto(108)
//SN src = null
@@ -195,7 +194,7 @@
if(3.0)
if (prob(25))
for(var/atom/movable/A as mob|obj in src)
A.loc = src.loc
A.forceMove(src.loc)
ex_act(severity)
//Foreach goto(181)
//SN src = null
@@ -234,8 +233,7 @@
/obj/machinery/computer/scan_consolenew/attackby(obj/item/I as obj, mob/user as mob)
if (istype(I, /obj/item/weapon/disk/data)) //INSERT SOME diskS
if (!src.disk)
user.drop_item()
I.loc = src
user.drop_from_inventory(I,src)
src.disk = I
user << "You insert [I]."
SSnanoui.update_uis(src) // update all UIs attached to src
@@ -632,7 +630,7 @@
if(href_list["ejectBeaker"])
if(connected.beaker)
var/obj/item/weapon/reagent_containers/glass/B = connected.beaker
B.loc = connected.loc
B.forceMove(connected.loc)
connected.beaker = null
return 1
@@ -657,7 +655,7 @@
if (bufferOption == "ejectDisk")
if (!src.disk)
return
src.disk.loc = get_turf(src)
src.disk.forceMove(get_turf(src))
src.disk = null
return 1
@@ -761,7 +759,7 @@
I.buf = buf
waiting_for_user_input=0
if(success)
I.loc = src.loc
I.forceMove(src.loc)
I.name += " ([buf.name])"
//src.temphtml = "Injector created."
src.injector_ready = 0
@@ -384,7 +384,7 @@ var/global/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","E
for(var/obj/T in C)
qdel(T)
O.loc = C.loc
O.forceMove(C.loc)
O.UpdateAppearance()
domutcheck(O, null)
@@ -394,7 +394,7 @@ var/global/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","E
O.adjustFireLoss(C.getFireLoss())
O.stat = C.stat
for (var/obj/item/weapon/implant/I in implants)
I.loc = O
I.forceMove(O)
I.implanted = O
C.mind.transfer_to(O)
+2 -48
View File
@@ -479,8 +479,6 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa","
R.word1=cultwords["travel"]
R.word2=cultwords["self"]
R.word3=beacon
R.loc = user.loc
R.check_icon()
if("itemport")
var/list/words = list("ire", "ego", "nahlizet", "certum", "veri", "jatkaa", "balaq", "mgar", "karazet", "geeri")
var/beacon
@@ -489,137 +487,93 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa","
R.word1=cultwords["travel"]
R.word2=cultwords["other"]
R.word3=beacon
R.loc = user.loc
R.check_icon()
if("tome")
R.word1=cultwords["see"]
R.word2=cultwords["blood"]
R.word3=cultwords["hell"]
R.loc = user.loc
R.check_icon()
if("armor")
R.word1=cultwords["hell"]
R.word2=cultwords["destroy"]
R.word3=cultwords["other"]
R.loc = user.loc
R.check_icon()
if("convert")
R.word1=cultwords["join"]
R.word2=cultwords["blood"]
R.word3=cultwords["self"]
R.loc = user.loc
R.check_icon()
if("tear in reality")
R.word1=cultwords["hell"]
R.word2=cultwords["join"]
R.word3=cultwords["self"]
R.loc = user.loc
R.check_icon()
if("emp")
R.word1=cultwords["destroy"]
R.word2=cultwords["see"]
R.word3=cultwords["technology"]
R.loc = user.loc
R.check_icon()
if("drain")
R.word1=cultwords["travel"]
R.word2=cultwords["blood"]
R.word3=cultwords["self"]
R.loc = user.loc
R.check_icon()
if("seer")
R.word1=cultwords["see"]
R.word2=cultwords["hell"]
R.word3=cultwords["join"]
R.loc = user.loc
R.check_icon()
if("raise")
R.word1=cultwords["blood"]
R.word2=cultwords["join"]
R.word3=cultwords["hell"]
R.loc = user.loc
R.check_icon()
if("obscure")
R.word1=cultwords["hide"]
R.word2=cultwords["see"]
R.word3=cultwords["blood"]
R.loc = user.loc
R.check_icon()
if("astral journey")
R.word1=cultwords["hell"]
R.word2=cultwords["travel"]
R.word3=cultwords["self"]
R.loc = user.loc
R.check_icon()
if("manifest")
R.word1=cultwords["blood"]
R.word2=cultwords["see"]
R.word3=cultwords["travel"]
R.loc = user.loc
R.check_icon()
if("imbue talisman")
R.word1=cultwords["hell"]
R.word2=cultwords["technology"]
R.word3=cultwords["join"]
R.loc = user.loc
R.check_icon()
if("sacrifice")
R.word1=cultwords["hell"]
R.word2=cultwords["blood"]
R.word3=cultwords["join"]
R.loc = user.loc
R.check_icon()
if("reveal")
R.word1=cultwords["blood"]
R.word2=cultwords["see"]
R.word3=cultwords["hide"]
R.loc = user.loc
R.check_icon()
if("wall")
R.word1=cultwords["destroy"]
R.word2=cultwords["travel"]
R.word3=cultwords["self"]
R.loc = user.loc
R.check_icon()
if("freedom")
R.word1=cultwords["travel"]
R.word2=cultwords["technology"]
R.word3=cultwords["other"]
R.loc = user.loc
R.check_icon()
if("cultsummon")
R.word1=cultwords["join"]
R.word2=cultwords["other"]
R.word3=cultwords["self"]
R.loc = user.loc
R.check_icon()
if("deafen")
R.word1=cultwords["hide"]
R.word2=cultwords["other"]
R.word3=cultwords["see"]
R.loc = user.loc
R.check_icon()
if("blind")
R.word1=cultwords["destroy"]
R.word2=cultwords["see"]
R.word3=cultwords["other"]
R.loc = user.loc
R.check_icon()
if("bloodboil")
R.word1=cultwords["destroy"]
R.word2=cultwords["see"]
R.word3=cultwords["blood"]
R.loc = user.loc
R.check_icon()
if("communicate")
R.word1=cultwords["self"]
R.word2=cultwords["other"]
R.word3=cultwords["technology"]
R.loc = user.loc
R.check_icon()
if("stun")
R.word1=cultwords["join"]
R.word2=cultwords["hide"]
R.word3=cultwords["technology"]
R.loc = user.loc
R.check_icon()
R.forceMove(user.loc)
R.check_icon()
+4 -4
View File
@@ -38,7 +38,7 @@ var/list/sacrificed = list()
user.visible_message("<span class='danger'>[user] disappears in a flash of red light!</span>", \
"<span class='danger'>You feel as your body gets dragged through the dimension of Nar-Sie!</span>", \
"<span class='danger'>You hear a sickening crunch and sloshing of viscera.</span>")
user.loc = allrunesloc[rand(1,index)]
user.forceMove(allrunesloc[rand(1,index)])
return
if(istype(src,/obj/effect/rune))
return fizzle(user) //Use friggin manuals, Dorf, your list was of zero length.
@@ -76,9 +76,9 @@ var/list/sacrificed = list()
"<span class='warning'>You smell ozone.</span>")
for(var/obj/O in src.loc)
if(!O.anchored)
O.loc = IP.loc
O.forceMove(IP.loc)
for(var/mob/M in src.loc)
M.loc = IP.loc
M.forceMove(IP.loc)
return
return fizzle(user)
@@ -880,7 +880,7 @@ var/list/sacrificed = list()
if(cultist.buckled || cultist.handcuffed || (!isturf(cultist.loc) && !istype(cultist.loc, /obj/structure/closet)))
user << "<span class='warning'>You cannot summon \the [cultist], for \his shackles of blood are strong.</span>"
return fizzle(user)
cultist.loc = src.loc
cultist.forceMove(src.loc)
cultist.lying = 1
cultist.regenerate_icons()
@@ -98,7 +98,7 @@
playsound(src, 'sound/effects/supermatter.ogg', 50, 1)
user.drop_from_inventory(W)
user.drop_from_inventory(W,src)
Consume(W)
@@ -35,7 +35,7 @@
if(L.buckled && istype(L.buckled,/obj/structure/bed/))
var/turf/O = L.buckled
do_teleport(O, pick(endgame_safespawns))
L.loc = O.loc
L.forceMove(O.loc)
else
do_teleport(L, pick(endgame_safespawns)) //dead-on precision
+1 -1
View File
@@ -40,7 +40,7 @@ In my current plan for it, 'solid' will be defined as anything with density == 1
qdel(src)
if(clong && prob(25))
src.loc = clong.loc
src.forceMove(clong.loc)
/proc/immovablerod()
var/startx = 0
+11 -11
View File
@@ -62,25 +62,25 @@ datum/hSB
if("hsbsuit")
var/mob/living/carbon/human/P = usr
if(P.wear_suit)
P.wear_suit.loc = P.loc
P.wear_suit.forceMove(P.loc)
P.wear_suit.layer = initial(P.wear_suit.layer)
P.wear_suit = null
P.wear_suit = new/obj/item/clothing/suit/space(P)
P.wear_suit.layer = 20
if(P.head)
P.head.loc = P.loc
P.head.forceMove(P.loc)
P.head.layer = initial(P.head.layer)
P.head = null
P.head = new/obj/item/clothing/head/helmet/space(P)
P.head.layer = 20
if(P.wear_mask)
P.wear_mask.loc = P.loc
P.wear_mask.forceMove(P.loc)
P.wear_mask.layer = initial(P.wear_mask.layer)
P.wear_mask = null
P.wear_mask = new/obj/item/clothing/mask/gas(P)
P.wear_mask.layer = 20
if(P.back)
P.back.loc = P.loc
P.back.forceMove(P.loc)
P.back.layer = initial(P.back.layer)
P.back = null
P.back = new/obj/item/weapon/tank/jetpack(P)
@@ -89,11 +89,11 @@ datum/hSB
if("hsbmetal")
var/obj/item/stack/sheet/hsb = new/obj/item/stack/sheet/metal
hsb.amount = 50
hsb.loc = usr.loc
hsb.forceMove(usr.loc)
if("hsbglass")
var/obj/item/stack/sheet/hsb = new/obj/item/stack/sheet/glass
hsb.amount = 50
hsb.loc = usr.loc
hsb.forceMove(usr.loc)
if("hsbairlock")
var/obj/machinery/door/hsb = new/obj/machinery/door/airlock
@@ -104,7 +104,7 @@ datum/hSB
if(alert(usr, "Will this airlock require [get_access_desc(A)] access?", "Sandbox:", "Yes", "No") == "Yes")
hsb.req_access += A
hsb.loc = usr.loc
hsb.forceMove(usr.loc)
usr << "<b>Sandbox: Created an airlock.</b>"
if("hsbcanister")
var/list/hsbcanisters = typesof(/obj/machinery/portable_atmospherics/canister/) - /obj/machinery/portable_atmospherics/canister/
@@ -113,19 +113,19 @@ datum/hSB
new hsbcanister(usr.loc)
if("hsbfueltank")
//var/obj/hsb = new/obj/weldfueltank
//hsb.loc = usr.loc
//hsb.forceMove(usr.loc)
if("hsbwatertank")
//var/obj/hsb = new/obj/watertank
//hsb.loc = usr.loc
//hsb.forceMove(usr.loc)
if("hsbtoolbox")
var/obj/item/weapon/storage/hsb = new/obj/item/weapon/storage/toolbox/mechanical
for(var/obj/item/device/radio/T in hsb)
qdel(T)
new/obj/item/weapon/crowbar (hsb)
hsb.loc = usr.loc
hsb.forceMove(usr.loc)
if("hsbmedkit")
var/obj/item/weapon/storage/firstaid/hsb = new/obj/item/weapon/storage/firstaid/regular
hsb.loc = usr.loc
hsb.forceMove(usr.loc)
if("hsbobj")
if(!hsboxspawn) return
@@ -453,7 +453,7 @@
icon_state = "veil_ghost"
last_valid_turf = get_turf(owner.loc)
owner.loc = src
owner.forceMove(src)
desc += " Its features look faintly alike [owner.name]'s."
+3 -3
View File
@@ -16,7 +16,7 @@
var/turf/T = loc
Beacon = new /obj/item/device/radio/beacon
Beacon.invisibility = INVISIBILITY_MAXIMUM
Beacon.loc = T
Beacon.forceMove(T)
hide(!T.is_plating())
@@ -45,10 +45,10 @@
var/turf/T = loc
Beacon = new /obj/item/device/radio/beacon
Beacon.invisibility = INVISIBILITY_MAXIMUM
Beacon.loc = T
Beacon.forceMove(T)
if(Beacon)
if(Beacon.loc != loc)
Beacon.loc = loc
Beacon.forceMove(loc)
updateicon()
+4 -6
View File
@@ -57,11 +57,9 @@
/obj/machinery/optable/MouseDrop_T(obj/O as obj, mob/user as mob)
if ((!( istype(O, /obj/item/weapon) ) || user.get_active_hand() != O))
if (!istype(O, /obj/item/weapon))
return
user.drop_item()
if (O.loc != src.loc)
step(O, get_dir(O, src))
user.drop_from_inventory(O,get_turf(src))
return
/obj/machinery/optable/proc/check_victim()
@@ -87,9 +85,9 @@
C.client.perspective = EYE_PERSPECTIVE
C.client.eye = src
C.resting = 1
C.loc = src.loc
C.forceMove(src.loc)
for(var/obj/O in src)
O.loc = src.loc
O.forceMove(src.loc)
src.add_fingerprint(user)
if(ishuman(C))
var/mob/living/carbon/human/H = C
+2 -3
View File
@@ -146,8 +146,7 @@
if(istype(I, /obj/item/weapon/reagent_containers/glass))
if(!beaker)
beaker = I
user.drop_item()
I.loc = src
user.drop_from_inventory(I,src)
user.visible_message("<span class='notice'>\The [user] adds \a [I] to \the [src].</span>", "<span class='notice'>You add \a [I] to \the [src].</span>")
else
user << "<span class='warning'>\The [src] has a beaker already.</span>"
@@ -236,7 +235,7 @@
if(M.client)
M.client.perspective = EYE_PERSPECTIVE
M.client.eye = src
M.loc = src
M.forceMove(src)
update_use_power(2)
occupant = M
update_icon()
+8 -8
View File
@@ -67,7 +67,7 @@
usr.pulling = null
usr.client.perspective = EYE_PERSPECTIVE
usr.client.eye = src
usr.loc = src
usr.forceMove(src)
src.occupant = usr
update_use_power(2)
src.icon_state = "body_scanner_1"
@@ -84,12 +84,12 @@
last_occupant_name = src.occupant.name
for(var/obj/O in src)
O.loc = src.loc
O.forceMove(src.loc)
//Foreach goto(30)
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)
src.occupant = null
update_use_power(1)
src.icon_state = "body_scanner_0"
@@ -162,12 +162,12 @@
if (M.client)
M.client.perspective = EYE_PERSPECTIVE
M.client.eye = src
M.loc = src
M.forceMove(src)
src.occupant = M
update_use_power(2)
src.icon_state = "body_scanner_1"
for(var/obj/Obj in src)
Obj.loc = src.loc
Obj.forceMove(src.loc)
//Foreach goto(154)
src.add_fingerprint(user)
//G = null
@@ -177,7 +177,7 @@
switch(severity)
if(1.0)
for(var/atom/movable/A as mob|obj in src)
A.loc = src.loc
A.forceMove(src.loc)
ex_act(severity)
//Foreach goto(35)
//SN src = null
@@ -186,7 +186,7 @@
if(2.0)
if (prob(50))
for(var/atom/movable/A as mob|obj in src)
A.loc = src.loc
A.forceMove(src.loc)
ex_act(severity)
//Foreach goto(108)
//SN src = null
@@ -195,7 +195,7 @@
if(3.0)
if (prob(25))
for(var/atom/movable/A as mob|obj in src)
A.loc = src.loc
A.forceMove(src.loc)
ex_act(severity)
//Foreach goto(181)
//SN src = null
+1 -1
View File
@@ -796,7 +796,7 @@
if(do_after(user,20))
user << "You pry out the circuit!"
var/obj/item/weapon/airalarm_electronics/circuit = new /obj/item/weapon/airalarm_electronics()
circuit.loc = user.loc
circuit.forceMove(user.loc)
buildstage = 0
update_icon()
return
+2 -2
View File
@@ -178,7 +178,7 @@ update_flag
update_icon()
if (src.holding)
src.holding.loc = src.loc
src.holding.forceMove(src.loc)
src.holding = null
return 1
@@ -354,7 +354,7 @@ update_flag
release_log += "Valve was <b>closed</b> by [usr] ([usr.ckey]), stopping the transfer into the [holding]<br>"
if(istype(holding, /obj/item/weapon/tank))
holding.manipulated_by = usr.real_name
holding.loc = loc
holding.forceMove(loc)
holding = null
if (href_list["pressure_adj"])
@@ -22,7 +22,7 @@
air_contents.volume = volume
air_contents.temperature = T20C
var/obj/machinery/atmospherics/portables_connector/port = locate() in loc
if(port)
connect(port)
@@ -103,8 +103,7 @@
if (src.holding)
return
var/obj/item/weapon/tank/T = W
user.drop_item()
T.loc = src
user.drop_from_inventory(T,src)
src.holding = T
update_icon()
return
@@ -160,10 +159,9 @@
var/obj/item/weapon/cell/C = I
user.drop_item()
user.drop_from_inventory(C,src)
C.add_fingerprint(user)
cell = C
C.loc = src
user.visible_message("<span class='notice'>[user] opens the panel on [src] and inserts [C].</span>", "<span class='notice'>You open the panel on [src] and insert [C].</span>")
power_change()
return
@@ -175,7 +173,7 @@
user.visible_message("<span class='notice'>[user] opens the panel on [src] and removes [cell].</span>", "<span class='notice'>You open the panel on [src] and remove [cell].</span>")
cell.add_fingerprint(user)
cell.loc = src.loc
cell.forceMove(src.loc)
cell = null
power_change()
return
+1 -1
View File
@@ -158,7 +158,7 @@
. = 1
if (href_list["remove_tank"])
if(holding)
holding.loc = loc
holding.forceMove(loc)
holding = null
. = 1
if (href_list["pressure_adj"])
+1 -1
View File
@@ -132,7 +132,7 @@
. = 1
if (href_list["remove_tank"])
if(holding)
holding.loc = loc
holding.forceMove(loc)
holding = null
. = 1
if (href_list["volume_adj"])
+3 -3
View File
@@ -319,7 +319,7 @@
user << "<span class='notice'>]The [src] is already loaded.</span>"
else
user.remove_from_mob(O)
O.loc = src
O.forceMove(src)
beaker = O
updateUsrDialog()
else if(processing)
@@ -355,7 +355,7 @@
user << "<span class='notice'>\The [src] is full! Activate it.</span>"
else
user.remove_from_mob(O)
O.loc = src
O.forceMove(src)
user << "<span class='notice'>You put \the [O] in \the [src]</span>"
update_icon()
return
@@ -507,7 +507,7 @@
activate()
if("detach")
if(beaker)
beaker.loc = src.loc
beaker.forceMove(src.loc)
beaker = null
update_icon()
if("create")
+3 -3
View File
@@ -70,7 +70,7 @@
// Meat for biomass.
if(!prints_prosthetics && istype(W, /obj/item/weapon/reagent_containers/food/snacks/meat))
stored_matter += 50
user.drop_item()
user.drop_from_inventory(W,src)
user << "<span class='info'>\The [src] processes \the [W]. Levels of stored biomass now: [stored_matter]</span>"
qdel(W)
return
@@ -78,9 +78,9 @@
if(prints_prosthetics && istype(W, /obj/item/stack/material) && W.get_material_name() == DEFAULT_WALL_MATERIAL)
var/obj/item/stack/S = W
stored_matter += S.amount * 10
user.drop_item()
user.drop_from_inventory(W,src)
user << "<span class='info'>\The [src] processes \the [W]. Levels of stored matter now: [stored_matter]</span>"
qdel(W)
return
return..()
+8 -10
View File
@@ -90,8 +90,7 @@
/obj/machinery/bot/mulebot/attackby(var/obj/item/I, var/mob/user)
if(istype(I,/obj/item/weapon/cell) && open && !cell)
var/obj/item/weapon/cell/C = I
user.drop_item()
C.loc = src
user.drop_from_inventory(C,src)
cell = C
updateDialog()
else if(isscrewdriver(I))
@@ -276,9 +275,8 @@
if(open && !cell)
var/obj/item/weapon/cell/C = usr.get_active_hand()
if(istype(C))
usr.drop_item()
usr.drop_from_inventory(C,src)
cell = C
C.loc = src
C.add_fingerprint(usr)
usr.visible_message("<span class='notice'>[usr] inserts a power cell into [src].</span>", "<span class='notice'>You insert the power cell into [src].</span>")
@@ -405,11 +403,11 @@
if(istype(crate))
crate.close()
C.loc = src.loc
C.forceMove(src.loc)
sleep(2)
if(C.loc != src.loc) //To prevent you from going onto more thano ne bot.
return
C.loc = src
C.forceMove(src)
load = C
C.pixel_y += 9
@@ -436,7 +434,7 @@
mode = 1
cut_overlays()
load.loc = src.loc
load.forceMove(src.loc)
load.pixel_y -= 9
load.layer = initial(load.layer)
if(ismob(load))
@@ -452,7 +450,7 @@
if(CanPass(load,T))//Can't get off onto anything that wouldn't let you pass normally
step(load, dirn)
else
load.loc = src.loc//Drops you right there, so you shouldn't be able to get yourself stuck
load.forceMove(src.loc)//Drops you right there, so you shouldn't be able to get yourself stuck
load = null
@@ -463,7 +461,7 @@
for(var/atom/movable/AM in src)
if(AM == cell || AM == botcard) continue
AM.loc = src.loc
AM.forceMove(src.loc)
AM.layer = initial(AM.layer)
AM.pixel_y = initial(AM.pixel_y)
if(ismob(AM))
@@ -869,7 +867,7 @@
new /obj/item/stack/rods(Tsec)
new /obj/item/stack/cable_coil/cut(Tsec)
if (cell)
cell.loc = Tsec
cell.forceMove(Tsec)
cell.update_icon()
cell = null
+1 -1
View File
@@ -144,7 +144,7 @@
else if(iswelder(W) && (wires.CanDeconstruct() || (stat & BROKEN)))
if(weld(W, user))
if(assembly)
assembly.loc = src.loc
assembly.forceMove(src.loc)
assembly.anchored = 1
assembly.camera_name = c_tag
assembly.camera_network = english_list(network, "Station", ",", ",")
@@ -96,7 +96,7 @@
state = 4
var/obj/machinery/camera/C = new(src.loc)
src.loc = C
src.forceMove(C)
C.assembly = src
C.auto_turn()
@@ -128,7 +128,7 @@
user << "You attach \the [W] into the assembly inner circuits."
upgrades += W
user.remove_from_mob(W)
W.loc = src
W.forceMove(src)
return
// Taking out upgrades
@@ -137,7 +137,7 @@
if(U)
user << "You unattach an upgrade from the assembly."
playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1)
U.loc = get_turf(src)
U.forceMove(get_turf(src))
upgrades -= U
return
+1 -2
View File
@@ -53,8 +53,7 @@
user << "<span class='warning'>The [name] blinks red as you try to insert the cell!</span>"
return
user.drop_item()
W.loc = src
user.drop_from_inventory(W,src)
charging = W
user.visible_message("[user] inserts a cell into the charger.", "You insert a cell into the charger.")
chargelevel = -1
+5 -5
View File
@@ -235,7 +235,7 @@
else if(istype(W, /obj/item/weapon/reagent_containers/food/snacks/meat))
user << "<span class='notice'>\The [src] processes \the [W].</span>"
biomass += 50
user.drop_item()
user.drop_from_inventory(W,src)
qdel(W)
return
else if(iswrench(W))
@@ -313,7 +313,7 @@
if(occupant.client)
occupant.client.eye = occupant.client.mob
occupant.client.perspective = MOB_PERSPECTIVE
occupant.loc = loc
occupant.forceMove(loc)
eject_wait = 0 //If it's still set somehow.
domutcheck(occupant) //Waiting until they're out before possible transforming.
occupant = null
@@ -347,21 +347,21 @@
switch(severity)
if(1.0)
for(var/atom/movable/A as mob|obj in src)
A.loc = loc
A.forceMove(loc)
ex_act(severity)
qdel(src)
return
if(2.0)
if(prob(50))
for(var/atom/movable/A as mob|obj in src)
A.loc = loc
A.forceMove(loc)
ex_act(severity)
qdel(src)
return
if(3.0)
if(prob(25))
for(var/atom/movable/A as mob|obj in src)
A.loc = loc
A.forceMove(loc)
ex_act(severity)
qdel(src)
return
+5 -7
View File
@@ -43,8 +43,7 @@
user << "<span class='notice'>You place the circuit board inside the frame.</span>"
icon_state = "1"
circuit = P
user.drop_item()
P.loc = src
user.drop_from_inventory(P,src)
if(isscrewdriver(P) && circuit)
playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1)
user << "<span class='notice'>You screw the circuit board into place.</span>"
@@ -55,7 +54,7 @@
user << "<span class='notice'>You remove the circuit board.</span>"
state = 1
icon_state = "0"
circuit.loc = loc
circuit.forceMove(loc)
circuit = null
if(2)
if(isscrewdriver(P) && circuit)
@@ -139,8 +138,7 @@
if(M.brainmob.mind)
clear_antag_roles(M.brainmob.mind, 1)
user.drop_item()
P.loc = src
user.drop_from_inventory(P,src)
brain = P
usr << "Added [P]."
icon_state = "3b"
@@ -148,7 +146,7 @@
if(iscrowbar(P) && brain)
playsound(loc, 'sound/items/Crowbar.ogg', 50, 1)
user << "<span class='notice'>You remove the brain.</span>"
brain.loc = loc
brain.forceMove(loc)
brain = null
icon_state = "3"
@@ -200,7 +198,7 @@
transfer.aiRestorePowerRoutine = 0
transfer.control_disabled = 0
transfer.aiRadio.disabledAi = 0
transfer.loc = get_turf(src)
transfer.forceMove(get_turf(src))
transfer.create_eyeobj()
transfer.cancel_camera()
user << "<span class='notice'>Transfer successful:</span> [transfer.name] ([rand(1000,9999)].exe) downloaded to host terminal. Local copy wiped."
@@ -44,8 +44,7 @@
user << "<span class='notice'>You place the circuit board inside the frame.</span>"
src.icon_state = "1"
src.circuit = P
user.drop_item()
P.loc = src
user.drop_from_inventory(P,src)
else
user << "<span class='warning'>This frame does not accept circuit boards of this type!</span>"
if(isscrewdriver(P) && circuit)
@@ -58,7 +57,7 @@
user << "<span class='notice'>You remove the circuit board.</span>"
src.state = 1
src.icon_state = "0"
circuit.loc = src.loc
circuit.forceMove(src.loc)
src.circuit = null
if(2)
if(isscrewdriver(P) && circuit)
+2 -3
View File
@@ -92,8 +92,7 @@
/obj/machinery/computer/cloning/attackby(obj/item/W as obj, mob/user as mob)
if (istype(W, /obj/item/weapon/disk/data)) //INSERT SOME DISKETTES
if (!src.diskette)
user.drop_item()
W.loc = src
user.drop_from_inventory(W,src)
src.diskette = W
user << "You insert [W]."
src.updateUsrDialog()
@@ -293,7 +292,7 @@
src.temp = "Load successful."
if("eject")
if (!isnull(src.diskette))
src.diskette.loc = src.loc
src.diskette.forceMove(src.loc)
src.diskette = null
else if (href_list["save_disk"]) //Save to disk!
+1 -1
View File
@@ -101,7 +101,7 @@
A.circuit = M
A.anchored = 1
for (var/obj/C in src)
C.loc = src.loc
C.forceMove(src.loc)
if (src.stat & BROKEN)
user << "<span class='notice'>The broken glass falls out.</span>"
new /obj/item/weapon/material/shard( src.loc )
+4 -4
View File
@@ -73,7 +73,7 @@
/obj/machinery/computer/guestpass/attackby(obj/O, mob/user)
if(istype(O, /obj/item/weapon/card/id))
if(!giver && user.unEquip(O))
O.loc = src
O.forceMove(src)
giver = O
updateUsrDialog()
else if(giver)
@@ -152,18 +152,18 @@
if ("id")
if (giver)
if(ishuman(usr))
giver.loc = usr.loc
giver.forceMove(usr.loc)
if(!usr.get_active_hand())
usr.put_in_hands(giver)
giver = null
else
giver.loc = src.loc
giver.forceMove(src.loc)
giver = null
accesses.Cut()
else
var/obj/item/I = usr.get_active_hand()
if (istype(I, /obj/item/weapon/card/id) && usr.unEquip(I))
I.loc = src
I.forceMove(src)
giver = I
updateUsrDialog()
+5 -6
View File
@@ -29,7 +29,7 @@
if(scan)
usr << "You remove \the [scan] from \the [src]."
scan.loc = get_turf(src)
scan.forceMove(get_turf(src))
if(!usr.get_active_hand() && istype(usr,/mob/living/carbon/human))
usr.put_in_hands(scan)
scan = null
@@ -39,7 +39,7 @@
/obj/machinery/computer/med_data/attackby(var/obj/item/O, var/mob/user)
if(istype(O, /obj/item/weapon/card/id) && !scan && user.unEquip(O))
O.loc = src
O.forceMove(src)
scan = O
user << "You insert \the [O]."
else
@@ -173,7 +173,7 @@
if (src.scan)
if(ishuman(usr))
scan.loc = usr.loc
scan.forceMove(usr.loc)
if(!usr.get_active_hand())
usr.put_in_hands(scan)
@@ -181,14 +181,13 @@
scan = null
else
src.scan.loc = src.loc
src.scan.forceMove(src.loc)
src.scan = null
else
var/obj/item/I = usr.get_active_hand()
if (istype(I, /obj/item/weapon/card/id))
usr.drop_item()
I.loc = src
usr.drop_from_inventory(I,src)
src.scan = I
else if (href_list["logout"])
+1 -1
View File
@@ -62,7 +62,7 @@
screen = 2
src.spark_system.queue()
var/obj/item/weapon/paper/monitorkey/MK = new/obj/item/weapon/paper/monitorkey
MK.loc = src.loc
MK.forceMove(src.loc)
// Will help make emagging the console not so easy to get away with.
MK.info += "<br><br><font color='red'>£%@%(*$%&(£&?*(%&£/{}</font>"
addtimer(CALLBACK(src, .proc/UnmagConsole), 100 * length(linkedServer.decryptkey))
+2 -2
View File
@@ -73,7 +73,7 @@
M = new /obj/item/weapon/circuitboard/pod( A )
for (var/obj/C in src)
C.loc = loc
C.forceMove(loc)
M.id = id
A.circuit = M
A.state = 3
@@ -96,7 +96,7 @@
M = new /obj/item/weapon/circuitboard/pod( A )
for (var/obj/C in src)
C.loc = loc
C.forceMove(loc)
M.id = id
A.circuit = M
A.state = 4
@@ -33,7 +33,7 @@ var/prison_shuttle_timeleft = 0
var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
var/obj/item/weapon/circuitboard/prison_shuttle/M = new /obj/item/weapon/circuitboard/prison_shuttle( A )
for (var/obj/C in src)
C.loc = src.loc
C.forceMove(src.loc)
A.circuit = M
A.anchored = 1
+4 -5
View File
@@ -37,7 +37,7 @@
if(scan)
usr << "You remove \the [scan] from \the [src]."
scan.loc = get_turf(src)
scan.forceMove(get_turf(src))
if(!usr.get_active_hand() && istype(usr,/mob/living/carbon/human))
usr.put_in_hands(scan)
scan = null
@@ -47,8 +47,7 @@
/obj/machinery/computer/secure_data/attackby(obj/item/O as obj, user as mob)
if(istype(O, /obj/item/weapon/card/id) && !scan)
usr.drop_item()
O.loc = src
usr.drop_from_inventory(O,src)
scan = O
user << "You insert [O]."
..()
@@ -272,12 +271,12 @@ What a mess.*/
if(istype(usr,/mob/living/carbon/human) && !usr.get_active_hand())
usr.put_in_hands(scan)
else
scan.loc = get_turf(src)
scan.forceMove(get_turf(src))
scan = null
else
var/obj/item/I = usr.get_active_hand()
if (istype(I, /obj/item/weapon/card/id) && usr.unEquip(I))
I.loc = src
I.forceMove(src)
scan = I
if("Log Out")
+1 -2
View File
@@ -29,8 +29,7 @@
/obj/machinery/computer/sentencing/attackby(obj/item/O as obj, user as mob)
if( istype( O, /obj/item/weapon/paper/incident ) && menu_screen == "import_incident" )
usr.drop_item()
O.loc = src
usr.drop_from_inventory(O,src)
if( import( O ))
ping( "\The [src] pings, \"Successfully imported incident report!\"" )
+3 -3
View File
@@ -27,7 +27,7 @@
/obj/machinery/computer/skills/attackby(obj/item/O as obj, var/mob/user)
if(istype(O, /obj/item/weapon/card/id) && !scan && user.unEquip(O))
O.loc = src
O.forceMove(src)
scan = O
user << "You insert [O]."
else
@@ -46,7 +46,7 @@
if(scan)
usr << "You remove \the [scan] from \the [src]."
scan.loc = get_turf(src)
scan.forceMove(get_turf(src))
if(!usr.get_active_hand() && istype(usr,/mob/living/carbon/human))
usr.put_in_hands(scan)
scan = null
@@ -226,7 +226,7 @@ What a mess.*/
else
var/obj/item/I = usr.get_active_hand()
if (istype(I, /obj/item/weapon/card/id) && usr.unEquip(I))
I.loc = src
I.forceMove(src)
scan = I
if("Log Out")
+4 -6
View File
@@ -55,8 +55,7 @@
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
user << "<span class='notice'>You add the circuit board to the frame.</span>"
circuit = P
user.drop_item()
P.loc = src
user.drop_from_inventory(P,src)
icon_state = "box_2"
state = 3
components = list()
@@ -85,14 +84,14 @@
if(iscrowbar(P))
playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1)
state = 2
circuit.loc = src.loc
circuit.forceMove(src.loc)
circuit = null
if(components.len == 0)
user << "<span class='notice'>You remove the circuit board.</span>"
else
user << "<span class='notice'>You remove the circuit board and other components.</span>"
for(var/obj/item/weapon/W in components)
W.loc = src.loc
W.forceMove(src.loc)
desc = initial(desc)
req_components = null
components = null
@@ -146,8 +145,7 @@
req_components[I] -= camt
update_desc()
break
user.drop_item()
P.loc = src
user.drop_from_inventory(P,src)
components += P
req_components[I]--
update_desc()
+6 -7
View File
@@ -30,7 +30,7 @@
var/turf/T = loc
T.contents += contents
if(beaker)
beaker.loc = get_step(loc, SOUTH) //Beaker is carefully ejected from the wreckage of the cryotube
beaker.forceMove(get_step(loc, SOUTH)) //Beaker is carefully ejected from the wreckage of the cryotube
return ..()
/obj/machinery/atmospherics/unary/cryo_cell/atmos_init()
@@ -159,7 +159,7 @@
if(href_list["ejectBeaker"])
if(beaker)
beaker.loc = get_step(loc, SOUTH)
beaker.forceMove(get_step(loc, SOUTH))
beaker = null
if(href_list["ejectOccupant"])
@@ -177,8 +177,7 @@
return
beaker = G
user.drop_item()
G.loc = src
user.drop_from_inventory(G,src)
user.visible_message("[user] adds \a [G] to \the [src]!", "You add \a [G] to \the [src]!")
else if(istype(G, /obj/item/weapon/grab))
var/obj/item/weapon/grab/grab = G
@@ -322,11 +321,11 @@
if(!( occupant ))
return
//for(var/obj/O in src)
// O.loc = loc
// O.forceMove(loc)
if (occupant.client)
occupant.client.eye = occupant.client.mob
occupant.client.perspective = MOB_PERSPECTIVE
occupant.loc = get_step(loc, SOUTH) //this doesn't account for walls or anything, but i don't forsee that being a problem.
occupant.forceMove(get_step(loc, SOUTH)) //this doesn't account for walls or anything, but i don't forsee that being a problem.
if (occupant.bodytemperature < 261 && occupant.bodytemperature >= 70) //Patch by Aranclanos to stop people from taking burn damage after being ejected
occupant.bodytemperature = 261 // Changed to 70 from 140 by Zuhayr due to reoccurance of bug.
// occupant.metabslow = 0
@@ -355,7 +354,7 @@
M.client.perspective = EYE_PERSPECTIVE
M.client.eye = src
M.stop_pulling()
M.loc = src
M.forceMove(src)
M.ExtinguishMob()
if(M.health > -100 && (M.health < 0 || M.sleeping))
M << "<span class='notice'><b>You feel a cold liquid surround you. Your skin starts to freeze up.</b></span>"
+3 -4
View File
@@ -279,8 +279,7 @@
/obj/machinery/cryopod/proc/despawn_occupant()
//Drop all items into the pod.
for(var/obj/item/W in occupant)
occupant.drop_from_inventory(W)
W.forceMove(src)
occupant.drop_from_inventory(W,src)
if(W.contents.len) //Make sure we catch anything not handled by qdel() on the items.
for(var/obj/item/O in W.contents)
@@ -313,7 +312,7 @@
else
if(control_computer && control_computer.allow_items)
control_computer.frozen_items += W
W.loc = null
W.forceMove(null)
else
W.forceMove(src.loc)
@@ -417,7 +416,7 @@
if(do_after(user, 20))
if(!L) return
L.loc = src
L.forceMove(src)
if(L.client)
L.client.perspective = EYE_PERSPECTIVE
+1 -1
View File
@@ -1245,7 +1245,7 @@ About the new airlock wires panel:
assembly_type = assembly.type
electronics = assembly.electronics
electronics.loc = src
electronics.forceMove(src)
//update the door's access to match the electronics'
secured_wires = electronics.secure
+3 -5
View File
@@ -263,15 +263,13 @@
return .
/obj/machinery/door_timer/attackby(obj/item/O as obj, user as mob)
/obj/machinery/door_timer/attackby(obj/item/O as obj, var/mob/user as mob)
if( istype( O, /obj/item/weapon/paper/incident ))
if( !incident )
if( import( O, user ))
usr.drop_item()
O.loc = src
ping( "\The [src] pings, \"Successfully imported incident report!\"" )
qdel( O )
user.drop_from_inventory(O,get_turf(src))
qdel(O)
src.updateUsrDialog()
else
user << "<span class='alert'>\The [src] buzzes, \"There's already an active sentence!\"</span>"
+2 -2
View File
@@ -287,7 +287,7 @@
else
repairing = stack.split(amount_needed)
if (repairing)
repairing.loc = src
repairing.forceMove(src)
transfer = repairing.amount
if (transfer)
@@ -315,7 +315,7 @@
if(repairing && iscrowbar(I))
user << "<span class='notice'>You remove \the [repairing].</span>"
playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1)
repairing.loc = user.loc
repairing.forceMove(user.loc)
repairing = null
return
+2 -2
View File
@@ -42,7 +42,7 @@
else
ae = electronics
electronics = null
ae.loc = src.loc
ae.forceMove(src.loc)
if(operating == -1)
ae.icon_state = "door_electronics_smoked"
operating = 0
@@ -209,7 +209,7 @@
else
ae = electronics
electronics = null
ae.loc = src.loc
ae.forceMove(src.loc)
ae.icon_state = "door_electronics_smoked"
operating = 0
+1 -1
View File
@@ -123,7 +123,7 @@
playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1)
spawn(20)
var/obj/item/weapon/firealarm_electronics/circuit = new /obj/item/weapon/firealarm_electronics()
circuit.loc = user.loc
circuit.forceMove(user.loc)
buildstage = 0
update_icon()
if(0)
+3 -4
View File
@@ -78,9 +78,9 @@
if(ishuman(user))
if(!user.get_active_hand())
user.put_in_hands(cell)
cell.loc = user.loc
cell.forceMove(user.loc)
else
cell.loc = loc
cell.forceMove(loc)
cell.add_fingerprint(user)
cell.update_icon()
@@ -127,8 +127,7 @@
if(cell)
user << "There is a power cell already installed."
else
user.drop_item()
W.loc = src
user.drop_from_inventory(W,src)
cell = W
user << "You insert the power cell."
update_icon()
+2 -2
View File
@@ -56,7 +56,7 @@
var/obj/item/stack/tile/E = input("Choose remove tile type.", "Tiles") as null|anything in contents
if(E)
user << "<span class='notice'>You remove the [E] from /the [src].</span>"
E.loc = src.loc
E.forceMove(src.loc)
T = null
return
@@ -114,7 +114,7 @@
/obj/machinery/floorlayer/proc/TakeTile(var/obj/item/stack/tile/tile)
if(!T) T = tile
tile.loc = src
tile.forceMove(src)
SortStacks()
+1 -1
View File
@@ -235,7 +235,7 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
var/tempicon = getFlatIcon(caller_id)
hologram.name = "[caller_id.name] (Hologram)"
hologram.loc = get_step(src,1)
hologram.forceMove(get_step(src,1))
masters[caller_id] = hologram
hologram.icon = getHologramIcon(icon(tempicon)) // Add the callers image as an overlay to keep coloration!
else
+2 -3
View File
@@ -61,8 +61,7 @@
user << "There is already a reagent container loaded!"
return
user.drop_item()
W.loc = src
user.drop_from_inventory(W,src)
src.beaker = W
user << "You attach \the [W] to \the [src]."
src.update_icon()
@@ -132,7 +131,7 @@
if (isAI(user))
return
if(src.beaker)
src.beaker.loc = get_turf(src)
src.beaker.forceMove(get_turf(src))
src.beaker = null
update_icon()
else
@@ -391,20 +391,20 @@
var/obj/temp = new /obj(src) //To prevent infinite loops, all results will be moved into a temporary location so they're not considered as inputs for other recipes
for (var/atom/movable/AM in results)
AM.loc = temp
AM.forceMove(temp)
//making multiple copies of a recipe from one container. For example, tons of fries
while (select_recipe(RECIPE_LIST(appliancetype), C) == recipe)
var/list/TR = list()
TR += recipe.make_food(C)
for (var/atom/movable/AM in TR) //Move results to buffer
AM.loc = temp
AM.forceMove(temp)
results += TR
for (var/r in results)
var/obj/item/weapon/reagent_containers/food/snacks/R = r
R.loc = C //Move everything from the buffer back to the container
R.forceMove(C) //Move everything from the buffer back to the container
R.cooked |= cook_type
QDEL_NULL(temp) //delete buffer object
+6 -5
View File
@@ -45,7 +45,7 @@
if(M.loc == input_plate
)
M.loc = src
M.forceMove(src)
M.gib()
@@ -99,6 +99,7 @@
else if(istype(W, /obj/item/organ))
user.drop_from_inventory(W)
//TODO: Gibber Animations
qdel(W)
user.visible_message("<span class='danger'>\The [user] feeds \the [W] into \the [src], obliterating it.</span>")
@@ -147,7 +148,7 @@
if(victim.client)
victim.client.perspective = EYE_PERSPECTIVE
victim.client.eye = src
victim.loc = src
victim.forceMove(src)
src.occupant = victim
update_icon()
@@ -166,11 +167,11 @@
if(operating || !src.occupant)
return
for(var/obj/O in src)
O.loc = src.loc
O.forceMove(src.loc)
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)
src.occupant = null
update_icon()
return
@@ -234,7 +235,7 @@
if(istype(thing,/obj/item/organ) && prob(80))
qdel(thing)
continue
thing.loc = get_turf(thing) // Drop it onto the turf for throwing.
thing.forceMove(get_turf(thing)) // Drop it onto the turf for throwing.
thing.throw_at(get_edge_target_turf(src,gib_throw_dir),rand(0,3),emagged ? 100 : 50) // Being pelted with bits of meat and bone would hurt.
update_icon()
+7 -8
View File
@@ -116,8 +116,7 @@
return
else
// user.remove_from_mob(O) //This just causes problems so far as I can tell. -Pete
user.drop_item()
O.loc = src
user.drop_from_inventory(O,src)
user.visible_message( \
"<span class='notice'>\The [user] has added \the [O] to \the [src].</span>", \
"<span class='notice'>You add \the [O] to \the [src].</span>")
@@ -259,7 +258,7 @@
wzhzhzh(16)
muck_finish()
cooked = fail()
cooked.loc = src.loc
cooked.forceMove(src.loc)
return
else if (has_extra_item())
if (!wzhzhzh(16))
@@ -267,7 +266,7 @@
return
broke()
cooked = fail()
cooked.loc = src.loc
cooked.forceMove(src.loc)
return
else
if (!wzhzhzh(40))
@@ -275,7 +274,7 @@
return
stop()
cooked = fail()
cooked.loc = src.loc
cooked.forceMove(src.loc)
return
else
var/halftime = round((recipe.time*4)/10/2)
@@ -285,7 +284,7 @@
if (!wzhzhzh(halftime))
abort()
cooked = fail()
cooked.loc = src.loc
cooked.forceMove(src.loc)
return
@@ -300,7 +299,7 @@
cooked_items += things
//Move cooked things to the buffer so they're not considered as ingredients
for (var/atom/movable/AM in things)
AM.loc = temp
AM.forceMove(temp)
valid = 0
recipe = select_recipe(RECIPE_LIST(appliancetype),src)
@@ -310,7 +309,7 @@
for (var/r in cooked_items)
var/atom/movable/R = r
R.loc = src //Move everything from the buffer back to the container
R.forceMove(src) //Move everything from the buffer back to the container
qdel(temp)//Delete buffer object
temp = null
+4 -4
View File
@@ -148,7 +148,7 @@
item_quants[S.name]--
S.name = "dried [S.name]"
S.color = "#AAAAAA"
S.loc = loc
S.forceMove(loc)
else
var/D = S.dried_type
new D(loc)
@@ -206,7 +206,7 @@
return 1
else
user.remove_from_mob(O)
O.loc = src
O.forceMove(src)
if(item_quants[O.name])
item_quants[O.name]++
else
@@ -314,7 +314,7 @@
var/i = amount
for(var/obj/O in contents)
if(O.name == K)
O.loc = loc
O.forceMove(loc)
i--
if(i <= 0)
return 1
@@ -335,7 +335,7 @@
item_quants[O]--
for(var/obj/T in contents)
if(T.name == O)
T.loc = src.loc
T.forceMove(src.loc)
throw_item = T
break
break
+3 -3
View File
@@ -359,7 +359,7 @@ Class Procs:
R.handle_item_insertion(G, 1)
component_parts -= G
component_parts += B
B.loc = src
B.forceMove(src)
user << "<span class='notice'>[G.name] replaced with [B.name].</span>"
break
for(var/obj/item/weapon/stock_parts/A in component_parts)
@@ -375,7 +375,7 @@ Class Procs:
R.handle_item_insertion(A, 1)
component_parts -= A
component_parts += B
B.loc = src
B.forceMove(src)
user << "<span class='notice'>[A.name] replaced with [B.name].</span>"
break
RefreshParts()
@@ -393,7 +393,7 @@ Class Procs:
M.state = 2
M.icon_state = "box_1"
for(var/obj/I in component_parts)
I.loc = loc
I.forceMove(loc)
qdel(src)
return 1
-1
View File
@@ -45,7 +45,6 @@
if(W.autodrobe_no_remove)
continue
H.drop_from_inventory(W,gearbox)
W.forceMove(gearbox)
H.put_in_any_hand_if_possible(gearbox)
H << "<span class='notice'>You feel a pleasant breeze as the autolocker whisks away all of your clothes, packing them neatly in a box.</span>"
+3 -4
View File
@@ -752,15 +752,14 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
/obj/machinery/newscaster/proc/AttachPhoto(mob/user as mob)
if(photo_data)
if(!photo_data.is_synth)
photo_data.photo.loc = src.loc
photo_data.photo.forceMove(src.loc)
if(!issilicon(user))
user.put_in_inactive_hand(photo_data.photo)
qdel(photo_data)
if(istype(user.get_active_hand(), /obj/item/weapon/photo))
var/obj/item/photo = user.get_active_hand()
user.drop_item()
photo.loc = src
user.drop_from_inventory(photo,src)
photo_data = new(photo, 0)
else if(istype(user,/mob/living/silicon))
var/mob/living/silicon/tempAI = user
@@ -964,7 +963,7 @@ obj/item/weapon/newspaper/attackby(obj/item/weapon/W as obj, mob/user as mob)
NEWSPAPER.news_content += FC
if(SSnews.wanted_issue)
NEWSPAPER.important_message = SSnews.wanted_issue
NEWSPAPER.loc = get_turf(src)
NEWSPAPER.forceMove(get_turf(src))
src.paper_remaining--
return
+3 -5
View File
@@ -73,8 +73,7 @@ var/bomb_set
if (src.extended)
if (istype(O, /obj/item/weapon/disk/nuclear))
usr.drop_item()
O.loc = src
usr.drop_from_inventory(O,src)
src.auth = O
src.add_fingerprint(user)
return attack_hand(user)
@@ -231,14 +230,13 @@ var/bomb_set
if (href_list["auth"])
if (auth)
auth.loc = loc
auth.forceMove(loc)
yes_code = 0
auth = null
else
var/obj/item/I = usr.get_active_hand()
if (istype(I, /obj/item/weapon/disk/nuclear))
usr.drop_item()
I.loc = src
usr.drop_from_inventory(I,src)
auth = I
if (is_auth(usr))
if (href_list["type"])
+1 -1
View File
@@ -102,7 +102,7 @@
src.add_fingerprint(usr)
if (istype(W, /obj/item/pipe) || istype(W, /obj/item/pipe_meter))
usr << "<span class='notice'>You put [W] back to [src].</span>"
user.drop_item()
user.drop_from_inventory(W,get_turf(src))
qdel(W)
return
else if (iswrench(W))
+2 -3
View File
@@ -740,8 +740,7 @@
user << "<span class='notice'>\the [I] is stuck to your hand, you cannot put it in \the [src]</span>"
return
user << "<span class='notice'>You install [I] into the turret.</span>"
user.drop_item()
E.loc = src
user.drop_from_inventory(E,src)
target_type = /obj/machinery/porta_turret
installation = I.type //installation becomes I.type
build_step = 4
@@ -879,7 +878,7 @@
if(!installation)
return
build_step = 3
E.loc = src.loc
E.forceMove(src.loc)
installation = null
cut_overlays()
icon_state = "turret_frame_3_[case_sprite_set]"
+1 -2
View File
@@ -77,8 +77,7 @@
user << "<span class='warning'>\The [name] blinks red as you try to insert the item!</span>"
return
user.drop_item()
G.forceMove(src)
user.drop_from_inventory(G,src)
charging = G
update_icon()
+2 -2
View File
@@ -357,7 +357,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
if(lid) //More of that restocking business
var/obj/item/weapon/paper_bundle/C = O
paperstock += C.amount
user.drop_item(C)
user.drop_from_inventory(C,get_turf(src))
qdel(C)
for (var/mob/U in hearers(4, src.loc))
U.show_message(text("\icon[src] *The Requests Console beeps: 'Paper added.'"))
@@ -366,7 +366,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
else if (istype(O, /obj/item/weapon/paper))
if(lid) //Stocking them papers
var/obj/item/weapon/paper/C = O
user.drop_item(C)
user.drop_from_inventory(C,get_turf(src))
qdel(C)
paperstock++
for (var/mob/U in hearers(4, src.loc))
+1 -1
View File
@@ -126,7 +126,7 @@ Please wait until completion...</TT><BR>
spawn (build_time)
if (!isnull(src.being_built))
src.being_built.loc = get_turf(src)
src.being_built.forceMove(get_turf(src))
src.being_built = null
src.update_use_power(1)
src.operating = 0
+2 -4
View File
@@ -56,9 +56,8 @@
// insert cell
var/obj/item/weapon/cell/C = usr.get_active_hand()
if(istype(C))
user.drop_item()
user.drop_from_inventory(C,src)
cell = C
C.loc = src
C.add_fingerprint(usr)
user.visible_message("<span class='notice'>[user] inserts a power cell into [src].</span>", "<span class='notice'>You insert the power cell into [src].</span>")
@@ -139,9 +138,8 @@
if(panel_open && !cell)
var/obj/item/weapon/cell/C = usr.get_active_hand()
if(istype(C))
usr.drop_item()
usr.drop_from_inventory(C,src)
cell = C
C.loc = src
C.add_fingerprint(usr)
power_change()
usr.visible_message("<span class='notice'>[usr] inserts \the [C] into \the [src].</span>", "<span class='notice'>You insert \the [C] into \the [src].</span>")
+20 -25
View File
@@ -250,7 +250,7 @@
if(!src.HELMET)
return //Do I even need this sanity check? Nyoro~n
else
src.HELMET.loc = src.loc
src.HELMET.forceMove(src.loc)
src.HELMET = null
return
@@ -259,7 +259,7 @@
if(!src.SUIT)
return
else
src.SUIT.loc = src.loc
src.SUIT.forceMove(src.loc)
src.SUIT = null
return
@@ -268,7 +268,7 @@
if(!src.MASK)
return
else
src.MASK.loc = src.loc
src.MASK.forceMove(src.loc)
src.MASK = null
return
@@ -276,13 +276,13 @@
/obj/machinery/suit_storage_unit/proc/dump_everything()
src.islocked = 0 //locks go free
if(src.SUIT)
src.SUIT.loc = src.loc
src.SUIT.forceMove(src.loc)
src.SUIT = null
if(src.HELMET)
src.HELMET.loc = src.loc
src.HELMET.forceMove(src.loc)
src.HELMET = null
if(src.MASK)
src.MASK.loc = src.loc
src.MASK.forceMove(src.loc)
src.MASK = null
if(src.OCCUPANT)
src.eject_occupant(OCCUPANT)
@@ -405,7 +405,7 @@
if (!src.OCCUPANT)
return
// for(var/obj/O in src)
// O.loc = src.loc
// O.forceMove(src.loc
if (src.OCCUPANT.client)
if(user != OCCUPANT)
@@ -415,7 +415,7 @@
src.OCCUPANT.client.eye = src.OCCUPANT.client.mob
src.OCCUPANT.client.perspective = MOB_PERSPECTIVE
src.OCCUPANT.loc = src.loc
src.OCCUPANT.forceMove(src.loc)
src.OCCUPANT = null
if(!src.isopen)
src.isopen = 1
@@ -458,7 +458,7 @@
usr.stop_pulling()
usr.client.perspective = EYE_PERSPECTIVE
usr.client.eye = src
usr.loc = src
usr.forceMove(src)
// usr.metabslow = 1
src.OCCUPANT = usr
src.isopen = 0 //Close the thing after the guy gets inside
@@ -504,12 +504,12 @@
if (M.client)
M.client.perspective = EYE_PERSPECTIVE
M.client.eye = src
M.loc = src
M.forceMove(src)
src.OCCUPANT = M
src.isopen = 0 //close ittt
//for(var/obj/O in src)
// O.loc = src.loc
// O.forceMove(src.loc
src.add_fingerprint(user)
qdel(G)
src.updateUsrDialog()
@@ -524,8 +524,7 @@
user << "<font color='blue'>The unit already contains a suit.</font>"
return
user << "You load the [S.name] into the storage compartment."
user.drop_item()
S.loc = src
user.drop_from_inventory(S,src)
src.SUIT = S
src.update_icon()
src.updateUsrDialog()
@@ -538,8 +537,7 @@
user << "<font color='blue'>The unit already contains a helmet.</font>"
return
user << "You load the [H.name] into the storage compartment."
user.drop_item()
H.loc = src
user.drop_from_inventory(H,src)
src.HELMET = H
src.update_icon()
src.updateUsrDialog()
@@ -552,8 +550,7 @@
user << "<font color='blue'>The unit already contains a mask.</font>"
return
user << "You load the [M.name] into the storage compartment."
user.drop_item()
M.loc = src
user.drop_from_inventory(M,src)
src.MASK = M
src.update_icon()
src.updateUsrDialog()
@@ -703,7 +700,7 @@
if (M.client)
M.client.perspective = EYE_PERSPECTIVE
M.client.eye = src
M.loc = src
M.forceMove(src)
src.occupant = M
src.add_fingerprint(user)
@@ -734,8 +731,7 @@
return
user << "You fit \the [I] into the suit cycler."
user.drop_item()
I.loc = src
user.drop_from_inventory(I,src)
helmet = I
src.update_icon()
@@ -757,8 +753,7 @@
return
user << "You fit \the [I] into the suit cycler."
user.drop_item()
I.loc = src
user.drop_from_inventory(I,src)
suit = I
src.update_icon()
@@ -835,11 +830,11 @@
/obj/machinery/suit_cycler/Topic(href, href_list)
if(href_list["eject_suit"])
if(!suit) return
suit.loc = get_turf(src)
suit.forceMove(get_turf(src))
suit = null
else if(href_list["eject_helmet"])
if(!helmet) return
helmet.loc = get_turf(src)
helmet.forceMove(get_turf(src))
helmet = null
else if(href_list["select_department"])
var/choice = input("Please select the target department paintjob.","Suit cycler",null) as null|anything in departments
@@ -986,7 +981,7 @@
occupant.client.eye = occupant.client.mob
occupant.client.perspective = MOB_PERSPECTIVE
occupant.loc = get_turf(occupant)
occupant.forceMove(get_turf(occupant))
occupant = null
add_fingerprint(usr)
+2 -2
View File
@@ -198,7 +198,7 @@
new /obj/item/weapon/material/shard( src.loc )
var/obj/item/weapon/circuitboard/comm_server/M = new /obj/item/weapon/circuitboard/comm_server( A )
for (var/obj/C in src)
C.loc = src.loc
C.forceMove(src.loc)
A.circuit = M
A.state = 3
A.icon_state = "3"
@@ -209,7 +209,7 @@
var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
var/obj/item/weapon/circuitboard/comm_server/M = new /obj/item/weapon/circuitboard/comm_server( A )
for (var/obj/C in src)
C.loc = src.loc
C.forceMove(src.loc)
A.circuit = M
A.state = 4
A.icon_state = "4"
@@ -76,7 +76,7 @@
// Drop all the component stuff
if(contents.len > 0)
for(var/obj/x in src)
x.loc = user.loc
x.forceMove(user.loc)
else
// If the machine wasn't made during runtime, probably doesn't have components:
@@ -87,17 +87,17 @@
for(var/i = 1, i <= C.req_components[I], i++)
newpath = text2path(I)
var/obj/item/s = new newpath
s.loc = user.loc
s.forceMove(user.loc)
if(iscoil(P))
var/obj/item/stack/cable_coil/A = P
A.amount = 1
// Drop a circuit board too
C.loc = user.loc
C.forceMove(user.loc)
// Create a machine frame and delete the current machine
var/obj/machinery/constructable_frame/machine_frame/F = new
F.loc = src.loc
F.forceMove(src.loc)
qdel(src)
update_icon()
+2 -2
View File
@@ -133,7 +133,7 @@
new /obj/item/weapon/material/shard( src.loc )
var/obj/item/weapon/circuitboard/comm_monitor/M = new /obj/item/weapon/circuitboard/comm_monitor( A )
for (var/obj/C in src)
C.loc = src.loc
C.forceMove(src.loc)
A.circuit = M
A.state = 3
A.icon_state = "3"
@@ -144,7 +144,7 @@
var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
var/obj/item/weapon/circuitboard/comm_monitor/M = new /obj/item/weapon/circuitboard/comm_monitor( A )
for (var/obj/C in src)
C.loc = src.loc
C.forceMove(src.loc)
A.circuit = M
A.state = 4
A.icon_state = "4"
@@ -216,7 +216,7 @@
new /obj/item/weapon/material/shard( src.loc )
var/obj/item/weapon/circuitboard/comm_traffic/M = new /obj/item/weapon/circuitboard/comm_traffic( A )
for (var/obj/C in src)
C.loc = src.loc
C.forceMove(src.loc)
A.circuit = M
A.state = 3
A.icon_state = "3"
@@ -227,7 +227,7 @@
var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
var/obj/item/weapon/circuitboard/comm_traffic/M = new /obj/item/weapon/circuitboard/comm_traffic( A )
for (var/obj/C in src)
C.loc = src.loc
C.forceMove(src.loc)
A.circuit = M
A.state = 4
A.icon_state = "4"
+2 -2
View File
@@ -52,7 +52,7 @@
if(istype(L, /obj/effect/landmark/) && istype(L.loc, /turf))
usr << "You insert the coordinates into the machine."
usr << "A message flashes across the screen reminding the traveller that the nuclear authentication disk is to remain on the station at all times."
user.drop_item()
user.drop_from_inventory(I,get_turf(src))
qdel(I)
if(C.data == "Clown Land")
@@ -293,7 +293,7 @@
if(tmploc==null)
return
M.loc = tmploc
M.forceMove(tmploc)
sleep(2)
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
+1 -1
View File
@@ -42,7 +42,7 @@
var/move_dir = get_dir(loc, AM.loc)
var/mob/living/carbon/human/H = AM
if((transform_standing || H.lying) && move_dir == EAST)
AM.loc = src.loc
AM.forceMove(src.loc)
make_robot(AM)
/obj/machinery/transformer/proc/make_robot(var/mob/living/carbon/human/H)
+4 -5
View File
@@ -228,8 +228,7 @@
attack_hand(user)
return
else if(istype(W, /obj/item/weapon/coin) && premium.len > 0)
user.drop_item()
W.loc = src
user.drop_from_inventory(W,src)
coin = W
categories |= CAT_COIN
user << "<span class='notice'>You insert \the [W] into \the [src].</span>"
@@ -308,7 +307,7 @@
cashmoney_bundle.worth -= currently_vending.price
if(cashmoney_bundle.worth <= 0)
usr.drop_from_inventory(cashmoney_bundle)
usr.drop_from_inventory(cashmoney_bundle,get_turf(src))
qdel(cashmoney_bundle)
else
cashmoney_bundle.update_icon()
@@ -320,7 +319,7 @@
visible_message("<span class='info'>\The [usr] inserts a bill into \the [src].</span>")
var/left = cashmoney.worth - currently_vending.price
usr.drop_from_inventory(cashmoney)
usr.drop_from_inventory(cashmoney,get_turf(src))
qdel(cashmoney)
if(left)
@@ -505,7 +504,7 @@
usr << "There is no coin in this machine."
return
coin.loc = src.loc
coin.forceMove(src.loc)
if(!usr.get_active_hand())
usr.put_in_hands(coin)
usr << "<span class='notice'>You remove the [coin] from the [src]</span>"
+7 -9
View File
@@ -66,7 +66,7 @@
sleep(20)
if(state in list(1,3,6) )
usr.loc = src.loc
usr.forceMove(src.loc)
/obj/machinery/washing_machine/update_icon()
@@ -79,9 +79,8 @@
if(istype(W,/obj/item/weapon/pen/crayon) || istype(W,/obj/item/weapon/stamp))
if( state in list( 1, 3, 6 ) )
if(!crayon)
user.drop_item()
user.drop_from_inventory(W,src)
crayon = W
crayon.loc = src
else
..()
else
@@ -90,7 +89,7 @@
if( (state == 1) && hacked)
var/obj/item/weapon/grab/G = W
if(ishuman(G.assailant) && iscorgi(G.affecting))
G.affecting.loc = src
G.affecting.forceMove(src)
qdel(G)
state = 3
else
@@ -144,8 +143,7 @@
if(contents.len < 5)
if ( state in list(1, 3) )
user.drop_item()
W.loc = src
user.drop_from_inventory(W,src)
state = 3
else
user << "<span class='notice'>You can't put the item in right now.</span>"
@@ -162,13 +160,13 @@
if(2)
state = 1
for(var/atom/movable/O in contents)
O.loc = src.loc
O.forceMove(src.loc)
if(3)
state = 4
if(4)
state = 3
for(var/atom/movable/O in contents)
O.loc = src.loc
O.forceMove(src.loc)
crayon = null
state = 1
if(5)
@@ -182,7 +180,7 @@
var/mob/M = locate(/mob,contents)
M.gib()
for(var/atom/movable/O in contents)
O.loc = src.loc
O.forceMove(src.loc)
crayon = null
state = 1
+1 -1
View File
@@ -83,7 +83,7 @@
/obj/mecha/combat/marauder/relaymove(mob/user,direction)
if(user != src.occupant) //While not "realistic", this piece is player friendly.
user.loc = get_turf(src)
user.forceMove(get_turf(src))
user << "You climb out from [src]"
return 0
if(!can_move)
+1 -1
View File
@@ -35,7 +35,7 @@
if(can_move)
can_move = 0
flick("phazon-phase", src)
src.loc = get_step(src,src.dir)
src.forceMove(get_step(src,src.dir))
src.use_power(phasing_energy_drain)
sleep(step_in*3)
can_move = 1
+1 -1
View File
@@ -99,7 +99,7 @@
/obj/item/mecha_parts/mecha_equipment/proc/attach(obj/mecha/M as obj)
M.equipment += src
chassis = M
src.loc = M
src.forceMove(M)
M.log_message("[src] initialized.")
if(!M.selected)
M.selected = src
+1 -1
View File
@@ -41,7 +41,7 @@
if(do_after_cooldown(target))
if(T == chassis.loc && src == chassis.selected)
cargo_holder.cargo += O
O.loc = chassis
O.forceMove(chassis)
O.anchored = 0
occupant_message("<span class='notice'>[target] succesfully loaded.</span>")
log_message("Loaded [O]. Cargo compartment capacity: [cargo_holder.cargo_capacity - cargo_holder.cargo.len]")
@@ -68,7 +68,7 @@
if(chassis.occupant)
for(var/obj/effect/speech_bubble/B in range(1, chassis))
if(B.parent == chassis.occupant)
B.loc = chassis.loc
B.forceMove(chassis.loc)
if(move_result)
wait = 1
chassis.use_power(energy_drain)
+1 -2
View File
@@ -72,8 +72,7 @@
user << span("warning", "[M] already has a tracker installed. Please remove the existing one.")
return
user.drop_from_inventory(src)
src.forceMove(M)
user.drop_from_inventory(src,M)
playsound(get_turf(user), 'sound/items/Deconstruct.ogg', 50, 1)
exo_beacons.Add(src)
user.visible_message("[user] installs [src] in [M].", "You install [src] in [M]")
+3 -4
View File
@@ -754,7 +754,7 @@
var/obj/item/mecha_parts/mecha_equipment/E = W
spawn()
if(E.can_attach(src))
user.drop_item()
user.drop_item() //TODO: Look into attach
E.attach(src)
user.visible_message("[user] attaches [W] to [src]", "You attach [W] to [src]")
else
@@ -830,8 +830,7 @@
if(state==3)
if(!src.cell)
user << "You install the powercell"
user.drop_item()
W.forceMove(src)
user.drop_from_inventory(W,src)
src.cell = W
src.log_message("Powercell installed")
else
@@ -1278,7 +1277,7 @@
if(istype(mob_container, /obj/item/device/mmi))
var/obj/item/device/mmi/mmi = mob_container
if(mmi.brainmob)
occupant.loc = mmi
occupant.forceMove(mmi)
mmi.mecha = null
src.occupant.canmove = 0
src.verbs += /obj/mecha/verb/eject
+1 -1
View File
@@ -566,7 +566,7 @@
custom_action(step, atom/used_atom, mob/user)
user.visible_message("[user] has connected [used_atom] to [holder].", "You connect [used_atom] to [holder]")
holder.add_overlay("[used_atom.icon_state]+o")
user.drop_item()
user.drop_from_inventory(used_atom,get_turf(holder))
qdel(used_atom)
return 1
+1 -1
View File
@@ -65,7 +65,7 @@
if(!isemptylist(crowbar_salvage))
var/obj/S = pick(crowbar_salvage)
if(S)
S.loc = get_turf(user)
S.forceMove(get_turf(user))
crowbar_salvage -= S
user.visible_message("[user] pries [S] from [src].", "You pry [S] from [src].")
return
+1 -1
View File
@@ -13,7 +13,7 @@
/obj/mecha/working/ripley/Destroy()
for(var/atom/movable/A in src.cargo)
A.loc = loc
A.forceMove(loc)
var/turf/T = loc
if(istype(T))
T.Entered(A)
+3 -3
View File
@@ -14,11 +14,11 @@
for(var/mob/M in src)
if(M==src.occupant)
continue
M.loc = get_turf(src)
M.forceMove(get_turf(src))
M.loc.Entered(M)
step_rand(M)
for(var/atom/movable/A in src.cargo)
A.loc = get_turf(src)
A.forceMove(get_turf(src))
var/turf/T = get_turf(A)
if(T)
T.Entered(A)
@@ -32,7 +32,7 @@
var/obj/O = locate(href_list["drop_from_cargo"])
if(O && O in src.cargo)
src.occupant_message("<span class='notice'>You unload [O].</span>")
O.loc = get_turf(src)
O.forceMove(get_turf(src))
src.cargo -= O
var/turf/T = get_turf(O)
if(T)
+2 -2
View File
@@ -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)
+1 -1
View File
@@ -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
+1 -1
View File
@@ -133,7 +133,7 @@
I.loc = null
I.loc = T
I.forceMove(T)
/obj/item/examine(mob/user, var/distance = -1)
var/size
+1 -2
View File
@@ -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
+1 -1
View File
@@ -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()

Some files were not shown because too many files have changed in this diff Show More