From c2926db2525c7efcee16e18000729417a05edcf7 Mon Sep 17 00:00:00 2001 From: Critawakets Date: Sat, 22 Feb 2025 18:03:36 -0500 Subject: [PATCH 01/22] Bunch of stuff relating to my own story content. --- maplestation.dme | 2 + .../story_content/common_story/README.md | 1 + .../common_story/code/story_rapid_status.dm | 96 ++++++++++++++++++ .../crit_equipment/code/pendant.dm | 19 ++++ .../crit_equipment/icons/greenleaf_amulet.dmi | Bin 0 -> 490 bytes .../icons/greenleaf_amulet_worn.dmi | Bin 0 -> 319 bytes .../story_posters/code/contraband.dm | 6 -- .../story_posters/icons/contraband.dmi | Bin 841 -> 626 bytes 8 files changed, 118 insertions(+), 6 deletions(-) create mode 100644 maplestation_modules/story_content/common_story/README.md create mode 100644 maplestation_modules/story_content/common_story/code/story_rapid_status.dm create mode 100644 maplestation_modules/story_content/crit_equipment/code/pendant.dm create mode 100644 maplestation_modules/story_content/crit_equipment/icons/greenleaf_amulet.dmi create mode 100644 maplestation_modules/story_content/crit_equipment/icons/greenleaf_amulet_worn.dmi diff --git a/maplestation.dme b/maplestation.dme index 16445d510ef8..b482ec865f66 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -6798,9 +6798,11 @@ #include "maplestation_modules\story_content\armored_corps\code\mecha_weapons\laser_override.dm" #include "maplestation_modules\story_content\armored_corps\code\mecha_weapons\ppc_override.dm" #include "maplestation_modules\story_content\armored_corps\code\melee\void_blade.dm" +#include "maplestation_modules\story_content\common_story\code\story_rapid_status.dm" #include "maplestation_modules\story_content\bell_equipment\code\bellclothing.dm" #include "maplestation_modules\story_content\enma_equipment\code\enmaclothes.dm" #include "maplestation_modules\story_content\eveleen_equipment\code\clothing.dm" +#include "maplestation_modules\story_content\crit_equipment\code\pendant.dm" #include "maplestation_modules\story_content\grey_equipment\code\greyclothing.dm" #include "maplestation_modules\story_content\isaac_equipment\code\isaacclothing.dm" #include "maplestation_modules\story_content\jessie_equipment\code\jessie_clothing.dm" diff --git a/maplestation_modules/story_content/common_story/README.md b/maplestation_modules/story_content/common_story/README.md new file mode 100644 index 000000000000..a5018de77d04 --- /dev/null +++ b/maplestation_modules/story_content/common_story/README.md @@ -0,0 +1 @@ +A common folder for story-related code and icons, for things to share or things that can't be easily split off into their own folders. diff --git a/maplestation_modules/story_content/common_story/code/story_rapid_status.dm b/maplestation_modules/story_content/common_story/code/story_rapid_status.dm new file mode 100644 index 000000000000..7ec00f22a967 --- /dev/null +++ b/maplestation_modules/story_content/common_story/code/story_rapid_status.dm @@ -0,0 +1,96 @@ +//Rapid status, a way to make a lot of changes to a mob quickly, albeit preset. Hopefully eventually replaced with JSON. Pretty much taken from the "make me tanky" menu +#define VV_STORY_RAPID_STATUS "story_rapid_status" + +/mob/living/carbon/human/vv_get_dropdown() + . = ..() + VV_DROPDOWN_OPTION(VV_STORY_RAPID_STATUS, "Story Rapid Status") + +/mob/living/carbon/human/vv_do_topic(list/href_list) + . = ..() + + if(href_list[VV_STORY_RAPID_STATUS]) + if(!check_rights(R_SPAWN)) + return + + var/list/options = list( + "Herald of Cosmos", + ) + + var/result = tgui_input_list(usr, "Pick something. You can also cancel with \"Cancel\".", "Rapid Status", options + "Cancel") + if(QDELETED(src) || !result || result == "Cancel") + return + var/picked = result + + if(!picked) + return + message_admins("[key_name(usr)] has rapidly given [key_name(src)] the following preset: [picked]") + log_admin("[key_name(usr)] has rapidly given [key_name(src)] the following preset: [picked]") + + switch(picked) + if("Herald of Cosmos") // kind of like a super-ascended cosmic heretic without a stargazer and a bit of void sidepathing, no regeneration or protection beyond ehp/speed means they can be worn down. very op + src?.mind.add_antag_datum(/datum/antagonist/heretic) + var/datum/antagonist/heretic/our_heretic = src?.mind.has_antag_datum(/datum/antagonist/heretic) + var/list/knowledges_to_grant = list( // cosmic heretic with a sidepath, some void spells and no ascension + /datum/heretic_knowledge/limited_amount/starting/base_cosmic, + /datum/heretic_knowledge/cosmic_grasp, + /datum/heretic_knowledge/spell/cosmic_runes, + /datum/heretic_knowledge/mark/cosmic_mark, + /datum/heretic_knowledge/spell/star_touch, + /datum/heretic_knowledge/spell/star_blast, + /datum/heretic_knowledge/blade_upgrade/cosmic, + /datum/heretic_knowledge/spell/cosmic_expansion, + /datum/heretic_knowledge/cold_snap, + /datum/heretic_knowledge/spell/void_phase, + /datum/heretic_knowledge/spell/void_pull, + /datum/heretic_knowledge/spell/space_phase, + ) + if(our_heretic) // in case this entire chain broke along the way + our_heretic.ascended = TRUE + for(var/i in knowledges_to_grant) + our_heretic.gain_knowledge(i) + + // the cosmic heretic ascension upgrades + var/datum/heretic_knowledge/blade_upgrade/cosmic/blade_upgrade = our_heretic.get_knowledge(/datum/heretic_knowledge/blade_upgrade/cosmic) + blade_upgrade.combo_duration = 10 SECONDS + blade_upgrade.combo_duration_amount = 10 SECONDS + blade_upgrade.max_combo_duration = 30 SECONDS + blade_upgrade.increase_amount = 2 SECONDS + + var/datum/action/cooldown/spell/touch/star_touch/star_touch_spell = locate() in actions + if(star_touch_spell) + star_touch_spell.ascended = TRUE + + var/datum/action/cooldown/spell/conjure/cosmic_expansion/cosmic_expansion_spell = locate() in actions + cosmic_expansion_spell?.ascended = TRUE + + physiology.brute_mod = 0.25 + physiology.burn_mod = 0.25 + physiology.tox_mod = 0.5 + physiology.oxy_mod = 0.5 + physiology.stamina_mod = 0.5 + physiology.stun_mod = 0.5 + physiology.bleed_mod = 0 + set_pain_mod("badmin", 0.6) + + var/obj/item/bodypart/arm/left_arm = get_bodypart(BODY_ZONE_L_ARM) // your fists are now claws + left_arm.unarmed_attack_verb = "slash" + left_arm.grappled_attack_verb = "lacerate" + left_arm.unarmed_attack_effect = ATTACK_EFFECT_CLAW + left_arm.unarmed_attack_sound = 'sound/weapons/slash.ogg' + left_arm.unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' + left_arm.unarmed_damage_low = 25 + left_arm.unarmed_damage_high = 25 + left_arm.unarmed_effectiveness = 30 + + var/obj/item/bodypart/arm/right_arm = get_bodypart(BODY_ZONE_R_ARM) + right_arm.unarmed_attack_verb = "slash" + right_arm.grappled_attack_verb = "lacerate" + right_arm.unarmed_attack_effect = ATTACK_EFFECT_CLAW + right_arm.unarmed_attack_sound = 'sound/weapons/slash.ogg' + right_arm.unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' + right_arm.unarmed_damage_low = 25 + right_arm.unarmed_damage_high = 25 + right_arm.unarmed_effectiveness = 30 + + ADD_TRAIT(src, TRAIT_SLEEPIMMUNE, REF(src)) //needed to prevent chem cheese using wellcheers and sulfonal + diff --git a/maplestation_modules/story_content/crit_equipment/code/pendant.dm b/maplestation_modules/story_content/crit_equipment/code/pendant.dm new file mode 100644 index 000000000000..82062c7362ea --- /dev/null +++ b/maplestation_modules/story_content/crit_equipment/code/pendant.dm @@ -0,0 +1,19 @@ +/obj/item/clothing/neck/annatto_pendant + name = "orange-blue pendant" + desc = "A orange and blue swirl pendant with a purple chain made of obsidian-like material. It seems like it can open." + icon = 'maplestation_modules/story_content/crit_equipment/icons/greenleaf_amulet.dmi' + icon_state = "greenleaf_amulet" + worn_icon = 'maplestation_modules/story_content/crit_equipment/icons/greenleaf_amulet_worn.dmi' + worn_icon_state = "greenleaf_amulet" + w_class = WEIGHT_CLASS_SMALL + resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF | INDESTRUCTIBLE // thing is built TOUGH + var/pendant_open = FALSE + +/obj/item/clothing/neck/annatto_pendant/attack_self(mob/user) + if(!pendant_open) + pendant_open = TRUE + message_admins("[user] has opened the [src]. [ADMIN_FLW(src)]") // spoiler protection + icon_state = "greenleaf_amulet-open" + else + pendant_open = FALSE + icon_state = "greenleaf_amulet" diff --git a/maplestation_modules/story_content/crit_equipment/icons/greenleaf_amulet.dmi b/maplestation_modules/story_content/crit_equipment/icons/greenleaf_amulet.dmi new file mode 100644 index 0000000000000000000000000000000000000000..f35d039192b48346e2829f6ecc303384218cee22 GIT binary patch literal 490 zcmVxC6FR1M% z3ylB(0MkiCK~zYI?UB(AgCGn=L5pZ99peB0>xvqa31}Afw0IwU;Mmg^lzQ@C(T%)a z&^2<^H}dugTJPZ3Tz9?xhMzXR literal 0 HcmV?d00001 diff --git a/maplestation_modules/story_content/crit_equipment/icons/greenleaf_amulet_worn.dmi b/maplestation_modules/story_content/crit_equipment/icons/greenleaf_amulet_worn.dmi new file mode 100644 index 0000000000000000000000000000000000000000..83a6a052fc74fa22ebd613152bb93d761c8b47c3 GIT binary patch literal 319 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|e(Ey(i*8>L*XsCK;aBwUW5tLYX zSh!-H0#};&7MC`l0>+XczhDN3XE)M-oYJb0h!U67;^d;tf|AVqJO+k}Il*BCMWx@r z1Q&e#`b5iHSL@uF^T8WJ4K5l#c%*aQNAn~@QBUs<3*#W;%f?;`a~@4PGATqMSaYw2 zsj0rYsiCf&;dT@CtuCG2#;TiFNGzG(ZM;^)&|LJ0*^{8Kg0IDlw;32V&6k_ky54*j z&;j9|E{-7{oyiFjtWy}=6prXCXgD}9vIz(&EI6Rj(7Bnc-cDS{No0001yab^`!@W_o52zRisw4#P)71B94?YDH`T=4;P1E2{#H!D02w}toe+q#FF1zv`$PcsB c68J;?0!il>@($3P<^TWy07*qoM6N<$f|K*OqW}N^ delta 651 zcmV;60(AZI1jzGW{I15&JYH@^jOl!H=A7h0?A_{0Zb z1~QgTF$YKhibBt3dZvpEt#AOEI-~~Tlm$Sc^h`>fDV4#v#UTUAkI&%rtRN3kqKl$n z9Z>%czyxcgGOP!e-8*8U=Y*7W&Q`0*6892Aol^Th1j(a^UHYs_a;*?h|7Rd z3@L(?+emP9eLKaHFP3wxf4cJ>$bS0%?g5^i^TqPz zg$RBNLPnn{;w!Tca=gkdfXP5m3pjNow=do@0<5sEDwm6SRaIPwf0EWAA|F^E24g_J zdR^s}G3DFB)=kBPxJ}Rnz-2%VT2tF~S+1?A#}f>Ie_{YRtlPS=sJd>MRiN&j1D6DM zm@JsCYZ@$X4F`za=${@S$9fBO({){I-r2*nAro$Fn8W0@fwgONVBW3u0dgb14i2#0 lOU3~ALrKQk@%wMq6$j`TEC68wL!$ry002ovPDHLkV1j##7vul{ From a851f16184f077791c66fb886529727893e7154a Mon Sep 17 00:00:00 2001 From: Critawakets Date: Sat, 22 Feb 2025 18:13:15 -0500 Subject: [PATCH 02/22] I am amazed at how errorprone the automatic file ticking can be. --- maplestation.dme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maplestation.dme b/maplestation.dme index b482ec865f66..7e4a08583a84 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -6798,10 +6798,10 @@ #include "maplestation_modules\story_content\armored_corps\code\mecha_weapons\laser_override.dm" #include "maplestation_modules\story_content\armored_corps\code\mecha_weapons\ppc_override.dm" #include "maplestation_modules\story_content\armored_corps\code\melee\void_blade.dm" -#include "maplestation_modules\story_content\common_story\code\story_rapid_status.dm" #include "maplestation_modules\story_content\bell_equipment\code\bellclothing.dm" #include "maplestation_modules\story_content\enma_equipment\code\enmaclothes.dm" #include "maplestation_modules\story_content\eveleen_equipment\code\clothing.dm" +#include "maplestation_modules\story_content\common_story\code\story_rapid_status.dm" #include "maplestation_modules\story_content\crit_equipment\code\pendant.dm" #include "maplestation_modules\story_content\grey_equipment\code\greyclothing.dm" #include "maplestation_modules\story_content\isaac_equipment\code\isaacclothing.dm" From 0d56abd833151ebaab06375e0f244019d4592ed3 Mon Sep 17 00:00:00 2001 From: Critawakets Date: Wed, 28 May 2025 22:02:18 -0400 Subject: [PATCH 03/22] Updates to attack chain stuffs --- .../common_story/code/story_rapid_status.dm | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/maplestation_modules/story_content/common_story/code/story_rapid_status.dm b/maplestation_modules/story_content/common_story/code/story_rapid_status.dm index 7ec00f22a967..8827c7e08c97 100644 --- a/maplestation_modules/story_content/common_story/code/story_rapid_status.dm +++ b/maplestation_modules/story_content/common_story/code/story_rapid_status.dm @@ -71,9 +71,10 @@ physiology.stun_mod = 0.5 physiology.bleed_mod = 0 set_pain_mod("badmin", 0.6) + add_consciousness_modifier("badmin", 30) var/obj/item/bodypart/arm/left_arm = get_bodypart(BODY_ZONE_L_ARM) // your fists are now claws - left_arm.unarmed_attack_verb = "slash" + left_arm.unarmed_attack_verbs = list("slash") left_arm.grappled_attack_verb = "lacerate" left_arm.unarmed_attack_effect = ATTACK_EFFECT_CLAW left_arm.unarmed_attack_sound = 'sound/weapons/slash.ogg' @@ -81,9 +82,10 @@ left_arm.unarmed_damage_low = 25 left_arm.unarmed_damage_high = 25 left_arm.unarmed_effectiveness = 30 + left_arm.appendage_noun = "clawed hand" var/obj/item/bodypart/arm/right_arm = get_bodypart(BODY_ZONE_R_ARM) - right_arm.unarmed_attack_verb = "slash" + right_arm.unarmed_attack_verbs = list("slash") right_arm.grappled_attack_verb = "lacerate" right_arm.unarmed_attack_effect = ATTACK_EFFECT_CLAW right_arm.unarmed_attack_sound = 'sound/weapons/slash.ogg' @@ -91,6 +93,17 @@ right_arm.unarmed_damage_low = 25 right_arm.unarmed_damage_high = 25 right_arm.unarmed_effectiveness = 30 + right_arm.appendage_noun = "clawed hand" + + var/obj/item/bodypart/leg/left_leg = get_bodypart(BODY_ZONE_L_LEG) // weaker, but allows proper damage after downing somebody + left_leg.unarmed_damage_low = 18 + left_leg.unarmed_damage_high = 18 + left_leg.unarmed_effectiveness = 20 + + var/obj/item/bodypart/leg/right_leg = get_bodypart(BODY_ZONE_R_LEG) + right_leg.unarmed_damage_low = 18 + right_leg.unarmed_damage_high = 18 + right_leg.unarmed_effectiveness = 20 ADD_TRAIT(src, TRAIT_SLEEPIMMUNE, REF(src)) //needed to prevent chem cheese using wellcheers and sulfonal From ae6b0120cf63727d1e18e5b7949b5de5ba74ef39 Mon Sep 17 00:00:00 2001 From: Critawakets Date: Sat, 12 Jul 2025 02:11:41 -0400 Subject: [PATCH 04/22] Evil creatura, Death from Beyond --- maplestation.dme | 7 +-- .../code/mecha_weapons/gauss_override.dm | 3 - .../code/mecha_weapons/laser_override.dm | 16 ----- .../code/mecha_weapons/ppc_override.dm | 7 --- .../code/mob/basic/summoned_star_gazer.dm | 14 +++++ .../code/smites/death_from_beyond.dm | 58 +++++++++++++++++++ .../common_story/code/story_rapid_status.dm | 2 +- 7 files changed, 76 insertions(+), 31 deletions(-) delete mode 100644 maplestation_modules/story_content/armored_corps/code/mecha_weapons/gauss_override.dm delete mode 100644 maplestation_modules/story_content/armored_corps/code/mecha_weapons/laser_override.dm delete mode 100644 maplestation_modules/story_content/armored_corps/code/mecha_weapons/ppc_override.dm create mode 100644 maplestation_modules/story_content/common_story/code/mob/basic/summoned_star_gazer.dm create mode 100644 maplestation_modules/story_content/common_story/code/smites/death_from_beyond.dm diff --git a/maplestation.dme b/maplestation.dme index 7e4a08583a84..6952cbbf810a 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -6793,14 +6793,13 @@ #include "maplestation_modules\story_content\albert_equipment\code\albertclothing.dm" #include "maplestation_modules\story_content\albert_equipment\code\albertitem.dm" #include "maplestation_modules\story_content\alraune_miscitems\code\alrmiscitem.dm" -#include "maplestation_modules\story_content\armored_corps\code\clothing\aylie_cloak.dm" -#include "maplestation_modules\story_content\armored_corps\code\mecha_weapons\gauss_override.dm" -#include "maplestation_modules\story_content\armored_corps\code\mecha_weapons\laser_override.dm" -#include "maplestation_modules\story_content\armored_corps\code\mecha_weapons\ppc_override.dm" #include "maplestation_modules\story_content\armored_corps\code\melee\void_blade.dm" +#include "maplestation_modules\story_content\armored_corps\code\clothing\aylie_cloak.dm" #include "maplestation_modules\story_content\bell_equipment\code\bellclothing.dm" #include "maplestation_modules\story_content\enma_equipment\code\enmaclothes.dm" #include "maplestation_modules\story_content\eveleen_equipment\code\clothing.dm" +#include "maplestation_modules\story_content\common_story\code\mob\basic\summoned_star_gazer.dm" +#include "maplestation_modules\story_content\common_story\code\smites\death_from_beyond.dm" #include "maplestation_modules\story_content\common_story\code\story_rapid_status.dm" #include "maplestation_modules\story_content\crit_equipment\code\pendant.dm" #include "maplestation_modules\story_content\grey_equipment\code\greyclothing.dm" diff --git a/maplestation_modules/story_content/armored_corps/code/mecha_weapons/gauss_override.dm b/maplestation_modules/story_content/armored_corps/code/mecha_weapons/gauss_override.dm deleted file mode 100644 index 564a724b20ce..000000000000 --- a/maplestation_modules/story_content/armored_corps/code/mecha_weapons/gauss_override.dm +++ /dev/null @@ -1,3 +0,0 @@ -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/gauss/penetrator - desc = "A weapon for combat exosuits. Uses magnetic propulsion to fire a metallic slug at extremely high velocities. \ - Upgraded version for internal Nanotrasen usage. Only available in extremely low quantities. Has a faded \"SFI\" marking." diff --git a/maplestation_modules/story_content/armored_corps/code/mecha_weapons/laser_override.dm b/maplestation_modules/story_content/armored_corps/code/mecha_weapons/laser_override.dm deleted file mode 100644 index ffad177f0397..000000000000 --- a/maplestation_modules/story_content/armored_corps/code/mecha_weapons/laser_override.dm +++ /dev/null @@ -1,16 +0,0 @@ -/obj/item/mecha_parts/mecha_equipment/weapon/energy/er_laser - desc = "A weapon for combat exosuits. Fires a cohesive laser beam. Utilizes Extended-Range technology to aid in long-range combat. \ - Developed by the Armored Corps Ruby Rose Unit utilizing advanced technology based on analysis of high-grade crystals from the Mu Sector." - -/obj/item/mecha_parts/mecha_equipment/weapon/energy/er_laser/heavy - desc = "A weapon for combat exosuits. Fires a cohesive laser beam. Utilizes Extended-Range technology to aid in long-range combat. \ - Utilizes very high-quality crystals mined from the Mu Sector, and pretty much exclusively used by the Ruby Rose Unit of the Armored Corps. \ - Interestingly, it seems to have more output power than input power..." - -/obj/item/mecha_parts/mecha_equipment/weapon/energy/pulsed_laser - desc = "A weapon for combat exosuits. Fires 3 small lasers in quick succession. \ - Developed by the enigmatic Dark Rafflesia Unit of the Armored Corps." - -/obj/item/mecha_parts/mecha_equipment/weapon/energy/pulsed_laser/large - desc = "A weapon for combat exosuits. Fires 3 hellfire lasers in quick succession. \ - Developed by the Dark Rafflesia Unit to aid in target takedown missions, where one powerful strike is all that is needed." diff --git a/maplestation_modules/story_content/armored_corps/code/mecha_weapons/ppc_override.dm b/maplestation_modules/story_content/armored_corps/code/mecha_weapons/ppc_override.dm deleted file mode 100644 index f6e31ed81416..000000000000 --- a/maplestation_modules/story_content/armored_corps/code/mecha_weapons/ppc_override.dm +++ /dev/null @@ -1,7 +0,0 @@ -/obj/item/mecha_parts/mecha_equipment/weapon/energy/ppc - desc = "A weapon for combat exosuits. Shoots a powerful stream of high-energy particles. \ - Possibly the very first technology developed by the Armored Corps after it's reform from the old Armored Division days. Surprisingly, it's still a prototype." - -/obj/item/mecha_parts/mecha_equipment/weapon/energy/ppc/hellstar //admin-only - desc = "A weapon for combat exosuits. Shoots an extremely powerful stream of exotic particles capable of punching through any armoring. \ - Pretty much only available to the Scarlet Kitsun Unit, which guards the design to be used by themselves alone." diff --git a/maplestation_modules/story_content/common_story/code/mob/basic/summoned_star_gazer.dm b/maplestation_modules/story_content/common_story/code/mob/basic/summoned_star_gazer.dm new file mode 100644 index 000000000000..103e0f26f8d0 --- /dev/null +++ b/maplestation_modules/story_content/common_story/code/mob/basic/summoned_star_gazer.dm @@ -0,0 +1,14 @@ +/// Weaker version of the star gazer, meant to be fought instead of being an invincible gigafighter +/mob/living/basic/heretic_summon/star_gazer/summoned + maxHealth = 750 + health = 750 + obj_damage = 60 + melee_damage_lower = 25 + melee_damage_upper = 25 + damage_coeff = list(BRUTE = 1, BURN = 0.8, TOX = 0, STAMINA = 0, OXY = 0) + +/mob/living/basic/heretic_summon/star_gazer/summoned/Initialize(mapload) + . = ..() + RemoveElement(/datum/element/death_explosion) // slightly hacky way of disabling the death explosion without editing the base star gazer + RemoveElement(/datum/element/effect_trail) + RemoveComponentSource(REF(src), /datum/component/regenerator) diff --git a/maplestation_modules/story_content/common_story/code/smites/death_from_beyond.dm b/maplestation_modules/story_content/common_story/code/smites/death_from_beyond.dm new file mode 100644 index 000000000000..358841598f66 --- /dev/null +++ b/maplestation_modules/story_content/common_story/code/smites/death_from_beyond.dm @@ -0,0 +1,58 @@ +/// Slashes up the target like bloodless, but SLOWLY +/datum/smite/death_from_beyond + name = "Death from Beyond" + var/strength + var/how_many = 1 + +/datum/smite/death_from_beyond/configure(client/user) + var/static/list/knowledge_forbidenness = list("Low", "Moderate", "High", "DEATH") + strength = input(user, "How much do you hate this person?") in knowledge_forbidenness + +/datum/smite/death_from_beyond/effect(client/user, mob/living/target) + . = ..() + if(!iscarbon(target)) + to_chat(user, span_warning("This must be used on a carbon mob."), confidential = TRUE) + return + var/mob/living/carbon/carbon_target = target + + switch(strength) + if("Low") + how_many = 3 + if("Moderate") + how_many = 4 + if("High") + how_many = 5 + if("DEATH") + how_many = 10 + + to_chat(target, span_boldwarning("Cuts rapidly appear all over you as entities from beyond start attacking you!")) + + ultra_murder(carbon_target) + +/datum/smite/death_from_beyond/proc/ultra_murder(mob/living/carbon/carbon_target) + var/picked_severity + switch(strength) + if("Low") + picked_severity = pick_weight(list( + WOUND_SEVERITY_MODERATE = 2, + WOUND_SEVERITY_SEVERE = 1, + )) + if("Moderate") + picked_severity = pick_weight(list( + WOUND_SEVERITY_MODERATE = 1, + WOUND_SEVERITY_SEVERE = 2, + WOUND_SEVERITY_CRITICAL = 1, + )) + if("High") + picked_severity = pick_weight(list( + WOUND_SEVERITY_MODERATE = 1, + WOUND_SEVERITY_SEVERE = 1, + WOUND_SEVERITY_CRITICAL = 3, + )) + if("DEATH") + picked_severity = WOUND_SEVERITY_CRITICAL + + carbon_target.cause_wound_of_type_and_severity(WOUND_SLASH, null, picked_severity) + how_many-- + if(how_many > 0) + addtimer(CALLBACK(src, PROC_REF(ultra_murder), carbon_target), rand(0.5 SECONDS, 1 SECONDS), TIMER_DELETE_ME) diff --git a/maplestation_modules/story_content/common_story/code/story_rapid_status.dm b/maplestation_modules/story_content/common_story/code/story_rapid_status.dm index 8827c7e08c97..8096171e1fbd 100644 --- a/maplestation_modules/story_content/common_story/code/story_rapid_status.dm +++ b/maplestation_modules/story_content/common_story/code/story_rapid_status.dm @@ -27,7 +27,7 @@ log_admin("[key_name(usr)] has rapidly given [key_name(src)] the following preset: [picked]") switch(picked) - if("Herald of Cosmos") // kind of like a super-ascended cosmic heretic without a stargazer and a bit of void sidepathing, no regeneration or protection beyond ehp/speed means they can be worn down. very op + if("Herald of Cosmos") // kind of like a super-ascended cosmic heretic without a stargazer and a bit of void sidepathing, no regeneration or total protection beyond ehp/speed means they can be worn down. very op src?.mind.add_antag_datum(/datum/antagonist/heretic) var/datum/antagonist/heretic/our_heretic = src?.mind.has_antag_datum(/datum/antagonist/heretic) var/list/knowledges_to_grant = list( // cosmic heretic with a sidepath, some void spells and no ascension From 04d28f59008202523d7962b6625302edcd9d93c2 Mon Sep 17 00:00:00 2001 From: Critawakets Date: Sun, 13 Jul 2025 19:17:46 -0400 Subject: [PATCH 05/22] fix the order --- maplestation.dme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maplestation.dme b/maplestation.dme index 6952cbbf810a..dd804f6c3255 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -6793,8 +6793,8 @@ #include "maplestation_modules\story_content\albert_equipment\code\albertclothing.dm" #include "maplestation_modules\story_content\albert_equipment\code\albertitem.dm" #include "maplestation_modules\story_content\alraune_miscitems\code\alrmiscitem.dm" -#include "maplestation_modules\story_content\armored_corps\code\melee\void_blade.dm" #include "maplestation_modules\story_content\armored_corps\code\clothing\aylie_cloak.dm" +#include "maplestation_modules\story_content\armored_corps\code\melee\void_blade.dm" #include "maplestation_modules\story_content\bell_equipment\code\bellclothing.dm" #include "maplestation_modules\story_content\enma_equipment\code\enmaclothes.dm" #include "maplestation_modules\story_content\eveleen_equipment\code\clothing.dm" From 3bcacfb11ff3cf26daf201892aee83a1585fa46e Mon Sep 17 00:00:00 2001 From: Critawakets Date: Sun, 20 Jul 2025 18:53:14 -0400 Subject: [PATCH 06/22] post-merge reordering --- maplestation.dme | 1 + 1 file changed, 1 insertion(+) diff --git a/maplestation.dme b/maplestation.dme index dd804f6c3255..db3a828e4626 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -6802,6 +6802,7 @@ #include "maplestation_modules\story_content\common_story\code\smites\death_from_beyond.dm" #include "maplestation_modules\story_content\common_story\code\story_rapid_status.dm" #include "maplestation_modules\story_content\crit_equipment\code\pendant.dm" +#include "maplestation_modules\story_content\eveleen_equipment\code\clothing.dm" #include "maplestation_modules\story_content\grey_equipment\code\greyclothing.dm" #include "maplestation_modules\story_content\isaac_equipment\code\isaacclothing.dm" #include "maplestation_modules\story_content\jessie_equipment\code\jessie_clothing.dm" From 37bcb138129f2c66921d68f42184b4eafa1ef445 Mon Sep 17 00:00:00 2001 From: Critawakets Date: Sun, 28 Sep 2025 19:49:47 -0400 Subject: [PATCH 07/22] fixes stuff i guess --- maplestation.dme | 2 ++ .../common_story/code/mob/basic/summoned_star_gazer.dm | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/maplestation.dme b/maplestation.dme index db3a828e4626..4b1d1240dccc 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -6801,6 +6801,8 @@ #include "maplestation_modules\story_content\common_story\code\mob\basic\summoned_star_gazer.dm" #include "maplestation_modules\story_content\common_story\code\smites\death_from_beyond.dm" #include "maplestation_modules\story_content\common_story\code\story_rapid_status.dm" +#include "maplestation_modules\story_content\common_story\code\smites\death_from_beyond.dm" +#include "maplestation_modules\story_content\common_story\code\mob\basic\summoned_star_gazer.dm" #include "maplestation_modules\story_content\crit_equipment\code\pendant.dm" #include "maplestation_modules\story_content\eveleen_equipment\code\clothing.dm" #include "maplestation_modules\story_content\grey_equipment\code\greyclothing.dm" diff --git a/maplestation_modules/story_content/common_story/code/mob/basic/summoned_star_gazer.dm b/maplestation_modules/story_content/common_story/code/mob/basic/summoned_star_gazer.dm index 103e0f26f8d0..e51654a6af74 100644 --- a/maplestation_modules/story_content/common_story/code/mob/basic/summoned_star_gazer.dm +++ b/maplestation_modules/story_content/common_story/code/mob/basic/summoned_star_gazer.dm @@ -9,6 +9,6 @@ /mob/living/basic/heretic_summon/star_gazer/summoned/Initialize(mapload) . = ..() - RemoveElement(/datum/element/death_explosion) // slightly hacky way of disabling the death explosion without editing the base star gazer - RemoveElement(/datum/element/effect_trail) + src.RemoveElement(/datum/element/death_explosion) // slightly hacky way of disabling the death explosion without editing the base star gazer + src.RemoveElement(/datum/element/effect_trail) RemoveComponentSource(REF(src), /datum/component/regenerator) From db6dbeb09a6858cb602f7605a0d3ce165fd9aef5 Mon Sep 17 00:00:00 2001 From: Critawakets Date: Sun, 28 Sep 2025 23:59:33 -0400 Subject: [PATCH 08/22] HOPEFULLY FIXES INCLUDES --- maplestation.dme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maplestation.dme b/maplestation.dme index 4b1d1240dccc..3157a99a8064 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -6801,8 +6801,8 @@ #include "maplestation_modules\story_content\common_story\code\mob\basic\summoned_star_gazer.dm" #include "maplestation_modules\story_content\common_story\code\smites\death_from_beyond.dm" #include "maplestation_modules\story_content\common_story\code\story_rapid_status.dm" -#include "maplestation_modules\story_content\common_story\code\smites\death_from_beyond.dm" #include "maplestation_modules\story_content\common_story\code\mob\basic\summoned_star_gazer.dm" +#include "maplestation_modules\story_content\common_story\code\smites\death_from_beyond.dm" #include "maplestation_modules\story_content\crit_equipment\code\pendant.dm" #include "maplestation_modules\story_content\eveleen_equipment\code\clothing.dm" #include "maplestation_modules\story_content\grey_equipment\code\greyclothing.dm" From 55638a461d6f8cbc178cb28c92872a65bbccd3e8 Mon Sep 17 00:00:00 2001 From: Critawakets Date: Sun, 26 Oct 2025 16:19:47 -0400 Subject: [PATCH 09/22] Adds in Hunter's Smoke --- maplestation.dme | 1 + .../code/tevetia_spells/dark_smoke.dm | 32 +++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 maplestation_modules/story_content/crit_equipment/code/tevetia_spells/dark_smoke.dm diff --git a/maplestation.dme b/maplestation.dme index 3157a99a8064..52f62ad03f87 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -6803,6 +6803,7 @@ #include "maplestation_modules\story_content\common_story\code\story_rapid_status.dm" #include "maplestation_modules\story_content\common_story\code\mob\basic\summoned_star_gazer.dm" #include "maplestation_modules\story_content\common_story\code\smites\death_from_beyond.dm" +#include "maplestation_modules\story_content\crit_equipment\code\tevetia_spells\dark_smoke.dm" #include "maplestation_modules\story_content\crit_equipment\code\pendant.dm" #include "maplestation_modules\story_content\eveleen_equipment\code\clothing.dm" #include "maplestation_modules\story_content\grey_equipment\code\greyclothing.dm" diff --git a/maplestation_modules/story_content/crit_equipment/code/tevetia_spells/dark_smoke.dm b/maplestation_modules/story_content/crit_equipment/code/tevetia_spells/dark_smoke.dm new file mode 100644 index 000000000000..1964c8a98708 --- /dev/null +++ b/maplestation_modules/story_content/crit_equipment/code/tevetia_spells/dark_smoke.dm @@ -0,0 +1,32 @@ +/datum/action/cooldown/spell/smoke/tevetia + name = "Hunter's Smoke" + desc = "This spell spawns a cloud of black smoke at your location. \ + It will also give thermal vision, allowing you to see who is inside." + + cooldown_time = 25 SECONDS + + smoke_type = /datum/effect_system/fluid_spread/smoke/tevetia + smoke_amt = 5 + +/datum/effect_system/fluid_spread/smoke/tevetia + effect_type = /obj/effect/particle_effect/fluid/smoke/tevetia + +/obj/effect/particle_effect/fluid/smoke/tevetia + name = "black smoke" + color = "#1b1b1b" + lifetime = 16 SECONDS + +/datum/action/cooldown/spell/smoke/tevetia/Remove(mob/living/remove_from) + REMOVE_TRAIT(remove_from, TRAIT_THERMAL_VISION, MAGIC_TRAIT) + remove_from.update_sight() + return ..() + +/datum/action/cooldown/spell/smoke/tevetia/cast(mob/cast_on) + . = ..() + ADD_TRAIT(cast_on, TRAIT_THERMAL_VISION, MAGIC_TRAIT) + cast_on.update_sight() + addtimer(CALLBACK(src, PROC_REF(deactivate), cast_on), 17 SECONDS) //+1 second in order to account for smoke easing out + +/datum/action/cooldown/spell/smoke/tevetia/proc/deactivate(mob/cast_on) + REMOVE_TRAIT(cast_on, TRAIT_THERMAL_VISION, MAGIC_TRAIT) + cast_on.update_sight() From acc0913035ef8ed8d72667447557a80926e8cc6c Mon Sep 17 00:00:00 2001 From: Critawakets Date: Sun, 26 Oct 2025 18:57:28 -0400 Subject: [PATCH 10/22] Fixes merge conflict resolution --- maplestation.dme | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/maplestation.dme b/maplestation.dme index 52f62ad03f87..690143ad762a 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -6796,8 +6796,6 @@ #include "maplestation_modules\story_content\armored_corps\code\clothing\aylie_cloak.dm" #include "maplestation_modules\story_content\armored_corps\code\melee\void_blade.dm" #include "maplestation_modules\story_content\bell_equipment\code\bellclothing.dm" -#include "maplestation_modules\story_content\enma_equipment\code\enmaclothes.dm" -#include "maplestation_modules\story_content\eveleen_equipment\code\clothing.dm" #include "maplestation_modules\story_content\common_story\code\mob\basic\summoned_star_gazer.dm" #include "maplestation_modules\story_content\common_story\code\smites\death_from_beyond.dm" #include "maplestation_modules\story_content\common_story\code\story_rapid_status.dm" @@ -6805,6 +6803,7 @@ #include "maplestation_modules\story_content\common_story\code\smites\death_from_beyond.dm" #include "maplestation_modules\story_content\crit_equipment\code\tevetia_spells\dark_smoke.dm" #include "maplestation_modules\story_content\crit_equipment\code\pendant.dm" +#include "maplestation_modules\story_content\enma_equipment\code\enmaclothes.dm" #include "maplestation_modules\story_content\eveleen_equipment\code\clothing.dm" #include "maplestation_modules\story_content\grey_equipment\code\greyclothing.dm" #include "maplestation_modules\story_content\isaac_equipment\code\isaacclothing.dm" From d3c31f3c6218a80cf8eab4ea2affbbeec988c4e6 Mon Sep 17 00:00:00 2001 From: Critawakets Date: Sun, 2 Nov 2025 19:01:54 -0500 Subject: [PATCH 11/22] yeah ok --- maplestation.dme | 2 -- 1 file changed, 2 deletions(-) diff --git a/maplestation.dme b/maplestation.dme index 690143ad762a..9c55dce55c33 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -6799,8 +6799,6 @@ #include "maplestation_modules\story_content\common_story\code\mob\basic\summoned_star_gazer.dm" #include "maplestation_modules\story_content\common_story\code\smites\death_from_beyond.dm" #include "maplestation_modules\story_content\common_story\code\story_rapid_status.dm" -#include "maplestation_modules\story_content\common_story\code\mob\basic\summoned_star_gazer.dm" -#include "maplestation_modules\story_content\common_story\code\smites\death_from_beyond.dm" #include "maplestation_modules\story_content\crit_equipment\code\tevetia_spells\dark_smoke.dm" #include "maplestation_modules\story_content\crit_equipment\code\pendant.dm" #include "maplestation_modules\story_content\enma_equipment\code\enmaclothes.dm" From 88477d2912e8979472402f7ecaa17183954f6ecc Mon Sep 17 00:00:00 2001 From: Critawakets Date: Sun, 2 Nov 2025 19:06:36 -0500 Subject: [PATCH 12/22] ONE DAY I WILL LEARN THE ALPHABET --- maplestation.dme | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/maplestation.dme b/maplestation.dme index 9c55dce55c33..fbccf1062d8a 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -6796,11 +6796,11 @@ #include "maplestation_modules\story_content\armored_corps\code\clothing\aylie_cloak.dm" #include "maplestation_modules\story_content\armored_corps\code\melee\void_blade.dm" #include "maplestation_modules\story_content\bell_equipment\code\bellclothing.dm" +#include "maplestation_modules\story_content\common_story\code\story_rapid_status.dm" #include "maplestation_modules\story_content\common_story\code\mob\basic\summoned_star_gazer.dm" #include "maplestation_modules\story_content\common_story\code\smites\death_from_beyond.dm" -#include "maplestation_modules\story_content\common_story\code\story_rapid_status.dm" -#include "maplestation_modules\story_content\crit_equipment\code\tevetia_spells\dark_smoke.dm" #include "maplestation_modules\story_content\crit_equipment\code\pendant.dm" +#include "maplestation_modules\story_content\crit_equipment\code\tevetia_spells\dark_smoke.dm" #include "maplestation_modules\story_content\enma_equipment\code\enmaclothes.dm" #include "maplestation_modules\story_content\eveleen_equipment\code\clothing.dm" #include "maplestation_modules\story_content\grey_equipment\code\greyclothing.dm" From c9dfbb4fe71a724a8ebb497cd6d8adacb877456a Mon Sep 17 00:00:00 2001 From: Critawakets Date: Sun, 16 Nov 2025 17:16:12 -0500 Subject: [PATCH 13/22] Adds in the Grand Library's confidential works --- maplestation.dme | 3 +- .../library_confidential_works.dmm | 879 ++++++++++++++++++ .../common_story/code/story_lazy_template.dm | 41 + .../crit_equipment/code/areas.dm | 25 + .../crit_equipment/code/library/invitation.dm | 45 + .../crit_equipment/icons/areas_library.dmi | Bin 0 -> 1499 bytes .../crit_equipment/icons/library_card.dmi | Bin 0 -> 412 bytes 7 files changed, 991 insertions(+), 2 deletions(-) create mode 100644 maplestation_modules/story_content/_maps/templates/lazy_templates/library_confidential_works.dmm create mode 100644 maplestation_modules/story_content/common_story/code/story_lazy_template.dm create mode 100644 maplestation_modules/story_content/crit_equipment/code/areas.dm create mode 100644 maplestation_modules/story_content/crit_equipment/code/library/invitation.dm create mode 100644 maplestation_modules/story_content/crit_equipment/icons/areas_library.dmi create mode 100644 maplestation_modules/story_content/crit_equipment/icons/library_card.dmi diff --git a/maplestation.dme b/maplestation.dme index fbccf1062d8a..930f2e642327 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -6789,7 +6789,6 @@ #include "maplestation_modules\code\modules\vending\wardrobes.dm" #include "maplestation_modules\code\modules\wiremod\component_printer.dm" #include "maplestation_modules\code\modules\wiremod\shells.dm" -#ifdef MAPLESTATION_STORY_CONTENT #include "maplestation_modules\story_content\albert_equipment\code\albertclothing.dm" #include "maplestation_modules\story_content\albert_equipment\code\albertitem.dm" #include "maplestation_modules\story_content\alraune_miscitems\code\alrmiscitem.dm" @@ -6799,6 +6798,7 @@ #include "maplestation_modules\story_content\common_story\code\story_rapid_status.dm" #include "maplestation_modules\story_content\common_story\code\mob\basic\summoned_star_gazer.dm" #include "maplestation_modules\story_content\common_story\code\smites\death_from_beyond.dm" +#include "maplestation_modules\story_content\crit_equipment\code\areas.dm" #include "maplestation_modules\story_content\crit_equipment\code\pendant.dm" #include "maplestation_modules\story_content\crit_equipment\code\tevetia_spells\dark_smoke.dm" #include "maplestation_modules\story_content\enma_equipment\code\enmaclothes.dm" @@ -6830,5 +6830,4 @@ #include "maplestation_modules\story_content\volkan_equipment\code\volkanpets_ai.dm" #include "maplestation_modules\story_content\volkan_equipment\datums\loadout_datum.dm" #include "maplestation_modules\story_content\wollys_items\code\wollysitems.dm" -#endif // MAPLESTATION_STORY_CONTENT // END_INCLUDE diff --git a/maplestation_modules/story_content/_maps/templates/lazy_templates/library_confidential_works.dmm b/maplestation_modules/story_content/_maps/templates/lazy_templates/library_confidential_works.dmm new file mode 100644 index 000000000000..028c38e22f30 --- /dev/null +++ b/maplestation_modules/story_content/_maps/templates/lazy_templates/library_confidential_works.dmm @@ -0,0 +1,879 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ai" = ( +/obj/structure/closet, +/obj/item/melee/maple_plasma_blade, +/obj/item/knife/combat/survival, +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/reception) +"ax" = ( +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron/dark, +/area/grand_library/confidential_dept) +"aD" = ( +/obj/structure/filingcabinet, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light/directional/south, +/turf/open/floor/iron/dark, +/area/grand_library/confidential_dept) +"dc" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/structure/filingcabinet/chestdrawer, +/turf/open/floor/iron/dark, +/area/grand_library/confidential_dept) +"dg" = ( +/obj/structure/table/wood, +/obj/item/paper_bin, +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/librarian) +"dC" = ( +/obj/machinery/light/small/dim/directional/north, +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/librarian) +"dS" = ( +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/observation) +"em" = ( +/obj/structure/table/wood, +/obj/machinery/coffeemaker/impressa, +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/reception) +"eN" = ( +/obj/structure/table/wood, +/obj/item/storage/box/coffeepack, +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/reception) +"fb" = ( +/obj/machinery/light/small/dim/directional/north, +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/observation) +"gM" = ( +/obj/structure/chair/comfy/brown{ + dir = 1 + }, +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/observation) +"hd" = ( +/turf/closed/indestructible/syndicate, +/area/grand_library/confidential_dept/librarian) +"hf" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/grand_library/confidential_dept) +"jf" = ( +/turf/open/space/basic, +/area/space) +"ks" = ( +/obj/structure/table/wood, +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/reception) +"lw" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/structure/filingcabinet/chestdrawer, +/obj/structure/filingcabinet/chestdrawer, +/turf/open/floor/iron/dark, +/area/grand_library/confidential_dept) +"mG" = ( +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/librarian) +"qe" = ( +/obj/structure/chair/sofa/corp/right{ + dir = 8 + }, +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/reception) +"qn" = ( +/obj/structure/closet, +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/librarian) +"sy" = ( +/obj/structure/filingcabinet, +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/librarian) +"tO" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light/dim/directional/west, +/turf/open/floor/iron/dark, +/area/grand_library/confidential_dept) +"ui" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/iron/dark, +/area/grand_library/confidential_dept) +"ws" = ( +/obj/structure/chair/sofa/corp/corner{ + dir = 8 + }, +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/reception) +"xF" = ( +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/reception) +"xP" = ( +/obj/structure/filingcabinet, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/grand_library/confidential_dept) +"yy" = ( +/obj/structure/sink/directional/east{ + pixel_y = -8 + }, +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/librarian) +"Ci" = ( +/obj/machinery/light/small/dim/directional/south, +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/reception) +"Co" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green, +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/librarian) +"Cu" = ( +/obj/machinery/door/airlock/vault, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/grand_library/confidential_dept/librarian) +"Dc" = ( +/obj/machinery/light/dim/directional/south, +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/observation) +"Dz" = ( +/obj/structure/chair/comfy/black{ + dir = 1 + }, +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/librarian) +"Ey" = ( +/obj/structure/filingcabinet, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/filingcabinet, +/turf/open/floor/iron/dark, +/area/grand_library/confidential_dept) +"EM" = ( +/obj/structure/table/wood, +/obj/machinery/coffeemaker/impressa, +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/librarian) +"Fa" = ( +/obj/machinery/light/small/dim/directional/south, +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/librarian) +"Fr" = ( +/obj/structure/table/wood, +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/librarian) +"HO" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/structure/filingcabinet/chestdrawer, +/turf/open/floor/iron/dark, +/area/grand_library/confidential_dept) +"IQ" = ( +/turf/closed/indestructible/opsglass, +/area/grand_library/confidential_dept/observation) +"Jk" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/structure/filingcabinet/chestdrawer, +/obj/machinery/light/floor, +/turf/open/floor/iron/dark, +/area/grand_library/confidential_dept) +"Ll" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green, +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/reception) +"Ng" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/filingcabinet/chestdrawer, +/turf/open/floor/iron/dark, +/area/grand_library/confidential_dept) +"Or" = ( +/obj/structure/chair/sofa/corp{ + dir = 8 + }, +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/reception) +"OD" = ( +/obj/structure/filingcabinet, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light/directional/north, +/turf/open/floor/iron/dark, +/area/grand_library/confidential_dept) +"Pc" = ( +/obj/structure/filingcabinet, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/iron/dark, +/area/grand_library/confidential_dept) +"PK" = ( +/turf/closed/indestructible/fakedoor, +/area/grand_library/confidential_dept/librarian) +"QZ" = ( +/turf/closed/indestructible/fakedoor, +/area/grand_library/confidential_dept/observation) +"Ru" = ( +/obj/structure/filingcabinet, +/obj/machinery/light/small/dim/directional/north, +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/librarian) +"SY" = ( +/turf/closed/indestructible/syndicate, +/area/grand_library/confidential_dept/reception) +"Tb" = ( +/obj/machinery/door/airlock/vault, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/grand_library/confidential_dept/reception) +"TD" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/grand_library/confidential_dept) +"Ue" = ( +/obj/structure/dresser, +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/reception) +"UH" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron/dark, +/area/grand_library/confidential_dept) +"Vm" = ( +/obj/structure/chair/comfy/black, +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/librarian) +"WI" = ( +/obj/structure/closet, +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/reception) +"Xp" = ( +/turf/closed/indestructible/syndicate, +/area/grand_library/confidential_dept/observation) +"XM" = ( +/obj/structure/chair/sofa/corp/left{ + dir = 1 + }, +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/reception) +"YL" = ( +/turf/closed/indestructible/syndicate, +/area/grand_library/confidential_dept) +"Zs" = ( +/obj/machinery/light/small/dim/directional/north, +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/reception) +"ZJ" = ( +/obj/machinery/light/small/dim/directional/west, +/turf/open/floor/carpet/black, +/area/grand_library/confidential_dept/reception) + +(1,1,1) = {" +YL +YL +YL +YL +YL +YL +YL +YL +YL +YL +YL +YL +hd +hd +PK +hd +hd +hd +hd +"} +(2,1,1) = {" +YL +xP +hf +tO +dc +dc +ax +dc +UH +tO +hf +Ey +hd +Ru +mG +yy +EM +Fr +hd +"} +(3,1,1) = {" +YL +xP +hf +hf +HO +UH +HO +UH +UH +hf +hf +hf +hd +sy +mG +mG +mG +Fa +hd +"} +(4,1,1) = {" +YL +xP +hf +hf +HO +HO +UH +UH +UH +hf +hf +hf +Cu +mG +mG +Co +Fr +mG +hd +"} +(5,1,1) = {" +YL +xP +hf +hf +UH +UH +UH +UH +UH +hf +hf +hf +hd +mG +Vm +Fr +Dz +Fa +hd +"} +(6,1,1) = {" +YL +xP +hf +hf +HO +UH +HO +UH +UH +hf +hf +xP +hd +dC +Vm +dg +sy +qn +hd +"} +(7,1,1) = {" +YL +OD +hf +hf +UH +UH +UH +UH +UH +hf +hf +aD +hd +hd +hd +hd +hd +hd +hd +"} +(8,1,1) = {" +YL +xP +hf +hf +UH +HO +UH +HO +UH +hf +hf +xP +Xp +dS +dS +dS +dS +Xp +jf +"} +(9,1,1) = {" +YL +xP +hf +hf +HO +HO +Jk +lw +HO +hf +hf +xP +IQ +dS +gM +dS +dS +Xp +jf +"} +(10,1,1) = {" +YL +xP +hf +hf +UH +UH +UH +UH +UH +hf +hf +xP +IQ +dS +gM +dS +Dc +Xp +jf +"} +(11,1,1) = {" +YL +xP +hf +hf +ax +ax +ax +ax +UH +hf +hf +xP +IQ +dS +gM +dS +dS +Xp +jf +"} +(12,1,1) = {" +YL +OD +hf +hf +UH +UH +UH +UH +HO +Ng +hf +Pc +Xp +fb +dS +dS +dS +Xp +jf +"} +(13,1,1) = {" +YL +xP +hf +hf +HO +HO +Jk +HO +HO +Ng +hf +xP +IQ +dS +gM +dS +dS +QZ +jf +"} +(14,1,1) = {" +YL +xP +hf +hf +UH +UH +UH +UH +UH +hf +hf +xP +IQ +dS +gM +dS +dS +Xp +jf +"} +(15,1,1) = {" +YL +xP +hf +hf +UH +UH +UH +UH +UH +hf +hf +xP +IQ +dS +gM +dS +dS +Xp +jf +"} +(16,1,1) = {" +YL +xP +hf +hf +UH +UH +UH +HO +HO +hf +hf +xP +IQ +dS +gM +dS +dS +Xp +jf +"} +(17,1,1) = {" +YL +xP +hf +Ng +HO +HO +Jk +HO +HO +hf +hf +xP +IQ +dS +gM +dS +dS +QZ +jf +"} +(18,1,1) = {" +YL +OD +hf +hf +UH +UH +UH +UH +UH +hf +hf +Pc +Xp +fb +dS +dS +dS +Xp +jf +"} +(19,1,1) = {" +YL +xP +hf +hf +UH +UH +UH +UH +UH +hf +hf +xP +IQ +dS +gM +dS +dS +Xp +jf +"} +(20,1,1) = {" +YL +xP +hf +hf +ax +ax +ax +ax +UH +hf +hf +xP +IQ +dS +gM +dS +Dc +Xp +jf +"} +(21,1,1) = {" +YL +xP +hf +hf +UH +HO +UH +UH +UH +hf +hf +xP +IQ +dS +gM +dS +dS +Xp +jf +"} +(22,1,1) = {" +YL +xP +hf +hf +HO +HO +Jk +HO +UH +hf +hf +xP +Xp +dS +dS +dS +dS +Xp +jf +"} +(23,1,1) = {" +YL +OD +hf +hf +UH +UH +UH +UH +UH +hf +hf +aD +SY +SY +SY +SY +SY +SY +SY +"} +(24,1,1) = {" +YL +xP +hf +hf +UH +UH +UH +UH +UH +hf +hf +xP +SY +eN +em +ks +ZJ +Ue +SY +"} +(25,1,1) = {" +YL +xP +hf +hf +UH +HO +HO +HO +HO +hf +hf +hf +SY +Zs +xF +xF +xF +WI +SY +"} +(26,1,1) = {" +YL +xP +hf +hf +UH +UH +UH +HO +UH +hf +hf +hf +Tb +xF +xF +xF +xF +Ci +SY +"} +(27,1,1) = {" +YL +xP +hf +hf +UH +UH +UH +UH +UH +hf +hf +hf +SY +ai +xF +xF +xF +XM +SY +"} +(28,1,1) = {" +YL +xP +hf +ui +TD +TD +TD +TD +UH +ui +hf +xP +SY +Ll +qe +Or +Or +ws +SY +"} +(29,1,1) = {" +YL +YL +YL +YL +YL +YL +YL +YL +YL +YL +YL +YL +SY +SY +SY +SY +SY +SY +SY +"} diff --git a/maplestation_modules/story_content/common_story/code/story_lazy_template.dm b/maplestation_modules/story_content/common_story/code/story_lazy_template.dm new file mode 100644 index 000000000000..d430cf8146aa --- /dev/null +++ b/maplestation_modules/story_content/common_story/code/story_lazy_template.dm @@ -0,0 +1,41 @@ +#define STORY_LAZY_TEMPLATE_KEY_CONFIDENTIAL_WORKS "LT_CONFIDENTIALWORKS" + +#define STORY_LAZY_TEMPLATE_KEY_LIST_ALL(...) list( \ + "Department of Confidential Works" = STORY_LAZY_TEMPLATE_KEY_CONFIDENTIAL_WORKS, \ +) + +/datum/lazy_template/story + map_dir = "maplestation_modules/story_content/_maps/templates/lazy_templates" + +/datum/lazy_template/story/confidential_works + key = STORY_LAZY_TEMPLATE_KEY_CONFIDENTIAL_WORKS + map_name = "library_confidential_works" + +// version of the lazy template loader with story maps instead +ADMIN_VERB(load_story_lazy_template, R_ADMIN, "Load/Jump Story Lazy Template", "Loads a lazy template and/or jumps to it.", ADMIN_CATEGORY_EVENTS) + var/list/choices = STORY_LAZY_TEMPLATE_KEY_LIST_ALL() + var/choice = tgui_input_list(user, "Key?", "Lazy Loader", choices) + if(!choice) + return + + choice = choices[choice] + if(!choice) + to_chat(user, span_warning("No template with that key found, report this!")) + return + + var/already_loaded = LAZYACCESS(SSmapping.loaded_lazy_templates, choice) + var/force_load = FALSE + if(already_loaded && (tgui_alert(user, "Template already loaded.", "", list("Jump", "Load Again")) == "Load Again")) + force_load = TRUE + + var/datum/turf_reservation/reservation = SSmapping.lazy_load_template(choice, force = force_load) + if(!reservation) + to_chat(user, span_boldwarning("Failed to load template!")) + return + + if(!isobserver(user.mob)) + SSadmin_verbs.dynamic_invoke_verb(user, /datum/admin_verb/admin_ghost) + user.mob.forceMove(reservation.bottom_left_turfs[1]) + + message_admins("[key_name_admin(user)] has loaded lazy template '[choice]'") + to_chat(user, span_boldnicegreen("Template loaded, you have been moved to the bottom left of the reservation.")) diff --git a/maplestation_modules/story_content/crit_equipment/code/areas.dm b/maplestation_modules/story_content/crit_equipment/code/areas.dm new file mode 100644 index 000000000000..8e1531f0689a --- /dev/null +++ b/maplestation_modules/story_content/crit_equipment/code/areas.dm @@ -0,0 +1,25 @@ +/area/grand_library + name = "Grand Library" + icon = 'maplestation_modules/story_content/crit_equipment/icons/areas_library.dmi' + icon_state = "grand_library" + static_lighting = TRUE + requires_power = FALSE + has_gravity = STANDARD_GRAVITY + area_flags = UNIQUE_AREA | NOTELEPORT + flags_1 = NONE + +/area/grand_library/confidential_dept + name = "Department of Confidential Works" + icon_state = "conf_dept" + +/area/grand_library/confidential_dept/reception + name = "Confidential Works Reception" + icon_state = "conf_reception" + +/area/grand_library/confidential_dept/librarian + name = "Confidential Works Librarian's Room" + icon_state = "conf_librarian" + +/area/grand_library/confidential_dept/observation + name = "Confidential Works Observation Deck" + icon_state = "conf_observation" diff --git a/maplestation_modules/story_content/crit_equipment/code/library/invitation.dm b/maplestation_modules/story_content/crit_equipment/code/library/invitation.dm new file mode 100644 index 000000000000..14005b05574c --- /dev/null +++ b/maplestation_modules/story_content/crit_equipment/code/library/invitation.dm @@ -0,0 +1,45 @@ +/obj/item/grand_library_invitation + name = "\improper Grand Library Invitation" + desc = "If you see this, somebody messed up and didn't use the proper subtype." + icon = 'maplestation_modules/story_content/crit_equipment/icons/library_card.dmi' + icon_state = "invitation_conf" + w_class = WEIGHT_CLASS_SMALL + var/area_to_send_to = /area/station/commons/toilet/restrooms + +/obj/item/grand_library_invitation/attack_self(mob/user, modifiers) + if(user.stat != CONSCIOUS) + return + + if(!length(get_areas(areatype = area_to_send_to, subtypes = FALSE))) // check if our target area does not exist + to_chat(user, span_warning("The card is dim. It does not seem possible to use it at this moment.")) + return + + if(tgui_alert(user, "Are you sure you want to head into the Grand Library?", "Library Invitation", list("Yes", "No")) != "Yes") + return + + teleport_to_library(user) + +/obj/item/grand_library_invitation/examine(mob/user) + . = ..() + . += span_notice("Use in hand to teleport to the Grand Library.") + +/obj/item/grand_library_invitation/proc/teleport_to_library(mob/user) + var/list/valid_turfs = list() + for(var/turf/possible_destination as anything in get_area_turfs(area_to_send_to)) + if(isspaceturf(possible_destination)) + continue + if(possible_destination.density) + continue + if(possible_destination.is_blocked_turf(exclude_mobs = TRUE)) + continue + + valid_turfs += possible_destination + + do_teleport(user, pick(valid_turfs), asoundout = 'sound/magic/teleport_app.ogg', channel = TELEPORT_CHANNEL_MAGIC, forced = TRUE) + + qdel(src) + +/obj/item/grand_library_invitation/confidential_works + desc = "A black, gray and white card with a book on it." + icon_state = "invitation_conf" + area_to_send_to = /area/grand_library/confidential_dept/reception diff --git a/maplestation_modules/story_content/crit_equipment/icons/areas_library.dmi b/maplestation_modules/story_content/crit_equipment/icons/areas_library.dmi new file mode 100644 index 0000000000000000000000000000000000000000..fef97e72dad5927c2f87f41a5184bcd9ae203a42 GIT binary patch literal 1499 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGoE2}~xN?cNllZ!G7N;32F7#J$% z^qxD*)odWZ@}T&WNcTPO|Lb;&cz;~5Ug2U+N#^c}zN@~xt={k@V(-}l#|iAVqo)gU(2?n&cnO&q#6tJO#V4Z%cd%KCOlX$Rs8o6)&Ezz z-^--MmF|rwJKG$!@l)K@*o6BQGMCLXZ#EaktG3RaU*-9Bj9?_pc?z24jKPu)O4&BN7{DD$T`)LL7 zWaB7K&jSkA7MIVIPjgt!{)l(=O<#r&>@pJ{e$Q^&uD*QReBnK|Ra;^|9Nt{W(7=-K zFIi{5KJWYCpL$2G7pOBN*mCZ+kWUb1Vz@SO!{pD5985*$)_<+5?K%JOQ&G?9rB>YM z)Dq2~Gb@0^HJ7&Ea{OAT>91)U@bsy~^y$g3>UuVN+_?CY;Sh($aozUJchlD$oZ)+D z-8pszjsxe8*~T!H*7qj@mE8Qv(B-*9jsf%Iz2&n4Ys6GW<}D zz3|xMuj{$(d)&FlrLiOW6*drb)XwMlVlbMx!RMeh=fwU#TaQfOVMHuZ|NCi4lEIf9=z zHfK9&v_~thQb;+&YkBF2)uVzMjkM%zZqnf-a-X8#@E9hx#(0v5JuO+UBt)~qdiHdu2m;(8TXH*HE^gk5EBdb-fIV8`@zSw^Mx z^F1p>()BgpTL^7aOt>okV)w)itc;6cy)du%y97vFb=>Nj|^=ols){ua-$&q&Ej&1J4=pn6iT z%G+&D7nTdg@Y#G1I+PLgn(yu7@621?Ge=wwTk__Gs@t1e`&jPqZE`iOYFB?K>2|01 zw{EoEt^8XCv8-PuHYWd0U2^qvgQ>BfFxTwK1-5riUwCJ@$XrDy?|++$)^*|c!I4*v zd|moZI`Dwths-lB$|@7~mTVH9wQ9xGw>{R*vFB2Kf}cv{a6Fn6{JQofE6Zx7hjC30 zULAQl>$h&i$G(Otz71i0qCH|E(h;nQ?FD>Uy*+UOi(P*AF$gS@J3vtDkyUFf!F9BjU!EzVJUb$=@>bCpX>=GtVkZf3)puNmr2 zEA8Gzb^5%E*uC^s0_TLhZ6>Q)LqjvG_9wRN_*0d%WT}PnK7McjDjbkR3)$rMEmP|6 zu~jI!VGVJhhPCX5@2`CEZjffYxANt5Mr)=WbL6$Yu1g4w`cZzUATEIS{FM*YN8iNz z9$7wZ*|Ph}5lmrEkH^b?mD!+VFZcM9SLd()4TtTf{>k#>KYlyF%l*NB{(z_Zvo9ak z{G#@@E!Tk0d!JMQvg8b*k%9#0C0L#Sad{Xb7OL8aCB*J zZU6vyoKseCa&`CgQ*iP10J%v-K~yM_b<9AP$WnpJm&;R+G@)Oz-kK{0!&+ycsDCSCd|ajFPT6LR)BL; z4zvR2hQJk;p5I5BxWYp7jKiHP8jwi`GU)+H4@eH+@4Nv}t1!$NPtZdE0000 Date: Sun, 16 Nov 2025 17:44:30 -0500 Subject: [PATCH 14/22] Fixed up dme, story lazy templates are now more modular --- maplestation.dme | 5 +++++ .../common_story/code/story_lazy_template.dm | 18 +++++++----------- .../code/library/lazy_templates.dm | 6 ++++++ 3 files changed, 18 insertions(+), 11 deletions(-) create mode 100644 maplestation_modules/story_content/crit_equipment/code/library/lazy_templates.dm diff --git a/maplestation.dme b/maplestation.dme index 930f2e642327..6af0bb24abca 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -6789,6 +6789,7 @@ #include "maplestation_modules\code\modules\vending\wardrobes.dm" #include "maplestation_modules\code\modules\wiremod\component_printer.dm" #include "maplestation_modules\code\modules\wiremod\shells.dm" +#ifdef MAPLESTATION_STORY_CONTENT #include "maplestation_modules\story_content\albert_equipment\code\albertclothing.dm" #include "maplestation_modules\story_content\albert_equipment\code\albertitem.dm" #include "maplestation_modules\story_content\alraune_miscitems\code\alrmiscitem.dm" @@ -6796,10 +6797,13 @@ #include "maplestation_modules\story_content\armored_corps\code\melee\void_blade.dm" #include "maplestation_modules\story_content\bell_equipment\code\bellclothing.dm" #include "maplestation_modules\story_content\common_story\code\story_rapid_status.dm" +#include "maplestation_modules\story_content\common_story\code\story_lazy_template.dm" #include "maplestation_modules\story_content\common_story\code\mob\basic\summoned_star_gazer.dm" #include "maplestation_modules\story_content\common_story\code\smites\death_from_beyond.dm" #include "maplestation_modules\story_content\crit_equipment\code\areas.dm" #include "maplestation_modules\story_content\crit_equipment\code\pendant.dm" +#include "maplestation_modules\story_content\crit_equipment\code\library\invitation.dm" +#include "maplestation_modules\story_content\crit_equipment\code\library\lazy_templates.dm" #include "maplestation_modules\story_content\crit_equipment\code\tevetia_spells\dark_smoke.dm" #include "maplestation_modules\story_content\enma_equipment\code\enmaclothes.dm" #include "maplestation_modules\story_content\eveleen_equipment\code\clothing.dm" @@ -6830,4 +6834,5 @@ #include "maplestation_modules\story_content\volkan_equipment\code\volkanpets_ai.dm" #include "maplestation_modules\story_content\volkan_equipment\datums\loadout_datum.dm" #include "maplestation_modules\story_content\wollys_items\code\wollysitems.dm" +#endif // MAPLESTATION_STORY_CONTENT // END_INCLUDE diff --git a/maplestation_modules/story_content/common_story/code/story_lazy_template.dm b/maplestation_modules/story_content/common_story/code/story_lazy_template.dm index d430cf8146aa..54f34a6ba89b 100644 --- a/maplestation_modules/story_content/common_story/code/story_lazy_template.dm +++ b/maplestation_modules/story_content/common_story/code/story_lazy_template.dm @@ -1,19 +1,15 @@ -#define STORY_LAZY_TEMPLATE_KEY_CONFIDENTIAL_WORKS "LT_CONFIDENTIALWORKS" - -#define STORY_LAZY_TEMPLATE_KEY_LIST_ALL(...) list( \ - "Department of Confidential Works" = STORY_LAZY_TEMPLATE_KEY_CONFIDENTIAL_WORKS, \ -) - /datum/lazy_template/story map_dir = "maplestation_modules/story_content/_maps/templates/lazy_templates" - -/datum/lazy_template/story/confidential_works - key = STORY_LAZY_TEMPLATE_KEY_CONFIDENTIAL_WORKS - map_name = "library_confidential_works" + // The name of the map that's shown to the user + var/shown_map_name // version of the lazy template loader with story maps instead ADMIN_VERB(load_story_lazy_template, R_ADMIN, "Load/Jump Story Lazy Template", "Loads a lazy template and/or jumps to it.", ADMIN_CATEGORY_EVENTS) - var/list/choices = STORY_LAZY_TEMPLATE_KEY_LIST_ALL() + var/list/choices = new() + for(var/datum/lazy_template/story/template as anything in subtypesof(/datum/lazy_template/story)) + choices += template.shown_map_name + choices[template.shown_map_name] += template.key + var/choice = tgui_input_list(user, "Key?", "Lazy Loader", choices) if(!choice) return diff --git a/maplestation_modules/story_content/crit_equipment/code/library/lazy_templates.dm b/maplestation_modules/story_content/crit_equipment/code/library/lazy_templates.dm new file mode 100644 index 000000000000..ae1c64fad042 --- /dev/null +++ b/maplestation_modules/story_content/crit_equipment/code/library/lazy_templates.dm @@ -0,0 +1,6 @@ +#define STORY_LAZY_TEMPLATE_KEY_CONFIDENTIAL_WORKS "LT_CONFIDENTIALWORKS" + +/datum/lazy_template/story/confidential_works + key = STORY_LAZY_TEMPLATE_KEY_CONFIDENTIAL_WORKS + map_name = "library_confidential_works" + shown_map_name = "Department of Confidential Works" From e0802f533a72e23cc5bf3db99d6cc43bb81157ea Mon Sep 17 00:00:00 2001 From: Critawakets Date: Sun, 16 Nov 2025 18:00:36 -0500 Subject: [PATCH 15/22] Observing the newly loaded lazy template is a choice now --- .../common_story/code/story_lazy_template.dm | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/maplestation_modules/story_content/common_story/code/story_lazy_template.dm b/maplestation_modules/story_content/common_story/code/story_lazy_template.dm index 54f34a6ba89b..fa51f3026bab 100644 --- a/maplestation_modules/story_content/common_story/code/story_lazy_template.dm +++ b/maplestation_modules/story_content/common_story/code/story_lazy_template.dm @@ -29,9 +29,17 @@ ADMIN_VERB(load_story_lazy_template, R_ADMIN, "Load/Jump Story Lazy Template", " to_chat(user, span_boldwarning("Failed to load template!")) return - if(!isobserver(user.mob)) - SSadmin_verbs.dynamic_invoke_verb(user, /datum/admin_verb/admin_ghost) - user.mob.forceMove(reservation.bottom_left_turfs[1]) - message_admins("[key_name_admin(user)] has loaded lazy template '[choice]'") - to_chat(user, span_boldnicegreen("Template loaded, you have been moved to the bottom left of the reservation.")) + if(!already_loaded || force_load) + if(tgui_alert(user, "Do you want to observe the newly loaded lazy template? (Will admin ghost if not already an observer.)", "Check Loaded Template?", list("Yes", "No")) == "Yes") + if(!isobserver(user.mob)) + SSadmin_verbs.dynamic_invoke_verb(user, /datum/admin_verb/admin_ghost) + user.mob.forceMove(reservation.bottom_left_turfs[1]) + to_chat(user, span_boldnicegreen("Template loaded, you have been moved to the bottom left of the reservation.")) + else + to_chat(user, span_boldnicegreen("Template loaded.")) + else // repeat of the admin_ghost/forcemove code, not many cleaner ways of doing this + if(!isobserver(user.mob)) + SSadmin_verbs.dynamic_invoke_verb(user, /datum/admin_verb/admin_ghost) + user.mob.forceMove(reservation.bottom_left_turfs[1]) + to_chat(user, span_boldnicegreen("Template loaded, you have been moved to the bottom left of the reservation.")) From ebefbb23bb68010c2de49131375a0858c8c664a6 Mon Sep 17 00:00:00 2001 From: Critawakets Date: Sun, 16 Nov 2025 18:59:20 -0500 Subject: [PATCH 16/22] Adds in a kanabo. --- maplestation.dme | 3 ++- .../crit_equipment/code/library/weapons.dm | 18 ++++++++++++++++++ .../crit_equipment/icons/kanabo.dmi | Bin 0 -> 326 bytes .../crit_equipment/icons/kanabo_lefthand.dmi | Bin 0 -> 359 bytes .../crit_equipment/icons/kanabo_righthand.dmi | Bin 0 -> 368 bytes 5 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 maplestation_modules/story_content/crit_equipment/code/library/weapons.dm create mode 100644 maplestation_modules/story_content/crit_equipment/icons/kanabo.dmi create mode 100644 maplestation_modules/story_content/crit_equipment/icons/kanabo_lefthand.dmi create mode 100644 maplestation_modules/story_content/crit_equipment/icons/kanabo_righthand.dmi diff --git a/maplestation.dme b/maplestation.dme index 6af0bb24abca..f58368634ced 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -6796,14 +6796,15 @@ #include "maplestation_modules\story_content\armored_corps\code\clothing\aylie_cloak.dm" #include "maplestation_modules\story_content\armored_corps\code\melee\void_blade.dm" #include "maplestation_modules\story_content\bell_equipment\code\bellclothing.dm" -#include "maplestation_modules\story_content\common_story\code\story_rapid_status.dm" #include "maplestation_modules\story_content\common_story\code\story_lazy_template.dm" +#include "maplestation_modules\story_content\common_story\code\story_rapid_status.dm" #include "maplestation_modules\story_content\common_story\code\mob\basic\summoned_star_gazer.dm" #include "maplestation_modules\story_content\common_story\code\smites\death_from_beyond.dm" #include "maplestation_modules\story_content\crit_equipment\code\areas.dm" #include "maplestation_modules\story_content\crit_equipment\code\pendant.dm" #include "maplestation_modules\story_content\crit_equipment\code\library\invitation.dm" #include "maplestation_modules\story_content\crit_equipment\code\library\lazy_templates.dm" +#include "maplestation_modules\story_content\crit_equipment\code\library\weapons.dm" #include "maplestation_modules\story_content\crit_equipment\code\tevetia_spells\dark_smoke.dm" #include "maplestation_modules\story_content\enma_equipment\code\enmaclothes.dm" #include "maplestation_modules\story_content\eveleen_equipment\code\clothing.dm" diff --git a/maplestation_modules/story_content/crit_equipment/code/library/weapons.dm b/maplestation_modules/story_content/crit_equipment/code/library/weapons.dm new file mode 100644 index 000000000000..335e6528e4f9 --- /dev/null +++ b/maplestation_modules/story_content/crit_equipment/code/library/weapons.dm @@ -0,0 +1,18 @@ +/obj/item/melee/kanabo + name = "kanabō" + desc = "A spiked club associated with Oni. It's incredibly heavy." + icon = 'maplestation_modules/story_content/crit_equipment/icons/kanabo.dmi' + icon_state = "kanabo" + inhand_icon_state = "kanabo" + lefthand_file = 'maplestation_modules/story_content/crit_equipment/icons/kanabo_lefthand.dmi' + righthand_file = 'maplestation_modules/story_content/crit_equipment/icons/kanabo_righthand.dmi' + force = 35 + wound_bonus = 15 + throwforce = 25 + demolition_mod = 1.25 // VERY destructive! + attack_verb_continuous = list("beats", "smacks") + attack_verb_simple = list("beat", "smack") + custom_materials = list(/datum/material/wood = SHEET_MATERIAL_AMOUNT * 2.5, /datum/material/iron = SHEET_MATERIAL_AMOUNT) + w_class = WEIGHT_CLASS_BULKY + drop_sound = 'maplestation_modules/sound/items/drop/wooden.ogg' + pickup_sound = 'maplestation_modules/sound/items/pickup/wooden.ogg' diff --git a/maplestation_modules/story_content/crit_equipment/icons/kanabo.dmi b/maplestation_modules/story_content/crit_equipment/icons/kanabo.dmi new file mode 100644 index 0000000000000000000000000000000000000000..228bf4b7b3ec2d77f958afedc50234e504a35e8f GIT binary patch literal 326 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfv=>VS)*Z=?j_jRr=&g&B6;IL3r zGLVxpw+wMLGl&e$E?VhP1XRXY666=m;PC858jzD!6%tY6l3JWxlvz-cnV-kNP%$Ss zte~j$`obt8QK)p^0JOu5K`_L* SHFyJ%$>8bg=d#Wzp$Pz`l5zV0 literal 0 HcmV?d00001 diff --git a/maplestation_modules/story_content/crit_equipment/icons/kanabo_lefthand.dmi b/maplestation_modules/story_content/crit_equipment/icons/kanabo_lefthand.dmi new file mode 100644 index 0000000000000000000000000000000000000000..66ad7ef8f3cb4b3d5f8b350bd3f8bef809e91d1d GIT binary patch literal 359 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|e(Ey(i*Z=?ji*ayRs42Oc85HMr z^>wZ`w+!LgI#mRyfUzXVFPOpM*^M+HC%Y;nqQoV&IJqdZpd>RtkAb0LPH^4^2yh370cen9c4MTI$BW6#6!V10?GtTB_2s4$cy4KrO1+=!))5S5wqcb@{ zf^~62l7fpzqe57q8!OW-iCzv#9UfCB$>oAdj0##TySW_>7&5x3Sv?35U^7y3(P7xG z?cnynkRgX9jv2@>Wyok@sAG0JsIfpXL1{_D#A|v7CLN8OP|UJThwtR=fCk;>)=q_< x1M{3Gf(Svk2d5qtC>NxDG+@+7UXfbJuw#;7_U`RF9s(W3;OXk;vd$@?2>?UaeVPCO literal 0 HcmV?d00001 diff --git a/maplestation_modules/story_content/crit_equipment/icons/kanabo_righthand.dmi b/maplestation_modules/story_content/crit_equipment/icons/kanabo_righthand.dmi new file mode 100644 index 0000000000000000000000000000000000000000..48fb1b6bd11d1c83eef46bec2e293c938ae8558c GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|e(Ey(i*Z=?jTc|0Cad5br8T56o zF3#&Rw+v}o`_T@lfUzXVFPOpM*^M+HC%Y;nqQoV&IJqdZpd>RtkAb0LPH^4^2yh370cen9c4MTI$BW6#6!V10?GtTB_2s4$cy4KrO1+;dOr;B5VM`v<^ z1nc4kt%ktH1|~HXR;LyoW2FTS679KXm;`Qxa!%I{kv&in#GtphS?B=U3d;vU57^9@ zwlfMSe~@4>WSY;Ip!`9S!NiGi{u>Pm)+bDiPFx}{9&oTZJ8?~MnqZ+5VI;g-N~qme zG?>v_=n%)W1tL0S3X+Xy8B&xtNH?UglrcNFIY|24;FUPTz~C*&uk^uX@?oIs7(8A5 KT-G@yGywo_EqV0- literal 0 HcmV?d00001 From 8ba178b420adb286a1c410be6c43a6898772fb84 Mon Sep 17 00:00:00 2001 From: Critawakets Date: Tue, 9 Dec 2025 18:48:04 -0500 Subject: [PATCH 17/22] Adds in a lot more rapid statuses and spells for them. --- .../heretic/magic/furious_steel.dm | 10 +- maplestation.dme | 11 ++ .../code/rapid_statuses/lunar_judge.dm | 56 ++++++++++ .../code/rapid_statuses/rabid_shadowfiend.dm | 40 +++++++ .../common_story/code/spells/shadow_knife.dm | 26 +++++ .../common_story/code/spells/shadow_steel.dm | 75 ++++++++++++++ .../common_story/code/story_rapid_status.dm | 98 ++---------------- .../code/story_rapid_status_datum.dm | 19 ++++ .../icons/literally_just_the_moon.dmi | Bin 0 -> 2140 bytes .../crit_equipment/code/heat_blade.dm | 26 +++++ .../code/rapid_statuses/_cosmos.dm | 14 +++ .../code/rapid_statuses/herald_of_cosmos.dm | 66 ++++++++++++ .../code/rapid_statuses/prince_of_cosmos.dm | 17 +++ .../code/rapid_statuses/princess_of_cosmos.dm | 15 +++ .../code/rapid_statuses/silvered_huntress.dm | 37 +++++++ 15 files changed, 422 insertions(+), 88 deletions(-) create mode 100644 maplestation_modules/story_content/common_story/code/rapid_statuses/lunar_judge.dm create mode 100644 maplestation_modules/story_content/common_story/code/rapid_statuses/rabid_shadowfiend.dm create mode 100644 maplestation_modules/story_content/common_story/code/spells/shadow_knife.dm create mode 100644 maplestation_modules/story_content/common_story/code/spells/shadow_steel.dm create mode 100644 maplestation_modules/story_content/common_story/code/story_rapid_status_datum.dm create mode 100644 maplestation_modules/story_content/common_story/icons/literally_just_the_moon.dmi create mode 100644 maplestation_modules/story_content/crit_equipment/code/heat_blade.dm create mode 100644 maplestation_modules/story_content/crit_equipment/code/rapid_statuses/_cosmos.dm create mode 100644 maplestation_modules/story_content/crit_equipment/code/rapid_statuses/herald_of_cosmos.dm create mode 100644 maplestation_modules/story_content/crit_equipment/code/rapid_statuses/prince_of_cosmos.dm create mode 100644 maplestation_modules/story_content/crit_equipment/code/rapid_statuses/princess_of_cosmos.dm create mode 100644 maplestation_modules/story_content/crit_equipment/code/rapid_statuses/silvered_huntress.dm diff --git a/code/modules/antagonists/heretic/magic/furious_steel.dm b/code/modules/antagonists/heretic/magic/furious_steel.dm index 19bbe36c825f..1c4186861e06 100644 --- a/code/modules/antagonists/heretic/magic/furious_steel.dm +++ b/code/modules/antagonists/heretic/magic/furious_steel.dm @@ -25,6 +25,14 @@ /// A ref to the status effect surrounding our heretic on activation. var/datum/status_effect/protective_blades/blade_effect + /// NON-MODULE CHANGE : Made to make this more modular, actually + /// Time between each blade appearing for the protective effect. + var/time_between_blades = 0.66 SECONDS + + /// NON-MODULE CHANGE + /// What status effect we apply + var/applied_status = /datum/status_effect/protective_blades + /datum/action/cooldown/spell/pointed/projectile/furious_steel/Grant(mob/grant_to) . = ..() if(!owner) @@ -67,7 +75,7 @@ QDEL_NULL(blade_effect) var/mob/living/living_user = on_who - blade_effect = living_user.apply_status_effect(/datum/status_effect/protective_blades, null, projectile_amount, 25, 0.66 SECONDS) + blade_effect = living_user.apply_status_effect(applied_status, null, projectile_amount, 25, time_between_blades) /// NON-MODULE CHANGE RegisterSignal(blade_effect, COMSIG_QDELETING, PROC_REF(on_status_effect_deleted)) /datum/action/cooldown/spell/pointed/projectile/furious_steel/on_deactivation(mob/on_who, refund_cooldown = TRUE) diff --git a/maplestation.dme b/maplestation.dme index f58368634ced..14d90d3a1023 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -6798,13 +6798,24 @@ #include "maplestation_modules\story_content\bell_equipment\code\bellclothing.dm" #include "maplestation_modules\story_content\common_story\code\story_lazy_template.dm" #include "maplestation_modules\story_content\common_story\code\story_rapid_status.dm" +#include "maplestation_modules\story_content\common_story\code\story_rapid_status_datum.dm" #include "maplestation_modules\story_content\common_story\code\mob\basic\summoned_star_gazer.dm" +#include "maplestation_modules\story_content\common_story\code\rapid_statuses\lunar_judge.dm" +#include "maplestation_modules\story_content\common_story\code\rapid_statuses\rabid_shadowfiend.dm" #include "maplestation_modules\story_content\common_story\code\smites\death_from_beyond.dm" +#include "maplestation_modules\story_content\common_story\code\spells\shadow_knife.dm" +#include "maplestation_modules\story_content\common_story\code\spells\shadow_steel.dm" #include "maplestation_modules\story_content\crit_equipment\code\areas.dm" +#include "maplestation_modules\story_content\crit_equipment\code\heat_blade.dm" #include "maplestation_modules\story_content\crit_equipment\code\pendant.dm" #include "maplestation_modules\story_content\crit_equipment\code\library\invitation.dm" #include "maplestation_modules\story_content\crit_equipment\code\library\lazy_templates.dm" #include "maplestation_modules\story_content\crit_equipment\code\library\weapons.dm" +#include "maplestation_modules\story_content\crit_equipment\code\rapid_statuses\_cosmos.dm" +#include "maplestation_modules\story_content\crit_equipment\code\rapid_statuses\herald_of_cosmos.dm" +#include "maplestation_modules\story_content\crit_equipment\code\rapid_statuses\prince_of_cosmos.dm" +#include "maplestation_modules\story_content\crit_equipment\code\rapid_statuses\princess_of_cosmos.dm" +#include "maplestation_modules\story_content\crit_equipment\code\rapid_statuses\silvered_huntress.dm" #include "maplestation_modules\story_content\crit_equipment\code\tevetia_spells\dark_smoke.dm" #include "maplestation_modules\story_content\enma_equipment\code\enmaclothes.dm" #include "maplestation_modules\story_content\eveleen_equipment\code\clothing.dm" diff --git a/maplestation_modules/story_content/common_story/code/rapid_statuses/lunar_judge.dm b/maplestation_modules/story_content/common_story/code/rapid_statuses/lunar_judge.dm new file mode 100644 index 000000000000..d5eb9b273faf --- /dev/null +++ b/maplestation_modules/story_content/common_story/code/rapid_statuses/lunar_judge.dm @@ -0,0 +1,56 @@ +/datum/story_rapid_status/lunar_judge + name = "Lunar Judge" + +/datum/story_rapid_status/lunar_judge/apply(mob/living/carbon/human/selected) + var/list/datum/action/cooldown/spell/spells_to_grant = list( + /datum/action/cooldown/spell/jaunt/ethereal_jaunt/lunar, + /datum/action/cooldown/spell/summonitem, + ) + + grant_spell_list(selected, spells_to_grant, TRUE) + + var/obj/item/toy/the_moon_itself/new_moon = new(selected) + selected.equip_conspicuous_item(new_moon) + + return TRUE + +/datum/action/cooldown/spell/jaunt/ethereal_jaunt/lunar + name = "Judge's Jaunt" + + background_icon_state = "bg_hive" + overlay_icon_state = "bg_demon_border" + cooldown_time = 12 SECONDS + cooldown_reduction_per_rank = 0 SECONDS + sound = 'sound/magic/cosmic_energy.ogg' + exit_jaunt_sound = 'sound/magic/cosmic_energy.ogg' + +/obj/item/toy/the_moon_itself + name = "The Moon" + desc = "Where did you even get this? I swear there's lunar colonies, are those people shrunk or dead?" + icon = 'maplestation_modules/story_content/common_story/icons/literally_just_the_moon.dmi' + icon_state = "moon" + inhand_icon_state = "minimeteor" + w_class = WEIGHT_CLASS_SMALL + + force = 20 + throwforce = 99 + max_integrity = 500000 + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF + armor_type = /datum/armor/the_moon_itself + +/datum/armor/the_moon_itself + melee = 65 + bullet = 70 + laser = 90 // highly reflective + energy = 80 + consume = 100 + bomb = 95 + fire = 100 + acid = 90 + +/obj/item/toy/the_moon_itself/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) + . = ..() + playsound(src, 'sound/effects/meteorimpact.ogg', 40, TRUE) + for(var/mob/M in urange(10, src)) + if(!M.stat && !isAI(M)) + shake_camera(M, 3, 1) diff --git a/maplestation_modules/story_content/common_story/code/rapid_statuses/rabid_shadowfiend.dm b/maplestation_modules/story_content/common_story/code/rapid_statuses/rabid_shadowfiend.dm new file mode 100644 index 000000000000..e0e931ebe67b --- /dev/null +++ b/maplestation_modules/story_content/common_story/code/rapid_statuses/rabid_shadowfiend.dm @@ -0,0 +1,40 @@ +/datum/story_rapid_status/rabid_shadowfiend + name = "Rabid Shadowfiend" + + var/list/datum/action/cooldown/spell/spells_to_grant = list( + /datum/action/cooldown/spell/jaunt/shadow_walk, + /datum/action/cooldown/spell/aoe/flicker_lights, + /datum/action/cooldown/spell/conjure_item/ice_knife/shadow_knife, + ) + +/datum/story_rapid_status/rabid_shadowfiend/apply(mob/living/carbon/human/selected) + grant_spell_list(selected, spells_to_grant, TRUE) + + clawify(selected, BODY_ZONE_L_ARM, 10, 15, 20) + clawify(selected, BODY_ZONE_R_ARM, 10, 15, 20) + + return TRUE + +/datum/story_rapid_status/rabid_shadowfiend/proc/clawify(mob/living/carbon/human/selected, bodyzone, damage_low, damage_high, effectiveness) + var/obj/item/bodypart/arm/selected_arm = selected.get_bodypart(bodyzone) // your fists are now claws + selected_arm.unarmed_attack_verbs = list("slash") + selected_arm.grappled_attack_verb = "lacerate" + selected_arm.unarmed_attack_effect = ATTACK_EFFECT_CLAW + selected_arm.unarmed_attack_sound = 'sound/weapons/slash.ogg' + selected_arm.unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' + selected_arm.unarmed_damage_low = damage_low + selected_arm.unarmed_damage_high = damage_high + selected_arm.unarmed_effectiveness = effectiveness + selected_arm.appendage_noun = "clawed hand" + + +/datum/story_rapid_status/rabid_shadowfiend/strong + name = "Rabid Shadowfiend (Strong)" + + spells_to_grant = list( + /datum/action/cooldown/spell/jaunt/shadow_walk, + /datum/action/cooldown/spell/aoe/flicker_lights, + /datum/action/cooldown/spell/conjure_item/ice_knife/shadow_knife, + /datum/action/cooldown/spell/pointed/projectile/furious_steel/shadow_steel, + ) + diff --git a/maplestation_modules/story_content/common_story/code/spells/shadow_knife.dm b/maplestation_modules/story_content/common_story/code/spells/shadow_knife.dm new file mode 100644 index 000000000000..22ab991a0930 --- /dev/null +++ b/maplestation_modules/story_content/common_story/code/spells/shadow_knife.dm @@ -0,0 +1,26 @@ +/datum/action/cooldown/spell/conjure_item/ice_knife/shadow_knife + name = "Shadow Knife" + desc = "Summon a temporary knife from pure shadow." + background_icon_state = "bg_cult" + overlay_icon_state = "bg_cult_border" + mana_cost = 0 + item_type = /obj/item/knife/combat/ice/shadow + + cooldown_time = 90 SECONDS + invocation = "Tai'loda." + +/obj/item/knife/combat/ice/shadow + name = "shadow knife" + color = "#000000" + desc = "A knife made of concentrated shadow. It won't exist forever. Nothing does." + force = 15 + throwforce = 15 + +/obj/item/knife/combat/ice/shadow/Initialize(mapload) + . = ..() + expire_time = world.time + 40 SECONDS + RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(on_drop)) + +// Expires on drop unlike the regular knife. +/obj/item/knife/combat/ice/shadow/on_drop(atom/source) + expire() diff --git a/maplestation_modules/story_content/common_story/code/spells/shadow_steel.dm b/maplestation_modules/story_content/common_story/code/spells/shadow_steel.dm new file mode 100644 index 000000000000..fa0b58b8814c --- /dev/null +++ b/maplestation_modules/story_content/common_story/code/spells/shadow_steel.dm @@ -0,0 +1,75 @@ +/datum/action/cooldown/spell/pointed/projectile/furious_steel/shadow_steel + name = "Shadow Steel" + desc = "Summon two shadow blades which orbit you. \ + While orbiting you, these blades will protect you from from attacks, but will be consumed on use. \ + Additionally, you can click to fire the blades at a target, dealing damage and causing bleeding." + background_icon_state = "bg_cult" + overlay_icon_state = "bg_cult_border" + + invocation = span_notice("%CASTER holds out their arm forwards, commanding a blade to fire.") + invocation_self_message = span_notice("You hold your arm forward.") + invocation_type = INVOCATION_EMOTE + + active_msg = "You summon forth two blades from darkness." + deactive_msg = "You conceal your black blades." + cast_range = 20 + projectile_type = /obj/projectile/shadow_steel + projectile_amount = 2 + + time_between_blades = 1 SECONDS + + applied_status = /datum/status_effect/protective_blades/shadow + +/obj/projectile/shadow_steel + name = "blade" + icon = 'icons/obj/service/kitchen.dmi' + icon_state = "knife" + speed = 2 + damage = 15 + sharpness = SHARP_EDGED + wound_bonus = 20 + pass_flags = PASSTABLE | PASSFLAPS + +/obj/projectile/shadow_steel/Initialize(mapload) + . = ..() + add_filter("knife_color", 1, list("type" = "color", "color" = "#000000")) + add_filter("knife", 2, list("type" = "outline", "color" = "#640000", "size" = 1)) + +/obj/projectile/shadow_steel/prehit_pierce(atom/hit) + if(isliving(hit) && isliving(firer)) + var/mob/living/caster = firer + var/mob/living/victim = hit + if(caster == victim) + return PROJECTILE_PIERCE_PHASE + + if(caster.mind) // probably not going to be used in this one but whatever + var/datum/antagonist/heretic_monster/monster = victim.mind?.has_antag_datum(/datum/antagonist/heretic_monster) + if(monster?.master == caster.mind) + return PROJECTILE_PIERCE_PHASE + + if(victim.can_block_magic(MAGIC_RESISTANCE)) + visible_message(span_warning("[src] drops to the ground and dissolves on contact [victim]!")) + return PROJECTILE_DELETE_WITHOUT_HITTING + + return ..() + +/datum/status_effect/protective_blades/shadow + +/// overriden to make it use shadow blades +/datum/status_effect/protective_blades/shadow/create_blade() + if(QDELETED(src) || QDELETED(owner)) + return + + var/obj/effect/floating_blade/shadow/blade = new(get_turf(owner)) + blades += blade + blade.orbit(owner, blade_orbit_radius) + RegisterSignal(blade, COMSIG_QDELETING, PROC_REF(remove_blade)) + playsound(get_turf(owner), 'sound/items/unsheath.ogg', 33, TRUE) + +/obj/effect/floating_blade/shadow + name = "shadow knife" + glow_color = "#640000" + +/obj/effect/floating_blade/shadow/Initialize(mapload) + . = ..() + add_filter("knife_color", 1, list("type" = "color", "color" = "#000000")) diff --git a/maplestation_modules/story_content/common_story/code/story_rapid_status.dm b/maplestation_modules/story_content/common_story/code/story_rapid_status.dm index 8096171e1fbd..427175ef7833 100644 --- a/maplestation_modules/story_content/common_story/code/story_rapid_status.dm +++ b/maplestation_modules/story_content/common_story/code/story_rapid_status.dm @@ -12,98 +12,22 @@ if(!check_rights(R_SPAWN)) return - var/list/options = list( - "Herald of Cosmos", - ) + var/list/options = new() + + for(var/datum/story_rapid_status/status as anything in subtypesof(/datum/story_rapid_status)) + if(status.selectable) + options += status.name + options[status.name] += status var/result = tgui_input_list(usr, "Pick something. You can also cancel with \"Cancel\".", "Rapid Status", options + "Cancel") if(QDELETED(src) || !result || result == "Cancel") return - var/picked = result + var/datum/story_rapid_status/picked = options[result] + picked = new picked() if(!picked) return - message_admins("[key_name(usr)] has rapidly given [key_name(src)] the following preset: [picked]") - log_admin("[key_name(usr)] has rapidly given [key_name(src)] the following preset: [picked]") - - switch(picked) - if("Herald of Cosmos") // kind of like a super-ascended cosmic heretic without a stargazer and a bit of void sidepathing, no regeneration or total protection beyond ehp/speed means they can be worn down. very op - src?.mind.add_antag_datum(/datum/antagonist/heretic) - var/datum/antagonist/heretic/our_heretic = src?.mind.has_antag_datum(/datum/antagonist/heretic) - var/list/knowledges_to_grant = list( // cosmic heretic with a sidepath, some void spells and no ascension - /datum/heretic_knowledge/limited_amount/starting/base_cosmic, - /datum/heretic_knowledge/cosmic_grasp, - /datum/heretic_knowledge/spell/cosmic_runes, - /datum/heretic_knowledge/mark/cosmic_mark, - /datum/heretic_knowledge/spell/star_touch, - /datum/heretic_knowledge/spell/star_blast, - /datum/heretic_knowledge/blade_upgrade/cosmic, - /datum/heretic_knowledge/spell/cosmic_expansion, - /datum/heretic_knowledge/cold_snap, - /datum/heretic_knowledge/spell/void_phase, - /datum/heretic_knowledge/spell/void_pull, - /datum/heretic_knowledge/spell/space_phase, - ) - if(our_heretic) // in case this entire chain broke along the way - our_heretic.ascended = TRUE - for(var/i in knowledges_to_grant) - our_heretic.gain_knowledge(i) - - // the cosmic heretic ascension upgrades - var/datum/heretic_knowledge/blade_upgrade/cosmic/blade_upgrade = our_heretic.get_knowledge(/datum/heretic_knowledge/blade_upgrade/cosmic) - blade_upgrade.combo_duration = 10 SECONDS - blade_upgrade.combo_duration_amount = 10 SECONDS - blade_upgrade.max_combo_duration = 30 SECONDS - blade_upgrade.increase_amount = 2 SECONDS - - var/datum/action/cooldown/spell/touch/star_touch/star_touch_spell = locate() in actions - if(star_touch_spell) - star_touch_spell.ascended = TRUE - - var/datum/action/cooldown/spell/conjure/cosmic_expansion/cosmic_expansion_spell = locate() in actions - cosmic_expansion_spell?.ascended = TRUE - - physiology.brute_mod = 0.25 - physiology.burn_mod = 0.25 - physiology.tox_mod = 0.5 - physiology.oxy_mod = 0.5 - physiology.stamina_mod = 0.5 - physiology.stun_mod = 0.5 - physiology.bleed_mod = 0 - set_pain_mod("badmin", 0.6) - add_consciousness_modifier("badmin", 30) - - var/obj/item/bodypart/arm/left_arm = get_bodypart(BODY_ZONE_L_ARM) // your fists are now claws - left_arm.unarmed_attack_verbs = list("slash") - left_arm.grappled_attack_verb = "lacerate" - left_arm.unarmed_attack_effect = ATTACK_EFFECT_CLAW - left_arm.unarmed_attack_sound = 'sound/weapons/slash.ogg' - left_arm.unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' - left_arm.unarmed_damage_low = 25 - left_arm.unarmed_damage_high = 25 - left_arm.unarmed_effectiveness = 30 - left_arm.appendage_noun = "clawed hand" - - var/obj/item/bodypart/arm/right_arm = get_bodypart(BODY_ZONE_R_ARM) - right_arm.unarmed_attack_verbs = list("slash") - right_arm.grappled_attack_verb = "lacerate" - right_arm.unarmed_attack_effect = ATTACK_EFFECT_CLAW - right_arm.unarmed_attack_sound = 'sound/weapons/slash.ogg' - right_arm.unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' - right_arm.unarmed_damage_low = 25 - right_arm.unarmed_damage_high = 25 - right_arm.unarmed_effectiveness = 30 - right_arm.appendage_noun = "clawed hand" - - var/obj/item/bodypart/leg/left_leg = get_bodypart(BODY_ZONE_L_LEG) // weaker, but allows proper damage after downing somebody - left_leg.unarmed_damage_low = 18 - left_leg.unarmed_damage_high = 18 - left_leg.unarmed_effectiveness = 20 - - var/obj/item/bodypart/leg/right_leg = get_bodypart(BODY_ZONE_R_LEG) - right_leg.unarmed_damage_low = 18 - right_leg.unarmed_damage_high = 18 - right_leg.unarmed_effectiveness = 20 - - ADD_TRAIT(src, TRAIT_SLEEPIMMUNE, REF(src)) //needed to prevent chem cheese using wellcheers and sulfonal + message_admins("[key_name(usr)] has rapidly given [key_name(src)] the following preset: [result]") + log_admin("[key_name(usr)] has rapidly given [key_name(src)] the following preset: [result]") + picked.apply(selected = src) diff --git a/maplestation_modules/story_content/common_story/code/story_rapid_status_datum.dm b/maplestation_modules/story_content/common_story/code/story_rapid_status_datum.dm new file mode 100644 index 000000000000..d9cbafbcc11d --- /dev/null +++ b/maplestation_modules/story_content/common_story/code/story_rapid_status_datum.dm @@ -0,0 +1,19 @@ +/datum/story_rapid_status + var/name = "If you see this, something broke" + /// If FALSE, doesn't appear in the story rapid status menu + var/selectable = TRUE + +// Override with what you want to happen. +/datum/story_rapid_status/proc/apply(mob/living/carbon/human/selected) + return FALSE + +/datum/story_rapid_status/proc/grant_spell_list(mob/living/carbon/human/selected, list/list_of_spells, robeless) + for(var/spell_type as anything in list_of_spells) + if(!ispath(spell_type, /datum/action/cooldown/spell)) + CRASH("Non-spell [spell_type] given to story_rapid_status/grant_spell_list") + var/datum/action/cooldown/spell/new_spell = new spell_type(selected.mind || selected) + if(robeless) + new_spell.spell_requirements &= ~SPELL_REQUIRES_WIZARD_GARB + new_spell.Grant(selected) + + return TRUE diff --git a/maplestation_modules/story_content/common_story/icons/literally_just_the_moon.dmi b/maplestation_modules/story_content/common_story/icons/literally_just_the_moon.dmi new file mode 100644 index 0000000000000000000000000000000000000000..be3bf6d72e7e4345525e37f15d24a5f78ab524f3 GIT binary patch literal 2140 zcmWNTe>l_Y8^;&YiZtb06Ja${*UHqIA0f%GuU|={kJ?I1lEq@2(V_ep7Q@skJ0#AT znpmx<{ARH_E6UUkl29!qWi-Eboac|{exB>OuKT&}>%L#__x0o)_VZl3X7d^t47Qf& z<$eV07GRmfbwOkWb?3rh@NGo*gGaq`I<6D5O%=w{)Y`_7$|~WRq~7Y%4(?xtR4p@^ z4rKKYj&AT1g@}ivQ1zcqpVo3fXPI7H?T}$_HyoDj-+7Qsme(?NIpj9ncjgurxsD%eOd1k3e_l@YA5UmlI$%C~1>-00%^RKDK?pEQ zB&)p|25Z!dnx=IJmhNAt_Aw;bno{TFU!DAzX2|7hX-|51t6C#<>RxP~T0B!J9~+Ox zA0mD^CuSxiPeoJ(1$WV|GVX(h{D_pAw zXGvV&gX>_BPbdg-9Gd9HMQ_}=(MvwVq7B&8*DO{p!#|F6T**%^O{CN5KcB}tQe$G) z!64onMoChWL2LM)+tzDfA=Ml8^z`7U!$vDFWoBkxzxDgCKJyPEj9TYO>~MSM?L%4h zRH&{9eLJWMMOMyFGK{z+#*ED-%{BWYbbKlUzf8z+ zR420y1jFE(6T>BmALdJ^7Hx*~KDHV;X=daH^dvuKh9y}q#JTw{3)xQHw))ycE z#CZGtVShOkd6i0R8Cst2?CiWH!G0UuP!?3>ED{P2ldcWNdX*}@xb6W)U?LC?j>;ZI zcB?>%!?D>2El`<^J2^=M&BF6-OZ=EKZ#>W9`8NbagihDwz~j`5b3cYR8O*p=%IPGM zh6Pv%eIAK(Q!tJ)ZUu1BK5}<>TYI~fx3@RQsd{^w!MIjiyD#FQF(IH#xRYI8pmeBs zlU)@o>X}S@fTw^gX{?D2yy-)l48+2b(C{ zeFN+2>a5vm;3YJ%yf6B~(j47KeoxF8@7;mN<73I2NF=&xRzgFb;Ot4~*V^=yMb)-3;~j};u%I2;?Pl{_t7d*`lj z92OlDvlpok#6ec%l*6G9qTYDNzlNr^$u3y>#jPkdISTQ<)_0A`D0{6awK!RBYTioDn z(fF!}Ef$=x&3U@4&{*(PnnkP1DJVEt>3sD(jrJ;f;KQn~2@MbZD&y>AVw+bHd)u+k z>S)tWo+J|R4*f&%WGRCTVBk?nZdV06G$}0$R`4{Y(1AG}ZW%E#F#$*Y)7RJcfVO|B z*XWKgiOBsk%4&Pj>LyD5i|}^SC@d22!=wKE-Y_M8_%JZ9OmOyPvKNmElum`jPo5m> ztEEDb#U4EB^>w+og+dX;BOqBXBle0hVNPc9DYbFF^tsr_R63L7%#xruqpv4sk@~u% z1?A_x`V|+RS+j-B+2z?l02hZ+H859GY0Uo!KmAeeRIIBdI*uN4?3e{y>*CNE$C998 zn~YWld3@H9$o**Fl@j+mCX!tah6JeoUUK~Lc@4;aJn%{&A7hdg4`_Te5r);*meOzd zSbbu0luS4ZAPIQ?n7$6E&!eL4@4we@(VtS^B!^ zeBf8iu_D_8D_>70sNO`*ESVv?gm!cCwxPSG4e=UtZ5dS2yEP*Q}yDe`I}4x9EJ5Q>geb=Ir;6|(g@|j_heg# z)PI*wI+k=Py8dubNzp`3-2m;<`1{JUo9~M@seE3^v=_IBlNB2X0Vx+W3$rTq71dL_ zit~>b6DsA*D94iKPmBL1no0v)TvWi-Wir_(CZ+8q4Y-MzB5Dzw?Z0w;H+ey-?D(yW zZwMUEfw3?%7FS10ZK8C<6&e+6z|^s!ud8NO!n8RyGr(NN-fkhV_TOO=Iv5!=F&wkFEPNc O0Y)VFx!1UzO8XDtejNY+ literal 0 HcmV?d00001 diff --git a/maplestation_modules/story_content/crit_equipment/code/heat_blade.dm b/maplestation_modules/story_content/crit_equipment/code/heat_blade.dm new file mode 100644 index 000000000000..281328967e05 --- /dev/null +++ b/maplestation_modules/story_content/crit_equipment/code/heat_blade.dm @@ -0,0 +1,26 @@ +/obj/item/melee/heat_blade_unit + name = "heat blade" + desc = "A blade unit able to take in heating blade elements in order to augment it's strikes with high temperatures. \ + Rapidly chews through blades." + icon = 'icons/obj/weapons/sword.dmi' + icon_state = "sabre" + inhand_icon_state = "sabre" + lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' + obj_flags = CONDUCTS_ELECTRICITY + force = 10 + throwforce = 10 + demolition_mod = 0.75 + w_class = WEIGHT_CLASS_SMALL + attack_verb_continuous = list("slashes", "cuts") + attack_verb_simple = list("slash", "cut") + block_sound = 'sound/weapons/parry.ogg' + hitsound = 'sound/weapons/rapierhit.ogg' + custom_materials = list(/datum/material/iron = HALF_SHEET_MATERIAL_AMOUNT) + drop_sound = 'maplestation_modules/sound/items/drop/sword.ogg' + pickup_sound = 'maplestation_modules/sound/items/pickup/sword2.ogg' + equip_sound = 'maplestation_modules/sound/items/drop/sword.ogg' + +/obj/item/heat_blade + name = "heat blade" + desc = "A plastitanium blade for a heat blade unit to take in. Might be somewhat usable by itself in a pinch." diff --git a/maplestation_modules/story_content/crit_equipment/code/rapid_statuses/_cosmos.dm b/maplestation_modules/story_content/crit_equipment/code/rapid_statuses/_cosmos.dm new file mode 100644 index 000000000000..3090a4ad2335 --- /dev/null +++ b/maplestation_modules/story_content/crit_equipment/code/rapid_statuses/_cosmos.dm @@ -0,0 +1,14 @@ +/datum/story_rapid_status/cosmos + selectable = FALSE + +/datum/story_rapid_status/cosmos/proc/clawify(mob/living/carbon/human/selected, bodyzone, damage_low, damage_high, effectiveness) + var/obj/item/bodypart/arm/selected_arm = selected.get_bodypart(bodyzone) // your fists are now claws + selected_arm.unarmed_attack_verbs = list("slash") + selected_arm.grappled_attack_verb = "lacerate" + selected_arm.unarmed_attack_effect = ATTACK_EFFECT_CLAW + selected_arm.unarmed_attack_sound = 'sound/weapons/slash.ogg' + selected_arm.unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' + selected_arm.unarmed_damage_low = damage_low + selected_arm.unarmed_damage_high = damage_high + selected_arm.unarmed_effectiveness = effectiveness + selected_arm.appendage_noun = "clawed hand" diff --git a/maplestation_modules/story_content/crit_equipment/code/rapid_statuses/herald_of_cosmos.dm b/maplestation_modules/story_content/crit_equipment/code/rapid_statuses/herald_of_cosmos.dm new file mode 100644 index 000000000000..2a0cca9468c8 --- /dev/null +++ b/maplestation_modules/story_content/crit_equipment/code/rapid_statuses/herald_of_cosmos.dm @@ -0,0 +1,66 @@ +/datum/story_rapid_status/cosmos/herald_of_cosmos + name = "Herald of Cosmos" + selectable = TRUE + +/datum/story_rapid_status/cosmos/herald_of_cosmos/apply(mob/living/carbon/human/selected) + selected?.mind.add_antag_datum(/datum/antagonist/heretic) + var/datum/antagonist/heretic/our_heretic = selected?.mind.has_antag_datum(/datum/antagonist/heretic) + var/list/knowledges_to_grant = list( // cosmic heretic with a sidepath, some void spells and no ascension + /datum/heretic_knowledge/limited_amount/starting/base_cosmic, + /datum/heretic_knowledge/cosmic_grasp, + /datum/heretic_knowledge/spell/cosmic_runes, + /datum/heretic_knowledge/mark/cosmic_mark, + /datum/heretic_knowledge/spell/star_touch, + /datum/heretic_knowledge/spell/star_blast, + /datum/heretic_knowledge/blade_upgrade/cosmic, + /datum/heretic_knowledge/spell/cosmic_expansion, + /datum/heretic_knowledge/cold_snap, + /datum/heretic_knowledge/spell/void_phase, + /datum/heretic_knowledge/spell/void_pull, + /datum/heretic_knowledge/spell/space_phase, + ) + if(our_heretic) // in case this entire chain broke along the way + our_heretic.ascended = TRUE + for(var/i in knowledges_to_grant) + our_heretic.gain_knowledge(i) + + // the cosmic heretic ascension upgrades + var/datum/heretic_knowledge/blade_upgrade/cosmic/blade_upgrade = our_heretic.get_knowledge(/datum/heretic_knowledge/blade_upgrade/cosmic) + blade_upgrade.combo_duration = 10 SECONDS + blade_upgrade.combo_duration_amount = 10 SECONDS + blade_upgrade.max_combo_duration = 30 SECONDS + blade_upgrade.increase_amount = 2 SECONDS + + var/datum/action/cooldown/spell/touch/star_touch/star_touch_spell = locate() in selected.actions + if(star_touch_spell) + star_touch_spell.ascended = TRUE + + var/datum/action/cooldown/spell/conjure/cosmic_expansion/cosmic_expansion_spell = locate() in selected.actions + cosmic_expansion_spell?.ascended = TRUE + + selected.physiology.brute_mod = 0.25 + selected.physiology.burn_mod = 0.25 + selected.physiology.tox_mod = 0.5 + selected.physiology.oxy_mod = 0.5 + selected.physiology.stamina_mod = 0.5 + selected.physiology.stun_mod = 0.5 + selected.physiology.bleed_mod = 0 + selected.set_pain_mod("badmin", 0.6) + selected.add_consciousness_modifier("badmin", 30) + + clawify(selected, BODY_ZONE_L_ARM, 25, 25, 30) + clawify(selected, BODY_ZONE_R_ARM, 25, 25, 30) + + var/obj/item/bodypart/leg/left_leg = selected.get_bodypart(BODY_ZONE_L_LEG) // weaker, but allows proper damage after downing somebody + left_leg.unarmed_damage_low = 18 + left_leg.unarmed_damage_high = 18 + left_leg.unarmed_effectiveness = 20 + + var/obj/item/bodypart/leg/right_leg = selected.get_bodypart(BODY_ZONE_R_LEG) + right_leg.unarmed_damage_low = 18 + right_leg.unarmed_damage_high = 18 + right_leg.unarmed_effectiveness = 20 + + ADD_TRAIT(selected, TRAIT_SLEEPIMMUNE, REF(selected)) //needed to prevent chem cheese using wellcheers and sulfonal + + return TRUE diff --git a/maplestation_modules/story_content/crit_equipment/code/rapid_statuses/prince_of_cosmos.dm b/maplestation_modules/story_content/crit_equipment/code/rapid_statuses/prince_of_cosmos.dm new file mode 100644 index 000000000000..522e43f1d0d1 --- /dev/null +++ b/maplestation_modules/story_content/crit_equipment/code/rapid_statuses/prince_of_cosmos.dm @@ -0,0 +1,17 @@ +/datum/story_rapid_status/cosmos/prince_of_cosmos + name = "Prince of Cosmos" + selectable = TRUE + +/datum/story_rapid_status/cosmos/prince_of_cosmos/apply(mob/living/carbon/human/selected) + var/list/datum/action/cooldown/spell/spells_to_grant = list( + /datum/action/cooldown/spell/jaunt/shadow_walk, + /datum/action/cooldown/spell/pointed/projectile/star_blast, + /datum/action/cooldown/spell/touch/star_touch, + /datum/action/cooldown/spell/shadow_cloak, + ) + + grant_spell_list(selected, spells_to_grant, TRUE) + + clawify(selected, BODY_ZONE_L_ARM, 10, 15, 20) + + return TRUE diff --git a/maplestation_modules/story_content/crit_equipment/code/rapid_statuses/princess_of_cosmos.dm b/maplestation_modules/story_content/crit_equipment/code/rapid_statuses/princess_of_cosmos.dm new file mode 100644 index 000000000000..6f1acfd8cb30 --- /dev/null +++ b/maplestation_modules/story_content/crit_equipment/code/rapid_statuses/princess_of_cosmos.dm @@ -0,0 +1,15 @@ +/datum/story_rapid_status/cosmos/princess_of_cosmos + name = "Princess of Cosmos" + selectable = TRUE + +/datum/story_rapid_status/cosmos/princess_of_cosmos/apply(mob/living/carbon/human/selected) + var/list/datum/action/cooldown/spell/spells_to_grant = list( + /datum/action/cooldown/spell/pointed/projectile/star_blast, + /datum/action/cooldown/spell/touch/star_touch, + ) + + grant_spell_list(selected, spells_to_grant, TRUE) + + clawify(selected, BODY_ZONE_R_ARM, 10, 15, 20) + + return TRUE diff --git a/maplestation_modules/story_content/crit_equipment/code/rapid_statuses/silvered_huntress.dm b/maplestation_modules/story_content/crit_equipment/code/rapid_statuses/silvered_huntress.dm new file mode 100644 index 000000000000..8f54bb5315c4 --- /dev/null +++ b/maplestation_modules/story_content/crit_equipment/code/rapid_statuses/silvered_huntress.dm @@ -0,0 +1,37 @@ +/datum/story_rapid_status/silvered_huntress + name = "The Silvered Huntress" + selectable = TRUE + + +/datum/story_rapid_status/silvered_huntress/apply(mob/living/carbon/human/selected) + var/list/datum/action/cooldown/spell/spells_to_grant = list( + /datum/action/cooldown/spell/smoke/tevetia, + ) + + grant_spell_list(selected, spells_to_grant, TRUE) + + selected.physiology.brute_mod = 0.4 + selected.physiology.burn_mod = 0.4 + selected.physiology.tox_mod = 0.5 + selected.physiology.oxy_mod = 0.5 + selected.physiology.stamina_mod = 0.5 + selected.physiology.stun_mod = 0.5 + selected.physiology.bleed_mod = 0.2 + selected.set_pain_mod("badmin", 0.6) + selected.add_consciousness_modifier("badmin", 30) + + strengthen(selected, BODY_ZONE_L_ARM) + strengthen(selected, BODY_ZONE_R_ARM) + strengthen(selected, BODY_ZONE_L_LEG) + strengthen(selected, BODY_ZONE_R_LEG) + + ADD_TRAIT(selected, TRAIT_SLEEPIMMUNE, REF(selected)) //needed to prevent chem cheese using wellcheers and sulfonal + + return TRUE + +//pending unique martial arts +/datum/story_rapid_status/silvered_huntress/proc/strengthen(mob/living/carbon/human/selected, bodyzone) + var/obj/item/bodypart/selected_bodypart = selected.get_bodypart(bodyzone) + selected_bodypart.unarmed_damage_low = 25 + selected_bodypart.unarmed_damage_high = 25 + selected_bodypart.unarmed_effectiveness = 30 From 7ea4d5eb5718fe56c7436454df5a3d9442860992 Mon Sep 17 00:00:00 2001 From: Critawakets Date: Tue, 9 Dec 2025 18:49:50 -0500 Subject: [PATCH 18/22] Fixes some dmi jank with the moon sprite --- .../icons/literally_just_the_moon.dmi | Bin 2140 -> 2291 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/maplestation_modules/story_content/common_story/icons/literally_just_the_moon.dmi b/maplestation_modules/story_content/common_story/icons/literally_just_the_moon.dmi index be3bf6d72e7e4345525e37f15d24a5f78ab524f3..8921b0de2ab4a399b5f7296253ddc6a11aedd36b 100644 GIT binary patch literal 2291 zcmWkwdpy(YAO9YPvC&Sg%zdksB|nY!V=g7Pn4-*eP6}(~QtlkrtPxr+wd9=Kn?oT) z$w6|Bem|GFu_&%TS^ZC4QukW1;wwAIoiZT!c$x^J$sbI(c zeBhE`4UUXl0h@26gG-1xBbXlK9T4K}?*~EQ*@rtCWSCgAWbelBEuQ0ut)QV+VLw z+ma_&I78NwF5bVRFrm;E+^VesL2xsQxru|z?YGW0UKfWHPOiU+8n2kyu_{P@_Ndag zQzt3?-GQ<|BF3&x_GMA`k;V2gSifUmQ8*4^ee{kV4lN(&N(c?Cmo7w@rBoJ6-^!p) zG-g__Vb7|hbe!=2l-0MDvp#V9M1?Iw-S+5|-}tm)qR3D%D!M;C&4_-Kc(ZsG`XFB$ z{dJ0R2-!L$VM6x7v^y6)c~TZu-%wv$`_YOsrBC_Le zQv7NV5X$1$42B8X0%8gxX2a?`^z`)hRJ)e#$+L7%LpV7(O_5V$2ZXCdFEr!ulrJ%A zV}9~Nq44<)CFq_&Uol1U;?P@nBB;fTrSUPTd@Nk-Sy|b{+TzIgWfzx??`K1?omF{3 zJ>#P_{%Rb&N$H?zMTu*cqtn>(kj(AvAY zkX%Ab*>5!$N(bNkm@lmuPE$R(*@=*Ty|q+dF<1Aa)2CYFX$gC4T|@`v=~QAnk=p2i zfwQ1DqC=^4l<8@>iE;;kt>Mz1k&%%Lj{CvUMDI-ZWE`CJK;1TbV{CJ??nKMBgIv0G zVT}SkTU&DE)%~KQaNN5pq#YW^3l8Y{H34^SAYQZu2F?z);=~*A`h2SIF%%M7aYnq> z(NSfMhcal3W_Mz*no;<3*yo&+iY_#oHiqtxGX1=DDzZTpPZ6V^*WYWJPmm!CFiJ|T zZEY}6@%}y9r&@7-)c|~{N>iMU1aR2cuSA|4tqqm}3^w)j$bB`670&h*tP1XY0UF7~ z!UNpoBXZ@-o}{x-ERs#1UkzxlZcNJ{M-Gld!G7TqSizS@ogMdQFn~D8so-r35r%8K zho4J12_p;CEt%QDQ{M+jjAX#L6$eJk@Sq)-B)9+b&w(mUvzieJ9PFXBMB*N`1TMj% zCRN2S;p0adCgGQMOo&^@$_mNcZo6Go7G*l~0Dp@?1Bj;bPiHW^G9`QT9ULu+9mH_3 z#W1BRO?p_^0T$LhC}^*goHElp^Qlv5e!8cxFCtKx9vP`vr5Q(M10(_4CG!)7g@-4$ zzkl;KIgN@pC`3~@*i$g@dvO6hmG$*^ ziO7jMtt0B{mCv6;9f3eW&H8#bMx3C9{_`+`PJ0OCRqZ+(Vo*S~K*91?=KeC`nbnU; z7QTc(v4c`HGX?s1O3O08!>-J!&x_Q1UAI}^l7oLb=<_)nQ7)9>rDE4(jP1}8Ca7ei zyKz!`Jc*d5KxLF^6DE#JNaADc?d`*-A38VbcLb2*H9K$nwGho~FD7Vqdg*3ikdj23 zebufv{(2nl>+9zkbP4BOdU^*_rA@tV3u;Sf)qx`hAy6hWucfeY)(%`&E2xD*Z( z#WLbeM5spp^a&9up227)BD=b}nn*V0b|JgN)xM1z=?Dxx_HaBpcVT_Yi=;TazJ-xX z1n$hSmGaIsb#xqUh>}lJGuF~1un(S5r%IYI zok}H!LMxVVsDz0QTET1dvTbp%^w7UxOwiK1qRO7y#;mLBLvdvUTNeSQ%%ll@!JRPL48mR)9OX5Ba=p?*8L-85WHOT4N93CEy;(6X=|Lkd4xcX@+ z#GstO?j^~BxU@q*9+>+KlmbWx8s7b}Lk^us&jD(Q_M;W&8vWO!(lz1JDwi%hZ-^$DA8zYil!Ko@dY`O;Bvh zbB=>8MRn!78#CQm&bvyYTH_C zh)9GW*(sz)pDY0J&gb(5$1lIxej)H^2soCTl@%4RJo(m_&5hp2{I4qsBzd_I1d+I4 z+xz}C&yjCNc#6(Jh5uD;7a-)dwx?>bc@_|KKwf?~bgsX!Griv$ZE-n;|L0y)8C1JV z-SH<1^1L@*a=c-C5uLV#?$l`XVju@8`GFIyg9J?2~yQJonmF+SMzx zBLO{ko9=K4t1+>0)XgZjq1eCc>NY=Fs>Qtg_UP?0r|~K;_u<3+#ZILvxp{fU7q$LS zcW`8^M#ea!-$t!3jn!YS7-~IE6(RO*#OB3{!=|O;umf3E;4cQESlF7Eo4T|91l_Y8^;&YiZtb06Ja${*UHqIA0f%GuU|={kJ?I1lEq@2(V_ep7Q@skJ0#AT znpmx<{ARH_E6UUkl29!qWi-Eboac|{exB>OuKT&}>%L#__x0o)_VZl3X7d^t47Qf& z<$eV07GRmfbwOkWb?3rh@NGo*gGaq`I<6D5O%=w{)Y`_7$|~WRq~7Y%4(?xtR4p@^ z4rKKYj&AT1g@}ivQ1zcqpVo3fXPI7H?T}$_HyoDj-+7Qsme(?NIpj9ncjgurxsD%eOd1k3e_l@YA5UmlI$%C~1>-00%^RKDK?pEQ zB&)p|25Z!dnx=IJmhNAt_Aw;bno{TFU!DAzX2|7hX-|51t6C#<>RxP~T0B!J9~+Ox zA0mD^CuSxiPeoJ(1$WV|GVX(h{D_pAw zXGvV&gX>_BPbdg-9Gd9HMQ_}=(MvwVq7B&8*DO{p!#|F6T**%^O{CN5KcB}tQe$G) z!64onMoChWL2LM)+tzDfA=Ml8^z`7U!$vDFWoBkxzxDgCKJyPEj9TYO>~MSM?L%4h zRH&{9eLJWMMOMyFGK{z+#*ED-%{BWYbbKlUzf8z+ zR420y1jFE(6T>BmALdJ^7Hx*~KDHV;X=daH^dvuKh9y}q#JTw{3)xQHw))ycE z#CZGtVShOkd6i0R8Cst2?CiWH!G0UuP!?3>ED{P2ldcWNdX*}@xb6W)U?LC?j>;ZI zcB?>%!?D>2El`<^J2^=M&BF6-OZ=EKZ#>W9`8NbagihDwz~j`5b3cYR8O*p=%IPGM zh6Pv%eIAK(Q!tJ)ZUu1BK5}<>TYI~fx3@RQsd{^w!MIjiyD#FQF(IH#xRYI8pmeBs zlU)@o>X}S@fTw^gX{?D2yy-)l48+2b(C{ zeFN+2>a5vm;3YJ%yf6B~(j47KeoxF8@7;mN<73I2NF=&xRzgFb;Ot4~*V^=yMb)-3;~j};u%I2;?Pl{_t7d*`lj z92OlDvlpok#6ec%l*6G9qTYDNzlNr^$u3y>#jPkdISTQ<)_0A`D0{6awK!RBYTioDn z(fF!}Ef$=x&3U@4&{*(PnnkP1DJVEt>3sD(jrJ;f;KQn~2@MbZD&y>AVw+bHd)u+k z>S)tWo+J|R4*f&%WGRCTVBk?nZdV06G$}0$R`4{Y(1AG}ZW%E#F#$*Y)7RJcfVO|B z*XWKgiOBsk%4&Pj>LyD5i|}^SC@d22!=wKE-Y_M8_%JZ9OmOyPvKNmElum`jPo5m> ztEEDb#U4EB^>w+og+dX;BOqBXBle0hVNPc9DYbFF^tsr_R63L7%#xruqpv4sk@~u% z1?A_x`V|+RS+j-B+2z?l02hZ+H859GY0Uo!KmAeeRIIBdI*uN4?3e{y>*CNE$C998 zn~YWld3@H9$o**Fl@j+mCX!tah6JeoUUK~Lc@4;aJn%{&A7hdg4`_Te5r);*meOzd zSbbu0luS4ZAPIQ?n7$6E&!eL4@4we@(VtS^B!^ zeBf8iu_D_8D_>70sNO`*ESVv?gm!cCwxPSG4e=UtZ5dS2yEP*Q}yDe`I}4x9EJ5Q>geb=Ir;6|(g@|j_heg# z)PI*wI+k=Py8dubNzp`3-2m;<`1{JUo9~M@seE3^v=_IBlNB2X0Vx+W3$rTq71dL_ zit~>b6DsA*D94iKPmBL1no0v)TvWi-Wir_(CZ+8q4Y-MzB5Dzw?Z0w;H+ey-?D(yW zZwMUEfw3?%7FS10ZK8C<6&e+6z|^s!ud8NO!n8RyGr(NN-fkhV_TOO=Iv5!=F&wkFEPNc O0Y)VFx!1UzO8XDtejNY+ From 1b1c1ebcfdb7cb2eaa5f21126972d6f233eaec81 Mon Sep 17 00:00:00 2001 From: Critawakets Date: Tue, 9 Dec 2025 18:54:11 -0500 Subject: [PATCH 19/22] Fixes some issues with the shadow knife on drop --- .../story_content/common_story/code/spells/shadow_knife.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/maplestation_modules/story_content/common_story/code/spells/shadow_knife.dm b/maplestation_modules/story_content/common_story/code/spells/shadow_knife.dm index 22ab991a0930..d06617b10cc6 100644 --- a/maplestation_modules/story_content/common_story/code/spells/shadow_knife.dm +++ b/maplestation_modules/story_content/common_story/code/spells/shadow_knife.dm @@ -19,8 +19,8 @@ /obj/item/knife/combat/ice/shadow/Initialize(mapload) . = ..() expire_time = world.time + 40 SECONDS - RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(on_drop)) + RegisterSignal(src, COMSIG_ITEM_DROPPED, PROC_REF(on_drop)) // Expires on drop unlike the regular knife. -/obj/item/knife/combat/ice/shadow/on_drop(atom/source) +/obj/item/knife/combat/ice/shadow/proc/on_drop(atom/source) expire() From 3e816c1313a0f4663972372f2536b622775d8107 Mon Sep 17 00:00:00 2001 From: Critawakets Date: Sun, 14 Dec 2025 13:46:22 -0500 Subject: [PATCH 20/22] Removes the non-functional summoned star gazer. --- maplestation.dme | 1 - .../code/mob/basic/summoned_star_gazer.dm | 14 -------------- 2 files changed, 15 deletions(-) delete mode 100644 maplestation_modules/story_content/common_story/code/mob/basic/summoned_star_gazer.dm diff --git a/maplestation.dme b/maplestation.dme index 14d90d3a1023..a548993b8e62 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -6799,7 +6799,6 @@ #include "maplestation_modules\story_content\common_story\code\story_lazy_template.dm" #include "maplestation_modules\story_content\common_story\code\story_rapid_status.dm" #include "maplestation_modules\story_content\common_story\code\story_rapid_status_datum.dm" -#include "maplestation_modules\story_content\common_story\code\mob\basic\summoned_star_gazer.dm" #include "maplestation_modules\story_content\common_story\code\rapid_statuses\lunar_judge.dm" #include "maplestation_modules\story_content\common_story\code\rapid_statuses\rabid_shadowfiend.dm" #include "maplestation_modules\story_content\common_story\code\smites\death_from_beyond.dm" diff --git a/maplestation_modules/story_content/common_story/code/mob/basic/summoned_star_gazer.dm b/maplestation_modules/story_content/common_story/code/mob/basic/summoned_star_gazer.dm deleted file mode 100644 index e51654a6af74..000000000000 --- a/maplestation_modules/story_content/common_story/code/mob/basic/summoned_star_gazer.dm +++ /dev/null @@ -1,14 +0,0 @@ -/// Weaker version of the star gazer, meant to be fought instead of being an invincible gigafighter -/mob/living/basic/heretic_summon/star_gazer/summoned - maxHealth = 750 - health = 750 - obj_damage = 60 - melee_damage_lower = 25 - melee_damage_upper = 25 - damage_coeff = list(BRUTE = 1, BURN = 0.8, TOX = 0, STAMINA = 0, OXY = 0) - -/mob/living/basic/heretic_summon/star_gazer/summoned/Initialize(mapload) - . = ..() - src.RemoveElement(/datum/element/death_explosion) // slightly hacky way of disabling the death explosion without editing the base star gazer - src.RemoveElement(/datum/element/effect_trail) - RemoveComponentSource(REF(src), /datum/component/regenerator) From 23167acf7dd6df6c72f93f2a3ab0b5a22f90aaa7 Mon Sep 17 00:00:00 2001 From: Critawakets Date: Sun, 14 Dec 2025 17:16:08 -0500 Subject: [PATCH 21/22] Punts everything into new directories --- maplestation.dme | 40 +++++++++--------- .../README.md | 0 .../code/rapid_statuses/lunar_judge.dm | 2 +- .../code/rapid_statuses/rabid_shadowfiend.dm | 0 .../code/smites/death_from_beyond.dm | 0 .../code/spells/shadow_knife.dm | 0 .../code/spells/shadow_steel.dm | 0 .../code/story_lazy_template.dm | 0 .../code/story_rapid_status.dm | 0 .../code/story_rapid_status_datum.dm | 0 .../icons/literally_just_the_moon.dmi | Bin .../code/areas.dm | 2 +- .../code/heat_blade.dm | 0 .../code/library/invitation.dm | 2 +- .../code/library/lazy_templates.dm | 0 .../code/library/weapons.dm | 6 +-- .../code/pendant.dm | 4 +- .../code/rapid_statuses/_cosmos.dm | 0 .../code/rapid_statuses/herald_of_cosmos.dm | 0 .../code/rapid_statuses/prince_of_cosmos.dm | 0 .../code/rapid_statuses/princess_of_cosmos.dm | 0 .../code/rapid_statuses/silvered_huntress.dm | 0 .../code/tevetia_spells/dark_smoke.dm | 0 .../icons/areas_library.dmi | Bin .../icons/greenleaf_amulet.dmi | Bin .../icons/greenleaf_amulet_worn.dmi | Bin .../icons/kanabo.dmi | Bin .../icons/kanabo_lefthand.dmi | Bin .../icons/kanabo_righthand.dmi | Bin .../icons/library_card.dmi | Bin 30 files changed, 28 insertions(+), 28 deletions(-) rename maplestation_modules/story_content/{common_story => __common_story}/README.md (100%) rename maplestation_modules/story_content/{common_story => __common_story}/code/rapid_statuses/lunar_judge.dm (94%) rename maplestation_modules/story_content/{common_story => __common_story}/code/rapid_statuses/rabid_shadowfiend.dm (100%) rename maplestation_modules/story_content/{common_story => __common_story}/code/smites/death_from_beyond.dm (100%) rename maplestation_modules/story_content/{common_story => __common_story}/code/spells/shadow_knife.dm (100%) rename maplestation_modules/story_content/{common_story => __common_story}/code/spells/shadow_steel.dm (100%) rename maplestation_modules/story_content/{common_story => __common_story}/code/story_lazy_template.dm (100%) rename maplestation_modules/story_content/{common_story => __common_story}/code/story_rapid_status.dm (100%) rename maplestation_modules/story_content/{common_story => __common_story}/code/story_rapid_status_datum.dm (100%) rename maplestation_modules/story_content/{common_story => __common_story}/icons/literally_just_the_moon.dmi (100%) rename maplestation_modules/story_content/{crit_equipment => __crit_equipment}/code/areas.dm (88%) rename maplestation_modules/story_content/{crit_equipment => __crit_equipment}/code/heat_blade.dm (100%) rename maplestation_modules/story_content/{crit_equipment => __crit_equipment}/code/library/invitation.dm (95%) rename maplestation_modules/story_content/{crit_equipment => __crit_equipment}/code/library/lazy_templates.dm (100%) rename maplestation_modules/story_content/{crit_equipment => __crit_equipment}/code/library/weapons.dm (69%) rename maplestation_modules/story_content/{crit_equipment => __crit_equipment}/code/pendant.dm (79%) rename maplestation_modules/story_content/{crit_equipment => __crit_equipment}/code/rapid_statuses/_cosmos.dm (100%) rename maplestation_modules/story_content/{crit_equipment => __crit_equipment}/code/rapid_statuses/herald_of_cosmos.dm (100%) rename maplestation_modules/story_content/{crit_equipment => __crit_equipment}/code/rapid_statuses/prince_of_cosmos.dm (100%) rename maplestation_modules/story_content/{crit_equipment => __crit_equipment}/code/rapid_statuses/princess_of_cosmos.dm (100%) rename maplestation_modules/story_content/{crit_equipment => __crit_equipment}/code/rapid_statuses/silvered_huntress.dm (100%) rename maplestation_modules/story_content/{crit_equipment => __crit_equipment}/code/tevetia_spells/dark_smoke.dm (100%) rename maplestation_modules/story_content/{crit_equipment => __crit_equipment}/icons/areas_library.dmi (100%) rename maplestation_modules/story_content/{crit_equipment => __crit_equipment}/icons/greenleaf_amulet.dmi (100%) rename maplestation_modules/story_content/{crit_equipment => __crit_equipment}/icons/greenleaf_amulet_worn.dmi (100%) rename maplestation_modules/story_content/{crit_equipment => __crit_equipment}/icons/kanabo.dmi (100%) rename maplestation_modules/story_content/{crit_equipment => __crit_equipment}/icons/kanabo_lefthand.dmi (100%) rename maplestation_modules/story_content/{crit_equipment => __crit_equipment}/icons/kanabo_righthand.dmi (100%) rename maplestation_modules/story_content/{crit_equipment => __crit_equipment}/icons/library_card.dmi (100%) diff --git a/maplestation.dme b/maplestation.dme index a548993b8e62..87cc04e94c9e 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -6796,26 +6796,26 @@ #include "maplestation_modules\story_content\armored_corps\code\clothing\aylie_cloak.dm" #include "maplestation_modules\story_content\armored_corps\code\melee\void_blade.dm" #include "maplestation_modules\story_content\bell_equipment\code\bellclothing.dm" -#include "maplestation_modules\story_content\common_story\code\story_lazy_template.dm" -#include "maplestation_modules\story_content\common_story\code\story_rapid_status.dm" -#include "maplestation_modules\story_content\common_story\code\story_rapid_status_datum.dm" -#include "maplestation_modules\story_content\common_story\code\rapid_statuses\lunar_judge.dm" -#include "maplestation_modules\story_content\common_story\code\rapid_statuses\rabid_shadowfiend.dm" -#include "maplestation_modules\story_content\common_story\code\smites\death_from_beyond.dm" -#include "maplestation_modules\story_content\common_story\code\spells\shadow_knife.dm" -#include "maplestation_modules\story_content\common_story\code\spells\shadow_steel.dm" -#include "maplestation_modules\story_content\crit_equipment\code\areas.dm" -#include "maplestation_modules\story_content\crit_equipment\code\heat_blade.dm" -#include "maplestation_modules\story_content\crit_equipment\code\pendant.dm" -#include "maplestation_modules\story_content\crit_equipment\code\library\invitation.dm" -#include "maplestation_modules\story_content\crit_equipment\code\library\lazy_templates.dm" -#include "maplestation_modules\story_content\crit_equipment\code\library\weapons.dm" -#include "maplestation_modules\story_content\crit_equipment\code\rapid_statuses\_cosmos.dm" -#include "maplestation_modules\story_content\crit_equipment\code\rapid_statuses\herald_of_cosmos.dm" -#include "maplestation_modules\story_content\crit_equipment\code\rapid_statuses\prince_of_cosmos.dm" -#include "maplestation_modules\story_content\crit_equipment\code\rapid_statuses\princess_of_cosmos.dm" -#include "maplestation_modules\story_content\crit_equipment\code\rapid_statuses\silvered_huntress.dm" -#include "maplestation_modules\story_content\crit_equipment\code\tevetia_spells\dark_smoke.dm" +#include "maplestation_modules\story_content\__common_story\code\story_lazy_template.dm" +#include "maplestation_modules\story_content\__common_story\code\story_rapid_status.dm" +#include "maplestation_modules\story_content\__common_story\code\story_rapid_status_datum.dm" +#include "maplestation_modules\story_content\__common_story\code\rapid_statuses\lunar_judge.dm" +#include "maplestation_modules\story_content\__common_story\code\rapid_statuses\rabid_shadowfiend.dm" +#include "maplestation_modules\story_content\__common_story\code\smites\death_from_beyond.dm" +#include "maplestation_modules\story_content\__common_story\code\spells\shadow_knife.dm" +#include "maplestation_modules\story_content\__common_story\code\spells\shadow_steel.dm" +#include "maplestation_modules\story_content\__crit_equipment\code\areas.dm" +#include "maplestation_modules\story_content\__crit_equipment\code\heat_blade.dm" +#include "maplestation_modules\story_content\__crit_equipment\code\pendant.dm" +#include "maplestation_modules\story_content\__crit_equipment\code\library\invitation.dm" +#include "maplestation_modules\story_content\__crit_equipment\code\library\lazy_templates.dm" +#include "maplestation_modules\story_content\__crit_equipment\code\library\weapons.dm" +#include "maplestation_modules\story_content\__crit_equipment\code\rapid_statuses\_cosmos.dm" +#include "maplestation_modules\story_content\__crit_equipment\code\rapid_statuses\herald_of_cosmos.dm" +#include "maplestation_modules\story_content\__crit_equipment\code\rapid_statuses\prince_of_cosmos.dm" +#include "maplestation_modules\story_content\__crit_equipment\code\rapid_statuses\princess_of_cosmos.dm" +#include "maplestation_modules\story_content\__crit_equipment\code\rapid_statuses\silvered_huntress.dm" +#include "maplestation_modules\story_content\__crit_equipment\code\tevetia_spells\dark_smoke.dm" #include "maplestation_modules\story_content\enma_equipment\code\enmaclothes.dm" #include "maplestation_modules\story_content\eveleen_equipment\code\clothing.dm" #include "maplestation_modules\story_content\grey_equipment\code\greyclothing.dm" diff --git a/maplestation_modules/story_content/common_story/README.md b/maplestation_modules/story_content/__common_story/README.md similarity index 100% rename from maplestation_modules/story_content/common_story/README.md rename to maplestation_modules/story_content/__common_story/README.md diff --git a/maplestation_modules/story_content/common_story/code/rapid_statuses/lunar_judge.dm b/maplestation_modules/story_content/__common_story/code/rapid_statuses/lunar_judge.dm similarity index 94% rename from maplestation_modules/story_content/common_story/code/rapid_statuses/lunar_judge.dm rename to maplestation_modules/story_content/__common_story/code/rapid_statuses/lunar_judge.dm index d5eb9b273faf..740766086aa8 100644 --- a/maplestation_modules/story_content/common_story/code/rapid_statuses/lunar_judge.dm +++ b/maplestation_modules/story_content/__common_story/code/rapid_statuses/lunar_judge.dm @@ -27,7 +27,7 @@ /obj/item/toy/the_moon_itself name = "The Moon" desc = "Where did you even get this? I swear there's lunar colonies, are those people shrunk or dead?" - icon = 'maplestation_modules/story_content/common_story/icons/literally_just_the_moon.dmi' + icon = 'maplestation_modules/story_content/__common_story/icons/literally_just_the_moon.dmi' icon_state = "moon" inhand_icon_state = "minimeteor" w_class = WEIGHT_CLASS_SMALL diff --git a/maplestation_modules/story_content/common_story/code/rapid_statuses/rabid_shadowfiend.dm b/maplestation_modules/story_content/__common_story/code/rapid_statuses/rabid_shadowfiend.dm similarity index 100% rename from maplestation_modules/story_content/common_story/code/rapid_statuses/rabid_shadowfiend.dm rename to maplestation_modules/story_content/__common_story/code/rapid_statuses/rabid_shadowfiend.dm diff --git a/maplestation_modules/story_content/common_story/code/smites/death_from_beyond.dm b/maplestation_modules/story_content/__common_story/code/smites/death_from_beyond.dm similarity index 100% rename from maplestation_modules/story_content/common_story/code/smites/death_from_beyond.dm rename to maplestation_modules/story_content/__common_story/code/smites/death_from_beyond.dm diff --git a/maplestation_modules/story_content/common_story/code/spells/shadow_knife.dm b/maplestation_modules/story_content/__common_story/code/spells/shadow_knife.dm similarity index 100% rename from maplestation_modules/story_content/common_story/code/spells/shadow_knife.dm rename to maplestation_modules/story_content/__common_story/code/spells/shadow_knife.dm diff --git a/maplestation_modules/story_content/common_story/code/spells/shadow_steel.dm b/maplestation_modules/story_content/__common_story/code/spells/shadow_steel.dm similarity index 100% rename from maplestation_modules/story_content/common_story/code/spells/shadow_steel.dm rename to maplestation_modules/story_content/__common_story/code/spells/shadow_steel.dm diff --git a/maplestation_modules/story_content/common_story/code/story_lazy_template.dm b/maplestation_modules/story_content/__common_story/code/story_lazy_template.dm similarity index 100% rename from maplestation_modules/story_content/common_story/code/story_lazy_template.dm rename to maplestation_modules/story_content/__common_story/code/story_lazy_template.dm diff --git a/maplestation_modules/story_content/common_story/code/story_rapid_status.dm b/maplestation_modules/story_content/__common_story/code/story_rapid_status.dm similarity index 100% rename from maplestation_modules/story_content/common_story/code/story_rapid_status.dm rename to maplestation_modules/story_content/__common_story/code/story_rapid_status.dm diff --git a/maplestation_modules/story_content/common_story/code/story_rapid_status_datum.dm b/maplestation_modules/story_content/__common_story/code/story_rapid_status_datum.dm similarity index 100% rename from maplestation_modules/story_content/common_story/code/story_rapid_status_datum.dm rename to maplestation_modules/story_content/__common_story/code/story_rapid_status_datum.dm diff --git a/maplestation_modules/story_content/common_story/icons/literally_just_the_moon.dmi b/maplestation_modules/story_content/__common_story/icons/literally_just_the_moon.dmi similarity index 100% rename from maplestation_modules/story_content/common_story/icons/literally_just_the_moon.dmi rename to maplestation_modules/story_content/__common_story/icons/literally_just_the_moon.dmi diff --git a/maplestation_modules/story_content/crit_equipment/code/areas.dm b/maplestation_modules/story_content/__crit_equipment/code/areas.dm similarity index 88% rename from maplestation_modules/story_content/crit_equipment/code/areas.dm rename to maplestation_modules/story_content/__crit_equipment/code/areas.dm index 8e1531f0689a..911d7a82a96c 100644 --- a/maplestation_modules/story_content/crit_equipment/code/areas.dm +++ b/maplestation_modules/story_content/__crit_equipment/code/areas.dm @@ -1,6 +1,6 @@ /area/grand_library name = "Grand Library" - icon = 'maplestation_modules/story_content/crit_equipment/icons/areas_library.dmi' + icon = 'maplestation_modules/story_content/__crit_equipment/icons/areas_library.dmi' icon_state = "grand_library" static_lighting = TRUE requires_power = FALSE diff --git a/maplestation_modules/story_content/crit_equipment/code/heat_blade.dm b/maplestation_modules/story_content/__crit_equipment/code/heat_blade.dm similarity index 100% rename from maplestation_modules/story_content/crit_equipment/code/heat_blade.dm rename to maplestation_modules/story_content/__crit_equipment/code/heat_blade.dm diff --git a/maplestation_modules/story_content/crit_equipment/code/library/invitation.dm b/maplestation_modules/story_content/__crit_equipment/code/library/invitation.dm similarity index 95% rename from maplestation_modules/story_content/crit_equipment/code/library/invitation.dm rename to maplestation_modules/story_content/__crit_equipment/code/library/invitation.dm index 14005b05574c..51d6481b70eb 100644 --- a/maplestation_modules/story_content/crit_equipment/code/library/invitation.dm +++ b/maplestation_modules/story_content/__crit_equipment/code/library/invitation.dm @@ -1,7 +1,7 @@ /obj/item/grand_library_invitation name = "\improper Grand Library Invitation" desc = "If you see this, somebody messed up and didn't use the proper subtype." - icon = 'maplestation_modules/story_content/crit_equipment/icons/library_card.dmi' + icon = 'maplestation_modules/story_content/__crit_equipment/icons/library_card.dmi' icon_state = "invitation_conf" w_class = WEIGHT_CLASS_SMALL var/area_to_send_to = /area/station/commons/toilet/restrooms diff --git a/maplestation_modules/story_content/crit_equipment/code/library/lazy_templates.dm b/maplestation_modules/story_content/__crit_equipment/code/library/lazy_templates.dm similarity index 100% rename from maplestation_modules/story_content/crit_equipment/code/library/lazy_templates.dm rename to maplestation_modules/story_content/__crit_equipment/code/library/lazy_templates.dm diff --git a/maplestation_modules/story_content/crit_equipment/code/library/weapons.dm b/maplestation_modules/story_content/__crit_equipment/code/library/weapons.dm similarity index 69% rename from maplestation_modules/story_content/crit_equipment/code/library/weapons.dm rename to maplestation_modules/story_content/__crit_equipment/code/library/weapons.dm index 335e6528e4f9..fe4e2408c6bf 100644 --- a/maplestation_modules/story_content/crit_equipment/code/library/weapons.dm +++ b/maplestation_modules/story_content/__crit_equipment/code/library/weapons.dm @@ -1,11 +1,11 @@ /obj/item/melee/kanabo name = "kanabō" desc = "A spiked club associated with Oni. It's incredibly heavy." - icon = 'maplestation_modules/story_content/crit_equipment/icons/kanabo.dmi' + icon = 'maplestation_modules/story_content/__crit_equipment/icons/kanabo.dmi' icon_state = "kanabo" inhand_icon_state = "kanabo" - lefthand_file = 'maplestation_modules/story_content/crit_equipment/icons/kanabo_lefthand.dmi' - righthand_file = 'maplestation_modules/story_content/crit_equipment/icons/kanabo_righthand.dmi' + lefthand_file = 'maplestation_modules/story_content/__crit_equipment/icons/kanabo_lefthand.dmi' + righthand_file = 'maplestation_modules/story_content/__crit_equipment/icons/kanabo_righthand.dmi' force = 35 wound_bonus = 15 throwforce = 25 diff --git a/maplestation_modules/story_content/crit_equipment/code/pendant.dm b/maplestation_modules/story_content/__crit_equipment/code/pendant.dm similarity index 79% rename from maplestation_modules/story_content/crit_equipment/code/pendant.dm rename to maplestation_modules/story_content/__crit_equipment/code/pendant.dm index 82062c7362ea..563571d11709 100644 --- a/maplestation_modules/story_content/crit_equipment/code/pendant.dm +++ b/maplestation_modules/story_content/__crit_equipment/code/pendant.dm @@ -1,9 +1,9 @@ /obj/item/clothing/neck/annatto_pendant name = "orange-blue pendant" desc = "A orange and blue swirl pendant with a purple chain made of obsidian-like material. It seems like it can open." - icon = 'maplestation_modules/story_content/crit_equipment/icons/greenleaf_amulet.dmi' + icon = 'maplestation_modules/story_content/__crit_equipment/icons/greenleaf_amulet.dmi' icon_state = "greenleaf_amulet" - worn_icon = 'maplestation_modules/story_content/crit_equipment/icons/greenleaf_amulet_worn.dmi' + worn_icon = 'maplestation_modules/story_content/__crit_equipment/icons/greenleaf_amulet_worn.dmi' worn_icon_state = "greenleaf_amulet" w_class = WEIGHT_CLASS_SMALL resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF | INDESTRUCTIBLE // thing is built TOUGH diff --git a/maplestation_modules/story_content/crit_equipment/code/rapid_statuses/_cosmos.dm b/maplestation_modules/story_content/__crit_equipment/code/rapid_statuses/_cosmos.dm similarity index 100% rename from maplestation_modules/story_content/crit_equipment/code/rapid_statuses/_cosmos.dm rename to maplestation_modules/story_content/__crit_equipment/code/rapid_statuses/_cosmos.dm diff --git a/maplestation_modules/story_content/crit_equipment/code/rapid_statuses/herald_of_cosmos.dm b/maplestation_modules/story_content/__crit_equipment/code/rapid_statuses/herald_of_cosmos.dm similarity index 100% rename from maplestation_modules/story_content/crit_equipment/code/rapid_statuses/herald_of_cosmos.dm rename to maplestation_modules/story_content/__crit_equipment/code/rapid_statuses/herald_of_cosmos.dm diff --git a/maplestation_modules/story_content/crit_equipment/code/rapid_statuses/prince_of_cosmos.dm b/maplestation_modules/story_content/__crit_equipment/code/rapid_statuses/prince_of_cosmos.dm similarity index 100% rename from maplestation_modules/story_content/crit_equipment/code/rapid_statuses/prince_of_cosmos.dm rename to maplestation_modules/story_content/__crit_equipment/code/rapid_statuses/prince_of_cosmos.dm diff --git a/maplestation_modules/story_content/crit_equipment/code/rapid_statuses/princess_of_cosmos.dm b/maplestation_modules/story_content/__crit_equipment/code/rapid_statuses/princess_of_cosmos.dm similarity index 100% rename from maplestation_modules/story_content/crit_equipment/code/rapid_statuses/princess_of_cosmos.dm rename to maplestation_modules/story_content/__crit_equipment/code/rapid_statuses/princess_of_cosmos.dm diff --git a/maplestation_modules/story_content/crit_equipment/code/rapid_statuses/silvered_huntress.dm b/maplestation_modules/story_content/__crit_equipment/code/rapid_statuses/silvered_huntress.dm similarity index 100% rename from maplestation_modules/story_content/crit_equipment/code/rapid_statuses/silvered_huntress.dm rename to maplestation_modules/story_content/__crit_equipment/code/rapid_statuses/silvered_huntress.dm diff --git a/maplestation_modules/story_content/crit_equipment/code/tevetia_spells/dark_smoke.dm b/maplestation_modules/story_content/__crit_equipment/code/tevetia_spells/dark_smoke.dm similarity index 100% rename from maplestation_modules/story_content/crit_equipment/code/tevetia_spells/dark_smoke.dm rename to maplestation_modules/story_content/__crit_equipment/code/tevetia_spells/dark_smoke.dm diff --git a/maplestation_modules/story_content/crit_equipment/icons/areas_library.dmi b/maplestation_modules/story_content/__crit_equipment/icons/areas_library.dmi similarity index 100% rename from maplestation_modules/story_content/crit_equipment/icons/areas_library.dmi rename to maplestation_modules/story_content/__crit_equipment/icons/areas_library.dmi diff --git a/maplestation_modules/story_content/crit_equipment/icons/greenleaf_amulet.dmi b/maplestation_modules/story_content/__crit_equipment/icons/greenleaf_amulet.dmi similarity index 100% rename from maplestation_modules/story_content/crit_equipment/icons/greenleaf_amulet.dmi rename to maplestation_modules/story_content/__crit_equipment/icons/greenleaf_amulet.dmi diff --git a/maplestation_modules/story_content/crit_equipment/icons/greenleaf_amulet_worn.dmi b/maplestation_modules/story_content/__crit_equipment/icons/greenleaf_amulet_worn.dmi similarity index 100% rename from maplestation_modules/story_content/crit_equipment/icons/greenleaf_amulet_worn.dmi rename to maplestation_modules/story_content/__crit_equipment/icons/greenleaf_amulet_worn.dmi diff --git a/maplestation_modules/story_content/crit_equipment/icons/kanabo.dmi b/maplestation_modules/story_content/__crit_equipment/icons/kanabo.dmi similarity index 100% rename from maplestation_modules/story_content/crit_equipment/icons/kanabo.dmi rename to maplestation_modules/story_content/__crit_equipment/icons/kanabo.dmi diff --git a/maplestation_modules/story_content/crit_equipment/icons/kanabo_lefthand.dmi b/maplestation_modules/story_content/__crit_equipment/icons/kanabo_lefthand.dmi similarity index 100% rename from maplestation_modules/story_content/crit_equipment/icons/kanabo_lefthand.dmi rename to maplestation_modules/story_content/__crit_equipment/icons/kanabo_lefthand.dmi diff --git a/maplestation_modules/story_content/crit_equipment/icons/kanabo_righthand.dmi b/maplestation_modules/story_content/__crit_equipment/icons/kanabo_righthand.dmi similarity index 100% rename from maplestation_modules/story_content/crit_equipment/icons/kanabo_righthand.dmi rename to maplestation_modules/story_content/__crit_equipment/icons/kanabo_righthand.dmi diff --git a/maplestation_modules/story_content/crit_equipment/icons/library_card.dmi b/maplestation_modules/story_content/__crit_equipment/icons/library_card.dmi similarity index 100% rename from maplestation_modules/story_content/crit_equipment/icons/library_card.dmi rename to maplestation_modules/story_content/__crit_equipment/icons/library_card.dmi From 263760651bf810656687aa48f19561fe341a554d Mon Sep 17 00:00:00 2001 From: Critawakets Date: Sun, 14 Dec 2025 17:18:39 -0500 Subject: [PATCH 22/22] i did a stupid --- maplestation.dme | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/maplestation.dme b/maplestation.dme index 87cc04e94c9e..1be45f554f32 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -6790,12 +6790,6 @@ #include "maplestation_modules\code\modules\wiremod\component_printer.dm" #include "maplestation_modules\code\modules\wiremod\shells.dm" #ifdef MAPLESTATION_STORY_CONTENT -#include "maplestation_modules\story_content\albert_equipment\code\albertclothing.dm" -#include "maplestation_modules\story_content\albert_equipment\code\albertitem.dm" -#include "maplestation_modules\story_content\alraune_miscitems\code\alrmiscitem.dm" -#include "maplestation_modules\story_content\armored_corps\code\clothing\aylie_cloak.dm" -#include "maplestation_modules\story_content\armored_corps\code\melee\void_blade.dm" -#include "maplestation_modules\story_content\bell_equipment\code\bellclothing.dm" #include "maplestation_modules\story_content\__common_story\code\story_lazy_template.dm" #include "maplestation_modules\story_content\__common_story\code\story_rapid_status.dm" #include "maplestation_modules\story_content\__common_story\code\story_rapid_status_datum.dm" @@ -6816,6 +6810,12 @@ #include "maplestation_modules\story_content\__crit_equipment\code\rapid_statuses\princess_of_cosmos.dm" #include "maplestation_modules\story_content\__crit_equipment\code\rapid_statuses\silvered_huntress.dm" #include "maplestation_modules\story_content\__crit_equipment\code\tevetia_spells\dark_smoke.dm" +#include "maplestation_modules\story_content\albert_equipment\code\albertclothing.dm" +#include "maplestation_modules\story_content\albert_equipment\code\albertitem.dm" +#include "maplestation_modules\story_content\alraune_miscitems\code\alrmiscitem.dm" +#include "maplestation_modules\story_content\armored_corps\code\clothing\aylie_cloak.dm" +#include "maplestation_modules\story_content\armored_corps\code\melee\void_blade.dm" +#include "maplestation_modules\story_content\bell_equipment\code\bellclothing.dm" #include "maplestation_modules\story_content\enma_equipment\code\enmaclothes.dm" #include "maplestation_modules\story_content\eveleen_equipment\code\clothing.dm" #include "maplestation_modules\story_content\grey_equipment\code\greyclothing.dm"