diff --git a/aurorastation.dme b/aurorastation.dme index b8f6d04125a..4573db94dc0 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -762,6 +762,7 @@ #include "code\game\objects\items\latexballoon.dm" #include "code\game\objects\items\paintkit.dm" #include "code\game\objects\items\shooting_range.dm" +#include "code\game\objects\items\skrell.dm" #include "code\game\objects\items\spirit_board.dm" #include "code\game\objects\items\toys.dm" #include "code\game\objects\items\trash.dm" @@ -1392,6 +1393,7 @@ #include "code\modules\clothing\under\jobs\medsci.dm" #include "code\modules\clothing\under\jobs\security.dm" #include "code\modules\clothing\under\jobs\sol.dm" +#include "code\modules\clothing\under\xenos\skrell.dm" #include "code\modules\clothing\under\xenos\tajara.dm" #include "code\modules\clothing\under\xenos\unathi.dm" #include "code\modules\clothing\under\xenos\vaurca.dm" diff --git a/code/game/objects/items/skrell.dm b/code/game/objects/items/skrell.dm new file mode 100644 index 00000000000..1c67ae55801 --- /dev/null +++ b/code/game/objects/items/skrell.dm @@ -0,0 +1,155 @@ +/obj/item/stellascope + name = "stellascope" + desc = "An antique and delicate looking instrument used to study the stars." + icon = 'icons/obj/skrell_items.dmi' + icon_state = "starscope" + w_class = 1 + matter = list("glass" = 200) + drop_sound = 'sound/items/drop/glass.ogg' + var/list/constellations = list("Island", "Hatching Egg", "Star Chanter", "Jiu'x'klua", "Stormcloud", "Gnarled Tree", "Poet", "Bloated Toad", "Qu'Poxiii", "Fisher") + var/selected_constellation + var/projection_ready = TRUE + +/obj/item/stellascope/Initialize() + . = ..() + pick_constellation() + +/obj/item/stellascope/examine(mob/user) + ..(user) + to_chat(user, "\The [src] displays the \"[selected_constellation]\".") + +/obj/item/stellascope/throw_impact(atom/hit_atom) + ..() + visible_message("\The [src] lands on \the [pick_constellation()].") + +/obj/item/stellascope/attack_self(mob/user as mob) + if(ishuman(user)) + var/mob/living/carbon/human/H = user + if(isskrell(H)) + H.visible_message("\The [H] holds the brassy instrument up to \his eye and peers at something unseen.", + "You see the starry edgy of srom floating on the void of space.") + if(projection_ready) + new/obj/effect/temp_visual/constellation (get_turf(user)) + projection_ready = FALSE + addtimer(CALLBACK(src, .proc/rearm), 3 MINUTES) + + +/obj/item/stellascope/proc/rearm() + projection_ready = TRUE + +/obj/item/stellascope/proc/pick_constellation() + var/chosen_constellation = pick(constellations) + selected_constellation = chosen_constellation + return chosen_constellation + +/obj/effect/temp_visual/constellation + name = "starry projection" + desc = "A holographic projection of star system." + icon = 'icons/obj/skrell_items.dmi' + icon_state = "starprojection" + mouse_opacity = TRUE + duration = 1200 + layer = LIGHTING_LAYER + 0.1 + light_power = 1 + light_range = 1 + light_color = LIGHT_COLOR_HALOGEN + +/obj/effect/temp_visual/constellation/attackby(obj/item/W as obj, mob/user as mob) + visible_message("\The [src] vanishes!") + qdel(src) + return + +/obj/effect/temp_visual/constellation/attackby(obj/item/W as obj, mob/user as mob) + visible_message("\The [src] vanishes!") + qdel(src) + return + +/obj/effect/temp_visual/constellation/attack_hand(mob/user as mob) + if(user.a_intent == I_HURT) + visible_message("\The [src] vanishes!") + qdel(src) + return + +/obj/item/skrell_projector + name = "nralakk projector" + desc = "A projector meant to help Federation Skrell feel like theyre carrying home with them wherever they go. It looks very complex." + icon = 'icons/obj/skrell_items.dmi' + icon_state = "projector" + w_class = 1 + matter = list("glass" = 200) + drop_sound = 'sound/items/drop/glass.ogg' + var/list/worlds_selection = list("Xrim", "Kal'lo", "Nralakk") + var/selected_world + var/working = FALSE + +/obj/item/skrell_projector/Destroy() + STOP_PROCESSING(SSprocessing, src) + return ..() + +/obj/item/skrell_projector/examine(mob/user) + ..(user) + if(selected_world && working) + to_chat(user, "\The [src] displays the world of [selected_world].") + +/obj/item/skrell_projector/attack_self(mob/user as mob) + working = !working + + if(working) + var/choice = input("You change the projector's world to;","Change the projector's world.") as null|anything in worlds_selection + apply_world(choice) + START_PROCESSING(SSprocessing, src) + else + set_light(0) + working = FALSE + icon_state = initial(icon_state) + STOP_PROCESSING(SSprocessing, src) + +/obj/item/skrell_projector/proc/apply_world(var/choice) + set_light(2) + if(choice) + selected_world = choice + + switch(choice) + + if("Xrim") + icon_state = "projector_pink" + light_color = LIGHT_COLOR_PINK + + if("Kal'lo") + icon_state = "projector_blue" + light_color = LIGHT_COLOR_BLUE + + if("Nralakk") + icon_state = "projector_purple" + light_color = LIGHT_COLOR_PURPLE + else + working = FALSE + set_light(0) + icon_state = initial(icon_state) + STOP_PROCESSING(SSprocessing, src) + +/obj/item/skrell_projector/process() + if(!selected_world) + return + + if(prob(10)) + var/hologram_message + switch(selected_world) + + if("Xrim") + hologram_message = pick("You hear strange, warbling birdsong.", + " You see sunlight filtered through overgrown trees projected on the ceiling.", + "You see large insects hovering above the projector.") + + if("Kal'lo") + hologram_message = pick("You see the ocean surface projected on the ceiling.", + "You see colorful fish swimming above the projector.", + "You hear the muffled sound of waves breaking above you.") + + if("Nralakk") + hologram_message = pick("You see the Jargon system sky projected on the ceiling.", + "You see planets slowly orbiting Nralakk above the projector.", + "You hear faint ceremonial hymms.") + + if(hologram_message) + visible_message("[hologram_message]") diff --git a/code/modules/background/citizenship/skrell.dm b/code/modules/background/citizenship/skrell.dm index 8290276822a..b89cf30f632 100644 --- a/code/modules/background/citizenship/skrell.dm +++ b/code/modules/background/citizenship/skrell.dm @@ -6,6 +6,7 @@ and the availability of both C'thur and Dionaea as manual labourers), allowing Federation Citizens to focus on less intensive pursuits. A rogue artificial intelligence, \ Glorsh-Omega, has traumatized this nation for centuries to come, and the Federation is very wary of humanity, who has acquired AI technology (such as IPCs) after a Federation \ tech leak." + consular_outfit = /datum/outfit/job/representative/consular/jargon /datum/citizenship/jargon/get_objectives(mission_level, var/mob/living/carbon/human/H) var/rep_objectives @@ -24,4 +25,9 @@ rep_objectives = pick("Consider assisting crew within the capacity of your role, an altruistic image is good PR towards the federation", "Some Skrell are not part of the Federation; attempt to convince them to become a citizen") - return rep_objectives \ No newline at end of file + return rep_objectives + +/datum/outfit/job/representative/consular/jargon + name = "Jargon Consular Officer" + + uniform = /obj/item/clothing/under/skrell \ No newline at end of file diff --git a/code/modules/background/religion/skrell.dm b/code/modules/background/religion/skrell.dm index 0e8090caa8a..15d5e54704b 100644 --- a/code/modules/background/religion/skrell.dm +++ b/code/modules/background/religion/skrell.dm @@ -6,7 +6,8 @@ upon something, that while the process of how it came to be understood, the catalyst of it all is sought, as all things require some measure of action, so in order to do that, \ the collective races needs to uncover every mystery in the galaxy in order to fully understand everything within it, and possibly beyond. This makes Qeblak a religion that highly \ celebrates the pursuit of knowledge, exploration, science and innovation, to them, science is part of culture." - book_name = "star keeper tome" + book_name = "book of celestial spheres" + book_sprite = "skrellbible" /datum/religion/weishii name = RELIGION_WEISHII @@ -15,4 +16,5 @@ the belief that the constellations all around us hold the key to understanding their fate and place in the galaxy. Whereas a member of the Qeblak faith would learn and study, a \ member of the Weishii faith would meditate, attempt to get a deeper inner understanding. This is generally attempted through the usage of Wulumunusha, a flowering vine that has \ came into existence following the meddling of the biosphere of Xrim by Glorsh." - book_name = "weishii meditation booklet" \ No newline at end of file + book_name = "book of celestial spheres" + book_sprite = "skrellbible" \ No newline at end of file diff --git a/code/modules/client/preference_setup/loadout/loadout_xeno/skrell.dm b/code/modules/client/preference_setup/loadout/loadout_xeno/skrell.dm index 589c190babe..22abf7a9844 100644 --- a/code/modules/client/preference_setup/loadout/loadout_xeno/skrell.dm +++ b/code/modules/client/preference_setup/loadout/loadout_xeno/skrell.dm @@ -68,3 +68,21 @@ capes["nova cape"] = /obj/item/clothing/accessory/poncho/shouldercape/nova capes["galaxy cape"] = /obj/item/clothing/accessory/poncho/shouldercape/galaxy gear_tweaks += new/datum/gear_tweak/path(capes) + +/datum/gear/uniform/skrell + display_name = "qeblak ceremonial garment" + path = /obj/item/clothing/under/skrell/qeblak + whitelisted = list("Skrell") + sort_category = "Xenowear - Skrell" + +/datum/gear/stellascope + display_name = "stellascope" + path = /obj/item/stellascope + whitelisted = list("Skrell") + sort_category = "Xenowear - Skrell" + +/datum/gear/skrell_projector + display_name = "nralakk projector" + path = /obj/item/skrell_projector + whitelisted = list("Skrell") + sort_category = "Xenowear - Skrell" \ No newline at end of file diff --git a/code/modules/clothing/under/xenos/skrell.dm b/code/modules/clothing/under/xenos/skrell.dm new file mode 100644 index 00000000000..b1b0f255eca --- /dev/null +++ b/code/modules/clothing/under/xenos/skrell.dm @@ -0,0 +1,43 @@ +/obj/item/clothing/under/skrell + name = "federation uniform" + desc = "The uniform worn by Official Jagon Federation Representatives and Diplomats. It looks pretty waterproof." + icon = 'icons/obj/skrell_items.dmi' + icon_state = "skrell_formal" + item_state = "skrell_formal" + contained_sprite = TRUE + +/obj/item/clothing/under/skrell/qeblak + name = "qeblak ceremonial garment" + desc = "A traditional garment worn by Qeblak Star Keepers" + icon_state = "qeblak_uniform" + item_state = "qeblak_uniform" + action_button_name = "Toggle Ceremonial Garment Lights" + var/lights = FALSE + +/obj/item/clothing/under/skrell/qeblak/update_icon() + ..() + if(lights) + item_state = "[initial(icon_state)]_on" + else + item_state = initial(item_state) + +/obj/item/clothing/under/skrell/qeblak/attack_self(mob/user) + toggle_lights() + +/obj/item/clothing/under/skrell/qeblak/verb/toggle_lights() + set name = "Toggle Ceremonial Garment Lights" + set category = "Object" + set src in usr + + if (use_check_and_message(usr)) + return + + lights = !lights + + if(lights) + set_light(2) + else + set_light(0) + + update_icon() + usr.update_inv_w_uniform() \ No newline at end of file diff --git a/code/modules/hydroponics/seed_datums.dm b/code/modules/hydroponics/seed_datums.dm index 73d0e1fecdc..b7ea3f9e05c 100644 --- a/code/modules/hydroponics/seed_datums.dm +++ b/code/modules/hydroponics/seed_datums.dm @@ -1332,4 +1332,22 @@ set_trait(TRAIT_POTENCY,10) set_trait(TRAIT_PRODUCT_ICON,"leaves") set_trait(TRAIT_PRODUCT_COLOUR,"#00e0e0") - set_trait(TRAIT_PLANT_ICON,"bush8") \ No newline at end of file + set_trait(TRAIT_PLANT_ICON,"bush8") + +/datum/seed/wulumunusha + name = "wulumunusha" + seed_name = "wulumunusha" + display_name = "wulumunusha vines" + chems = list("wulumunusha" = list(3,5)) + kitchen_tag = "wulumunusha" + +/datum/seed/wulumunusha/setup_traits() + ..() + set_trait(TRAIT_MATURATION,8) + set_trait(TRAIT_PRODUCTION,3) + set_trait(TRAIT_YIELD,3) + set_trait(TRAIT_POTENCY,5) + set_trait(TRAIT_PRODUCT_ICON,"wumpafruit") + set_trait(TRAIT_PRODUCT_COLOUR,"#61E2EC") + set_trait(TRAIT_PLANT_ICON,"wumpavines") + set_trait(TRAIT_WATER_CONSUMPTION, 10) \ No newline at end of file diff --git a/code/modules/hydroponics/seed_packets.dm b/code/modules/hydroponics/seed_packets.dm index 67c2160162a..e80c95dcda8 100644 --- a/code/modules/hydroponics/seed_packets.dm +++ b/code/modules/hydroponics/seed_packets.dm @@ -292,4 +292,7 @@ var/global/list/plant_seed_sprites = list() seed_type = "ghostmushroom" /obj/item/seeds/dynseed - seed_type = "dyn" \ No newline at end of file + seed_type = "dyn" + +/obj/item/seeds/wulumunushaseed + seed_type = "wulumunusha" \ No newline at end of file diff --git a/code/modules/mob/abstract/new_player/sprite_accessories.dm b/code/modules/mob/abstract/new_player/sprite_accessories.dm index dd72fdee3ea..e68783f9562 100644 --- a/code/modules/mob/abstract/new_player/sprite_accessories.dm +++ b/code/modules/mob/abstract/new_player/sprite_accessories.dm @@ -2793,6 +2793,13 @@ Follow by example and make good judgement based on length which list to include species_allowed = list("Skrell") do_colouration = 0 + skr_arms + name = "Skrell Arms" + icon_state = "skrell_arms" + body_parts = list("l_arm","r_arm","l_hand","r_hand") + species_allowed = list("Skrell") + + // Branded IPC markings - disabled for now, some layering issues. /* bishop diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Drugs.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Drugs.dm index 7836e7d92dc..bcdeddd7bae 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Drugs.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Drugs.dm @@ -288,7 +288,7 @@ if(prob(50)) M.drowsyness = max(M.drowsyness, 3) -/datum/reagent/toxin/krok/ +/datum/reagent/toxin/krok name = "Krok Juice" id = "krok" description = "An Eridanian variant of krokodil, known for causing prosthetic malfunctions." @@ -316,4 +316,16 @@ H.add_chemical_effect(CE_PAINKILLER, 80) // equivalent to tramadol var/obj/item/organ/eyes/eyes = H.internal_organs_by_name[H.species.vision_organ || "eyes"] if(eyes.status & ORGAN_ROBOT) - M.hallucination = max(M.hallucination, 40) \ No newline at end of file + M.hallucination = max(M.hallucination, 40) + +/datum/reagent/wulumunusha + name = "Wulumunusha Extract" + id = "wulumunusha" + description = "The extract of the wulumunusha fruit, it can cause hallucionations and muteness." + color = "#61E2EC" + taste_description = "sourness" + fallback_specific_heat = 1 + +/datum/reagent/mindbreaker/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) + M.druggy = max(M.druggy, 50) + M.silent += 15 \ No newline at end of file diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm index c467ee16453..517405c7ec0 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm @@ -3763,6 +3763,41 @@ if(alien != IS_DIONA) M.make_jittery(10) +/datum/reagent/drink/algaesuprise + name = "Pl'iuop Algae Surprise" + id = "algaesuprise" + color = "#FFFF80" + description = "This bubbling drink gives off a faint moldy aroma." + taste_description = "swamp fungus" + + glass_icon_state = "algae_surprise" + glass_name = "glass of Pl'iuop Algae Surprise" + glass_desc = "This bubbling drink gives off a faint moldy aroma." + +/datum/reagent/drink/xrim + name = "Xrim Garden" + id = "xrim" + color = "#F6668E" + description = "A colorful drink that smells a lot like rotten fruit." + taste_description = "sweet, fruity slime" + + glass_icon_state = "xrim" + glass_name = "glass of Xrim Garden" + glass_desc = "A colorful drink that smells a lot like rotten fruit." + +/datum/reagent/alcohol/ethanol/rixulin_sundae + name = "Rixulin Sundae" + id = "rixulin_sundae" + color = "#83E2C6" + description = "A fizzing drink that looks like a really great time." + taste_description = "spacetime and warbling music" + + strength = 15 + druggy = 30 + + glass_icon_state = "rixulin_sundae" + glass_name = "glass of Rixulin Sundae" + glass_desc = "A fizzing drink that looks like a really great time." // Butanol-based alcoholic drinks //===================================== diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index a11f60da0f0..f92311468df 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -3088,6 +3088,27 @@ required_reagents = list("dynjuice" = 1, "ice" = 2, "sodawater" = 2) result_amount = 5 +/datum/chemical_reaction/drink/algaesuprise + name = "Pl'iuop Algae Surprise" + id = "algaesuprise" + result = "algaesuprise" + required_reagents = list("virusfood" = 2, "banana" = 1) + result_amount = 3 + +/datum/chemical_reaction/drink/xrim + name = "Xrim Garden" + id = "xrim" + result = "xrim" + required_reagents = list("virusfood" = 2, "watermelonjuice" = 1, "orangejuice" = 1, "limejuice" = 1, "zora_cthur" = 1) + result_amount = 6 + +/datum/chemical_reaction/drink/rixulin_sundae + name = "Rixulin Sundae" + id = "rixulin_sundae" + result = "rixulin_sundae" + required_reagents = list("virusfood" = 3, "wulumunusha" = 1, "whitewine" = 2) + result_amount = 6 + //transmutation /datum/chemical_reaction/transmutation_silver diff --git a/html/changelogs/alberyk_skrell.yml b/html/changelogs/alberyk_skrell.yml new file mode 100644 index 00000000000..943640ca6cd --- /dev/null +++ b/html/changelogs/alberyk_skrell.yml @@ -0,0 +1,8 @@ +author: Alberyk, BRAINOS + +delete-after: True + +changes: + - rscadd: "Added new options to the skrell loadout." + - rscadd: "Added new skrell body markings." + - rscadd: "Added new skrell related drinks." diff --git a/icons/mob/human_races/markings.dmi b/icons/mob/human_races/markings.dmi index 324b2223056..a23ea60b055 100644 Binary files a/icons/mob/human_races/markings.dmi and b/icons/mob/human_races/markings.dmi differ diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi index 4d62331917e..c8a1589bb6b 100644 Binary files a/icons/obj/drinks.dmi and b/icons/obj/drinks.dmi differ diff --git a/icons/obj/hydroponics_growing.dmi b/icons/obj/hydroponics_growing.dmi index 22147b212e7..3715e8b8467 100644 Binary files a/icons/obj/hydroponics_growing.dmi and b/icons/obj/hydroponics_growing.dmi differ diff --git a/icons/obj/hydroponics_products.dmi b/icons/obj/hydroponics_products.dmi index 99fdc611a09..58ad341448d 100644 Binary files a/icons/obj/hydroponics_products.dmi and b/icons/obj/hydroponics_products.dmi differ diff --git a/icons/obj/library.dmi b/icons/obj/library.dmi index ca1cb8a4f81..0026728945f 100644 Binary files a/icons/obj/library.dmi and b/icons/obj/library.dmi differ diff --git a/icons/obj/skrell_items.dmi b/icons/obj/skrell_items.dmi new file mode 100644 index 00000000000..3569178104f Binary files /dev/null and b/icons/obj/skrell_items.dmi differ