mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
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.
66 lines
2.0 KiB
Plaintext
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
|