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)