it works tiger pants

This commit is contained in:
Aurorablade
2018-02-02 00:31:19 -05:00
parent 8e3b031e79
commit cbc446a479
5 changed files with 25 additions and 19 deletions
+4 -1
View File
@@ -3,4 +3,7 @@
/datum/status_effect/high_five
id = "high_five"
duration = 25
alert_type = null
alert_type = null
/datum/status_effect/high_five/on_timeout()
owner.visible_message("[owner] was left hanging....")
@@ -10,6 +10,7 @@
var/mob/living/owner //The mob affected by the status effect.
var/status_type = STATUS_EFFECT_UNIQUE //How many of the effect can be on one mob, and what happens when you try to add another
var/on_remove_on_mob_delete = FALSE //if we call on_remove() when the mob is deleted
var/can_timeout = FALSE //use for effect that to a diffrent thing on time out (so it can do something on time out rather then on just remove)
var/examine_text //If defined, this text will appear when the mob is examined - to use he, she etc. use "SUBJECTPRONOUN" and replace it in the examines themselves
var/alert_type = /obj/screen/alert/status_effect //the alert thrown by the status effect, contains name and description
var/obj/screen/alert/status_effect/linked_alert = null //the alert itself, if it exists
@@ -52,11 +53,13 @@
tick()
tick_interval = world.time + initial(tick_interval)
if(duration != -1 && duration < world.time)
on_timeout()
qdel(src)
/datum/status_effect/proc/on_apply() //Called whenever the buff is applied; returning FALSE will cause it to autoremove itself.
return TRUE
/datum/status_effect/proc/tick() //Called every tick.
/datum/status_effect/proc/on_timeout()//called when a buff times out
/datum/status_effect/proc/on_remove() //Called whenever the buff expires or is removed; do note that at the point this is called, it is out of the owner's status_effects but owner is not yet null
/datum/status_effect/proc/be_replaced() //Called instead of on_remove when a status effect is replaced by itself or when a status effect with on_remove_on_mob_delete = FALSE has its mob deleted
owner.clear_alert(id)
+18 -17
View File
@@ -840,27 +840,28 @@
if("highfive")
if(restrained())
return
visible_message("<b>[name]</b> requests a highfive.", "You request a highfive.")
if(!has_status_effect(STATUS_EFFECT_HIGHFIVE))
apply_status_effect(STATUS_EFFECT_HIGHFIVE)
for(var/mob/living/carbon/C in orange(1))
if(!C || C == src)
visible_message("[name] was left hanging. Embarrassing.", "You are left hanging. How embarrassing!")
else
C.apply_status_effect(STATUS_EFFECT_HIGHFIVE)
if(C.has_status_effect(STATUS_EFFECT_HIGHFIVE))
if((mind.special_role == SPECIAL_ROLE_WIZARD) && (C.mind && (C.mind.special_role == SPECIAL_ROLE_WIZARD)))
visible_message("<span class='danger'><b>[name]</b> and <b>[C.name]</b> high-five EPICALLY!</span>")
if(has_status_effect(STATUS_EFFECT_HIGHFIVE))
to_chat(src, "You give up on the highfive.")
remove_status_effect(STATUS_EFFECT_HIGHFIVE)
return
visible_message("<b>[name]</b> requests a highfive.", "You request a high five.")
apply_status_effect(STATUS_EFFECT_HIGHFIVE)
for(var/mob/living/L in orange(1))
L.apply_status_effect(STATUS_EFFECT_HIGHFIVE)
if(L.has_status_effect(STATUS_EFFECT_HIGHFIVE))
if((mind && mind.special_role == SPECIAL_ROLE_WIZARD) && (L.mind && L.mind.special_role == SPECIAL_ROLE_WIZARD))
visible_message("<span class='danger'><b>[name]</b> and <b>[L.name]</b> high-five EPICALLY!</span>")
status_flags |= GODMODE
C.status_flags |= GODMODE
L.status_flags |= GODMODE
explosion(loc,5,2,1,3)
status_flags &= ~GODMODE
C.status_flags &= ~GODMODE
break
visible_message("<b>[name]</b> and <b>[C.name]</b> high-five!")
L.status_flags &= ~GODMODE
return
visible_message("<b>[name]</b> and <b>[L.name]</b> high-five!")
playsound('sound/effects/snap.ogg', 50)
break
remove_status_effect(STATUS_EFFECT_HIGHFIVE)
L.remove_status_effect(STATUS_EFFECT_HIGHFIVE)
return
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, dance, dap(s)(none)/mob," \
-1
View File
@@ -177,7 +177,6 @@
#include "code\controllers\voting.dm"
#include "code\controllers\Processes\air.dm"
#include "code\controllers\Processes\alarm.dm"
#include "code\controllers\Processes\effect_process.dm"
#include "code\controllers\Processes\event.dm"
#include "code\controllers\Processes\fast_process.dm"
#include "code\controllers\Processes\fires.dm"