Merge pull request #3806 from Tastyfish/super-fart

Makes super fart mutation act as a spell, instead of via emote
This commit is contained in:
Fox McCloud
2016-03-10 03:55:04 -05:00
4 changed files with 39 additions and 23 deletions
+39 -1
View File
@@ -627,7 +627,7 @@
////////////////////////////////////////////////////////////////////////
// WAS: /datum/bioEffect/superfart
/datum/dna/gene/basic/superfart
/datum/dna/gene/basic/grant_spell/superfart
name = "High-Pressure Intestines"
desc = "Vastly increases the gas capacity of the subject's digestive tract."
activation_messages = list("You feel bloated and gassy.")
@@ -635,7 +635,45 @@
instability=1
mutation = SUPER_FART
spelltype = /obj/effect/proc_holder/spell/aoe_turf/superfart
New()
..()
block = SUPERFARTBLOCK
/obj/effect/proc_holder/spell/aoe_turf/superfart
name = "Super Fart"
desc = "Fart with the fury of 1000 burritos."
panel = "Abilities"
charge_max = 900
invocation_type = "emote"
range = 3
clothes_req = 0
selection_type = "view"
action_icon_state = "superfart"
/obj/effect/proc_holder/spell/aoe_turf/superfart/invocation(mob/user = usr)
invocation = "<span class='warning'><b>[user]</b> hunches down and grits their teeth!</span>"
invocation_emote_self = invocation
..(user)
/obj/effect/proc_holder/spell/aoe_turf/superfart/cast(list/targets)
var/UT = get_turf(usr)
if(do_after(usr, 30, target = usr))
playsound(UT, 'sound/goonstation/effects/superfart.ogg', 50, 0)
usr.visible_message("<span class='warning'><b>[usr]</b> unleashes a [pick("tremendous","gigantic","colossal")] fart!</span>", "<span class='warning'>You hear a [pick("tremendous","gigantic","colossal")] fart.</span>")
for(var/T in targets)
for(var/mob/living/M in T)
shake_camera(M, 10, 5)
if (M == usr)
continue
if(!airborne_can_reach(UT, T))
continue
M << "<span class='warning'>You are sent flying!</span>"
M.Weaken(5)
step_away(M, UT, 15)
step_away(M, UT, 15)
step_away(M, UT, 15)
else
usr << "<span class='warning'>You were interrupted and couldn't fart! Rude!</span>"
@@ -782,8 +782,6 @@
var/turf/location = get_turf(src)
var/aoe_range=2 // Default
if(SUPER_FART in mutations)
aoe_range+=3 //Was 5
// Process toxic farts first.
if(TOXIC_FARTS in mutations)
@@ -803,26 +801,6 @@
continue
M.reagents.add_reagent("space_drugs",rand(1,10))
if(SUPER_FART in mutations)
visible_message("\red <b>[name]</b> hunches down and grits their teeth!")
if(do_after(usr,30, target = src))
visible_message("\red <b>[name]</b> unleashes a [pick("tremendous","gigantic","colossal")] fart!","You hear a [pick("tremendous","gigantic","colossal")] fart.")
//playsound(L.loc, 'superfart.ogg', 50, 0)
for(var/mob/living/V in range(location,aoe_range))
shake_camera(V,10,5)
if (V == src)
continue
if(!airborne_can_reach(get_turf(src), get_turf(V)))
continue
V << "\red You are sent flying!"
V.Weaken(5) // why the hell was this set to 12 christ
step_away(V,location,15)
step_away(V,location,15)
step_away(V,location,15)
else
usr << "\red You were interrupted and couldn't fart! Rude!"
if ("help")
var/emotelist = "aflap(s), airguitar, blink(s), blink(s)_r, blush(es), bow(s)-(none)/mob, burp(s), choke(s), chuckle(s), clap(s), collapse(s), cough(s),cry, cries, custom, dap(s)(none)/mob," \
+ " deathgasp(s), drool(s), eyebrow,fart(s), faint(s), flap(s), flip(s), frown(s), gasp(s), giggle(s), glare(s)-(none)/mob, grin(s), groan(s), grumble(s), handshake-mob, hug(s)-(none)/mob," \
Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.