mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-27 23:27:34 +01:00
@@ -266,6 +266,12 @@ proc/isInSight(var/atom/A, var/atom/B)
|
||||
else
|
||||
return get_step(start, EAST)
|
||||
|
||||
/proc/try_move_adjacent(atom/movable/AM)
|
||||
var/turf/T = get_turf(AM)
|
||||
for(var/direction in cardinal)
|
||||
if(AM.Move(get_step(T, direction)))
|
||||
break
|
||||
|
||||
/proc/get_mob_by_key(var/key)
|
||||
for(var/mob/M in mob_list)
|
||||
if(M.ckey == lowertext(key))
|
||||
|
||||
@@ -67,15 +67,25 @@
|
||||
|
||||
attack_hand(mob/user)
|
||||
if(charging)
|
||||
usr.put_in_hands(charging)
|
||||
user.put_in_hands(charging)
|
||||
charging.add_fingerprint(user)
|
||||
charging.updateicon()
|
||||
|
||||
src.charging = null
|
||||
charging = null
|
||||
user.visible_message("[user] removes the cell from the charger.", "You remove the cell from the charger.")
|
||||
chargelevel = -1
|
||||
updateicon()
|
||||
|
||||
attack_tk(mob/user)
|
||||
if(charging)
|
||||
charging.loc = loc
|
||||
charging.updateicon()
|
||||
user << "<span class='notice'>You telekinetically remove [charging] from [src].</span>"
|
||||
|
||||
charging = null
|
||||
chargelevel = -1
|
||||
updateicon()
|
||||
|
||||
attack_ai(mob/user)
|
||||
return
|
||||
|
||||
|
||||
@@ -54,10 +54,16 @@
|
||||
use_power = 1
|
||||
update_icon()
|
||||
|
||||
|
||||
/obj/machinery/recharger/attack_paw(mob/user)
|
||||
return attack_hand(user)
|
||||
|
||||
/obj/machinery/recharger/attack_tk(mob/user)
|
||||
if(charging)
|
||||
charging.update_icon()
|
||||
charging.loc = loc
|
||||
charging = null
|
||||
use_power = 1
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/recharger/process()
|
||||
if(stat & (NOPOWER|BROKEN) || !anchored)
|
||||
|
||||
+19
-11
@@ -879,9 +879,10 @@
|
||||
set category = "Exosuit Interface"
|
||||
set src = usr.loc
|
||||
set popup_menu = 0
|
||||
if(!src.occupant) return
|
||||
if(usr!=src.occupant)
|
||||
return
|
||||
|
||||
if(usr.stat) return
|
||||
if(usr != src.occupant) return
|
||||
|
||||
var/obj/machinery/atmospherics/portables_connector/possible_port = locate(/obj/machinery/atmospherics/portables_connector/) in loc
|
||||
if(possible_port)
|
||||
if(connect(possible_port))
|
||||
@@ -901,9 +902,10 @@
|
||||
set category = "Exosuit Interface"
|
||||
set src = usr.loc
|
||||
set popup_menu = 0
|
||||
if(!src.occupant) return
|
||||
if(usr!=src.occupant)
|
||||
return
|
||||
|
||||
if(usr.stat) return
|
||||
if(usr != src.occupant) return
|
||||
|
||||
if(disconnect())
|
||||
src.occupant_message("\blue [name] disconnects from the port.")
|
||||
src.verbs -= /obj/mecha/verb/disconnect_from_port
|
||||
@@ -916,7 +918,10 @@
|
||||
set category = "Exosuit Interface"
|
||||
set src = usr.loc
|
||||
set popup_menu = 0
|
||||
if(usr!=occupant) return
|
||||
|
||||
if(usr.stat) return
|
||||
if(usr != occupant) return
|
||||
|
||||
lights = !lights
|
||||
if(lights) SetLuminosity(luminosity + lights_power)
|
||||
else SetLuminosity(luminosity - lights_power)
|
||||
@@ -930,8 +935,10 @@
|
||||
set category = "Exosuit Interface"
|
||||
set src = usr.loc
|
||||
set popup_menu = 0
|
||||
if(usr!=src.occupant)
|
||||
return
|
||||
|
||||
if(usr.stat) return
|
||||
if(usr != src.occupant) return
|
||||
|
||||
use_internal_tank = !use_internal_tank
|
||||
src.occupant_message("Now taking air from [use_internal_tank?"internal airtank":"environment"].")
|
||||
src.log_message("Now taking air from [use_internal_tank?"internal airtank":"environment"].")
|
||||
@@ -1090,8 +1097,9 @@
|
||||
set category = "Exosuit Interface"
|
||||
set src = usr.loc
|
||||
set popup_menu = 0
|
||||
if(usr!=src.occupant)
|
||||
return
|
||||
|
||||
if(usr != src.occupant) return
|
||||
|
||||
src.go_out()
|
||||
add_fingerprint(usr)
|
||||
return
|
||||
|
||||
@@ -165,7 +165,8 @@ Frequency:
|
||||
var/T = L[t1]
|
||||
for(var/mob/O in hearers(user, null))
|
||||
O.show_message("<span class='notice'>Locked In.</span>", 2)
|
||||
new /obj/effect/portal( get_turf(src), T, src )
|
||||
var/obj/effect/portal/P = new /obj/effect/portal(get_turf(src), T, src)
|
||||
try_move_adjacent(P)
|
||||
active_portals++
|
||||
src.add_fingerprint(user)
|
||||
return
|
||||
|
||||
@@ -46,6 +46,11 @@
|
||||
dizziness = 0
|
||||
jitteriness = 0
|
||||
|
||||
if(istype(loc, /obj/mecha))
|
||||
var/obj/mecha/M = loc
|
||||
if(M.occupant == src)
|
||||
M.go_out()
|
||||
|
||||
if(!gibbed)
|
||||
emote("deathgasp") //let the world KNOW WE ARE DEAD
|
||||
|
||||
|
||||
Reference in New Issue
Block a user