mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-22 20:43:10 +01:00
Adds borer as its own gamemode. Switches some psionics around. (#7976)
This commit is contained in:
@@ -169,7 +169,7 @@
|
||||
var/new_latencies = rand(2,4)
|
||||
var/list/faculties = list(PSI_COERCION, PSI_REDACTION, PSI_ENERGISTICS, PSI_PSYCHOKINESIS)
|
||||
for(var/i = 1 to new_latencies)
|
||||
to_chat(src, span("danger", "<font size = 3>[pick(psi_operancy_messages)]</font>"))
|
||||
custom_pain(span("danger", "<font size = 3>[pick(psi_operancy_messages)]</font>"), 25)
|
||||
set_psi_rank(pick_n_take(faculties), 1)
|
||||
sleep(30)
|
||||
psi.update()
|
||||
|
||||
@@ -403,7 +403,7 @@
|
||||
|
||||
/mob/living/simple_animal/borer/verb/awaken_psionics()
|
||||
set category = "Abilities"
|
||||
set name = "Awaken Host Psionics (100)"
|
||||
set name = "Awaken Host Psionics (150)"
|
||||
set desc = "Probe into your host an unlock their psionic potential."
|
||||
|
||||
if(!host)
|
||||
@@ -415,13 +415,13 @@
|
||||
if(stat)
|
||||
to_chat(src, span("notice", "You cannot do that in your current state."))
|
||||
return
|
||||
if(chemicals < 100)
|
||||
if(chemicals < 150)
|
||||
to_chat(src, span("warning", "You don't have enough chemicals!"))
|
||||
return
|
||||
|
||||
chemicals -= 100
|
||||
chemicals -= 150
|
||||
to_chat(src, span("notice", "You probe your tendrils deep within your host's zona bovinae, seeking to unleash their potential."))
|
||||
to_chat(host, span("warning", "You feel a burning tingling sensation at the back of your head."))
|
||||
to_chat(host, span("danger", "You feel some tendrils probe at the back of your head..."))
|
||||
addtimer(CALLBACK(src, .proc/jumpstart_psi), 100)
|
||||
|
||||
/mob/living/simple_animal/borer/proc/jumpstart_psi()
|
||||
|
||||
@@ -45,4 +45,4 @@
|
||||
if(istype(M, /mob/abstract/new_player))
|
||||
continue
|
||||
else if(M.stat == DEAD && M.client.prefs.toggles & CHAT_GHOSTEARS)
|
||||
to_chat(M, "[src.truename] whispers to [host], \"[message]\"")
|
||||
to_chat(M, "<b>[src.truename]</b> whispers to <b>[host]</b>, \"[message]\"")
|
||||
|
||||
@@ -160,6 +160,15 @@
|
||||
if(isliving(target))
|
||||
tesla_zap(target, 3, 5000)
|
||||
|
||||
/obj/item/projectile/energy/tesla/master
|
||||
damage = 15
|
||||
|
||||
/obj/item/projectile/energy/tesla/grandmaster
|
||||
damage = 20
|
||||
|
||||
/obj/item/projectile/energy/tesla/paramount
|
||||
damage = 25
|
||||
|
||||
/obj/item/projectile/energy/gravitydisabler
|
||||
name = "gravity disabler"
|
||||
icon = 'icons/obj/projectiles.dmi'
|
||||
|
||||
@@ -7,24 +7,28 @@
|
||||
/datum/psionic_power/energistics
|
||||
faculty = PSI_ENERGISTICS
|
||||
|
||||
/datum/psionic_power/energistics/disrupt
|
||||
name = "Disrupt"
|
||||
cost = 10
|
||||
/datum/psionic_power/energistics/electropulse
|
||||
name = "Electropulse"
|
||||
cost = 40
|
||||
cooldown = 100
|
||||
use_melee = TRUE
|
||||
min_rank = PSI_RANK_MASTER
|
||||
use_description = "Target the head, eyes or mouth while on harm intent to use a melee attack that causes a localized electromagnetic pulse."
|
||||
use_description = "Target the right hand while on harm intent and click an object to use a melee attack that causes a localized EMP. This activates the EMP function on things, but it takes a while and applies a long cooldown, in addition to being expensive."
|
||||
|
||||
/datum/psionic_power/energistics/disrupt/invoke(var/mob/living/user, var/mob/living/target)
|
||||
if(user.zone_sel.selecting != BP_HEAD && user.zone_sel.selecting != BP_EYES && user.zone_sel.selecting != "mouth")
|
||||
/datum/psionic_power/energistics/electropulse/invoke(var/mob/living/user, var/mob/living/target)
|
||||
if(user.zone_sel.selecting != BP_R_HAND)
|
||||
return FALSE
|
||||
if(istype(target, /turf))
|
||||
if(istype(target, /turf) || ismob(target))
|
||||
return FALSE
|
||||
. = ..()
|
||||
if(.)
|
||||
user.visible_message("<span class='danger'>\The [user] releases a gout of crackling static and arcing lightning over \the [target]!</span>")
|
||||
empulse(target, 0, 1)
|
||||
return TRUE
|
||||
user.visible_message("<span class='warning'>[user] holds their hands over \the [target]...</span>")
|
||||
if(do_after(user, 100, TRUE, target))
|
||||
user.visible_message("<span class='danger'>\The [user] releases a gout of arcing lightning over \the [target]!</span>")
|
||||
playsound(target, 'sound/magic/LightningShock.ogg', 75)
|
||||
var/severity = 1 + user.psi.get_rank(PSI_ENERGISTICS)
|
||||
target.emp_act(severity)
|
||||
return TRUE
|
||||
|
||||
/datum/psionic_power/energistics/electrocute
|
||||
name = "Electrocute"
|
||||
@@ -51,36 +55,34 @@
|
||||
charging_cell.give(rand(15,45))
|
||||
return TRUE
|
||||
|
||||
/datum/psionic_power/energistics/zorch
|
||||
name = "Zorch"
|
||||
/datum/psionic_power/energistics/lightning
|
||||
name = "Lightning"
|
||||
cost = 20
|
||||
cooldown = 20
|
||||
use_ranged = TRUE
|
||||
min_rank = PSI_RANK_MASTER
|
||||
use_description = "Use this ranged laser attack while on harm intent. Your mastery of Energistics will determine how powerful the laser is. Be wary of overuse, and try not to fry your own brain."
|
||||
use_description = "Use this ranged lightning attack while on harm intent. Your mastery of Energistics will determine how powerful the lightning is. Be wary of overuse, and try not to fry your own brain."
|
||||
|
||||
/datum/psionic_power/energistics/zorch/invoke(var/mob/living/user, var/mob/living/target)
|
||||
/datum/psionic_power/energistics/lightning/invoke(var/mob/living/user, var/mob/living/target)
|
||||
. = ..()
|
||||
if(.)
|
||||
user.visible_message("<span class='danger'>\The [user]'s eyes flare with light!</span>")
|
||||
user.visible_message("<span class='danger'>\The [user] suddenly holds their hand out!</span>")
|
||||
|
||||
var/user_rank = user.psi.get_rank(faculty)
|
||||
var/obj/item/projectile/pew
|
||||
var/pew_sound
|
||||
var/pew_sound = 'sound/magic/LightningShock.ogg'
|
||||
|
||||
switch(user_rank)
|
||||
if(PSI_RANK_PARAMOUNT)
|
||||
pew = new /obj/item/projectile/beam/heavylaser(get_turf(user))
|
||||
pew.name = "gigawatt mental laser"
|
||||
pew_sound = 'sound/weapons/lasercannonfire.ogg'
|
||||
pew = new /obj/item/projectile/energy/tesla/paramount(get_turf(user))
|
||||
pew.name = "thunderstrike"
|
||||
pew_sound = 'sound/effects/psi/thunderstrike.ogg'
|
||||
if(PSI_RANK_GRANDMASTER)
|
||||
pew = new /obj/item/projectile/beam/midlaser(get_turf(user))
|
||||
pew.name = "megawatt mental laser"
|
||||
pew_sound = 'sound/weapons/Laser.ogg'
|
||||
pew = new /obj/item/projectile/energy/tesla/grandmaster(get_turf(user))
|
||||
pew.name = "lightning shock"
|
||||
if(PSI_RANK_MASTER)
|
||||
pew = new /obj/item/projectile/beam/stun(get_turf(user))
|
||||
pew.name = "mental laser"
|
||||
pew_sound = 'sound/weapons/Taser.ogg'
|
||||
pew = new /obj/item/projectile/energy/tesla/master(get_turf(user))
|
||||
pew.name = "lightning beam"
|
||||
|
||||
if(istype(pew))
|
||||
playsound(pew.loc, pew_sound, 25, 1)
|
||||
|
||||
Reference in New Issue
Block a user