mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-29 07:59:01 +01:00
Ports a psionic system from Bay. (#7717)
* Ports a psionic system from Bay. * Rip out this shitcode. * shitcoden't * fixes * it should work fully now * Admin fixes * Remove todos * remove todos part 2 * Removes psi-armour. We don't need this for now. * Skrell are now operants. Tweaks coercion. * Adds thralls. * Temp removal of psiarmour. Fixes psigrabs. * Thrall assay. * fixes * More fixes * unused define cleanup * Log and powers * Skrell powers are done. * Update code/modules/psionics/events/mini_spasm.dm Co-Authored-By: Geeves <ggrobler447@gmail.com> * Update code/modules/psionics/events/mini_spasm.dm Co-Authored-By: Geeves <ggrobler447@gmail.com> * Update code/modules/psionics/equipment/cerebro_enhancers.dm * did this work??? * jargon * arrow's fixes Co-authored-by: Geeves <ggrobler447@gmail.com>
This commit is contained in:
committed by
Werner
co-authored by
Geeves
parent
6fe1c9c3b4
commit
c087a0a0bf
@@ -0,0 +1,14 @@
|
||||
/obj/screen/psi
|
||||
icon = 'icons/mob/screen/psi.dmi'
|
||||
var/mob/living/owner
|
||||
var/hidden = TRUE
|
||||
|
||||
/obj/screen/psi/New(var/mob/living/_owner)
|
||||
loc = null
|
||||
owner = _owner
|
||||
update_icon()
|
||||
|
||||
/obj/screen/psi/Destroy()
|
||||
if(owner && owner.client)
|
||||
owner.client.screen -= src
|
||||
. = ..()
|
||||
@@ -0,0 +1,54 @@
|
||||
/obj/screen/psi/hub
|
||||
name = "Psi"
|
||||
icon_state = "psi_suppressed"
|
||||
screen_loc = "EAST-1:28,CENTER-3:11"
|
||||
hidden = FALSE
|
||||
maptext_x = 6
|
||||
maptext_y = -8
|
||||
var/image/on_cooldown
|
||||
|
||||
/obj/screen/psi/hub/New(var/mob/living/_owner)
|
||||
on_cooldown = image(icon, "cooldown")
|
||||
..()
|
||||
START_PROCESSING(SSprocessing, src)
|
||||
|
||||
/obj/screen/psi/hub/update_icon()
|
||||
|
||||
if(!owner.psi)
|
||||
return
|
||||
|
||||
icon_state = owner.psi.suppressed ? "psi_suppressed" : "psi_active"
|
||||
|
||||
/obj/screen/psi/hub/Destroy()
|
||||
STOP_PROCESSING(SSprocessing, src)
|
||||
owner = null
|
||||
. = ..()
|
||||
|
||||
/obj/screen/psi/hub/process()
|
||||
if(!istype(owner))
|
||||
qdel(src)
|
||||
return
|
||||
if(!owner.psi)
|
||||
return
|
||||
maptext = "[round((owner.psi.stamina/owner.psi.max_stamina)*100)]%"
|
||||
update_icon()
|
||||
|
||||
/obj/screen/psi/hub/Click(var/location, var/control, var/params)
|
||||
var/list/click_params = params2list(params)
|
||||
if(click_params["shift"])
|
||||
owner.show_psi_assay(owner)
|
||||
return
|
||||
|
||||
if(owner.psi.suppressed && owner.psi.stun)
|
||||
to_chat(owner, "<span class='warning'>You are dazed and reeling, and cannot muster enough focus to do that!</span>")
|
||||
return
|
||||
|
||||
owner.psi.suppressed = !owner.psi.suppressed
|
||||
to_chat(owner, "<span class='notice'>You are <b>[owner.psi.suppressed ? "now suppressing" : "no longer suppressing"]</b> your psi-power.</span>")
|
||||
if(owner.psi.suppressed)
|
||||
owner.psi.cancel()
|
||||
owner.psi.hide_auras()
|
||||
else
|
||||
sound_to(owner, sound('sound/effects/psi/power_unlock.ogg'))
|
||||
owner.psi.show_auras()
|
||||
update_icon()
|
||||
Reference in New Issue
Block a user