Merge pull request #15917 from PidgeyThePirate/spin-emote

Adds *spin emote to humans and cyborgs, adds a 5 second cooldown to the Dog's tail chase verb
This commit is contained in:
variableundefined
2021-07-26 20:09:58 -04:00
committed by GitHub
4 changed files with 32 additions and 16 deletions
+14 -1
View File
@@ -134,6 +134,8 @@
on_CD = handle_emote_CD()
if("deathgasp", "deathgasps")
on_CD = handle_emote_CD(50)
if("spin", "spins")
on_CD = handle_emote_CD(50)
if("sneeze", "sneezes")
on_CD = handle_emote_CD()
if("clap", "claps")
@@ -443,6 +445,17 @@
message = "<B>[src]</B> does a flip!"
SpinAnimation(5,1)
if("spin", "spins")
if(!restrained() && !lying)
if(prob(5))
spin(30, 1)
message = "<B>[src]</B> spins too much!"
Dizzy(12)
Confused(12)
else
spin(20, 1)
message = "<B>[src]</B> spins!"
if("aflap", "aflaps")
if(!restrained())
message = "<B>[src]</B> flaps [p_their()] wings ANGRILY!"
@@ -950,7 +963,7 @@
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," \
+ " 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), grin(s)," \
+ " handshake-mob, hug(s)-none/mob, hem, highfive, johnny, jump, kiss(es), laugh(s), look(s)-none/mob, moan(s), mumble(s), nod(s), pale(s), point(s)-atom, quiver(s), raise(s), salute(s)-none/mob, scream(s), shake(s)," \
+ " shiver(s), shrug(s), sigh(s), signal(s)-#1-10, slap(s), smile(s),snap(s), sneeze(s), sniff(s), snore(s), stare(s)-none/mob, tremble(s), twitch(es), twitch(es)_s," \
+ " shiver(s), shrug(s), sigh(s), signal(s)-#1-10, slap(s), smile(s),snap(s), sneeze(s), sniff(s), snore(s), spin(s) stare(s)-none/mob, tremble(s), twitch(es), twitch(es)_s," \
+ " wave(s), whimper(s), wink(s), yawn(s)"
switch(dna.species.name)
@@ -13,6 +13,8 @@
//Cooldown-inducing emotes
if("law","flip","flips","halt") //halt is exempt because it's used to stop criminal scum //WHOEVER THOUGHT THAT WAS A GOOD IDEA IS GOING TO GET SHOT.
on_CD = handle_emote_CD() //proc located in code\modules\mob\emote.dm
if("spin","spins")
on_CD = handle_emote_CD(5 SECONDS)
//Everything else, including typos of the above emotes
else
on_CD = 0 //If it doesn't induce the cooldown, we won't check for the cooldown
@@ -157,8 +159,12 @@
message = "<B>[src]</B> does a flip!"
src.SpinAnimation(5,1)
if("spin","spins")
spin(20, 1)
message = "<B>[src]</B> spins!"
if("help")
to_chat(src, "salute, bow-(none)/mob, clap, flap, aflap, twitch, twitches, nod, deathgasp, glare-(none)/mob, stare-(none)/mob, look,\n law, halt")
to_chat(src, "salute, bow-(none)/mob, clap, flap, aflap, twitch, twitches, nod, deathgasp, glare-(none)/mob, stare-(none)/mob, look,\n law, halt, flip, spin")
..()
@@ -21,13 +21,16 @@
var/yelp_sound = 'sound/creatures/dog_yelp.ogg' //Used on death.
var/last_eaten = 0
footstep_type = FOOTSTEP_MOB_CLAW
var/next_spin_message = 0
/mob/living/simple_animal/pet/dog/verb/chasetail()
set name = "Chase your tail"
set desc = "d'awwww."
set category = "Dog"
visible_message("[src] [pick("dances around", "chases [p_their()] tail")].", "[pick("You dance around", "You chase your tail")].")
if(next_spin_message <= world.time)
visible_message("[src] [pick("dances around", "chases [p_their()] tail")].", "[pick("You dance around", "You chase your tail")].")
next_spin_message = world.time + 5 SECONDS
spin(20, 1)
/mob/living/simple_animal/pet/dog/death(gibbed)
+7 -13
View File
@@ -1354,20 +1354,14 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \
set waitfor = 0
if(!spintime || !speed || spintime > 100)
CRASH("Aborted attempted call of /mob/proc/spin with invalid args ([spintime],[speed]) which could have frozen the server.")
var/D = dir
while(spintime >= speed)
var/end_time = world.time + spintime
var/spin_dir = prob(50)
while(world.time <= end_time)
sleep(speed)
switch(D)
if(NORTH)
D = EAST
if(SOUTH)
D = WEST
if(EAST)
D = SOUTH
if(WEST)
D = NORTH
setDir(D)
spintime -= speed
if(spin_dir)
dir = turn(dir, 90)
else
dir = turn(dir, -90)
/mob/proc/is_literate()
return FALSE