mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2025-12-19 14:51:27 +00:00
* Idk what I'm doing * The is_hot refactor * Fixes that I forgot to push before making the PR * Update code/game/objects/items.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Contra review * TODO: Find out why this isn't working * Removes the signal stuff for now, this works * Fixes it all * Add new signal * Update code/_onclick/item_attack.dm Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> * Contra reivew * Ayyy it works * Merge master * Forgot this one * Update code/game/machinery/doors/airlock_types.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/game/objects/structures/mineral_doors.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/game/turfs/simulated/floor/mineral_floors.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/game/turfs/simulated/walls_mineral.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> --------- Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>
65 lines
1.6 KiB
Plaintext
65 lines
1.6 KiB
Plaintext
/obj/item/assembly/igniter
|
|
name = "igniter"
|
|
desc = "A small electronic device able to ignite combustible substances."
|
|
icon_state = "igniter"
|
|
materials = list(MAT_METAL=500, MAT_GLASS=50)
|
|
origin_tech = "magnets=1"
|
|
var/datum/effect_system/spark_spread/sparks
|
|
|
|
/obj/item/assembly/igniter/Initialize(mapload)
|
|
. = ..()
|
|
sparks = new /datum/effect_system/spark_spread
|
|
sparks.set_up(2, 0, src)
|
|
sparks.attach(src)
|
|
|
|
/obj/item/assembly/igniter/Destroy()
|
|
QDEL_NULL(sparks)
|
|
return ..()
|
|
|
|
/obj/item/assembly/igniter/examine(mob/user)
|
|
. = ..()
|
|
. += "The igniter is [secured ? "secured." : "unsecured."]"
|
|
|
|
|
|
/obj/item/assembly/igniter/activate()
|
|
if(!..())
|
|
return FALSE //Cooldown check
|
|
|
|
var/turf/location = get_turf(loc)
|
|
if(location)
|
|
location.hotspot_expose(1000, 1000)
|
|
|
|
sparks.start()
|
|
|
|
if(istype(loc, /obj/item/assembly_holder))
|
|
var/locloc = loc.loc
|
|
if(istype(locloc, /obj/structure/reagent_dispensers/fueltank))
|
|
var/obj/structure/reagent_dispensers/fueltank/tank = locloc
|
|
if(tank)
|
|
tank.boom(TRUE) // this qdel's `src`
|
|
|
|
if(istype(locloc, /obj/item/onetankbomb))
|
|
var/obj/item/onetankbomb/bomb = locloc
|
|
if(bomb?.bombtank)
|
|
bomb.bombtank.detonate()
|
|
|
|
else if(istype(locloc, /obj/item/reagent_containers/glass/beaker))
|
|
var/obj/item/reagent_containers/glass/beaker/beakerbomb = locloc
|
|
if(beakerbomb)
|
|
beakerbomb.heat_beaker()
|
|
|
|
else if(istype(locloc, /obj/item/grenade/chem_grenade))
|
|
var/obj/item/grenade/chem_grenade/CG = locloc
|
|
CG.prime()
|
|
|
|
return TRUE
|
|
|
|
|
|
/obj/item/assembly/igniter/attack_self(mob/user)
|
|
if(!istype(loc, /obj/item/assembly_holder))
|
|
activate()
|
|
add_fingerprint(user)
|
|
|
|
/obj/item/assembly/igniter/get_heat()
|
|
return 2000
|