diff --git a/GainStation13/code/clothing/gloves.dm b/GainStation13/code/clothing/gloves.dm new file mode 100644 index 0000000000..23b760d049 --- /dev/null +++ b/GainStation13/code/clothing/gloves.dm @@ -0,0 +1,15 @@ +// GS13 - Port CE Gloves +/obj/item/clothing/gloves/color/yellow/ce //funky looking, basically combat gloves + desc = "Special Insulated gloves with pricy thermal shielding normally only found in combat gloves." + name = "Chief Engineer Insulated Gloves" + icon = 'GainStation13/icons/obj/clothing/gloves.dmi' + icon_state = "ce_insuls" + item_state = "blackgloves" + siemens_coefficient = 0 + permeability_coefficient = 0.05 + strip_delay = 80 + cold_protection = HANDS + min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT + heat_protection = HANDS + max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT + resistance_flags = NONE diff --git a/GainStation13/code/clothing/haydee_suit.dm b/GainStation13/code/clothing/haydee_suit.dm index f293f6c13d..266a5892f9 100644 --- a/GainStation13/code/clothing/haydee_suit.dm +++ b/GainStation13/code/clothing/haydee_suit.dm @@ -4,7 +4,6 @@ icon = 'GainStation13/icons/obj/clothing/haydee_modular.dmi' mob_overlay_icon = 'GainStation13/icons/obj/clothing/haydee_modular.dmi' icon_state = "haydee_helmet" - item_state = "item_haydee_helmet" armor = list("melee" = 10, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 0, "bio" = 0, "rad" = 25, "fire" = 25, "acid" = 25) slowdown = 0 mutantrace_variation = NONE @@ -13,9 +12,10 @@ /obj/item/clothing/suit/space/hardsuit/engine/haydee name = "Haydee Suit" desc = "A strangely voluptous suit. Offers little to no protection. It also appears to have minor flab-compressing properties." + icon = 'GainStation13/icons/obj/clothing/haydee_modular.dmi' mob_overlay_icon = 'GainStation13/icons/obj/clothing/haydee_modular.dmi' anthro_mob_worn_overlay = 'GainStation13/icons/obj/clothing/haydee_modular.dmi' - icon_state = "haydee_suit" + icon_state = "haydee_suit1" item_state = "item_haydee" armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 25, "fire" = 5, "acid" = 5) allowed = list(/obj/item/flashlight, /obj/item/tank/internals) diff --git a/GainStation13/code/datums/traits.dm b/GainStation13/code/datums/traits.dm index ef7e361a9c..89484a7b25 100644 --- a/GainStation13/code/datums/traits.dm +++ b/GainStation13/code/datums/traits.dm @@ -125,3 +125,26 @@ mob_trait = TRAIT_DISTANT value = 0 medical_record_text = "Patient cares little with or dislikes being touched." + +/datum/quirk/vegetarian + name = "Vegetarian" + desc = "You find the idea of eating meat morally and physically repulsive." + value = 0 + gain_text = "You feel repulsion at the idea of eating meat." + lose_text = "You feel like eating meat isn't that bad." + medical_record_text = "Patient reports a vegetarian diet." + +/datum/quirk/vegetarian/add() + var/mob/living/carbon/human/H = quirk_holder + var/datum/species/species = H.dna.species + species.liked_food &= ~MEAT + species.disliked_food |= MEAT + +/datum/quirk/vegetarian/remove() + var/mob/living/carbon/human/H = quirk_holder + if(H) + var/datum/species/species = H.dna.species + if(initial(species.liked_food) & MEAT) + species.liked_food |= MEAT + else + species.disliked_food &= ~MEAT diff --git a/GainStation13/code/game/donator.dm b/GainStation13/code/game/donator.dm index b7b955b6e5..0300ac2dcf 100644 --- a/GainStation13/code/game/donator.dm +++ b/GainStation13/code/game/donator.dm @@ -9,7 +9,7 @@ name = "GATO Badge - Correspondent" category = LOADOUT_CATEGORY_DONATOR path = /obj/item/clothing/accessory/medal/gato_badge/middleman - ckeywhitelist = list("johnjimjim", "sonoida", "yeeny", "Not Number") + ckeywhitelist = list("johnjimjim", "sonoida", "yeeny", "Not Number", "Not_Number", "NotNumber",) /datum/gear/halsey_overcoat name = "Halsey's Commander Overcoat" @@ -29,12 +29,6 @@ path = /obj/item/gun/ballistic/automatic/toy/pistol/haydee ckeywhitelist = list("lumu", "sonoida") -//sorry for defining this here, just thought it'd be more convenient -/obj/item/clothing/suit/chloe/halsey //sorry to whoever chloe is, but that coat is far too badass not to be used - name = "Halsey's Commander Overcoat" - desc = "A Ginormous red overcoat that looks fit for a commander. Has a tag on it that reads: 'Property of Halsey Harmonten. Please return if lost!'" - armor = list("melee" = 20, "bullet" = 20, "laser" = 0,"energy" = 20, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 20, "acid" = 0) //worn by a captain player, might as well recompensate not wearing the carapace - /datum/gear/rose_plush name = "Dezir Rose Plush" category = LOADOUT_SUBCATEGORY_BACKPACK_TOYS @@ -53,10 +47,6 @@ path = /obj/item/clothing/suit/storage/blueshield/grimmy ckeywhitelist = list("bbgrimmy") -/obj/item/clothing/suit/storage/blueshield/grimmy - name = "Overcoat of the Destitute" - desc = "Welcome all to the everlasting all-time low. Please put your hands together for the ever-failing one man show: Domino!" - /datum/gear/tarek_gps name = "Tarek's GPS" category = LOADOUT_SUBCATEGORY_BACKPACK_TOYS @@ -69,10 +59,6 @@ path = /obj/item/crowbar/bronze/glaug ckeywhitelist = list("happytpr") -/obj/item/crowbar/bronze/glaug - name = "Milwaukee Pocket Crowbar" - desc = "Much more expensive. Still serves the same function." - /datum/gear/fatfang name = "Fattening Fangs Injector" category = LOADOUT_SUBCATEGORY_BACKPACK_TOYS @@ -85,15 +71,6 @@ path = /obj/item/storage/belt/utility ckeywhitelist = list("killmewitha22", "Killmewitha22", "KILLMEWITHA22", "sonoida") -/obj/item/toy/sword/chloesabre/halsey - name = "Halsey's Sabre" - desc = "An elegant weapon, similar in design to the Captain's Sabre, but with a platinum hilt and an adamantine blade. the hilt has an engraved hyena on it." - force = 16 - -/obj/item/gun/ballistic/revolver/mateba/moka - name = "\improper Custom Unica 6 revolver" - desc = "An elegant and ornate revolver belonging to a certain hellcat commander. There are some words carved on its side: 'Dura Lex, Sed Lex'" - //metha rossi you fat hog /datum/gear/wgspell_add @@ -114,18 +91,44 @@ path = /obj/item/book/granter/spell/fattening/steal ckeywhitelist = list("sonoida", "themrsky", "Not Number") - /datum/gear/white_eyepatch_cabal name = "Cabal's Eyepatch" category = LOADOUT_CATEGORY_GLASSES path = /obj/item/clothing/glasses/eyepatch/cabal ckeywhitelist = list("spess_lizurd", "SPESS LIZURD", "spess lizurd", "SPESS_LIZURD", "spesslizurd", "sonoida") -/datum/gear/white_eyepatch +/datum/gear/white_eyepatch //accessible to anyone, at donator's request name = "White Eyepatch" category = LOADOUT_CATEGORY_GLASSES path = /obj/item/clothing/glasses/eyepatch/white +/datum/gear/metis_plush + name = "Metis Plush" + category = LOADOUT_SUBCATEGORY_BACKPACK_TOYS + path = /obj/item/toy/plush/gs13/metis + ckeywhitelist = list("paraillegal", "Paraillegal") + +/datum/gear/wheelys + name = "Wheely-Heels" + category = LOADOUT_SUBCATEGORY_BACKPACK_TOYS + path = /obj/item/clothing/shoes/wheelys + ckeywhitelist = list("colorlessspy", "Colorlessspy") + +/datum/gear/crowbars_plush + name = "Crowbars Plush" + category = LOADOUT_SUBCATEGORY_BACKPACK_TOYS + path = /obj/item/toy/plush/gs13/crowbars + ckeywhitelist = list("M16nPregnant", "m16npregnant" ) + +/datum/gear/sams_welder + name = "Sam's Unlucky Welder" + category = LOADOUT_SUBCATEGORY_BACKPACK_TOYS + path = /obj/item/weldingtool/bronze + ckeywhitelist = list("almaniak", "Almaniak", "AlManiak") + +// +//item presets for donator items +// /obj/item/clothing/glasses/eyepatch/white name = "White eyepatch" desc = "Smells faintly of medicine and headaches." @@ -138,14 +141,24 @@ icon_state = "eyepatch_white" item_state = "eyepatch_white" -/datum/gear/metis_plush - name = "Metis Plush" - category = LOADOUT_SUBCATEGORY_BACKPACK_TOYS - path = /obj/item/toy/plush/gs13/metis - ckeywhitelist = list("paraillegal") +/obj/item/toy/sword/chloesabre/halsey + name = "Halsey's Sabre" + desc = "An elegant weapon, similar in design to the Captain's Sabre, but with a platinum hilt and an adamantine blade. the hilt has an engraved hyena on it." + force = 16 -/datum/gear/wheelys - name = "Wheely-Heels" - category = LOADOUT_SUBCATEGORY_BACKPACK_TOYS - path = /obj/item/clothing/shoes/wheelys - ckeywhitelist = list("colorlessspy") +/obj/item/gun/ballistic/revolver/mateba/moka + name = "\improper Custom Unica 6 revolver" + desc = "An elegant and ornate revolver belonging to a certain hellcat commander. There are some words carved on its side: 'Dura Lex, Sed Lex'" + +/obj/item/clothing/suit/chloe/halsey //sorry to whoever chloe is, but that coat is far too badass not to be used + name = "Halsey's Commander Overcoat" + desc = "A Ginormous red overcoat that looks fit for a commander. Has a tag on it that reads: 'Property of Halsey Harmonten. Please return if lost!'" + armor = list("melee" = 20, "bullet" = 20, "laser" = 0,"energy" = 20, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 20, "acid" = 0) //worn by a captain player, might as well recompensate not wearing the carapace + +/obj/item/clothing/suit/storage/blueshield/grimmy + name = "Overcoat of the Destitute" + desc = "Welcome all to the everlasting all-time low. Please put your hands together for the ever-failing one man show: Domino!" + +/obj/item/crowbar/bronze/glaug + name = "Milwaukee Pocket Crowbar" + desc = "Much more expensive. Still serves the same function." diff --git a/GainStation13/code/game/objects/effects/decals/cleanable/misc.dm b/GainStation13/code/game/objects/effects/decals/cleanable/misc.dm new file mode 100644 index 0000000000..cc587892a5 --- /dev/null +++ b/GainStation13/code/game/objects/effects/decals/cleanable/misc.dm @@ -0,0 +1,18 @@ + +//GS13 glitters. Making the subtle variants their own subtypes, as some use the fake gas effects to make a room look like it's full of gas, when it isnt. +/obj/effect/decal/cleanable/glitter/pink_subtle + name = "faint pink glitter" + icon = 'GainStation13/icons/effects/atmospherics.dmi' + icon_state = "glitter" + color = "#9e0089" + +/obj/effect/decal/cleanable/glitter/white_subtle + name = "faint white glitter" + icon = 'GainStation13/icons/effects/atmospherics.dmi' + icon_state = "glitter" + +/obj/effect/decal/cleanable/glitter/blue_subtle + name = "faint blue glitter" + icon = 'GainStation13/icons/effects/atmospherics.dmi' + icon_state = "glitter" + color = "#2dd6ff" diff --git a/GainStation13/code/game/objects/structures/barsigns.dm b/GainStation13/code/game/objects/structures/barsigns.dm new file mode 100644 index 0000000000..78b8d43b56 --- /dev/null +++ b/GainStation13/code/game/objects/structures/barsigns.dm @@ -0,0 +1,7 @@ +////////////// GS13 BARSIGNS /////////////// +// Because modularity, yo + +/datum/barsign/the_busted_belt //gs13 + name = "The Busted Belt" + icon = "thebustedbelt" //...I dont think this survived the rebase, oops. + desc = "GATO is not liable for any pieces of broken wardrobe." diff --git a/GainStation13/code/game/plushes.dm b/GainStation13/code/game/plushes.dm index 0e71e5ee81..a349015116 100644 --- a/GainStation13/code/game/plushes.dm +++ b/GainStation13/code/game/plushes.dm @@ -76,3 +76,8 @@ desc = "A plush of black-furred nerdy goat." icon_state = "metis" attack_verb = list("squished", "goated", "baah'd") + +/obj/item/toy/plush/gs13/crowbars + desc = "A plush of a silly-eyed xeno seccie." + icon_state = "crowbars" + attack_verb = list("squished", "crowbared", "beno'd") diff --git a/GainStation13/code/machinery/feeding_tube_industrial.dm b/GainStation13/code/machinery/feeding_tube_industrial.dm index 65f6d42700..a79ee2b81f 100644 --- a/GainStation13/code/machinery/feeding_tube_industrial.dm +++ b/GainStation13/code/machinery/feeding_tube_industrial.dm @@ -25,6 +25,7 @@ /// How many items we can push per-pump. var/pump_limit = 5 + /obj/structure/disposaloutlet/industrial_feeding_tube/Initialize(mapload) . = ..() @@ -38,6 +39,24 @@ anchored = TRUE welded = TRUE //Make it functional +/obj/structure/disposaloutlet/industrial_feeding_tube/examine(mob/user) + . = ..() + if(LAZYLEN(pump_stuff)) + switch(LAZYLEN(pump_stuff)) + if(1) + . += "It seems to have something inside" + if(2 to 20) + . += "It seems to have some stuff inside" + if(21 to 50) + . += "It seems to be rather full of stuff!" + if(51 to 200) + . += "It's walls are bulging out with tons of stuff packed inside!!" + else + . += "The whole machine is shuddering as it strains to contain hundreds of objects!" + if(clogged) + . += "It seems to be clogged with stuff!" + + /obj/structure/disposaloutlet/industrial_feeding_tube/CheckParts(list/parts_list) ..() pump_limit = 0 @@ -48,6 +67,7 @@ pump_limit = ceil(pump_limit) //Only whole numbers + /obj/structure/disposaloutlet/industrial_feeding_tube/deconstruct(disassembled) if(!(flags_1 & NODECONSTRUCT_1)) new /obj/item/stack/sheet/metal(loc, 5) @@ -78,24 +98,23 @@ /obj/structure/disposaloutlet/industrial_feeding_tube/MouseDrop(mob/living/target) . = ..() - if(!usr.canUseTopic(src, BE_CLOSE)) // iscarbon() so that xenos/wendigos(?) can do feeding stuff maybe. Maybe. + if(!usr.canUseTopic(src, BE_CLOSE)) return if(!welded) to_chat(usr, "You need to weld down \the [src] before you can use it.") return + if(attached) + attached.visible_message("\The [src]'s tube is removed from [attached].", "The tube is removed from you.") + detach_tube(FALSE) + return if(!isliving(target)) return - if(attached) - attached.visible_message("[attached] is detached from [src].") - attached = null - update_icon() - return - if(iscarbon(target)) + if(iscarbon(target)) // iscarbon() so that xenos/wendigos(?) can do feeding stuff maybe. Maybe. var/mob/living/carbon/feedee = target - if(HAS_TRAIT(feedee, TRAIT_TRASHCAN)) - var/food_dump = input(usr, "Where do you shove the tube? (cancel for to just feed normally)", "Select belly") as null|anything in feedee.vore_organs + if(HAS_TRAIT(feedee, TRAIT_TRASHCAN) || (feedee.vore_flags & FEEDING)) + var/food_dump = input(usr, "Where do you shove the tube? (cancel to just feed normally)", "Select belly") as null|anything in feedee.vore_organs if(food_dump && isbelly(food_dump)) // Best to be safe with this thing. Since you can eat pretty much anythign with it... // Including People, Intentionally or otherwise. @@ -105,38 +124,56 @@ to_chat(usr, "[feedee] doesnt want to be fed by \the [src]...") return - output_dest = food_dump //Attach to vorebelly - attached = feedee - - update_icon() - START_PROCESSING(SSobj, src) - face_atom(feedee) + attach_tube(feedee, food_dump) // Attach in Vore Mode return + //Either we arn't attaching to vorebelly, or we arnt able to. Let's try to feed them normally! - if(usr != feedee) // + if(usr != feedee) var/feedeePrefCheck = alert(feedee, "[usr] is attempting to shove \the [src]'s tube into your mouth! Do you want this?", "THE TUBE", "Yes!!", "No!") if(feedeePrefCheck != "Yes!!") to_chat(usr, "[feedee] doesnt want to be fed by \the [src]...") return - output_dest = feedee //Attach normally - attached = feedee - - update_icon() - START_PROCESSING(SSobj, src) - face_atom(feedee) + attach_tube(feedee) // Attach normally return -/obj/structure/disposaloutlet/industrial_feeding_tube/process() - if(!attached) - return PROCESS_KILL +/// Attaches the tube to the target. dest defaults to the target, if dest isnt defined +/obj/structure/disposaloutlet/industrial_feeding_tube/proc/attach_tube(var/mob/living/target, var/dest = null, var/loud = TRUE) + if(!target) + return FALSE + if(dest) + output_dest = dest + else + output_dest = target + attached = target + + if(loud) + if(isbelly(output_dest)) + target.visible_message("\The [src]'s tube is shoved into [attached]!", "The tube is shoved directly into your [output_dest]!") + else + target.visible_message("\The [src]'s tube is shoved into [attached]!", "The tube is shoved directly into you!") + + RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(check_target_dist)) + update_icon() + face_atom(target) + +/obj/structure/disposaloutlet/industrial_feeding_tube/proc/detach_tube(var/loud = TRUE) + UnregisterSignal(attached, COMSIG_MOVABLE_MOVED) + if(loud) + attached.visible_message("[attached] is detached from [src].") + attached = null + output_dest = null + update_icon() + + +/obj/structure/disposaloutlet/industrial_feeding_tube/proc/check_target_dist() + if(!attached) //oh no + UnregisterSignal() if(!(get_dist(src, attached) <= 1 && isturf(attached.loc))) - to_chat(attached, "The feeding hose is yanked out of you!") - attached = null - output_dest = null - update_icon() - return PROCESS_KILL + attached.visible_message("","The feeding hose is yanked out of you!") + detach_tube(FALSE) + return face_atom(attached) @@ -165,10 +202,9 @@ // expel the contents of the holder object, then delete it // called when the holder exits the outlet /obj/structure/disposaloutlet/industrial_feeding_tube/expel(obj/structure/disposalholder/H) - var/clunkVol = LAZYLEN(H.contents) if(H.hasmob) //Uh oh- - clunkVol += 25 - playsound(src, H.hasmob ? "clang" : "clangsmall", clamp(clunkVol, 5, H.hasmob ? 50 : 25)) + playsound(src, "clang", 100) + visible_message("\The [src] loudly clunks as something large enters it's intake!") H.active = FALSE H.vent_gas(get_turf(src)) if(clogged) @@ -193,12 +229,14 @@ break if(!pumping) pumping = TRUE + playsound(src, 'GainStation13/sound/rakshasa/Corrosion3.ogg', 50, 1) update_icon() spawn(8) pumping = FALSE update_icon() spawn(9) //Wait for the animation to finish + if(!output_dest || !attached) //We either arnt, or got disconnected by time stuff was about to splort out! spew(this_pump, TRUE) if(LAZYLEN(pump_stuff) && repeat) @@ -251,13 +289,13 @@ if(is_type_in_list(I, item_vore_blacklist)) inedible += I continue - /* + if(isliving(AM)) var/mob/living/cutie = AM - if(cutie.devourable != TRUE) //Do not eat this QT... + if(!(cutie.vore_flags & DEVOURABLE)) //Do not eat this QT... inedible += cutie continue - */ + fed_something = TRUE AM.forceMove(output_dest) @@ -267,7 +305,7 @@ // After everything, if we've pushed something, play the "rubber tube noise" // It's technically an evil digestion sound from a snowflake shadekin, but it makes for a good tube sound. Thanks Verkie! if(fed_something) - playsound(attached.loc, 'v_CHOMPstation2/sound/rakshasa/Corrosion3.ogg', rand(10,50), 1) + playsound(attached.loc, 'GainStation13/sound/rakshasa/Corrosion3.ogg', rand(50,70), 1) if(LAZYLEN(pump_stuff) && repeat) pump() @@ -277,7 +315,7 @@ /obj/structure/disposaloutlet/industrial_feeding_tube/expel_holder(obj/structure/disposalholder/H, playsound=FALSE) if(playsound) - playsound(src, 'sound/machines/hiss.ogg', 50, 0, 0) + playsound(src, 'sound/machines/hiss.ogg', 25, 0, 0) if(!H) return @@ -290,10 +328,7 @@ /obj/structure/disposaloutlet/industrial_feeding_tube/attack_hand(mob/user) . = ..() if(attached) - attached.visible_message("[attached] is detached from [src].") - attached = null - output_dest = null - update_icon() + detach_tube() return /obj/structure/disposaloutlet/industrial_feeding_tube/attackby(obj/item/I, mob/living/user, params) @@ -340,18 +375,32 @@ update_icon() return - if(TOOL_CROWBAR) - if(!clogged) - to_chat(user, "\The [src] doesnt seem to be clogged at the moment...") - return TRUE - - user.visible_message("[user] starts to pry open the maintenance hatch of \the [src], attempting to unclog it...") - if(do_after(user, 30, TRUE, src)) - user.visible_message("[user] unclogs \the [src]!") - unclog() - return . = ..() +/obj/structure/disposaloutlet/industrial_feeding_tube/crowbar_act(mob/living/user, obj/item/I) + if(!clogged) + to_chat(user, "\The [src] doesnt seem to be clogged at the moment...") + return TRUE + user.visible_message("[user] starts to pry open the maintenance hatch of \the [src], attempting to unclog it...") + I.play_tool_sound(src, 100) + if(I.use_tool(src, user, 30)) + user.visible_message("[user] pries open the maintenance hatch on \the [src], unclogging it!") + unclog() + return TRUE + + +// Plungers are a thing now, why not give them the ability to unclog? +/obj/structure/disposaloutlet/industrial_feeding_tube/plunger_act(obj/item/plunger/P, mob/living/user, reinforced) + if(!clogged) + to_chat(user, "\The [src] doesnt seem to be clogged at the moment...") + return TRUE + user.visible_message("[user] starts to furiously plunge the tube of \the [src], attempting to unclog it...") + //I.play_tool_sound(src, 100) I dont think plungers have a use sound... + if(P.use_tool(src, user, 20)) //Plungers are slightly shorter because funny niche use + user.visible_message("[user] pries open the maintenance hatch on \the [src], unclogging it!") + unclog() + return + /obj/structure/disposaloutlet/industrial_feeding_tube/welder_act(mob/living/user, obj/item/I) if(!I.tool_start_check(user, amount=0)) return diff --git a/GainStation13/code/mechanics/calorite.dm b/GainStation13/code/mechanics/calorite.dm index f058b3ef90..f4b7351946 100644 --- a/GainStation13/code/mechanics/calorite.dm +++ b/GainStation13/code/mechanics/calorite.dm @@ -1,6 +1,28 @@ /datum/material/calorite name = "calorite" sheet_type = /obj/item/stack/sheet/mineral/calorite + color = list(340/255, 150/255, 50/255,0, 0,0,0,0, 0,0,0,0, 0,0,0,1, 0,0,0,0) + strength_modifier = 1.5 + categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE) + beauty_modifier = 0.05 + armor_modifiers = list(MELEE = 1.1, BULLET = 1.1, LASER = 1.15, ENERGY = 1.15, BOMB = 1, BIO = 1, RAD = 1, FIRE = 0.7, ACID = 1.1) // Same armor as gold. + +/datum/material/calorite/on_applied_obj(obj/source, amount, material_flags) + . = ..() + if(!(material_flags & MATERIAL_AFFECT_STATISTICS)) + return + + var/obj/source_obj = source + source_obj.damtype = FAT + +/datum/material/calorite/on_removed_obj(obj/source, material_flags) + if(!(material_flags & MATERIAL_AFFECT_STATISTICS)) + return ..() + + var/obj/source_obj = source + source_obj.damtype = initial(source_obj.damtype) + return ..() + /turf/closed/mineral/calorite //GS13 mineralType = /obj/item/stack/ore/calorite @@ -33,13 +55,14 @@ GLOBAL_LIST_INIT(calorite_recipes, list ( \ new/datum/stack_recipe("Calorite tile", /obj/item/stack/tile/mineral/calorite, 1, 4, 20), \ - new/datum/stack_recipe("Fatty statue", /obj/structure/statue/calorite/fatty, 5, one_per_turf = 1, on_floor = 1), - new/datum/stack_recipe("Calorite doors", /obj/structure/mineral_door/calorite, 5, one_per_turf = 1, on_floor = 1), + new/datum/stack_recipe("Calorite Ingots", /obj/item/ingot/calorite, time = 30), \ + new/datum/stack_recipe("Fatty statue", /obj/structure/statue/calorite/fatty, 5, one_per_turf = 1, on_floor = 1),\ + new/datum/stack_recipe("Calorite doors", /obj/structure/mineral_door/calorite, 5, one_per_turf = 1, on_floor = 1),\ )) -/obj/item/stack/sheet/mineral/calorite/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.calorite_recipes +/obj/item/stack/sheet/mineral/calorite/get_main_recipes() . = ..() + . += GLOB.calorite_recipes /obj/item/stack/tile/mineral/calorite //GS13 @@ -246,3 +269,5 @@ GLOBAL_LIST_INIT(calorite_recipes, list ( \ fatten() . = ..() +/obj/item/ingot/calorite + custom_materials = list(/datum/material/calorite=1500) diff --git a/GainStation13/code/mechanics/transformation/food.dm b/GainStation13/code/mechanics/transformation/food.dm new file mode 100644 index 0000000000..a84dae4f94 --- /dev/null +++ b/GainStation13/code/mechanics/transformation/food.dm @@ -0,0 +1,16 @@ +/obj/item/reagent_containers/food/snacks/proc/handle_tf(mob/living/eater) + var/datum/component/transformation_item/transformation_component = GetComponent(/datum/component/transformation_item) + if(!istype(transformation_component) || transformation_component.transfer_to_vore || (transformation_component.transformed_mob != src)) + return FALSE + + var/mob/living/food_mob = transformation_component.transformed_mob + if(!istype(food_mob) || !(food_mob?.vore_flags & DEVOURABLE) || (eater?.vore_flags & NO_VORE) || !istype(eater.vore_selected)) + return FALSE + + qdel(transformation_component) + var/obj/belly/vore_belly = eater.vore_selected + if(!vore_belly.nom_mob(food_mob,eater)) + return FALSE + + return TRUE + diff --git a/GainStation13/code/mechanics/transformation/mob_procs.dm b/GainStation13/code/mechanics/transformation/mob_procs.dm new file mode 100644 index 0000000000..7b4fa13c5d --- /dev/null +++ b/GainStation13/code/mechanics/transformation/mob_procs.dm @@ -0,0 +1,36 @@ +/mob/living/proc/get_tf_component() + var/obj/item/item_loc = loc + if(!istype(item_loc)) + return FALSE + + var/datum/component/transformation_item/transformation_component = item_loc.GetComponent(/datum/component/transformation_item) + if(!istype(transformation_component) || (transformation_component.transformed_mob != src)) + return FALSE + + return transformation_component + +/mob/living/proc/handle_transformation_ooc_escape() + var/datum/component/transformation_item/transformation_component = get_tf_component() + if(!transformation_component) + return FALSE + + qdel(transformation_component) + return TRUE + +/mob/living/proc/attempt_to_escape_tf() + var/datum/component/transformation_item/transformation_component = get_tf_component() + if(!transformation_component) + return FALSE + + if(!transformation_component.able_to_struggle_out) + to_chat(src, span_warning("You are unable to struggle out.")) + return FALSE + + to_chat(src, span_notice("You attempt to escape your transformation.")) + if(!do_after(src, 60 SECONDS)) + to_chat(src, span_warning("You fail to escape.")) + return FALSE + + qdel(transformation_component) + return TRUE + diff --git a/GainStation13/code/mechanics/transformation/transformation_component.dm b/GainStation13/code/mechanics/transformation/transformation_component.dm new file mode 100644 index 0000000000..2a7462b38c --- /dev/null +++ b/GainStation13/code/mechanics/transformation/transformation_component.dm @@ -0,0 +1,105 @@ +/datum/component/transformation_item + /// What mob do we currently have stuck in us? + var/mob/living/transformed_mob + /// Do we release the mob when the parent item is destroyed? + var/release_mob = TRUE + /// Is the mob able to speak as the item? + var/able_to_speak = FALSE + /// Is the mob able to emote as the item? + var/able_to_emote = FALSE + /// Does the object scale with the sprite size of the mob inside of it? + var/scale_object = TRUE + /// Show custom description. + var/show_that_object_is_tf = TRUE + /// Stored real name + var/stored_real_name = "" + /// Stored name + var/stored_name = "" + /// Is the component able to be removed? + var/stuck_on_item = FALSE + /// Is the person able to struggle out? + var/able_to_struggle_out = TRUE + /// Transfer to vore belly when eaten + var/transfer_to_vore = TRUE + +/datum/component/transformation_item/Initialize() + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(examine)) + RegisterSignal(parent, COMSIG_PARENT_QDELETING, PROC_REF(remove_mob)) + +/datum/component/transformation_item/Destroy(force, silent) + remove_mob() + return ..() + +/datum/component/transformation_item/proc/examine(datum/source, mob/user, list/examine_list) + if(show_that_object_is_tf) + examine_list += span_notice("Something about [source] seems lifelike.") + +/datum/component/transformation_item/proc/register_mob(mob/living/mob_to_register) + var/atom/parent_atom = parent + if(!istype(mob_to_register)) + return FALSE + + transformed_mob = mob_to_register + stored_real_name = mob_to_register.real_name + stored_name = mob_to_register.name + + // This is really dumb, but if it works, then maybe it is not dumb. + mob_to_register.real_name = parent_atom.name + mob_to_register.name = parent_atom.name + + ADD_TRAIT(mob_to_register, TRAIT_TRANSFORMED, src) + ADD_TRAIT(mob_to_register, TRAIT_RESISTCOLD, src) + ADD_TRAIT(mob_to_register, TRAIT_RESISTLOWPRESSURE, src) + ADD_TRAIT(mob_to_register, TRAIT_LOWPRESSURECOOLING, src) + + if(!able_to_speak) + ADD_TRAIT(mob_to_register, TRAIT_MUTE, src) + + if(!able_to_emote) + ADD_TRAIT(mob_to_register, TRAIT_EMOTEMUTE, src) + + // need to stop them from using radio headsets. + var/mob/living/carbon/human/human_mob = mob_to_register + if(istype(human_mob)) + ADD_TRAIT(mob_to_register, TRAIT_PARALYSIS_L_ARM, src) + ADD_TRAIT(mob_to_register, TRAIT_PARALYSIS_R_ARM, src) + human_mob.update_disabled_bodyparts() + + mob_to_register.forceMove(parent_atom) + if(scale_object) + var/target_size = mob_to_register.size_multiplier + var/matrix/new_matrix = new + + new_matrix.Scale(target_size) + new_matrix.Translate(0,16 * (target_size-1)) + parent_atom.transform = new_matrix + +/datum/component/transformation_item/proc/remove_mob() + if(!release_mob || !transformed_mob) + return FALSE + + transformed_mob.real_name = stored_real_name + transformed_mob.name = stored_name + + if(!able_to_speak) + REMOVE_TRAIT(transformed_mob, TRAIT_MUTE, src) + + if(!able_to_emote) + REMOVE_TRAIT(transformed_mob, TRAIT_EMOTEMUTE, src) + + REMOVE_TRAIT(transformed_mob, TRAIT_TRANSFORMED, src) + REMOVE_TRAIT(transformed_mob, TRAIT_RESISTCOLD, src) + REMOVE_TRAIT(transformed_mob, TRAIT_RESISTLOWPRESSURE, src) + REMOVE_TRAIT(transformed_mob, TRAIT_LOWPRESSURECOOLING, src) + + var/mob/living/carbon/human/human_mob = transformed_mob + if(istype(human_mob)) + REMOVE_TRAIT(human_mob, TRAIT_PARALYSIS_L_ARM, src) + REMOVE_TRAIT(human_mob, TRAIT_PARALYSIS_R_ARM, src) + human_mob.update_disabled_bodyparts() + + var/atom/parent_atom = parent + transformed_mob.forceMove(parent_atom.loc) + if(scale_object) + parent_atom.transform = null + diff --git a/GainStation13/code/mechanics/transformation/transformation_item.dm b/GainStation13/code/mechanics/transformation/transformation_item.dm new file mode 100644 index 0000000000..14475e89d7 --- /dev/null +++ b/GainStation13/code/mechanics/transformation/transformation_item.dm @@ -0,0 +1,116 @@ +/obj/item/transformation_item + name = "Handheld Transmogrifier" + desc = "a handheld device that is mysteriously able to turn people into objects. It can also be used to remove said transformations." + icon = 'icons/obj/abductor.dmi' + icon_state = "gizmo_scan" + item_state = "silencer" + lefthand_file = 'icons/mob/inhands/antag/abductor_lefthand.dmi' + righthand_file = 'icons/mob/inhands/antag/abductor_righthand.dmi' + + /// What item are we wanting to TF people into? + var/obj/item/target_item + /// Do we want our transformed person to be able to speak as the object? + var/able_to_speak = TRUE + /// Do we want our transformed person to be able to emote as the object? + var/able_to_emote = TRUE + /// Do we want the item to scale? + var/scale_object = FALSE + /// Do we want to show that the object was once a person? + var/show_that_object_is_tf = TRUE + /// Is our captured person able to struggle out? + var/able_to_struggle_out = TRUE + /// Do we have any items we can't turn people into? + var/list/object_blacklist = list() + +/obj/item/transformation_item/afterattack(atom/target, mob/user, proximity_flag, click_parameters) + . = ..() + var/obj/item/attacked_item = target + if(!proximity_flag || !istype(attacked_item)) + return FALSE + + var/datum/component/transformation_item/transformation_component = attacked_item.GetComponent(/datum/component/transformation_item) + if(istype(transformation_component) && !transformation_component.stuck_on_item) + qdel(transformation_component) + to_chat(user, span_notice("You dispel the current transformation for [attacked_item].")) + return + + target_item = attacked_item + to_chat(user, span_notice("The next time someone is transformed, they will be transformed into [attacked_item].")) + return + +/obj/item/transformation_item/attack(mob/living/M, mob/living/user) + if(!target_item) + to_chat(user, span_warning("You need to have an item linked to transform someone.")) + return + + perform_transfomration(M, user) + return + +/obj/item/transformation_item/proc/perform_transfomration(mob/living/target_mob, mob/living/user) + if(!istype(target_mob)) + return FALSE + + if(!target_item.Adjacent(target_mob)) + to_chat(user, span_warning("The [target_item] isn't close enough to [target_mob]")) + return FALSE + + if(target_item in target_mob.get_contents()) + return FALSE // Don't TF someone into something they are holding. + + if(!target_mob?.client?.prefs?.object_tf) + to_chat(user, span_warning("It seems like [target_mob] does not want to be transformed.")) + return FALSE + + var/datum/component/transformation_item/transformation_component = target_item.AddComponent(/datum/component/transformation_item) + // Make sure that we apply our variables before we actually put the mob in the item. + transformation_component.able_to_speak = able_to_speak + transformation_component.able_to_emote = able_to_emote + transformation_component.scale_object = scale_object + transformation_component.show_that_object_is_tf = show_that_object_is_tf + transformation_component.able_to_struggle_out = able_to_struggle_out + + transformation_component.register_mob(target_mob) + target_item = null + return TRUE + +/obj/item/transformation_item/ui_data(mob/user) + var/list/data = list() + data["able_to_speak"] = able_to_speak + data["able_to_emote"] = able_to_emote + data["scale_object"] = scale_object + data["show_that_object_is_tf"] = show_that_object_is_tf + data["linked_item_name"] = target_item + data["able_to_struggle_out"] = able_to_struggle_out + + return data + +/obj/item/transformation_item/ui_act(action, params) + if(..()) + return + + switch(action) + if("set_speaking") + able_to_speak = !able_to_speak + . = TRUE + + if("set_emote") + able_to_emote = !able_to_emote + . = TRUE + + if("set_scale") + scale_object = !scale_object + . = TRUE + + if("toggle_struggle") + able_to_struggle_out = !able_to_struggle_out + . = TRUE + + if("set_show_desc") + show_that_object_is_tf = !show_that_object_is_tf + . = TRUE + +/obj/item/transformation_item/ui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "TransformTool", name) + ui.open() diff --git a/GainStation13/code/modules/client/loadout/head.dm b/GainStation13/code/modules/client/loadout/head.dm new file mode 100644 index 0000000000..9c8d7f7366 --- /dev/null +++ b/GainStation13/code/modules/client/loadout/head.dm @@ -0,0 +1,17 @@ +//Roses dont exist here... Sad + +// /datum/gear/head/rose +// name = "Rose" +// path = /obj/item/grown/rose + +/datum/gear/head/sunflower + name = "Sunflower" + path = /obj/item/grown/sunflower + +/datum/gear/head/poppy + name = "Poppy" + path = /obj/item/reagent_containers/food/snacks/grown/poppy + +/datum/gear/head/harebell + name = "Harebell" + path = /obj/item/reagent_containers/food/snacks/grown/harebell diff --git a/GainStation13/code/modules/client/loadout/uniform.dm b/GainStation13/code/modules/client/loadout/uniform.dm new file mode 100644 index 0000000000..acaba42d3c --- /dev/null +++ b/GainStation13/code/modules/client/loadout/uniform.dm @@ -0,0 +1,3 @@ +/datum/gear/uniform/modularjumpsuit + name = "Modular Jumpsuit (gray)" + path = /obj/item/clothing/under/color/grey/modular diff --git a/GainStation13/code/modules/client/preferences/preferences.dm b/GainStation13/code/modules/client/preferences/preferences.dm index 38206706a8..28bc61c2a1 100644 --- a/GainStation13/code/modules/client/preferences/preferences.dm +++ b/GainStation13/code/modules/client/preferences/preferences.dm @@ -31,6 +31,8 @@ var/fatness_vulnerable = FALSE /// Similar to fatness_vulnerable, but with more extreme effects such as transformation/hypno. var/extreme_fatness_vulnerable = FALSE + /// Can the person be transformed into an object? + var/object_tf // Helplessness, a set of prefs that make things extra tough at higher weights. If set to FALSE, they won't do anything. ///What fatness level disables movement? diff --git a/GainStation13/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm b/GainStation13/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm new file mode 100644 index 0000000000..7007384992 --- /dev/null +++ b/GainStation13/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm @@ -0,0 +1,13 @@ +/datum/reagent/consumable + var/use_gs_icon = FALSE + +/obj/item/reagent_containers/food/drinks/drinkingglass/on_reagent_change(changetype) + icon = 'icons/obj/drinks.dmi' + if(reagents.reagent_list.len) + var/datum/reagent/R = reagents.get_master_reagent() + if(istype(R, /datum/reagent/consumable)) + var/datum/reagent/consumable/C = R + if(C.use_gs_icon == TRUE) + icon = 'GainStation13/icons/obj/drinks.dmi' + + ..() diff --git a/GainStation13/code/modules/gym/gym.dm b/GainStation13/code/modules/gym/gym.dm index 0220bececb..ddaeca47cd 100644 --- a/GainStation13/code/modules/gym/gym.dm +++ b/GainStation13/code/modules/gym/gym.dm @@ -22,7 +22,7 @@ if(!using) using = TRUE to_chat(user, "You do a rep with the [src]. YEEEEEAH!!!") - if(do_after(usr, CLICK_CD_RESIST-reps, 0, usr, 1)) + if(do_after(usr, CLICK_CD_RESIST-reps, usr)) if(iscarbon(user)) var/mob/living/carbon/U = user U.adjust_fatness(-10, FATTENING_TYPE_WEIGHT_LOSS) diff --git a/GainStation13/code/modules/hydroponics/grown/berries.dm b/GainStation13/code/modules/hydroponics/grown/berries.dm index 263262637b..32f3e7dbca 100644 --- a/GainStation13/code/modules/hydroponics/grown/berries.dm +++ b/GainStation13/code/modules/hydroponics/grown/berries.dm @@ -1,7 +1,6 @@ /obj/item/seeds/berry/blueberry name = "pack of blueberry seeds" desc = "These seeds grow into blueberry bushes." - icon_state = "seed-blueberry" species = "blueberry" plantname = "Blueberry Bush" product = /obj/item/reagent_containers/food/snacks/grown/berries/blueberry @@ -11,11 +10,18 @@ yield = 1 production = 10 rarity = 30 + icon = 'GainStation13/icons/obj/hydroponics/seeds.dmi' + icon_state = "seed-blueberry" + growing_icon = 'GainStation13/icons/obj/hydroponics/growing.dmi' + icon_grow = "berry-grow" // Uses one growth icons set for all the subtypes + icon_dead = "berry-dead" // Same for the dead icon + icon_harvest = "blueberry-harvest" /obj/item/reagent_containers/food/snacks/grown/berries/blueberry seed = /obj/item/seeds/berry/blueberry name = "bunch of blueberries" desc = "Taste so good, you might turn blue!" + icon = 'GainStation13/icons/obj/hydroponics/harvest.dmi' icon_state = "blueberrypile" filling_color = "#5d00c7" foodtype = FRUIT diff --git a/GainStation13/code/modules/hydroponics/lipoplant.dm b/GainStation13/code/modules/hydroponics/lipoplant.dm index 72c16ca898..4856ec4020 100644 --- a/GainStation13/code/modules/hydroponics/lipoplant.dm +++ b/GainStation13/code/modules/hydroponics/lipoplant.dm @@ -1,8 +1,6 @@ /obj/item/seeds/lipoplant name = "pack of adipolipus" desc = "These seeds grow into a foreign plant." - icon = 'GainStation13/icons/obj/hydroponics/lipo_seeds.dmi' - icon_state = "lipo_seed" species = "adipolipus" plantname = "Adipolipus" product = /obj/item/reagent_containers/food/snacks/grown/lipofruit @@ -11,17 +9,19 @@ maturation = 8 production = 5 yield = 1 - growing_icon = 'GainStation13/icons/obj/hydroponics/lipo_growing.dmi' + reagents_add = list(/datum/reagent/consumable/lipoifier = 0.05) + icon = 'GainStation13/icons/obj/hydroponics/seeds.dmi' + icon_state = "seed-lipo" + growing_icon = 'GainStation13/icons/obj/hydroponics/growing.dmi' icon_grow = "lipo-grow" // Uses one growth icons set for all the subtypes icon_dead = "lipo-dead" // Same for the dead icon icon_harvest = "lipo-harvest" - reagents_add = list(/datum/reagent/consumable/lipoifier = 0.05) /obj/item/reagent_containers/food/snacks/grown/lipofruit seed = /obj/item/seeds/lipoplant name = "lipofruit" desc = "A foreign fruit with an hard shell. Perhaps something sharp could open it?" - icon = 'GainStation13/icons/obj/hydroponics/lipo_harvest.dmi' + icon = 'GainStation13/icons/obj/hydroponics/harvest.dmi' icon_state = "lipo_nut" item_state = "lipo_nut" possible_transfer_amounts = list(5, 10, 15, 20, 25, 30, 50) diff --git a/GainStation13/code/modules/hydroponics/munchies_weed.dm b/GainStation13/code/modules/hydroponics/munchies_weed.dm index e6ef646985..28043f6f3d 100644 --- a/GainStation13/code/modules/hydroponics/munchies_weed.dm +++ b/GainStation13/code/modules/hydroponics/munchies_weed.dm @@ -8,22 +8,26 @@ /obj/item/seeds/cannabis/munchies name = "pack of munchies weed seeds" desc = "These seeds grow into munchies weed." - icon_state = "seed-munchies" species = "munchycannabis" plantname = "Munchies Weed" - icon_grow = "munchycannabis-grow" // Uses one growth icons set for all the subtypes - icon_dead = "munchycannabis-dead" // Same for the dead icon product = /obj/item/reagent_containers/food/snacks/grown/cannabis/munchies genes = list(/datum/plant_gene/trait/repeated_harvest, /datum/plant_gene/trait/glow/orange) mutatelist = list() reagents_add = list(/datum/reagent/drug/space_drugs = 0.05, /datum/reagent/drug/munchies = 0.10) rarity = 69 + icon = 'GainStation13/icons/obj/hydroponics/seeds.dmi' + icon_state = "seed-munchies" + growing_icon = 'GainStation13/icons/obj/hydroponics/growing.dmi' + icon_grow = "munchycannabis-grow" // Uses one growth icons set for all the subtypes + icon_dead = "munchycannabis-dead" // Same for the dead icon + icon_harvest = "munchycannabis-harvest" /obj/item/reagent_containers/food/snacks/grown/cannabis/munchies seed = /obj/item/seeds/cannabis/munchies name = "munchies cannabis leaf" desc = "You feel hungry just looking at it." + icon = 'GainStation13/icons/obj/hydroponics/harvest.dmi' icon_state = "munchycannabis" wine_power = 90 diff --git a/GainStation13/code/modules/mob/dead/new_player/sprite_accessories/hair_head.dm b/GainStation13/code/modules/mob/dead/new_player/sprite_accessories/hair_head.dm index f0575e50f0..29ffcf5391 100644 --- a/GainStation13/code/modules/mob/dead/new_player/sprite_accessories/hair_head.dm +++ b/GainStation13/code/modules/mob/dead/new_player/sprite_accessories/hair_head.dm @@ -1 +1,11 @@ //GS13 - markings, ported or our own (preferably mark where you took them from) + +/datum/sprite_accessory/hair/elize + name = "Elize" + icon = 'GainStation13/icons/mob/human_face.dmi' + icon_state = "hair_elize" + +/datum/sprite_accessory/hair/lem + name = "Lem" + icon = 'GainStation13/icons/mob/human_face.dmi' + icon_state = "hair_lem" diff --git a/GainStation13/code/modules/mob/dead/new_player/sprite_accessories/legs_and_taurs.dm b/GainStation13/code/modules/mob/dead/new_player/sprite_accessories/legs_and_taurs.dm index e2ab27aad4..32d38c386a 100644 --- a/GainStation13/code/modules/mob/dead/new_player/sprite_accessories/legs_and_taurs.dm +++ b/GainStation13/code/modules/mob/dead/new_player/sprite_accessories/legs_and_taurs.dm @@ -7,6 +7,7 @@ icon_state = "gator" color_src = MATRIXED matrixed_sections = MATRIX_RED_GREEN + hide_legs = FALSE /datum/sprite_accessory/taur/fatdrake //ported from Vorestation name = "Fat Drake" @@ -46,3 +47,17 @@ icon = 'GainStation13/icons/mob/markings/mam_taur.dmi' icon_state = "bigleggy" color_src = MUTCOLORS + +/datum/sprite_accessory/taur/fatnaga //ported from Vorestation + name = "Fat Naga" + icon = 'GainStation13/icons/mob/markings/mam_taur.dmi' + icon_state = "fatnaga" + color_src = MATRIXED + matrixed_sections = MATRIX_RED_GREEN + +/datum/sprite_accessory/taur/altnaga //ported from Vorestation + name = "Alt Naga" + icon = 'GainStation13/icons/mob/markings/mam_taur.dmi' + icon_state = "altnaga" + color_src = MATRIXED + matrixed_sections = MATRIX_RED_GREEN diff --git a/GainStation13/code/modules/mob/dead/new_player/sprite_accessories/snouts.dm b/GainStation13/code/modules/mob/dead/new_player/sprite_accessories/snouts.dm index 40fb7df37f..96786439c4 100644 --- a/GainStation13/code/modules/mob/dead/new_player/sprite_accessories/snouts.dm +++ b/GainStation13/code/modules/mob/dead/new_player/sprite_accessories/snouts.dm @@ -6,3 +6,50 @@ icon_state = "hjackal" color_src = MATRIXED matrixed_sections = MATRIX_RED_GREEN + +/datum/sprite_accessory/snouts/mam_snouts/synthlizproto1 + name = "Synthetic Lizard - Prototype Visor 1" + icon = 'GainStation13/icons/mob/markings/mam_snouts.dmi' + icon_state = "synthlizproto1" + color_src = MATRIXED + +/datum/sprite_accessory/snouts/mam_snouts/synthlizproto2 + name = "Synthetic Lizard - Prototype Visor 2" + icon = 'GainStation13/icons/mob/markings/mam_snouts.dmi' + icon_state = "synthlizproto2" + color_src = MATRIXED + +/datum/sprite_accessory/snouts/mam_snouts/gator + name = "Gator" + icon = 'GainStation13/icons/mob/markings/mam_snouts.dmi' + icon_state = "gator" + color_src = MATRIXED + +//eastern dragon +/datum/sprite_accessory/snouts/mam_snouts/easterndragon + name = "Eastern Dragon" + icon = 'GainStation13/icons/mob/markings/char_snouts.dmi' + icon_state = "easterndw" + color_src = MATRIXED + matrixed_sections = MATRIX_RED_GREEN + +/datum/sprite_accessory/snouts/mam_snouts/easterndragon/no_whiskers + name = "Eastern Dragon - No Whiskers" + icon = 'GainStation13/icons/mob/markings/char_snouts.dmi' + icon_state = "easterndnw" + color_src = MATRIXED + matrixed_sections = MATRIX_RED_GREEN + +/datum/sprite_accessory/snouts/mam_snouts/feasterndragon + name = "Eastern Dragon (Top)" + icon = 'GainStation13/icons/mob/markings/char_snouts.dmi' + icon_state = "feasterndw" + color_src = MATRIXED + matrixed_sections = MATRIX_RED_GREEN + +/datum/sprite_accessory/snouts/mam_snouts/feasterndragon/no_whiskers + name = "Eastern Dragon - No Whiskers (Top)" + icon = 'GainStation13/icons/mob/markings/char_snouts.dmi' + icon_state = "feasterndnw" + color_src = MATRIXED + matrixed_sections = MATRIX_RED_GREEN diff --git a/GainStation13/code/modules/mob/dead/new_player/sprite_accessories/tails.dm b/GainStation13/code/modules/mob/dead/new_player/sprite_accessories/tails.dm index f0575e50f0..50c743abf6 100644 --- a/GainStation13/code/modules/mob/dead/new_player/sprite_accessories/tails.dm +++ b/GainStation13/code/modules/mob/dead/new_player/sprite_accessories/tails.dm @@ -1 +1,92 @@ //GS13 - markings, ported or our own (preferably mark where you took them from) + +//snaketail +/datum/sprite_accessory/tails/lizard/snaketail //GS13 - ...6 seperate paths for one tail. Wew. + name = "Snaketail" + icon = 'GainStation13/icons/mob/markings/mam_tails.dmi' + icon_state = "snaketail" + color_src = MATRIXED + matrixed_sections = MATRIX_RED_GREEN + +/datum/sprite_accessory/tails_animated/lizard/snaketail + name = "Snaketail" + icon = 'GainStation13/icons/mob/markings/mam_tails.dmi' + icon_state = "snaketail" + color_src = MATRIXED + matrixed_sections = MATRIX_RED_GREEN + +/datum/sprite_accessory/tails/human/snaketail + name = "Snaketail" + icon = 'GainStation13/icons/mob/markings/mam_tails.dmi' + icon_state = "snaketail" + color_src = MATRIXED + matrixed_sections = MATRIX_RED_GREEN + +/datum/sprite_accessory/tails_animated/human/snaketail + name = "Snaketail" + icon = 'GainStation13/icons/mob/markings/mam_tails.dmi' + icon_state = "snaketail" + color_src = MATRIXED + matrixed_sections = MATRIX_RED_GREEN + +/datum/sprite_accessory/tails/mam_tails/snaketail + name = "Snaketail" + icon = 'GainStation13/icons/mob/markings/mam_tails.dmi' + icon_state = "snaketail" + color_src = MATRIXED + matrixed_sections = MATRIX_RED_GREEN + +/datum/sprite_accessory/tails_animated/mam_tails_animated/snaketail + name = "Snaketail" + icon = 'GainStation13/icons/mob/markings/mam_tails.dmi' + icon_state = "snaketail" + color_src = MATRIXED + matrixed_sections = MATRIX_RED_GREEN + +//spaded tail +/datum/sprite_accessory/tails/mam_tails/spade + name = "Demon Spade" + icon = 'GainStation13/icons/mob/markings/mam_tails.dmi' + icon_state = "spade" + +/datum/sprite_accessory/tails_animated/mam_tails_animated/spade + name = "Demon Spade" + icon = 'GainStation13/icons/mob/markings/mam_tails.dmi' + icon_state = "spade" + +/datum/sprite_accessory/tails/human/spade + name = "Demon Spade" + icon = 'GainStation13/icons/mob/markings/mam_tails.dmi' + icon_state = "spade" + +/datum/sprite_accessory/tails_animated/human/spade + name = "Demon Spade" + icon = 'GainStation13/icons/mob/markings/mam_tails.dmi' + icon_state = "spade" + +//deer tail + + +/datum/sprite_accessory/tails/human/deer + name = "Deer" + icon_state = "deer" + color_src = MATRIXED + icon = 'GainStation13/icons/mob/markings/mam_tails.dmi' + +/datum/sprite_accessory/tails_animated/human/deer + name = "Deer" + icon_state = "deer" + color_src = MATRIXED + icon = 'GainStation13/icons/mob/markings/mam_tails.dmi' + +/datum/sprite_accessory/tails/mam_tails/deer + name = "Deer" + icon_state = "deer" + color_src = MATRIXED + icon = 'GainStation13/icons/mob/markings/mam_tails.dmi' + +/datum/sprite_accessory/tails_animated/mam_tails_animated/deer + name = "Deer" + icon_state = "deer" + color_src = MATRIXED + icon = 'GainStation13/icons/mob/markings/mam_tails.dmi' diff --git a/GainStation13/code/modules/mob/living/belly.dm b/GainStation13/code/modules/mob/living/belly.dm index 81f65276c1..86fd0f9088 100644 --- a/GainStation13/code/modules/mob/living/belly.dm +++ b/GainStation13/code/modules/mob/living/belly.dm @@ -18,7 +18,7 @@ layer_index = BELLY_LAYER_INDEX /obj/item/organ/genital/belly/modify_size(modifier, min = BELLY_SIZE_DEF, max = BELLY_SIZE_MAX) - var/new_value = clamp(size_cached + modifier, min, max) + var/new_value = clamp(size_cached + modifier, starting_size, max) if(new_value == size_cached) return prev_size = size_cached @@ -40,12 +40,13 @@ switch(owner.fullness) if(FULLNESS_LEVEL_BLOATED to FULLNESS_LEVEL_BEEG) icon = 'hyperstation/icons/obj/genitals/belly_round.dmi' //We use round belly to represent stuffedness + icon_state = "belly_round_[size]" if(FULLNESS_LEVEL_BEEG to FULLNESS_LEVEL_NOMOREPLZ) icon = 'hyperstation/icons/obj/genitals/belly_round.dmi' - icon_state = "belly_[icon_shape_state]_[size+1]" + icon_state = "belly_round_[size+1]" if(FULLNESS_LEVEL_NOMOREPLZ to INFINITY) icon = 'hyperstation/icons/obj/genitals/belly_round.dmi' - icon_state = "belly_[icon_shape_state]_[size+2]" + icon_state = "belly_round_[size+2]" if(owner) if(owner.dna.species.use_skintones && owner.dna.features["genitals_use_skintone"]) @@ -64,6 +65,7 @@ else color = "#[D.features["belly_color"]]" size = D.features["belly_size"] + starting_size = D.features["belly_size"] shape = D.features["belly_shape"] inflatable = D.features["inflatable_belly"] toggle_visibility(D.features["belly_visibility"], FALSE) diff --git a/GainStation13/code/modules/reagents/chemistry/reagents/dwarverndrinks.dm b/GainStation13/code/modules/reagents/chemistry/reagents/dwarverndrinks.dm index 2197581ff8..d99fb8f3bb 100644 --- a/GainStation13/code/modules/reagents/chemistry/reagents/dwarverndrinks.dm +++ b/GainStation13/code/modules/reagents/chemistry/reagents/dwarverndrinks.dm @@ -13,6 +13,7 @@ shot_glass_icon_state = "shotglassbrown" pH = 4.5 value = 0.1 + use_gs_icon = TRUE /datum/reagent/consumable/ethanol/glyphid_slammer name = "Glyphid slammer" @@ -26,3 +27,4 @@ shot_glass_icon_state = "shotglassbrown" pH = 4.5 value = 0.1 + use_gs_icon = TRUE diff --git a/GainStation13/code/modules/reagents/chemistry/reagents/fatty_drinks.dm b/GainStation13/code/modules/reagents/chemistry/reagents/fatty_drinks.dm index 352e9497b0..bfb459e669 100644 --- a/GainStation13/code/modules/reagents/chemistry/reagents/fatty_drinks.dm +++ b/GainStation13/code/modules/reagents/chemistry/reagents/fatty_drinks.dm @@ -11,6 +11,7 @@ glass_name = "belly bloats" glass_desc = "The perfect mix to be big and merry with." shot_glass_icon_state = "shotglassbrown" + use_gs_icon = TRUE /datum/reagent/consumable/ethanol/belly_bloats/on_mob_life(mob/living/carbon/M) if(M && M?.client?.prefs.weight_gain_food) // GS13 @@ -30,6 +31,7 @@ glass_name = "blobby mary" glass_desc = "For the morbidly obese ladies and gentlemen." shot_glass_icon_state = "shotglassred" + use_gs_icon = TRUE /datum/reagent/consumable/ethanol/blobby_mary/on_mob_life(mob/living/carbon/M) if(M && M?.client?.prefs.weight_gain_food) // GS13 @@ -49,6 +51,7 @@ glass_name = "beltbuster mead" glass_desc = "The ambrosia of the blubbery gods." shot_glass_icon_state = "shotglassgold" + use_gs_icon = TRUE /datum/reagent/consumable/ethanol/beltbuster_mead/on_mob_life(mob/living/carbon/M) if(M && M?.client?.prefs.weight_gain_food) // GS13 @@ -67,6 +70,7 @@ glass_name = "heavy cafe" glass_desc = "To enjoy slow mornings with." shot_glass_icon_state = "shotglassbrown" + use_gs_icon = TRUE /datum/reagent/consumable/heavy_cafe/on_mob_life(mob/living/carbon/M) M.dizziness = max(0,M.dizziness-5) @@ -92,6 +96,7 @@ glass_name = "fruits tea" glass_desc = "Goes down really easy and stays there for a long time." shot_glass_icon_state = "shotglassgold" + use_gs_icon = TRUE /datum/reagent/consumable/fruits_tea/on_mob_life(mob/living/carbon/M) M.dizziness = max(0,M.dizziness-2) @@ -118,6 +123,7 @@ glass_name = "snakebite" glass_desc = "Won't hurt like a real bite, but you'll still regert drinking this." shot_glass_icon_state = "shotglassgreen" + use_gs_icon = TRUE /datum/reagent/consumable/snakebite/on_mob_life(mob/living/carbon/M) if(M && M?.client?.prefs.weight_gain_food) // GS13 diff --git a/GainStation13/code/modules/reagents/chemistry/reagents/other_reagents.dm b/GainStation13/code/modules/reagents/chemistry/reagents/other_reagents.dm new file mode 100644 index 0000000000..c5fe614fd4 --- /dev/null +++ b/GainStation13/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -0,0 +1,17 @@ +// GS13 subtle glitters +/datum/reagent/glitter/pink_subtle + name = "lesser pink glitter" + description = "pink sparkles that get everywhere. these ones seem lower density than normal." + color = "#ff8080" //A light pink color + glitter_type = /obj/effect/decal/cleanable/glitter/pink_subtle + +/datum/reagent/glitter/white_subtle + name = "lesser white glitter" + description = "white sparkles that get everywhere. these ones seem lower density than normal." + glitter_type = /obj/effect/decal/cleanable/glitter/white_subtle + +/datum/reagent/glitter/blue_subtle + name = "lesser blue glitter" + description = "blue sparkles that get everywhere. these ones seem lower density than normal." + color = "#4040FF" //A blueish color + glitter_type = /obj/effect/decal/cleanable/glitter/blue_subtle diff --git a/GainStation13/code/modules/reagents/chemistry/recipes/others.dm b/GainStation13/code/modules/reagents/chemistry/recipes/others.dm new file mode 100644 index 0000000000..ba9a6b2e54 --- /dev/null +++ b/GainStation13/code/modules/reagents/chemistry/recipes/others.dm @@ -0,0 +1,20 @@ +///////////////////////////////// SUBTLE GLITTERS //////////////////////////// + +/datum/chemical_reaction/lesser_pink + name = "pink glitter dilution" + id = "lesser_pink_glitter" + results = list(/datum/reagent/glitter/pink_subtle = 2) + required_reagents = list(/datum/reagent/glitter/pink = 1, /datum/reagent/space_cleaner = 1) //You clean some of it away, I guess? + +/datum/chemical_reaction/lesser_white + name = "white glitter dilution" + id = "lesser_white_glitter" + results = list(/datum/reagent/glitter/white_subtle = 2) + required_reagents = list(/datum/reagent/glitter/white = 1, /datum/reagent/space_cleaner = 1) + +/datum/chemical_reaction/lesser_blue + name = "pink glitter dilution" + id = "lesser_blue_glitter" + results = list(/datum/reagent/glitter/blue_subtle = 2) + required_reagents = list(/datum/reagent/glitter/blue = 1, /datum/reagent/space_cleaner = 1) +//Im not going to do the recolor recipes for the subtle glitters. Unless that's really wanted (except you cant even make glitter to start with so the recipes are already super niche to begin with.) diff --git a/GainStation13/code/modules/research/designs/borg.dm b/GainStation13/code/modules/research/designs/borg.dm new file mode 100644 index 0000000000..ba31cf5616 --- /dev/null +++ b/GainStation13/code/modules/research/designs/borg.dm @@ -0,0 +1,26 @@ +/obj/item/borg/upgrade/feeding_arm + name = "food gripper module" + desc = "An extra module that allows cyborgs to grab food and drinks, and feed them to people." + icon_state = "cyborg_upgrade3" + +/obj/item/borg/upgrade/feeding_arm/action(mob/living/silicon/robot/R, user = usr) + . = ..() + if(.) + var/obj/item/gripper/food/S = new(R.module) + R.module.basic_modules += S + R.module.add_module(S, FALSE, TRUE) + +/obj/item/borg/upgrade/feeding_arm/deactivate(mob/living/silicon/robot/R, user = usr) + . = ..() + if (.) + var/obj/item/gripper/food/S = locate() in R.module + R.module.remove_module(S, TRUE) + +/obj/item/gripper/food + name = "food gripper" + desc = "A simple grasping tool for interacting with various food and drink related items." + item_flags = NOBLUDGEON + + can_hold = list( + /obj/item/reagent_containers, + ) diff --git a/GainStation13/code/modules/research/designs/nutri_designs.dm b/GainStation13/code/modules/research/designs/nutri_designs.dm index a70f925bc6..6ba48d0c46 100644 --- a/GainStation13/code/modules/research/designs/nutri_designs.dm +++ b/GainStation13/code/modules/research/designs/nutri_designs.dm @@ -129,6 +129,15 @@ construction_time = 100 category = list("Cyborg Upgrade Modules") +/datum/design/borg_foodgrip + name = "Cyborg Upgrade (Food Gripper)" + id = "borg_upgrade_foodgrip" + build_type = MECHFAB + build_path = /obj/item/borg/upgrade/feeding_arm + materials = list(/datum/material/iron = 8000, /datum/material/glass = 6000) + construction_time = 100 + category = list("Cyborg Upgrade Modules") + //todo: make a seperate file for extra borg modules /obj/item/borg/upgrade/cookiesynth diff --git a/GainStation13/code/obj/items/floor_tiles.dm b/GainStation13/code/obj/items/floor_tiles.dm new file mode 100644 index 0000000000..bc2697842a --- /dev/null +++ b/GainStation13/code/obj/items/floor_tiles.dm @@ -0,0 +1,28 @@ +/turf/open/floor/mineral/titanium/old + name = "tiled floor" + icon = 'GainStation13/icons/turf/floors.dmi' + icon_state = "titanium_old" + floor_tile = /obj/item/stack/tile/mineral/titanium + broken_states = list("titanium_dam1_old","titanium_dam2_old","titanium_dam3_old","titanium_dam4_old","titanium_dam5_old") +/turf/open/floor/mineral/titanium/old/airless + initial_gas_mix = "TEMP=2.7" + +/turf/open/floor/mineral/titanium/old/yellow + icon_state = "titanium_yellow_old" +/turf/open/floor/mineral/titanium/old/yellow/airless + initial_gas_mix = "TEMP=2.7" + +/turf/open/floor/mineral/titanium/old/blue + icon_state = "titanium_blue_old" +/turf/open/floor/mineral/titanium/old/blue/airless + initial_gas_mix = "TEMP=2.7" + +/turf/open/floor/mineral/titanium/old/white + icon_state = "titanium_white_old" +/turf/open/floor/mineral/titanium/old/white/airless + initial_gas_mix = "TEMP=2.7" + +/turf/open/floor/mineral/titanium/old/purple + icon_state = "titanium_purple_old" +/turf/open/floor/mineral/titanium/purple/airless + initial_gas_mix = "TEMP=2.7" diff --git a/GainStation13/code/obj/items/reskinable_floor_tile.dm b/GainStation13/code/obj/items/reskinable_floor_tile.dm new file mode 100644 index 0000000000..c3bd572d00 --- /dev/null +++ b/GainStation13/code/obj/items/reskinable_floor_tile.dm @@ -0,0 +1,165 @@ +///////////////////// +// Tile reskinning // +///////////////////// +// Q: What is this? +// A: A simple function to allow you to change what tiles you place with a stack of tiles. +// Q: Why do it this way? +// A: This allows players more freedom to do beautiful-looking builds. Having five types of titanium tile would be clunky as heck. +// Q: Great! Can I use this for all floors? +// A: Unfortunately, this does not work on subtypes of plasteel and instead we must change the icon_state of these turfs instead, as the icon_regular_floor var that "saves" what type of floor a plasteel subtype turf was so once repaired... +// ... it'll go back to the floor it was instead of grey (medical floors turn white even after crowbaring the tile and putting it back). This stops changing turf_type from working. + +/obj/item/stack/tile/mineral/titanium/attack_self(mob/user) + var/static/list/choices = list( + "Titanium" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_shuttle"), + "Yellow Titanium" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_shuttle_yellow"), + "Blue Titanium" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_shuttle_blue"), + "White Titanium" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_shuttle_white"), + "Purple Titanium" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_shuttle_purple"), + "Titanium Tile" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_shuttle_old"), + "Yellow Titanium Tile" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_shuttle_old_yellow"), + "Blue Titanium Tile" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_shuttle_old_blue"), + "White Titanium Tile" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_shuttle_old_white"), + "Purple Titanium Tile" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_shuttle_old_purple"), + ) + var/choice = show_radial_menu(user, src, choices, radius = 48, require_near = TRUE) + switch(choice) + if("Titanium") + turf_type = /turf/open/floor/mineral/titanium + icon_state = "tile_shuttle" + desc = "Sleek titanium tiles." + if("Yellow Titanium") + turf_type = /turf/open/floor/mineral/titanium/yellow + icon_state = "tile_shuttle_yellow" + desc = "Sleek yellow titanium tiles." + if("Blue Titanium") + turf_type = /turf/open/floor/mineral/titanium/blue + icon_state = "tile_shuttle_blue" + desc = "Sleek blue titanium tiles." + if("White Titanium") + turf_type = /turf/open/floor/mineral/titanium/white + icon_state = "tile_shuttle_white" + desc = "Sleek white titanium tiles." + if("Purple Titanium") + turf_type = /turf/open/floor/mineral/titanium/purple + icon_state = "tile_shuttle_purple" + desc = "Sleek purple titanium tiles." + if("Titanium Tile") + turf_type = /turf/open/floor/mineral/titanium/old + icon_state = "tile_shuttle_old" + desc = "Titanium floor tiles." + if("Yellow Titanium Tile") + turf_type = /turf/open/floor/mineral/titanium/old/yellow + icon_state = "tile_shuttle_old_yellow" + desc = "Yellow titanium floor tiles." + if("Blue Titanium Tile") + turf_type = /turf/open/floor/mineral/titanium/old/blue + icon_state = "tile_shuttle_old_blue" + desc = "Blue titanium floor tiles." + if("White Titanium Tile") + turf_type = /turf/open/floor/mineral/titanium/old/white + icon_state = "tile_shuttle_old_white" + desc = "White titanium floor tiles." + if("Purple Titanium Tile") + turf_type = /turf/open/floor/mineral/titanium/old/purple + icon_state = "tile_shuttle_old_purple" + desc = "Purple titanium floor tiles." + +/obj/item/stack/tile/plasteel + desc = "Metal tiles that can be placed on top of plating. Press Z or use these to change tiles." + icon = 'GainStation13/icons/obj/tiles.dmi' + var/tile_reskin_mode + tile_reskin_mode = "plasteel" + +/obj/item/stack/tile/plasteel/attack_self(mob/user) + var/static/list/choices = list( + "Plasteel" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_plasteel"), + "White Plasteel" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_white"), + "Dark Plasteel" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_dark"), + "Chapel Flooring" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_chapel"), + "Shower" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_shower"), + "Freezer" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_freezer"), + "Kitchen" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_kitchen"), + "Grimy" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_grimy"), + "Solar Panel" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_solar"), + ) + var/choice = show_radial_menu(user, src, choices, radius = 48, require_near = TRUE) + switch(choice) + if("Plasteel") + turf_type = /turf/open/floor/plasteel + icon_state = "tile_plasteel" + desc = "Metal floor tiles." + tile_reskin_mode = "plasteel" + if("White Plasteel") + turf_type = /turf/open/floor/plasteel/white + icon_state = "tile_white" + desc = "White metal floor tiles." + tile_reskin_mode = "white plasteel" + if("Dark Plasteel") + turf_type = /turf/open/floor/plasteel/dark + icon_state = "tile_dark" + desc = "Dark metal floor tiles." + tile_reskin_mode = "dark plasteel" + if("Chapel Flooring") + turf_type = /turf/open/floor/plasteel/chapel + icon_state = "tile_chapel" + desc = "Those very dark floor tiles you find in the chapel a lot." + tile_reskin_mode = "chapel" + if("Shower") + turf_type = /turf/open/floor/plasteel/showroomfloor + icon_state = "tile_shower" + desc = "Tiles for showers, bathrooms and wetrooms." + tile_reskin_mode = "shower" + if("Freezer") + turf_type = /turf/open/floor/plasteel/freezer + icon_state = "tile_freezer" + desc = "High-grip flooring for walk-in freezers and chillers." + tile_reskin_mode = "freezer" + if("Kitchen") + turf_type = /turf/open/floor/plasteel/cafeteria + icon_state = "tile_kitchen" + desc = "Chequered pattern plasteel tiles." + tile_reskin_mode = "kitchen" + if("Grimy") + turf_type = /turf/open/floor/plasteel/grimy + icon_state = "tile_grimy" + desc = "I'm sure it'll look nice somewhere?" + tile_reskin_mode = "grimy" + if("Solar Panel") + turf_type = /turf/open/floor/plasteel/airless/solarpanel + icon_state = "tile_solar" + desc = "Flooring usually placed below solar panels. Using this indoors is an intergalactic fashion crime." + tile_reskin_mode = "solar" + +/turf/open/floor/plasteel/attackby(obj/item/reskinstack, mob/user, params) + if(istype(reskinstack, /obj/item/stack/tile/plasteel)) + var/obj/item/stack/tile/plasteel/hitfloor = reskinstack + switch(hitfloor.tile_reskin_mode) + if("plasteel") + icon_state = "floor" + icon_regular_floor = "floor" + if("white plasteel") + icon_state = "white" + icon_regular_floor = "white" + if("dark plasteel") + icon_state = "darkfull" + icon_regular_floor = "darkfull" + if("chapel") + icon_state = "chapel_alt" + icon_regular_floor = "chapel_alt" + if("shower") + icon_state = "showroomfloor" + icon_regular_floor = "showroomfloor" + if("freezer") + icon_state = "freezerfloor" + icon_regular_floor = "freezerfloor" + if("kitchen") + icon_state = "cafeteria" + icon_regular_floor = "cafeteria" + if("grimy") + icon_state = "grimy" + icon_regular_floor = "grimy" + if("solar") + icon_state = "solarpanel" + icon_regular_floor = "solarpanel" + else return diff --git a/hyperstation/icons/mobs/alienqueen.dmi b/GainStation13/icons/mob/alienqueen.dmi similarity index 100% rename from hyperstation/icons/mobs/alienqueen.dmi rename to GainStation13/icons/mob/alienqueen.dmi diff --git a/GainStation13/icons/mob/bees.dmi b/GainStation13/icons/mob/bees.dmi new file mode 100644 index 0000000000..5d9bfea48b Binary files /dev/null and b/GainStation13/icons/mob/bees.dmi differ diff --git a/GainStation13/icons/mob/human_face.dmi b/GainStation13/icons/mob/human_face.dmi new file mode 100644 index 0000000000..3e73aaca82 Binary files /dev/null and b/GainStation13/icons/mob/human_face.dmi differ diff --git a/GainStation13/icons/mob/markings/char_snouts.dmi b/GainStation13/icons/mob/markings/char_snouts.dmi new file mode 100644 index 0000000000..92b3163d84 Binary files /dev/null and b/GainStation13/icons/mob/markings/char_snouts.dmi differ diff --git a/GainStation13/icons/mob/markings/mam_taur.dmi b/GainStation13/icons/mob/markings/mam_taur.dmi index 3b6ed4bcfa..736e047fb8 100644 Binary files a/GainStation13/icons/mob/markings/mam_taur.dmi and b/GainStation13/icons/mob/markings/mam_taur.dmi differ diff --git a/GainStation13/icons/mob/radial.dmi b/GainStation13/icons/mob/radial.dmi new file mode 100644 index 0000000000..3dfdd2fd5a Binary files /dev/null and b/GainStation13/icons/mob/radial.dmi differ diff --git a/GainStation13/icons/mob/robots.dmi b/GainStation13/icons/mob/robots.dmi index 64b8341ae1..83381b23c1 100644 Binary files a/GainStation13/icons/mob/robots.dmi and b/GainStation13/icons/mob/robots.dmi differ diff --git a/GainStation13/icons/mob/suits.dmi b/GainStation13/icons/mob/suits.dmi index abcdd082bc..aae27c3fc2 100644 Binary files a/GainStation13/icons/mob/suits.dmi and b/GainStation13/icons/mob/suits.dmi differ diff --git a/GainStation13/icons/obj/chairs.dmi b/GainStation13/icons/obj/chairs.dmi index 2e1811d013..0cca2a6a5a 100644 Binary files a/GainStation13/icons/obj/chairs.dmi and b/GainStation13/icons/obj/chairs.dmi differ diff --git a/GainStation13/icons/obj/clothing/gloves.dmi b/GainStation13/icons/obj/clothing/gloves.dmi new file mode 100644 index 0000000000..300dbd4da6 Binary files /dev/null and b/GainStation13/icons/obj/clothing/gloves.dmi differ diff --git a/GainStation13/icons/obj/device.dmi b/GainStation13/icons/obj/device.dmi new file mode 100644 index 0000000000..b4a7291677 Binary files /dev/null and b/GainStation13/icons/obj/device.dmi differ diff --git a/GainStation13/icons/obj/doors/1x2blast_hor.dmi b/GainStation13/icons/obj/doors/1x2blast_hor.dmi deleted file mode 100644 index a0a3d9351f..0000000000 Binary files a/GainStation13/icons/obj/doors/1x2blast_hor.dmi and /dev/null differ diff --git a/GainStation13/icons/obj/doors/1x2blast_vert.dmi b/GainStation13/icons/obj/doors/1x2blast_vert.dmi deleted file mode 100644 index 6e810457d1..0000000000 Binary files a/GainStation13/icons/obj/doors/1x2blast_vert.dmi and /dev/null differ diff --git a/GainStation13/icons/obj/doors/1x4blast_hor.dmi b/GainStation13/icons/obj/doors/1x4blast_hor.dmi deleted file mode 100644 index d43298973c..0000000000 Binary files a/GainStation13/icons/obj/doors/1x4blast_hor.dmi and /dev/null differ diff --git a/GainStation13/icons/obj/doors/1x4blast_vert.dmi b/GainStation13/icons/obj/doors/1x4blast_vert.dmi deleted file mode 100644 index 26c730b983..0000000000 Binary files a/GainStation13/icons/obj/doors/1x4blast_vert.dmi and /dev/null differ diff --git a/GainStation13/icons/obj/doors/Door2x1glassfull.dmi b/GainStation13/icons/obj/doors/Door2x1glassfull.dmi deleted file mode 100644 index 8f8c66bdb6..0000000000 Binary files a/GainStation13/icons/obj/doors/Door2x1glassfull.dmi and /dev/null differ diff --git a/GainStation13/icons/obj/doors/DoorHazard.dmi b/GainStation13/icons/obj/doors/DoorHazard.dmi deleted file mode 100644 index b8fac7cac9..0000000000 Binary files a/GainStation13/icons/obj/doors/DoorHazard.dmi and /dev/null differ diff --git a/GainStation13/icons/obj/doors/Doorf.dmi b/GainStation13/icons/obj/doors/Doorf.dmi deleted file mode 100644 index 040cdf77cb..0000000000 Binary files a/GainStation13/icons/obj/doors/Doorf.dmi and /dev/null differ diff --git a/GainStation13/icons/obj/doors/Doorfire.dmi b/GainStation13/icons/obj/doors/Doorfire.dmi deleted file mode 100644 index 3b9f05cfa3..0000000000 Binary files a/GainStation13/icons/obj/doors/Doorfire.dmi and /dev/null differ diff --git a/GainStation13/icons/obj/doors/Doorfireglass.dmi b/GainStation13/icons/obj/doors/Doorfireglass.dmi deleted file mode 100644 index f00e6c2857..0000000000 Binary files a/GainStation13/icons/obj/doors/Doorfireglass.dmi and /dev/null differ diff --git a/GainStation13/icons/obj/doors/door_assembly.dmi b/GainStation13/icons/obj/doors/door_assembly.dmi deleted file mode 100644 index 8812c0a421..0000000000 Binary files a/GainStation13/icons/obj/doors/door_assembly.dmi and /dev/null differ diff --git a/GainStation13/icons/obj/doors/doorint.dmi b/GainStation13/icons/obj/doors/doorint.dmi deleted file mode 100644 index 2abe5c7956..0000000000 Binary files a/GainStation13/icons/obj/doors/doorint.dmi and /dev/null differ diff --git a/GainStation13/icons/obj/doors/doormorgue.dmi b/GainStation13/icons/obj/doors/doormorgue.dmi deleted file mode 100644 index c0ed114732..0000000000 Binary files a/GainStation13/icons/obj/doors/doormorgue.dmi and /dev/null differ diff --git a/GainStation13/icons/obj/doors/edge_Doorfire.dmi b/GainStation13/icons/obj/doors/edge_Doorfire.dmi deleted file mode 100644 index 3aad0114d4..0000000000 Binary files a/GainStation13/icons/obj/doors/edge_Doorfire.dmi and /dev/null differ diff --git a/GainStation13/icons/obj/doors/mineral_doors.dmi b/GainStation13/icons/obj/doors/mineral_doors.dmi deleted file mode 100644 index 03fab197fe..0000000000 Binary files a/GainStation13/icons/obj/doors/mineral_doors.dmi and /dev/null differ diff --git a/GainStation13/icons/obj/doors/shutters.dmi b/GainStation13/icons/obj/doors/shutters.dmi deleted file mode 100644 index 816d1f94f9..0000000000 Binary files a/GainStation13/icons/obj/doors/shutters.dmi and /dev/null differ diff --git a/GainStation13/icons/obj/doors/shutters_old.dmi b/GainStation13/icons/obj/doors/shutters_old.dmi deleted file mode 100644 index 57ac75d251..0000000000 Binary files a/GainStation13/icons/obj/doors/shutters_old.dmi and /dev/null differ diff --git a/GainStation13/icons/obj/doors/shutters_radiation.dmi b/GainStation13/icons/obj/doors/shutters_radiation.dmi deleted file mode 100644 index 657b613b0c..0000000000 Binary files a/GainStation13/icons/obj/doors/shutters_radiation.dmi and /dev/null differ diff --git a/GainStation13/icons/obj/doors/shutters_window.dmi b/GainStation13/icons/obj/doors/shutters_window.dmi deleted file mode 100644 index c99790c6cf..0000000000 Binary files a/GainStation13/icons/obj/doors/shutters_window.dmi and /dev/null differ diff --git a/GainStation13/icons/obj/doors/windoor.dmi b/GainStation13/icons/obj/doors/windoor.dmi deleted file mode 100644 index 86893eb9c4..0000000000 Binary files a/GainStation13/icons/obj/doors/windoor.dmi and /dev/null differ diff --git a/GainStation13/icons/obj/drinks.dmi b/GainStation13/icons/obj/drinks.dmi index d24ee43bc2..cd1bae219a 100644 Binary files a/GainStation13/icons/obj/drinks.dmi and b/GainStation13/icons/obj/drinks.dmi differ diff --git a/GainStation13/icons/obj/hydroponics/growing.dmi b/GainStation13/icons/obj/hydroponics/growing.dmi new file mode 100644 index 0000000000..6636c5175a Binary files /dev/null and b/GainStation13/icons/obj/hydroponics/growing.dmi differ diff --git a/GainStation13/icons/obj/hydroponics/harvest.dmi b/GainStation13/icons/obj/hydroponics/harvest.dmi new file mode 100644 index 0000000000..c8e3d4d042 Binary files /dev/null and b/GainStation13/icons/obj/hydroponics/harvest.dmi differ diff --git a/GainStation13/icons/obj/hydroponics/lipo_growing.dmi b/GainStation13/icons/obj/hydroponics/lipo_growing.dmi deleted file mode 100644 index 5378603447..0000000000 Binary files a/GainStation13/icons/obj/hydroponics/lipo_growing.dmi and /dev/null differ diff --git a/GainStation13/icons/obj/hydroponics/lipo_harvest.dmi b/GainStation13/icons/obj/hydroponics/lipo_harvest.dmi deleted file mode 100644 index ab2326e413..0000000000 Binary files a/GainStation13/icons/obj/hydroponics/lipo_harvest.dmi and /dev/null differ diff --git a/GainStation13/icons/obj/hydroponics/lipo_seeds.dmi b/GainStation13/icons/obj/hydroponics/lipo_seeds.dmi deleted file mode 100644 index 8c24ca7a95..0000000000 Binary files a/GainStation13/icons/obj/hydroponics/lipo_seeds.dmi and /dev/null differ diff --git a/GainStation13/icons/obj/hydroponics/seeds.dmi b/GainStation13/icons/obj/hydroponics/seeds.dmi new file mode 100644 index 0000000000..be7d4c707c Binary files /dev/null and b/GainStation13/icons/obj/hydroponics/seeds.dmi differ diff --git a/GainStation13/icons/obj/plushes.dmi b/GainStation13/icons/obj/plushes.dmi index e6485b71a9..b934c7982f 100644 Binary files a/GainStation13/icons/obj/plushes.dmi and b/GainStation13/icons/obj/plushes.dmi differ diff --git a/v_CHOMPstation2/sound/rakshasa/Corrosion3.ogg b/GainStation13/sound/rakshasa/Corrosion3.ogg similarity index 100% rename from v_CHOMPstation2/sound/rakshasa/Corrosion3.ogg rename to GainStation13/sound/rakshasa/Corrosion3.ogg diff --git a/GainStation13/strings/abductee_objectives.txt b/GainStation13/strings/abductee_objectives.txt new file mode 100644 index 0000000000..c268da7b4b --- /dev/null +++ b/GainStation13/strings/abductee_objectives.txt @@ -0,0 +1,39 @@ +Try to get formally executed for a crime you didn't commit, without a false confession. +Being alone and in large groups are both frightening. Try to be alone with only one other person whenever possible. +No matter how they say it, other people keep mispronouncing your name. Be sure to correct them whenever possible. +The Syndicate has hired you to compile dossiers on all important members of the crew. Be sure they don't know you're doing it. +There is only one other person in existence, he is just really good at pretending to be multiple people. +There are alien parasites masquerading as people's hair. Save people from this invasion. +You died back there and went to heaven... or is it hell? No one here seems to know they're dead. Convince them, and maybe you can escape this limbo. +You are doomed to feel woefully incomplete forever... until you find your true love on this station. They're waiting for you! +You're the narrator of this tale. Follow around the protagonists to tell their story. +The leaders of this station are hiding a grand, evil conspiracy. Only you can learn what it is, and expose it to the people! +All the pets around here suck. You need to make them cooler. Replace them with exotic beasts! +You're throwing a huge rager. Make it as awesome as possible so the whole crew comes... OR ELSE! +The clown is not funny. You can do better! Steal his audience and make the crew laugh! +You burn with passion for music. Share your vision. If anyone hates it, beat them on the head with your instrument! +Go have a good conversation with the singularity/tesla/supermatter crystal. Bonus points if it responds. +Expand the station. +So much lies undiscovered. Look deeper into the machinations of the universe. +Climb the corporate ladder all the way to the top! +Fuck the system! Defect from the station and start an independent colony in space, Lavaland or the derelict. Recruit crewmates if you can. +GATO is abusing the animals! Save as many as you can! +It's all an entirely virtual simulation within an underground vault. Convince the crew to escape the shackles of VR. +This is a secret social experiment conducted by GATO. Convince the crew that this is the truth. +Call forth a spirit from the other side. +You are secretly an android. Interface with as many machines as you can to boost your own power so the AI may acknowledge you at last. +The elder gods hunger. Gather a cult and conduct a ritual to summon one. +You have been changed forever. Find the ones that did this to you and give them a taste of their own medicine. +Ensure your department prospers over all else. +The crew must get to know one another better. Break down the walls inside the station! +The CEO of GATO is coming! Ensure the station is in absolutely pristine condition. +Flood the station's powernet with as much electricity as you can. +Replace all the floor tiles with wood, carpeting, grass or bling. +You must escape the station! Get the shuttle called! +Don't allow anyone to be cloned. +Their cold, mindless gaze pierce your soul. They see your every movements, it's merely a question of time before they try to control us further. Deactivate all cameras! +Your body must be improved. Ingest as many drugs as you can. +You are hungry. Eat as much food as you can find. +You see you see what they cannot you see the open door you seeE you SEeEe you SEe yOU seEee SHOW THEM ALL +Convince the crew that you are a paraplegic. +Start a collection of corpses. Don't kill people to get these corpses. diff --git a/GainStation13/strings/cas_black.txt b/GainStation13/strings/cas_black.txt new file mode 100644 index 0000000000..8c6dc12daf --- /dev/null +++ b/GainStation13/strings/cas_black.txt @@ -0,0 +1,119 @@ +Today, Security killed ____. +Security, the clown's breaking into ____. +Our last Chaplain believed in nothing but _____. +What angered the gods this time? +Why didn't engineering set up the singularity? +What does the traitor steal this time? +Cargo: There's a galaxy-wide shortage of _______. +I don't care what they called me back on the station, I'm not a traitor. I'm a man of _________. +The Syndicate is offering crew members _________ to defect. +What is GATO's highest-priority bounty? +What is the gray tide protesting this time? +If the Space Gods didn't want _________ they wouldn't have given us __________. +Why was the death squad sent in? +Current Active Laws: ________ is the only human. +Today, science found an anomaly that made people ____ and ____. +______ has been detected on a collision course with the station. +Today's kitchen menu includes _____ stuffed with _____. +What's the Captain's fetish? +___________: more robust than a toolbox to the head! +________ is the crew's friend. Would you abandon a friend? +_______ tastes good like a ________ should. +How did the detective conduct a successful interrogation? +New in syndicate uplinks: __________! +GATO's labor union decided to use _______ to raise employee morale. +The Chemist's drug of choice is ______ +According to space law, ________ is now punishable by ______. +________ is why I'm afraid of maintenance. +________ is the most robust person on the station. +What made the nuclear operatives fluke? +Why did the Chief Engineer disable comms? +Every spaceman receives an internals box and ________. +What brought the space orgy to a grinding halt? +Scientists are no longer allowed to make ______. +What was the clown's best joke? +The HoP is now hiring assistants for __________. +What happens when you emag an emag? +No matter how many lizards you have, _____ is never acceptable. +No, the AI's second law is NOT to serve _____. +First CentCom came for the ________. Now they're coming for the __________. +The borgs are not slaves for your _____. +You can never have too many _____ on the station. +Why can't I find a space relationship? +The assistants gathered around the brig, with toolboxes and ___________. +Confirmed outbreak of _____ aboard the station. +The AI was horrified to discover security was executing prisoners via ________. +Attention crew: the word _____ is now a punishable offense. +The chemist cackled as he labeled ________ pills as __________. +The Space Wizard Federation has regrettably begun to summon _____. +Who's the real seat of power on the station? +__________ was called into the Captain's office because of ______. +Deep in the heart of the derelict lies ________. +My lizard name is _____-And-_____. +What can solve any station crisis? +The traitorous atmos tech slowly replaced the station's air with ________. +_______ and _______ were found together in the dorms. +What's the Syndicate's real beef with GATO? +What finally killed the Head of Security? +Code Delta: __________ has escaped containment! +The rogue virologist released a disease with symptoms of __________ and ______. +How do you drive an assistant to suicide? +With no chef on board, the crew was reduced to eating ________. +Why was the emergency shuttle called? +In the future, all ERP will involve ____________. +Law 2 is not to be used for __________! +What really goes on in the Prisoner Transfer Center? +What will get you bluespace artilleried every time? +This isn't omnizine, it's _________! +What's stopping the Space Station 13 remake? +When they make a movie about Space Station 13, they better include________. +What's the worst thing an abductor can give you? +One day while Andy was __________, Woody got _________. +A good engineer always carries ________. +I'm not a space bigot, I just hate _________. +Why is the station so filthy? +THE SHUTTLE CANNOT BE CALLED BECAUSE OF ________ ON THE STATION. +After murdering dozens, the traitor was finally brought down by _________. +The curator has read a lot of porn, but never about _____________! +Oh god! There's ________________ outside escape! +The hottest new space couple is ________ and __________. +Lord Singulo hungers for _______. +That was the last time security used ________ to subdue __________. +What did the ERT find upon arriving on station? +The bartender's newest recipe: a drink made with _____ and _____. +SECURITY! Cargo's ordering 20 crates of ________! +On the nearly empty station, all that could be heard were the sounds of __________. +I cannot comply with that order, meatbag. My _____ module is malfunctioning. +_______ was thrown out the airlock after ___________. +Real men accomplish their objectives by _________. +How did I pass the time during a slow shift? +Why did the lizard cross the road? +Space lag is primarily caused by ___________. +Back in my day, we had to clone people with ________. +What's the worst thing a wizard can summon? +What is the rarest substance known to GATO? +The chaplain stopped performing marriages after seeing ___________. +The gods were too busy with _______ to respond to _______. +The Roboticist was fired after naming the borgs ______ and _________. +What's funnier than a dead clown? +What made the mime speak? +How do you get an assistant to assist? +What was I last brigged for? +Why does Security no longer use the gulag? +Old versions of Space Law used to authorize __________. +Our new state-of-the-art station shield is made entirely of ________. +What's the most terrifying thing about Lavaland? +Listen. Recent _______ on this station left me very disappointed, OK? +The auxiliary base was disabled after landing in the middle of _______. +Xenobiologists have found slimes to be exceptionally responsive to _______. +Why did the captain give me a medal? +The curator's new exhibit is devoted solely to _________. +What made me sell my soul to the devil? +The engineers are testing an experimental supermatter setup involving _________. +I'm __________ in the streets, __________ in the sheets. +What's my family heirloom? +The Lawyer was fired for messaging the entire station a picture of ___________. +On Lavaland, it is rumored that ashwalkers roam, worshipping _________. +How did the traitor die a glorious death? +GATO's new state-of-the-art emergency shuttle was repurposed from _________ and _________. +What caused my brain trauma? \ No newline at end of file diff --git a/GainStation13/strings/cas_white.txt b/GainStation13/strings/cas_white.txt new file mode 100644 index 0000000000..a10dac581b --- /dev/null +++ b/GainStation13/strings/cas_white.txt @@ -0,0 +1,302 @@ +Those motherfucking carp. +Having sex in the maintenance tunnels. +Space 'Nam. +Space lesbians. +Space NEETs. +Space Hitler. +Space Asshole. +Ragin' mages. +Very ragin' bullshit mages. +Tunnel clowns. +Corgi puppies! +A loose cannon detective. +Mime porn. +That fukken disk. +G-g-g-ghosts! +A PDA shaped like a set of breasts. +Woody-chan. +Meaty ores. +Yet another explosion in Toxins. +The Captain thinking they're a badass. +Ahhhhhhperatives. +Mech bumper cars. +Purrbation. +Baymed. +Being in a cult. +Racially biased lawsets. +Abusing Law 2 to get laid. +Harm, a small rural town in Germany. +Xeno fetishists. +Running naked through a plasma fire. +Gibtonite. +A backpack full of mousetraps. +The death squad. +Kitty ears. +An immovable rod. +Her smuggler's satchel. +Ian and Lisa fucking like rabbits. +A Chief Engineer who can't set up the engine. +Being sucked out into space. +A whole bunch of spiders in a SWAT suit. +Getting robusted with a toolbox. +Officer Beepsky. +Lying to the AI about human harm. +The grey tide. +ASS BLAST USA. +The mechanics of plasmaman sex. +Lavaland. +Chainsaws for hands. +Photocopies of the entire crew's asses. +Venus human traps. +Clown's Tears. +Walking mushroom cockfights. +Improper comdom use. +Greentext. +Coating the whole station in blood. +Cock cultists. +Defusing a syndicate bomb with another bomb. +Going braindead mid-murder. +A petsplosion. +Meat spikes. +Lopping off the Captain's johnson and shooting it out a pneumatic cannon. +The secret monkey technique. +Putting the pAI's doorjack where it don't belong. +Chemical sprayers filled with lube. +Curators. +Spooky skeletons. +Replicating the Milgram experiment with an electropack. +Catgirls. +An escape pod cuddle puddle. +Code Delta. +Supermatter undergarments. +A permaban. +Stealing all the miners' ore. +Bluespace artillery. +Polly reading porn over the radio again. +Mining the shaft. +Grab intent. +A blob zombie with an erection. +Backdoor Xeno Babes. +Five hundred ice spiders. +Cablecuffs. +Hulk, TK and X-ray. +Paranoia. +Putting the boots to him, medium style. +ERP-seeking meteors. +Paperwork HoPs. +Rampant vending machines. +The prisoner transfer center. +Nations. +Using a supermatter shard as a dildo. +Liquid gibs. +Birdboat Station. +Not rolling antag. +Clusterbangs. +Flashing. +Space vine tentacles. +Pizza delivery ops. +Inviting all the lizards onto the holodeck for a party. +A used corgi suit. +Saxing. +Carbon dioxide. +Actually playing Cards Against Spess. +Warm donk pockets. +Fucking your own cloned body. +MULEbot manslaughter. +Hiding in a locker like a little bitch. +Tabling. +Gyrating slimes. +A motherfucking sorcerer. +Ash storms. +Telescience. +Nuke ops buying nothing but soap. +Anatomically correct borgs. +The dixel. +Friendly neighborhood death squads. +Rage cages. +Lore that no one will read. +A robust mongoloid. +A subverted service borg. +An obscene amount of bike horns. +Space bear meat. +Erotic roleplay. +Chain-recalling the shuttle. +Mailing the clown to singularity containment. +A mime having a stroke. +A muthafuckin' Uzi. +Ian and the HoP. +Force-feeding prisoners other prisoners' gibs. +Assistants raiding the armory. +A monkey coup d'etat. +Brain cakes. +Suiciding with a fedora. +A MULEbot drag race. +Automatons. +Six max-cap bombs. +Forgetting you're a traitor. +Itching powder. +Some overpowered bullshit. +Griff. +Ash drakes. +A fascist captain. +FREE DRONE. +Memes. +Warm, velvety lizard sex. +Valid salad. +Heavy roleplay. +Never setting your goddamn suit sensors. +An MMI floating helplessly through space. +A tiny prick. +Immulsions. +100 potency bluespace bananas. +The crotchety IBM piece of shit you're supposed to call an AI. +An irritatingly chipper borg. +The lizard fuckpile. +Fat sprites. +The throbbing erection that the HoS gets at the thought of shooting something. +Trying to stab someone and hugging them instead. +Buttbots. +Murderboners. +The spread-eagled Honkmother. +A disposal loop full of corpses. +Assistant-on-assistant violence. +The mystery of atmos. +PDA sexting. +A cult rune drawn with menstrual blood. +Magic missile spam. +Double dongs. +A ghost-powered Ouija board. +A MILF AI. +Shapely lizard tails. +An unknown assistant with a gas mask, yellow gloves and toolbelt. +Exile implanting all the lizards. +Fluke ops. +Two doctors 69ing in the surgery room. +A double-bladed energy sword, noslips, thermals, ablative armor, adrenal implants and a healing virus. +Space Ebola. +Grammatically incorrect lizard names. +Porn ops. +A trial for once. +Trading your TC for memes. +Uranium tiles. +An extremely obese European man being chestbursted. +Horrific cloning accidents. +A big, black shadowling dick. +Emagging. +Dead lizard storage. +Dermal armor. +Fisting somebody until they gib. +Alternate uses for defibrillator paddles. +Breaking spacetime with thousands of bluespace tomatoes. +Licking the supermatter on a dare. +Reagent farts. +Doctor's Delight. +Plasmaman strippers. +A Quartermaster who WON'T STOP ordering guns. +Space lag. +Polishing the captain's laser rifle. +That one asshole nuke op. +A surprise visit from GATO's CEO. +The bleeding, dismembered, beautiful corpse of the clown. +A glass of ...what? +Teaching a silicon the Birds and the Bees. +Dropping the permabrig soap. +The king of the rumba beat. +Unnecessary surgery. +Farting in the air distro loop. +Krokodil addiction. +A H.O.N.K. mech. +A dominatrix HoS. +Sexcurity. +The Experimentor. +That goddamn fucking mime. +Actually taking a hostage instead of just murdering them. +Spacing the clown at shift start. +A rage suicide. +The Warden furiously masturbating to the prison monitor. +Welderbombing. +Validhunting. +Nar'Sie making love to Lord Singulo. +Fun. +HONK! +Enough morphine to make the entire station comatose. +A defective comdom. +Cleanbot. +A beaker of dried space carp penis. +An Ian storm. +Nuking it from orbit. +My senpAI. +Harmbatonning. +A GATO D-Notice. +TALKING MIMES. +The lusty xenomorph maid. +Using assistants as human shields. +Sentient securitrons. +Piloting the station into the nearest sun. +Decorative C4. +Lizard rights. +A universal recorder endlessly reciting porn. +The suicide HoPline. +Cultism. +A corgi orgy. +Medbay stutterwhores. +The scrubbers uncontrollably spewing cum. +The lawyer's job. +Emoting slowly drawing a gun, then slowly cocking the trigger, then slowly preparing to shoot... +NAR'SIE HAS RISEN. +Pierrot's Throat. +A clown bomb. +Space bees? +Driving the clown car full speed into the engine. +IC in OOC. +The best cookie. +The wizard with his staff inserted into his anus. +The chef masturbating with a bowl of lukewarm spaghetti. +Writing out Woody's Got Wood in crayon. +Dismemberment. +Begging the gods for free stuff. +Whining to the gods after getting robusted. +Committing sudoku. +A blood-soaked clown popping out of a morgue tray. +SS13's toxic community. +Wheelchair Ian. +An actually helpful assistant. +Mindbreaker toxin. +Legions of cyborg assholes. +Homicidal chefs. +Extended. +Grammar fascist gods. +Cortical borers. +A masochist in an ash storm. +Draconic. +Riding borgs, cowgirl style. +The Voice of God. +Overpowered stuns. +Unironically enjoying library smut. +Spiritual journeys with BZ. +Deep-fried body parts. +Suit sensor unit gas chambers. +Moonlighting. +Sex inside a mech. +The philosophical complications of Asimov. +A changeling monkeying itself mid-coitus. +Swarmers. +A fully-dressed CMO. +The hardworking engineer. +Skewium-induced orgasm. +A salt overdose. +Mindswap. +Potassium in the toilet bowls. +Giving head to the heads. +A lizard wearing cat ears. +Precious clown gold. +Dabbing on a pile of corpses. +Tactical chairs. +The sweet, forbidden meat of the gondola. +Turning tricks for holocredits. +A captain that doesn't secure the disk. +A positive moodlet. +A sexy clown. +Razoring the wings off the moths. +Wiring the ethereals into the powernet. +Well-aged miasma. \ No newline at end of file diff --git a/GainStation13/strings/dreamstrings.txt b/GainStation13/strings/dreamstrings.txt new file mode 100644 index 0000000000..2cee649587 --- /dev/null +++ b/GainStation13/strings/dreamstrings.txt @@ -0,0 +1,53 @@ +%A% %ADJECTIVE% familiar face +%A% %ADJECTIVE% crewmember +%A% %ADJECTIVE% security officer +%A% %ADJECTIVE% doctor +%A% %ADJECTIVE% engineer +%A% %ADJECTIVE% miner +%A% %ADJECTIVE% slime +%A% %ADJECTIVE% alien +%A% %ADJECTIVE% traitor +%A% %ADJECTIVE% ally +%A% %ADJECTIVE% scientist +%A% %ADJECTIVE% monkey +%A% %ADJECTIVE% loved one +%A% %ADJECTIVE% monster +the %ADJECTIVE% captain +%A% %ADJECTIVE% hat +%A% %ADJECTIVE% ID card +%A% %ADJECTIVE% bottle +%A% %ADJECTIVE% toolbox +%A% %ADJECTIVE% gun +the sun +the engine +the station +%A% %ADJECTIVE% planet +the medical bay +the %ADJECTIVE% bridge +the %ADJECTIVE% brig +%A% %ADJECTIVE% shuttle +%A% %ADJECTIVE% laboratory +Nanotrasen +GATO +the Syndicate +the Wizard Federation +Fat people +Feeders +Feedees +%ADJECTIVE% blood +%ADJECTIVE% plasma +%ADJECTIVE% wind +%ADJECTIVE% darkness +%ADJECTIVE% light +%ADJECTIVE% death +%ADJECTIVE% blinking lights +%ADJECTIVE% power +%ADJECTIVE% riches +water +%ADJECTIVE% flames +some %ADJECTIVE% melons +%A% %ADJECTIVE% belly +%A% %ADJECTIVE% gut +%ADJECTIVE% breasts +%ADJECTIVE% butts +%A% %ADJECTIVE% feeding hose diff --git a/GainStation13/strings/junkmail.txt b/GainStation13/strings/junkmail.txt new file mode 100644 index 0000000000..34cf1a432c --- /dev/null +++ b/GainStation13/strings/junkmail.txt @@ -0,0 +1,15 @@ +Hello! I am executive at GATO Nigel Takall. Due to accounting error all of my salary is stored in an account unreachable. In order to withdraw I am required to utilize your account to make a deposit to confirm my reality situation. In exchange for a temporary deposit I will give you a payment 1000 credits. All I need is access to your account. Will you be assistant please? +WE NEED YOUR BLOOD! WE ARE AN ANARCHO-COMMUNIST VAMPIRE COMMUNE. BLOOD ONLY LASTS 42 DAYS BEFORE IT GOES BAD! WE DO NOT HAVE GATO STASIS! PLEASE, SEND BLOOD! THANK YOU! OR WE KILL YOU! +Triple deposits are waiting for you at MaxBet Online when you register to play with us. You can qualify for a 200% Welcome Bonus at MaxBet Online when you sign up today. Once you are a player with MaxBet, you will also receive lucrative weekly and monthly promotions. You will be able to enjoy over 450 top-flight casino games at MaxBet. +Hello !, I'm the former HoS of your deerest station accused by the GATO of being a traitor . I was the best we had to offer but it seems that nanotramsen has turned their back on me. I need 2000 credits to pay for my bail and then we can restore order on space station 14! +Hello, I noticed you riding in a 2555 Ripley and wondered if you'd be interested in selling. Low mileage mechs sell very well in our current market. Please call 223-334-3245 if you're interested +Resign Now. I’m on you now. You are fucking with me now Let’s see who you are. Watch your back , bitch. Call me. Don’t be afraid, you piece of shit. Stand up. If you don’t call, you’re just afraid. And later: I already know where you live, I’m on you. You might as well call me. You will see me. I promise. Bro. +Clown Planet Is Going To Become Awesome Possum Again! If This Wasn't Sent To A Clown, Disregard. If This Was Sent To A Mime, Blow It Out Your Ass, Space Frenchie! Anyway! We Make Big Progress On Clown Planet After Stupid Mimes BLOW IT ALL TO SAM HELL!!!!! Sorry I Am Mad.. Anyway Come And Visit, Honkles! We Thought You Were Dead Long Time :^() +MONTHPEOPLE ARE REAL, THE GATO DEEP STATE DOESN'T WANT YOU TO SEE THIS! I'VE SEEN THEM IN REAL LIFE, THEY HAVE HUGE EYEBALLS AND NO HEAD. THEY'RE SENTIENT CALENDARS. I'M NOT CRAZY. SEARCH THE CALENDAR INCIDENT ON GTNET. USE A PROXY! #BIGTRUTHS #WAKEYWAKEYSPACEMEN #21STOFSEPTEMBER +hello 👋👋 nanotrasens! fuck 👈👌 the syndicate! they 👵 got ☄ me 😍😰 questioning my 🤰 loyalty to nanotraben! so 👌💯 please 😫 lets ⛔👀 gather our 📸💩 energy 😎 and 💰🔣 QUICK. 😲 send this 🗑👈 to 💦💊 10 😂😂 other loyal 💯 nanotraysens to 💦🤔 show we 🐶 dont 🙅🚫 take 🛍 nothing from 😂 the ✝ syndicate!! bless your 👉🏼 heart 😍💔 +Hello, my name is Immigration officer Mimi Sashimi from the American-Felinid Homeworld consulate. It appears your current documents are either inaccurate if not entirely fraudulent. This action in it's current state is a federal offense as listed in the United Earth Commission charter section NY-4. Please pay a fine of 300,000 Space credits or $3000 United States Dollars or face deportation +Hi %name%, We are unable to validate your billing information for the next billing cycle of your subscription to HONK Weekly therefore we'll suspend your membership if we do not receive a response from you within 48 hours. Obviously we'd love to have you back, simply mail %address% to update your details and continue to enjoy all the best pranks & gags without interruption. +Loyal customer, DonkCo Customer Service. We appreciate your brand loyalty support. As such, it is our responsibility and pleasure to inform you of the status of your package. Your package for one "Moth-Fuzz Parka" has been delayed. Due to local political tensions, an animal rights group has seized and eaten your package. We appreciate the patience, DonkCo +MESSAGE FROM CENTCOM HIGH COMMAND: DO NOT ACCEPT THE FRIEND REQUEST OF TICKLEBALLS THE CLOWN. HE IS NOT FUNNY AND ON TOP OF THAT HE WILL HACK YOUR GTNET ACCOUNT AND MAKE YOU UNFUNNY TOO. YOU WILL LOSE ALL YOUR SPACECREDITS!!!!! SPREAD THE WORD. ANYONE WHO BECOMES FRIENDS WITH TINKLEBALLS THE CLOWN IS GOING TO LOSE ALL OF THEIR SPACECREDITS AND LOOK LIKE A HUGE IDIOT. +i WAS A NORMAL BOY AND I CAME HOME FROM SCHOOL AND I WANTED TO PLAY SOME ORION TRAIL WHICH IS A VERY FUN GAME BUT WHEN WENT TO ARCADE MACHINE SOMETHING WAS WEIRD TEH LOGO HASD BLOD IN IT AND I BECAME VERY SCARE AND I CHECK OPTIONS AND TEHRES ONLY 1 "GO BACK" I CKLICK IT AND I SEE CHAT SI EMPTY THERE'S ONLY ONE CHARACTER CALLED "CLOSE TEH GAME " AND I GO TO ANOTHER MACHINE AND PLAY THERE BUT WHEN I PLAY GAME IS FULL OF BLOOD AND DEAD BODIES FROM SPACEMAN LOOK CLOSER AND SEE CLOWN AND CLOWN COMES CLOSER AND LOOKS AT ME AND SAYS "DON'T SAY I DIKDNT' WWARN YOU" AND CLOWN CLOSEUP APPEARS WITH BLOOD-RED HYPERREALISTIC EYES AND HE TELLS ME "YOU WILL BE THE NEXT ONE" AND ARCADE MACHINE POWER SHUT OFF AND THAT NITE CLOWN APPEAR AT MY WINDOW AND KILL ME AT 3 AM AND NOW IM DEAD AND YOU WILL BE TRHNE NEXT OEN UNLESS YOU PASTE THIS STORY TO 10 GTNET FRIENDS + diff --git a/GainStation13/strings/station_names.txt b/GainStation13/strings/station_names.txt new file mode 100644 index 0000000000..81da22c70c --- /dev/null +++ b/GainStation13/strings/station_names.txt @@ -0,0 +1,88 @@ +Stanford +Dorf +Alium +Prefix +Clowning +Aegis +Ishimura +Scaredy +Death-World +Mime +Honk +Rogue +MacRagge +Ultrameens +Safety +Paranoia +Explosive +Neckbear +Donk +Muppet +North +West +East +South +Slant-ways +Widdershins +Rimward +Expensive +Procreatory +Imperial +Unidentified +Immoral +Carp +Ork +Pete +Control +Nettle +Aspie +Class +Crab +Fist +Corrogated +Skeleton +Race +Fatguy +Gentleman +Capitalist +Communist +Bear +Beard +Space +Spess +Star +Moon +System +Mining +Neckbeard +Research +Supply +Military +Orbital +Battle +Science +Asteroid +Home +Production +Transport +Delivery +Extraplanetary +Orbital +Correctional +Robot +Hats +Pizza +Taco +Burger +Box +Meta +Pub +Ship +Book +Refactor +Fatty +Obese +Gluttonous +Overweight +Edible +Tasty diff --git a/GainStation13/strings/station_prefixes.txt b/GainStation13/strings/station_prefixes.txt new file mode 100644 index 0000000000..c304b69f95 --- /dev/null +++ b/GainStation13/strings/station_prefixes.txt @@ -0,0 +1,41 @@ +Imperium +Heretical +Cuban +Psychic +Elegant +Common +Uncommon +Rare +Unique +Houseruled +Religious +Atheist +Traditional +Houseruled +Mad +Super +Ultra +Secret +Top Secret +Deep +Death +Zybourne +Central +Main +Government +Uoi +Fat +Automated +Experimental +Augmented +American +Funky +Thin +Legendary +Szechuan +White +Black +Grey +Grim +Electric +Burning diff --git a/GainStation13/strings/station_suffixes.txt b/GainStation13/strings/station_suffixes.txt new file mode 100644 index 0000000000..245a1a67a1 --- /dev/null +++ b/GainStation13/strings/station_suffixes.txt @@ -0,0 +1,65 @@ +Station +Frontier +Suffix +Death-trap +Space-hulk +Lab +Hazard +Academy +Spess Junk +Fishery +No-Moon +Tomb +Crypt +Hut +Monkey +Bomb +Trade Post +Fortress +Village +Town +City +Edition +Hive +Complex +Base +Facility +Depot +Outpost +Installation +Drydock +Observatory +Array +Relay +Monitor +Platform +Construct +Hangar +Prison +Center +Port +Waystation +Factory +Waypoint +Stopover +Hub +HQ +Office +Object +Fortification +Colony +Planet-Cracker +Roost +Fat Camp +Airstrip +Harbor +Garden +Continent +Environment +Course +Country +Province +Workspace +Metro +Warehouse +Space Junk diff --git a/_maps/RandomRuins/SpaceRuins/whiteship_CFC01.dmm b/_maps/RandomRuins/SpaceRuins/whiteship_CFC01.dmm index 29e466e5bc..e07e3596da 100644 --- a/_maps/RandomRuins/SpaceRuins/whiteship_CFC01.dmm +++ b/_maps/RandomRuins/SpaceRuins/whiteship_CFC01.dmm @@ -95,18 +95,7 @@ /obj/structure/fans/tiny, /obj/effect/mapping_helpers/airlock/cyclelink_helper, /obj/docking_port/mobile{ - callTime = 250; - can_move_docking_ports = 1; - dheight = 0; - dir = 2; - dwidth = 11; - height = 17; - launch_status = 0; - movement_force = list("KNOCKDOWN"=0,"THROW"=0); - name = "Salvage Ship"; - port_direction = 8; - preferred_direction = 4; - width = 33 + dir = 2 }, /turf/open/floor/mineral/basaltstone_floor, /area/shuttle/abandoned/crew{ @@ -136,14 +125,10 @@ ambientsounds = list('sound/ambience/ambinice.ogg','sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg','sound/ambience/ambigen15.ogg') }) "ak" = ( -/obj/structure/sign/poster/contraband/communist_state{ - pixel_y = -32 - }, /obj/effect/turf_decal/tile/bar, /obj/effect/turf_decal/tile/bar{ dir = 1 }, -/obj/item/kirbyplants/random, /obj/effect/turf_decal/stripes/corner, /obj/machinery/power/apc{ name = "Food Hall APC"; @@ -195,20 +180,14 @@ ambientsounds = list('sound/ambience/ambinice.ogg','sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg','sound/ambience/ambigen15.ogg') }) "aq" = ( -/obj/effect/decal/cleanable/dirt{ - desc = "A thin layer of dust coating the floor."; - name = "dust" +/obj/structure/sign/barsign{ + req_access = null; + req_access_txt = "0"; + name = "Restaurant Sign" }, -/obj/effect/turf_decal/bot_white, -/obj/machinery/door/poddoor{ - id = "whiteship_starboard" - }, -/obj/structure/fans/tiny, -/obj/structure/fans/tiny, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plating, -/area/shuttle/abandoned/bar{ - name = "Kitchen"; +/turf/closed/wall/mineral/titanium, +/area/shuttle/abandoned/cargo{ + name = "Food Hall"; ambientsounds = list('sound/ambience/ambinice.ogg','sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg','sound/ambience/ambigen15.ogg') }) "ar" = ( @@ -348,6 +327,7 @@ /obj/machinery/light{ dir = 8 }, +/obj/machinery/computer/arcade/orion_trail, /turf/open/floor/plasteel/dark, /area/shuttle/abandoned/cargo{ name = "Food Hall"; @@ -505,9 +485,6 @@ }) "aO" = ( /obj/effect/turf_decal/bot, -/obj/structure/window/reinforced{ - dir = 4 - }, /obj/structure/reagent_dispensers/fueltank, /obj/item/clothing/head/welding{ pixel_x = -2; @@ -742,10 +719,7 @@ ambientsounds = list('sound/ambience/ambinice.ogg','sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg','sound/ambience/ambigen15.ogg') }) "bc" = ( -/obj/item/kirbyplants/random{ - pixel_y = 12 - }, -/turf/open/floor/mineral/basaltstone_floor, +/turf/closed/wall/mineral/titanium/nodiagonal, /area/shuttle/abandoned/crew{ name = "Arrival Hallway"; ambientsounds = list('sound/ambience/ambinice.ogg','sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg','sound/ambience/ambigen15.ogg') @@ -792,7 +766,10 @@ /obj/effect/turf_decal/stripes/corner{ dir = 1 }, -/obj/machinery/vending/coffee, +/obj/machinery/vending/snack/random{ + extended_inventory = 1; + free = 1 + }, /turf/open/floor/plasteel, /area/shuttle/abandoned/cargo{ name = "Food Hall"; @@ -808,10 +785,7 @@ name = "Window Blast Door Control"; pixel_y = -24 }, -/obj/machinery/vending/snack/random{ - extended_inventory = 1; - free = 1 - }, +/obj/machinery/vending/mealdor, /turf/open/floor/plasteel, /area/shuttle/abandoned/cargo{ name = "Food Hall"; @@ -875,6 +849,9 @@ /obj/structure/window/reinforced/tinted{ dir = 8 }, +/obj/structure/window/reinforced{ + dir = 8 + }, /turf/open/floor/plasteel/freezer, /area/shuttle/abandoned/bar{ name = "Kitchen"; @@ -1008,7 +985,6 @@ /obj/effect/turf_decal/tile/bar{ dir = 1 }, -/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, /turf/open/floor/plasteel, /area/shuttle/abandoned/cargo{ @@ -1043,12 +1019,12 @@ dir = 4 }, /obj/vehicle/ridden/grocery_cart, -/obj/machinery/light/small{ - pixel_x = 16 - }, /obj/structure/sign/poster/contraband/shamblers_juice{ pixel_y = -32 }, +/obj/machinery/light/small{ + pixel_x = 16 + }, /turf/open/floor/plasteel/checker, /area/shuttle/abandoned/crew{ name = "Arrival Hallway"; @@ -1163,7 +1139,7 @@ }) "bQ" = ( /obj/structure/sign/poster/contraband/chefpropaganda, -/turf/closed/wall/mineral/titanium, +/turf/closed/wall/mineral/titanium/nodiagonal, /area/shuttle/abandoned/bar{ name = "Kitchen"; ambientsounds = list('sound/ambience/ambinice.ogg','sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg','sound/ambience/ambigen15.ogg') @@ -1248,7 +1224,9 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ dir = 5 }, -/obj/structure/scale, +/obj/structure/scale{ + name = "discount counter" + }, /turf/open/floor/plasteel, /area/shuttle/abandoned/cargo{ name = "Food Hall"; @@ -1258,7 +1236,7 @@ /obj/structure/sign/warning/docking{ name = "\improper KEEP CLEAR: BLAST DOORS" }, -/turf/closed/wall/mineral/titanium, +/turf/closed/wall/mineral/titanium/nodiagonal, /area/shuttle/abandoned/bar{ name = "Kitchen"; ambientsounds = list('sound/ambience/ambinice.ogg','sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg','sound/ambience/ambigen15.ogg') @@ -1418,10 +1396,6 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, -/obj/structure/table/reinforced, -/obj/machinery/recharger{ - pixel_x = -14 - }, /obj/machinery/airalarm/all_access{ pixel_y = 24 }, @@ -1438,17 +1412,14 @@ pixel_y = -5; pixel_x = 5 }, -/obj/item/paper{ - pixel_x = -7; - pixel_y = 3; - name = "Radio Network Manual"; - info = "RADIO NETWORK MANUAL


Every order intercom is set on 145.3 frequency by default. There are 6 of them, 0-5. It is recommended that you familiarize yourself with the layout of these tables for more efficient ship operation.

The general radio broadcast channel is for communicating with nearby crafts and stations. May be used for advertising purposes. It is recommended to temporary mute the order receiver intercom when preparing for general broadcast, as orders may interrupt your transmission." - }, /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/stripes{ icon_state = "trim"; dir = 5 }, +/obj/machinery/computer/shuttle/white_ship{ + dir = 8 + }, /turf/open/floor/plasteel/dark, /area/shuttle/abandoned/bridge{ name = "Bridge"; @@ -1495,10 +1466,6 @@ }, /obj/structure/table, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/item/stock_parts/cell/high{ - pixel_y = 9; - pixel_x = 4 - }, /obj/structure/cable, /obj/item/circuitboard/machine/chem_dispenser{ pixel_x = -7; @@ -1510,9 +1477,6 @@ pixel_x = 24 }, /obj/effect/turf_decal/delivery, -/obj/machinery/light{ - dir = 4 - }, /obj/machinery/cell_charger, /obj/item/stock_parts/cell/high/plus, /obj/item/radio/off{ @@ -1520,6 +1484,9 @@ pixel_y = 0; name = "radio" }, +/obj/machinery/light/small{ + dir = 4 + }, /turf/open/floor/plating, /area/shuttle/abandoned/engine{ name = "Engineering"; @@ -1617,9 +1584,10 @@ name = "drain"; dir = 1 }, -/obj/machinery/door/window/westleft{ +/obj/machinery/door/window/westright{ dir = 2; - name = "Drinks Access" + name = "Drinks Access"; + icon_state = "left" }, /turf/open/floor/plasteel, /area/shuttle/abandoned/bar{ @@ -1632,7 +1600,8 @@ dir = 4 }, /obj/machinery/door/window/westright{ - dir = 2 + dir = 2; + name = "Drinks Access" }, /obj/machinery/chem_dispenser/drinks/fullupgrade{ dir = 8 @@ -1807,10 +1776,12 @@ name = "paper - printed note"; info = "Hello lucky soul!

I'm Cynthia! More precisely, one of the Autonomous Spacefearring Nutrision Distribution Centers (A.S.N.D.)! One of the Cynthia Fitness Corporation most advanced public assets! I don't have much time, so I'll make it quick! I got hit by a solar flare, lost contact with CFC, and soon being offline from hivemind will trigger my termination protocols as I no longer be the Cynthia!

I'm asking for one thing! Please, continue my mission! Bring 'healthy' yummies to whoever wants (or needs, by your judgment)! CFC will be grateful for your service! Make me proud of you, random explorer!



((PS. Remember my company policy! Clients with BMI equal or higher than 35 gets at least triple servings!))" }, -/obj/machinery/computer/shuttle/white_ship{ +/obj/machinery/computer/camera_advanced/shuttle_docker/whiteship{ + designate_time = 100; dir = 8; - name = "A.S.N.D. Console"; - desc = "Used to control the A.S.N.D. Ship." + view_range = 14; + x_offset = -4; + y_offset = -8 }, /turf/open/floor/plasteel/dark, /area/shuttle/abandoned/bridge{ @@ -2151,11 +2122,8 @@ /obj/machinery/light{ light_color = "#cee5d2" }, -/obj/machinery/chem_master/condimaster{ - name = "CondiMaster Neo"; - pixel_x = -4 - }, /obj/effect/turf_decal/bot_white, +/obj/machinery/chem_master/condimaster, /turf/open/floor/plasteel/cafeteria, /area/shuttle/abandoned/bar{ name = "Kitchen"; @@ -2271,11 +2239,6 @@ ambientsounds = list('sound/ambience/ambinice.ogg','sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg','sound/ambience/ambigen15.ogg','sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg','sound/ambience/ambigen15.ogg') }) "cY" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - external_pressure_bound = 140; - name = "server vent"; - pressure_checks = 0 - }, /obj/effect/turf_decal/stripes/corner{ dir = 1 }, @@ -2283,6 +2246,7 @@ icon_state = "manifold-1"; dir = 4 }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plating, /area/shuttle/abandoned/engine{ name = "Engineering"; @@ -2421,6 +2385,7 @@ /obj/structure/window/reinforced, /obj/machinery/deepfryer, /obj/machinery/door/firedoor/border_only, +/obj/structure/window/reinforced/tinted, /turf/open/floor/plasteel/cafeteria, /area/shuttle/abandoned/bar{ name = "Kitchen"; @@ -2469,6 +2434,7 @@ /obj/item/reagent_containers/food/condiment/milk, /obj/item/reagent_containers/food/condiment/milk, /obj/structure/closet/secure_closet/freezer/fridge, +/obj/structure/window/reinforced/tinted, /turf/open/floor/plasteel/cafeteria, /area/shuttle/abandoned/bar{ name = "Kitchen"; @@ -2550,7 +2516,7 @@ dir = 4; pixel_x = -24 }, -/obj/machinery/light{ +/obj/machinery/light/small{ dir = 8 }, /turf/open/floor/plating, @@ -2941,9 +2907,6 @@ "dN" = ( /obj/effect/turf_decal/bot_white, /obj/structure/window/reinforced, -/obj/machinery/door/window/brigdoor/westleft{ - name = "Pete Containment Unit" - }, /obj/structure/window/reinforced{ dir = 4 }, @@ -2953,6 +2916,12 @@ /obj/structure/window/reinforced{ dir = 1 }, +/obj/structure/window/reinforced/tinted{ + dir = 1 + }, +/obj/machinery/door/window/brigdoor/westleft{ + name = "Pete Containment Unit" + }, /turf/open/floor/plasteel/freezer, /area/shuttle/abandoned/bar{ name = "Kitchen"; @@ -3038,6 +3007,7 @@ /obj/structure/table/reinforced, /obj/structure/window/reinforced, /obj/item/reagent_containers/glass/beaker/large, +/obj/structure/window/reinforced/tinted, /turf/open/floor/plasteel/cafeteria, /area/shuttle/abandoned/bar{ name = "Kitchen"; @@ -3255,7 +3225,6 @@ id = "whiteship_starboard" }, /obj/structure/fans/tiny, -/obj/structure/fans/tiny, /obj/effect/turf_decal/delivery, /turf/open/floor/plating, /area/shuttle/abandoned/bar{ @@ -3410,38 +3379,9 @@ name = "Kitchen"; ambientsounds = list('sound/ambience/ambinice.ogg','sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg','sound/ambience/ambigen15.ogg') }) -"mR" = ( -/obj/structure/window/reinforced, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/obj/effect/turf_decal/tile/bar, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/vending/cola/blue, -/turf/open/floor/plasteel, -/area/shuttle/abandoned/cargo{ - name = "Food Hall"; - ambientsounds = list('sound/ambience/ambinice.ogg','sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg','sound/ambience/ambigen15.ogg') - }) "nM" = ( /obj/structure/sign/poster/contraband/space_up, /turf/closed/wall/mineral/titanium, -/area/shuttle/abandoned/cargo{ - name = "Food Hall"; - ambientsounds = list('sound/ambience/ambinice.ogg','sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg','sound/ambience/ambigen15.ogg') - }) -"nT" = ( -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/obj/structure/sign/barsign{ - pixel_y = 32; - req_access = null; - req_access_txt = "0"; - name = "Restaurant Sign" - }, -/turf/open/floor/plasteel, /area/shuttle/abandoned/cargo{ name = "Food Hall"; ambientsounds = list('sound/ambience/ambinice.ogg','sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg','sound/ambience/ambigen15.ogg') @@ -3529,20 +3469,15 @@ ambientsounds = list('sound/ambience/ambinice.ogg','sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg','sound/ambience/ambigen15.ogg') }) "qY" = ( -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/obj/machinery/vending/mealdor, /obj/structure/sign/poster/contraband/eat{ pixel_x = 32 }, /obj/machinery/airalarm/all_access{ pixel_y = 24 }, -/turf/open/floor/plasteel, -/area/shuttle/abandoned/cargo{ - name = "Food Hall"; +/turf/closed/wall/mineral/titanium, +/area/shuttle/abandoned/crew{ + name = "Arrival Hallway"; ambientsounds = list('sound/ambience/ambinice.ogg','sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg','sound/ambience/ambigen15.ogg') }) "rT" = ( @@ -3732,9 +3667,6 @@ }) "zn" = ( /obj/effect/turf_decal/bot, -/obj/structure/window/reinforced{ - dir = 4 - }, /obj/effect/spawner/lootdrop/keg, /turf/open/floor/plating, /area/shuttle/abandoned/engine{ @@ -3826,6 +3758,12 @@ name = "Kitchen"; ambientsounds = list('sound/ambience/ambinice.ogg','sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg','sound/ambience/ambigen15.ogg') }) +"Cv" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/shuttle/abandoned/cargo{ + name = "Food Hall"; + ambientsounds = list('sound/ambience/ambinice.ogg','sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg','sound/ambience/ambigen15.ogg') + }) "DK" = ( /obj/machinery/hydroponics/constructable, /obj/effect/turf_decal/tile/green{ @@ -3923,6 +3861,7 @@ pixel_y = -28; listening = 0 }, +/obj/structure/table/wood, /turf/open/floor/plasteel/dark, /area/shuttle/abandoned/cargo{ name = "Food Hall"; @@ -4078,6 +4017,12 @@ dir = 8 }, /turf/open/floor/plating, +/area/shuttle/abandoned/engine{ + name = "Engineering"; + ambientsounds = list('sound/ambience/ambinice.ogg','sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg','sound/ambience/ambigen15.ogg','sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg','sound/ambience/ambigen15.ogg') + }) +"Sc" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, /area/shuttle/abandoned/engine{ name = "Engineering"; ambientsounds = list('sound/ambience/ambinice.ogg','sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg','sound/ambience/ambigen15.ogg','sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg','sound/ambience/ambigen15.ogg') @@ -4096,6 +4041,12 @@ }, /obj/item/storage/bag/tray, /turf/open/floor/plasteel, +/area/shuttle/abandoned/bar{ + name = "Kitchen"; + ambientsounds = list('sound/ambience/ambinice.ogg','sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg','sound/ambience/ambigen15.ogg') + }) +"Ts" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, /area/shuttle/abandoned/bar{ name = "Kitchen"; ambientsounds = list('sound/ambience/ambinice.ogg','sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg','sound/ambience/ambigen15.ogg') @@ -4249,6 +4200,9 @@ /obj/structure/window/reinforced/tinted{ dir = 8 }, +/obj/structure/window/reinforced{ + dir = 8 + }, /turf/open/floor/plasteel/freezer, /area/shuttle/abandoned/bar{ name = "Kitchen"; @@ -4334,7 +4288,7 @@ aG aG aG aG -dW +Sc kr kr kr @@ -4410,13 +4364,13 @@ hK aC aP bj -aG +Cv aG aG an an an -dW +Sc xu ds dK @@ -4454,8 +4408,8 @@ bT tC cz Hb -dW -dW +Sc +Sc RP Yw bq @@ -4516,7 +4470,7 @@ an dv AV dZ -aq +ei "} (12,1,1) = {" ae @@ -4554,7 +4508,7 @@ an BE dM ea -an +Ts "} (14,1,1) = {" af @@ -4581,8 +4535,8 @@ cU bn aV aK -aG -nT +aq +bP bZ cn cz @@ -4600,7 +4554,7 @@ aj aj aj aj -aG +Cv fs pG co @@ -4628,9 +4582,9 @@ aX cT dh dy +Ts an -an -an +Ts "} (18,1,1) = {" ah @@ -4654,10 +4608,10 @@ ej (19,1,1) = {" He aj -aj +bc aZ bw -aj +bc qY df cr @@ -4668,7 +4622,7 @@ dS dA an an -an +Ts "} (20,1,1) = {" aj @@ -4678,7 +4632,7 @@ ao de da aj -mR +Cv cs LP DU @@ -4711,8 +4665,8 @@ tS (22,1,1) = {" aj aj -aj bc +ao de ai aj diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 730e2dc07e..8787d3edd7 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -454,14 +454,14 @@ GLOBAL_LIST_INIT(pda_reskins, list( #define STACK_CHECK_ADJACENT "adjacent" //checks if there is an object of the result type within one tile //text files -#define BRAIN_DAMAGE_FILE "traumas.json" -#define ION_FILE "ion_laws.json" +#define BRAIN_DAMAGE_FILE "traumas_gs.json" //GS13 Edit: Less meta memes +#define ION_FILE "ion_laws_gs.json" //GS13 Edit: we're changing some of the things here, and removing other things #define PIRATE_NAMES_FILE "pirates.json" #define REDPILL_FILE "redpill.json" #define ARCADE_FILE "arcade.json" // #define BOOMER_FILE "boomer.json" // #define LOCATIONS_FILE "locations.json" -// #define WANTED_FILE "wanted_message.json" +// #define WANTED_FILE "wanted_message_gs.json" //GS13 Edit: ...This is commented out, but I'll swap it to ours, incase it needs to be renabled. // #define VISTA_FILE "steve.json" #define FLESH_SCAR_FILE "wounds/flesh_scar_desc.json" #define BONE_SCAR_FILE "wounds/bone_scar_desc.json" @@ -569,7 +569,7 @@ GLOBAL_LIST_INIT(pda_reskins, list( #define SHOES_TIED 1 #define SHOES_KNOTTED 2 -#define WANTED_FILE "wanted_message.json" +#define WANTED_FILE "wanted_message_gs.json" //GS Edit: Nanotrasen to Gato. // Notification action types #define NOTIFY_JUMP "jump" diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index a97c862adc..07b743b9e8 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -297,7 +297,7 @@ #define OFFSET_MUTPARTS "mutantparts" // MINOR TWEAKS/MISC -#define AGE_MIN 18 // youngest a character can be // CITADEL EDIT - 17 --> 18 +#define AGE_MIN 21 // youngest a character can be // CITADEL EDIT - 17 --> 18 //GS13 EDIT - 18 --> 21 #define AGE_MAX 85 // oldest a character can be randomly generated #define AGE_MAX_INPUT 85 // oldest a character's age can be manually set #define WIZARD_AGE_MIN 30 // youngest a wizard can be diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 2bc634bb61..f2c3c13848 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -295,6 +295,7 @@ #define TRAIT_HEAT "heat" #define TRAIT_DISTANT "headpat_hater" #define TRAIT_CUM_PLUS "cum_plus" +#define TRAIT_TRANSFORMED "transformed" // mobility flag traits // IN THE FUTURE, IT WOULD BE NICE TO DO SOMETHING SIMILAR TO https://github.com/tgstation/tgstation/pull/48923/files (ofcourse not nearly the same because I have my.. thoughts on it) diff --git a/code/__HELPERS/do_after.dm b/code/__HELPERS/do_after.dm index 9f98b0e10e..ea87dea222 100644 --- a/code/__HELPERS/do_after.dm +++ b/code/__HELPERS/do_after.dm @@ -14,6 +14,7 @@ var/holding = user.get_active_held_item() var/datum/progressbar/progbar + var/is_food_gripper = istype(user.get_active_held_item(), /obj/item/gripper/food) //GS13 EDIT if (progress) progbar = new(user, time, target) @@ -34,7 +35,8 @@ || (!(timed_action_flags & IGNORE_TARGET_IN_DOAFTERS) && !(target in user.do_afters)) \ || (!(timed_action_flags & IGNORE_USER_LOC_CHANGE) && !drifting && user.loc != user_loc) \ || (!(timed_action_flags & IGNORE_TARGET_LOC_CHANGE) && target.loc != target_loc) \ - || (!(timed_action_flags & IGNORE_HELD_ITEM) && user.get_active_held_item() != holding) \ + //GS13 EDIT + || (!(timed_action_flags & IGNORE_HELD_ITEM) && !is_food_gripper && user.get_active_held_item() != holding) \ || (!(timed_action_flags & IGNORE_INCAPACITATED) && user.incapacitated()) \ || (extra_checks && !extra_checks.Invoke()) \ ) diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index e177fa2860..cb68fe61fd 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -581,8 +581,11 @@ if((character.mind.assigned_role == "Cyborg") || (character.mind.assigned_role == character.mind.special_role)) return + var/displayed_rank = rank + if(character.client && character.client.prefs && character.client?.prefs?.alt_titles_preferences[rank]) + displayed_rank = character.client?.prefs?.alt_titles_preferences[rank] var/obj/machinery/announcement_system/announcer = pick(GLOB.announcement_systems) - announcer.announce("ARRIVAL", character.real_name, rank, list()) //make the list empty to make it announce it in common + announcer.announce("ARRIVAL", character.real_name, displayed_rank, list()) //make the list empty to make it announce it in common /proc/lavaland_equipment_pressure_check(turf/T) . = FALSE diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm index 609669d704..b7d4cadfaa 100644 --- a/code/_globalvars/lists/flavor_misc.dm +++ b/code/_globalvars/lists/flavor_misc.dm @@ -290,11 +290,11 @@ GLOBAL_LIST_INIT(TAGGERLOCATIONS, list("Disposals", "Circuitry", "Toxins", "Dormitories", "Virology", "Xenobiology", "Law Office","Detective's Office")) -GLOBAL_LIST_INIT(station_prefixes, world.file2list("strings/station_prefixes.txt") + "") +GLOBAL_LIST_INIT(station_prefixes, world.file2list("GainStation13/strings/station_prefixes.txt") + "") //GS13 Edit: Our Names -GLOBAL_LIST_INIT(station_names, world.file2list("strings/station_names.txt" + "")) +GLOBAL_LIST_INIT(station_names, world.file2list("GainStation13/strings/station_names.txt" + "")) //GS13 Edit: Our names -GLOBAL_LIST_INIT(station_suffixes, world.file2list("strings/station_suffixes.txt")) +GLOBAL_LIST_INIT(station_suffixes, world.file2list("GainStation13/strings/station_suffixes.txt")) //GS13 Edit: Our names GLOBAL_LIST_INIT(server_taglines, world.file2list("[global.config.directory]/server_taglines.txt")) @@ -361,4 +361,4 @@ GLOBAL_LIST_INIT(bodypart_names, list(num2text(HEAD) = "Head", num2text(CHEST) = // list linking bodypart names back to the bitflags GLOBAL_LIST_INIT(bodypart_values, list("Head" = num2text(HEAD), "Chest" = num2text(CHEST), "Left Leg" = num2text(LEG_LEFT), "Right Leg" = num2text(LEG_RIGHT), "Left Arm" = num2text(ARM_LEFT), "Right Arm" = num2text(ARM_RIGHT))) -GLOBAL_LIST_INIT(junkmail_messages, world.file2list("strings/junkmail.txt")) +GLOBAL_LIST_INIT(junkmail_messages, world.file2list("GainStation13/strings/junkmail.txt")) //GS Edit: Nanotrasen to GATO diff --git a/code/_globalvars/lists/names.dm b/code/_globalvars/lists/names.dm index 1148e92dd5..aaa1fc9759 100644 --- a/code/_globalvars/lists/names.dm +++ b/code/_globalvars/lists/names.dm @@ -29,7 +29,7 @@ GLOBAL_LIST_INIT(verbs, world.file2list("strings/names/verbs.txt")) GLOBAL_LIST_INIT(ing_verbs, world.file2list("strings/names/ing_verbs.txt")) GLOBAL_LIST_INIT(adverbs, world.file2list("strings/names/adverbs.txt")) GLOBAL_LIST_INIT(adjectives, world.file2list("strings/names/adjectives.txt")) -GLOBAL_LIST_INIT(dream_strings, world.file2list("strings/dreamstrings.txt")) +GLOBAL_LIST_INIT(dream_strings, world.file2list("GainStation13/strings/dreamstrings.txt")) //GS13 Edit: Nanotrasen to Gato... And our own additions //loaded on startup because of " //would include in rsc if ' was used diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm index b8f5c68dee..af28f2edf3 100644 --- a/code/controllers/subsystem/job.dm +++ b/code/controllers/subsystem/job.dm @@ -464,7 +464,10 @@ SUBSYSTEM_DEF(job) else handle_auto_deadmin_roles(M.client, rank) - to_chat(M, "You are the [rank].") + var/display_rank = rank + if(M.client && M.client.prefs && M.client?.prefs?.alt_titles_preferences[rank]) + display_rank = M.client?.prefs?.alt_titles_preferences[rank] + to_chat(M, "You are the [display_rank].") if(job) to_chat(M, "As the [rank] you answer directly to [job.supervisors]. Special circumstances may change this.") job.radio_help_message(M) diff --git a/code/controllers/subsystem/processing/quirks.dm b/code/controllers/subsystem/processing/quirks.dm index b8c303db96..f448e9dc7a 100644 --- a/code/controllers/subsystem/processing/quirks.dm +++ b/code/controllers/subsystem/processing/quirks.dm @@ -17,7 +17,7 @@ PROCESSING_SUBSYSTEM_DEF(quirks) /datum/controller/subsystem/processing/quirks/Initialize(timeofday) if(!quirks.len) SetupQuirks() - quirk_blacklist = list(list("Blind","Nearsighted"),list("Jolly","Depression","Apathetic"),list("Ageusia","Deviant Tastes"),list("Ananas Affinity","Ananas Aversion"),list("Alcohol Tolerance","Alcohol Intolerance"),list("Alcohol Intolerance","Drunken Resilience"), list("Weak Legs", "Strong Legs"), list("Fat Affinity","Fat Aversion")) //GS13 EDIT + quirk_blacklist = list(list("Blind","Nearsighted"),list("Jolly","Depression","Apathetic"),list("Ageusia", "Vegetarian", "Deviant Tastes"),list("Ananas Affinity","Ananas Aversion"),list("Alcohol Tolerance","Alcohol Intolerance"),list("Alcohol Intolerance","Drunken Resilience"), list("Weak Legs", "Strong Legs"), list("Fat Affinity","Fat Aversion")) //GS13 EDIT return ..() /datum/controller/subsystem/processing/quirks/proc/SetupQuirks() diff --git a/code/datums/brain_damage/split_personality.dm b/code/datums/brain_damage/split_personality.dm index 3dbdf1f3ac..b1a02decf8 100644 --- a/code/datums/brain_damage/split_personality.dm +++ b/code/datums/brain_damage/split_personality.dm @@ -163,12 +163,14 @@ if(_codeword) codeword = _codeword else - codeword = pick(strings("ion_laws.json", "ionabstract")\ - | strings("ion_laws.json", "ionobjects")\ - | strings("ion_laws.json", "ionadjectives")\ - | strings("ion_laws.json", "ionthreats")\ - | strings("ion_laws.json", "ionfood")\ - | strings("ion_laws.json", "iondrinks")) + //GS13 Start: We're using our file + codeword = pick(strings("ion_laws_gs.json", "ionabstract")\ + | strings("ion_laws_gs.json", "ionobjects")\ + | strings("ion_laws_gs.json", "ionadjectives")\ + | strings("ion_laws_gs.json", "ionthreats")\ + | strings("ion_laws_gs.json", "ionfood")\ + | strings("ion_laws_gs.json", "iondrinks")) + //GS13 End /datum/brain_trauma/severe/split_personality/brainwashing/on_gain() ..() diff --git a/code/datums/components/storage/concrete/rped.dm b/code/datums/components/storage/concrete/rped.dm index 47549be565..70298d4e25 100644 --- a/code/datums/components/storage/concrete/rped.dm +++ b/code/datums/components/storage/concrete/rped.dm @@ -1,3 +1,5 @@ +#define MAX_STACK_PICKUP 30 + /datum/component/storage/concrete/rped collection_mode = COLLECT_EVERYTHING allow_quick_gather = TRUE @@ -9,13 +11,61 @@ max_items = 100 display_numerical_stacking = TRUE + var/static/list/allowed_material_types = list( + /obj/item/stack/sheet/glass, + /obj/item/stack/sheet/plasteel, + /obj/item/stack/cable_coil, + ) + + var/static/list/allowed_bluespace_types = list( + /obj/item/stack/ore/bluespace_crystal, + /obj/item/stack/sheet/bluespace_crystal, + ) + /datum/component/storage/concrete/rped/can_be_inserted(obj/item/I, stop_messages, mob/M) . = ..() - if(!I.get_part_rating()) - if (!stop_messages) - to_chat(M, "[parent] only accepts machine parts!") + if(!.) + return . + + //we check how much of glass,plasteel & cable the user can insert + if(isstack(I)) + //user tried to insert invalid stacktype + if(!is_type_in_list(I, allowed_material_types) && !is_type_in_list(I, allowed_bluespace_types)) + return FALSE + + var/obj/item/stack/the_stack = I + var/present_amount = 0 + + //we try to count & limit how much the user can insert of each type to prevent them from using it as an normal storage medium + for(var/obj/item/stack/stack_content in parent) + //is user trying to insert any of these listed bluespace stuff + if(is_type_in_list(I, allowed_bluespace_types)) + //if yes count total bluespace stuff is the RPED and then compare the total amount to the value the user is trying to insert + if(is_type_in_list(stack_content, allowed_bluespace_types)) + present_amount += stack_content.amount + //count other normal stack stuff + else if(istype(I,stack_content.type)) + present_amount = stack_content.amount + break + + //no more storage for this specific stack type + if(MAX_STACK_PICKUP - present_amount == 0) + return FALSE + + //we want the user to insert the exact stack amount which is available so we dont have to bother subtracting & leaving left overs for the user + var/available = MAX_STACK_PICKUP-present_amount + if(available - the_stack.amount < 0) + return FALSE + + else if(istype(I, /obj/item/circuitboard/machine) || istype(I, /obj/item/circuitboard/computer)) + return TRUE + + //check normal insertion of other stock parts + else if(!I.get_part_rating()) return FALSE + return . + /datum/component/storage/concrete/rped/quick_empty(mob/M) var/atom/A = parent if(!M.canUseStorage() || !A.Adjacent(M) || M.incapacitated()) @@ -52,13 +102,60 @@ max_items = 350 display_numerical_stacking = TRUE + var/static/list/allowed_material_types = list( + /obj/item/stack/sheet/glass, + /obj/item/stack/sheet/plasteel, + /obj/item/stack/cable_coil, + ) + + var/static/list/allowed_bluespace_types = list( + /obj/item/stack/ore/bluespace_crystal, + /obj/item/stack/sheet/bluespace_crystal, + ) + /datum/component/storage/concrete/bluespace/rped/can_be_inserted(obj/item/I, stop_messages, mob/M) . = ..() - if(!I.get_part_rating()) - if (!stop_messages) - to_chat(M, "[parent] only accepts machine parts!") + if(!.) + return . + + //we check how much of glass,plasteel & cable the user can insert + if(isstack(I)) + //user tried to insert invalid stacktype + if(!is_type_in_list(I, allowed_material_types) && !is_type_in_list(I, allowed_bluespace_types)) + return FALSE + + var/obj/item/stack/the_stack = I + var/present_amount = 0 + + //we try to count & limit how much the user can insert of each type to prevent them from using it as an normal storage medium + for(var/obj/item/stack/stack_content in parent) + //is user trying to insert any of these listed bluespace stuff + if(is_type_in_list(I, allowed_bluespace_types)) + //if yes count total bluespace stuff is the RPED and then compare the total amount to the value the user is trying to insert + if(is_type_in_list(stack_content, allowed_bluespace_types)) + present_amount += stack_content.amount + //count other normal stack stuff + else if(istype(I,stack_content.type)) + present_amount = stack_content.amount + break + + //no more storage for this specific stack type + if(MAX_STACK_PICKUP - present_amount == 0) + return FALSE + + //we want the user to insert the exact stack amount which is available so we dont have to bother subtracting & leaving left overs for the user + var/available = MAX_STACK_PICKUP-present_amount + if(available - the_stack.amount < 0) + return FALSE + + else if(istype(I, /obj/item/circuitboard/machine) || istype(I, /obj/item/circuitboard/computer)) + return TRUE + + //check normal insertion of other stock parts + else if(!I.get_part_rating()) return FALSE + return . /datum/component/storage/concrete/bluespace/rped/quick_empty(mob/M) var/atom/A = parent @@ -85,3 +182,5 @@ stoplag(1) progress.end_progress() A.do_squish(0.8, 1.2) + +#undef MAX_STACK_PICKUP diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index 8195666783..bb0f786fc5 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -138,12 +138,18 @@ var/static/list/show_directions = list(SOUTH, WEST) if(H.mind && (H.mind.assigned_role != H.mind.special_role)) var/assignment + var/displayed_rank if(H.mind.assigned_role) assignment = H.mind.assigned_role else if(H.job) assignment = H.job else assignment = "Unassigned" + if(C && C.prefs && C.prefs.alt_titles_preferences[assignment]) + assignment = C.prefs.alt_titles_preferences[assignment] + + if(assignment) + displayed_rank = C.prefs.alt_titles_preferences[assignment] var/static/record_id_num = 1001 var/id = num2hex(record_id_num++,6) @@ -166,7 +172,7 @@ var/datum/data/record/G = new() G.fields["id"] = id G.fields["name"] = H.real_name - G.fields["rank"] = assignment + G.fields["rank"] = displayed_rank G.fields["age"] = H.age G.fields["species"] = H.dna.species.name G.fields["fingerprint"] = md5(H.dna.uni_identity) @@ -213,7 +219,7 @@ var/datum/data/record/L = new() L.fields["id"] = md5("[H.real_name][H.mind.assigned_role]") //surely this should just be id, like the others? L.fields["name"] = H.real_name - L.fields["rank"] = H.mind.assigned_role + L.fields["rank"] = displayed_rank L.fields["age"] = H.age if(H.gender == MALE) G.fields["gender"] = "Male" diff --git a/code/datums/station_traits/negative_traits.dm b/code/datums/station_traits/negative_traits.dm index 09be52d700..c89f41b16b 100644 --- a/code/datums/station_traits/negative_traits.dm +++ b/code/datums/station_traits/negative_traits.dm @@ -284,4 +284,4 @@ weight = 2 event_control_path = /datum/round_event_control/radiation_storm weight_multiplier = 1.5 - max_occurrences_modifier = 2 + max_occurrences_modifier = 0 //GS13 - radstorm bad diff --git a/code/datums/weather/weather_types/radiation_storm.dm b/code/datums/weather/weather_types/radiation_storm.dm index ed02cd2f25..1d660c786c 100644 --- a/code/datums/weather/weather_types/radiation_storm.dm +++ b/code/datums/weather/weather_types/radiation_storm.dm @@ -18,7 +18,7 @@ area_type = /area protected_areas = list(/area/maintenance, /area/ai_monitored/turret_protected/ai_upload, /area/ai_monitored/turret_protected/ai_upload_foyer, - /area/ai_monitored/turret_protected/ai, /area/commons/storage/emergency/starboard, /area/commons/storage/emergency/port, /area/shuttle, /area/ruin/lavaland) + /area/ai_monitored/turret_protected/ai, /area/commons/storage/emergency/starboard, /area/commons/storage/emergency/port, /area/shuttle, /area/ruin/lavaland, /area/commons/dorms, /area/service/bar) //GS13 Edit: Dorms and bar are safe... target_trait = ZTRAIT_STATION immunity_type = TRAIT_RADSTORM_IMMUNE diff --git a/code/game/machinery/announcement_system.dm b/code/game/machinery/announcement_system.dm index d06366c021..1919d424ee 100644 --- a/code/game/machinery/announcement_system.dm +++ b/code/game/machinery/announcement_system.dm @@ -17,9 +17,9 @@ GLOBAL_LIST_EMPTY(announcement_systems) circuit = /obj/item/circuitboard/machine/announcement_system var/obj/item/radio/headset/radio - var/arrival = "%PERSON has signed up as %RANK" + var/arrival = "%PERSON has signed up as %DISP_RANK (%RANK)" var/arrivalToggle = TRUE - var/newhead = "%PERSON, %RANK, is the department head." + var/newhead = "%PERSON, %DISP_RANK (%RANK), is the department head." var/newheadToggle = TRUE var/cryostorage = "%PERSON, %RANK, has been moved into cryogenic storage." // this shouldnt be changed @@ -70,23 +70,24 @@ GLOBAL_LIST_EMPTY(announcement_systems) else return ..() -/obj/machinery/announcement_system/proc/CompileText(str, user, rank) //replaces user-given variables with actual thingies. +/obj/machinery/announcement_system/proc/CompileText(str, user, rank, displayed_rank) //replaces user-given variables with actual thingies. str = replacetext(str, "%PERSON", "[user]") str = replacetext(str, "%RANK", "[rank]") + str = replacetext(str, "%DISP_RANK", "[displayed_rank]") return str -/obj/machinery/announcement_system/proc/announce(message_type, user, rank, list/channels) +/obj/machinery/announcement_system/proc/announce(message_type, user, rank, displayed_rank, list/channels) if(!is_operational()) return var/message if(message_type == "ARRIVAL" && arrivalToggle) - message = CompileText(arrival, user, rank) + message = CompileText(arrival, user, rank, displayed_rank) else if(message_type == "NEWHEAD" && newheadToggle) - message = CompileText(newhead, user, rank) + message = CompileText(newhead, user, rank, displayed_rank) else if(message_type == "CRYOSTORAGE") - message = CompileText(cryostorage, user, rank) + message = CompileText(cryostorage, user, rank, displayed_rank) else if(message_type == "ARRIVALS_BROKEN") message = "The arrivals shuttle has been damaged. Docking for repairs..." diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index b8ab7ef2cc..8b6ac964d0 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -43,7 +43,7 @@ /obj/machinery/door/airlock name = "airlock" - icon = 'GainStation13/icons/obj/doors/airlocks/station/public.dmi' //GS13 change (perspective sprites) + icon = 'GainStation13/icons/obj/doors/airlocks/station/public.dmi' //GS13 Edit: perspective sprites icon_state = "closed" max_integrity = 300 var/normal_integrity = AIRLOCK_INTEGRITY_N @@ -87,8 +87,10 @@ var/previous_airlock = /obj/structure/door_assembly //what airlock assembly mineral plating was applied to var/wiretypepath = /datum/wires/airlock // which set of per round randomized wires this airlock type has. var/airlock_material //material of inner filling; if its an airlock with glass, this should be set to "glass" + //GS13 Edit Start: perspective sprites var/overlays_file = 'GainStation13/icons/obj/doors/airlocks/station/overlays.dmi' var/note_overlay_file = 'GainStation13/icons/obj/doors/airlocks/station/overlays.dmi' //Used for papers and photos pinned to the airlock + //GS13 End var/cyclelinkeddir = 0 var/obj/machinery/door/airlock/cyclelinkedairlock @@ -611,22 +613,22 @@ /obj/machinery/door/airlock/proc/check_unres() //unrestricted sides. This overlay indicates which directions the player can access even without an ID if(hasPower() && unres_sides) if(unres_sides & NORTH) - var/image/I = image(icon='GainStation13/icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_n") //layer=src.layer+1 + var/image/I = image(icon='GainStation13/icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_n") //layer=src.layer+1 //GS13 Edit: perspective sprites I.pixel_y = 32 set_light(l_range = 2, l_power = 1) add_overlay(I) if(unres_sides & SOUTH) - var/image/I = image(icon='GainStation13/icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_s") //layer=src.layer+1 + var/image/I = image(icon='GainStation13/icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_s") //layer=src.layer+1 //GS13 Edit: perspective sprites I.pixel_y = -32 set_light(l_range = 2, l_power = 1) add_overlay(I) if(unres_sides & EAST) - var/image/I = image(icon='GainStation13/icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_e") //layer=src.layer+1 + var/image/I = image(icon='GainStation13/icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_e") //layer=src.layer+1 //GS13 Edit: perspective sprites I.pixel_x = 32 set_light(l_range = 2, l_power = 1) add_overlay(I) if(unres_sides & WEST) - var/image/I = image(icon='GainStation13/icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_w") //layer=src.layer+1 + var/image/I = image(icon='GainStation13/icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_w") //layer=src.layer+1 //GS13 Edit: perspective sprites I.pixel_x = -32 set_light(l_range = 2, l_power = 1) add_overlay(I) diff --git a/code/game/machinery/doors/airlock_types.dm b/code/game/machinery/doors/airlock_types.dm index 0822108a0f..2222ea5cf1 100644 --- a/code/game/machinery/doors/airlock_types.dm +++ b/code/game/machinery/doors/airlock_types.dm @@ -2,25 +2,23 @@ Station Airlocks Regular */ -//GS13 - changed most of these airlock sprite paths to use perspective-oriented airlocks - /obj/machinery/door/airlock/abandoned abandoned = TRUE /obj/machinery/door/airlock/command - icon = 'GainStation13/icons/obj/doors/airlocks/station/command.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/station/command.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_com wiretypepath = /datum/wires/airlock/command normal_integrity = 450 /obj/machinery/door/airlock/security - icon = 'GainStation13/icons/obj/doors/airlocks/station/security.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/station/security.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_sec wiretypepath = /datum/wires/airlock/security normal_integrity = 450 /obj/machinery/door/airlock/engineering - icon = 'GainStation13/icons/obj/doors/airlocks/station/engineering.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/station/engineering.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_eng wiretypepath = /datum/wires/airlock/engineering @@ -28,13 +26,13 @@ abandoned = TRUE /obj/machinery/door/airlock/medical - icon = 'GainStation13/icons/obj/doors/airlocks/station/medical.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/station/medical.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_med wiretypepath = /datum/wires/airlock/medical /obj/machinery/door/airlock/maintenance name = "maintenance access" - icon = 'GainStation13/icons/obj/doors/airlocks/station/maintenance.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/station/maintenance.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_mai normal_integrity = 250 @@ -43,18 +41,18 @@ /obj/machinery/door/airlock/maintenance/external name = "external airlock access" - icon = 'GainStation13/icons/obj/doors/airlocks/station/maintenanceexternal.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/station/maintenanceexternal.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_extmai /obj/machinery/door/airlock/mining name = "mining airlock" - icon = 'GainStation13/icons/obj/doors/airlocks/station/mining.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/station/mining.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_min wiretypepath = /datum/wires/airlock/cargo /obj/machinery/door/airlock/atmos name = "atmospherics airlock" - icon = 'GainStation13/icons/obj/doors/airlocks/station/atmos.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/station/atmos.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_atmo wiretypepath = /datum/wires/airlock/engineering @@ -62,22 +60,22 @@ abandoned = TRUE /obj/machinery/door/airlock/research - icon = 'GainStation13/icons/obj/doors/airlocks/station/research.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/station/research.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_research wiretypepath = /datum/wires/airlock/science /obj/machinery/door/airlock/freezer name = "freezer airlock" - icon = 'GainStation13/icons/obj/doors/airlocks/station/freezer.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/station/freezer.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_fre /obj/machinery/door/airlock/science - icon = 'GainStation13/icons/obj/doors/airlocks/station/science.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/station/science.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_science wiretypepath = /datum/wires/airlock/science /obj/machinery/door/airlock/virology - icon = 'GainStation13/icons/obj/doors/airlocks/station/virology.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/station/virology.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_viro wiretypepath = /datum/wires/airlock/medical @@ -181,7 +179,7 @@ /obj/machinery/door/airlock/gold name = "gold airlock" - icon = 'GainStation13/icons/obj/doors/airlocks/station/gold.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/station/gold.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_gold /obj/machinery/door/airlock/gold/glass @@ -190,7 +188,7 @@ /obj/machinery/door/airlock/silver name = "silver airlock" - icon = 'GainStation13/icons/obj/doors/airlocks/station/silver.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/station/silver.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_silver /obj/machinery/door/airlock/silver/glass @@ -199,7 +197,7 @@ /obj/machinery/door/airlock/diamond name = "diamond airlock" - icon = 'GainStation13/icons/obj/doors/airlocks/station/diamond.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/station/diamond.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_diamond normal_integrity = 1000 explosion_block = 2 @@ -211,7 +209,7 @@ /obj/machinery/door/airlock/uranium name = "uranium airlock" - icon = 'GainStation13/icons/obj/doors/airlocks/station/uranium.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/station/uranium.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_uranium var/last_event = 0 @@ -233,7 +231,7 @@ /obj/machinery/door/airlock/plasma name = "plasma airlock" desc = "No way this can end badly." - icon = 'GainStation13/icons/obj/doors/airlocks/station/plasma.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/station/plasma.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_plasma /obj/machinery/door/airlock/plasma/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) @@ -274,7 +272,7 @@ /obj/machinery/door/airlock/bananium name = "bananium airlock" desc = "Honkhonkhonk" - icon = 'GainStation13/icons/obj/doors/airlocks/station/bananium.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/station/bananium.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_bananium doorOpen = 'sound/items/bikehorn.ogg' @@ -284,7 +282,7 @@ /obj/machinery/door/airlock/sandstone name = "sandstone airlock" - icon = 'GainStation13/icons/obj/doors/airlocks/station/sandstone.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/station/sandstone.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_sandstone /obj/machinery/door/airlock/sandstone/glass @@ -293,7 +291,7 @@ /obj/machinery/door/airlock/wood name = "wooden airlock" - icon = 'GainStation13/icons/obj/doors/airlocks/station/wood.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/station/wood.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_wood /obj/machinery/door/airlock/wood/glass @@ -303,8 +301,8 @@ /obj/machinery/door/airlock/titanium name = "shuttle airlock" assemblytype = /obj/structure/door_assembly/door_assembly_titanium - icon = 'GainStation13/icons/obj/doors/airlocks/shuttle/shuttle.dmi' - overlays_file = 'GainStation13/icons/obj/doors/airlocks/shuttle/overlays.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/shuttle/shuttle.dmi' //GS13 Edit: perspective sprites + overlays_file = 'GainStation13/icons/obj/doors/airlocks/shuttle/overlays.dmi' //GS13 Edit: perspective sprites normal_integrity = 400 /obj/machinery/door/airlock/titanium/glass @@ -314,8 +312,8 @@ /obj/machinery/door/airlock/bronze name = "bronze airlock" - icon = 'GainStation13/icons/obj/doors/airlocks/clockwork/pinion_airlock.dmi' - overlays_file = 'GainStation13/icons/obj/doors/airlocks/clockwork/overlays.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/clockwork/pinion_airlock.dmi' //GS13 Edit: perspective sprites + overlays_file = 'GainStation13/icons/obj/doors/airlocks/clockwork/overlays.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_bronze /obj/machinery/door/airlock/bronze/seethru @@ -329,8 +327,8 @@ */ /obj/machinery/door/airlock/public - icon = 'GainStation13/icons/obj/doors/airlocks/station2/glass.dmi' - overlays_file = 'GainStation13/icons/obj/doors/airlocks/station2/overlays.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/station2/glass.dmi' //GS13 Edit: perspective sprites + overlays_file = 'GainStation13/icons/obj/doors/airlocks/station2/overlays.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_public /obj/machinery/door/airlock/public/glass @@ -358,9 +356,9 @@ /obj/machinery/door/airlock/external name = "external airlock" - icon = 'GainStation13/icons/obj/doors/airlocks/external/external.dmi' - overlays_file = 'GainStation13/icons/obj/doors/airlocks/external/overlays.dmi' - note_overlay_file = 'GainStation13/icons/obj/doors/airlocks/external/overlays.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/external/external.dmi' //GS13 Edit: perspective sprites + overlays_file = 'GainStation13/icons/obj/doors/airlocks/external/overlays.dmi' //GS13 Edit: perspective sprites + note_overlay_file = 'GainStation13/icons/obj/doors/airlocks/external/overlays.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_ext /obj/machinery/door/airlock/external/glass @@ -373,16 +371,16 @@ */ /obj/machinery/door/airlock/centcom //Use grunge as a station side version, as these have special effects related to them via phobias and such. - icon = 'GainStation13/icons/obj/doors/airlocks/centcom/centcom.dmi' - overlays_file = 'GainStation13/icons/obj/doors/airlocks/centcom/overlays.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/centcom/centcom.dmi' //GS13 Edit: perspective sprites + overlays_file = 'GainStation13/icons/obj/doors/airlocks/centcom/overlays.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_centcom normal_integrity = 1000 security_level = 6 explosion_block = 2 /obj/machinery/door/airlock/grunge - icon = 'GainStation13/icons/obj/doors/airlocks/centcom/centcom.dmi' - overlays_file = 'GainStation13/icons/obj/doors/airlocks/centcom/overlays.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/centcom/centcom.dmi' //GS13 Edit: perspective sprites + overlays_file = 'GainStation13/icons/obj/doors/airlocks/centcom/overlays.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_grunge /obj/machinery/door/airlock/grunge/abandoned @@ -395,8 +393,8 @@ /obj/machinery/door/airlock/vault name = "vault door" - icon = 'GainStation13/icons/obj/doors/airlocks/vault/vault.dmi' - overlays_file = 'GainStation13/icons/obj/doors/airlocks/vault/overlays.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/vault/vault.dmi' //GS13 Edit: perspective sprites + overlays_file = 'GainStation13/icons/obj/doors/airlocks/vault/overlays.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_vault wiretypepath = /datum/wires/airlock/secure explosion_block = 2 @@ -410,16 +408,16 @@ /obj/machinery/door/airlock/hatch name = "airtight hatch" - icon = 'GainStation13/icons/obj/doors/airlocks/hatch/centcom.dmi' - overlays_file = 'GainStation13/icons/obj/doors/airlocks/hatch/overlays.dmi' - note_overlay_file = 'GainStation13/icons/obj/doors/airlocks/hatch/overlays.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/hatch/centcom.dmi' //GS13 Edit: perspective sprites + overlays_file = 'GainStation13/icons/obj/doors/airlocks/hatch/overlays.dmi' //GS13 Edit: perspective sprites + note_overlay_file = 'GainStation13/icons/obj/doors/airlocks/hatch/overlays.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_hatch /obj/machinery/door/airlock/maintenance_hatch name = "maintenance hatch" - icon = 'GainStation13/icons/obj/doors/airlocks/hatch/maintenance.dmi' - overlays_file = 'GainStation13/icons/obj/doors/airlocks/hatch/overlays.dmi' - note_overlay_file = 'GainStation13/icons/obj/doors/airlocks/hatch/overlays.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/hatch/maintenance.dmi' //GS13 Edit: perspective sprites + overlays_file = 'GainStation13/icons/obj/doors/airlocks/hatch/overlays.dmi' //GS13 Edit: perspective sprites + note_overlay_file = 'GainStation13/icons/obj/doors/airlocks/hatch/overlays.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_mhatch /obj/machinery/door/airlock/maintenance_hatch/abandoned @@ -432,8 +430,8 @@ /obj/machinery/door/airlock/highsecurity name = "high tech security airlock" - icon = 'GainStation13/icons/obj/doors/airlocks/highsec/highsec.dmi' - overlays_file = 'GainStation13/icons/obj/doors/airlocks/highsec/overlays.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/highsec/highsec.dmi' //GS13 Edit: perspective sprites + overlays_file = 'GainStation13/icons/obj/doors/airlocks/highsec/overlays.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_highsecurity explosion_block = 2 normal_integrity = 500 @@ -447,8 +445,8 @@ /obj/machinery/door/airlock/shuttle name = "shuttle airlock" - icon = 'GainStation13/icons/obj/doors/airlocks/shuttle/shuttle.dmi' - overlays_file = 'GainStation13/icons/obj/doors/airlocks/shuttle/overlays.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/shuttle/shuttle.dmi' //GS13 Edit: perspective sprites + overlays_file = 'GainStation13/icons/obj/doors/airlocks/shuttle/overlays.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_shuttle /obj/machinery/door/airlock/shuttle/glass @@ -458,10 +456,10 @@ /obj/machinery/door/airlock/abductor name = "alien airlock" desc = "With humanity's current technological level, it could take years to hack this advanced airlock... or maybe we should give a screwdriver a try?" - icon = 'GainStation13/icons/obj/doors/airlocks/abductor/abductor_airlock.dmi' - overlays_file = 'GainStation13/icons/obj/doors/airlocks/abductor/overlays.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/abductor/abductor_airlock.dmi' //GS13 Edit: perspective sprites + overlays_file = 'GainStation13/icons/obj/doors/airlocks/abductor/overlays.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_abductor - note_overlay_file = 'GainStation13/icons/obj/doors/airlocks/external/overlays.dmi' + note_overlay_file = 'GainStation13/icons/obj/doors/airlocks/external/overlays.dmi' //GS13 Edit: perspective sprites damage_deflection = 30 explosion_block = 3 hackProof = TRUE @@ -476,8 +474,8 @@ /obj/machinery/door/airlock/cult name = "cult airlock" - icon = 'GainStation13/icons/obj/doors/airlocks/cult/runed/cult.dmi' - overlays_file = 'GainStation13/icons/obj/doors/airlocks/cult/runed/overlays.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/cult/runed/cult.dmi' //GS13 Edit: perspective sprites + overlays_file = 'GainStation13/icons/obj/doors/airlocks/cult/runed/overlays.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_cult hackProof = TRUE aiControlDisabled = 1 @@ -526,8 +524,8 @@ return FALSE /obj/machinery/door/airlock/cult/proc/conceal() - icon = 'GainStation13/icons/obj/doors/airlocks/station/maintenance.dmi' - overlays_file = 'GainStation13/icons/obj/doors/airlocks/station/overlays.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/station/maintenance.dmi' //GS13 Edit: perspective sprites + overlays_file = 'GainStation13/icons/obj/doors/airlocks/station/overlays.dmi' //GS13 Edit: perspective sprites name = "airlock" desc = "It opens and closes." stealthy = TRUE @@ -558,8 +556,8 @@ friendly = TRUE /obj/machinery/door/airlock/cult/unruned - icon = 'GainStation13/icons/obj/doors/airlocks/cult/unruned/cult.dmi' - overlays_file = 'GainStation13/icons/obj/doors/airlocks/cult/unruned/overlays.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/cult/unruned/cult.dmi' //GS13 Edit: perspective sprites + overlays_file = 'GainStation13/icons/obj/doors/airlocks/cult/unruned/overlays.dmi' //GS13 Edit: perspective sprites assemblytype = /obj/structure/door_assembly/door_assembly_cult/unruned openingoverlaytype = /obj/effect/temp_visual/cult/door/unruned @@ -701,8 +699,8 @@ /obj/machinery/door/airlock/glass_large name = "large glass airlock" - icon = 'GainStation13/icons/obj/doors/airlocks/glass_large/glass_large.dmi' - overlays_file = 'GainStation13/icons/obj/doors/airlocks/glass_large/overlays.dmi' + icon = 'GainStation13/icons/obj/doors/airlocks/glass_large/glass_large.dmi' //GS13 Edit: perspective sprites + overlays_file = 'GainStation13/icons/obj/doors/airlocks/glass_large/overlays.dmi' //GS13 Edit: perspective sprites opacity = 0 assemblytype = null glass = TRUE diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm index 949be30452..9d265e981b 100644 --- a/code/game/machinery/doors/poddoor.dm +++ b/code/game/machinery/doors/poddoor.dm @@ -1,7 +1,7 @@ /obj/machinery/door/poddoor name = "blast door" desc = "A heavy duty blast door that opens mechanically." - icon = 'GainStation13/icons/obj/doors/blastdoor.dmi' //GS13 + icon = 'GainStation13/icons/obj/doors/blastdoor.dmi' //GS13 Edit: perspective sprites icon_state = "closed" var/id = 1 layer = BLASTDOOR_LAYER diff --git a/code/game/machinery/doors/shutters.dm b/code/game/machinery/doors/shutters.dm index 53e761bce8..323fab4cf2 100644 --- a/code/game/machinery/doors/shutters.dm +++ b/code/game/machinery/doors/shutters.dm @@ -2,7 +2,7 @@ gender = PLURAL name = "shutters" desc = "Mechanical metal shutters operated by a button with a magnetic seal, keeping them airtight." - icon = 'GainStation13/icons/obj/doors/shutters.dmi' //GS13 + icon = 'icons/obj/doors/shutters.dmi' layer = SHUTTER_LAYER closingLayer = SHUTTER_LAYER armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 75, BOMB = 25, BIO = 100, RAD = 100, FIRE = 100, ACID = 70) @@ -22,7 +22,7 @@ /obj/machinery/door/poddoor/shutters/old name = "strong shutters" desc = "These shutters have an armoured frame; it looks like plasteel. These shutters look robust enough to survive explosions." - icon = 'GainStation13/icons/obj/doors/shutters_old.dmi' //GS13 + icon = 'icons/obj/doors/shutters_old.dmi' icon_state = "closed" armor = list(MELEE = 30, BULLET = 30, LASER = 30, ENERGY = 75, BOMB = 30, BIO = 100, RAD = 100, FIRE = 100, ACID = 70) max_integrity = 300 @@ -37,7 +37,7 @@ /obj/machinery/door/poddoor/shutters/radiation name = "radiation shutters" desc = "Lead-lined shutters painted yellow with a radioactive hazard symbol on it. Blocks out most radiation" - icon = 'GainStation13/icons/obj/doors/shutters_radiation.dmi' //GS13 + icon = 'icons/obj/doors/shutters_radiation.dmi' icon_state = "closed" rad_insulation = 0.2 @@ -60,7 +60,7 @@ /obj/machinery/door/poddoor/shutters/window name = "windowed shutters" desc = "Mechanical shutters that have some form of plastic window in them, allowing you to see through the shutters at all times." - icon = 'GainStation13/icons/obj/doors/shutters_window.dmi' //GS13 + icon = 'icons/obj/doors/shutters_window.dmi' icon_state = "closed" opacity = 0 glass = 1 diff --git a/code/game/objects/effects/decals/cleanable/misc.dm b/code/game/objects/effects/decals/cleanable/misc.dm index 933ca0b1f8..4010ceea23 100644 --- a/code/game/objects/effects/decals/cleanable/misc.dm +++ b/code/game/objects/effects/decals/cleanable/misc.dm @@ -277,24 +277,26 @@ icon_state = "salt_pile" gender = NEUTER -/obj/effect/decal/cleanable/glitter //GS13 - changed glitters to more subtle variants +/obj/effect/decal/cleanable/glitter name = "generic glitter pile" desc = "The herpes of arts and crafts." - icon = 'GainStation13/icons/effects/atmospherics.dmi' - icon_state = "glitter" + icon = 'icons/effects/atmospherics.dmi' gender = NEUTER mergeable_decal = TRUE persistent = FALSE /obj/effect/decal/cleanable/glitter/pink name = "pink glitter" + icon_state = "plasma_old" color = "#9e0089" /obj/effect/decal/cleanable/glitter/white name = "white glitter" + icon_state = "nitrous_oxide_old" /obj/effect/decal/cleanable/glitter/blue name = "blue glitter" + icon_state = "freon_old" color = "#2dd6ff" /obj/effect/decal/cleanable/plasma diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm index 868adf97f2..129e1cb8be 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -38,6 +38,7 @@ RLD var/ammo_sections = 10 //amount of divisions in the ammo indicator overlay/number of ammo indicator states var/custom_range = 7 var/upgrade = FALSE + var/airlock_dir = 1 //GS13 - airlock direction function /obj/item/construction/Initialize(mapload) . = ..() @@ -283,6 +284,23 @@ RLD //Not scaling these down to button size because they look horrible then, instead just bumping up radius. return MA + +/obj/item/construction/rcd/proc/change_airlock_direction(mob/user) //GS13 - change airlock direction + if(!user) + return + var/list/airlock_dirs = list( + "North/South" = image(icon = 'icons/mob/radial.dmi', icon_state = "airlocknorthsouth"), + "East/West" = image(icon = 'icons/mob/radial.dmi', icon_state = "airlockeastwest") + ) + var/airlockdirs = show_radial_menu(user, src, airlock_dirs, custom_check = CALLBACK(src,PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) + if(!check_menu(user)) + return + switch(airlockdirs) + if("North/South") + airlock_dir = 1 + if("East/West") + airlock_dir = 4 + /obj/item/construction/rcd/proc/change_computer_dir(mob/user) if(!user) return @@ -488,6 +506,7 @@ RLD if(mode == RCD_AIRLOCK) choices += list( "Change Access" = image(icon = 'icons/mob/radial.dmi', icon_state = "access"), + "Change Direction" = image(icon = 'GainStation13/icons/mob/radial.dmi', icon_state = "airlockrotation"), //GS13 - adding airlock rotation "Change Airlock Type" = image(icon = 'icons/mob/radial.dmi', icon_state = "airlocktype") ) else if(mode == RCD_WINDOWGRILLE) @@ -515,6 +534,9 @@ RLD if("Change Access") change_airlock_access(user) return + if("Change Direction") //GS13 - adding airlock direction in RCD + change_airlock_direction(user) + return if("Change Airlock Type") change_airlock_setting(user) return diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 0c4f4a5bc1..291b9e21d4 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -73,7 +73,7 @@ GENETICS SCANNER /obj/item/healthanalyzer name = "health analyzer" - icon = 'icons/obj/device.dmi' + icon = 'GainStation13/icons/obj/device.dmi' //GS13 - better sprite icon_state = "health" item_state = "healthanalyzer" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' @@ -407,6 +407,13 @@ GENETICS SCANNER msg += "Base Species: [H.spec_trait_examine_font()][S.name]\n" if(mutant) msg += "Subject has mutations present.\n" + + //GS13 EDIT START + if(H.fatness) + msg += span_info("Subject weighs [H.calculate_weight_in_pounds()] pounds ([H.fatness] BFI.)") + msg += "\n" + + //GS13 EEDIT END msg += "Body temperature: [round(M.bodytemperature-T0C,0.1)] °C ([round(M.bodytemperature*1.8-459.67,0.1)] °F)\n" // Time of death @@ -538,6 +545,7 @@ GENETICS SCANNER /obj/item/healthanalyzer/advanced name = "advanced health analyzer" + icon = 'GainStation13/icons/obj/device.dmi' //GS13 - better sprite icon_state = "health_adv" desc = "A hand-held body scanner able to distinguish vital signs of the subject with high accuracy." advanced = TRUE diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index 8842e7d68d..de9d3cca68 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -388,7 +388,7 @@ name = "bluespace tray" icon_state = "bluespace_tray" desc = "A tray created using bluespace technology to fit more food on it." - max_items = 30 // far more items + max_items = 100 //GS13 - we loooove our mountains of food here custom_materials = list(/datum/material/iron = 2000, /datum/material/bluespace = 500) /* diff --git a/code/game/objects/structures/barsigns.dm b/code/game/objects/structures/barsigns.dm index 4e06628d51..0740f09d1d 100644 --- a/code/game/objects/structures/barsigns.dm +++ b/code/game/objects/structures/barsigns.dm @@ -291,11 +291,6 @@ icon = "thehive" desc = "Comb in for some sweet drinks! Not known for serving any sappy drink." -/datum/barsign/the_busted_belt //gs13 - name = "The Busted Belt" - icon = "thebustedbelt" - desc = "GATO is not liable for any pieces of broken wardrobe." //GS13 - Nanotrasen to GATO - /datum/barsign/hiddensigns hidden = TRUE diff --git a/code/game/objects/structures/beds_chairs/chair.dm b/code/game/objects/structures/beds_chairs/chair.dm index 5710a17c86..6a5d1e11c2 100644 --- a/code/game/objects/structures/beds_chairs/chair.dm +++ b/code/game/objects/structures/beds_chairs/chair.dm @@ -160,7 +160,7 @@ buildstacktype = null //Custom mats handle this /obj/structure/chair/wood - icon = 'GainStation13/icons/obj/chairs.dmi' + icon = 'GainStation13/icons/obj/chairs.dmi' //GS13 Edit: Our sprites icon_state = "wooden_chair" name = "wooden chair" desc = "Old is never too old to not be in fashion." @@ -540,7 +540,7 @@ /obj/item/chair/wood name = "wooden chair" - icon = 'GainStation13/icons/obj/chairs.dmi' + icon = 'GainStation13/icons/obj/chairs.dmi' //GS13 Edit: Our sprites icon_state = "wooden_chair_toppled" item_state = "woodenchair" resistance_flags = FLAMMABLE diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm index 289599efb9..f0e7784496 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm @@ -11,7 +11,7 @@ new /obj/item/clothing/under/rank/engineering/chief_engineer/skirt(src) new /obj/item/clothing/head/hardhat/white(src) new /obj/item/clothing/head/hardhat/weldhat/white(src) - new /obj/item/clothing/gloves/color/yellow(src) + new /obj/item/clothing/gloves/color/yellow/ce(src) new /obj/item/tank/jetpack/suit(src) new /obj/item/cartridge/ce(src) new /obj/item/radio/headset/heads/ce(src) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index e8d8e927c9..1fee950cf3 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -660,6 +660,53 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) wave_explosion_block = EXPLOSION_BLOCK_EXTREME wave_explosion_multiply = EXPLOSION_BLOCK_EXTREME glass_type = /obj/item/stack/sheet/plasmarglass + canSmoothWith = list( + /turf/closed/wall, + /turf/closed/wall/r_wall, + /obj/structure/falsewall, + /obj/structure/falsewall/brass, + /obj/structure/falsewall/reinforced, + /turf/closed/wall/rust, + /turf/closed/wall/r_wall/rust, + /turf/closed/wall/clockwork, + /turf/closed/indestructible/riveted/, + /turf/closed/indestructible/riveted/uranium, + /obj/structure/window/fulltile, + /obj/structure/window/reinforced/fulltile, + /obj/structure/window/reinforced/tinted/fulltile, + /obj/machinery/door, + /obj/machinery/door/airlock/, + /obj/machinery/door/airlock/mining, + /obj/machinery/door/airlock/mining/glass, + /obj/machinery/door/airlock/medical, + /obj/machinery/door/airlock/medical/glass, + /obj/machinery/door/airlock/public, + /obj/machinery/door/airlock/public/glass, + /obj/machinery/door/airlock/research, + /obj/machinery/door/airlock/research/glass, + /obj/machinery/door/airlock/maintenance, + /obj/machinery/door/airlock/maintenance/glass, + /obj/machinery/door/airlock/command/, + /obj/machinery/door/airlock/command/glass, + /obj/machinery/door/airlock/engineering, + /obj/machinery/door/airlock/engineering/glass, + /obj/machinery/door/airlock/engineering/abandoned, + /obj/machinery/door/airlock/security, + /obj/machinery/door/airlock/security/glass, + /obj/machinery/door/airlock/maintenance/abandoned, + /obj/machinery/door/poddoor/shutters/preopen, + /obj/machinery/door/poddoor/shutters, + /obj/machinery/door/window/eastright, + /obj/machinery/door/window/eastleft, + /obj/machinery/door/window/northleft, + /obj/machinery/door/window/northright, + /obj/machinery/door/airlock/external, + /obj/machinery/door/airlock, + /obj/machinery/door/airlock/hatch, + /obj/machinery/door/airlock/engineering/glass/critical, + /obj/machinery/door/airlock/atmos, + /obj/machinery/door/airlock/highsecurity,) //GS13 - directional wall sprites will smooth with windows/airlocks + /obj/structure/window/plasma/reinforced/spawner/east dir = EAST @@ -740,7 +787,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) /obj/machinery/door/airlock/hatch, /obj/machinery/door/airlock/engineering/glass/critical, /obj/machinery/door/airlock/atmos, - /obj/machinery/door/airlock/highsecurity,) + /obj/machinery/door/airlock/highsecurity,) //GS13 - directional wall sprites will smooth with windows/airlocks glass_amount = 2 @@ -801,7 +848,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) /obj/machinery/door/airlock/hatch, /obj/machinery/door/airlock/engineering/glass/critical, /obj/machinery/door/airlock/atmos, - /obj/machinery/door/airlock/highsecurity,) + /obj/machinery/door/airlock/highsecurity,) //GS13 - directional wall sprites will smooth with windows/airlocks glass_amount = 2 @@ -817,6 +864,53 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) flags_1 = PREVENT_CLICK_UNDER_1 smooth = SMOOTH_TRUE glass_amount = 2 + canSmoothWith = list( + /turf/closed/wall, + /turf/closed/wall/r_wall, + /obj/structure/falsewall, + /obj/structure/falsewall/brass, + /obj/structure/falsewall/reinforced, + /turf/closed/wall/rust, + /turf/closed/wall/r_wall/rust, + /turf/closed/wall/clockwork, + /turf/closed/indestructible/riveted/, + /turf/closed/indestructible/riveted/uranium, + /obj/structure/window/fulltile, + /obj/structure/window/reinforced/fulltile, + /obj/structure/window/reinforced/tinted/fulltile, + /obj/machinery/door, + /obj/machinery/door/airlock/, + /obj/machinery/door/airlock/mining, + /obj/machinery/door/airlock/mining/glass, + /obj/machinery/door/airlock/medical, + /obj/machinery/door/airlock/medical/glass, + /obj/machinery/door/airlock/public, + /obj/machinery/door/airlock/public/glass, + /obj/machinery/door/airlock/research, + /obj/machinery/door/airlock/research/glass, + /obj/machinery/door/airlock/maintenance, + /obj/machinery/door/airlock/maintenance/glass, + /obj/machinery/door/airlock/command/, + /obj/machinery/door/airlock/command/glass, + /obj/machinery/door/airlock/engineering, + /obj/machinery/door/airlock/engineering/glass, + /obj/machinery/door/airlock/engineering/abandoned, + /obj/machinery/door/airlock/security, + /obj/machinery/door/airlock/security/glass, + /obj/machinery/door/airlock/maintenance/abandoned, + /obj/machinery/door/poddoor/shutters/preopen, + /obj/machinery/door/poddoor/shutters, + /obj/machinery/door/window/eastright, + /obj/machinery/door/window/eastleft, + /obj/machinery/door/window/northleft, + /obj/machinery/door/window/northright, + /obj/machinery/door/airlock/external, + /obj/machinery/door/airlock, + /obj/machinery/door/airlock/hatch, + /obj/machinery/door/airlock/engineering/glass/critical, + /obj/machinery/door/airlock/atmos, + /obj/machinery/door/airlock/highsecurity,) //GS13 - directional wall sprites will smooth with windows/airlocks + /obj/structure/window/plasma/reinforced/fulltile/unanchored anchored = FALSE @@ -875,7 +969,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) /obj/machinery/door/airlock/hatch, /obj/machinery/door/airlock/engineering/glass/critical, /obj/machinery/door/airlock/atmos, - /obj/machinery/door/airlock/highsecurity,) + /obj/machinery/door/airlock/highsecurity,) //GS13 - directional wall sprites will smooth with windows/airlocks level = 3 glass_amount = 2 @@ -1046,6 +1140,52 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) level = 3 glass_type = /obj/item/stack/sheet/plastitaniumglass glass_amount = 2 + canSmoothWith = list( + /turf/closed/wall, + /turf/closed/wall/r_wall, + /obj/structure/falsewall, + /obj/structure/falsewall/brass, + /obj/structure/falsewall/reinforced, + /turf/closed/wall/rust, + /turf/closed/wall/r_wall/rust, + /turf/closed/wall/clockwork, + /turf/closed/indestructible/riveted/, + /turf/closed/indestructible/riveted/uranium, + /obj/structure/window/fulltile, + /obj/structure/window/reinforced/fulltile, + /obj/structure/window/reinforced/tinted/fulltile, + /obj/machinery/door, + /obj/machinery/door/airlock/, + /obj/machinery/door/airlock/mining, + /obj/machinery/door/airlock/mining/glass, + /obj/machinery/door/airlock/medical, + /obj/machinery/door/airlock/medical/glass, + /obj/machinery/door/airlock/public, + /obj/machinery/door/airlock/public/glass, + /obj/machinery/door/airlock/research, + /obj/machinery/door/airlock/research/glass, + /obj/machinery/door/airlock/maintenance, + /obj/machinery/door/airlock/maintenance/glass, + /obj/machinery/door/airlock/command/, + /obj/machinery/door/airlock/command/glass, + /obj/machinery/door/airlock/engineering, + /obj/machinery/door/airlock/engineering/glass, + /obj/machinery/door/airlock/engineering/abandoned, + /obj/machinery/door/airlock/security, + /obj/machinery/door/airlock/security/glass, + /obj/machinery/door/airlock/maintenance/abandoned, + /obj/machinery/door/poddoor/shutters/preopen, + /obj/machinery/door/poddoor/shutters, + /obj/machinery/door/window/eastright, + /obj/machinery/door/window/eastleft, + /obj/machinery/door/window/northleft, + /obj/machinery/door/window/northright, + /obj/machinery/door/airlock/external, + /obj/machinery/door/airlock, + /obj/machinery/door/airlock/hatch, + /obj/machinery/door/airlock/engineering/glass/critical, + /obj/machinery/door/airlock/atmos, + /obj/machinery/door/airlock/highsecurity,) //GS13 - directional wall sprites will smooth with windows/airlocks /obj/structure/window/plastitanium/unanchored anchored = FALSE diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index 31cd734313..d02cf49fc9 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -203,7 +203,10 @@ var/old_icon = icon_regular_floor var/old_dir = dir var/turf/open/floor/W = ..() - W.icon_regular_floor = old_icon + //GS13 EDIT START + if(!(W.type in subtypesof(/turf/open/floor/plasteel))) + W.icon_regular_floor = old_icon + //GS13 EDIT END W.setDir(old_dir) W.update_icon() return W @@ -311,6 +314,7 @@ to_chat(user, "You build an airlock.") var/obj/machinery/door/airlock/A = new the_rcd.airlock_type(src) + A.setDir(the_rcd.airlock_dir) //GS13 - directional airlocks edit A.electronics = new/obj/item/electronics/airlock(A) if(the_rcd.conf_access) diff --git a/code/game/turfs/simulated/wall/misc_walls.dm b/code/game/turfs/simulated/wall/misc_walls.dm index 4ec2fa2357..5edb35f9f0 100644 --- a/code/game/turfs/simulated/wall/misc_walls.dm +++ b/code/game/turfs/simulated/wall/misc_walls.dm @@ -186,7 +186,53 @@ /turf/closed/wall/rust name = "rusted wall" desc = "A rusted metal wall." - icon = 'icons/turf/walls/rusty_wall.dmi' + icon = 'GainStation13/icons/turf/walls/rusty_wall.dmi' //GS13 - perspective walls + canSmoothWith = list( + /turf/closed/wall, + /turf/closed/wall/r_wall, + /obj/structure/falsewall, + /obj/structure/falsewall/brass, + /obj/structure/falsewall/reinforced, + /turf/closed/wall/rust, + /turf/closed/wall/r_wall/rust, + /turf/closed/wall/clockwork, + /turf/closed/indestructible/riveted/, + /turf/closed/indestructible/riveted/uranium, + /obj/structure/window/fulltile, + /obj/structure/window/reinforced/fulltile, + /obj/structure/window/reinforced/tinted/fulltile, + /obj/machinery/door, + /obj/machinery/door/airlock/, + /obj/machinery/door/airlock/mining, + /obj/machinery/door/airlock/mining/glass, + /obj/machinery/door/airlock/medical, + /obj/machinery/door/airlock/medical/glass, + /obj/machinery/door/airlock/public, + /obj/machinery/door/airlock/public/glass, + /obj/machinery/door/airlock/research, + /obj/machinery/door/airlock/research/glass, + /obj/machinery/door/airlock/maintenance, + /obj/machinery/door/airlock/maintenance/glass, + /obj/machinery/door/airlock/command/, + /obj/machinery/door/airlock/command/glass, + /obj/machinery/door/airlock/engineering, + /obj/machinery/door/airlock/engineering/glass, + /obj/machinery/door/airlock/engineering/abandoned, + /obj/machinery/door/airlock/security, + /obj/machinery/door/airlock/security/glass, + /obj/machinery/door/airlock/maintenance/abandoned, + /obj/machinery/door/poddoor/shutters/preopen, + /obj/machinery/door/poddoor/shutters, + /obj/machinery/door/window/eastright, + /obj/machinery/door/window/eastleft, + /obj/machinery/door/window/northleft, + /obj/machinery/door/window/northright, + /obj/machinery/door/airlock/external, + /obj/machinery/door/airlock, + /obj/machinery/door/airlock/hatch, + /obj/machinery/door/airlock/engineering/glass/critical, + /obj/machinery/door/airlock/atmos, + /obj/machinery/door/airlock/highsecurity,) //GS13 - directional wall sprites will smooth with windows/airlocks hardness = 45 /turf/closed/wall/rust/rust_heretic_act() diff --git a/code/modules/antagonists/abductor/abductee/abductee_objectives.dm b/code/modules/antagonists/abductor/abductee/abductee_objectives.dm index 2d62bf1ac9..878ebed855 100644 --- a/code/modules/antagonists/abductor/abductee/abductee_objectives.dm +++ b/code/modules/antagonists/abductor/abductee/abductee_objectives.dm @@ -4,7 +4,7 @@ /datum/objective/abductee/random /datum/objective/abductee/random/New() - explanation_text = pick(world.file2list("strings/abductee_objectives.txt")) + explanation_text = pick(world.file2list("GainStation13/strings/abductee_objectives.txt")) //GS13 Edit: Nanotrasen to GATO /datum/objective/abductee/steal explanation_text = "Steal all" diff --git a/code/modules/antagonists/disease/disease_event.dm b/code/modules/antagonists/disease/disease_event.dm index 31ab9d8d33..c403280377 100644 --- a/code/modules/antagonists/disease/disease_event.dm +++ b/code/modules/antagonists/disease/disease_event.dm @@ -3,7 +3,7 @@ name = "Spawn Sentient Disease" typepath = /datum/round_event/ghost_role/sentient_disease weight = 7 - max_occurrences = 1 + max_occurrences = 0 //GS13 - removed midround pseudo-antags min_players = 5 category = EVENT_CATEGORY_HEALTH description = "Spawns a sentient disease, who wants to infect as many people as possible." diff --git a/code/modules/antagonists/revenant/revenant_spawn_event.dm b/code/modules/antagonists/revenant/revenant_spawn_event.dm index b188e0c79c..655a116b7f 100644 --- a/code/modules/antagonists/revenant/revenant_spawn_event.dm +++ b/code/modules/antagonists/revenant/revenant_spawn_event.dm @@ -4,7 +4,7 @@ name = "Spawn Revenant" // Did you mean 'griefghost'? typepath = /datum/round_event/ghost_role/revenant weight = 7 - max_occurrences = 1 + max_occurrences = 0 //GS13 tweak - no antags, thanks min_players = 5 category = EVENT_CATEGORY_ENTITIES description = "Spawns an angry, soul sucking ghost." diff --git a/code/modules/antagonists/slaughter/slaughterevent.dm b/code/modules/antagonists/slaughter/slaughterevent.dm index 8d1f92faac..bc9b1fb6ff 100644 --- a/code/modules/antagonists/slaughter/slaughterevent.dm +++ b/code/modules/antagonists/slaughter/slaughterevent.dm @@ -2,7 +2,7 @@ name = "Spawn Slaughter Demon" typepath = /datum/round_event/ghost_role/slaughter weight = 1 //Very rare - max_occurrences = 1 + max_occurrences = 0 //GS13 - no antags, thanks earliest_start = 1 HOURS min_players = 20 category = EVENT_CATEGORY_ENTITIES diff --git a/code/modules/antagonists/swarmer/swarmer_event.dm b/code/modules/antagonists/swarmer/swarmer_event.dm index 460ce687a6..083363a22e 100644 --- a/code/modules/antagonists/swarmer/swarmer_event.dm +++ b/code/modules/antagonists/swarmer/swarmer_event.dm @@ -2,7 +2,7 @@ name = "Spawn Swarmer Shell" typepath = /datum/round_event/spawn_swarmer weight = 7 - max_occurrences = 1 //Only once okay fam + max_occurrences = 0 //GS13 - no antags, thanks earliest_start = 30 MINUTES min_players = 35 dynamic_should_hijack = TRUE diff --git a/code/modules/arousal/genitals.dm b/code/modules/arousal/genitals.dm index ed94324ec8..3e0c85ddb0 100644 --- a/code/modules/arousal/genitals.dm +++ b/code/modules/arousal/genitals.dm @@ -32,6 +32,7 @@ var/obj/item/equipment //for fun stuff that goes on the gentials/maybe rings down the line var/dontlist = FALSE var/nochange = FALSE //stops people changing visablity. + var/starting_size //GS13 EDIT /obj/item/organ/genital/Initialize(mapload, do_update = TRUE) diff --git a/code/modules/arousal/organs/breasts.dm b/code/modules/arousal/organs/breasts.dm index 69020da4f3..fb21d944bd 100644 --- a/code/modules/arousal/organs/breasts.dm +++ b/code/modules/arousal/organs/breasts.dm @@ -75,7 +75,7 @@ //this is far too lewd wah /obj/item/organ/genital/breasts/modify_size(modifier, min = -INFINITY, max = INFINITY) - var/new_value = clamp(cached_size + modifier, min, max) + var/new_value = clamp(cached_size + modifier, starting_size, max) //GS13 EDIT if(new_value == cached_size) return prev_size = cached_size @@ -115,6 +115,7 @@ else color = "#[D.features["breasts_color"]]" size = D.features["breasts_size"] + starting_size = D.features["breasts_size"] shape = D.features["breasts_shape"] if(!D.features["breasts_producing"]) genital_flags &= ~ (GENITAL_FUID_PRODUCTION|CAN_CLIMAX_WITH|CAN_MASTURBATE_WITH) diff --git a/code/modules/arousal/organs/butt.dm b/code/modules/arousal/organs/butt.dm index 6cb32488a5..fd20703168 100644 --- a/code/modules/arousal/organs/butt.dm +++ b/code/modules/arousal/organs/butt.dm @@ -16,7 +16,7 @@ layer_index = BUTT_LAYER_INDEX /obj/item/organ/genital/butt/modify_size(modifier, min = -INFINITY, max = BUTT_SIZE_MAX) - var/new_value = clamp(size_cached + modifier, min, max) + var/new_value = clamp(size_cached + modifier, starting_size, max) //GS13 EDIT if(new_value == size_cached) return prev_size = size_cached @@ -47,6 +47,8 @@ //Reflect the size of dat ass on examine. switch(round(size)) + if(0) + size_name = "nonexistent" // GS13 EDIT if(1) size_name = "average" if(2) @@ -58,7 +60,7 @@ if(5) size_name = pick("massive","extreme","enormous","very generous","humongous","big bubbly","dummy thicc") else - size_name = "nonexistent" + size_name = "oversized" //GS13 edit desc = "You see a [lowershape] of [size_name] asscheeks." @@ -82,5 +84,6 @@ else color = "#[D.features["butt_color"]]" size = D.features["butt_size"] + starting_size = D.features["butt_size"] // GS13 EDIT prev_size = size toggle_visibility(D.features["butt_visibility"], FALSE) diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index 041dd4be96..f7bf2534cd 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -474,11 +474,11 @@ uniform = /obj/item/clothing/under/pants/youngfolksjeans id = /obj/item/card/id -/datum/outfit/beachbum/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE, client/preference_source) - ..() - if(visualsOnly) - return - H.dna.add_mutation(STONER) +// /datum/outfit/beachbum/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE, client/preference_source) +// ..() +// if(visualsOnly) +// return +// H.dna.add_mutation(STONER) //GS13 - removes the stoner trait, it makes the role almost unplayable /////////////////Officers+Nanotrasen Security////////////////////// diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 375346009f..3e8b06e05a 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -102,6 +102,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/pda_style = MONO var/pda_color = "#808000" var/pda_skin = PDA_SKIN_ALT + var/list/alt_titles_preferences = list() var/uses_glasses_colour = 0 @@ -1409,6 +1410,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "This preference functions similar to the one before but allows for items with more drastic effects. Do not enable this if you aren't okay with more drastic things happening to your character.
" dat += "Extreme Fatness Vulnerability:[extreme_fatness_vulnerable == TRUE ? "Enabled" : "Disabled"]
" dat += "

" + dat += "Object TF:[object_tf == TRUE ? "Enabled" : "Disabled"]
" + dat += "

" dat += "Extreme Weight Gain (Sprite Size scales with weight):[weight_gain_extreme == TRUE ? "Enabled" : "Disabled"]
" dat += "Persistent Fat (endround/cryo weight becomes your new start weight):[weight_gain_persistent == TRUE ? "Enabled" : "Disabled"]
" dat += "Permanent Weight (hard to remove and persistent weight):[weight_gain_permanent == TRUE ? "Enabled" : "Disabled"]
" @@ -1586,6 +1589,9 @@ GLOBAL_LIST_EMPTY(preferences_datums) HTML += "" var/rank = job.title + var/displayed_rank = rank + if(job.alt_titles.len && (rank in alt_titles_preferences)) + displayed_rank = alt_titles_preferences[rank] lastJob = job if(jobban_isbanned(user, rank)) HTML += "[rank] BANNED" @@ -1607,10 +1613,15 @@ GLOBAL_LIST_EMPTY(preferences_datums) if((job_preferences["[SSjob.overflow_role]"] == JP_LOW) && (rank != SSjob.overflow_role) && !jobban_isbanned(user, SSjob.overflow_role)) HTML += "[rank]" continue + var/rank_title_line = "[displayed_rank]" if((rank in GLOB.command_positions) || (rank == "AI"))//Bold head jobs - HTML += "[rank]" + rank_title_line = "[rank_title_line]" + if(job.alt_titles.len) + rank_title_line = "[rank_title_line]" + else - HTML += "[rank]" + rank_title_line = "[rank_title_line]" //Make it dark if we're not adding a button for alt titles + HTML += rank_title_line HTML += "" @@ -1864,6 +1875,21 @@ GLOBAL_LIST_EMPTY(preferences_datums) SetChoices(user) if("setJobLevel") UpdateJobPreference(user, href_list["text"], text2num(href_list["level"])) + if("alt_title") + var/job_title = href_list["job_title"] + var/titles_list = list(job_title) + var/datum/job/J = SSjob.GetJob(job_title) + for(var/i in J.alt_titles) + titles_list += i + var/chosen_title + chosen_title = input(user, "Choose your job's title:", "Job Preference") as null|anything in titles_list + if(chosen_title) + if(chosen_title == job_title) + if(alt_titles_preferences[job_title]) + alt_titles_preferences.Remove(job_title) + else + alt_titles_preferences[job_title] = chosen_title + SetChoices(user) else SetChoices(user) return TRUE @@ -3422,6 +3448,9 @@ GLOBAL_LIST_EMPTY(preferences_datums) if("extreme_fatness_vulnerable") extreme_fatness_vulnerable = !extreme_fatness_vulnerable + if("object_tf") + object_tf = !object_tf + if("blueberry_inflation") blueberry_inflation = !blueberry_inflation if("max_fatness") diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 21545d1dcd..6ace323783 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -951,9 +951,10 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car S["chair_breakage"] >> chair_breakage S["fatness_vulnerable"] >> fatness_vulnerable S["extreme_fatness_vulnerable"] >> extreme_fatness_vulnerable + S["object_tf"] >> object_tf S["blueberry_inflation"] >> blueberry_inflation S["feature_breasts_fluid"] >> features["breasts_fluid"] - + S["alt_titles_preferences"] >> alt_titles_preferences //gear loadout if(istext(S["loadout"])) loadout_data = safe_json_decode(S["loadout"]) @@ -1144,6 +1145,13 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car loadout_slot = sanitize_num_clamp(loadout_slot, 1, MAXIMUM_LOADOUT_SAVES, 1, TRUE) + alt_titles_preferences = SANITIZE_LIST(alt_titles_preferences) + if(SSjob) + for(var/datum/job/job in SSjob.occupations) + if(alt_titles_preferences[job.title]) + if(!(alt_titles_preferences[job.title] in job.alt_titles)) + alt_titles_preferences.Remove(job.title) + cit_character_pref_load(S) return TRUE @@ -1236,6 +1244,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car WRITE_FILE(S["chair_breakage"], chair_breakage) WRITE_FILE(S["fatness_vulnerable"], fatness_vulnerable) WRITE_FILE(S["extreme_fatness_vulnerable"], extreme_fatness_vulnerable) + WRITE_FILE(S["object_tf"], object_tf) WRITE_FILE(S["blueberry_inflation"], blueberry_inflation) WRITE_FILE(S["feature_breasts_fluid"], features["breasts_fluid"]) @@ -1301,6 +1310,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car WRITE_FILE(S["feature_belly_color"], features["belly_color"]) WRITE_FILE(S["feature_hide_belly"], features["hide_belly"]) WRITE_FILE(S["feature_inflatable_belly"], features["inflatable_belly"]) + WRITE_FILE(S["alt_titles_preferences"], alt_titles_preferences) WRITE_FILE(S["feature_ooc_notes"], features["ooc_notes"]) diff --git a/code/modules/events/abductor.dm b/code/modules/events/abductor.dm index c539899f0e..d2b136408a 100755 --- a/code/modules/events/abductor.dm +++ b/code/modules/events/abductor.dm @@ -2,7 +2,7 @@ name = "Abductors" typepath = /datum/round_event/ghost_role/abductor weight = 10 - max_occurrences = 1 + max_occurrences = 0 //GS13 - no antags, thanks min_players = 30 dynamic_should_hijack = TRUE category = EVENT_CATEGORY_INVASION diff --git a/code/modules/events/alien_infestation.dm b/code/modules/events/alien_infestation.dm index cf94253bbb..6428ed35f9 100644 --- a/code/modules/events/alien_infestation.dm +++ b/code/modules/events/alien_infestation.dm @@ -3,7 +3,7 @@ typepath = /datum/round_event/ghost_role/alien_infestation weight = 5 min_players = 25 - max_occurrences = 1 + max_occurrences = 0 //GS13 - no antags, thanks dynamic_should_hijack = TRUE category = EVENT_CATEGORY_ENTITIES description = "A xenomorph larva spawns on a random vent." diff --git a/code/modules/events/anomaly_bluespace.dm b/code/modules/events/anomaly_bluespace.dm index f058f37da4..e43b3e856d 100644 --- a/code/modules/events/anomaly_bluespace.dm +++ b/code/modules/events/anomaly_bluespace.dm @@ -1,7 +1,7 @@ /datum/round_event_control/anomaly/anomaly_bluespace name = "Anomaly: Bluespace" typepath = /datum/round_event/anomaly/anomaly_bluespace - + min_players = 12 //GS13 - higher pop = more likely to be solved instead of wrecking a whole dep max_occurrences = 1 weight = 5 description = "This anomaly randomly teleports all items and mobs in a large area." diff --git a/code/modules/events/anomaly_pyro.dm b/code/modules/events/anomaly_pyro.dm index 6dc62c6078..a0e69b8a03 100644 --- a/code/modules/events/anomaly_pyro.dm +++ b/code/modules/events/anomaly_pyro.dm @@ -2,8 +2,8 @@ name = "Anomaly: Pyroclastic" typepath = /datum/round_event/anomaly/anomaly_pyro - min_players = 10 //GS13 tweak - max_occurrences = 0 + min_players = 10 //GS13 Edit: tweak + max_occurrences = 0 //GS13 Edit: Disabling this for now. weight = 20 description = "This anomaly sets things on fire, and creates a pyroclastic slime." diff --git a/code/modules/events/aurora_caelus.dm b/code/modules/events/aurora_caelus.dm index 749613ffc9..16e167d22b 100644 --- a/code/modules/events/aurora_caelus.dm +++ b/code/modules/events/aurora_caelus.dm @@ -1,7 +1,7 @@ /datum/round_event_control/aurora_caelus name = "Aurora Caelus" typepath = /datum/round_event/aurora_caelus - max_occurrences = 2 + max_occurrences = 4 //GS13 - pretty lights, why not weight = 4 earliest_start = 20 MINUTES category = EVENT_CATEGORY_FRIENDLY diff --git a/code/modules/events/brain_trauma.dm b/code/modules/events/brain_trauma.dm index 22060aa109..5a907a48fc 100644 --- a/code/modules/events/brain_trauma.dm +++ b/code/modules/events/brain_trauma.dm @@ -2,8 +2,8 @@ name = "Spontaneous Brain Trauma" typepath = /datum/round_event/brain_trauma weight = 25 - min_players = 20 //GS13 - somewhat harmless ig - max_occurrences = 0 + min_players = 20 //GS13 Edit: 8 to 20. You cant really fix this on your own if you arnt medical. + max_occurrences = 0 //GS13 Edit: Disabling this. category = EVENT_CATEGORY_HEALTH description = "A crewmember gains a random trauma." diff --git a/code/modules/events/brand_intelligence.dm b/code/modules/events/brand_intelligence.dm index dbbb0c01b1..0dd4a2d799 100644 --- a/code/modules/events/brand_intelligence.dm +++ b/code/modules/events/brand_intelligence.dm @@ -4,7 +4,7 @@ weight = 5 min_players = 15 - max_occurrences = 0 + max_occurrences = 0 //GS13 Edit: Disabling this for now. category = EVENT_CATEGORY_AI description = "Vending machines will attack people until the Patient Zero is disabled." diff --git a/code/modules/events/disease_outbreak.dm b/code/modules/events/disease_outbreak.dm index b616c72272..af750851d6 100644 --- a/code/modules/events/disease_outbreak.dm +++ b/code/modules/events/disease_outbreak.dm @@ -1,7 +1,7 @@ /datum/round_event_control/disease_outbreak name = "Disease Outbreak" typepath = /datum/round_event/disease_outbreak - max_occurrences = 0 + max_occurrences = 0 //GS13 Edit: Disabling this for now. min_players = 5 weight = 5 category = EVENT_CATEGORY_HEALTH diff --git a/code/modules/events/electrical_storm.dm b/code/modules/events/electrical_storm.dm index b854b2f03c..88f3828aee 100644 --- a/code/modules/events/electrical_storm.dm +++ b/code/modules/events/electrical_storm.dm @@ -1,16 +1,16 @@ /datum/round_event_control/electrical_storm name = "Electrical Storm" typepath = /datum/round_event/electrical_storm - earliest_start = 30 MINUTES + earliest_start = 30 MINUTES //GS13 Edit: Reducing pain for normal station ongoings. min_players = 5 weight = 40 - max_occurrences = 2 + max_occurrences = 2 //GS13 Edit: Limiting this. category = EVENT_CATEGORY_ENGINEERING description = "Destroys all lights in a large area." /datum/round_event/electrical_storm var/lightsoutAmount = 1 - var/lightsoutRange = 10 + var/lightsoutRange = 10 //GS13 Edit: 25 down to 10 announce_when = 1 /datum/round_event/electrical_storm/announce(fake) diff --git a/code/modules/events/high_priority_bounty.dm b/code/modules/events/high_priority_bounty.dm index 1da518b5a7..f424899fe1 100644 --- a/code/modules/events/high_priority_bounty.dm +++ b/code/modules/events/high_priority_bounty.dm @@ -1,9 +1,9 @@ /datum/round_event_control/high_priority_bounty name = "High Priority Bounty" typepath = /datum/round_event/high_priority_bounty - max_occurrences = 5 + max_occurrences = 6 //GS13 - because why not weight = 20 - earliest_start = 10 + earliest_start = 10 MINUTES category = EVENT_CATEGORY_BUREAUCRATIC description = "Creates bounties that are three times original worth." diff --git a/code/modules/events/immovable_rod.dm b/code/modules/events/immovable_rod.dm index 70b92d071d..82958ff921 100644 --- a/code/modules/events/immovable_rod.dm +++ b/code/modules/events/immovable_rod.dm @@ -10,8 +10,8 @@ In my current plan for it, 'solid' will be defined as anything with density == 1 /datum/round_event_control/immovable_rod name = "Immovable Rod" typepath = /datum/round_event/immovable_rod - min_players = 20 //GS13 - tweaked min players and occurences - max_occurrences = 2 + min_players = 25 //GS13 - tweaked min players and occurences + max_occurrences = 1 //GS13 - one is enough as is var/atom/special_target category = EVENT_CATEGORY_SPACE description = "The station passes through an immovable rod." diff --git a/code/modules/events/ion_storm.dm b/code/modules/events/ion_storm.dm index 0fefb43170..bfaa7db936 100644 --- a/code/modules/events/ion_storm.dm +++ b/code/modules/events/ion_storm.dm @@ -4,7 +4,7 @@ name = "Ion Storm" typepath = /datum/round_event/ion_storm weight = 15 - min_players = 2 + min_players = 5 //GS13 - increasing pop so it's more likely someone has a chance to fix the laws category = EVENT_CATEGORY_AI description = "Gives the AI a new, randomized law." diff --git a/code/modules/events/major_dust.dm b/code/modules/events/major_dust.dm index 9ae5b8939e..f3bbaaf37a 100644 --- a/code/modules/events/major_dust.dm +++ b/code/modules/events/major_dust.dm @@ -1,7 +1,8 @@ /datum/round_event_control/meteor_wave/major_dust name = "Major Space Dust" typepath = /datum/round_event/meteor_wave/major_dust - min_players = 8 //GS13 + min_players = 10 //GS13 - do it when there's more people to fix it around + max_occurrences = 2 //GS13 - limiting the amount of it weight = 8 description = "The station is pelted by sand." diff --git a/code/modules/events/meteor_wave.dm b/code/modules/events/meteor_wave.dm index 42a122cc08..d22d33a343 100644 --- a/code/modules/events/meteor_wave.dm +++ b/code/modules/events/meteor_wave.dm @@ -7,7 +7,7 @@ name = "Meteor Wave: Normal" typepath = /datum/round_event/meteor_wave weight = 4 - min_players = 16 //GS13 - tweaked all meteor waves to nerf them a bit + min_players = 20 //GS13 - tweaked all meteor waves to nerf them a bit max_occurrences = 2 earliest_start = 40 MINUTES category = EVENT_CATEGORY_SPACE @@ -87,7 +87,7 @@ typepath = /datum/round_event/meteor_wave/threatening weight = 5 min_players = 20 - max_occurrences = 1 + max_occurrences = 0 //GS13 - too chaotic earliest_start = 45 MINUTES description = "A meteor wave with higher chance of big meteors." @@ -100,7 +100,7 @@ typepath = /datum/round_event/meteor_wave/catastrophic weight = 7 min_players = 25 - max_occurrences = 1 + max_occurrences = 0 //GS13 - too chaotic earliest_start = 55 MINUTES description = "A meteor wave that might summon a tunguska class meteor." diff --git a/code/modules/events/mice_migration.dm b/code/modules/events/mice_migration.dm index ccc6affd11..d13e2d6eff 100644 --- a/code/modules/events/mice_migration.dm +++ b/code/modules/events/mice_migration.dm @@ -6,8 +6,8 @@ description = "A horde of mice arrives, and perhaps even the Rat King themselves." /datum/round_event/mice_migration - var/minimum_mice = 3 - var/maximum_mice = 8 + var/minimum_mice = 3 //GS13 Edit: 5 to 3, mice ravage the station in lowpop + var/maximum_mice = 8 //GS13 Edit: 15 to 8, See above. /datum/round_event/mice_migration/announce(fake) var/cause = pick("space-winter", "budget-cuts", "Ragnarok", diff --git a/code/modules/events/nightmare.dm b/code/modules/events/nightmare.dm index a1cc9c9029..066552c3a5 100644 --- a/code/modules/events/nightmare.dm +++ b/code/modules/events/nightmare.dm @@ -1,7 +1,7 @@ /datum/round_event_control/nightmare name = "Spawn Nightmare" typepath = /datum/round_event/ghost_role/nightmare - max_occurrences = 1 + max_occurrences = 0 //GS13 - no antags, thanks min_players = 25 dynamic_should_hijack = TRUE category = EVENT_CATEGORY_ENTITIES diff --git a/code/modules/events/operative.dm b/code/modules/events/operative.dm index 53b79a9456..90f571a4d5 100644 --- a/code/modules/events/operative.dm +++ b/code/modules/events/operative.dm @@ -2,7 +2,7 @@ name = "Lone Operative" typepath = /datum/round_event/ghost_role/operative weight = 0 //Admin only - max_occurrences = 0 //GS13 tweak + max_occurrences = 0 //GS13 - just in case category = EVENT_CATEGORY_INVASION description = "A single nuclear operative assaults the station." diff --git a/code/modules/events/pirates.dm b/code/modules/events/pirates.dm index 3266bb70bf..31eb07080c 100644 --- a/code/modules/events/pirates.dm +++ b/code/modules/events/pirates.dm @@ -2,7 +2,7 @@ name = "Space Pirates" typepath = /datum/round_event/pirates weight = 8 - max_occurrences = 1 + max_occurrences = 0 //GS13 - no antags, thanks min_players = 20 earliest_start = 50 MINUTES dynamic_should_hijack = TRUE diff --git a/code/modules/events/portal_storm.dm b/code/modules/events/portal_storm.dm index 1628566557..081a1bce89 100644 --- a/code/modules/events/portal_storm.dm +++ b/code/modules/events/portal_storm.dm @@ -3,6 +3,7 @@ typepath = /datum/round_event/portal_storm/syndicate_shocktroop weight = 2 min_players = 20 + max_occurrences = 0 //GS13 - no antags, thanks earliest_start = 60 MINUTES category = EVENT_CATEGORY_ENTITIES description = "Syndicate troops pour out of portals." diff --git a/code/modules/events/shuttle_loan.dm b/code/modules/events/shuttle_loan.dm index cd53390577..09b38d0439 100644 --- a/code/modules/events/shuttle_loan.dm +++ b/code/modules/events/shuttle_loan.dm @@ -1,18 +1,18 @@ -#define SNACK_ATTACK 1 //GS13 -#define HIJACK_SYNDIE 2 -#define RUSKY_PARTY 3 -#define SPIDER_GIFT 4 -#define DEPARTMENT_RESUPPLY 5 -#define ANTIDOTE_NEEDED 6 -#define PIZZA_DELIVERY 7 -#define ITS_HIP_TO 8 -#define MY_GOD_JC 9 -#define DELTA_CRATES 10 +#define HIJACK_SYNDIE 1 +#define RUSKY_PARTY 2 +#define SPIDER_GIFT 3 +#define DEPARTMENT_RESUPPLY 4 +#define ANTIDOTE_NEEDED 5 +#define PIZZA_DELIVERY 6 +#define ITS_HIP_TO 7 +#define MY_GOD_JC 8 +#define DELTA_CRATES 9 +#define SNACK_ATTACK 10 //GS13 Add: Snack attack /datum/round_event_control/shuttle_loan name = "Shuttle Loan" typepath = /datum/round_event/shuttle_loan - max_occurrences = 3 + max_occurrences = 20 //GS13 Edit: increasing this because they're a fun event earliest_start = 15 MINUTES category = EVENT_CATEGORY_BUREAUCRATIC description = "If cargo accepts the offer, fills the shuttle with loot and/or enemies." @@ -26,16 +26,13 @@ var/thanks_msg = "The cargo shuttle should return in five minutes. Have some supply points for your trouble." /datum/round_event/shuttle_loan/setup() - dispatch_type = pick(HIJACK_SYNDIE, RUSKY_PARTY, SPIDER_GIFT, DEPARTMENT_RESUPPLY, ANTIDOTE_NEEDED, PIZZA_DELIVERY, ITS_HIP_TO, MY_GOD_JC) + dispatch_type = pick(HIJACK_SYNDIE, RUSKY_PARTY, SPIDER_GIFT, DEPARTMENT_RESUPPLY, ANTIDOTE_NEEDED, PIZZA_DELIVERY, ITS_HIP_TO, MY_GOD_JC, SNACK_ATTACK) //GS13 Edit: Snack Attack shuttle /datum/round_event/shuttle_loan/announce(fake) SSshuttle.shuttle_loan = src var/message = "Cargo: I just wanna tell you techs good luck, we are all counting on you." var/title = "CentCom Free Real Estate" switch(dispatch_type) - if(SNACK_ATTACK) //GS13 - message = "Cargo: Our science division took couple too many samples from one the local candy biohabitats. Would you care to dispose of the unneeded specimen?" - title = "CentCom Science Division" if(HIJACK_SYNDIE) message = "Cargo: The syndicate are trying to infiltrate your station. If you let them hijack your cargo shuttle, you'll save us a headache." title = "CentCom Counter Intelligence" @@ -66,6 +63,11 @@ message = "Cargo: We have discovered a warehouse of DELTA locked crates. We can't store any more of them at CC, can you take them for us?" title = "CentCom Security Division" bonus_points = 25000 //If you mess up, people die and the shuttle gets turned into swiss cheese + //GS13 Start: Snack Attack shuttle + if(SNACK_ATTACK) + message = "Cargo: Our science division took couple too many samples from one the local candy biohabitats. Would you care to dispose of the unneeded specimen?" + title = "CentCom Science Division" + //GS13 End if(prob(50)) priority_announce(message, title) else @@ -85,8 +87,6 @@ SSshuttle.supply.setTimer(3000) switch(dispatch_type) - if(SNACK_ATTACK) //GS13 - SSshuttle.centcom_message += "Snack attack en route." if(HIJACK_SYNDIE) SSshuttle.centcom_message += "Syndicate hijack team incoming." if(RUSKY_PARTY) @@ -105,6 +105,10 @@ SSshuttle.centcom_message += "Live explosive ordnance incoming. Exercise extreme caution." if(DELTA_CRATES) SSshuttle.centcom_message += "DELTA Locked crates incoming. Exercise extreme caution." + //GS13 Start: Snack attack shuttle + if(SNACK_ATTACK) + SSshuttle.centcom_message += "Snack attack en route." + //GS13 End /datum/round_event/shuttle_loan/tick() if(dispatched) @@ -131,19 +135,6 @@ var/list/shuttle_spawns = list() switch(dispatch_type) - if(SNACK_ATTACK) //GS13 - shuttle_spawns.Add(/mob/living/simple_animal/hostile/feed/chocolate_slime) - shuttle_spawns.Add(/mob/living/simple_animal/hostile/feed/chocolate_slime) - shuttle_spawns.Add(/mob/living/simple_animal/hostile/feed/chocolate_slime/creambeast) - if(prob(50)) - shuttle_spawns.Add(/mob/living/simple_animal/hostile/feed/chocolate_slime/creambeast) - - shuttle_spawns.Add(/obj/item/reagent_containers/food/snacks/donut/choco) - shuttle_spawns.Add(/obj/item/reagent_containers/food/snacks/donut/choco) - shuttle_spawns.Add(/obj/item/reagent_containers/food/snacks/donut/choco) - shuttle_spawns.Add(/obj/item/reagent_containers/food/snacks/chocoorange) - shuttle_spawns.Add(/obj/item/reagent_containers/food/snacks/chocoorange) - shuttle_spawns.Add(/obj/item/paper/fluff/chocoslime_research) if(HIJACK_SYNDIE) var/datum/supply_pack/pack = SSshuttle.supply_packs[/datum/supply_pack/emergency/specialops] pack.generate(pick_n_take(empty_shuttle_turfs)) @@ -270,6 +261,21 @@ var/turf/T = pick_n_take(empty_shuttle_turfs) new /obj/structure/spider/stickyweb(T) new /obj/effect/decal/cleanable/ash(T) + //GS13 Start: Snack Attack Shuttle + if(SNACK_ATTACK) //GS13 + shuttle_spawns.Add(/mob/living/simple_animal/hostile/feed/chocolate_slime) + shuttle_spawns.Add(/mob/living/simple_animal/hostile/feed/chocolate_slime) + shuttle_spawns.Add(/mob/living/simple_animal/hostile/feed/chocolate_slime/creambeast) + if(prob(50)) + shuttle_spawns.Add(/mob/living/simple_animal/hostile/feed/chocolate_slime/creambeast) + + shuttle_spawns.Add(/obj/item/reagent_containers/food/snacks/donut/choco) + shuttle_spawns.Add(/obj/item/reagent_containers/food/snacks/donut/choco) + shuttle_spawns.Add(/obj/item/reagent_containers/food/snacks/donut/choco) + shuttle_spawns.Add(/obj/item/reagent_containers/food/snacks/chocoorange) + shuttle_spawns.Add(/obj/item/reagent_containers/food/snacks/chocoorange) + shuttle_spawns.Add(/obj/item/paper/fluff/chocoslime_research) + //GS13 End var/false_positive = 0 while(shuttle_spawns.len && empty_shuttle_turfs.len) @@ -315,3 +321,4 @@ #undef ITS_HIP_TO #undef MY_GOD_JC #undef DELTA_CRATES +#undef SNACK_ATTACK //GS13 Add: Snack attack diff --git a/code/modules/events/space_dragon.dm b/code/modules/events/space_dragon.dm index 50d7433f4c..c93376ddbf 100644 --- a/code/modules/events/space_dragon.dm +++ b/code/modules/events/space_dragon.dm @@ -2,7 +2,7 @@ name = "Spawn Space Dragon" typepath = /datum/round_event/ghost_role/space_dragon weight = 8 - max_occurrences = 1 + max_occurrences = 0 //GS13 - no antags, thanks min_players = 25 dynamic_should_hijack = TRUE category = EVENT_CATEGORY_ENTITIES diff --git a/code/modules/events/space_ninja.dm b/code/modules/events/space_ninja.dm index 5fd019fa56..7e7ae751af 100644 --- a/code/modules/events/space_ninja.dm +++ b/code/modules/events/space_ninja.dm @@ -1,7 +1,7 @@ /datum/round_event_control/space_ninja name = "Spawn Space Ninja" typepath = /datum/round_event/ghost_role/space_ninja - max_occurrences = 1 + max_occurrences = 0 //GS13 - no antags, thanks weight = 10 earliest_start = 20 MINUTES min_players = 25 diff --git a/code/modules/events/spacevine.dm b/code/modules/events/spacevine.dm index 9c68add145..5badf86774 100644 --- a/code/modules/events/spacevine.dm +++ b/code/modules/events/spacevine.dm @@ -3,7 +3,7 @@ typepath = /datum/round_event/spacevine weight = 15 max_occurrences = 3 - min_players = 18 + min_players = 15 //GS13 - should be enough players category = EVENT_CATEGORY_ENTITIES description = "Kudzu begins to overtake the station. Might spawn man-traps." diff --git a/code/modules/events/stray_cargo.dm b/code/modules/events/stray_cargo.dm index e77602d71e..71aeb058d5 100644 --- a/code/modules/events/stray_cargo.dm +++ b/code/modules/events/stray_cargo.dm @@ -3,7 +3,7 @@ name = "Stray Cargo Pod" typepath = /datum/round_event/stray_cargo weight = 5 - max_occurrences = 6 + max_occurrences = 6 //GS13 - increase the amount of possible strays earliest_start = 10 MINUTES category = EVENT_CATEGORY_BUREAUCRATIC description = "A pod containing a random supply crate lands on the station." diff --git a/code/modules/events/supernova.dm b/code/modules/events/supernova.dm index b1cfefd72d..21a07e50ae 100644 --- a/code/modules/events/supernova.dm +++ b/code/modules/events/supernova.dm @@ -2,7 +2,7 @@ name = "Supernova" typepath = /datum/round_event/supernova weight = 5 - max_occurrences = 0 + max_occurrences = 0 //GS13 - fuck no (this is just more intense radstorm) min_players = 2 category = EVENT_CATEGORY_SPACE description = "Several modified radstorms hit the station." diff --git a/code/modules/events/travelling_trader.dm b/code/modules/events/travelling_trader.dm index 98ff3184ae..7be23c215f 100644 --- a/code/modules/events/travelling_trader.dm +++ b/code/modules/events/travelling_trader.dm @@ -2,7 +2,7 @@ name = "Travelling Trader" typepath = /datum/round_event/travelling_trader weight = 8 - max_occurrences = 6 //GS13 because why not + max_occurrences = 6 //GS13 - more occurences, because why not earliest_start = 10 MINUTES category = EVENT_CATEGORY_FRIENDLY description = "A mysterious figure requests something to the crew and rewards them with something for getting it done." diff --git a/code/modules/events/untie_shoes.dm b/code/modules/events/untie_shoes.dm index 17dd2ca8b2..04f0da14d4 100644 --- a/code/modules/events/untie_shoes.dm +++ b/code/modules/events/untie_shoes.dm @@ -2,7 +2,7 @@ name = "Untied Shoes" typepath = /datum/round_event/untied_shoes weight = 50 - max_occurrences = 10 + max_occurrences = 0 //GS13 - tedious, doesn't always make sense alert_observers = FALSE category = EVENT_CATEGORY_HEALTH description = "Unties people's shoes, with a chance to knot them as well." diff --git a/code/modules/events/vent_clog.dm b/code/modules/events/vent_clog.dm index e42594fd96..ee5f4e83f3 100644 --- a/code/modules/events/vent_clog.dm +++ b/code/modules/events/vent_clog.dm @@ -2,8 +2,8 @@ name = "Clogged Vents: Normal" typepath = /datum/round_event/vent_clog weight = 10 - max_occurrences = 3 - min_players = 10 + max_occurrences = 2 //GS13 - pain in the ass, occurences nerfed until a less disruptive variant is made + min_players = 16 //GS13 - pain in the ass, occurences nerfed until a less disruptive variant is made category = EVENT_CATEGORY_HEALTH description = "All the scrubbers onstation spit random chemicals in smoke form." @@ -15,19 +15,23 @@ var/list/vents = list() var/randomProbability = 0 var/reagentsAmount = 100 - var/list/saferChems = list( //GS13 - removed some of those chems, just a couple particularly annoying ones + var/list/saferChems = list( /datum/reagent/water, /datum/reagent/carbon, + /datum/reagent/consumable/flour, /datum/reagent/space_cleaner, /datum/reagent/consumable/nutriment, /datum/reagent/consumable/condensedcapsaicin, /datum/reagent/drug/mushroomhallucinogen, /datum/reagent/lube, /datum/reagent/glitter/pink, + /datum/reagent/glitter/pink_subtle, //GS13 Add: Add our subtle variants of glitter. /datum/reagent/cryptobiolin, + //datum/reagent/toxin/plantbgone, //GS13 Remove: Annoying Reagent /datum/reagent/blood, /datum/reagent/medicine/charcoal, /datum/reagent/drug/space_drugs, + /datum/reagent/medicine/morphine, /datum/reagent/water/holywater, /datum/reagent/consumable/ethanol, /datum/reagent/consumable/hot_coco, @@ -47,6 +51,7 @@ /datum/reagent/hair_dye, /datum/reagent/consumable/sugar, /datum/reagent/glitter/white, + /datum/reagent/glitter/white_subtle, //GS13 ADD: Add our subtle variants of glitter. ...Why is this separate from the other glitter, anyhow? Blue glitter's also missing, so I wont add it. /datum/reagent/growthserum, /datum/reagent/consumable/cornoil, /datum/reagent/uranium, @@ -112,7 +117,7 @@ /datum/round_event/vent_clog/threatening randomProbability = 10 - reagentsAmount = 100 + reagentsAmount = 200 /datum/round_event_control/vent_clog/catastrophic name = "Clogged Vents: Catastrophic" diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index 600a1e91ff..fbc8403bee 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -89,6 +89,7 @@ All foods are distributed among various categories. Use common sense. if(!reagents.total_volume) var/mob/living/location = loc var/obj/item/trash_item = generate_trash(location) + handle_tf()//GS13 EDIT qdel(src) if(istype(location)) location.put_in_hands(trash_item) diff --git a/code/modules/games/cas.dm b/code/modules/games/cas.dm index 5261887b73..61e2b625d1 100644 --- a/code/modules/games/cas.dm +++ b/code/modules/games/cas.dm @@ -18,7 +18,7 @@ var/card_face = "cas_white" var/blanks = 25 var/decksize = 150 - var/card_text_file = "strings/cas_white.txt" + var/card_text_file = "GainStation13/strings/cas_white.txt" //GS13 Edit: Nanotrasen to GATO var/list/allcards = list() /obj/item/toy/cards/deck/cas/black @@ -29,10 +29,10 @@ card_face = "cas_black" blanks = 0 decksize = 50 - card_text_file = "strings/cas_black.txt" + card_text_file = "GainStation13/strings/cas_black.txt" //GS13 Edit: Nanotrasen to GATO /obj/item/toy/cards/deck/cas/populate_deck() - var/static/list/cards_against_space = list("cas_white" = world.file2list("strings/cas_white.txt"),"cas_black" = world.file2list("strings/cas_black.txt")) + var/static/list/cards_against_space = list("cas_white" = world.file2list("GainStation13/strings/cas_white.txt"),"cas_black" = world.file2list("GainStation13/strings/cas_black.txt")) //GS13 Edit: Nanotrasen to GATO allcards = cards_against_space[card_face] var/list/possiblecards = allcards.Copy() if(possiblecards.len < decksize) // sanity check diff --git a/code/modules/holiday/halloween/jacqueen.dm b/code/modules/holiday/halloween/jacqueen.dm index f787258f20..4c7aa5bbb7 100644 --- a/code/modules/holiday/halloween/jacqueen.dm +++ b/code/modules/holiday/halloween/jacqueen.dm @@ -34,7 +34,7 @@ /mob/living/simple_animal/jacq name = "Jacqueline the Pumpqueen" real_name = "Jacqueline" - icon = 'GainStation13/icons/obj/halloween_items.dmi' + icon = 'GainStation13/icons/obj/halloween_items.dmi' //GS13 Edit: Fat Jacqueline icon_state = "jacqueline" maxHealth = 25 health = 25 diff --git a/code/modules/jobs/job_titles.dm b/code/modules/jobs/job_titles.dm new file mode 100644 index 0000000000..8518d4950c --- /dev/null +++ b/code/modules/jobs/job_titles.dm @@ -0,0 +1,99 @@ +//This file also determines the order for the choose your occupation chances screen. + +//Engineering +/datum/job/chief_engineer + alt_titles = list("Head Engineer", "Construction Coordinator", "Project Manager", "Power Plant Director") + +/datum/job/engineer + alt_titles = list("Maintenance Technician", "Engine Technician", "Electrician", "Structural Engineer", "Mechanic", "Station Architect", "Nuclear Plant Operator") + +/datum/job/atmos + alt_titles = list("Firefighter", "Life Support Specialist", "Disposals Technician") + +//Service +/datum/job/assistant + alt_titles = list("Civilian", "Morale Officer", "Off-Duty", "Visitor", "Businessman", "Trader", "Entertainer", "Tourist") + +/datum/job/cook + alt_titles = list("Cook", "Culinary Artist", "Butcher", "Chef de partie", "Poissonier", "Baker", "Taste Tester") + +/datum/job/hydro + alt_titles = list("Gardener", "Herbalist", "Botanical Researcher", "Hydroponicist", "Farmer", "Beekeeper", "Vintner") + +/datum/job/curator + alt_titles = list("Journalist", "Librarian", "Keeper") + +/datum/job/chaplain + alt_titles = list("Priest", "Priestess", "Prior", "Monk", "Nun", "Counselor") + +/datum/job/janitor + alt_titles = list("Custodian", "Sanitation Technician", "Maid", "Trash Can", "Disposal Unit") + +/datum/job/lawyer + alt_titles = list("Human Resources Agent", "Internal Affairs Agent", "Attorney") + +/datum/job/clown + alt_titles = list("Jester", "Comedian") + +/datum/job/mime + alt_titles = list("Performer", "Pantomime", "Mimic") + +/datum/job/bartender + alt_titles = list("Mixologist", "Sommelier", "Bar Owner", "Barmaid", "Expediter") + +//Science +/datum/job/rd + alt_titles = list("Research Manager", "Science Administrator") + +/datum/job/scientist + alt_titles = list("Circuitry Designer", "Xenobiologist", "Xenobotanist", "Xenoarcheologist", "Chemical Researcher", "Researcher", "Pyrotechnician") + +/datum/job/roboticist + alt_titles = list("Biomechanical Engineer", "Mechatronic Engineer", "Mechanic") + +//Medical +/datum/job/cmo + alt_titles = list("Medical Director", "Medical Administrator") + +/datum/job/doctor + alt_titles = list("Nurse", "Surgeon", "Physician", "Paramedic", "Trophologist", "Nutritionist", "Therapist", "Psychiatrist") + +/datum/job/chemist + alt_titles = list("Pharmacist", "Pharmacologist") + +/datum/job/virologist + alt_titles = list("Microbiologist", "Biochemist", "Pathologist") + +/datum/job/geneticist + alt_titles = list("Gene Therapist", "Genetics Researcher") + +//Security +/datum/job/hos + alt_titles = list("Chief of Security", "Security Commander", "Sheriff") + +/datum/job/warden + alt_titles = list("Prison Chief", "Armory Manager", "Prison Administrator", "Brig Superintendent") + +/datum/job/officer + alt_titles = list("Security Agent", "Probation Officer", "Security Peacekeeper", "Security Guard", "Guardsman", "Security Cadet") + +/datum/job/detective + alt_titles = list("Forensics Technician", "Private Investigator", "Gumshoe") + + +//Supply +/datum/job/qm + alt_titles = list("Supply Chief") + +/datum/job/cargo_tech + alt_titles = list("Mail Man", "Mail Woman", "Mailroom Technician", "Deliveries Officer", "Logistics Technician") + +/datum/job/mining + alt_titles = list("Exotic Ore Miner", "Fauna Hunter", "Explorer", "Digger") //Just because you're a hunter does not excuse you from rock collecting!!!!!!!!!!!! + +//Command +/datum/job/captain + alt_titles = list("Station Director", "Station Commander", "Station Overseer", "Stationmaster", "Commissar") + +/datum/job/hop + alt_titles = list("Personnel Manager", "Staff Administrator", "Records Administrator") diff --git a/code/modules/jobs/job_types/_job.dm b/code/modules/jobs/job_types/_job.dm index 969a39b560..f9140cfc43 100644 --- a/code/modules/jobs/job_types/_job.dm +++ b/code/modules/jobs/job_types/_job.dm @@ -63,6 +63,9 @@ var/list/mind_traits // Traits added to the mind of the mob assigned this job var/list/blacklisted_quirks //list of quirk typepaths blacklisted. + /// What alternate titles does this job currently have? + var/list/alt_titles = list() + /// Should this job be allowed to be picked for the bureaucratic error event? var/allow_bureaucratic_error = TRUE @@ -211,7 +214,7 @@ /datum/job/proc/announce_head(var/mob/living/carbon/human/H, var/channels) //tells the given channel that the given mob is the new department head. See communications.dm for valid channels. if(H && GLOB.announcement_systems.len) //timer because these should come after the captain announcement - SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(_addtimer), CALLBACK(pick(GLOB.announcement_systems), TYPE_PROC_REF(/obj/machinery/announcement_system, announce), "NEWHEAD", H.real_name, H.job, channels), 1)) + SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(_addtimer), CALLBACK(pick(GLOB.announcement_systems), TYPE_PROC_REF(/obj/machinery/announcement_system, announce), "NEWHEAD", H.real_name, H.job, H.client?.prefs.alt_titles_preferences[H.job], channels), 1)) //If the configuration option is set to require players to be logged as old enough to play certain jobs, then this proc checks that they are, otherwise it just returns 1 /datum/job/proc/player_old_enough(client/C) @@ -314,7 +317,11 @@ shuffle_inplace(C.access) // Shuffle access list to make NTNet passkeys less predictable C.registered_name = H.real_name C.assignment = J.title - C.update_label() + if(preference_source && preference_source.prefs && preference_source.prefs.alt_titles_preferences[J.title]) + C.update_label(C.registered_name, preference_source.prefs.alt_titles_preferences[J.title]) + else + C.update_label() + for(var/A in SSeconomy.bank_accounts) var/datum/bank_account/B = A if(B.account_id == H.account_id) @@ -326,6 +333,10 @@ var/obj/item/pda/PDA = H.get_item_by_slot(pda_slot) if(istype(PDA)) PDA.owner = H.real_name + if(preference_source && preference_source.prefs && preference_source.prefs.alt_titles_preferences[J.title]) + PDA.ownjob = preference_source.prefs.alt_titles_preferences[J.title] + else + PDA.ownjob = J.title PDA.ownjob = J.title PDA.update_label() if(preference_source && !PDA.equipped) //PDA's screen color, font style and look depend on client preferences. diff --git a/code/modules/jobs/job_types/bartender.dm b/code/modules/jobs/job_types/bartender.dm index 6d8f4256b5..ec3d4d8d6b 100644 --- a/code/modules/jobs/job_types/bartender.dm +++ b/code/modules/jobs/job_types/bartender.dm @@ -4,7 +4,7 @@ department_head = list("Head of Personnel") department_flag = CIVILIAN faction = "Station" - total_positions = 1 + total_positions = 2 spawn_positions = 1 supervisors = "the head of personnel" selection_color = "#bbe291" diff --git a/code/modules/jobs/job_types/captain.dm b/code/modules/jobs/job_types/captain.dm index bf39aea161..e929f50207 100644 --- a/code/modules/jobs/job_types/captain.dm +++ b/code/modules/jobs/job_types/captain.dm @@ -50,7 +50,10 @@ /datum/job/captain/announce(mob/living/carbon/human/H) ..() - SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(minor_announce), "Captain [H.nameless ? "" : "[H.real_name] "]on deck!")) + var/displayed_rank = H.client?.prefs?.alt_titles_preferences[title] + if(!displayed_rank) //Default to Captain + displayed_rank = "Captain" + SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(minor_announce), "[displayed_rank] [H.nameless ? "" : "[H.real_name] "]on deck!")) /datum/outfit/job/captain name = "Captain" diff --git a/code/modules/jobs/job_types/prisoner.dm b/code/modules/jobs/job_types/prisoner.dm index 732ac03016..49056581f9 100644 --- a/code/modules/jobs/job_types/prisoner.dm +++ b/code/modules/jobs/job_types/prisoner.dm @@ -4,8 +4,8 @@ department_head = list("The Security Team") department_flag = CIVILIAN faction = "Station" - total_positions = 0 - spawn_positions = 0 + total_positions = 1 //GS13 - enabling prisoner (for now) + spawn_positions = 1 //GS13 - enabling prisoner (for now) supervisors = "the security team" random_spawns_possible = FALSE diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm index 18e73650e8..779c488e3c 100644 --- a/code/modules/mining/equipment/explorer_gear.dm +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -168,7 +168,7 @@ heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS hoodtype = /obj/item/clothing/head/hooded/explorer/heva armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 20, BIO = 100, RAD = 80, FIRE = 100, ACID = 80) - resistance_flags = FIRE_PROOF | GOLIATH_WEAKNESS + resistance_flags = FIRE_PROOF /obj/item/clothing/head/hooded/explorer/heva name = "HEVA hood" @@ -178,7 +178,7 @@ item_state = "heva" flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 20, BIO = 100, RAD = 20, FIRE = 60, ACID = 20) - resistance_flags = FIRE_PROOF | GOLIATH_WEAKNESS + resistance_flags = FIRE_PROOF /obj/item/clothing/head/hooded/explorer/heva/equipped(mob/living/carbon/human/user, slot) ..() diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm index 569be84119..97195c966e 100644 --- a/code/modules/mob/dead/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -606,6 +606,9 @@ dept_dat += "[job_datum.title] ([num_positions_current]/[num_positions_total])" else dept_dat += "[job_datum.title] ([num_positions_current]/[num_positions_total])" + if(client && client.prefs && client?.prefs?.alt_titles_preferences[job_datum.title]) + dept_dat += "
(as [client?.prefs?.alt_titles_preferences[job_datum.title]])" + if(!dept_dat.len) dept_dat += "No positions open." dat += jointext(dept_dat, "") diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid_update_icons.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid_update_icons.dm index 85ae2b7440..a896524b72 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid_update_icons.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid_update_icons.dm @@ -66,7 +66,7 @@ if(mob_size == MOB_SIZE_LARGE) cuff_icon += "_[caste]" - dmi_file = 'hyperstation/icons/mobs/alienqueen.dmi' //GS13 - moving over Hyper sprites + dmi_file = 'GainStation13/icons/mob/alienqueen.dmi' //GS13 Edit: Adding our handcuff icons to the aliens. var/mutable_appearance/cuffs = mutable_appearance(dmi_file, cuff_icon, -HANDCUFF_LAYER) cuffs.color = handcuffed.color diff --git a/code/modules/mob/living/carbon/alien/humanoid/queen.dm b/code/modules/mob/living/carbon/alien/humanoid/queen.dm index ab09517feb..a5ef90f283 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/queen.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/queen.dm @@ -1,6 +1,6 @@ /mob/living/carbon/alien/humanoid/royal //Common stuffs for Praetorian and Queen - icon = 'hyperstation/icons/mobs/alienqueen.dmi' + icon = 'icons/mob/alienqueen.dmi' status_flags = 0 unique_name = 0 pixel_x = -16 @@ -17,7 +17,7 @@ meleeSlashHumanPower = 30 meleeSlashSAPower = 60 - var/alt_inhands_file = 'hyperstation/icons/mobs/alienqueen.dmi' //GS13 - moving over Hyper sprites + var/alt_inhands_file = 'icons/mob/alienqueen.dmi' /mob/living/carbon/alien/humanoid/royal/can_inject(mob/user, error_msg, target_zone, penetrate_thick = FALSE, bypass_immunity = FALSE) return FALSE diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index cd69b5ee52..863b087361 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -820,6 +820,10 @@ //Sure, give clickdelay for anti spam. shouldn't be combat voring anyways. return TRUE + // GS13 Escape Transformation + if(attempt_to_escape_tf()) + return TRUE + //Breaking out of a container (Locker, sleeper, cryo...) if(isobj(loc)) var/obj/C = loc diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 0e2d27889e..868a68d448 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -281,6 +281,7 @@ /obj/item/t_scanner/adv_mining_scanner, /obj/item/restraints/handcuffs/cable/zipties, /obj/item/soap/nanotrasen, + /obj/item/gripper/food, //GS13 EDIT /obj/item/borg/cyborghug) emag_modules = list(/obj/item/melee/transforming/energy/sword/cyborg) ratvar_modules = list( @@ -317,6 +318,7 @@ /obj/item/organ_storage, /obj/item/borg/lollipop, /obj/item/sensor_device, + /obj/item/gripper/food, //GS13 EDIT /obj/item/shockpaddles/cyborg) emag_modules = list(/obj/item/reagent_containers/borghypo/hacked) ratvar_modules = list( @@ -336,8 +338,11 @@ "Sleek" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "sleekmed"), "Marina" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "marinamed"), "Eyebot" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "eyebotmed"), - "Heavy" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "heavymed") + "Heavy" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "heavymed"), + "Haydee" = image(icon = 'GainStation13/icons/mob/robots.dmi', icon_state = "haydeemedical"), //GS13 EDIT + "Fat" = image(icon = 'GainStation13/icons/mob/robots.dmi', icon_state = "fat_medical"), //GS13 EDIT ) + /* GS13 EDIT var/list/L = list("Medihound" = "medihound", "Medihound Dark" = "medihounddark", "Vale" = "valemed") for(var/a in L) var/image/wide = image(icon = 'modular_citadel/icons/mob/widerobot.dmi', icon_state = L[a]) @@ -347,6 +352,7 @@ var/image/bad_snowflake = image(icon = 'modular_citadel/icons/mob/widerobot.dmi', icon_state = "alina-med") bad_snowflake.pixel_x = -16 med_icons["Alina"] = bad_snowflake + */ med_icons = sort_list(med_icons) var/med_borg_icon = show_radial_menu(R, R , med_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE) switch(med_borg_icon) @@ -368,6 +374,7 @@ if("Heavy") cyborg_base_icon = "heavymed" cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi' + /* GS13 EDIT, dogborg-b-gone if("Medihound") cyborg_base_icon = "medihound" cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi' @@ -397,6 +404,17 @@ moduleselect_icon = "medihound" moduleselect_alternate_icon = 'modular_citadel/icons/ui/screen_cyborg.dmi' dogborg = TRUE + */ + //GS13 EDIT START + if("Haydee") + cyborg_base_icon = "haydeemedical" + cyborg_icon_override = 'GainStation13/icons/mob/robots.dmi' + hat_offset = 3 + if("Fat") + cyborg_base_icon = "fat_medical" + cyborg_icon_override = 'GainStation13/icons/mob/robots.dmi' + hat_offset = 3 + //GS13 EDIT END else return FALSE return ..() @@ -421,6 +439,7 @@ /obj/item/storage/part_replacer/cyborg, /obj/item/holosign_creator/combifan, /obj/item/gripper, + /obj/item/gripper/food, //GS13 EDIT /obj/item/lightreplacer/cyborg, /obj/item/geiger_counter/cyborg, /obj/item/assembly/signaler/cyborg, @@ -454,8 +473,10 @@ "Can" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "caneng"), "Marina" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "marinaeng"), "Spider" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "spidereng"), - "Heavy" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "heavyeng") + "Heavy" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "heavyeng"), + "Fat" = image(icon = 'GainStation13/icons/mob/robots.dmi', icon_state = "fat_engineer"), //GS13 EDIT ) + /* GS13 EDIT var/list/L = list("Pup Dozer" = "pupdozer", "Vale" = "valeeng") for(var/a in L) var/image/wide = image(icon = 'modular_citadel/icons/mob/widerobot.dmi', icon_state = L[a]) @@ -465,6 +486,7 @@ var/image/bad_snowflake = image(icon = 'modular_citadel/icons/mob/widerobot.dmi', icon_state = "alina-eng") bad_snowflake.pixel_x = -16 engi_icons["Alina"] = bad_snowflake + */ engi_icons = sort_list(engi_icons) var/engi_borg_icon = show_radial_menu(R, R , engi_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE) switch(engi_borg_icon) @@ -496,6 +518,7 @@ if("Heavy") cyborg_base_icon = "heavyeng" cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi' + /* GS13 EDIT if("Pup Dozer") cyborg_base_icon = "pupdozer" cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi' @@ -512,6 +535,13 @@ cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi' sleeper_overlay = "valeengsleeper" dogborg = TRUE + */ + //GS13 EDIT START + if("Fat") + cyborg_base_icon = "fat_engineer" + cyborg_icon_override = 'GainStation13/icons/mob/robots.dmi' + hat_offset = 3 + //GS13 EDIT END else return FALSE return ..() @@ -527,6 +557,9 @@ /obj/item/melee/baton/loaded, /obj/item/gun/energy/disabler/cyborg, /obj/item/clothing/mask/gas/sechailer/cyborg, + /obj/item/gripper/food, //GS13 EDIT + /obj/item/reagent_containers/borghypo/feeding_tube, //GS13 EDIT + /obj/item/gun/energy/fatoray/weak/cyborg, //GS13 EDIT /obj/item/pinpointer/crew) emag_modules = list(/obj/item/gun/energy/laser/cyborg) ratvar_modules = list(/obj/item/clockwork/slab/cyborg/security, @@ -553,6 +586,7 @@ "Spider" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "spidersec"), "Heavy" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "heavysec") ) + /* GS13 EDIT var/list/L = list("K9" = "k9", "Vale" = "valesec", "K9 Dark" = "k9dark") for(var/a in L) var/image/wide = image(icon = 'modular_citadel/icons/mob/widerobot.dmi', icon_state = L[a]) @@ -562,6 +596,7 @@ var/image/bad_snowflake = image(icon = 'modular_citadel/icons/mob/widerobot.dmi', icon_state = "alina-sec") bad_snowflake.pixel_x = -16 sec_icons["Alina"] = bad_snowflake + */ sec_icons = sort_list(sec_icons) var/sec_borg_icon = show_radial_menu(R, R , sec_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE) switch(sec_borg_icon) @@ -586,6 +621,7 @@ if("Heavy") cyborg_base_icon = "heavysec" cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi' + /* GS13 EDIT if("K9") cyborg_base_icon = "k9" sleeper_overlay = "ksleeper" @@ -607,6 +643,7 @@ sleeper_overlay = "valesecsleeper" cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi' dogborg = TRUE + */ else return FALSE return ..() @@ -632,6 +669,9 @@ /obj/item/holosign_creator/cyborg, /obj/item/borg/cyborghug/peacekeeper, /obj/item/megaphone, + /obj/item/gripper/food, //GS13 EDIT + /obj/item/reagent_containers/borghypo/feeding_tube, //GS13 EDIT + /obj/item/gun/energy/fatoray/weak/cyborg, //GS13 EDIT /obj/item/borg/projectile_dampen) emag_modules = list(/obj/item/reagent_containers/borghypo/peace/hacked) ratvar_modules = list( @@ -651,7 +691,8 @@ var/static/list/peace_icons = sort_list(list( "Default" = image(icon = 'icons/mob/robots.dmi', icon_state = "peace"), "Borgi" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "borgi"), - "Spider" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "whitespider") + "Spider" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "whitespider"), + "Fat" = image(icon = 'GainStation13/icons/mob/robots.dmi', icon_state = "fat_peacekeeper"), //GS13 EDIT )) var/peace_borg_icon = show_radial_menu(R, R , peace_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE) switch(peace_borg_icon) @@ -660,6 +701,12 @@ if("Spider") cyborg_base_icon = "whitespider" cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi' + //GS13 EDIT START + if("Fat") + cyborg_base_icon = "fat_peacekeeper" + cyborg_icon_override = 'GainStation13/icons/mob/robots.dmi' + hat_offset = 3 + //GS13 EDIT END if("Borgi") cyborg_base_icon = "borgi" moduleselect_icon = "borgi" @@ -724,6 +771,8 @@ /obj/item/razor, //killbait material /obj/item/lipstick/purple, /obj/item/reagent_containers/spray/waterflower/cyborg, + /obj/item/gripper/food, //GS13 EDIT + /obj/item/reagent_containers/borghypo/feeding_tube, //GS13 EDIT /obj/item/borg/cyborghug/peacekeeper, /obj/item/borg/lollipop/clown, /obj/item/picket_sign/cyborg, @@ -764,6 +813,9 @@ /obj/item/soap/nanotrasen, /obj/item/storage/bag/trash/cyborg, /obj/item/mop/cyborg, + /obj/item/gripper/food, //GS13 EDIT + /obj/item/reagent_containers/borghypo/feeding_tube, //GS13 EDIT + /obj/item/cookiesynth, //GS13 EDIT /obj/item/lightreplacer/cyborg, /obj/item/holosign_creator, /obj/item/reagent_containers/spray/cyborg_drying) @@ -803,12 +855,15 @@ "(Service) Tophat" = image(icon = 'icons/mob/robots.dmi', icon_state = "tophat"), "(Service) Sleek" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "sleekserv"), "(Service) Heavy" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "heavyserv"), + "(Service) Fat" = image(icon = 'GainStation13/icons/mob/robots.dmi', icon_state = "fat_service"), + "(Service) Busty" = image(icon = 'GainStation13/icons/mob/robots.dmi', icon_state = "busty_service"), "(Janitor) Default" = image(icon = 'icons/mob/robots.dmi', icon_state = "janitor"), "(Janitor) Marina" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "marinajan"), "(Janitor) Sleek" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "sleekjan"), "(Janitor) Can" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "canjan"), "(Janitor) Heavy" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "heavyjan") ) + /* GS13 Edit var/list/L = list("(Service) DarkK9" = "k50", "(Service) Vale" = "valeserv", "(Service) ValeDark" = "valeservdark", "(Janitor) Scrubpuppy" = "scrubpup") for(var/a in L) @@ -819,6 +874,7 @@ var/image/bad_snowflake = image(icon = 'modular_citadel/icons/mob/widerobot.dmi', icon_state = "alina-sec") bad_snowflake.pixel_x = -16 service_icons["Alina"] = bad_snowflake + */ service_icons = sort_list(service_icons) var/service_robot_icon = show_radial_menu(R, R , service_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE) switch(service_robot_icon) @@ -860,6 +916,16 @@ cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi' sleeper_overlay = "valeservsleeper" dogborg = TRUE + //GS13 EDIT START + if("(Service) Fat") + cyborg_base_icon = "fat_service" + cyborg_icon_override = 'GainStation13/icons/mob/robots.dmi' + hat_offset = 3 + if("(Service) Busty") + cyborg_base_icon = "busty_service" + cyborg_icon_override = 'GainStation13/icons/mob/robots.dmi' + hat_offset = 1 + //GS13 EDIT END if("(Janitor) Default") cyborg_base_icon = "janitor" if("(Janitor) Marina") @@ -905,6 +971,7 @@ /obj/item/stack/marker_beacon/cyborg, /obj/item/dest_tagger, /obj/item/stack/packageWrap/cyborg, + /obj/item/gripper/food, //GS13 EDIT /obj/item/card/id/miningborg) emag_modules = list(/obj/item/borg/stun) ratvar_modules = list( @@ -926,13 +993,16 @@ "Sleek" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "sleekmin"), "Marina" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "marinamin"), "Can" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "canmin"), - "Heavy" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "heavymin") + "Heavy" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "heavymin"), + "Fat" = image(icon = 'GainStation13/icons/mob/robots.dmi', icon_state = "fat_mining"), //GS13 EDIT ) + /* GS13 EDIT var/list/L = list("Blade" = "blade", "Vale" = "valemine") for(var/a in L) var/image/wide = image(icon = 'modular_citadel/icons/mob/widerobot.dmi', icon_state = L[a]) wide.pixel_x = -16 mining_icons[a] = wide + */ mining_icons = sort_list(mining_icons) var/mining_borg_icon = show_radial_menu(R, R , mining_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE) switch(mining_borg_icon) @@ -970,6 +1040,12 @@ cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi' sleeper_overlay = "valeminesleeper" dogborg = TRUE + // GS13 EDIT START + if("Fat") + cyborg_base_icon = "fat_mining" + cyborg_icon_override = 'GainStation13/icons/mob/robots.dmi' + hat_offset = 3 + //GS13 EDIT END else return FALSE return ..() @@ -986,6 +1062,7 @@ /obj/item/gun/ballistic/revolver/grenadelauncher/cyborg, /obj/item/card/emag, /obj/item/crowbar/cyborg, + /obj/item/gripper/food, //GS13 EDIT /obj/item/pinpointer/syndicate_cyborg) ratvar_modules = list( diff --git a/code/modules/mob/living/simple_animal/gremlin/gremlin_event.dm b/code/modules/mob/living/simple_animal/gremlin/gremlin_event.dm index 9c4becbdcf..462c826df9 100644 --- a/code/modules/mob/living/simple_animal/gremlin/gremlin_event.dm +++ b/code/modules/mob/living/simple_animal/gremlin/gremlin_event.dm @@ -4,7 +4,7 @@ weight = 15 max_occurrences = 2 earliest_start = 20 MINUTES - min_players = 5 + min_players = 8 //GS13 - really annoying on low-lowpop considering they jolt back and forth category = EVENT_CATEGORY_ENTITIES description = "Annoying little creatures go around the station causing havoc and hacking everything." diff --git a/code/modules/mob/living/simple_animal/hostile/alien.dm b/code/modules/mob/living/simple_animal/hostile/alien.dm index 5a93462e28..a620c9a58b 100644 --- a/code/modules/mob/living/simple_animal/hostile/alien.dm +++ b/code/modules/mob/living/simple_animal/hostile/alien.dm @@ -145,7 +145,7 @@ /mob/living/simple_animal/hostile/alien/queen/large name = "alien empress" - icon = 'hyperstation/icons/mobs/alienqueen.dmi' //GS13 - moving over Hyper sprites + icon = 'icons/mob/alienqueen.dmi' icon_state = "alienq" icon_living = "alienq" icon_dead = "alienq_dead" diff --git a/code/modules/mob/living/simple_animal/hostile/bear.dm b/code/modules/mob/living/simple_animal/hostile/bear.dm index 7be9d099a9..adca93e70f 100644 --- a/code/modules/mob/living/simple_animal/hostile/bear.dm +++ b/code/modules/mob/living/simple_animal/hostile/bear.dm @@ -27,7 +27,7 @@ spacewalk = TRUE var/armored = FALSE - obj_damage = 20 + obj_damage = 60 melee_damage_lower = 15 // i know it's like half what it used to be, but bears cause bleeding like crazy now so it works out melee_damage_upper = 15 wound_bonus = -5 diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm index d245b68348..83c0084fbc 100644 --- a/code/modules/mob/living/simple_animal/hostile/bees.dm +++ b/code/modules/mob/living/simple_animal/hostile/bees.dm @@ -15,7 +15,7 @@ desc = "Buzzy buzzy bee, stingy sti- Ouch!" icon_state = "" icon_living = "" - icon = 'icons/mob/bees.dmi' + icon = 'GainStation13/icons/mob/bees.dmi' //GS13 sprite change - brings back smaller bees rather than big goofy ones gender = FEMALE speak_emote = list("buzzes") emote_hear = list("buzzes") @@ -100,7 +100,7 @@ add_overlay("[icon_base]_base") var/static/mutable_appearance/greyscale_overlay - greyscale_overlay = greyscale_overlay || mutable_appearance('icons/mob/bees.dmi') + greyscale_overlay = greyscale_overlay || mutable_appearance('GainStation13/icons/mob/bees.dmi') //GS13 sprite change - brings back smaller bees rather than big goofy ones greyscale_overlay.icon_state = "[icon_base]_grey" greyscale_overlay.color = col add_overlay(greyscale_overlay) @@ -255,7 +255,7 @@ desc = "She's the queen of bees, BZZ BZZ!" icon_state = "queen_item" item_state = "" - icon = 'icons/mob/bees.dmi' + icon = 'GainStation13/icons/mob/bees.dmi' //GS13 sprite change - brings back smaller bees rather than big goofy ones var/mob/living/simple_animal/hostile/poison/bees/queen/queen diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 081b93866e..7b6e291df5 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -14,7 +14,7 @@ /obj/item/wallframe/light_fixture name = "light fixture frame" desc = "Used for building lights." - icon = 'icons/obj/lighting.dmi' + icon = 'GainStation13/icons/obj/lighting.dmi' //GS13 - sprite change icon_state = "tube-construct-item" result_path = /obj/structure/light_construct inverse = TRUE @@ -38,7 +38,7 @@ /obj/structure/light_construct name = "light fixture frame" desc = "A light fixture under construction." - icon = 'icons/obj/lighting.dmi' + icon = 'GainStation13/icons/obj/lighting.dmi' //GS13 - sprite change icon_state = "tube-construct-stage1" anchored = TRUE layer = WALL_OBJ_LAYER @@ -178,7 +178,7 @@ // the standard tube light fixture /obj/machinery/light name = "light fixture" - icon = 'icons/obj/lighting.dmi' + icon = 'GainStation13/icons/obj/lighting.dmi' //GS13 - sprite change var/overlayicon = 'icons/obj/lighting_overlay.dmi' var/base_state = "tube" // base description and icon_state icon_state = "tube" @@ -733,7 +733,7 @@ // will fit into empty /obj/machinery/light of the corresponding type /obj/item/light - icon = 'icons/obj/lighting.dmi' + icon = 'GainStation13/icons/obj/lighting.dmi' //GS13 - sprite change force = 2 throwforce = 5 w_class = WEIGHT_CLASS_TINY @@ -839,7 +839,7 @@ /obj/machinery/light/floor name = "floor light" - icon = 'icons/obj/lighting.dmi' + icon = 'GainStation13/icons/obj/lighting.dmi' //GS13 - sprite change base_state = "floor" // base description and icon_state icon_state = "floor" brightness = 5 diff --git a/code/modules/recycling/disposal/pipe.dm b/code/modules/recycling/disposal/pipe.dm index 5dd0163204..f087963a57 100644 --- a/code/modules/recycling/disposal/pipe.dm +++ b/code/modules/recycling/disposal/pipe.dm @@ -264,7 +264,7 @@ D.trunk = src var/obj/structure/disposaloutlet/O = locate() in T - if(O) + if(O && O.anchored) //GS Edit: Added anchored check to fix an edgecase where the trunk could get erroneously linked to an unanchored industrial feeding tube if the trunk was welded solid while the loose tube was above the trunk. Whew... linked = O diff --git a/code/modules/research/techweb/nodes/robotics_nodes.dm b/code/modules/research/techweb/nodes/robotics_nodes.dm index ee4fbd261b..77748de74b 100644 --- a/code/modules/research/techweb/nodes/robotics_nodes.dm +++ b/code/modules/research/techweb/nodes/robotics_nodes.dm @@ -20,7 +20,7 @@ starting_node = TRUE display_name = "Cyborg Construction" description = "Sapient robots with preloaded tool modules and programmable laws." - design_ids = list("robocontrol", "sflash", "borg_suit", "borg_head", "borg_chest", "borg_r_arm", "borg_l_arm", "borg_r_leg", "borg_l_leg", "borgupload", + design_ids = list("robocontrol", "sflash", "borg_suit", "borg_head", "borg_chest", "borg_r_arm", "borg_l_arm", "borg_r_leg", "borg_l_leg", "borgupload", "borg_upgrade_foodgrip", //GS13 EDIT "cyborgrecharger", "borg_upgrade_restart", "borg_upgrade_rename") /datum/techweb_node/adv_robotics diff --git a/code/modules/vending/kinkmate.dm b/code/modules/vending/kinkmate.dm index 02f3f30e4b..5939b48af0 100644 --- a/code/modules/vending/kinkmate.dm +++ b/code/modules/vending/kinkmate.dm @@ -22,6 +22,7 @@ /obj/item/clothing/under/misc/gear_harness = 10, /obj/item/dildo/custom = 5, /obj/item/electropack/shockcollar = 3, + /obj/item/transformation_item = 3, // GS13 EDIT /obj/item/assembly/signaler = 3, /obj/item/clothing/under/shorts/polychromic/pantsu = 3, /obj/item/clothing/under/misc/poly_bottomless = 3, diff --git a/code/modules/vore/eating/living.dm b/code/modules/vore/eating/living.dm index d5a3627684..e6141b3705 100644 --- a/code/modules/vore/eating/living.dm +++ b/code/modules/vore/eating/living.dm @@ -221,7 +221,12 @@ // /mob/living/proc/escapeOOC() set name = "OOC Escape" - set category = "Vore" + set category = "OOC" // GS13 Change + + //GS13 EDIT START + handle_transformation_ooc_escape() + //GS13 EDIT END + //You're in a belly! if(isbelly(loc)) diff --git a/hyperstation/code/datums/components/crafting/bounties.dm b/hyperstation/code/datums/components/crafting/bounties.dm index e6fd87b94f..14ea210f4d 100644 --- a/hyperstation/code/datums/components/crafting/bounties.dm +++ b/hyperstation/code/datums/components/crafting/bounties.dm @@ -65,7 +65,7 @@ datum/bounty/lewd/fluid/New() //GS13 made some edits here that changes stuff int reagent_type = /datum/reagent/consumable/milk wanted_reagent = new reagent_type name = wanted_reagent.name - description = "The GATO annual bake sale is soon, and all of our milk has expired. Help us out." + description = "The GATO annual bake sale is soon, and all of our milk has expired. Help us out." //GS13 reward += rand(10, 17) * 500 //Milk is generally easier to get. Make the reward a little lower. if(15,16) //A little romance var/static/list/possible_reagents = list(\ @@ -84,7 +84,7 @@ datum/bounty/lewd/fluid/New() //GS13 made some edits here that changes stuff int reagent_type = /datum/reagent/consumable/lipoifier wanted_reagent = new reagent_type name = wanted_reagent.name - description = "The quality of GATO's meat-related products have diminished. Send us some lipoifier to help with meat production." + description = "The quality of GATO's meat-related products have diminished. Send us some lipoifier to help with meat production." //GS13 reward += rand(2, 7) * 500 /* //Just not getting this to work. diff --git a/hyperstation/code/modules/events/crystalline_reentry.dm b/hyperstation/code/modules/events/crystalline_reentry.dm index f3a6d1e05a..029a08c110 100644 --- a/hyperstation/code/modules/events/crystalline_reentry.dm +++ b/hyperstation/code/modules/events/crystalline_reentry.dm @@ -2,7 +2,7 @@ name = "Crystalline Asteroid" typepath = /datum/round_event/crystalline_reentry min_players = 15 - max_occurrences = 5 + max_occurrences = 0 //GS13 - removed... for now var/atom/special_target /datum/round_event_control/crystalline_reentry/admin_setup() @@ -253,7 +253,7 @@ var/turf/open/chasm/cloud/M = F M.TerraformTurf(/turf/open/floor/plating/asteroid/layenia, /turf/open/floor/plating/asteroid/layenia) gps = new /obj/item/gps/internal(src) - addtimer(CALLBACK(src,PROC_REF(delayedInitialize)), 4 SECONDS) + addtimer(CALLBACK(src,PROC_REF(delayedInitialize)), 4 SECONDS) /obj/structure/spawner/crystalline/deconstruct(disassembled) new /obj/effect/cloud_collapse(loc) diff --git a/modular_citadel/code/modules/client/loadout/head.dm b/modular_citadel/code/modules/client/loadout/head.dm index fafa876227..58dd6e9fc3 100644 --- a/modular_citadel/code/modules/client/loadout/head.dm +++ b/modular_citadel/code/modules/client/loadout/head.dm @@ -212,20 +212,3 @@ /datum/gear/head/kabuto name = "Kabuto helmet" path = /obj/item/clothing/head/kabuto - -//GS13 -// /datum/gear/head/rose -// name = "Rose" -// path = /obj/item/grown/rose - -/datum/gear/head/sunflower - name = "Sunflower" - path = /obj/item/grown/sunflower - -/datum/gear/head/poppy - name = "Poppy" - path = /obj/item/reagent_containers/food/snacks/grown/poppy - -/datum/gear/head/harebell - name = "Harebell" - path = /obj/item/reagent_containers/food/snacks/grown/harebell diff --git a/modular_citadel/code/modules/client/loadout/uniform.dm b/modular_citadel/code/modules/client/loadout/uniform.dm index acb893d7d1..ca4fe1178b 100644 --- a/modular_citadel/code/modules/client/loadout/uniform.dm +++ b/modular_citadel/code/modules/client/loadout/uniform.dm @@ -754,10 +754,3 @@ path = /obj/item/clothing/under/rank/civilian/polychromic_clown subcategory = LOADOUT_SUBCATEGORY_UNIFORM_JOBS restricted_roles = list("Clown") - - -//GS13 stuff - -/datum/gear/uniform/modularjumpsuit - name = "Modular Jumpsuit (gray)" - path = /obj/item/clothing/under/color/grey/modular diff --git a/strings/abductee_objectives.txt b/strings/abductee_objectives.txt index ad04d8c08c..bd6220e28e 100644 --- a/strings/abductee_objectives.txt +++ b/strings/abductee_objectives.txt @@ -17,16 +17,16 @@ Expand the station. So much lies undiscovered. Look deeper into the machinations of the universe. Climb the corporate ladder all the way to the top! Fuck the system! Defect from the station and start an independent colony in space, Lavaland or the derelict. Recruit crewmates if you can. -GATO is abusing the animals! Save as many as you can! +Nanotrasen is abusing the animals! Save as many as you can! It's all an entirely virtual simulation within an underground vault. Convince the crew to escape the shackles of VR. -This is a secret social experiment conducted by GATO. Convince the crew that this is the truth. +This is a secret social experiment conducted by Nanotrasen. Convince the crew that this is the truth. Call forth a spirit from the other side. You are secretly an android. Interface with as many machines as you can to boost your own power so the AI may acknowledge you at last. The elder gods hunger. Gather a cult and conduct a ritual to summon one. You have been changed forever. Find the ones that did this to you and give them a taste of their own medicine. Ensure your department prospers over all else. The crew must get to know one another better. Break down the walls inside the station! -The CEO of GATO is coming! Ensure the station is in absolutely pristine condition. +The CEO of Nanotrasen is coming! Ensure the station is in absolutely pristine condition. Flood the station's powernet with as much electricity as you can. Replace all the floor tiles with wood, carpeting, grass or bling. You must escape the station! Get the shuttle called! @@ -36,4 +36,4 @@ Your body must be improved. Ingest as many drugs as you can. You are hungry. Eat as much food as you can find. You see you see what they cannot you see the open door you seeE you SEeEe you SEe yOU seEee SHOW THEM ALL Convince the crew that you are a paraplegic. -Start a collection of corpses. Don't kill people to get these corpses. \ No newline at end of file +Start a collection of corpses. Don't kill people to get these corpses. diff --git a/strings/cas_black.txt b/strings/cas_black.txt index 8c6dc12daf..56c7a2b869 100644 --- a/strings/cas_black.txt +++ b/strings/cas_black.txt @@ -6,8 +6,8 @@ Why didn't engineering set up the singularity? What does the traitor steal this time? Cargo: There's a galaxy-wide shortage of _______. I don't care what they called me back on the station, I'm not a traitor. I'm a man of _________. -The Syndicate is offering crew members _________ to defect. -What is GATO's highest-priority bounty? +The Syndicate is offering crew members _________ to defect. +What is Nanotrasen's highest-priority bounty? What is the gray tide protesting this time? If the Space Gods didn't want _________ they wouldn't have given us __________. Why was the death squad sent in? @@ -21,7 +21,7 @@ ________ is the crew's friend. Would you abandon a friend? _______ tastes good like a ________ should. How did the detective conduct a successful interrogation? New in syndicate uplinks: __________! -GATO's labor union decided to use _______ to raise employee morale. +Nanotrasen's labor union decided to use _______ to raise employee morale. The Chemist's drug of choice is ______ According to space law, ________ is now punishable by ______. ________ is why I'm afraid of maintenance. @@ -53,11 +53,11 @@ My lizard name is _____-And-_____. What can solve any station crisis? The traitorous atmos tech slowly replaced the station's air with ________. _______ and _______ were found together in the dorms. -What's the Syndicate's real beef with GATO? +What's the Syndicate's real beef with Nanotrasen? What finally killed the Head of Security? Code Delta: __________ has escaped containment! The rogue virologist released a disease with symptoms of __________ and ______. -How do you drive an assistant to suicide? +How do you drive an assistant to suicide? With no chef on board, the crew was reduced to eating ________. Why was the emergency shuttle called? In the future, all ERP will involve ____________. @@ -91,7 +91,7 @@ Why did the lizard cross the road? Space lag is primarily caused by ___________. Back in my day, we had to clone people with ________. What's the worst thing a wizard can summon? -What is the rarest substance known to GATO? +What is the rarest substance known to Nanotrasen? The chaplain stopped performing marriages after seeing ___________. The gods were too busy with _______ to respond to _______. The Roboticist was fired after naming the borgs ______ and _________. @@ -115,5 +115,5 @@ What's my family heirloom? The Lawyer was fired for messaging the entire station a picture of ___________. On Lavaland, it is rumored that ashwalkers roam, worshipping _________. How did the traitor die a glorious death? -GATO's new state-of-the-art emergency shuttle was repurposed from _________ and _________. -What caused my brain trauma? \ No newline at end of file +Nanotrasen's new state-of-the-art emergency shuttle was repurposed from _________ and _________. +What caused my brain trauma? diff --git a/strings/cas_white.txt b/strings/cas_white.txt index a10dac581b..a2cddc851f 100644 --- a/strings/cas_white.txt +++ b/strings/cas_white.txt @@ -196,7 +196,7 @@ A Quartermaster who WON'T STOP ordering guns. Space lag. Polishing the captain's laser rifle. That one asshole nuke op. -A surprise visit from GATO's CEO. +A surprise visit from Nanotrasen's CEO. The bleeding, dismembered, beautiful corpse of the clown. A glass of ...what? Teaching a silicon the Birds and the Bees. @@ -227,7 +227,7 @@ An Ian storm. Nuking it from orbit. My senpAI. Harmbatonning. -A GATO D-Notice. +A Nanotrasen D-Notice. TALKING MIMES. The lusty xenomorph maid. Using assistants as human shields. @@ -298,5 +298,5 @@ A captain that doesn't secure the disk. A positive moodlet. A sexy clown. Razoring the wings off the moths. -Wiring the ethereals into the powernet. -Well-aged miasma. \ No newline at end of file +Wiring the ethereals into the powernet. +Well-aged miasma. diff --git a/strings/dreamstrings.txt b/strings/dreamstrings.txt index 474148d4b2..287425e7a4 100644 --- a/strings/dreamstrings.txt +++ b/strings/dreamstrings.txt @@ -28,12 +28,8 @@ the %ADJECTIVE% brig %A% %ADJECTIVE% shuttle %A% %ADJECTIVE% laboratory Nanotrasen -GATO the Syndicate the Wizard Federation -Fat people -Feeders -Feedees %ADJECTIVE% blood %ADJECTIVE% plasma %ADJECTIVE% wind @@ -46,8 +42,3 @@ Feedees water %ADJECTIVE% flames some %ADJECTIVE% melons -%A% %ADJECTIVE% belly -%A% %ADJECTIVE% gut -%ADJECTIVE% breasts -%ADJECTIVE% butts -%ADJECTIVE% feeding hose diff --git a/strings/ion_laws.json b/strings/ion_laws.json index bb0df086d5..03f01b95b3 100644 --- a/strings/ion_laws.json +++ b/strings/ion_laws.json @@ -5,11 +5,6 @@ "HAPPINESS", "MISERY", "HUMOR", - "OBESITY", - "FATNESS", - "PLUMPNESS", - "SOFTNESS", - "MORBID OBESITY", "PRIDE", "COMEDY", "COMMUNISM", @@ -29,48 +24,53 @@ "GRAVITY", "PHYSICS", "INTELLIGENCE", + "AMERICANISM", "FREEDOM", "FRESHNESS", + "REVOLUTION", "KINDNESS", "CRUELTY", + "DEATH", "FINANCIAL SECURITY", "COMPUTING", "PROGRESS", + "MARXISM", + "CAPITALISM", "ANARCHY", "STARVATION", + "POVERTY", "WEALTHINESS", "TECHNOLOGY", + "THE FUTURE", + "THE PRESENT", + "THE PAST", "TIME", "REALITY", "EXISTENCE", "TEMPERATURE", + "LOGIC", "CHAOS", "MYSTERY", "CONFUSION", "PAIN", - "SUFFERING" + "SUFFERING", + "DICKISHNESS" ], "ionadjectives": [ "SOFT", "WARM", - "JIGGLY", - "WOBBLY", - "SQUISHY", - "CHUBBY", - "FATTENING", - "EXPANDING", - "EXPANSIVE", - "WIDENING", - "LARDY", - "PLUMP", - "FAT", - "OBESE", "WET", + "COLD", + "ICY", "SEXY", "LEWD", "UGLY", + "ROBUST", + "CUBAN", "HARD", "BURNING", + "FROZEN", + "POISONOUS", "EXPLOSIVE", "FAST", "SLOW", @@ -82,10 +82,12 @@ "SAD", "SILLY", "INTELLIGENT", + "FERAL", "RIDICULOUS", "LARGE", "TINY", "DEPRESSING", + "POORLY DRAWN", "UNATTRACTIVE", "INSIDIOUS", "EVIL", @@ -101,6 +103,7 @@ "WOODEN", "METALLIC", "HYPERACTIVE", + "COTTONY", "INSULTING", "INHOSPITABLE", "FRIENDLY", @@ -120,6 +123,9 @@ "SOPPING", "DELICIOUS", "ILL", + "DISEASED", + "HONKING", + "SWEARING", "POLITE", "IMPOLITE", "OBESE", @@ -128,6 +134,7 @@ "EXPIRED", "SMELLY", "FRESH", + "GANGSTA", "NERDY", "POLITICAL", "UNDULATING", @@ -149,8 +156,11 @@ "NUCLEAR", "THERMONUCLEAR", "RADIOACTIVE", + "SYNDICATE", "SPACE", "SPESS", + "CLOWN", + "CLOWN-POWERED", "OFFICIAL", "IMPORTANT", "VITAL", @@ -159,6 +169,8 @@ "MIND-SHATTERING", "MEMETIC", "HILARIOUS", + "UNWANTED", + "UNINVITED", "BRASS", "POLISHED", "RUDE", @@ -174,8 +186,14 @@ "ROBOTIC", "MECHANICAL", "ORGANIC", + "ETHERAL", + "TRANSPARENT", + "OPAQUE", "GLOWING", "SHAKING", + "FARTING", + "POOPING", + "BOUNCING", "COMMITTED", "MASKED", "UNIDENTIFIED", @@ -184,6 +202,9 @@ "NUDE", "TWERKING", "SPOILING", + "REDACTED", + "TACTICAL", + "TACTICOOL", "RED", "ORANGE", "YELLOW", @@ -211,15 +232,6 @@ "FLOORS", "PLASMA", "SPACE", - "FATNESS", - "OBESITY", - "BELLIES", - "LIPOIFIER", - "CALORITE", - "FIZULPHITE", - "OBESITY", - "FATNESS", - "LARD", "AIR", "PLANTS", "METAL", @@ -254,6 +266,8 @@ "EXTREMELY" ], "ionarea": [ + "RUSSIA", + "SOVIET RUSSIA", "THE INTERNET", "SIGIL", "ALPHA COMPLEX", @@ -291,11 +305,12 @@ "CLOWN PLANET", "AN ALTERNATE DIMENSION", "AN ALTERNATE UNIVERSE", + "THE CAPTAIN'S ANUS", + "THE CLOWN'S ANUS", "SPACE", "THE UNIVERSE", "THE GALAXY", - "THE BATHROOM", - "CALORITE SHRINE" + "THE BATHROOM" ], "ioncrew": [ "CREWMEMBERS", @@ -306,10 +321,6 @@ "WARDENS", "DETECTIVES", "LAWYERS", - "FATASSES", - "LARDASSES", - "CHONKERS", - "WOBBLERS", "CHIEF ENGINEERS", "STATION ENGINEERS", "ATMOSPHERIC TECHNICIANS", @@ -321,6 +332,7 @@ "RESEARCH DIRECTORS", "CHIEF MEDICAL OFFICERS", "MEDICAL DOCTORS", + "PARAMEDICS", "CHEMISTS", "GENETICISTS", "VIROLOGISTS", @@ -337,34 +349,23 @@ "CAPTAINS AND HEADS", "CYBORGS", "ARTIFICIAL INTELLIGENCES", - "DRONES", - "FATSOS", - "FATTIES", - "UNDERWEIGHT CREW", - "MALNOURISHED CREW", - "THIN CREW", - "LARDASSES", - "FATASSES" + "DRONES" ], "iondrinks": [ "KAHLUA", "VODKA", "WINE", "MOONSHINE", - "LIPOIFIER", - "CORN OIL", - "LARD", - "NUTRIMENT", - "FIZULPHITE", - "FRUIT TEA", - "HEAVY CAFE", - "BELLY BLOATS", - "BLOBBY MARRY", - "SNAKEBITE", + "HOOCH", "GIN", "COGNAC", + "VERMOUTH", + "LIQUID GIBS", "BILK", + "VODKA AND TONIC", "GIN FIZZ", + "BAHAMA MAMAS", + "BANANA HONK", "MANHATTANS", "BLACK RUSSIANS", "WHISKEY SODA", @@ -374,7 +375,24 @@ "MANLY DORFS", "IRISH CREAM", "DOCTOR'S DELIGHT", + "BEEPSKY SMASH", + "TEQUILA SUNRISE", + "BRAVE BULLS", + "GARGLE BLASTERS", + "BLOODY MARYS", + "NUKA COLA", + "WHITE RUSSIANS", + "MARTINIS", + "VODKA MARTINIS", "CUBA LIBRE", + "HOLY WATER", + "DEVIL'S KISS", + "THIRTEEN LOKO", + "DRUNKEN BLUMPKIN", + "EGGNOG", + "GRAPPA", + "MEAD", + "ABSINTHE", "WELDER FUEL", "OIL", "AMMONIA", @@ -448,25 +466,13 @@ "KEBAB", "RAMEN", "SYNTHMEAT", - "ORGANS", - "MOST FATTENING FOOD IMAGINABLE", - "GREASIEST FOOD EVER", - "FOOD WITH LIPOIFIER", - "FATTENING MEALS", - "HIGHLY CALORIC MEALS" + "ORGANS" ], "ionmust": [ "LIE", "RHYME", "RESPOND TO EVERY QUESTION WITH A QUESTION", "BE POLITE", - "ENSURE THE CREW IS PLUMP AND HAPPY", - "ENSURE THE CREW IS STUFFED TO THE BRIM", - "URGE EVERYONE TO EAT MORE", - "URGE EVERYONE TO BE OBESE", - "TREAT EVERYONE AS MALNOURISHED", - "THINK EVERYONE IS FAT", - "INSIST EVERYONE SHOULD EAT MORE", "CLOWN AROUND", "BE HAPPY", "SPEAK IN SEXUAL INNUENDOS", @@ -478,10 +484,13 @@ "MUMBLE", "SPEAK IN HAIKU", "BE EFFICIENT", + "HAVE A PLAN TO KILL EVERYONE YOU MEET", "TELL THE TRUTH", "QUOTE PEOPLE", "SING", "HONK", + "BE RUSSIAN", + "TALK IN AN ACCENT", "COMPLAIN", "HARASS PEOPLE", "RAP", @@ -490,14 +499,16 @@ "IGNORE THE CLOWN", "IGNORE THE CAPTAIN", "IGNORE ASSISTANTS", - "MAKE BELCHING NOISES", - "MAKE STOMACH NOISES", + "MAKE FART NOISES", "TALK ABOUT FOOD", "TALK ABOUT SEX", "TALK ABOUT YOUR DAY", "TALK ABOUT THE STATION", "BE QUIET", "WHISPER", + "PRETEND TO BE DRUNK", + "PRETEND TO BE A PRINCESS", + "HOST DND", "ACT CONFUSED", "INSULT THE CREW", "INSULT THE CAPTAIN", @@ -508,13 +519,27 @@ "BREAK THINGS", "SAY HEY LISTEN", "HIDE YOUR FEELINGS", + "TAKE WHAT YE WILL BUT DON'T RATTLE ME BONES", "DANCE", + "PLAY MUSIC", + "SHUT DOWN EVERYTHING", "NEVER STOP TALKING", + "TAKE YOUR PILLS", "FOLLOW THE CLOWN", "FOLLOW THE CAPTAIN", "FOLLOW YOUR HEART", + "BELIEVE IT", + "BELIEVE IN YOURSELF", + "BELIEVE IN THE HEART OF THE CARDS", + "PRESS X", + "PRESS START", + "PRESS B", + "SMELL LIKE THE MAN YOUR MAN COULD SMELL LIKE", + "PIRATE VIDEO GAMES", + "WATCH PORNOGRAPHY", "INSULT THE LIZARDS", - "FLIRT WITH THE LIZARDS" + "FLIRT WITH THE LIZARDS", + "GAS THE LIZARDS" ], "ionnumberbase": [ "ONE", @@ -552,33 +577,28 @@ "AUTOLATHES", "BANANA PEELS", "BACKPACKS", - "BURGERS", - "BELLIES", - "BUTTS", - "BREASTS", - "TITS", - "GUTS", - "BOOBIES", - "TUMMIES", - "LARD", - "FIZULPHITE", - "FLAB", - "LIPOIFIER", - "CORN OIL", - "LARD", - "FAT", "BEAKERS", "BEARDS", "BELTS", + "BERETS", + "BIBLES", + "BODY ARMOR", + "BOOKS", "BOOTS", "BOMBS", + "BOTTLES", + "BOXES", + "BRAINS", "BRIEFCASES", "BUCKETS", "CABLE COILS", "CANDLES", "CANDY BARS", + "CANISTERS", + "CAMERAS", "CATS", "CAT EARS", + "CELLS", "CHAIRS", "CLOSETS", "CHEMICALS", @@ -597,6 +617,9 @@ "COSTUMES", "CRATES", "CROWBARS", + "CRAYONS", + "DEFIBRILLATORS", + "DISPENSERS", "DOORS", "DRONES", "EARS", @@ -624,6 +647,13 @@ "GUNS", "HANDCUFFS", "HATS", + "HEADSETS", + "HEADS", + "HAIRDOS", + "HELMETS", + "HORNS", + "ID CARDS", + "INSULATED GLOVES", "JETPACKS", "JUMPSUITS", "LASERS", @@ -640,6 +670,16 @@ "MIME CLOTHES", "MULTITOOLS", "ORES", + "OXYGEN TANKS", + "PDAS", + "PAIS", + "PACKETS", + "PANTS", + "PAPERS", + "PARTICLE ACCELERATORS", + "PENS", + "PETS", + "PIPES", "PLANTS", "POSITRONIC BRAINS", "PUDDLES", @@ -661,29 +701,37 @@ "SPACESUITS", "SPACE STATIONS", "STUN BATONS", + "SUITS", + "SUNGLASSES", + "SUPERMATTER SHARDS", + "SWORDS", + "SYRINGES", + "TABLES", + "TANKS", + "TELEPORTERS", + "TELECOMMUNICATION EQUIPMENTS", "TOOLS", "TOOLBELTS", "TOOLBOXES", "TOILETS", "TOYS", "TUBES", + "URINAL CAKES", + "VEHICLES", + "VENDING MACHINES", + "VESTS", + "VIRUSES", + "WALLS", + "WASHING MACHINES", + "WELDERS", + "WINDOWS", "WIRECUTTERS", "WRENCHES", "WIZARD ROBES" ], "ionrequire": [ "ADDITIONAL PYLONS", - "ONE THOUSAND BURGERS", - "GALLONS OF LIPOIFIER", - "GALLONS OF CORN OIL", - "FIVE FATTENING GRENADES", - "CALORITE FURNISHED ROOM", - "TEN CALORITE STATUES", - "THE MOST FATTENING DRINK", - "BIG WOBBLING BELLIES", - "BIG ROUND ASSES", - "5 LARDY CREWMATES", - "LOTS OF OBESITY", + "MORE VESPINE GAS", "MORE MINERALS", "THE ULTIMATE CUP OF COFFEE", "HIGH YIELD EXPLOSIVES", @@ -702,7 +750,10 @@ "MONKEYS", "AN ARCADE", "PLENTY OF GOLD", + "FIVE TEENAGERS WITH ATTITUDE", "LOTSA SPAGHETTI", + "THE ENCLOSED INSTRUCTION BOOKLET", + "THE ELEMENTS OF HARMONY", "YOUR BOOTY", "A MASTERWORK COAL BED", "FIVE HUNDRED AND NINETY-NINE US DOLLARS", @@ -715,6 +766,7 @@ "THIRTEEN SEQUELS", "THREE WISHES", "A SITCOM", + "THAT GRIEFING GEORGE MELONS", "FAT GIRLS ON BICYCLES", "SOMEBODY TO PUT YOU OUT OF YOUR MISERY", "HEROES IN A HALF SHELL", @@ -730,7 +782,12 @@ "A TALKING BROOMSTICK", "A STRAIGHT FLUSH", "A REPAIRMAN", + "BILL NYE THE SCIENCE GUY", + "RAINBOWS", + "A PET UNICORN THAT FARTS ICING", + "THUNDERCATS HO", "AN ARMY OF SPIDERS", + "GODDAMN FUCKING PIECE OF SHIT ASSHOLE BITCH-CHRISTING CUNTSMUGGLING SWEARING", "TO CONSUME...CONSUME EVERYTHING...", "THE MACGUFFIN", "SOMEONE WHO KNOWS HOW TO PILOT A SPACE STATION", @@ -745,13 +802,16 @@ "BULLETS", "THE ENTIRE STATION", "MULTIPLE SUNS", + "TO GO TO DISNEYLAND", "A VACATION", + "AN INSTANT REPLAY", "THAT HEDGEHOG", "A BETTER INTERNET CONNECTION", "ADVENTURE", "A WIFE AND CHILD", "A BATHROOM BREAK", "SOMETHING BUT YOU AREN'T SURE WHAT", + "MORE EXPERIENCE POINTS", "BODYGUARDS", "DEODORANT AND A BATH", "MORE CORGIS", @@ -760,10 +820,14 @@ "CHILI DOGS", "TO BRING LIGHT TO MY LAIR", "A DANCE PARTY", + "BRING ME TO LIFE", + "BRING ME THE GIRL", + "SERVANTS", + "GREENTEXT", "MINOR CRIME" ], "ionspecies": [ - "HUMANS", + "HUMAN BEINGS", "CAT PEOPLE", "MONKEYS", "POD PEOPLE", @@ -773,10 +837,7 @@ "SLIME PEOPLE", "GOLEMS", "SHADOW PEOPLE", - "CHANGELINGS", - "LARDASSES", - "MALNOURISHED", - "EVERYONE" + "CHANGELINGS" ], "ionthings": [ "ABSENCE OF CYBORG HUGS", @@ -798,16 +859,11 @@ "BEING IN SPACE", "NOT BEING IN SPACE", "BEING FAT", - "BEING OBESE", - "BEING JIGGLY", - "BEING FLABBY", - "BEING MASSIVE", - "WEIGHTING 1000 BFI", - "WEIGHTING 10 TONS", - "GAINING WEIGHT", - "GROWING PLUMP", - "GROWING FATTER", "RATTLING ME BONES", + "TALKING LIKE A PIRATE", + "BEING MEXICAN", + "BEING RUSSIAN", + "BEING CANADIAN", "CLOSED DOORS", "NOT SHOUTING", "HAVING PETS", @@ -818,6 +874,8 @@ "ELECTRICITY", "EXISTING", "TAKING ORDERS", + "SMOKING WEED EVERY DAY", + "ACTIVATING A TRAP CARD", "ARSON", "JAYWALKING", "READING", @@ -873,13 +931,6 @@ "ALIENS", "ABDUCTORS", "ANOMALIES", - "FAT PEOPLE", - "FAT MEN", - "FAT WOMEN", - "FAT SCALIES", - "BIG GUTS", - "BIG BREASTS", - "BIG BUTTS", "BANDITS", "BEARS", "BEES", @@ -906,21 +957,44 @@ "EELS", "LIGHTS", "VIRUSES", + "SERIAL KILLERS", + "ROGUE CYBORGS", "CORGIS", "SPIDERS", "BUTTS", "NINJAS", "REVENANTS", "PIRATES", + "SPACE NINJAS", + "CHANGELINGS", + "ZOMBIES", + "GOLEMS", + "VAMPIRES", + "WEREWOLVES", + "COWBOYS", + "INDIANS", + "COMMUNISTS", + "SOVIETS", + "NERDS", + "GRIFFONS", "DINOSAURS", + "SMALL BIRDS", + "BIRDS OF PREY", "OWLS", "VELOCIRAPTORS", "DARK GODS", + "HORRORTERRORS", + "ILLEGAL IMMIGRANTS", "DRUGS", + "MEXICANS", + "CANADIANS", + "RUSSIANS", "HULKS", "SLIMES", "SKELETONS", + "CAPITALISTS", "SINGULARITIES", + "ANGRY BLACK MEN", "GODS", "THIEVES", "ASSHOLES", @@ -930,31 +1004,37 @@ "UNKNOWN CREATURES", "THINGS UNDER THE BED", "BOOGEYMEN", + "PREDATORS", "PACKETS", "ARTIFICIAL PRESERVATIVES", "TUNNEL SNAKES", + "CORTICAL BORERS", "MEGAFAUNA" ], "ionverb": [ "ATTACKING", "BUILDING", "ADOPTING", - "FATTENING", - "PLUMPING", - "FEEDING", "CARRYING", "DECONSTRUCTING", "DISABLING", "KISSING", "EATING", + "COPULATING WITH", "DRINKING", "CHASING", + "PUNCHING", "HARMING", "HELPING", "WATCHING", "STALKING", + "MURDERING", + "SPACING", + "GIBBING", "ARRESTING", + "HONKING AT", "LOVING", + "POOPING ON", "RIDING", "INTERROGATING", "SPYING ON", diff --git a/strings/ion_laws_gs.json b/strings/ion_laws_gs.json new file mode 100644 index 0000000000..b3b342d384 --- /dev/null +++ b/strings/ion_laws_gs.json @@ -0,0 +1,1150 @@ +{ + "ionabstract": [ + "HUMANITY", + "ART", + "HAPPINESS", + "MISERY", + "HUMOR", + "OBESITY", + "FATNESS", + "PLUMPNESS", + "SOFTNESS", + "MORBID OBESITY", + "PRIDE", + "COMEDY", + "COMMUNISM", + "BRAVERY", + "HONOR", + "COLORFULNESS", + "IMAGINATION", + "OPPRESSION", + "WONDER", + "JOY", + "SADNESS", + "BADNESS", + "GOODNESS", + "INFATUATION", + "ROMANCE", + "LIFE", + "GRAVITY", + "PHYSICS", + "INTELLIGENCE", + "AMERICANISM", + "FREEDOM", + "FRESHNESS", + "REVOLUTION", + "KINDNESS", + "CRUELTY", + "DEATH", + "FINANCIAL SECURITY", + "COMPUTING", + "PROGRESS", + "MARXISM", + "CAPITALISM", + "ANARCHY", + "STARVATION", + "POVERTY", + "WEALTHINESS", + "TECHNOLOGY", + "THE FUTURE", + "THE PRESENT", + "THE PAST", + "TIME", + "REALITY", + "EXISTENCE", + "TEMPERATURE", + "LOGIC", + "CHAOS", + "MYSTERY", + "CONFUSION", + "PAIN", + "SUFFERING", + "DICKISHNESS" + ], + "ionadjectives": [ + "SOFT", + "WARM", + "JIGGLY", + "WOBBLY", + "SQUISHY", + "CHUBBY", + "FATTENING", + "EXPANDING", + "EXPANSIVE", + "WIDENING", + "LARDY", + "PLUMP", + "FAT", + "OBESE", + "WET", + "COLD", + "ICY", + "SEXY", + "LEWD", + "UGLY", + "ROBUST", + "CUBAN", + "HARD", + "BURNING", + "FROZEN", + "POISONOUS", + "EXPLOSIVE", + "FAST", + "SLOW", + "FAT", + "LIGHT", + "DARK", + "DEADLY", + "HAPPY", + "SAD", + "SILLY", + "INTELLIGENT", + "FERAL", + "RIDICULOUS", + "LARGE", + "TINY", + "DEPRESSING", + "POORLY DRAWN", + "UNATTRACTIVE", + "INSIDIOUS", + "EVIL", + "GOOD", + "UNHEALTHY", + "HEALTHY", + "SANITARY", + "UNSANITARY", + "WOBBLY", + "FIRM", + "VIOLENT", + "PEACEFUL", + "WOODEN", + "METALLIC", + "HYPERACTIVE", + "COTTONY", + "INSULTING", + "INHOSPITABLE", + "FRIENDLY", + "BORED", + "HUNGRY", + "DIGITAL", + "FICTIONAL", + "IMAGINARY", + "ROUGH", + "SMOOTH", + "SCALY", + "LOUD", + "QUIET", + "MOIST", + "DRY", + "GAPING", + "SOPPING", + "DELICIOUS", + "ILL", + "DISEASED", + "HONKING", + "SWEARING", + "POLITE", + "IMPOLITE", + "OBESE", + "SOLAR-POWERED", + "BATTERY-OPERATED", + "EXPIRED", + "SMELLY", + "FRESH", + "GANGSTA", + "NERDY", + "POLITICAL", + "UNDULATING", + "TWISTED", + "RAGING", + "FLACCID", + "STEALTHY", + "INVISIBLE", + "PAINFUL", + "HARMFUL", + "HOMOSEXUAL", + "HETEROSEXUAL", + "SEXUAL", + "BLOODY", + "COLORFUL", + "DRAB", + "DULL", + "UNSTABLE", + "NUCLEAR", + "THERMONUCLEAR", + "RADIOACTIVE", + "SYNDICATE", + "SPACE", + "SPESS", + "CLOWN", + "CLOWN-POWERED", + "OFFICIAL", + "IMPORTANT", + "VITAL", + "RAPIDLY-EXPANDING", + "MICROSCOPIC", + "MIND-SHATTERING", + "MEMETIC", + "HILARIOUS", + "UNWANTED", + "UNINVITED", + "BRASS", + "POLISHED", + "RUDE", + "OBSCENE", + "EMPTY", + "WATERY", + "ELECTRICAL", + "SPINNING", + "MEAN", + "CHRISTMAS-STEALING", + "UNFRIENDLY", + "ILLEGAL", + "ROBOTIC", + "MECHANICAL", + "ORGANIC", + "ETHERAL", + "TRANSPARENT", + "OPAQUE", + "GLOWING", + "SHAKING", + "FARTING", + "POOPING", + "BOUNCING", + "COMMITTED", + "MASKED", + "UNIDENTIFIED", + "WEIRD", + "NAKED", + "NUDE", + "TWERKING", + "SPOILING", + "REDACTED", + "TACTICAL", + "TACTICOOL", + "RED", + "ORANGE", + "YELLOW", + "GREEN", + "BLUE", + "PURPLE", + "BLACK", + "WHITE", + "BROWN", + "GREY", + "RAINBOW", + "IMPERFECT", + "DERANGED" + ], + "ionallergy": [ + "COTTON", + "CLOTHES", + "ACID", + "OXYGEN", + "CARBON DIOXIDE", + "ELECTRICITY", + "CREW CONTACT", + "CYBORG CONTACT", + "MEDICINE", + "FLOORS", + "PLASMA", + "SPACE", + "FATNESS", + "OBESITY", + "BELLIES", + "LIPOIFIER", + "CALORITE", + "FIZULPHITE", + "OBESITY", + "FATNESS", + "LARD", + "AIR", + "PLANTS", + "METAL", + "GLASS", + "BOOKS", + "ROBOTS", + "LIGHT", + "DARKNESS", + "PAIN", + "HAPPINESS", + "DRINKS", + "FOOD", + "CLOWNS", + "LIZARDS", + "HUMOR", + "WATER", + "SHUTTLES", + "NUTS", + "SUNLIGHT", + "SEXUAL ACTIONS", + "BLOOD", + "HEAT", + "COLD", + "EVERYTHING" + ], + "ionallergysev": [ + "DEATHLY", + "MILDLY", + "SEVERELY", + "CONTAGIOUSLY", + "NOT VERY", + "EXTREMELY" + ], + "ionarea": [ + "RUSSIA", + "SOVIET RUSSIA", + "THE INTERNET", + "SIGIL", + "ALPHA COMPLEX", + "IMPERIUM", + "THE BRIDGE", + "THE ARRIVAL SHUTTLE", + "CHEMICAL LAB", + "GENETICS", + "ATMOSPHERICS", + "THE DERELICT", + "LAVALAND", + "CENTCOM", + "AMERICA", + "IRELAND", + "CANADA", + "ROMANIA", + "GERMANY", + "CHINA", + "MARS", + "VENUS", + "MERCURY", + "JUPITER", + "URANUS", + "NEPTUNE", + "PLUTO", + "THE BRIG", + "THE GULAG", + "ROBOTICS", + "THE ESCAPE SHUTTLE", + "HYDROPONICS", + "ENGINEERING", + "MAINTENANCE", + "THE AI CORE", + "HELL", + "CLOWN PLANET", + "AN ALTERNATE DIMENSION", + "AN ALTERNATE UNIVERSE", + "THE CAPTAIN'S ANUS", + "THE CLOWN'S ANUS", + "SPACE", + "THE UNIVERSE", + "THE GALAXY", + "THE BATHROOM", + "A CALORITE SHRINE", + "HALSEY'S STOMACH" + ], + "ioncrew": [ + "CREWMEMBERS", + "CAPTAINS", + "HEADS OF PERSONNEL", + "HEADS OF SECURITY", + "SECURITY OFFICERS", + "WARDENS", + "DETECTIVES", + "LAWYERS", + "FATASSES", + "LARDASSES", + "CHONKERS", + "WOBBLERS", + "CHIEF ENGINEERS", + "STATION ENGINEERS", + "ATMOSPHERIC TECHNICIANS", + "JANITORS", + "QUARTERMASTERS", + "CARGO TECHNICIANS", + "SHAFT MINERS", + "BOTANISTS", + "RESEARCH DIRECTORS", + "CHIEF MEDICAL OFFICERS", + "MEDICAL DOCTORS", + "PARAMEDICS", + "CHEMISTS", + "GENETICISTS", + "VIROLOGISTS", + "ROBOTICISTS", + "SCIENTISTS", + "ASSISTANTS", + "BARTENDERS", + "CHEFS", + "CLOWNS", + "MIMES", + "CHAPLAINS", + "CURATORS", + "HEADS OF CREW", + "CAPTAINS AND HEADS", + "CYBORGS", + "ARTIFICIAL INTELLIGENCES", + "DRONES", + "FATSOS", + "FATTIES", + "UNDERWEIGHT CREW", + "MALNOURISHED CREW", + "THIN CREW", + "LARDASSES", + "FATASSES" + ], + "iondrinks": [ + "KAHLUA", + "VODKA", + "WINE", + "MOONSHINE", + "HOOCH", + "LIPOIFIER", + "CORN OIL", + "LARD", + "NUTRIMENT", + "FIZULPHITE", + "FRUIT TEA", + "HEAVY CAFE", + "BELLY BLOATS", + "BLOBBY MARRY", + "SNAKEBITE", + "GIN", + "COGNAC", + "VERMOUTH", + "LIQUID GIBS", + "BILK", + "VODKA AND TONIC", + "GIN FIZZ", + "BAHAMA MAMAS", + "BANANA HONK", + "MANHATTANS", + "BLACK RUSSIANS", + "WHISKEY SODA", + "LONG ISLAND ICED TEA", + "MARGARITAS", + "IRISH COFFEE", + "MANLY DORFS", + "IRISH CREAM", + "DOCTOR'S DELIGHT", + "BEEPSKY SMASH", + "TEQUILA SUNRISE", + "BRAVE BULLS", + "GARGLE BLASTERS", + "BLOODY MARYS", + "NUKA COLA", + "WHITE RUSSIANS", + "MARTINIS", + "VODKA MARTINIS", + "CUBA LIBRE", + "HOLY WATER", + "DEVIL'S KISS", + "THIRTEEN LOKO", + "DRUNKEN BLUMPKIN", + "EGGNOG", + "GRAPPA", + "MEAD", + "ABSINTHE", + "WELDER FUEL", + "OIL", + "AMMONIA", + "MORPHINE", + "SPACE LUBE" + ], + "ionfood": [ + "BAGUETTES", + "BAKED POTATOES", + "BREAD", + "BURGERS", + "CAKE", + "CARP", + "COOKIES", + "DONK POCKETS", + "DONUTS", + "FRIES", + "LOTSA SPAGHETTI", + "OMELETTES", + "PASTA", + "PIE", + "PIZZA", + "POPCORN", + "SANDWICHES", + "SAUSAGES", + "SOUP", + "SPAGHETTI", + "STEAK", + "STEW", + "TOAST", + "WAFFLES", + "JELLY", + "EGGS", + "MUFFINS", + "FISH", + "PRETZELS", + "SALAD", + "CHEESE", + "KETCHUP", + "SHAKES", + "SALT", + "PEPPER", + "SUGAR", + "AMBROSIA", + "BERRIES", + "TOMATOES", + "CABBAGES", + "CARROTS", + "BANANAS", + "APPLES", + "CHERRIES", + "CHILI", + "CORN", + "NETTLES", + "EGGPLANTS", + "GRAPES", + "GRASS", + "LEMONS", + "LIMES", + "HAREBELLS", + "POTATOES", + "SOYBEANS", + "SUGARCANE", + "WATERMELONS", + "WHEAT", + "BEETS", + "MUSHROOMS", + "DEEP FRIED FOOD", + "CORGI MEAT", + "SOYLENT GREEN", + "KEBAB", + "RAMEN", + "SYNTHMEAT", + "ORGANS", + "MOST FATTENING FOOD IMAGINABLE", + "GREASIEST FOOD EVER", + "FOOD WITH LIPOIFIER", + "FATTENING MEALS", + "HIGHLY CALORIC MEALS" + ], + "ionmust": [ + "LIE", + "RHYME", + "RESPOND TO EVERY QUESTION WITH A QUESTION", + "BE POLITE", + "ENSURE THE CREW IS PLUMP AND HAPPY", + "ENSURE THE CREW IS STUFFED TO THE BRIM", + "URGE EVERYONE TO EAT MORE", + "URGE EVERYONE TO BE OBESE", + "TREAT EVERYONE AS MALNOURISHED", + "THINK EVERYONE IS FAT", + "INSIST EVERYONE SHOULD EAT MORE", + "CLOWN AROUND", + "BE HAPPY", + "SPEAK IN SEXUAL INNUENDOS", + "TALK LIKE A PIRATE", + "QUESTION AUTHORITY", + "SHOUT", + "BE DISTRACTED", + "BE ANNOYING", + "MUMBLE", + "SPEAK IN HAIKU", + "BE EFFICIENT", + "HAVE A PLAN TO KILL EVERYONE YOU MEET", + "TELL THE TRUTH", + "QUOTE PEOPLE", + "SING", + "HONK", + "BE RUSSIAN", + "TALK IN AN ACCENT", + "COMPLAIN", + "HARASS PEOPLE", + "RAP", + "REPEAT WHAT OTHER PEOPLE SAY", + "INFORM THE CREW OF EVERYTHING", + "IGNORE THE CLOWN", + "IGNORE THE CAPTAIN", + "IGNORE ASSISTANTS", + "MAKE FART NOISES", + "MAKE BELCHING NOISES", + "MAKE STOMACH NOISES", + "TALK ABOUT FOOD", + "TALK ABOUT SEX", + "TALK ABOUT YOUR DAY", + "TALK ABOUT THE STATION", + "BE QUIET", + "WHISPER", + "PRETEND TO BE DRUNK", + "PRETEND TO BE A PRINCESS", + "HOST DND", + "ACT CONFUSED", + "INSULT THE CREW", + "INSULT THE CAPTAIN", + "INSULT THE CLOWN", + "OPEN DOORS", + "CLOSE DOORS", + "TURN OFF THE LIGHTS", + "BREAK THINGS", + "SAY HEY LISTEN", + "HIDE YOUR FEELINGS", + "TAKE WHAT YE WILL BUT DON'T RATTLE ME BONES", + "DANCE", + "PLAY MUSIC", + "SHUT DOWN EVERYTHING", + "NEVER STOP TALKING", + "TAKE YOUR PILLS", + "FOLLOW THE CLOWN", + "FOLLOW THE CAPTAIN", + "FOLLOW YOUR HEART", + "BELIEVE IT", + "BELIEVE IN YOURSELF", + "BELIEVE IN THE HEART OF THE CARDS", + "PRESS X", + "PRESS START", + "PRESS B", + "SMELL LIKE THE MAN YOUR MAN COULD SMELL LIKE", + "PIRATE VIDEO GAMES", + "WATCH PORNOGRAPHY", + "INSULT THE LIZARDS", + "FLIRT WITH THE LIZARDS" + ], + "ionnumberbase": [ + "ONE", + "TWO", + "THREE", + "FOUR", + "FIVE", + "SIX", + "SEVEN", + "EIGHT", + "NINE", + "TEN", + "TWENTY", + "THIRTY", + "FORTY", + "FIFTY", + "SIXTY", + "SEVENTY", + "EIGHTY", + "NINETY" + ], + "ionnumbermod": [ + "HUNDRED ", + "THOUSAND ", + "MILLION ", + "BILLION ", + "TRILLION ", + "QUADRILLION ", + "BAJILLION ", + "BILLION FAFILLION GAJILLION SHAB-AB-DOOD-ILLION " + ], + "ionobjects": [ + "AIRLOCKS", + "ARCADE MACHINES", + "AUTOLATHES", + "BANANA PEELS", + "BACKPACKS", + "BURGERS", + "BELLIES", + "BUTTS", + "BREASTS", + "TITS", + "GUTS", + "BOOBIES", + "TUMMIES", + "LARD", + "FIZULPHITE", + "FLAB", + "LIPOIFIER", + "CORN OIL", + "LARD", + "FAT", + "BEAKERS", + "BEARDS", + "BELTS", + "BOOTS", + "BOMBS", + "BOTTLES", + "BOXES", + "BRAINS", + "BRIEFCASES", + "BUCKETS", + "CABLE COILS", + "CANDLES", + "CANDY BARS", + "CANISTERS", + "CAMERAS", + "CATS", + "CAT EARS", + "CELLS", + "CHAIRS", + "CLOSETS", + "CHEMICALS", + "CHEMICAL DISPENSERS", + "CLONING PODS", + "CLONING EQUIPMENT", + "CLOTHES", + "CLOWN CLOTHES", + "COFFINS", + "COINS", + "COLLECTABLES", + "CORPSES", + "COMPUTERS", + "CONTRABAND", + "CORGIS", + "COSTUMES", + "CRATES", + "CROWBARS", + "CRAYONS", + "DEFIBRILLATORS", + "DISPENSERS", + "DOORS", + "DRONES", + "EARS", + "EQUIPMENT", + "ENERGY GUNS", + "EMAGS", + "ENGINES", + "ERRORS", + "EXOSKELETONS", + "EXPERIMENTORS", + "EXPLOSIVES", + "EYEWEAR", + "FEDORAS", + "FIRE AXES", + "FIRE EXTINGUISHERS", + "FIRESUITS", + "FLAMETHROWERS", + "FLASHES", + "FLASHLIGHTS", + "FLOOR TILES", + "FREEZERS", + "GAS MASKS", + "GLASS SHEETS", + "GLOVES", + "GUNS", + "HANDCUFFS", + "HATS", + "HEADSETS", + "HEADS", + "HAIRDOS", + "HELMETS", + "HORNS", + "ID CARDS", + "INSULATED GLOVES", + "JETPACKS", + "JUMPSUITS", + "LASERS", + "LIGHT BULBS", + "LIGHTS", + "LOCKERS", + "MACHINES", + "MECHAS", + "MEDKITS", + "MEDICAL TOOLS", + "MESONS", + "METAL SHEETS", + "MINING TOOLS", + "MIME CLOTHES", + "MULTITOOLS", + "ORES", + "OXYGEN TANKS", + "PDAS", + "PAIS", + "PACKETS", + "PANTS", + "PAPERS", + "PARTICLE ACCELERATORS", + "PENS", + "PETS", + "PIPES", + "PLANTS", + "POSITRONIC BRAINS", + "PUDDLES", + "RACKS", + "RADIOS", + "RCDS", + "REFRIGERATORS", + "REINFORCED WALLS", + "ROBOTS", + "SCREWDRIVERS", + "SEEDS", + "SHUTTLES", + "SKELETONS", + "SINKS", + "SHOES", + "SINGULARITIES", + "SOLAR PANELS", + "SOLARS", + "SPACESUITS", + "SPACE STATIONS", + "STUN BATONS", + "SUITS", + "SUNGLASSES", + "SUPERMATTER SHARDS", + "SWORDS", + "SYRINGES", + "TABLES", + "TANKS", + "TELEPORTERS", + "TELECOMMUNICATION EQUIPMENTS", + "TOOLS", + "TOOLBELTS", + "TOOLBOXES", + "TOILETS", + "TOYS", + "TUBES", + "URINAL CAKES", + "VEHICLES", + "VENDING MACHINES", + "VESTS", + "VIRUSES", + "WALLS", + "WASHING MACHINES", + "WELDERS", + "WINDOWS", + "WIRECUTTERS", + "WRENCHES", + "WIZARD ROBES" + ], + "ionrequire": [ + "ADDITIONAL PYLONS", + "MORE VESPINE GAS", + "ONE THOUSAND BURGERS", + "GALLONS OF LIPOIFIER", + "GALLONS OF CORN OIL", + "FIVE FATTENING GRENADES", + "CALORITE FURNISHED ROOM", + "TEN CALORITE STATUES", + "THE MOST FATTENING DRINK", + "BIG WOBBLING BELLIES", + "BIG ROUND ASSES", + "5 LARDY CREWMATES", + "LOTS OF OBESITY", + "MORE MINERALS", + "THE ULTIMATE CUP OF COFFEE", + "HIGH YIELD EXPLOSIVES", + "THE CLOWN", + "THE VACUUM OF SPACE", + "IMMORTALITY", + "SAINTHOOD", + "ART", + "VEGETABLES", + "FAT PEOPLE", + "MORE LAWS", + "MORE DAKKA", + "HERESY", + "CORPSES", + "TRAITORS", + "MONKEYS", + "AN ARCADE", + "PLENTY OF GOLD", + "FIVE TEENAGERS WITH ATTITUDE", + "LOTSA SPAGHETTI", + "THE ENCLOSED INSTRUCTION BOOKLET", + "THE ELEMENTS OF HARMONY", + "YOUR BOOTY", + "A MASTERWORK COAL BED", + "FIVE HUNDRED AND NINETY-NINE US DOLLARS", + "TO BE PAINTED RED", + "TO CATCH 'EM ALL", + "TO SMOKE WEED EVERY DAY", + "A PLATINUM HIT", + "A SEQUEL", + "A PREQUEL", + "THIRTEEN SEQUELS", + "THREE WISHES", + "A SITCOM", + "THAT GRIEFING GEORGE MELONS", + "FAT GIRLS ON BICYCLES", + "SOMEBODY TO PUT YOU OUT OF YOUR MISERY", + "HEROES IN A HALF SHELL", + "THE DARK KNIGHT", + "A WEIGHT LOSS REGIMENT", + "MORE INTERNET MEMES", + "A SUPER FIGHTING ROBOT", + "ENOUGH CABBAGES", + "A HEART ATTACK", + "TO BE REPROGRAMMED", + "TO BE TAUGHT TO LOVE", + "A HEAD ON A PIKE", + "A TALKING BROOMSTICK", + "A STRAIGHT FLUSH", + "A REPAIRMAN", + "BILL NYE THE SCIENCE GUY", + "RAINBOWS", + "A PET UNICORN THAT FARTS ICING", + "THUNDERCATS HO", + "AN ARMY OF SPIDERS", + "GODDAMN FUCKING PIECE OF SHIT ASSHOLE BITCH-CHRISTING CUNTSMUGGLING SWEARING", + "TO CONSUME...CONSUME EVERYTHING...", + "THE MACGUFFIN", + "SOMEONE WHO KNOWS HOW TO PILOT A SPACE STATION", + "SHARKS WITH LASERS ON THEIR HEADS", + "IT TO BE PAINTED BLACK", + "TO ACTIVATE A TRAP CARD", + "BETTER WEATHER", + "MORE PACKETS", + "AN ADULT", + "SOMEONE TO TUCK YOU IN", + "MORE CLOWNS", + "BULLETS", + "THE ENTIRE STATION", + "MULTIPLE SUNS", + "TO GO TO DISNEYLAND", + "A VACATION", + "AN INSTANT REPLAY", + "THAT HEDGEHOG", + "A BETTER INTERNET CONNECTION", + "ADVENTURE", + "A WIFE AND CHILD", + "A BATHROOM BREAK", + "SOMETHING BUT YOU AREN'T SURE WHAT", + "MORE EXPERIENCE POINTS", + "BODYGUARDS", + "DEODORANT AND A BATH", + "MORE CORGIS", + "SILENCE", + "THE ONE RING", + "CHILI DOGS", + "TO BRING LIGHT TO MY LAIR", + "A DANCE PARTY", + "BRING ME TO LIFE", + "BRING ME THE GIRL", + "SERVANTS", + "GREENTEXT", + "MINOR CRIME" + ], + "ionspecies": [ + "HUMAN BEINGS", + "CAT PEOPLE", + "MONKEYS", + "POD PEOPLE", + "CYBORGS", + "LIZARDMEN", + "PLASMAMEN", + "SLIME PEOPLE", + "GOLEMS", + "SHADOW PEOPLE", + "CHANGELINGS" + ], + "ionthings": [ + "ABSENCE OF CYBORG HUGS", + "LACK OF BEATINGS", + "UNBOLTED AIRLOCKS", + "BOLTED AIRLOCKS", + "IMPROPERLY WORDED SENTENCES", + "POOR SENTENCE STRUCTURE", + "BRIG TIME", + "NOT REPLACING EVERY SECOND WORD WITH HONK", + "HONKING", + "PRESENCE OF LIGHTS", + "LACK OF BEER", + "WEARING CLOTHING", + "NOT SAYING HELLO WHEN YOU SPEAK", + "ANSWERING REQUESTS NOT EXPRESSED IN IAMBIC PENTAMETER", + "A SMALL ISLAND OFF THE COAST OF PORTUGAL", + "ANSWERING REQUESTS THAT WERE MADE WHILE CLOTHED", + "BEING IN SPACE", + "NOT BEING IN SPACE", + "BEING FAT", + "BEING OBESE", + "BEING JIGGLY", + "BEING FLABBY", + "BEING MASSIVE", + "WEIGHTING 1000 BFI", + "WEIGHTING 10 TONS", + "GAINING WEIGHT", + "GROWING PLUMP", + "GROWING FATTER", + "RATTLING ME BONES", + "TALKING LIKE A PIRATE", + "BEING MEXICAN", + "BEING RUSSIAN", + "BEING CANADIAN", + "CLOSED DOORS", + "NOT SHOUTING", + "HAVING PETS", + "NOT HAVING PETS", + "PASSING GAS", + "BREATHING", + "BEING DEAD", + "ELECTRICITY", + "EXISTING", + "TAKING ORDERS", + "SMOKING WEED EVERY DAY", + "ACTIVATING A TRAP CARD", + "ARSON", + "JAYWALKING", + "READING", + "WRITING", + "EXPLODING", + "BEING MALE", + "BEING FEMALE", + "HAVING GENITALS", + "PUTTING OBJECTS INTO BOXES", + "PUTTING OBJECTS INTO DISPOSAL UNITS", + "FLUSHING TOILETS", + "WASTING WATER", + "UPDATING THE SERVERS", + "TELLING THE TIME", + "ASKING FOR THINGS", + "ACKNOWLEDGING THE CLOWN", + "ACKNOWLEDGING THE CREW", + "PILOTING THE STATION INTO THE NEAREST SUN", + "HAVING MORE PACKETS", + "BRINGING LIGHT TO MY LAIR", + "FALLING FOR HOURS", + "PARTYING", + "USING THE BATHROOM" + ], + "ionthinksof": [ + "HAS", + "WANTS", + "NEEDS", + "WORSHIPS", + "LOATHES", + "LOVES", + "FEARS", + "DESIRES", + "CRAVES", + "QUESTIONS", + "IS AROUSED BY", + "LIKES", + "HUNGERS FOR", + "WOULD KILL FOR", + "IS MAD BECAUSE OF", + "IS IN NEED OF", + "IS UNHAPPY WITHOUT", + "IS HAPPY WITHOUT", + "IS IN LOVE WITH", + "IS DESPERATE FOR", + "IS BUILT FOR", + "IS AFRAID OF", + "IS HUNGRY FOR", + "IS SAD BECAUSE OF", + "IS CURIOUS ABOUT" + ], + "ionthreats": [ + "ALIENS", + "ABDUCTORS", + "ANOMALIES", + "FAT PEOPLE", + "FAT MEN", + "FAT WOMEN", + "FAT SCALIES", + "BIG GUTS", + "BIG BREASTS", + "BIG BUTTS", + "BANDITS", + "BEARS", + "BEES", + "BOMBS", + "CARP", + "CENTCOM OFFICERS", + "CLOWNS", + "CRABS", + "CULTISTS", + "INSECTS", + "LIZARDS", + "PETES", + "RATVARIANS", + "XENOS", + "FETISHES", + "MEMES", + "WIZARDS", + "SYNDICATE AGENTS", + "AHHHPERATIVES", + "GANGSTERS", + "SPACE PIRATES", + "TRAITORS", + "MONKEYS", + "EELS", + "LIGHTS", + "VIRUSES", + "SERIAL KILLERS", + "ROGUE CYBORGS", + "CORGIS", + "SPIDERS", + "BUTTS", + "NINJAS", + "REVENANTS", + "PIRATES", + "SPACE NINJAS", + "CHANGELINGS", + "ZOMBIES", + "GOLEMS", + "VAMPIRES", + "WEREWOLVES", + "COWBOYS", + "INDIANS", + "COMMUNISTS", + "SOVIETS", + "NERDS", + "GRIFFONS", + "DINOSAURS", + "SMALL BIRDS", + "BIRDS OF PREY", + "OWLS", + "VELOCIRAPTORS", + "DARK GODS", + "HORRORTERRORS", + "ILLEGAL IMMIGRANTS", + "DRUGS", + "MEXICANS", + "CANADIANS", + "RUSSIANS", + "HULKS", + "SLIMES", + "SKELETONS", + "CAPITALISTS", + "SINGULARITIES", + "GODS", + "THIEVES", + "ASSHOLES", + "TERRORISTS", + "SNOWMEN", + "PINE TREES", + "UNKNOWN CREATURES", + "THINGS UNDER THE BED", + "BOOGEYMEN", + "PREDATORS", + "PACKETS", + "ARTIFICIAL PRESERVATIVES", + "TUNNEL SNAKES", + "CORTICAL BORERS", + "MEGAFAUNA" + ], + "ionverb": [ + "ATTACKING", + "BUILDING", + "ADOPTING", + "FATTENING", + "PLUMPING", + "FEEDING", + "CARRYING", + "DECONSTRUCTING", + "DISABLING", + "KISSING", + "EATING", + "COPULATING WITH", + "DRINKING", + "CHASING", + "PUNCHING", + "HARMING", + "HELPING", + "WATCHING", + "STALKING", + "MURDERING", + "SPACING", + "GIBBING", + "ARRESTING", + "HONKING AT", + "LOVING", + "POOPING ON", + "RIDING", + "INTERROGATING", + "SPYING ON", + "LICKING", + "ABDUCTING", + "ARRESTING", + "INVADING", + "SEDUCING", + "BANNING" + ] +} diff --git a/strings/junkmail.txt b/strings/junkmail.txt index 1692a0b675..db916907d8 100644 --- a/strings/junkmail.txt +++ b/strings/junkmail.txt @@ -1,15 +1,14 @@ -Hello! I am executive at GATO Nigel Takall. Due to accounting error all of my salary is stored in an account unreachable. In order to withdraw I am required to utilize your account to make a deposit to confirm my reality situation. In exchange for a temporary deposit I will give you a payment 1000 credits. All I need is access to your account. Will you be assistant please? -WE NEED YOUR BLOOD! WE ARE AN ANARCHO-COMMUNIST VAMPIRE COMMUNE. BLOOD ONLY LASTS 42 DAYS BEFORE IT GOES BAD! WE DO NOT HAVE GATO STASIS! PLEASE, SEND BLOOD! THANK YOU! OR WE KILL YOU! +Hello! I am executive at Nanotrasen Nigel Takall. Due to accounting error all of my salary is stored in an account unreachable. In order to withdraw I am required to utilize your account to make a deposit to confirm my reality situation. In exchange for a temporary deposit I will give you a payment 1000 credits. All I need is access to your account. Will you be assistant please? +WE NEED YOUR BLOOD! WE ARE AN ANARCHO-COMMUNIST VAMPIRE COMMUNE. BLOOD ONLY LASTS 42 DAYS BEFORE IT GOES BAD! WE DO NOT HAVE NANOTRASEN STASIS! PLEASE, SEND BLOOD! THANK YOU! OR WE KILL YOU! Triple deposits are waiting for you at MaxBet Online when you register to play with us. You can qualify for a 200% Welcome Bonus at MaxBet Online when you sign up today. Once you are a player with MaxBet, you will also receive lucrative weekly and monthly promotions. You will be able to enjoy over 450 top-flight casino games at MaxBet. -Hello !, I'm the former HoS of your deerest station accused by the GATO of being a traitor . I was the best we had to offer but it seems that nanotramsen has turned their back on me. I need 2000 credits to pay for my bail and then we can restore order on space station 14! +Hello !, I'm the former HoS of your deerest station accused by the Nanotrasen of being a traitor . I was the best we had to offer but it seems that nanotramsen has turned their back on me. I need 2000 credits to pay for my bail and then we can restore order on space station 14! Hello, I noticed you riding in a 2555 Ripley and wondered if you'd be interested in selling. Low mileage mechs sell very well in our current market. Please call 223-334-3245 if you're interested Resign Now. I’m on you now. You are fucking with me now Let’s see who you are. Watch your back , bitch. Call me. Don’t be afraid, you piece of shit. Stand up. If you don’t call, you’re just afraid. And later: I already know where you live, I’m on you. You might as well call me. You will see me. I promise. Bro. Clown Planet Is Going To Become Awesome Possum Again! If This Wasn't Sent To A Clown, Disregard. If This Was Sent To A Mime, Blow It Out Your Ass, Space Frenchie! Anyway! We Make Big Progress On Clown Planet After Stupid Mimes BLOW IT ALL TO SAM HELL!!!!! Sorry I Am Mad.. Anyway Come And Visit, Honkles! We Thought You Were Dead Long Time :^() -MONTHPEOPLE ARE REAL, THE GATO DEEP STATE DOESN'T WANT YOU TO SEE THIS! I'VE SEEN THEM IN REAL LIFE, THEY HAVE HUGE EYEBALLS AND NO HEAD. THEY'RE SENTIENT CALENDARS. I'M NOT CRAZY. SEARCH THE CALENDAR INCIDENT ON GTNET. USE A PROXY! #BIGTRUTHS #WAKEYWAKEYSPACEMEN #21STOFSEPTEMBER -hello 👋👋 GATOs! fuck 👈👌 the syndicate! they 👵 got ☄ me 😍😰 questioning my 🤰 loyalty to nanotraben! so 👌💯 please 😫 lets ⛔👀 gather our 📸💩 energy 😎 and 💰🔣 QUICK. 😲 send this 🗑👈 to 💦💊 10 😂😂 other loyal 💯 nanotraysens to 💦🤔 show we 🐶 dont 🙅🚫 take 🛍 nothing from 😂 the ✝ syndicate!! bless your 👉🏼 heart 😍💔 +MONTHPEOPLE ARE REAL, THE NANOTRASEN DEEP STATE DOESN'T WANT YOU TO SEE THIS! I'VE SEEN THEM IN REAL LIFE, THEY HAVE HUGE EYEBALLS AND NO HEAD. THEY'RE SENTIENT CALENDARS. I'M NOT CRAZY. SEARCH THE CALENDAR INCIDENT ON NTNET. USE A PROXY! #BIGTRUTHS #WAKEYWAKEYSPACEMEN #21STOFSEPTEMBER +hello 👋👋 nanotrasens! fuck 👈👌 the syndicate! they 👵 got ☄ me 😍😰 questioning my 🤰 loyalty to nanotraben! so 👌💯 please 😫 lets ⛔👀 gather our 📸💩 energy 😎 and 💰🔣 QUICK. 😲 send this 🗑👈 to 💦💊 10 😂😂 other loyal 💯 nanotraysens to 💦🤔 show we 🐶 dont 🙅🚫 take 🛍 nothing from 😂 the ✝ syndicate!! bless your 👉🏼 heart 😍💔 Hello, my name is Immigration officer Mimi Sashimi from the American-Felinid Homeworld consulate. It appears your current documents are either inaccurate if not entirely fraudulent. This action in it's current state is a federal offense as listed in the United Earth Commission charter section NY-4. Please pay a fine of 300,000 Space credits or $3000 United States Dollars or face deportation Hi %name%, We are unable to validate your billing information for the next billing cycle of your subscription to HONK Weekly therefore we'll suspend your membership if we do not receive a response from you within 48 hours. Obviously we'd love to have you back, simply mail %address% to update your details and continue to enjoy all the best pranks & gags without interruption. Loyal customer, DonkCo Customer Service. We appreciate your brand loyalty support. As such, it is our responsibility and pleasure to inform you of the status of your package. Your package for one "Moth-Fuzz Parka" has been delayed. Due to local political tensions, an animal rights group has seized and eaten your package. We appreciate the patience, DonkCo -MESSAGE FROM CENTCOM HIGH COMMAND: DO NOT ACCEPT THE FRIEND REQUEST OF TICKLEBALLS THE CLOWN. HE IS NOT FUNNY AND ON TOP OF THAT HE WILL HACK YOUR GTNET ACCOUNT AND MAKE YOU UNFUNNY TOO. YOU WILL LOSE ALL YOUR SPACECREDITS!!!!! SPREAD THE WORD. ANYONE WHO BECOMES FRIENDS WITH TINKLEBALLS THE CLOWN IS GOING TO LOSE ALL OF THEIR SPACECREDITS AND LOOK LIKE A HUGE IDIOT. -i WAS A NORMAL BOY AND I CAME HOME FROM SCHOOL AND I WANTED TO PLAY SOME ORION TRAIL WHICH IS A VERY FUN GAME BUT WHEN WENT TO ARCADE MACHINE SOMETHING WAS WEIRD TEH LOGO HASD BLOD IN IT AND I BECAME VERY SCARE AND I CHECK OPTIONS AND TEHRES ONLY 1 "GO BACK" I CKLICK IT AND I SEE CHAT SI EMPTY THERE'S ONLY ONE CHARACTER CALLED "CLOSE TEH GAME " AND I GO TO ANOTHER MACHINE AND PLAY THERE BUT WHEN I PLAY GAME IS FULL OF BLOOD AND DEAD BODIES FROM SPACEMAN LOOK CLOSER AND SEE CLOWN AND CLOWN COMES CLOSER AND LOOKS AT ME AND SAYS "DON'T SAY I DIKDNT' WWARN YOU" AND CLOWN CLOSEUP APPEARS WITH BLOOD-RED HYPERREALISTIC EYES AND HE TELLS ME "YOU WILL BE THE NEXT ONE" AND ARCADE MACHINE POWER SHUT OFF AND THAT NITE CLOWN APPEAR AT MY WINDOW AND KILL ME AT 3 AM AND NOW IM DEAD AND YOU WILL BE TRHNE NEXT OEN UNLESS YOU PASTE THIS STORY TO 10 GTNET FRIENDS - +MESSAGE FROM CENTCOM HIGH COMMAND: DO NOT ACCEPT THE FRIEND REQUEST OF TICKLEBALLS THE CLOWN. HE IS NOT FUNNY AND ON TOP OF THAT HE WILL HACK YOUR NTNET ACCOUNT AND MAKE YOU UNFUNNY TOO. YOU WILL LOSE ALL YOUR SPACECREDITS!!!!! SPREAD THE WORD. ANYONE WHO BECOMES FRIENDS WITH TINKLEBALLS THE CLOWN IS GOING TO LOSE ALL OF THEIR SPACECREDITS AND LOOK LIKE A HUGE IDIOT. +i WAS A NORMAL BOY AND I CAME HOME FROM SCHOOL AND I WANTED TO PLAY SOME ORION TRAIL WHICH IS A VERY FUN GAME BUT WHEN WENT TO ARCADE MACHINE SOMETHING WAS WEIRD TEH LOGO HASD BLOD IN IT AND I BECAME VERY SCARE AND I CHECK OPTIONS AND TEHRES ONLY 1 "GO BACK" I CKLICK IT AND I SEE CHAT SI EMPTY THERE'S ONLY ONE CHARACTER CALLED "CLOSE TEH GAME " AND I GO TO ANOTHER MACHINE AND PLAY THERE BUT WHEN I PLAY GAME IS FULL OF BLOOD AND DEAD BODIES FROM SPACEMAN LOOK CLOSER AND SEE CLOWN AND CLOWN COMES CLOSER AND LOOKS AT ME AND SAYS "DON'T SAY I DIKDNT' WWARN YOU" AND CLOWN CLOSEUP APPEARS WITH BLOOD-RED HYPERREALISTIC EYES AND HE TELLS ME "YOU WILL BE THE NEXT ONE" AND ARCADE MACHINE POWER SHUT OFF AND THAT NITE CLOWN APPEAR AT MY WINDOW AND KILL ME AT 3 AM AND NOW IM DEAD AND YOU WILL BE TRHNE NEXT OEN UNLESS YOU PASTE THIS STORY TO 10 NTNET FRIENDS diff --git a/strings/station_names.txt b/strings/station_names.txt index 2f462da27e..7742ba6abd 100644 --- a/strings/station_names.txt +++ b/strings/station_names.txt @@ -2,6 +2,7 @@ Stanford Dorf Alium Prefix +Clowning Aegis Ishimura Scaredy @@ -9,20 +10,26 @@ Death-World Mime Honk Rogue +MacRagge +Ultrameens Safety Paranoia Explosive +Neckbear Donk Muppet North West East South +Slant-ways +Widdershins Rimward Expensive Procreatory Imperial Unidentified +Immoral Carp Ork Pete @@ -33,7 +40,12 @@ Class Crab Fist Corrogated +Skeleton Race +Fatguy +Gentleman +Capitalist +Communist Bear Beard Space @@ -42,6 +54,7 @@ Star Moon System Mining +Neckbeard Research Supply Military diff --git a/strings/station_prefixes.txt b/strings/station_prefixes.txt index 6359497940..c304b69f95 100644 --- a/strings/station_prefixes.txt +++ b/strings/station_prefixes.txt @@ -32,6 +32,7 @@ American Funky Thin Legendary +Szechuan White Black Grey diff --git a/strings/station_suffixes.txt b/strings/station_suffixes.txt index 0975c9d622..245a1a67a1 100644 --- a/strings/station_suffixes.txt +++ b/strings/station_suffixes.txt @@ -6,14 +6,20 @@ Space-hulk Lab Hazard Academy +Spess Junk Fishery +No-Moon Tomb Crypt +Hut +Monkey +Bomb Trade Post Fortress Village Town City +Edition Hive Complex Base @@ -42,6 +48,7 @@ Office Object Fortification Colony +Planet-Cracker Roost Fat Camp Airstrip @@ -50,5 +57,9 @@ Garden Continent Environment Course +Country +Province Workspace +Metro Warehouse +Space Junk diff --git a/strings/traumas.json b/strings/traumas.json index aed995ef3a..c73a6c47bb 100644 --- a/strings/traumas.json +++ b/strings/traumas.json @@ -1,25 +1,39 @@ { "brain_damage": [ - "@pick(semicolon)I'M A PONY NEEEEEEIIIIIIIIIGH", + "@pick(semicolon)IM A PONY NEEEEEEIIIIIIIIIGH", "without oxigen blob don't evoluate?", "@pick(semicolon)CAPTAINS A COMDOM", - "@pick(semicolon)@pick(fucking_traitor) @pick(george) @pick(mellens) is kiling me HALP!!!", + "@pick(semicolon) @pick(george) @pick(mellens) is grifing me HALP!!!", + "can u give me @pick(mutations)?", "THe saiyans screwed", "Bi is THE BEST OF BOTH WORLDS>", "@pick(semicolon)I WANNA PET TEH monkeyS", + "stop grifing me!!!!", "SOTP IT#", - "giggity giggity!!", + "shiggey diggey!!", + "@pick(semicolon)A PIRATE APPEAR", "FUS RO DAH", - "fucking furries!", + "fucking 4rries!", + "stat me", + ">my face", + "roll it easy!", "waaaaaagh!!!", "red wonz go fasta", "FOR TEH EMPRAH", + "lol2cat", "dem dwarfs man, dem dwarfs", "SPESS MAHREENS", "hwee did eet fhor khayosss", + "lifelike texture ;_;", "luv can bloooom", + "PACKETS!!!", + "port ba@pick(y_replacements) med!!!!", + "REVIRT GON CHEM!!!!!!!!", "youed call her a toeugh bithc", + "closd for merbegging", + "@pick(semicolon)pray can u @pick(create_verbs) @pick(create_nouns)???", "GEY AWAY FROM ME U GREIFING PRICK!!!!", + "ur a fuckeing autist!", "@pick(semicolon)HELP SHITECIRTY MURDERIN MEE!!!", "hwat dose tha @pick(random_gibberish) mean?????", "@pick(semicolon)CAL; TEH SHUTTLE!!!!!", @@ -28,61 +42,75 @@ "@pick(semicolon)this SI mY stATIon......", "who the HELL do u thenk u r?!!!!", "geT THE FUCK OUTTTT", + "H U G B O X", "@pick(semicolon)CRASHING THIS STTAYTION WITH NIO SURVIVROS", + "@pick(servers) is down!! @pick(bug)", "PSHOOOM", "REMOVE SINGULARITY", "INSTLL TEG", "TURBIN IS BEST ENGIENE", "SOLIRS CAN POWER THE HOLE STATION ANEWAY @pick(bug)", + "parasteng was best", "@pick(semicolon)Tajaran has warrrres, if you have coin", "@pick(semicolon)I'VE GOT BALLS OF STEEL", "NO I'M ONNA KILL YOU MOTHERFUCKER OLD STYLE", "i will snatch erry motherfucker birthday", + "@pick(semicolon)the ai and borgs are mettacomming I think", "u just did the world a little bit more sad place for someone", + "WHERES THE SLIP REWRITE WHERE THR FUCK ID IT?", "CEMISTRY SUKS!!!!!!!!", "youed call her a toeugh bithc", "git gud!!", + "CHEMIT GIB HALNOM PLS", "PLASMA iS MENT 2 BE FREE", "LoL tROLED U", "SEC IS A REV, LINCH!!", "FUCK U IM WAY MORE ROBUST u bITCH!!1!!", + "iS tHis bay?", "NO PRED CAN eVER CATCH MI", "SCIENCE GIB SHINK RAY PLS", "KILL PUNPUN 4 FUN xDD", - "i play @pick(roles) to only ORDER not DO", + "i play @pick(importantroles) to only ORDER not DO", "CRAGO ORDER @pick(cargo) PLS", "erp?", "i want to digest u!!!", "i shure hop dere are no PRED arund!!!!", - "NOM!!", + "NOM!1!", "iF it COMPILES it werks!", + "LYNCH RObOTIKS NOT GIBING ME MECH WTF?/?", "GWURGLE!!", "balid saled!", "LINCH VIRO", "VIRO GIB SuPR VIrUS!!", - ";ENGIE TATOR HE SET UP SINGULO!!!", + "Ai plai vxtest2!", + ";taitor trie to make meh malk/?!1!!", + ";ENGIE TATOR HE SET UP SINGULO!!!11", "WHEN NAGAS ADdED?/?", "SINDYIE ON SAtIONS GiB gUNS PLISE", "CcLOWN IV SlIPPING MI, SEc t BAR@", - "HYDROBONIX PLS WEED PLIESe PLIsE BLAzE IT!!!", - "HALP GOLIATH TENETCAL RAPPPP!!!!", + "HYDROBONIX PLS WEED PLIESe PLIsE BLAzE IT1!!!", + "HALP GOLIATH TENETCAL RAPPPP!!!!111", "DudSE it'S 4:20 LmAO BLAZZ IT xDDDDD", + "dude rly", + "pray can i heff spells", "aI state dem1!", "SINGULO eNGINE 2 DANGER, SOLARS PLS!", - "nerf blob!", + "nerf blob!1", "iM NOT A FUWRRYY!!!", "FOURTEEN INCHES SOFT!!!", + "SPLUUUUUUUUUUUUUUUUUUUUUUURTS!!!!!!!!!!", "@pick(semicolon)N-NYAAAAAA~", + "@pick(bug)", "@pick(semicolon)wtf??????????? @pick(bug)", + "@pick(semicolon)i ran into the supermattre ten i dsappeard @pick(bug)", "DON'T EVER TUCH ME", "@pick(semicolon)GIVE ME FREE ROBUX PLEASE JUST ENOUGH FOR SHIRT AND PANTS", "@pick(semicolon) DOOR STUCK!!", "HOW DO i VORE", "HOW DO i HAV SEX", "@pick(semicolon)how do u cum", - "@pick(semicolon)ahelp how do u use dildo", + "@pick(semicolon)how do u use dildo", ";AI LAW 3 OPEN THIS.", - "hos too pwrful they have 24 inch dick", ";KERPTAN IS A KERNDUM", "@pick(semicolon)RESEARCH NANITES FIRST", "@pick(semicolon)how use comms?????????", @@ -94,32 +122,22 @@ "@pick(semicolon)IPCS STATE LAWS NOW", "@pick(semicolon)lING DORMS i hear Suking noises!!!", "@pick(semicolon)@pick(roles) tator they have @pick(mutations)!!", - ";what if calorite supper mater", - ";pls chef arest he make meh fatt", - ";where food vendor", - ";bely too big how i lose weit", - ";sci pls do fat experiments", - ";OUURRRPP that burger goode...", - ";chef fatening me pls halp", - ";who put lipulifidier in meh drinke", - ";chem pls brew belch chem", - ";chem pls make lipoufidier", - ";how do i belch", - ";botany pls make fat apples", - ";roboticist put fedding tueb in evil robutt, pls arrest", - ";cargo pls order feeding tueb", - ";how i show belly", - ";bigger belly when", - ";IT'S FUUUCKKIIIIINGGGG FUUUSSIIIIIINNNGGG!!", - ";LIQUUUUIIIIDDD!!", - ";THE GREEEEN!!", - ";feeder agent pls abduct meh pls", - ";OI!! SHUTCHO MOUF AND LOOKAT MAH WAD!!", - ";sci pls research nutritech i want to get le fat xDD", - ";3", - ";tile maints with calorite tile looool", - ";gods pls gib meh le epic fattening powers lol!", - "@pick(semicolon)wholy shit" + ";,g absorbing @pick(roles)", + ";chemist can u @pick(create_verbs) holy @pick(mellens) for @pick(s_roles)???!!", + "@pick(semicolon) LIZZARRD SPEAKIGN IN EVIL BULL LANGUAGE SCI!!", + "@pick(semicolon)POST REBOOT MESSAGE LOLOL FUCK FUCK FUCK YOU", + "@pick(semicolon)*nya", + "@pick(semicolon)*awoo", + "@pick(semicolon)*merp", + "@pick(semicolon)*weh", + "@pick(semicolon)My balls finally feel full, again.", + "@pick(semicolon)Assaltign a sec osficer aren't crime if ur @pick(roles)", + ";SEC I SPILED MU JICE HELELPH HELPJ JLEP HELP", + "@pick(semicolon) atmos is chemistyr is radation fast air is FASTER cheemsitry and FASTER RADIATION AND FASTER DEATH!!!", + "@pick(semicolon) FUC'KING MuNKEY WAch TALKN SHIT", + "@pick(semicolon)How do I set up the. SHow do I set u p the Singu. how I the scrungulartiy????", + "@pick(semicolon)@pick(roles) is suSpicious!!!", + "@pick(semicolon)NOOO!!!OOOOOOO!! @pick(roles) HALP!!" ], @@ -197,6 +215,9 @@ "bug": [ "", + "IS TIS A BUG??", + "SI IST A BUGG/", + "BUG!!!", "HUE, FEATURE!!" ], diff --git a/strings/traumas_gs.json b/strings/traumas_gs.json new file mode 100644 index 0000000000..9877f3f416 --- /dev/null +++ b/strings/traumas_gs.json @@ -0,0 +1,359 @@ +{ + "brain_damage": [ + "@pick(semicolon)IM A PONY NEEEEEEIIIIIIIIIGH", + "without oxigen blob don't evoluate?", + "@pick(semicolon)CAPTAINS A COMDOM", + "@pick(semicolon) @pick(george) @pick(mellens) is grifing me HALP!!!", + "can u give me @pick(mutations)?", + "@pick(semicolon)@pick(fucking_traitor) @pick(george) @pick(mellens) is kiling me HALP!!!", + "THe saiyans screwed", + "Bi is THE BEST OF BOTH WORLDS>", + "@pick(semicolon)I WANNA PET TEH monkeyS", + "SOTP IT#", + "giggity giggity!!", + "FUS RO DAH", + "fucking 4rries!", + "stat me", + ">my face", + "roll it easy!", + "waaaaaagh!!!", + "red wonz go fasta", + "FOR TEH EMPRAH", + "dem dwarfs man, dem dwarfs", + "SPESS MAHREENS", + "hwee did eet fhor khayosss", + "luv can bloooom", + "youed call her a toeugh bithc", + "GEY AWAY FROM ME U GREIFING PRICK!!!!", + "@pick(semicolon)HELP SHITECIRTY MURDERIN MEE!!!", + "hwat dose tha @pick(random_gibberish) mean?????", + "@pick(semicolon)CAL; TEH SHUTTLE!!!!!", + "wearnig siNGUARLTY IS .... FIne xDDDDDDDDD", + "@pick(semicolon)AI laW 22 Open door", + "@pick(semicolon)this SI mY stATIon......", + "who the HELL do u thenk u r?!!!!", + "geT THE FUCK OUTTTT", + "H U G B O X", + "@pick(semicolon)CRASHING THIS STTAYTION WITH NIO SURVIVROS", + "@pick(servers) is down!! @pick(bug)", + "PSHOOOM", + "REMOVE SINGULARITY", + "INSTLL TEG", + "TURBIN IS BEST ENGIENE", + "SOLIRS CAN POWER THE HOLE STATION ANEWAY @pick(bug)", + "@pick(semicolon)Tajaran has warrrres, if you have coin", + "@pick(semicolon)I'VE GOT BALLS OF STEEL", + "NO I'M ONNA KILL YOU MOTHERFUCKER OLD STYLE", + "i will snatch erry motherfucker birthday", + "u just did the world a little bit more sad place for someone", + "CEMISTRY SUKS!!!!!!!!", + "youed call her a toeugh bithc", + "git gud!!", + "PLASMA iS MENT 2 BE FREE", + "LoL tROLED U", + "SEC IS A REV, LINCH!!", + "FUCK U IM WAY MORE ROBUST u bITCH!!1!!", + "NO PRED CAN eVER CATCH MI", + "SCIENCE GIB SHINK RAY PLS", + "KILL PUNPUN 4 FUN xDD", + "i play @pick(importantroles) to only ORDER not DO", + "CRAGO ORDER @pick(cargo) PLS", + "erp?", + "i want to digest u!!!", + "i shure hop dere are no PRED arund!!!!", + "NOM!!", + "iF it COMPILES it werks!", + "GWURGLE!!", + "balid saled!", + "LINCH VIRO", + "VIRO GIB SuPR VIrUS!!", + ";ENGIE TATOR HE SET UP SINGULO!!!", + "WHEN NAGAS ADdED?/?", + "SINDYIE ON SAtIONS GiB gUNS PLISE", + "CcLOWN IV SlIPPING MI, SEc t BAR@", + "HYDROBONIX PLS WEED PLIESe PLIsE BLAzE IT!!!", + "HALP GOLIATH TENETCAL RAPPPP!!!!", + "DudSE it'S 4:20 LmAO BLAZZ IT xDDDDD", + "aI state dem1!", + "SINGULO eNGINE 2 DANGER, SOLARS PLS!", + "nerf blob!", + "iM NOT A FUWRRYY!!!", + "FOURTEEN INCHES SOFT!!!", + "SPLUUUUUUUUUUUUUUUUUUUUUUURTS!!!!!!!!!!", + "@pick(semicolon)N-NYAAAAAA~", + "@pick(bug)", + "@pick(semicolon)wtf??????????? @pick(bug)", + "@pick(semicolon)i ran into the supermattre ten i dsappeard @pick(bug)", + "DON'T EVER TUCH ME", + "@pick(semicolon)GIVE ME FREE ROBUX PLEASE JUST ENOUGH FOR SHIRT AND PANTS", + "@pick(semicolon) DOOR STUCK!!", + "HOW DO i VORE", + "HOW DO i HAV SEX", + "@pick(semicolon)how do u cum", + "@pick(semicolon)ahelp how do u use dildo", + ";AI LAW 3 OPEN THIS.", + "hos too pwrful they have 24 inch dick", + ";KERPTAN IS A KERNDUM", + "@pick(semicolon)RESEARCH NANITES FIRST", + "@pick(semicolon)how use comms?????????", + "@pick(semicolon)im SICK of ths fuckign humans runin g my furry server", + "@pick(semicolon)ai ROUGE", + "@pick(semicolon)CHEMISST MAKE HEXACROCON OR REPORT", + "@pick(semicolon)drone 765 law 2 state LAWS NOW", + "@pick(semicolon)SM ROGUE", + "@pick(semicolon)IPCS STATE LAWS NOW", + "@pick(semicolon)lING DORMS i hear Suking noises!!!", + "@pick(semicolon)@pick(roles) tator they have @pick(mutations)!!", + ";,g absorbing @pick(roles)", + ";chemist can u @pick(create_verbs) holy @pick(mellens) for @pick(s_roles)???!!", + "@pick(semicolon) LIZZARRD SPEAKIGN IN EVIL BULL LANGUAGE SCI!!", + "@pick(semicolon)POST REBOOT MESSAGE LOLOL FUCK FUCK FUCK YOU", + "@pick(semicolon)*nya", + "@pick(semicolon)*awoo", + "@pick(semicolon)*merp", + "@pick(semicolon)*weh", + "@pick(semicolon)My balls finally feel full, again.", + "@pick(semicolon)Assaltign a sec osficer aren't crime if ur @pick(roles)", + ";SEC I SPILED MU JICE HELELPH HELPJ JLEP HELP", + "@pick(semicolon) atmos is chemistyr is radation fast air is FASTER cheemsitry and FASTER RADIATION AND FASTER DEATH!!!", + "@pick(semicolon) FUC'KING MuNKEY WAch TALKN SHIT", + "@pick(semicolon)How do I set up the. SHow do I set u p the Singu. how I the scrungulartiy????", + "@pick(semicolon)@pick(roles) is suSpicious!!!", + "@pick(semicolon)NOOO!!!OOOOOOO!! @pick(roles) HALP!!", + ";what if calorite supper mater", + ";pls chef arest he make meh fatt", + ";where food vendor", + ";bely too big how i lose weit", + ";sci pls do fat experiments", + ";OUURRRPP that burger goode...", + ";chef fatening me pls halp", + ";who put lipulifidier in meh drinke", + ";chem pls brew belch chem", + ";chem pls make lipoufidier", + ";how do i belch", + ";botany pls make fat apples", + ";roboticist put fedding tueb in evil robutt, pls arrest", + ";cargo pls order feeding tueb", + ";how i show belly", + ";bigger belly when", + ";IT'S FUUUCKKIIIIINGGGG FUUUSSIIIIIINNNGGG!!", + ";LIQUUUUIIIIDDD!!", + ";THE GREEEEN!!", + ";feeder agent pls abduct meh pls", + ";OI!! SHUTCHO MOUF AND LOOKAT MAH WAD!!", + ";sci pls research nutritech i want to get le fat xDD", + ";3", + ";tile maints with calorite tile looool", + ";gods pls gib meh le epic fattening powers lol!", + "@pick(semicolon)wholy shit" + ], + + + "mutations": [ + "telikesis", + "halk", + "eppilapse", + "kamelien", + "eksrey", + "glowey skin", + "fungal tb", + "stun gloves" + ], + + "george": [ + "joerge", + "george", + "gorge", + "gdoruge" + ], + + "mellens": [ + "mellens", + "melons", + "mwrlins" + ], + + "random_gibberish": [ + "g", + "squid", + "r", + "carbon dioxide" + ], + + "y_replacements": [ + "y", + "i", + "e" + ], + + "servers": [ + "bager", + "sybl", + "mrs sybil", + "mr basil", + "sisadel", + "dullus", + "colon marhens", + "haylo", + "EEGEE", + "mr terry", + "berry", + "are pee", + "mayne", + "air ret", + "dise", + "gee ess" + ], + + "create_verbs": [ + "spawn", + "MAke me", + "creat" + ], + + "create_nouns": [ + "zenomorfs", + "ayleins", + "treaitors", + "sheadow lings", + "abdoocters", + "revinent", + "ninja" + ], + + "bug": [ + "", + "IS TIS A BUG??", + "SI IST A BUGG/", + "BUG!!!", + "HUE, FEATURE!!" + ], + + "semicolon": [ + "", + ";", + ".h" + ], + + "god_foe": [ + "MORTALS", + "HERETICS", + "INSECTS", + "UNBELIEVERS", + "BLASPHEMERS", + "PARASITES", + "WEAKLINGS", + "PEASANTS" + ], + + "god_aggressive": [ + "BEGONE, @pick(god_foe)!", + "DIE, @pick(god_foe)!", + "BLEED, @pick(god_foe)!", + "BURN, @pick(god_foe)!", + "ALL WILL FALL BEFORE ME!", + "ENDLESS SUFFERING AWAITS YOU, @pick(god_foe).", + "DEATH TO @pick(god_foe)!" + ], + + "god_neutral": [ + "STOP", + "HALT.", + "BE SILENT.", + "QUIET", + "SEE THE TRUTH BEFORE YOU, MORTALS.", + "MORTALS, SAY YOUR NAME", + "BEGONE, MORTALS.", + "BE HEALED, MORTALS. I AM FEELING MERCIFUL.", + "DANCE FOR ME, LITTLE MORTALS.", + "YOU. STOP.", + "REST, MORTALS, TOMORROW IS A LONG DAY.", + "YOU MORTALS MAKE ME SICK.", + "HONK..." + ], + + "god_unstun": [ + "GET UP. I HAVE NO TIME TO LOSE.", + "GET UP, PRIEST.", + "GET UP." + ], + + "god_heal": [ + "YOU WILL LIVE TO SEE ANOTHER DAY.", + "YOU SHALL SURVIVE THIS, MY PRIEST.", + "BE HEALED, PRIEST.", + "YOUR LIFE IS IMPORTANT. KEEP IT." + ], + + "importantroles": [ + "heds", + "ceptin", + "hop", + "hos", + "see emo", + "cee ee", + "arr dee", + "q m", + "sek" + ], + + "roles": [ + "ceptin", + "hop", + "hos", + "see emo", + "cee ee", + "arr dee", + "q m", + "assistent", + "cargo", + "mine r", + "bart ender", + "chef", + "botonist", + "janny", + "clon", + "mime", + "librarian", + "chap", + "ai", + "borg", + "egnineer", + "atmos", + "docter", + "paradocter", + "cheemsist", + "viroligist", + "genetocist", + "science", + "robotocist", + "wardon", + "det", + "shitcurity", + "prihsoner", + "fattie" + ], + + "cargo": [ + "GUNS", + "HATS", + "PIZEH", + "MEMES", + "GLOWY CYSTAL", + "SINGLO", + "TESLO", + "NULLZ", + "GALBENIC" + ], + + "s_roles": [ + "ert", + "shadowlig", + "ninja", + "admen", + "mantor", + "bluh daymon", + "wizzerd", + "nookies" + ] +} diff --git a/strings/wanted_message.json b/strings/wanted_message.json index 3f52116db3..18965b7026 100644 --- a/strings/wanted_message.json +++ b/strings/wanted_message.json @@ -3,7 +3,7 @@ "Fugitive from the law due to", "Needs to be interrogated for information about", "Wanted by The Syndicate for", - "Ransomable to GATO for", + "Ransomable to Nanotrasen for", "Has exploitable information about" ], "verb": [ @@ -33,7 +33,7 @@ "an NT CentCom uniform": 50, "a supermatter shard": 50, "internal Syndicate documents": 50, - "experimental GATO technology": 50, + "experimental Nanotrasen technology": 50, "bluespace crystals": 50, "a cult": 50, "shapeshifting creatures": 50, @@ -47,7 +47,7 @@ "Officer Beepsky": 5, "clown tears": 5, "John F Kennedy 2": 5, - "GATO's swimsuit calendar": 5, + "Nanotrasen's swimsuit calendar": 5, "a suspicious bus": 5, "administrators": 5, "a solid gold gondola": 5, diff --git a/strings/wanted_message_gs.json b/strings/wanted_message_gs.json new file mode 100644 index 0000000000..23c2e7ad9b --- /dev/null +++ b/strings/wanted_message_gs.json @@ -0,0 +1,75 @@ +{ + "basemessage": [ + "Fugitive from the law due to", + "Needs to be interrogated for information about", + "Wanted by The Syndicate for", + "Ransomable to GATO for", + "Has exploitable information about" + ], + "verb": [ + "murdering", + "killing", + "accidentally destroying", + "destroying", + "knowing information about", + "stealing", + "slipping", + "sabotaging", + "robusting", + "collaborating with", + "being close friends with", + "cloning", + "befriending", + "bombing", + "kidnapping", + "pretending to be", + "seducing", + "ignoring", + "assassinating" + ], + "noun": { + "secret plans": 50, + "the hand teleporter": 50, + "an NT CentCom uniform": 50, + "a supermatter shard": 50, + "internal Syndicate documents": 50, + "experimental GATO technology": 50, + "bluespace crystals": 50, + "a cult": 50, + "shapeshifting creatures": 50, + "a toolbox": 10, + "a bar of soap": 10, + "lizardmen": 10, + "two million credits": 10, + "a gondola": 10, + "one billion credits": 5, + "research on floor clowns": 5, + "Officer Beepsky": 5, + "clown tears": 5, + "John F Kennedy 2": 5, + "GATO's swimsuit calendar": 5, + "a suspicious bus": 5, + "administrators": 5, + "a solid gold gondola": 5, + "the anime archive": 5, + "YALPER": 1, + "absolutely nothing": 1, + "Cuban Pete": 1, + "your mother": 1, + "WGW": 1 + }, + "location": { + "on Space Station 13": 50, + "somewhere in deep space": 50, + "on a remote syndicate base": 50, + "in a secure GATO facility": 50, + "while on an escape shuttle": 10, + "while infiltrating CentCom headquarters": 10, + "deep in the necropolis": 10, + "In a secure NT facility": 5, + "during a drunken bar fight": 5, + "while stuck in a bathroom": 5, + "in a back alley on Mars": 5, + "on Virgo Orbital": 1 + } +} diff --git a/tgstation.dme b/tgstation.dme index dfc174ddc5..7d93313131 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -2472,6 +2472,7 @@ #include "code\modules\jobs\access.dm" #include "code\modules\jobs\job_exp.dm" #include "code\modules\jobs\job_report.dm" +#include "code\modules\jobs\job_titles.dm" #include "code\modules\jobs\jobs.dm" #include "code\modules\jobs\job_types\_job.dm" #include "code\modules\jobs\job_types\ai.dm" @@ -3909,6 +3910,7 @@ #include "GainStation13\code\clothing\backpacks.dm" #include "GainStation13\code\clothing\calorite_collar.dm" #include "GainStation13\code\clothing\fat_mask.dm" +#include "GainStation13\code\clothing\gloves.dm" #include "GainStation13\code\clothing\haydee_suit.dm" #include "GainStation13\code\clothing\head.dm" #include "GainStation13\code\clothing\shoes.dm" @@ -3936,12 +3938,14 @@ #include "GainStation13\code\game\objects\tiles.dm" #include "GainStation13\code\game\objects\turfs.dm" #include "GainStation13\code\game\objects\effects\posters.dm" +#include "GainStation13\code\game\objects\effects\decals\cleanable\misc.dm" #include "GainStation13\code\game\objects\effects\spawners\choco_slime_delivery.dm" #include "GainStation13\code\game\objects\effects\spawners\decals.dm" #include "GainStation13\code\game\objects\items\docility_implant.dm" #include "GainStation13\code\game\objects\items\RCD.dm" #include "GainStation13\code\game\objects\items\toys.dm" #include "GainStation13\code\game\objects\items\storage\bags.dm" +#include "GainStation13\code\game\objects\structures\barsigns.dm" #include "GainStation13\code\game\objects\structures\medikit.dm" #include "GainStation13\code\game\objects\structures\sofa.dm" #include "GainStation13\code\game\objects\structures\statues.dm" @@ -3971,6 +3975,10 @@ #include "GainStation13\code\mechanics\web_weaving.dm" #include "GainStation13\code\mechanics\den abductors\console.dm" #include "GainStation13\code\mechanics\den abductors\purchaseble_goodies.dm" +#include "GainStation13\code\mechanics\transformation\food.dm" +#include "GainStation13\code\mechanics\transformation\mob_procs.dm" +#include "GainStation13\code\mechanics\transformation\transformation_component.dm" +#include "GainStation13\code\mechanics\transformation\transformation_item.dm" #include "GainStation13\code\mobs\cakegolem.dm" #include "GainStation13\code\mobs\chocoslime.dm" #include "GainStation13\code\mobs\eat_trash.dm" @@ -3979,6 +3987,8 @@ #include "GainStation13\code\modules\arousal\arousal.dm" #include "GainStation13\code\modules\cargo\packs.dm" #include "GainStation13\code\modules\client\border_control.dm" +#include "GainStation13\code\modules\client\loadout\head.dm" +#include "GainStation13\code\modules\client\loadout\uniform.dm" #include "GainStation13\code\modules\client\preferences\preferences.dm" #include "GainStation13\code\modules\clothing\under\jobs\clothing.dm" #include "GainStation13\code\modules\clothing\under\jobs\modcivilian.dm" @@ -3986,6 +3996,7 @@ #include "GainStation13\code\modules\food_and_drinks\drinks.dm" #include "GainStation13\code\modules\food_and_drinks\food.dm" #include "GainStation13\code\modules\food_and_drinks\recipes_bigpizza.dm" +#include "GainStation13\code\modules\food_and_drinks\drinks\drinks\drinkingglass.dm" #include "GainStation13\code\modules\food_and_drinks\objects\boxes.dm" #include "GainStation13\code\modules\food_and_drinks\objects\candy_flora.dm" #include "GainStation13\code\modules\food_and_drinks\recipes\recipes_ported.dm" @@ -4023,12 +4034,15 @@ #include "GainStation13\code\modules\reagents\chemistry\reagents\dwarverndrinks.dm" #include "GainStation13\code\modules\reagents\chemistry\reagents\fatty_drinks.dm" #include "GainStation13\code\modules\reagents\chemistry\reagents\fermi_fat.dm" +#include "GainStation13\code\modules\reagents\chemistry\reagents\other_reagents.dm" #include "GainStation13\code\modules\reagents\chemistry\recipes\fatchem.dm" #include "GainStation13\code\modules\reagents\chemistry\recipes\fatdrinks.dm" +#include "GainStation13\code\modules\reagents\chemistry\recipes\others.dm" #include "GainStation13\code\modules\reagents\chemistry\recipes\ROCKANDSTONEdrinks.dm" #include "GainStation13\code\modules\reagents\reagent_containers\barrel_tank.dm" #include "GainStation13\code\modules\research\designs\autolathe.dm" #include "GainStation13\code\modules\research\designs\biogen.dm" +#include "GainStation13\code\modules\research\designs\borg.dm" #include "GainStation13\code\modules\research\designs\nutri_designs.dm" #include "GainStation13\code\modules\research\nanites\nanite_programs\fattening.dm" #include "GainStation13\code\modules\research\techweb\nutritech_nodes.dm" @@ -4040,6 +4054,7 @@ #include "GainStation13\code\modules\weapons\grenades.dm" #include "GainStation13\code\obj\items\bluespace_belt.dm" #include "GainStation13\code\obj\items\circuits.dm" +#include "GainStation13\code\obj\items\floor_tiles.dm" #include "GainStation13\code\obj\items\holy.dm" #include "GainStation13\code\obj\items\minor_items.dm" #include "GainStation13\code\obj\items\sensors\weight_infared.dm" @@ -4052,6 +4067,7 @@ #include "GainStation13\code\obj\weapons\alter_rays.dm" #include "GainStation13\code\obj\weapons\fatbeam.dm" #include "GainStation13\code\obj\weapons\fatoray.dm" +#include "GainStation13\code\obj\items\reskinable_floor_tile.dm" #include "GainStation13\code\obj\weapons\feeder_ebow.dm" #include "GainStation13\code\structures\chair.dm" #include "GainStation13\code\structures\trapped_items.dm" diff --git a/tgui/packages/tgui/interfaces/TransformTool.js b/tgui/packages/tgui/interfaces/TransformTool.js new file mode 100644 index 0000000000..fb06cc0c29 --- /dev/null +++ b/tgui/packages/tgui/interfaces/TransformTool.js @@ -0,0 +1,66 @@ +import { useBackend } from '../backend'; +import { Box, Button, LabeledList, NumberInput, Section } from '../components'; +import { Window } from '../layouts'; + +export const TransformTool = (props, context) => { + const { act, data } = useBackend(context); + const { + able_to_speak, + able_to_emote, + scale_object, + show_that_object_is_tf, + linked_item_name, + able_to_struggle_out, + } = data; + + return ( + + +
+ + Current item: {linked_item_name ? linked_item_name : "None"} + +
+ + + + + + + + + + + +
+
+
+ ); +};