Unathi (and Ash Walkers) can ignite stuff now, removes tail lash. (#21981)

* stuff

* works!

* bye bye tailwhip

* renames the ability

* accidental enter

* snowball's reviews

* tweak

* less tight timing
you can now ignite on 3u instead of 4

* no longer works with covered mouth

* ash walkers

* most of jimkils reviews + unathi also have c/d now

* early returns, uses less fuel, comments

* hal's reviews

* redundant comment

* hal's suggestion

* sounds & tweaks

* an unnecessary check
apparently

* so that check WAS needed

* henri reviews, tweaked loc of sounds, timer tweaks

* henri review

* Update code/modules/mob/living/carbon/human/species/unathi.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

---------

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
This commit is contained in:
Sadhorizon
2023-09-13 21:25:09 +01:00
committed by GitHub
co-authored by Henri215
parent efe6dc810e
commit 0e371e1b93
5 changed files with 90 additions and 35 deletions
+7
View File
@@ -99,6 +99,13 @@ LIGHTERS ARE IN LIGHTERS.DM
if(L.lit)
light("<span class='notice'>After some fiddling, [user] manages to light [user.p_their()] [name] with [L].</span>")
else if(istype(I, /obj/item/match/unathi))
var/obj/item/match/unathi/U = I
if(U.lit)
playsound(user.loc, 'sound/effects/unathiignite.ogg', 40, FALSE)
light("<span class='rose'>[user] spits fire at [user.p_their()] [name], igniting it.</span>")
U.matchburnout()
else if(istype(I, /obj/item/match))
var/obj/item/match/M = I
if(M.lit)
+38 -1
View File
@@ -275,7 +275,19 @@
if(M == user)
cig.attackby(src, user)
else
cig.light("<span class='notice'>[user] holds [src] out for [M], and lights [cig].</span>")
if(istype(src, /obj/item/match/unathi))
if(prob(50))
cig.light("<span class='rose'>[user] spits fire at [M], lighting [cig] and nearly burning [user.p_their()] face!</span>")
matchburnout()
else
cig.light("<span class='rose'>[user] spits fire at [M], burning [user.p_their()] face and lighting [cig] in the process.</span>")
var/obj/item/organ/external/head/affecting = M.get_organ("head")
affecting.receive_damage(0, 5)
M.UpdateDamageIcon()
playsound(user.loc, 'sound/effects/unathiignite.ogg', 40, FALSE)
else
cig.light("<span class='notice'>[user] holds [src] out for [M], and lights [cig].</span>")
playsound(src, 'sound/items/lighter/light.ogg', 25, TRUE)
else
..()
@@ -300,3 +312,28 @@
/obj/item/match/firebrand/New()
..()
matchignite()
/obj/item/match/unathi
name = "small blaze"
desc = "A little flame of your own, currently located dangerously in your mouth."
icon_state = "match_unathi"
attack_verb = null
force = 0
flags = DROPDEL | ABSTRACT
origin_tech = null
lit = TRUE
w_class = WEIGHT_CLASS_BULKY //to prevent it going to pockets
/obj/item/match/unathi/Initialize(mapload)
. = ..()
START_PROCESSING(SSobj, src)
/obj/item/match/unathi/matchburnout()
if(!lit)
return
lit = FALSE //to avoid a qdel loop
qdel(src)
/obj/item/match/unathi/Destroy()
. = ..()
STOP_PROCESSING(SSobj, src)