Buffs immersion, adds manual blinking and inhale/exhale checks (#47704)

* *blink *inhale *exhale *blink *inhale *blink *exhale

* rapidly blinks

* mass immersion

* how was that even working

* manual blinking today, manual breathing tomorrow

* b

* cleansed

* more neatening

* minus check

* Update code/modules/admin/verbs/randomverbs.dm

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>

* un-nom's my code

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>

* un-nom's my code

* less
This commit is contained in:
Ryll Ryll
2019-12-04 11:02:42 -05:00
committed by Emmett Gaines
parent 8258b98616
commit 75af862fee
10 changed files with 234 additions and 2 deletions
+18
View File
@@ -69,6 +69,8 @@
<A href='?src=[REF(src)];[HrefToken()];secrets=changebombcap'>Change bomb cap</A><BR>
<A href='?src=[REF(src)];[HrefToken()];secrets=masspurrbation'>Mass Purrbation</A><BR>
<A href='?src=[REF(src)];[HrefToken()];secrets=massremovepurrbation'>Mass Remove Purrbation</A><BR>
<A href='?src=[REF(src)];[HrefToken()];secrets=massimmerse'>Fully Immerse Everyone</A><BR>
<A href='?src=[REF(src)];[HrefToken()];secrets=unmassimmerse'>Un-Fully Immerse Everyone</A><BR>
"}
dat += "<BR>"
@@ -595,6 +597,22 @@
purrbation.")
log_admin("[key_name(usr)] has removed everyone from purrbation.")
if("massimmerse")
if(!check_rights(R_FUN))
return
mass_immerse()
message_admins("[key_name_admin(usr)] has Fully Immersed \
everyone!")
log_admin("[key_name(usr)] has Fully Immersed everyone.")
if("unmassimmerse")
if(!check_rights(R_FUN))
return
mass_immerse(remove=TRUE)
message_admins("[key_name_admin(usr)] has Un-Fully Immersed \
everyone!")
log_admin("[key_name(usr)] has Un-Fully Immersed everyone.")
if("customportal")
if(!check_rights(R_FUN))
return
+17 -2
View File
@@ -1020,6 +1020,20 @@ Traitors and the like can also be revived with the previous role mostly intact.
dat += "<br><a href='?src=[REF(src)];[HrefToken()];add_station_goal=1'>Add New Goal</a>"
usr << browse(dat, "window=goals;size=400x400")
/proc/immerse_player(mob/living/carbon/target, toggle=TRUE, remove=FALSE)
var/list/immersion_components = list(/datum/component/manual_breathing, /datum/component/manual_blinking)
for(var/immersies in immersion_components)
var/has_component = target.GetComponent(immersies)
if(has_component && (toggle || remove))
qdel(has_component)
else if(toggle || !remove)
target.AddComponent(immersies)
/proc/mass_immerse(remove=FALSE)
for(var/mob/living/carbon/M in GLOB.mob_list)
immerse_player(M, toggle=FALSE, remove=remove)
/client/proc/toggle_hub()
set category = "Server"
@@ -1040,7 +1054,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
if(!check_rights(R_ADMIN) || !check_rights(R_FUN))
return
var/list/punishment_list = list(ADMIN_PUNISHMENT_LIGHTNING, ADMIN_PUNISHMENT_BRAINDAMAGE, ADMIN_PUNISHMENT_GIB, ADMIN_PUNISHMENT_BSA, ADMIN_PUNISHMENT_FIREBALL, ADMIN_PUNISHMENT_ROD, ADMIN_PUNISHMENT_SUPPLYPOD_QUICK, ADMIN_PUNISHMENT_SUPPLYPOD, ADMIN_PUNISHMENT_MAZING)
var/list/punishment_list = list(ADMIN_PUNISHMENT_LIGHTNING, ADMIN_PUNISHMENT_BRAINDAMAGE, ADMIN_PUNISHMENT_GIB, ADMIN_PUNISHMENT_BSA, ADMIN_PUNISHMENT_FIREBALL, ADMIN_PUNISHMENT_ROD, ADMIN_PUNISHMENT_SUPPLYPOD_QUICK, ADMIN_PUNISHMENT_SUPPLYPOD, ADMIN_PUNISHMENT_MAZING, ADMIN_PUNISHMENT_IMMERSE)
var/punishment = input("Choose a punishment", "DIVINE SMITING") as null|anything in sortList(punishment_list)
@@ -1100,11 +1114,12 @@ Traitors and the like can also be revived with the previous role mostly intact.
plaunch.temp_pod.effectStun = TRUE
plaunch.ui_interact(usr)
return //We return here because punish_log() is handled by the centcom_podlauncher datum
if(ADMIN_PUNISHMENT_MAZING)
if(!puzzle_imprison(target))
to_chat(usr,"<span class='warning'>Imprisonment failed!</span>")
return
if(ADMIN_PUNISHMENT_IMMERSE)
immerse_player(target)
punish_log(target, punishment)
+1
View File
@@ -19,6 +19,7 @@
silenced = TRUE
continue
if(P.run_emote(src, param, m_type, intentional))
SEND_SIGNAL(src, COMSIG_MOB_EMOTE, P, act, m_type, message, intentional)
return TRUE
if(intentional && !silenced)
to_chat(src, "<span class='notice'>Unusable emote '[act]'. Say *help for a list.</span>")
+10
View File
@@ -520,3 +520,13 @@
to_chat(user, "<span class='notice'>You ready your slapping hand.</span>")
else
to_chat(user, "<span class='warning'>You're incapable of slapping in your current state.</span>")
/datum/emote/inhale
key = "inhale"
key_third_person = "inhales"
message = "breathes in."
/datum/emote/exhale
key = "exhale"
key_third_person = "exhales"
message = "breathes out."
@@ -38,6 +38,8 @@
else
qdel(replaced)
SEND_SIGNAL(M, COMSIG_CARBON_GAIN_ORGAN, src)
owner = M
M.internal_organs |= src
M.internal_organs_slot[slot] = src
@@ -59,6 +61,9 @@
for(var/X in actions)
var/datum/action/A = X
A.Remove(M)
SEND_SIGNAL(M, COMSIG_CARBON_LOSE_ORGAN, src)
START_PROCESSING(SSobj, src)