From 2e09ad6623820723c8d6e6561c8d826dc1ecdf43 Mon Sep 17 00:00:00 2001 From: Gabriel Adamson Date: Tue, 3 Aug 2021 16:33:03 -0400 Subject: [PATCH 1/3] Adds some procs that are useful for bus --- yogstation.dme | 1 + yogstation/code/modules/admin/moja.dm | 87 +++++++++++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 yogstation/code/modules/admin/moja.dm diff --git a/yogstation.dme b/yogstation.dme index df5920d57f70..998d54abe85a 100644 --- a/yogstation.dme +++ b/yogstation.dme @@ -3272,6 +3272,7 @@ #include "yogstation\code\modules\admin\admin_ranks.dm" #include "yogstation\code\modules\admin\admin_verbs.dm" #include "yogstation\code\modules\admin\holder2.dm" +#include "yogstation\code\modules\admin\moja.dm" #include "yogstation\code\modules\admin\prettyfilter.dm" #include "yogstation\code\modules\admin\secrets.dm" #include "yogstation\code\modules\admin\sql_message_system.dm" diff --git a/yogstation/code/modules/admin/moja.dm b/yogstation/code/modules/admin/moja.dm new file mode 100644 index 000000000000..6bf4f16418d2 --- /dev/null +++ b/yogstation/code/modules/admin/moja.dm @@ -0,0 +1,87 @@ +/mob/living/proc/moja_divulge() + visible_message("A vortex of violet energies surrounds [src]!", "Your barrier will keep you shielded to a point..") + visible_message("[src] slowly rises into the air, their belongings falling away, and begins to shimmer...", \ + "You begin the removal of your human disguise. You will be completely vulnerable during this time.") + setDir(SOUTH) + for(var/obj/item/I in src) + dropItemToGround(I) + for(var/turf/T in RANGE_TURFS(1, src)) + new/obj/structure/psionic_barrier(T, 500) + for(var/stage in 1 to 3) + switch(stage) + if(1) + visible_message("Vibrations pass through the air. [src]'s eyes begin to glow a deep violet.", \ + "Psi floods into your consciousness. You feel your mind growing more powerful... expanding.") + playsound(src, 'yogstation/sound/magic/divulge_01.ogg', 30, 0) + if(2) + visible_message("Gravity fluctuates. Psychic tendrils extend outward and feel blindly around the area.", \ + "Gravity around you fluctuates. You tentatively reach out, feel with your mind.") + Shake(0, 3, 750) //50 loops in a second times 15 seconds = 750 loops + playsound(src, 'yogstation/sound/magic/divulge_02.ogg', 40, 0) + if(3) + visible_message("Sigils form along [src]'s body. \His skin blackens as \he glows a blinding purple.", \ + "Your body begins to warp. Sigils etch themselves upon your flesh.") + animate(src, color = list(rgb(0, 0, 0), rgb(0, 0, 0), rgb(0, 0, 0), rgb(0, 0, 0)), time = 150) //Produces a slow skin-blackening effect + playsound(src, 'yogstation/sound/magic/divulge_03.ogg', 50, 0) + if(!do_after(src, 150, target = src)) + visible_message("[src] falls to the ground!", "Your transformation was interrupted!") + animate(src, color = initial(src.color), pixel_y = initial(src.pixel_y), time = 10) + return + playsound(src, 'yogstation/sound/magic/divulge_ending.ogg', 50, 0) + visible_message("[src] rises into the air, crackling with power!", "Your mind...! can't--- THINK--") + animate(src, pixel_y = src.pixel_y + 8, time = 60) + sleep(45) + Shake(5, 5, 110) + for(var/i in 1 to 20) + to_chat(src, "[pick("I- I- I-", "Mind-", "Sigils-", "Can't think-", "POWER-","TAKE-", "M-M-MOOORE-")]") + sleep(1.1) //Spooky flavor message spam + visible_message("A tremendous shockwave emanates from [src]!", "YOU ARE FREE!!") + playsound(src, 'yogstation/sound/magic/divulge_end.ogg', 50, 0) + animate(src, color = initial(color), pixel_y = initial(pixel_y), time = 30) + for(var/mob/living/L in view(7, src)) + if(L == src) + continue + L.flash_act(1, 1) + L.Knockdown(50) + if(istype(src,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = src + H.make_moja() + else + var/mob/living/carbon/human/moja/moja = new /mob/living/carbon/human/moja(src.loc) + moja.ckey = src.ckey + qdel(src) + +/mob/living/proc/moja_burst(new_key) + var/mob/living/carbon/human/moja/moja = new /mob/living/carbon/human/moja(src.loc) + moja.ckey = (new_key ? new_key : ckey) + gib() + +/mob/living/carbon/human/moja + +/mob/living/carbon/human/moja/Initialize() + . = ..() + make_moja() + +/mob/living/carbon/human/proc/make_moja() + real_name = "Moja Manley" + name = real_name + gender = "male" + age = 54 + eye_color = "630" + var/obj/item/organ/eyes/organ_eyes = getorgan(/obj/item/organ/eyes) + if(organ_eyes) + organ_eyes.eye_color = eye_color + organ_eyes.old_eye_color = eye_color + hair_color = "888" + facial_hair_color = "876" + + skin_tone = "asian2" + hair_style = "Balding Hair" + facial_hair_style = "Beard (Neckbeard)" + underwear = "Nude" + undershirt = "Nude" + socks = "Nude" + backbag = "Department Satchel" + update_body() + update_hair() + update_body_parts() From 4aeddb289cfaeaf8b2b1c5e978f5dd5eb5fe66ee Mon Sep 17 00:00:00 2001 From: Gabriel Adamson Date: Fri, 6 Aug 2021 12:56:46 -0400 Subject: [PATCH 2/3] Fixes some errors, makes moja_divulge async --- yogstation/code/modules/admin/moja.dm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/yogstation/code/modules/admin/moja.dm b/yogstation/code/modules/admin/moja.dm index 6bf4f16418d2..e252abba84ac 100644 --- a/yogstation/code/modules/admin/moja.dm +++ b/yogstation/code/modules/admin/moja.dm @@ -1,4 +1,7 @@ /mob/living/proc/moja_divulge() + INVOKE_ASYNC(_moja_divulge()) + +/mob/living/proc/_moja_divulge() visible_message("A vortex of violet energies surrounds [src]!", "Your barrier will keep you shielded to a point..") visible_message("[src] slowly rises into the air, their belongings falling away, and begins to shimmer...", \ "You begin the removal of your human disguise. You will be completely vulnerable during this time.") @@ -6,7 +9,7 @@ for(var/obj/item/I in src) dropItemToGround(I) for(var/turf/T in RANGE_TURFS(1, src)) - new/obj/structure/psionic_barrier(T, 500) + new/obj/structure/psionic_barrier(T) for(var/stage in 1 to 3) switch(stage) if(1) @@ -56,8 +59,6 @@ moja.ckey = (new_key ? new_key : ckey) gib() -/mob/living/carbon/human/moja - /mob/living/carbon/human/moja/Initialize() . = ..() make_moja() From da813c82af4ae70ae5839a8dde13fbfc72b34622 Mon Sep 17 00:00:00 2001 From: Gabriel Adamson Date: Fri, 6 Aug 2021 12:59:39 -0400 Subject: [PATCH 3/3] Moja is human --- yogstation/code/modules/admin/moja.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/yogstation/code/modules/admin/moja.dm b/yogstation/code/modules/admin/moja.dm index e252abba84ac..f4fb45f14d0e 100644 --- a/yogstation/code/modules/admin/moja.dm +++ b/yogstation/code/modules/admin/moja.dm @@ -64,6 +64,8 @@ make_moja() /mob/living/carbon/human/proc/make_moja() + if(!ishumanbasic(src)) + set_species(/datum/species/human) real_name = "Moja Manley" name = real_name gender = "male"