diff --git a/maplestation.dme b/maplestation.dme index 36244f389222..de960ce1c872 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -6509,6 +6509,7 @@ #include "maplestation_modules\story_content\armored_corps\code\melee\void_blade.dm" #include "maplestation_modules\story_content\armored_corps\code\techweb\all_nodes.dm" #include "maplestation_modules\story_content\bartender_equipment\code\barmanvintage.dm" +#include "maplestation_modules\story_content\bell_equipment\code\bellclothing.dm" #include "maplestation_modules\story_content\captain_equipment\code\captainclothing.dm" #include "maplestation_modules\story_content\casual_clothing\code\casualclothing.dm" #include "maplestation_modules\story_content\chaplain_equipment\code\chaplainclothing.dm" @@ -6530,6 +6531,7 @@ #include "maplestation_modules\story_content\shiro_equipment\code\shiroclothing.dm" #include "maplestation_modules\story_content\story_posters\code\contraband.dm" #include "maplestation_modules\story_content\stranger_equipment\code\strangerclothing.dm" +#include "maplestation_modules\story_content\volkan_equipment\code\sunitems.dm" #include "maplestation_modules\story_content\volkan_equipment\code\volkanitems.dm" #include "maplestation_modules\story_content\volkan_equipment\code\volkanpets.dm" #include "maplestation_modules\story_content\volkan_equipment\code\volkanpets_ai.dm" diff --git a/maplestation_modules/code/datums/components/limbless_aid.dm b/maplestation_modules/code/datums/components/limbless_aid.dm index 9b035914afbb..78b82e7c9418 100644 --- a/maplestation_modules/code/datums/components/limbless_aid.dm +++ b/maplestation_modules/code/datums/components/limbless_aid.dm @@ -41,6 +41,7 @@ SIGNAL_HANDLER if(!(slot & required_slot)) + lose_support(user) return add_support(user) diff --git a/maplestation_modules/code/modules/loadouts/loadout_items/loadout_datum_heads.dm b/maplestation_modules/code/modules/loadouts/loadout_items/loadout_datum_heads.dm index 31c2bb03a557..f5198e047500 100644 --- a/maplestation_modules/code/modules/loadouts/loadout_items/loadout_datum_heads.dm +++ b/maplestation_modules/code/modules/loadouts/loadout_items/loadout_datum_heads.dm @@ -258,3 +258,8 @@ /datum/loadout_item/head/garland/lily name = "Lily Crown" item_path = /obj/item/clothing/head/costume/garland/lily + +/datum/loadout_item/head/belli + name = "Modified Nun Veil" + item_path = /obj/item/clothing/head/costume/hat/belli + additional_displayed_text = list("Character Item") diff --git a/maplestation_modules/code/modules/loadouts/loadout_items/loadout_datum_under.dm b/maplestation_modules/code/modules/loadouts/loadout_items/loadout_datum_under.dm index 119b6496f7d0..b42cf3cf84dc 100644 --- a/maplestation_modules/code/modules/loadouts/loadout_items/loadout_datum_under.dm +++ b/maplestation_modules/code/modules/loadouts/loadout_items/loadout_datum_under.dm @@ -399,3 +399,8 @@ name = "Holointegrated Turtleneck" item_path = /obj/item/clothing/under/rank/rnd/research_director/jessie_turtleneck additional_displayed_text = list("Character Item") + +/datum/loadout_item/under/jumpsuit/belli + name = "Modified Nun Uniform" + item_path = /obj/item/clothing/under/jumpsuit/belli + additional_displayed_text = list("Character Item") diff --git a/maplestation_modules/code/modules/mob/dead/new_player/sprite_accessories.dm b/maplestation_modules/code/modules/mob/dead/new_player/sprite_accessories.dm index 1d819f8af458..50717b7a5b90 100644 --- a/maplestation_modules/code/modules/mob/dead/new_player/sprite_accessories.dm +++ b/maplestation_modules/code/modules/mob/dead/new_player/sprite_accessories.dm @@ -302,6 +302,11 @@ icon = 'maplestation_modules/icons/mob/human_face.dmi' icon_state = "hair_impdirector" +/datum/sprite_accessory/hair/graced_drills + name = "Graced Drills" + icon = 'maplestation_modules/icons/mob/human_face.dmi' + icon_state = "hair_graceddrill" + // https://github.com/Skyrat-SS13/Skyrat-tg/pull/17656 /datum/sprite_accessory/tails/lizard/big name = "Big" diff --git a/maplestation_modules/icons/mob/human_face.dmi b/maplestation_modules/icons/mob/human_face.dmi index 5755a5b183a1..9b402448c1d1 100644 Binary files a/maplestation_modules/icons/mob/human_face.dmi and b/maplestation_modules/icons/mob/human_face.dmi differ diff --git a/maplestation_modules/story_content/bell_equipment/code/bellclothing.dm b/maplestation_modules/story_content/bell_equipment/code/bellclothing.dm new file mode 100644 index 000000000000..09c468ec1ada --- /dev/null +++ b/maplestation_modules/story_content/bell_equipment/code/bellclothing.dm @@ -0,0 +1,17 @@ +// --- regular outfit --- + +/obj/item/clothing/under/jumpsuit/belli + name = "modified nun uniform" + desc = "A heavily modified nun uniform tinted pink with white lace and red ribbons. Stomp out cultists with style!" + icon = 'maplestation_modules/story_content/bell_equipment/icons/bellclothing_item.dmi' + worn_icon = 'maplestation_modules/story_content/bell_equipment/icons/bellclothing_worn.dmi' + icon_state = "nundress" + resistance_flags = INDESTRUCTIBLE + alternate_worn_layer = ABOVE_SHOES_LAYER + +/obj/item/clothing/head/costume/hat/belli + name = "pink nun veil" + desc = "A pink nun veil with just enough space to let your hair hang out." + icon = 'maplestation_modules/story_content/bell_equipment/icons/bellclothing_item.dmi' + worn_icon = 'maplestation_modules/story_content/bell_equipment/icons/bellclothing_worn.dmi' + icon_state = "nunveil" diff --git a/maplestation_modules/story_content/bell_equipment/icons/bellclothing_item.dmi b/maplestation_modules/story_content/bell_equipment/icons/bellclothing_item.dmi new file mode 100644 index 000000000000..6d9910c2ec0b Binary files /dev/null and b/maplestation_modules/story_content/bell_equipment/icons/bellclothing_item.dmi differ diff --git a/maplestation_modules/story_content/bell_equipment/icons/bellclothing_worn.dmi b/maplestation_modules/story_content/bell_equipment/icons/bellclothing_worn.dmi new file mode 100644 index 000000000000..08f8f1462dc2 Binary files /dev/null and b/maplestation_modules/story_content/bell_equipment/icons/bellclothing_worn.dmi differ diff --git a/maplestation_modules/story_content/volkan_equipment/code/sunitems.dm b/maplestation_modules/story_content/volkan_equipment/code/sunitems.dm new file mode 100644 index 000000000000..cf03417c4e1c --- /dev/null +++ b/maplestation_modules/story_content/volkan_equipment/code/sunitems.dm @@ -0,0 +1,119 @@ +/* + * # Stuff for the beach! + * Volkan has 0 pigment, so the sun damages him a lot IC. + * His synth avatar also has this flaw, mainly due to the type of synthflesh used. He made it too damn realistic. + * As a result, have items that help with dealing with the sun! + */ + +///Sunscreen! +/obj/item/sunscreen + name = "generic sunscreen" + desc = "A generic sunscreen product. Cream based application." + w_class = WEIGHT_CLASS_TINY + icon = 'maplestation_modules/story_content/volkan_equipment/icons/sun_items.dmi' + icon_state = "sunscreen_generic" + + ///how long it takes to apply in seconds + var/application_time = 10 SECONDS + ///How long it takes before sunscreen runs out in seconds + var/reaplication_time = 1800 SECONDS + ///The sunscreen's burn modifier. + var/burn_modifier = 0.03 + +/obj/item/sunscreen/shitty + name = "cheap generic sunscreen" + desc = "A budget generic sunscreen product. Cream based application." + + reaplication_time = 60 SECONDS + burn_modifier = 0.02 + +/obj/item/sunscreen/nanotrasen + name = "Nanotrasen sunscreen" + desc = "A Nanotrasen sunscreen product. Cream based application." + icon_state = "sunscreen_nanotrasen" + + application_time = 5 SECONDS + burn_modifier = 0.05 + +///HaSE has developed a pretty good sunscreen. It doesn't smell too great though. +/obj/item/sunscreen/volkan + name = "strange sunscreen" + desc = "A sunscreen product in a metal container. It seems to be a spray based application. Smells like industrial chemicals when sprayed." + icon_state = "sunscreen_volkan" + + application_time = 1 SECONDS + reaplication_time = 900 SECONDS//spray based doesn't last as long, plus it's funny to have volkan be applying sunscreen all the time. + burn_modifier = 0.1 + +/obj/item/sunscreen/attack_self(mob/user) + if(ishuman(user) && user.is_holding(src)) + apply(user, user) + +/obj/item/sunscreen/examine() + . = ..() + . += span_info("It's labeled SPF [burn_modifier * 1000]. Reapply in [reaplication_time / 600] minutes.") + +/obj/item/sunscreen/interact_with_atom(atom/target, mob/living/user) + if(!ishuman(target)) + return NONE + apply(target, user) + return ITEM_INTERACT_SUCCESS + +/** + * Applies sunscreen to a mob. + * + * Arguments: + * * target - The mob who we will apply the sunscreen to. + * * user - the mob that is applying the sunscreen. + */ +/obj/item/sunscreen/proc/apply(mob/living/carbon/target, mob/user) + if(!ishuman(target)) + return + + if(target == user) + user.visible_message( + span_notice("[user] starts to apply [src] on [user.p_them()]self..."), + span_notice("You begin applying [src] on yourself...") + ) + else + user.visible_message( + span_notice("[user] starts to apply [src] on [target]."), + span_notice("You begin applying [src] on [target]...") + ) + + if(do_after(user, application_time, target)) + target.apply_status_effect(/datum/status_effect/sunscreen, reaplication_time, burn_modifier) + + target.visible_message(span_warning("[target] has applied sunscreen!"), + span_notice("You are covered in sunscreen!")) + +//sunscreen status effect +/atom/movable/screen/alert/status_effect/sunscreen + name = "Sunscreen" + desc = "You are covered in sunscreen!" + icon = 'maplestation_modules/story_content/volkan_equipment/icons/sun_items.dmi' + icon_state = "sunscreen_generic" + +/datum/status_effect/sunscreen + id = "sunscreen" + duration = 1800 SECONDS + alert_type = /atom/movable/screen/alert/status_effect/sunscreen + var/burn_modifier = 0.03 + +/datum/status_effect/sunscreen/on_creation(mob/living/new_owner, duration, burn_modifier) + src.duration = duration + src.burn_modifier = burn_modifier + return ..() + +/datum/status_effect/sunscreen/on_apply() + if(ishuman(owner)) + var/mob/living/carbon/human/applying_to = owner + applying_to.physiology.burn_mod -= burn_modifier + return ..() + +///Stuff that happens when the sunscreen runs out. +/datum/status_effect/sunscreen/on_remove() + if(ishuman(owner)) + var/mob/living/carbon/human/H = owner + H.physiology.burn_mod += burn_modifier + to_chat(owner, span_notice("You no longer feel protected by your sunscreen.")) diff --git a/maplestation_modules/story_content/volkan_equipment/code/volkanitems.dm b/maplestation_modules/story_content/volkan_equipment/code/volkanitems.dm index e50046a899ca..5620e70e0337 100644 --- a/maplestation_modules/story_content/volkan_equipment/code/volkanitems.dm +++ b/maplestation_modules/story_content/volkan_equipment/code/volkanitems.dm @@ -72,7 +72,7 @@ /// the typepath of mob mob that it will turn into var/mobtype /// the sound the mob will make when it turns on (is created). - var/startup = 'maplestation_modules/story_content/volkan_equipment/audio/bot_startup.ogg' + var/startup = 'maplestation_modules/story_content/volkan_equipment/audio/bot_startup.ogg' w_class = WEIGHT_CLASS_NORMAL //activate bot action diff --git a/maplestation_modules/story_content/volkan_equipment/icons/sun_items.dmi b/maplestation_modules/story_content/volkan_equipment/icons/sun_items.dmi new file mode 100644 index 000000000000..fad9ba0ee4e9 Binary files /dev/null and b/maplestation_modules/story_content/volkan_equipment/icons/sun_items.dmi differ