Replaced loc setting with forceMove. (#11490)

* Replaced loc setting with forceMove.

* Update forceMove to permit moving to null loc.

Also fixed atom locking with offsets not following properly.
This commit is contained in:
ComicIronic
2016-08-29 12:40:45 +01:00
committed by clusterfack
parent b0e22029ab
commit b35eaa65d8
348 changed files with 1019 additions and 1016 deletions

View File

@@ -1140,7 +1140,7 @@ var/global/floorIsLava = 0
if (M.z == map.zCentcomm)
if (config.allow_admin_jump)
M.loc = pick(latejoin)
M.forceMove(pick(latejoin))
message_admins("[key_name_admin(usr)] has unprisoned [key_name_admin(M)]", 1)
log_admin("[key_name(usr)] has unprisoned [key_name(M)]")
else

View File

@@ -1497,7 +1497,7 @@
for(var/obj/item/I in M)
M.u_equip(I,1)
if(I)
I.loc = locker
I.forceMove(locker)
I.reset_plane_and_layer()
//I.dropped(M)
@@ -1517,7 +1517,7 @@
// TODO: play sound here. Thinking of using Wolfenstein 3D's cell door closing sound.
M.loc = prison_cell
M.forceMove(prison_cell)
/*
if(istype(M, /mob/living/carbon/human))
@@ -1576,10 +1576,10 @@
continue
M.u_equip(I,1)
if(I)
I.loc = M.loc
I.forceMove(M.loc)
I.reset_plane_and_layer()
//I.dropped(M)
I.loc = pack
I.forceMove(pack)
var/obj/item/weapon/card/id/thunderdome/ident = null
@@ -1611,13 +1611,13 @@
if(K.uniform)
olduniform = K.uniform
K.uniform = null
olduniform.loc = pack
olduniform.forceMove(pack)
K.uniform = JS
K.uniform.loc = K
K.uniform.forceMove(K)
if(K.hat)
oldhat = K.hat
K.hat = null
oldhat.loc = pack
oldhat.forceMove(pack)
K.put_in_hands(ident)
K.put_in_hands(new /obj/item/weapon/storage/belt/thunderdome/green(K))
K.regenerate_icons()
@@ -1638,13 +1638,13 @@
if(K.uniform)
olduniform = K.uniform
K.uniform = null
olduniform.loc = pack
olduniform.forceMove(pack)
K.uniform = JS
K.uniform.loc = K
K.uniform.forceMove(K)
if(K.hat)
oldhat = K.hat
K.hat = null
oldhat.loc = pack
oldhat.forceMove(pack)
K.put_in_hands(ident)
K.put_in_hands(new /obj/item/weapon/storage/belt/thunderdome/red(K))
K.regenerate_icons()
@@ -1656,11 +1656,11 @@
if("Green")
log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Team Green)")
message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Team Green)", 1)
M.loc = pick(tdome1)
M.forceMove(pick(tdome1))
if("Red")
log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Team Red)")
message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Team Red)", 1)
M.loc = pick(tdome2)
M.forceMove(pick(tdome2))
to_chat(M, "<span class='danger'>You have been chosen to fight for the [team] Team. [pick(\
"The wheel of fate is turning!",\
@@ -1688,7 +1688,7 @@
M.Paralyse(5)
sleep(5)
M.loc = pick(tdomeadmin)
M.forceMove(pick(tdomeadmin))
spawn(50)
to_chat(M, "<span class='notice'>You have been sent to the Thunderdome.</span>")
log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Admin.)")
@@ -1712,7 +1712,7 @@
for(var/obj/item/I in M)
M.u_equip(I,1)
if(I)
I.loc = M.loc
I.forceMove(M.loc)
I.reset_plane_and_layer()
//I.dropped(M)
@@ -1722,7 +1722,7 @@
observer.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(observer), slot_shoes)
M.Paralyse(5)
sleep(5)
M.loc = pick(tdomeobserve)
M.forceMove(pick(tdomeobserve))
spawn(50)
to_chat(M, "<span class='notice'>You have been sent to the Thunderdome.</span>")
log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Observer.)")
@@ -2126,7 +2126,7 @@
var/obj/effect/stop/S
S = new /obj/effect/stop
S.victim = M
S.loc = M.loc
S.forceMove(M.loc)
spawn(20)
del(S)
@@ -2478,7 +2478,7 @@
del(O)
/* for(var/obj/machinery/vehicle/pod/O in world)
for(var/mob/M in src)
M.loc = src.loc
M.forceMove(src.loc)
if (M.client)
M.client.perspective = MOB_PERSPECTIVE
M.client.eye = M
@@ -2654,13 +2654,13 @@
for (var/obj/item/I in H.get_all_slots())
H.drop_from_inventory(I)
H.loc = pick(prisonwarp) // teleport person to cell
H.forceMove(pick(prisonwarp)) // teleport person to cell
H.equip_to_slot_or_del(new /obj/item/clothing/under/color/prisoner(H), slot_w_uniform)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/orange(H), slot_shoes)
else
H.loc = pick(prisonsecuritywarp) // teleport security person
H.forceMove(pick(prisonsecuritywarp)) // teleport security person
prisonwarped += H
if("traitor_all")
@@ -3224,12 +3224,12 @@
if(M.wear_suit)
var/obj/item/O = M.wear_suit
M.u_equip(O,1)
O.loc = M.loc
O.forceMove(M.loc)
//O.dropped(M)
if(M.head)
var/obj/item/O = M.head
M.u_equip(O,1)
O.loc = M.loc
O.forceMove(M.loc)
//O.dropped(M)
M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/bomberman(M), slot_head)
M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/bomberman(M), slot_wear_suit)
@@ -4121,7 +4121,7 @@
var/obj/machinery/computer/shuttle_control/C = pick(S.control_consoles)
if(C)
usr.loc = C.loc
usr.forceMove(C.loc)
if(href_list["shuttle_shuttlify"])
feedback_inc("admin_shuttle_magic_used",1)

View File

@@ -20,7 +20,7 @@
if(!T)
to_chat(src, "Nowhere to jump to!")
return
usr.loc = T
usr.forceMove(T)
log_admin("[key_name(usr)] jumped to [A]")
message_admins("[key_name_admin(usr)] jumped to [A]", 1)
@@ -37,7 +37,7 @@
if(config.allow_admin_jump)
log_admin("[key_name(usr)] jumped to [T.x],[T.y],[T.z] in [T.loc]")
message_admins("[key_name_admin(usr)] jumped to [T.x],[T.y],[T.z] in [T.loc]", 1)
usr.loc = T
usr.forceMove(T)
feedback_add_details("admin_verb","JT") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
else
alert("Admin jumping disabled")
@@ -59,7 +59,7 @@
var/turf/T = get_turf(M)
if(T && isturf(T))
feedback_add_details("admin_verb","JM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
A.loc = T
A.forceMove(T)
else
to_chat(A, "This mob is not located in the game world.")
else
@@ -105,7 +105,7 @@
var/mob/M = keys[selection]
log_admin("[key_name(usr)] jumped to [key_name(M)]")
message_admins("[key_name_admin(usr)] jumped to [key_name_admin(M)]", 1)
usr.loc = get_turf(M)
usr.forceMove(get_turf(M))
feedback_add_details("admin_verb","JK") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
else
alert("Admin jumping disabled")

View File

@@ -130,10 +130,10 @@ client/proc/antag_madness(var/mob/M in mob_list)
for(var/obj/item/I in M)
M.u_equip(I,1)
if(I)
I.loc = M.loc
I.forceMove(M.loc)
I.reset_plane_and_layer()
//I.dropped(M)
I.loc = pack
I.forceMove(pack)
M.equip_to_slot_or_del(new/obj/item/device/radio/headset, slot_ears)
M.equip_to_slot_or_del(new/obj/item/clothing/under/chameleon, slot_w_uniform)
@@ -190,10 +190,10 @@ client/proc/antag_madness(var/mob/M in mob_list)
for(var/obj/item/I in M)
M.u_equip(I,1)
if(I)
I.loc = M.loc
I.forceMove(M.loc)
I.reset_plane_and_layer()
//I.dropped(M)
I.loc = pack
I.forceMove(pack)
M.equip_to_slot_or_del(new/obj/item/device/radio/headset, slot_ears)
M.equip_to_slot_or_del(new/obj/item/clothing/under/batmansuit, slot_w_uniform)
@@ -249,10 +249,10 @@ client/proc/antag_madness(var/mob/M in mob_list)
for(var/obj/item/I in M)
M.u_equip(I,1)
if(I)
I.loc = M.loc
I.forceMove(M.loc)
I.reset_plane_and_layer()
//I.dropped(M)
I.loc = pack
I.forceMove(pack)
var/obj/item/weapon/tome/T = new/obj/item/weapon/tome(M)
var/obj/item/weapon/paper/talisman/supply/A = new/obj/item/weapon/paper/talisman/supply(M)
@@ -278,9 +278,9 @@ client/proc/antag_madness(var/mob/M in mob_list)
var/obj/item/weapon/storage/backpack/cultpack/P = new/obj/item/weapon/storage/backpack/cultpack(K)
K.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/death_commando(K), slot_wear_mask)
K.equip_to_slot_or_del(P, slot_back)
pack.loc = P
T.loc = P
A.loc = P
pack.forceMove(P)
T.forceMove(P)
A.forceMove(P)
K.put_in_hands(new /obj/item/weapon/melee/cultblade(K))
var/obj/item/clothing/monkeyclothes/cultrobes/JS = new /obj/item/clothing/monkeyclothes/cultrobes(K)
var/obj/item/clothing/head/culthood/alt/CH = new /obj/item/clothing/head/culthood/alt(K)
@@ -289,15 +289,15 @@ client/proc/antag_madness(var/mob/M in mob_list)
if(K.uniform)
olduniform = K.uniform
K.uniform = null
olduniform.loc = pack
olduniform.forceMove(pack)
K.uniform = JS
K.uniform.loc = K
K.uniform.forceMove(K)
if(K.hat)
oldhat = K.hat
K.hat = null
oldhat.loc = pack
oldhat.forceMove(pack)
K.hat = CH
K.hat.loc = K
K.hat.forceMove(K)
M.regenerate_icons()
@@ -333,10 +333,10 @@ client/proc/antag_madness(var/mob/M in mob_list)
for(var/obj/item/I in M)
M.u_equip(I,1)
if(I)
I.loc = M.loc
I.forceMove(M.loc)
I.reset_plane_and_layer()
//I.dropped(M)
I.loc = pack
I.forceMove(pack)
M.equip_to_slot_or_del(new/obj/item/device/radio/headset/syndicate, slot_ears)
M.equip_to_slot_or_del(new/obj/item/clothing/under/soviet, slot_w_uniform)
@@ -381,10 +381,10 @@ client/proc/antag_madness(var/mob/M in mob_list)
for(var/obj/item/I in M)
M.u_equip(I,1)
if(I)
I.loc = M.loc
I.forceMove(M.loc)
I.reset_plane_and_layer()
//I.dropped(M)
I.loc = pack
I.forceMove(pack)
ticker.mode.equip_syndicate(M)
@@ -439,10 +439,10 @@ client/proc/antag_madness(var/mob/M in mob_list)
for(var/obj/item/I in M)
M.u_equip(I,1)
if(I)
I.loc = M.loc
I.forceMove(M.loc)
I.reset_plane_and_layer()
//I.dropped(M)
I.loc = pack
I.forceMove(pack)
M.equip_to_slot_or_del(new/obj/item/device/radio/headset/syndicate, slot_ears)
M.equip_to_slot_or_del(new/obj/item/clothing/under/color/green, slot_w_uniform)
@@ -490,10 +490,10 @@ client/proc/antag_madness(var/mob/M in mob_list)
for(var/obj/item/I in M)
M.u_equip(I,1)
if(I)
I.loc = M.loc
I.forceMove(M.loc)
I.reset_plane_and_layer()
//I.dropped(M)
I.loc = pack
I.forceMove(pack)
if(M.gender == "male")
M.equip_to_slot_or_del(new/obj/item/clothing/shoes/sandal, slot_shoes)

View File

@@ -1126,7 +1126,7 @@ Pressure: [env.return_pressure()]"}
Plasma.air_contents.temperature = 73.15 //Perfect freezer cooling
Rad.drain_ratio = 0
Rad.P = Plasma
Plasma.loc = Rad
Plasma.forceMove(Rad)
if(!Rad.active)
Rad.toggle_power()
@@ -1485,7 +1485,7 @@ client/proc/delete_all_bomberman()
if(istype(O.loc, /mob/living/carbon/))
var/mob/living/carbon/C = O.loc
C.u_equip(O,1)
O.loc = C.loc
O.forceMove(C.loc)
//O.dropped(C)
qdel(O)
@@ -1493,7 +1493,7 @@ client/proc/delete_all_bomberman()
if(istype(O.loc, /mob/living/carbon/))
var/mob/living/carbon/C = O.loc
C.u_equip(O,1)
O.loc = C.loc
O.forceMove(C.loc)
//O.dropped(C)
qdel(O)
@@ -1501,7 +1501,7 @@ client/proc/delete_all_bomberman()
if(istype(O.loc, /mob/living/carbon/))
var/mob/living/carbon/C = O.loc
C.u_equip(O,1)
O.loc = C.loc
O.forceMove(C.loc)
//O.dropped(C)
qdel(O)

View File

@@ -163,7 +163,7 @@
if (!group.group_processing)
dead_groups += group
var/datum/air_group/dest_group = pick(dead_groups)
usr.loc = pick(dest_group.members)
usr.forceMove(pick(dest_group.members))
feedback_add_details("admin_verb","JDAG") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
return
*/

View File

@@ -256,7 +256,7 @@ client/proc/one_click_antag()
var/obj/item/weapon/paper/P = new
P.info = "Sadly, the Syndicate could not get you a nuclear bomb. We have, however, acquired the arming code for the station's onboard nuke. The nuclear authorization code is: <b>[nuke_code]</b>"
P.name = "nuclear bomb code and instructions"
P.loc = nuke_spawn.loc
P.forceMove(nuke_spawn.loc)
if(closet_spawn)
new /obj/structure/closet/syndicate/nuclear(closet_spawn.loc)

View File

@@ -19,7 +19,7 @@
if(!usr.control_object) //If you're not already possessing something...
usr.name_archive = usr.real_name
usr.loc = O
usr.forceMove(O)
usr.real_name = O.name
usr.name = O.name
usr.client.eye = O
@@ -39,7 +39,7 @@
H.name = H.get_visible_name()
// usr.regenerate_icons() //So the name is updated properly
usr.loc = O.loc // Appear where the object you were controlling is -- TLE
usr.forceMove(O.loc) // Appear where the object you were controlling is -- TLE
usr.client.eye = usr
usr.control_object = null
feedback_add_details("admin_verb","RO") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!

View File

@@ -31,7 +31,7 @@
//teleport person to cell
M.Paralyse(5)
sleep(5) //so they black out before warping
M.loc = pick(prisonwarp)
M.forceMove(pick(prisonwarp))
if(istype(M, /mob/living/carbon/human))
var/mob/living/carbon/human/prisoner = M
prisoner.equip_to_slot_or_del(new /obj/item/clothing/under/color/prisoner(prisoner), slot_w_uniform)
@@ -526,13 +526,13 @@ Traitors and the like can also be revived with the previous role mostly intact.
job_master.EquipRank(new_character, new_character.mind.assigned_role, 1)
ticker.mode.equip_traitor(new_character)
if("Wizard")
new_character.loc = pick(wizardstart)
new_character.forceMove(pick(wizardstart))
//ticker.mode.learn_basic_spells(new_character)
ticker.mode.equip_wizard(new_character)
if("Syndicate")
var/obj/effect/landmark/synd_spawn = locate("landmark*Syndicate-Spawn")
if(synd_spawn)
new_character.loc = get_turf(synd_spawn)
new_character.forceMove(get_turf(synd_spawn))
call(/datum/game_mode/proc/equip_syndicate)(new_character)
if("Death Commando")//Leaves them at late-join spawn.
new_character.equip_death_commando()