mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 18:32:03 +00:00
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:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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!
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user