mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
Merge remote-tracking branch 'upstream/dev-freeze' into dev
Conflicts: .travis.yml
This commit is contained in:
@@ -372,7 +372,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
|
|||||||
|
|
||||||
//Picks a string of symbols to display as the law number for hacked or ion laws
|
//Picks a string of symbols to display as the law number for hacked or ion laws
|
||||||
/proc/ionnum()
|
/proc/ionnum()
|
||||||
return "[pick("!","@","#","$","%","^","&","*")][pick("!","@","#","$","%","^","&","*")][pick("!","@","#","$","%","^","&","*")][pick("!","@","#","$","%","^","&","*")]"
|
return "[pick("1","2","3","4","5","6","7","8","9","0")][pick("!","@","#","$","%","^","&","*")][pick("!","@","#","$","%","^","&","*")][pick("!","@","#","$","%","^","&","*")]"
|
||||||
|
|
||||||
//When an AI is activated, it can choose from a list of non-slaved borgs to have as a slave.
|
//When an AI is activated, it can choose from a list of non-slaved borgs to have as a slave.
|
||||||
/proc/freeborg()
|
/proc/freeborg()
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
var/obj/item/I
|
var/obj/item/I
|
||||||
for(I in src.loc)
|
for(I in src.loc)
|
||||||
if(I.density || I.anchored || I == src) continue
|
if(I.density || I.anchored || I == src) continue
|
||||||
I.loc = src
|
I.forceMove(src)
|
||||||
// adjust locker size to hold all items with 5 units of free store room
|
// adjust locker size to hold all items with 5 units of free store room
|
||||||
var/content_size = 0
|
var/content_size = 0
|
||||||
for(I in src.contents)
|
for(I in src.contents)
|
||||||
@@ -71,13 +71,13 @@
|
|||||||
/obj/structure/closet/proc/dump_contents()
|
/obj/structure/closet/proc/dump_contents()
|
||||||
//Cham Projector Exception
|
//Cham Projector Exception
|
||||||
for(var/obj/effect/dummy/chameleon/AD in src)
|
for(var/obj/effect/dummy/chameleon/AD in src)
|
||||||
AD.loc = src.loc
|
AD.forceMove(src.loc)
|
||||||
|
|
||||||
for(var/obj/I in src)
|
for(var/obj/I in src)
|
||||||
I.loc = src.loc
|
I.forceMove(src.loc)
|
||||||
|
|
||||||
for(var/mob/M in src)
|
for(var/mob/M in src)
|
||||||
M.loc = src.loc
|
M.forceMove(src.loc)
|
||||||
if(M.client)
|
if(M.client)
|
||||||
M.client.eye = M.client.mob
|
M.client.eye = M.client.mob
|
||||||
M.client.perspective = MOB_PERSPECTIVE
|
M.client.perspective = MOB_PERSPECTIVE
|
||||||
@@ -125,7 +125,7 @@
|
|||||||
for(var/obj/effect/dummy/chameleon/AD in src.loc)
|
for(var/obj/effect/dummy/chameleon/AD in src.loc)
|
||||||
if((stored_units + added_units) > storage_capacity)
|
if((stored_units + added_units) > storage_capacity)
|
||||||
break
|
break
|
||||||
AD.loc = src
|
AD.forceMove(src)
|
||||||
added_units++
|
added_units++
|
||||||
return added_units
|
return added_units
|
||||||
|
|
||||||
@@ -136,7 +136,7 @@
|
|||||||
if(stored_units + added_units + item_size > storage_capacity)
|
if(stored_units + added_units + item_size > storage_capacity)
|
||||||
continue
|
continue
|
||||||
if(!I.anchored)
|
if(!I.anchored)
|
||||||
I.loc = src
|
I.forceMove(src)
|
||||||
added_units += item_size
|
added_units += item_size
|
||||||
return added_units
|
return added_units
|
||||||
|
|
||||||
@@ -151,7 +151,7 @@
|
|||||||
if(M.client)
|
if(M.client)
|
||||||
M.client.perspective = EYE_PERSPECTIVE
|
M.client.perspective = EYE_PERSPECTIVE
|
||||||
M.client.eye = src
|
M.client.eye = src
|
||||||
M.loc = src
|
M.forceMove(src)
|
||||||
added_units += current_mob_size
|
added_units += current_mob_size
|
||||||
return added_units
|
return added_units
|
||||||
|
|
||||||
@@ -166,19 +166,19 @@
|
|||||||
switch(severity)
|
switch(severity)
|
||||||
if(1)
|
if(1)
|
||||||
for(var/atom/movable/A as mob|obj in src)//pulls everything out of the locker and hits it with an explosion
|
for(var/atom/movable/A as mob|obj in src)//pulls everything out of the locker and hits it with an explosion
|
||||||
A.loc = src.loc
|
A.forceMove(src.loc)
|
||||||
A.ex_act(severity++)
|
A.ex_act(severity++)
|
||||||
qdel(src)
|
qdel(src)
|
||||||
if(2)
|
if(2)
|
||||||
if(prob(50))
|
if(prob(50))
|
||||||
for (var/atom/movable/A as mob|obj in src)
|
for (var/atom/movable/A as mob|obj in src)
|
||||||
A.loc = src.loc
|
A.forceMove(src.loc)
|
||||||
A.ex_act(severity++)
|
A.ex_act(severity++)
|
||||||
qdel(src)
|
qdel(src)
|
||||||
if(3)
|
if(3)
|
||||||
if(prob(5))
|
if(prob(5))
|
||||||
for(var/atom/movable/A as mob|obj in src)
|
for(var/atom/movable/A as mob|obj in src)
|
||||||
A.loc = src.loc
|
A.forceMove(src.loc)
|
||||||
A.ex_act(severity++)
|
A.ex_act(severity++)
|
||||||
qdel(src)
|
qdel(src)
|
||||||
|
|
||||||
@@ -186,7 +186,7 @@
|
|||||||
health -= damage
|
health -= damage
|
||||||
if(health <= 0)
|
if(health <= 0)
|
||||||
for(var/atom/movable/A in src)
|
for(var/atom/movable/A in src)
|
||||||
A.loc = src.loc
|
A.forceMove(src.loc)
|
||||||
qdel(src)
|
qdel(src)
|
||||||
|
|
||||||
/obj/structure/closet/bullet_act(var/obj/item/projectile/Proj)
|
/obj/structure/closet/bullet_act(var/obj/item/projectile/Proj)
|
||||||
@@ -203,7 +203,7 @@
|
|||||||
/obj/structure/closet/blob_act()
|
/obj/structure/closet/blob_act()
|
||||||
if(prob(75))
|
if(prob(75))
|
||||||
for(var/atom/movable/A as mob|obj in src)
|
for(var/atom/movable/A as mob|obj in src)
|
||||||
A.loc = src.loc
|
A.forceMove(src.loc)
|
||||||
qdel(src)
|
qdel(src)
|
||||||
|
|
||||||
/obj/structure/closet/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
/obj/structure/closet/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||||
@@ -233,7 +233,7 @@
|
|||||||
return
|
return
|
||||||
usr.drop_item()
|
usr.drop_item()
|
||||||
if(W)
|
if(W)
|
||||||
W.loc = src.loc
|
W.forceMove(src.loc)
|
||||||
else if(istype(W, /obj/item/weapon/packageWrap))
|
else if(istype(W, /obj/item/weapon/packageWrap))
|
||||||
return
|
return
|
||||||
else if(istype(W, /obj/item/weapon/weldingtool))
|
else if(istype(W, /obj/item/weapon/weldingtool))
|
||||||
|
|||||||
@@ -146,7 +146,7 @@
|
|||||||
|
|
||||||
attack_tk(mob/user as mob)
|
attack_tk(mob/user as mob)
|
||||||
if(localopened && fireaxe)
|
if(localopened && fireaxe)
|
||||||
fireaxe.loc = loc
|
fireaxe.forceMove(loc)
|
||||||
user << "<span class='notice'>You telekinetically remove the fire axe.</span>"
|
user << "<span class='notice'>You telekinetically remove the fire axe.</span>"
|
||||||
fireaxe = null
|
fireaxe = null
|
||||||
update_icon()
|
update_icon()
|
||||||
|
|||||||
@@ -65,7 +65,7 @@
|
|||||||
if (istype(W, /obj/item/weapon/grab))
|
if (istype(W, /obj/item/weapon/grab))
|
||||||
src.MouseDrop_T(W:affecting, user) //act like they were dragged onto the closet
|
src.MouseDrop_T(W:affecting, user) //act like they were dragged onto the closet
|
||||||
user.drop_item()
|
user.drop_item()
|
||||||
if (W) W.loc = src.loc
|
if (W) W.forceMove(src.loc)
|
||||||
else if(istype(W, /obj/item/weapon/card/id))
|
else if(istype(W, /obj/item/weapon/card/id))
|
||||||
if(src.broken)
|
if(src.broken)
|
||||||
user << "<span class='warning'>It appears to be broken.</span>"
|
user << "<span class='warning'>It appears to be broken.</span>"
|
||||||
|
|||||||
@@ -77,7 +77,7 @@
|
|||||||
return
|
return
|
||||||
user.drop_item()
|
user.drop_item()
|
||||||
if(W)
|
if(W)
|
||||||
W.loc = src.loc
|
W.forceMove(src.loc)
|
||||||
else if(istype(W, /obj/item/weapon/melee/energy/blade))
|
else if(istype(W, /obj/item/weapon/melee/energy/blade))
|
||||||
if(emag_act(INFINITY, user, "<span class='danger'>The locker has been sliced open by [user] with \an [W]</span>!", "<span class='danger'>You hear metal being sliced and sparks flying.</span>"))
|
if(emag_act(INFINITY, user, "<span class='danger'>The locker has been sliced open by [user] with \an [W]</span>!", "<span class='danger'>You hear metal being sliced and sparks flying.</span>"))
|
||||||
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
|
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
|
|
||||||
playsound(src.loc, 'sound/machines/click.ogg', 15, 1, -3)
|
playsound(src.loc, 'sound/machines/click.ogg', 15, 1, -3)
|
||||||
for(var/obj/O in src)
|
for(var/obj/O in src)
|
||||||
O.loc = get_turf(src)
|
O.forceMove(get_turf(src))
|
||||||
icon_state = icon_opened
|
icon_state = icon_opened
|
||||||
src.opened = 1
|
src.opened = 1
|
||||||
|
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
var/obj/structure/bed/B = O
|
var/obj/structure/bed/B = O
|
||||||
if(B.buckled_mob)
|
if(B.buckled_mob)
|
||||||
continue
|
continue
|
||||||
O.loc = src
|
O.forceMove(src)
|
||||||
itemcount++
|
itemcount++
|
||||||
|
|
||||||
icon_state = icon_closed
|
icon_state = icon_closed
|
||||||
@@ -75,7 +75,7 @@
|
|||||||
return
|
return
|
||||||
user.drop_item()
|
user.drop_item()
|
||||||
if(W)
|
if(W)
|
||||||
W.loc = src.loc
|
W.forceMove(src.loc)
|
||||||
else if(istype(W, /obj/item/weapon/packageWrap))
|
else if(istype(W, /obj/item/weapon/packageWrap))
|
||||||
return
|
return
|
||||||
else if(istype(W, /obj/item/stack/cable_coil))
|
else if(istype(W, /obj/item/stack/cable_coil))
|
||||||
@@ -91,7 +91,7 @@
|
|||||||
if(rigged)
|
if(rigged)
|
||||||
user << "<span class='notice'>You attach [W] to [src].</span>"
|
user << "<span class='notice'>You attach [W] to [src].</span>"
|
||||||
user.drop_item()
|
user.drop_item()
|
||||||
W.loc = src
|
W.forceMove(src)
|
||||||
return
|
return
|
||||||
else if(istype(W, /obj/item/weapon/wirecutters))
|
else if(istype(W, /obj/item/weapon/wirecutters))
|
||||||
if(rigged)
|
if(rigged)
|
||||||
@@ -160,7 +160,7 @@
|
|||||||
|
|
||||||
/obj/structure/closet/crate/secure/proc/set_locked(var/newlocked, mob/user = null)
|
/obj/structure/closet/crate/secure/proc/set_locked(var/newlocked, mob/user = null)
|
||||||
if(locked == newlocked) return
|
if(locked == newlocked) return
|
||||||
|
|
||||||
locked = newlocked
|
locked = newlocked
|
||||||
if(user)
|
if(user)
|
||||||
for(var/mob/O in viewers(user, 3))
|
for(var/mob/O in viewers(user, 3))
|
||||||
@@ -437,12 +437,12 @@
|
|||||||
continue
|
continue
|
||||||
if(!S.anchored)
|
if(!S.anchored)
|
||||||
found = 1
|
found = 1
|
||||||
S.loc = src
|
S.forceMove(src)
|
||||||
break
|
break
|
||||||
if(!found)
|
if(!found)
|
||||||
for(var/obj/machinery/M in src.loc)
|
for(var/obj/machinery/M in src.loc)
|
||||||
if(!M.anchored)
|
if(!M.anchored)
|
||||||
M.loc = src
|
M.forceMove(src)
|
||||||
break
|
break
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -465,12 +465,12 @@
|
|||||||
continue
|
continue
|
||||||
if(!S.anchored)
|
if(!S.anchored)
|
||||||
found = 1
|
found = 1
|
||||||
S.loc = src
|
S.forceMove(src)
|
||||||
break
|
break
|
||||||
if(!found)
|
if(!found)
|
||||||
for(var/obj/machinery/M in src.loc)
|
for(var/obj/machinery/M in src.loc)
|
||||||
if(!M.anchored)
|
if(!M.anchored)
|
||||||
M.loc = src
|
M.forceMove(src)
|
||||||
break
|
break
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -141,6 +141,8 @@ Works together with spawning an observer, noted above.
|
|||||||
var/client/C = U.client
|
var/client/C = U.client
|
||||||
for(var/mob/living/carbon/human/target in target_list)
|
for(var/mob/living/carbon/human/target in target_list)
|
||||||
C.images += target.hud_list[SPECIALROLE_HUD]
|
C.images += target.hud_list[SPECIALROLE_HUD]
|
||||||
|
for(var/mob/living/silicon/target in target_list)
|
||||||
|
C.images += target.hud_list[SPECIALROLE_HUD]
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
/mob/proc/ghostize(var/can_reenter_corpse = 1)
|
/mob/proc/ghostize(var/can_reenter_corpse = 1)
|
||||||
|
|||||||
Reference in New Issue
Block a user