licking people is now an epic radial

This commit is contained in:
Detective Google
2020-10-04 15:55:02 -05:00
parent 00227d0b96
commit 78cc2d95f3

View File

@@ -342,21 +342,23 @@
to_chat(src, "<span class='warning'>You can't do that so fast, slow down.</span>") to_chat(src, "<span class='warning'>You can't do that so fast, slow down.</span>")
return return
var/list/choices DelayNextAction(CLICK_CD_MELEE, flush = TRUE)
var/list/lickable = list()
for(var/mob/living/L in view(1)) for(var/mob/living/L in view(1))
if(L != src && (!L.ckey || L.client?.prefs.vore_flags & LICKABLE) && Adjacent(L)) if(L != src && (!L.ckey || L.client?.prefs.vore_flags & LICKABLE) && Adjacent(L))
LAZYADD(choices, L) LAZYADD(lickable, L)
for(var/mob/living/listed in lickable)
lickable[listed] = getFlatIcon(listed) // forgive me for what I must do.
if(!choices) if(!lickable)
return return
var/mob/living/tasted = input(src, "Who would you like to lick? (Excluding yourself and those with the preference disabled)", "Licking") as null|anything in choices var/mob/living/tasted = show_radial_menu(src, src, lickable, radius = 40, require_near = TRUE)
if(QDELETED(tasted) || (tasted.ckey && !(tasted.client?.prefs.vore_flags & LICKABLE)) || !Adjacent(tasted) || incapacitated(ignore_restraints = TRUE)) if(QDELETED(tasted) || (tasted.ckey && !(tasted.client?.prefs.vore_flags & LICKABLE)) || !Adjacent(tasted) || incapacitated(ignore_restraints = TRUE))
return return
DelayNextAction(CLICK_CD_MELEE)
visible_message("<span class='warning'>[src] licks [tasted]!</span>","<span class='notice'>You lick [tasted]. They taste rather like [tasted.get_taste_message()].</span>","<b>Slurp!</b>") visible_message("<span class='warning'>[src] licks [tasted]!</span>","<span class='notice'>You lick [tasted]. They taste rather like [tasted.get_taste_message()].</span>","<b>Slurp!</b>")
/mob/living/proc/get_taste_message(allow_generic = TRUE, datum/species/mrace) /mob/living/proc/get_taste_message(allow_generic = TRUE, datum/species/mrace)