mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
Adds two new spells; Track: which functions similarly to a pinpointer for technomancer objects and apprentices. With a scepter, it will be able to track anyone as well. Targeting Matrix: which assists in targeting with whatever is in your off-hand, for a price in instability and energy per shot. Adds Gloves of Regeneration, which passively trades healing for hunger, as well as stabbing your hands with needles. They also insulate your hands. Adds Boots of Speed, which act as no-slips and make the wearer run slightly faster than normal. Adds the new gun sounds to Audible Deception.
93 lines
3.7 KiB
Plaintext
93 lines
3.7 KiB
Plaintext
/datum/technomancer/spell/audible_deception
|
|
name = "Audible Deception"
|
|
desc = "Allows you to create a specific sound at a location of your choosing."
|
|
enhancement_desc = "An extremely loud sound that a large amount of energy and instability becomes available, which will \
|
|
deafen and stun all who are near the targeted tile, including yourself if unprotected."
|
|
cost = 150
|
|
obj_path = /obj/item/weapon/spell/audible_deception
|
|
ability_icon_state = "tech_audibledeception"
|
|
|
|
/obj/item/weapon/spell/audible_deception
|
|
name = "audible deception"
|
|
icon_state = "audible_deception"
|
|
desc = "Make them all paranoid!"
|
|
cast_methods = CAST_RANGED | CAST_USE
|
|
aspect = ASPECT_AIR
|
|
cooldown = 10
|
|
var/list/available_sounds = list(
|
|
"Blade Slice" = 'sound/weapons/bladeslice.ogg',
|
|
"Energy Blade Slice" = 'sound/weapons/blade1.ogg',
|
|
"Explosions" = "explosion",
|
|
"Distant Explosion" = 'sound/effects/explosionfar.ogg',
|
|
"Sparks" = "sparks",
|
|
"Punches" = "punch",
|
|
"Glass Shattering" = "shatter",
|
|
"Grille Damage" = 'sound/effects/grillehit.ogg',
|
|
"Energy Pulse" = 'sound/effects/EMPulse.ogg',
|
|
"Airlock" = 'sound/machines/airlock.ogg',
|
|
"Airlock Creak" = 'sound/machines/airlock_creaking.ogg',
|
|
|
|
"Shotgun Pumping" = 'sound/weapons/shotgunpump.ogg',
|
|
"Flash" = 'sound/weapons/flash.ogg',
|
|
"Bite" = 'sound/weapons/bite.ogg',
|
|
"Gun Firing" = 'sound/weapons/gunshot.ogg',
|
|
"Desert Eagle Firing" = 'sound/weapons/deagle.ogg',
|
|
"Rifle Firing" = 'sound/weapons/rifleshot.ogg',
|
|
"Rifle Firing 2" = 'sound/weapons/svd_shot.ogg',
|
|
"Sniper Firing" = 'sound/weapons/sniper.ogg',
|
|
"Shotgun Firing" = 'sound/weapons/shotgun.ogg',
|
|
"Semi-automatic Firing" = 'sound/weapons/semiauto.ogg',
|
|
"Machinegun Firing" = 'sound/weapons/machinegun.ogg',
|
|
"Rocket Launcher Firing"= 'sound/weapons/rpg.ogg',
|
|
"Taser Firing" = 'sound/weapons/Taser.ogg',
|
|
"Laser Gun Firing" = 'sound/weapons/laser.ogg',
|
|
"E-Luger Firing" = 'sound/weapons/eLuger.ogg',
|
|
"Xray Gun Firing" = 'sound/weapons/laser3.ogg',
|
|
"Pulse Gun Firing" = 'sound/weapons/pulse.ogg',
|
|
"Gauss Gun Firing" = 'sound/weapons/gauss_shoot.ogg',
|
|
"Emitter Firing" = 'sound/weapons/emitter.ogg',
|
|
"Energy Blade On" = 'sound/weapons/saberon.ogg',
|
|
"Energy Blade Off" = 'sound/weapons/saberoff.ogg',
|
|
"Wire Restraints" = 'sound/weapons/cablecuff.ogg',
|
|
"Handcuffs" = 'sound/weapons/handcuffs.ogg',
|
|
|
|
"Crowbar" = 'sound/items/Crowbar.ogg',
|
|
"Screwdriver" = 'sound/items/Screwdriver.ogg',
|
|
"Welding" = 'sound/items/Welder.ogg',
|
|
"Wirecutting" = 'sound/items/Wirecutter.ogg',
|
|
|
|
"Nymph Chirping" = 'sound/misc/nymphchirp.ogg',
|
|
"Sad Trombone" = 'sound/misc/sadtrombone.ogg',
|
|
"Honk" = 'sound/items/bikehorn.ogg',
|
|
)
|
|
var/selected_sound = null
|
|
|
|
/obj/item/weapon/spell/audible_deception/on_use_cast(mob/user)
|
|
var/list/sound_options = available_sounds
|
|
if(check_for_scepter())
|
|
sound_options["!!AIR HORN!!"] = 'sound/items/AirHorn.ogg'
|
|
var/new_sound = input("Select the sound you want to make.","Sounds") as null|anything in sound_options
|
|
if(new_sound)
|
|
selected_sound = sound_options[new_sound]
|
|
|
|
/obj/item/weapon/spell/audible_deception/on_ranged_cast(atom/hit_atom, mob/living/user)
|
|
var/turf/T = get_turf(hit_atom)
|
|
if(selected_sound && pay_energy(200))
|
|
playsound(T, selected_sound, 80, 1, -1)
|
|
owner.adjust_instability(1)
|
|
// Air Horn time.
|
|
if(selected_sound == 'sound/items/AirHorn.ogg' && pay_energy(3800))
|
|
owner.adjust_instability(49) // Pay for your sins.
|
|
for(var/mob/living/carbon/M in ohearers(6, T))
|
|
if(M.get_ear_protection() >= 2)
|
|
continue
|
|
M.sleeping = 0
|
|
M.stuttering += 20
|
|
M.ear_deaf += 30
|
|
M.Weaken(3)
|
|
if(prob(30))
|
|
M.Stun(10)
|
|
M.Paralyse(4)
|
|
else
|
|
M.make_jittery(50)
|
|
M << "<font color='red' size='7'><b>HONK</b></font>" |