Files
CHOMPStation2/code/game/gamemodes/technomancer/spells/flame_tongue.dm
Neerti 99eb6f9404 Updates Tools
Adds toolspeed var, which is a multiplier on how 'fast' the tool works.  0.5 means it goes twice as fast.
Adds usesound var, which determines what sound is used when a tool is being used.
Changes a lot of code to use those two vars instead.
Adds 'ayyy' tools, which are ported from /tg/'s abductor gamemode.  They're currently admin only but I might make them obtainable by xenoarch later.
Adds powertools, also from /tg/.  CE starts with them in a new toolbelt that spawns in their locker, ported from (you guessed it) /tg/.
Changes welder sprites to look nicer, ported yet again from /tg/.  Modified the blue welder slightly so it can be the electric welder sprite.
Adds various sounds from /tg/, for tools and welders.
2017-08-03 04:49:23 -04:00

66 lines
2.0 KiB
Plaintext

/datum/technomancer/spell/flame_tongue
name = "Flame Tongue"
desc = "Using a miniturized flamethrower in your gloves, you can emit a flame strong enough to melt both your enemies and walls."
cost = 50
obj_path = /obj/item/weapon/spell/flame_tongue
ability_icon_state = "tech_flametongue"
category = OFFENSIVE_SPELLS
/obj/item/weapon/spell/flame_tongue
name = "flame tongue"
icon_state = "flame_tongue"
desc = "Burn!"
cast_methods = CAST_MELEE
aspect = ASPECT_FIRE
var/obj/item/weapon/weldingtool/spell/welder = null
/obj/item/weapon/spell/flame_tongue/New()
..()
set_light(3, 2, l_color = "#FF6A00")
visible_message("<span class='warning'>\The [loc]'s hand begins to emit a flame.</span>")
welder = new /obj/item/weapon/weldingtool/spell(src)
welder.setWelding(1)
/obj/item/weapon/spell/flame_tongue/Destroy()
qdel(welder)
welder = null
..()
/obj/item/weapon/weldingtool/spell
name = "flame"
eye_safety_modifier = 3
/obj/item/weapon/weldingtool/spell/process()
return
//Needed to make the spell welder have infinite fuel. Don't worry, it uses energy instead.
/obj/item/weapon/weldingtool/spell/remove_fuel()
return 1
/obj/item/weapon/weldingtool/spell/eyecheck(mob/user as mob)
return
/obj/item/weapon/spell/flame_tongue/on_melee_cast(atom/hit_atom, mob/living/user, def_zone)
if(isliving(hit_atom) && user.a_intent != I_HELP)
var/mob/living/L = hit_atom
if(pay_energy(1000))
visible_message("<span class='danger'>\The [user] reaches out towards \the [L] with the flaming hand, and they ignite!</span>")
L << "<span class='danger'>You ignite!</span>"
L.fire_act()
log_and_message_admins("has ignited [L] with [src].")
adjust_instability(12)
else
//This is needed in order for the welder to work, and works similarly to grippers.
welder.loc = user
var/resolved = hit_atom.attackby(welder, user)
if(!resolved && welder && hit_atom)
if(pay_energy(500))
welder.attack(hit_atom, user, def_zone)
adjust_instability(4)
if(welder && user && (welder.loc == user))
welder.loc = src
else
welder = null
qdel(src)
return