From bc6294baa9d1de6e3a884389abdd83405c7dcdb3 Mon Sep 17 00:00:00 2001 From: timothyteakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Thu, 9 Apr 2020 01:10:34 +0100 Subject: [PATCH 001/131] i too, like food quality. --- code/datums/components/crafting/craft.dm | 12 ++++++++++++ code/modules/food_and_drinks/food.dm | 8 ++++++-- code/modules/food_and_drinks/food/snacks.dm | 4 ++++ .../food_and_drinks/kitchen_machinery/processor.dm | 4 +++- 4 files changed, 25 insertions(+), 3 deletions(-) diff --git a/code/datums/components/crafting/craft.dm b/code/datums/components/crafting/craft.dm index 9b19cd0106..64bde5da29 100644 --- a/code/datums/components/crafting/craft.dm +++ b/code/datums/components/crafting/craft.dm @@ -201,6 +201,18 @@ var/atom/movable/I = new R.result (get_turf(user.loc)) I.CheckParts(parts, R) if(isitem(I)) + if(istype(I, /obj/item/reagent_containers/food)) + var/obj/item/reagent_containers/food/food_result = I + var/total_quality = 0 + var/total_items = 0 + for(var/obj/item/ingredient in parts) + var/obj/item/reagent_containers/food/food_ingredient = ingredient + total_items += 1 + total_quality += food_ingredient.food_quality + if(total_items == 0) + food_result.adjust_food_quality(50) + else + food_result.adjust_food_quality(total_quality / total_items) user.put_in_hands(I) if(send_feedback) SSblackbox.record_feedback("tally", "object_crafted", 1, I.type) diff --git a/code/modules/food_and_drinks/food.dm b/code/modules/food_and_drinks/food.dm index 2af24080cb..b1df946e34 100644 --- a/code/modules/food_and_drinks/food.dm +++ b/code/modules/food_and_drinks/food.dm @@ -16,6 +16,7 @@ resistance_flags = FLAMMABLE var/foodtype = NONE var/last_check_time + var/food_quality = 50 /obj/item/reagent_containers/food/Initialize(mapload) . = ..() @@ -23,6 +24,9 @@ pixel_x = rand(-5, 5) pixel_y = rand(-5, 5) +/obj/item/reagent_containers/food/proc/adjust_food_quality(new_quality) + food_quality = min(new_quality,100) + /obj/item/reagent_containers/food/proc/checkLiked(var/fraction, mob/M) if(last_check_time + 50 < world.time) if(ishuman(M)) @@ -32,11 +36,11 @@ to_chat(H,"What the hell was that thing?!") H.adjust_disgust(25 + 30 * fraction) SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "toxic_food", /datum/mood_event/disgusting_food) - else if(foodtype & H.dna.species.disliked_food) + else if((foodtype & H.dna.species.disliked_food) || food_quality <= 30) to_chat(H,"That didn't taste very good...") H.adjust_disgust(11 + 15 * fraction) SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "gross_food", /datum/mood_event/gross_food) - else if(foodtype & H.dna.species.liked_food) + else if((foodtype & H.dna.species.liked_food) || food_quality >= 70) to_chat(H,"I love this taste!") H.adjust_disgust(-5 + -2.5 * fraction) SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "fav_food", /datum/mood_event/favorite_food) diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index 0b277e328b..177dba0b86 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -296,6 +296,10 @@ All foods are distributed among various categories. Use common sense. var/obj/item/result if(cooked_type) result = new cooked_type(T) + //if the result is food, set its food quality to the original food item's quality + if(istype(result, /obj/item/reagent_containers/food)) + var/obj/item/reagent_containers/food/food_output = result + food_output.adjust_food_quality(food_quality) if(istype(M)) initialize_cooked_food(result, M.efficiency) else diff --git a/code/modules/food_and_drinks/kitchen_machinery/processor.dm b/code/modules/food_and_drinks/kitchen_machinery/processor.dm index 3fa188fb94..113378fbb4 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/processor.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/processor.dm @@ -28,8 +28,10 @@ /obj/machinery/processor/proc/process_food(datum/food_processor_process/recipe, atom/movable/what) if (recipe.output && loc && !QDELETED(src)) + var/obj/item/reagent_containers/food/food_input = what for(var/i = 0, i < rating_amount, i++) - new recipe.output(drop_location()) + var/obj/item/reagent_containers/food/food_output = new recipe.output(drop_location()) + food_output.adjust_food_quality(food_input.food_quality) //output quality equals input quality for the food processor if (ismob(what)) var/mob/themob = what themob.gib(TRUE,TRUE,TRUE) From 792be6e1464484f3e1c691a0d96b3a1b664ea619 Mon Sep 17 00:00:00 2001 From: timothyteakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Thu, 9 Apr 2020 01:36:15 +0100 Subject: [PATCH 002/131] more food quality --- code/modules/food_and_drinks/food.dm | 2 +- code/modules/food_and_drinks/food/customizables.dm | 4 ++++ code/modules/food_and_drinks/food/snacks_bread.dm | 4 ++++ .../modules/food_and_drinks/kitchen_machinery/deep_fryer.dm | 6 ++++++ code/modules/reagents/chemistry/reagents/toxin_reagents.dm | 2 +- 5 files changed, 16 insertions(+), 2 deletions(-) diff --git a/code/modules/food_and_drinks/food.dm b/code/modules/food_and_drinks/food.dm index b1df946e34..de41d2dd23 100644 --- a/code/modules/food_and_drinks/food.dm +++ b/code/modules/food_and_drinks/food.dm @@ -25,7 +25,7 @@ pixel_y = rand(-5, 5) /obj/item/reagent_containers/food/proc/adjust_food_quality(new_quality) - food_quality = min(new_quality,100) + food_quality = clamp(new_quality,0,100) /obj/item/reagent_containers/food/proc/checkLiked(var/fraction, mob/M) if(last_check_time + 50 < world.time) diff --git a/code/modules/food_and_drinks/food/customizables.dm b/code/modules/food_and_drinks/food/customizables.dm index bd20ad8d69..0e2bdc63c8 100644 --- a/code/modules/food_and_drinks/food/customizables.dm +++ b/code/modules/food_and_drinks/food/customizables.dm @@ -20,6 +20,7 @@ var/list/ingredients = list() var/ingredients_placement = INGREDIENTS_FILL var/customname = "custom" + var/total_quality = 0 //quality of all ingredients added together /obj/item/reagent_containers/food/snacks/customizable/examine(mob/user) . = ..() @@ -56,6 +57,9 @@ S.reagents.trans_to(src,min(S.reagents.total_volume, 15)) //limit of 15, we don't want our custom food to be completely filled by just one ingredient with large reagent volume. foodtype |= S.foodtype update_snack_overlays(S) + //quality of customised food is average of the ingredient's qualities + total_quality += S.food_quality + food_quality = total_quality / length(ingredients) to_chat(user, "You add the [I.name] to the [name].") update_name(S) else diff --git a/code/modules/food_and_drinks/food/snacks_bread.dm b/code/modules/food_and_drinks/food/snacks_bread.dm index 204e5ce455..11eedcd363 100644 --- a/code/modules/food_and_drinks/food/snacks_bread.dm +++ b/code/modules/food_and_drinks/food/snacks_bread.dm @@ -247,18 +247,22 @@ GLOBAL_LIST_INIT(frying_bad_chems, list( add_atom_colour(rgb(166,103,54), FIXED_COLOUR_PRIORITY) name = "lightly-fried [name]" desc = "[desc] It's been lightly fried in a deep fryer." + adjust_food_quality(food_quality - 5) if(16 to 49) add_atom_colour(rgb(103,63,24), FIXED_COLOUR_PRIORITY) name = "fried [name]" desc = "[desc] It's been fried, increasing its tastiness value by [rand(1, 75)]%." + adjust_food_quality(food_quality - 10) if(50 to 59) add_atom_colour(rgb(63,23,4), FIXED_COLOUR_PRIORITY) name = "deep-fried [name]" desc = "[desc] Deep-fried to perfection." + adjust_food_quality(food_quality) //we shouldn't punish perfection in the fried arts if(60 to INFINITY) add_atom_colour(rgb(33,19,9), FIXED_COLOUR_PRIORITY) name = "the physical manifestation of the very concept of fried foods" desc = "A heavily-fried...something. Who can tell anymore?" + adjust_food_quality(0) //good job, you're truly the best cook. filling_color = color foodtype |= FRIED diff --git a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm index 1215dd7ecb..2cd17a9020 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm @@ -104,6 +104,12 @@ God bless America. else if(!frying && user.transferItemToLoc(I, src)) to_chat(user, "You put [I] into [src].") frying = new/obj/item/reagent_containers/food/snacks/deepfryholder(src, I) + //setup food quality for item depending on if it's edible or not + if(istype(I, /obj/item/reagent_containers/food)) + /obj/item/reagent_containers/food/original_food = I + frying.adjust_food_quality(I.food_quality) //food quality remains unchanged until degree of frying is calculated + else + frying.food_quality = 10 //inedible fried item has low quality icon_state = "fryer_on" fry_loop.start() diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index 305d12b3c5..bd79ed5fb8 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -506,7 +506,7 @@ taste_description = "awful cooking" /datum/reagent/toxin/condensed_cooking_oil/on_mob_life(mob/living/carbon/M) - if(prob(15)) + if(prob(5)) M.vomit() else if(prob(40)) From a90f3d9d2b87ebb3dee16120153b807f7d2e367a Mon Sep 17 00:00:00 2001 From: timothyteakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Thu, 9 Apr 2020 01:46:47 +0100 Subject: [PATCH 003/131] woops --- code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm index 2cd17a9020..3e22070c00 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm @@ -106,8 +106,8 @@ God bless America. frying = new/obj/item/reagent_containers/food/snacks/deepfryholder(src, I) //setup food quality for item depending on if it's edible or not if(istype(I, /obj/item/reagent_containers/food)) - /obj/item/reagent_containers/food/original_food = I - frying.adjust_food_quality(I.food_quality) //food quality remains unchanged until degree of frying is calculated + var/obj/item/reagent_containers/food/original_food = I + frying.adjust_food_quality(original_food.food_quality) //food quality remains unchanged until degree of frying is calculated else frying.food_quality = 10 //inedible fried item has low quality icon_state = "fryer_on" From 20d41720305375d654f9ac4bc675c4dcd8631e43 Mon Sep 17 00:00:00 2001 From: timothyteakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Thu, 9 Apr 2020 02:10:00 +0100 Subject: [PATCH 004/131] more quality --- code/modules/food_and_drinks/kitchen_machinery/gibber.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm index 5117439049..4b5c7d34ad 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm @@ -14,6 +14,7 @@ var/gibtime = 40 // Time from starting until meat appears var/meat_produced = 0 var/ignore_clothing = FALSE + var/meat_quality = 35 //food_quality of meat produced /obj/machinery/gibber/Initialize() @@ -23,8 +24,10 @@ /obj/machinery/gibber/RefreshParts() gibtime = 40 meat_produced = 0 + meat_quality = 35 // unupgraded this means quality is 50, and max upgraded it is 95 for(var/obj/item/stock_parts/matter_bin/B in component_parts) meat_produced += B.rating + meat_quality += B.rating * 15 for(var/obj/item/stock_parts/manipulator/M in component_parts) gibtime -= 5 * M.rating if(M.rating >= 2) @@ -182,6 +185,7 @@ for (var/i=1 to meat_produced) var/obj/item/reagent_containers/food/snacks/meat/slab/newmeat = new typeofmeat newmeat.name = "[sourcename] [newmeat.name]" + newmeat.food_quality = meat_quality if(istype(newmeat)) newmeat.subjectname = sourcename newmeat.reagents.add_reagent (/datum/reagent/consumable/nutriment, sourcenutriment / meat_produced) // Thehehe. Fat guys go first From d985ea8c848b08ab878b50e72f9ae5602eddf74a Mon Sep 17 00:00:00 2001 From: timothyteakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Thu, 9 Apr 2020 02:51:32 +0100 Subject: [PATCH 005/131] more quality --- code/datums/components/butchering.dm | 9 ++++++++- .../modules/reagents/chemistry/reagents/food_reagents.dm | 6 ++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/code/datums/components/butchering.dm b/code/datums/components/butchering.dm index 06169f64bf..1477f7cbc5 100644 --- a/code/datums/components/butchering.dm +++ b/code/datums/components/butchering.dm @@ -69,6 +69,9 @@ H.apply_status_effect(/datum/status_effect/neck_slice) /datum/component/butchering/proc/Butcher(mob/living/butcher, mob/living/meat) + var/meat_quality = 30 + (bonus_modifier/10) //increases through quality of butchering tool, and through if it was butchered in the kitchen or not + if(istype(get_area(butcher), /area/crew_quarters/kitchen)) + meat_quality = meat_quality + 20 var/turf/T = meat.drop_location() var/final_effectiveness = effectiveness - meat.butcher_difficulty var/bonus_chance = max(0, (final_effectiveness - 100) + bonus_modifier) //so 125 total effectiveness = 25% extra chance @@ -83,7 +86,11 @@ if(butcher) to_chat(butcher, "You harvest some extra [initial(bones.name)] from [meat]!") for(var/i in 1 to 2) - new bones (T) + var/butcher_item = new bones (T) + if(istype(butcher_item, /obj/item/reagent_containers/food)) + var/obj/item/reagent_containers/food/butcher_food = butcher_item + butcher_food.adjust_food_quality(meat_quality) + else new bones (T) meat.butcher_results.Remove(bones) //in case you want to, say, have it drop its results on gib diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index fa30609c54..c555609992 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -777,6 +777,12 @@ can_synth = FALSE pH = 6.1 +/datum/reagent/consumable/secretsauce/reaction_obj(obj/O, reac_volume) + //splashing any amount above or equal to 1u of secret sauce onto a piece of food turns its quality to 100 + if(reac_volume >= 1 && istype(O, /obj/item/reagent_containers/food)) + var/obj/item/reagent_containers/food/splashed_food = O + splashed_food.adjust_food_quality(100) + /datum/reagent/consumable/char name = "Char" description = "Essence of the grill. Has strange properties when overdosed." From 7fba81f36e4ebe2862e9676292cce25726fb7e4e Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Thu, 9 Apr 2020 13:32:02 +0100 Subject: [PATCH 006/131] people are more picky about food --- code/modules/food_and_drinks/food.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/food_and_drinks/food.dm b/code/modules/food_and_drinks/food.dm index de41d2dd23..beaf5ed1ba 100644 --- a/code/modules/food_and_drinks/food.dm +++ b/code/modules/food_and_drinks/food.dm @@ -40,9 +40,9 @@ to_chat(H,"That didn't taste very good...") H.adjust_disgust(11 + 15 * fraction) SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "gross_food", /datum/mood_event/gross_food) - else if((foodtype & H.dna.species.liked_food) || food_quality >= 70) + else if((foodtype & H.dna.species.liked_food & food_quality >= 50) || food_quality >= 70) //you like food of high quality, and food of regular quality you have a preference for to_chat(H,"I love this taste!") - H.adjust_disgust(-5 + -2.5 * fraction) + H.adjust_disgust(-5 + (-2.5 * food_quality/50) + -2.5 * fraction) SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "fav_food", /datum/mood_event/favorite_food) else if(foodtype & H.dna.species.toxic_food) From 97dcb9ed846241fa63a0e2303c846ea850cd4f42 Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Thu, 9 Apr 2020 14:50:11 +0100 Subject: [PATCH 007/131] fried garbage is now better --- .../food_and_drinks/food/snacks_bread.dm | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/code/modules/food_and_drinks/food/snacks_bread.dm b/code/modules/food_and_drinks/food/snacks_bread.dm index 11eedcd363..a04766be5d 100644 --- a/code/modules/food_and_drinks/food/snacks_bread.dm +++ b/code/modules/food_and_drinks/food/snacks_bread.dm @@ -185,6 +185,7 @@ icon = 'icons/obj/food/food.dmi' icon_state = "" bitesize = 2 + var/fried_garbage = FALSE //did you really fry a fire extinguisher? GLOBAL_VAR_INIT(frying_hardmode, TRUE) GLOBAL_VAR_INIT(frying_bad_chem_add_volume, TRUE) @@ -215,21 +216,13 @@ GLOBAL_LIST_INIT(frying_bad_chems, list( item_flags = fried.item_flags obj_flags = fried.obj_flags - if(istype(fried, /obj/item/reagent_containers/food/snacks)) + if(istype(fried, /obj/item/reagent_containers/food)) fried.reagents.trans_to(src, fried.reagents.total_volume) qdel(fried) else fried.forceMove(src) trash = fried - if(!istype(fried, /obj/item/reagent_containers/food) && GLOB.frying_hardmode && GLOB.frying_bad_chems.len) - var/R = rand(1, GLOB.frying_bad_chems.len) - var/bad_chem = GLOB.frying_bad_chems[R] - var/bad_chem_amount = GLOB.frying_bad_chems[bad_chem] - if(GLOB.frying_bad_chem_add_volume) - reagents.maximum_volume += bad_chem_amount + 2 //Added room for condensed cooking oil - reagents.add_reagent(bad_chem, bad_chem_amount) - //All fried inedible items also get condensed cooking oil added, which induces minor vomiting and heart damage - reagents.add_reagent(/datum/reagent/toxin/condensed_cooking_oil, 2) + fried_garbage = TRUE /obj/item/reagent_containers/food/snacks/deepfryholder/Destroy() if(trash) @@ -237,6 +230,13 @@ GLOBAL_LIST_INIT(frying_bad_chems, list( . = ..() /obj/item/reagent_containers/food/snacks/deepfryholder/On_Consume(mob/living/eater) + if(fried_garbage && GLOB.frying_hardmode && GLOB.frying_bad_chems.len) + var/R = rand(1, GLOB.frying_bad_chems.len) + var/bad_chem = GLOB.frying_bad_chems[R] + var/bad_chem_amount = GLOB.frying_bad_chems[bad_chem] + eater.reagents.add_reagent(bad_chem, bad_chem_amount) + //All fried inedible items also get condensed cooking oil added, which induces minor vomiting and heart damage + eater.reagents.add_reagent(/datum/reagent/toxin/condensed_cooking_oil, 2) if(trash) QDEL_NULL(trash) ..() From 47be942c92e8e6bf9ba584bb9bcf2c4e3d96c809 Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Thu, 9 Apr 2020 15:29:10 +0100 Subject: [PATCH 008/131] more quality --- code/modules/food_and_drinks/food/snacks.dm | 11 +++++++++-- .../food_and_drinks/kitchen_machinery/microwave.dm | 4 +++- .../food_and_drinks/kitchen_machinery/processor.dm | 5 ++++- code/modules/food_and_drinks/recipes/food_mixtures.dm | 1 - 4 files changed, 16 insertions(+), 5 deletions(-) diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index 177dba0b86..92f8d104a6 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -162,6 +162,13 @@ All foods are distributed among various categories. Use common sense. else . += "[src] was bitten multiple times!" + //examine text for quality + if(food_quality >= 70) + . += "It is of a high quality." + else + if(food_quality <= 30) + . += "It is of a low quality." + /obj/item/reagent_containers/food/snacks/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/storage)) @@ -291,7 +298,7 @@ All foods are distributed among various categories. Use common sense. else S.reagents.add_reagent(r_id, amount) -/obj/item/reagent_containers/food/snacks/microwave_act(obj/machinery/microwave/M) +/obj/item/reagent_containers/food/snacks/microwave_act(obj/machinery/microwave/M, var/quality_increase) var/turf/T = get_turf(src) var/obj/item/result if(cooked_type) @@ -299,7 +306,7 @@ All foods are distributed among various categories. Use common sense. //if the result is food, set its food quality to the original food item's quality if(istype(result, /obj/item/reagent_containers/food)) var/obj/item/reagent_containers/food/food_output = result - food_output.adjust_food_quality(food_quality) + food_output.adjust_food_quality(food_quality + quality_increase) if(istype(M)) initialize_cooked_food(result, M.efficiency) else diff --git a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm index 2adff414e8..9edcaf083c 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm @@ -19,6 +19,7 @@ var/broken = 0 // 0, 1 or 2 // How broken is it??? var/max_n_of_items = 10 var/efficiency = 0 + var/quality_increase = 5 // how much do we increase the quality of microwaved items var/datum/looping_sound/microwave/soundloop var/list/ingredients = list() // may only contain /atom/movables @@ -48,6 +49,7 @@ efficiency += M.rating for(var/obj/item/stock_parts/matter_bin/M in component_parts) max_n_of_items = 10 * M.rating + quality_increase = M.rating * 5 break /obj/machinery/microwave/examine(mob/user) @@ -308,7 +310,7 @@ var/metal = 0 for(var/obj/item/O in ingredients) - O.microwave_act(src) + O.microwave_act(src, quality_increase) if(O.custom_materials?.len) metal += O.custom_materials[SSmaterials.GetMaterialRef(/datum/material/iron)] diff --git a/code/modules/food_and_drinks/kitchen_machinery/processor.dm b/code/modules/food_and_drinks/kitchen_machinery/processor.dm index 113378fbb4..9a3df0a92b 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/processor.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/processor.dm @@ -14,10 +14,13 @@ var/processing = FALSE var/rating_speed = 1 var/rating_amount = 1 + var/quality_increase = 5 /obj/machinery/processor/RefreshParts() + quality_increase = 0 for(var/obj/item/stock_parts/matter_bin/B in component_parts) rating_amount = B.rating + quality_increase += B.rating * 5 for(var/obj/item/stock_parts/manipulator/M in component_parts) rating_speed = M.rating @@ -31,7 +34,7 @@ var/obj/item/reagent_containers/food/food_input = what for(var/i = 0, i < rating_amount, i++) var/obj/item/reagent_containers/food/food_output = new recipe.output(drop_location()) - food_output.adjust_food_quality(food_input.food_quality) //output quality equals input quality for the food processor + food_output.adjust_food_quality(food_input.food_quality + quality_increase) if (ismob(what)) var/mob/themob = what themob.gib(TRUE,TRUE,TRUE) diff --git a/code/modules/food_and_drinks/recipes/food_mixtures.dm b/code/modules/food_and_drinks/recipes/food_mixtures.dm index c15c1cd2f5..ec96a4537c 100644 --- a/code/modules/food_and_drinks/recipes/food_mixtures.dm +++ b/code/modules/food_and_drinks/recipes/food_mixtures.dm @@ -8,7 +8,6 @@ parts |= reqs //////////////////////////////////////////FOOD MIXTURES//////////////////////////////////// - /datum/chemical_reaction/tofu name = "Tofu" id = "tofu" From 7fe5bb71d7c3ee7fe513af5b4cef001515aa7ead Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Thu, 9 Apr 2020 16:07:45 +0100 Subject: [PATCH 009/131] more quality --- code/datums/components/butchering.dm | 14 ++++++++------ .../food_and_drinks/kitchen_machinery/gibber.dm | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/code/datums/components/butchering.dm b/code/datums/components/butchering.dm index 1477f7cbc5..5c295b28cc 100644 --- a/code/datums/components/butchering.dm +++ b/code/datums/components/butchering.dm @@ -75,6 +75,7 @@ var/turf/T = meat.drop_location() var/final_effectiveness = effectiveness - meat.butcher_difficulty var/bonus_chance = max(0, (final_effectiveness - 100) + bonus_modifier) //so 125 total effectiveness = 25% extra chance + var/list/butchered_items = list() for(var/V in meat.butcher_results) var/obj/bones = V var/amount = meat.butcher_results[bones] @@ -86,20 +87,21 @@ if(butcher) to_chat(butcher, "You harvest some extra [initial(bones.name)] from [meat]!") for(var/i in 1 to 2) - var/butcher_item = new bones (T) - if(istype(butcher_item, /obj/item/reagent_containers/food)) - var/obj/item/reagent_containers/food/butcher_food = butcher_item - butcher_food.adjust_food_quality(meat_quality) + butchered_items += new bones (T) else - new bones (T) + butchered_items += new bones (T) meat.butcher_results.Remove(bones) //in case you want to, say, have it drop its results on gib for(var/V in meat.guaranteed_butcher_results) var/obj/sinew = V var/amount = meat.guaranteed_butcher_results[sinew] for(var/i in 1 to amount) - new sinew (T) + butchered_items += new sinew (T) meat.guaranteed_butcher_results.Remove(sinew) + for(var/butchered_item in butchered_items) + if(istype(butchered_item, /obj/item/reagent_containers/food)) + var/obj/item/reagent_containers/food/butchered_meat = butchered_item + butchered_meat.food_quality = meat_quality if(butcher) meat.visible_message("[butcher] butchers [meat].") ButcherEffects(meat) diff --git a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm index 4b5c7d34ad..f6cd44ace1 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm @@ -185,7 +185,6 @@ for (var/i=1 to meat_produced) var/obj/item/reagent_containers/food/snacks/meat/slab/newmeat = new typeofmeat newmeat.name = "[sourcename] [newmeat.name]" - newmeat.food_quality = meat_quality if(istype(newmeat)) newmeat.subjectname = sourcename newmeat.reagents.add_reagent (/datum/reagent/consumable/nutriment, sourcenutriment / meat_produced) // Thehehe. Fat guys go first @@ -211,6 +210,7 @@ skin.forceMove(loc) skin.throw_at(pick(nearby_turfs),meat_produced,3) for (var/i=1 to meat_produced) + allmeat[i].adjust_food_quality(meat_quality) var/obj/item/meatslab = allmeat[i] meatslab.forceMove(loc) meatslab.throw_at(pick(nearby_turfs),i,3) From cfec83b8a24962a675e7a9421c2bf68945b36b38 Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Thu, 9 Apr 2020 18:38:29 +0100 Subject: [PATCH 010/131] what if butchering didnt suck! --- code/datums/components/butchering.dm | 4 ++-- code/modules/food_and_drinks/kitchen_machinery/gibber.dm | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/datums/components/butchering.dm b/code/datums/components/butchering.dm index 5c295b28cc..cb9652e0db 100644 --- a/code/datums/components/butchering.dm +++ b/code/datums/components/butchering.dm @@ -69,9 +69,9 @@ H.apply_status_effect(/datum/status_effect/neck_slice) /datum/component/butchering/proc/Butcher(mob/living/butcher, mob/living/meat) - var/meat_quality = 30 + (bonus_modifier/10) //increases through quality of butchering tool, and through if it was butchered in the kitchen or not + var/meat_quality = 50 + (bonus_modifier/10) //increases through quality of butchering tool, and through if it was butchered in the kitchen or not if(istype(get_area(butcher), /area/crew_quarters/kitchen)) - meat_quality = meat_quality + 20 + meat_quality = meat_quality + 10 var/turf/T = meat.drop_location() var/final_effectiveness = effectiveness - meat.butcher_difficulty var/bonus_chance = max(0, (final_effectiveness - 100) + bonus_modifier) //so 125 total effectiveness = 25% extra chance diff --git a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm index f6cd44ace1..c94aba95b4 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm @@ -184,6 +184,7 @@ for (var/i=1 to meat_produced) var/obj/item/reagent_containers/food/snacks/meat/slab/newmeat = new typeofmeat + newmeat.adjust_food_quality(meat_quality) newmeat.name = "[sourcename] [newmeat.name]" if(istype(newmeat)) newmeat.subjectname = sourcename @@ -210,7 +211,6 @@ skin.forceMove(loc) skin.throw_at(pick(nearby_turfs),meat_produced,3) for (var/i=1 to meat_produced) - allmeat[i].adjust_food_quality(meat_quality) var/obj/item/meatslab = allmeat[i] meatslab.forceMove(loc) meatslab.throw_at(pick(nearby_turfs),i,3) From fe755a14249a8e23f6d0a1a5b65af74d3f971ce8 Mon Sep 17 00:00:00 2001 From: Artur Date: Thu, 9 Apr 2020 21:42:00 +0300 Subject: [PATCH 011/131] Tackling Working so far, working on the lunge now --- .../LavaRuins/lavaland_surface_alien_nest.dmm | 2 +- .../lavaland_surface_syndicate_base1.dmm | 6 +- _maps/RandomRuins/SpaceRuins/advancedlab.dmm | 4 +- _maps/RandomRuins/SpaceRuins/deepstorage.dmm | 4 +- _maps/RandomZLevels/Academy.dmm | 2 +- _maps/RandomZLevels/spacebattle.dmm | 2 +- _maps/map_files/generic/CentCom.dmm | 2 +- code/__DEFINES/dcs/signals.dm | 5 +- code/__DEFINES/traits.dm | 2 + code/_globalvars/lists/maintenance_loot.dm | 1 + code/_onclick/click.dm | 3 + code/datums/components/crafting/recipes.dm | 9 + code/datums/components/tackle.dm | 492 ++++++++++++++++++ code/datums/elements/squish.dm | 28 + code/datums/mutations/body.dm | 4 + code/game/atoms_movable.dm | 9 +- code/game/gamemodes/clown_ops/clown_ops.dm | 2 +- code/game/gamemodes/nuclear/nuclear.dm | 3 +- .../game/objects/effects/spawners/lootdrop.dm | 2 +- code/game/objects/items/storage/toolbox.dm | 4 +- .../crates_lockers/closets/gimmick.dm | 4 +- .../objects/structures/ghost_role_spawners.dm | 2 +- .../bloodsucker/powers/fortitude.dm | 32 +- .../antagonists/bloodsucker/powers/lunge.dm | 98 +--- code/modules/awaymissions/capture_the_flag.dm | 3 +- code/modules/awaymissions/corpse.dm | 4 +- code/modules/cargo/exports/gear.dm | 4 +- code/modules/cargo/packs/armory.dm | 6 +- code/modules/cargo/packs/security.dm | 6 +- code/modules/clothing/gloves/miscellaneous.dm | 4 +- code/modules/clothing/gloves/tacklers.dm | 100 ++++ code/modules/clothing/outfits/ert.dm | 4 +- code/modules/clothing/outfits/standard.dm | 10 +- code/modules/clothing/outfits/vr.dm | 2 +- code/modules/mob/living/carbon/carbon.dm | 2 +- .../carbon/human/species_types/dwarves.dm | 3 +- .../mob/living/simple_animal/corpse.dm | 10 +- .../hostile/mining_mobs/hivelord.dm | 2 +- .../chemistry/reagents/alcohol_reagents.dm | 2 +- code/modules/research/designs/misc_designs.dm | 24 + code/modules/ruins/lavaland_ruin_code.dm | 2 +- code/modules/vending/security.dm | 1 + icons/mob/clothing/hands.dmi | Bin 0 -> 11008 bytes tgstation.dme | 2 + 44 files changed, 760 insertions(+), 153 deletions(-) create mode 100644 code/datums/components/tackle.dm create mode 100644 code/datums/elements/squish.dm create mode 100644 code/modules/clothing/gloves/tacklers.dm create mode 100644 icons/mob/clothing/hands.dmi diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_alien_nest.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_alien_nest.dmm index 1ea3f19c62..862c745f81 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_alien_nest.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_alien_nest.dmm @@ -70,7 +70,7 @@ /obj/structure/alien/weeds, /obj/item/clothing/mask/facehugger/impregnated, /obj/item/clothing/glasses/night, -/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/tackler/combat/insulated, /obj/effect/decal/cleanable/blood/old, /obj/item/clothing/under/syndicate/tacticool, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm index 2ec5b88792..b22c9787ba 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm @@ -526,8 +526,8 @@ /obj/structure/closet/crate/secure/gear{ req_access_txt = "150" }, -/obj/item/clothing/gloves/combat, -/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/tackler/combat/insulated, +/obj/item/clothing/gloves/tackler/combat/insulated, /obj/item/clothing/under/syndicate/combat, /obj/item/clothing/under/syndicate/combat, /obj/item/storage/belt/military, @@ -4197,7 +4197,7 @@ "kw" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/item/clothing/gloves/combat{ +/obj/item/clothing/gloves/tackler/combat/insulated{ pixel_y = -6 }, /obj/item/tank/internals/emergency_oxygen{ diff --git a/_maps/RandomRuins/SpaceRuins/advancedlab.dmm b/_maps/RandomRuins/SpaceRuins/advancedlab.dmm index 66a3d4e55d..b553bb5c97 100644 --- a/_maps/RandomRuins/SpaceRuins/advancedlab.dmm +++ b/_maps/RandomRuins/SpaceRuins/advancedlab.dmm @@ -185,7 +185,7 @@ name = "Clothes" }, /obj/item/clothing/head/chameleon, -/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/tackler/combat/insulated, /obj/item/clothing/suit/chameleon, /obj/item/clothing/under/chameleon, /obj/item/clothing/shoes/chameleon, @@ -221,7 +221,7 @@ }, /obj/item/clothing/under/rank/centcom/commander, /obj/item/clothing/head/centhat, -/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/tackler/combat/insulated, /obj/item/clothing/suit/armor/vest, /obj/item/clothing/shoes/sneakers/brown, /turf/open/floor/wood, diff --git a/_maps/RandomRuins/SpaceRuins/deepstorage.dmm b/_maps/RandomRuins/SpaceRuins/deepstorage.dmm index bf4f0dbfa6..a4c60023e8 100644 --- a/_maps/RandomRuins/SpaceRuins/deepstorage.dmm +++ b/_maps/RandomRuins/SpaceRuins/deepstorage.dmm @@ -2202,11 +2202,11 @@ /area/ruin/space/has_grav/deepstorage/armory) "eO" = ( /obj/structure/table, -/obj/item/clothing/gloves/combat{ +/obj/item/clothing/gloves/tackler/combat/insulated{ pixel_x = -3; pixel_y = 4 }, -/obj/item/clothing/gloves/combat{ +/obj/item/clothing/gloves/tackler/combat/insulated{ pixel_x = 3; pixel_y = -2 }, diff --git a/_maps/RandomZLevels/Academy.dmm b/_maps/RandomZLevels/Academy.dmm index 97ebb80101..de0b7cc430 100644 --- a/_maps/RandomZLevels/Academy.dmm +++ b/_maps/RandomZLevels/Academy.dmm @@ -4322,7 +4322,7 @@ /turf/open/floor/plating/asteroid/snow, /area/awaymission/academy/academycellar) "mV" = ( -/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/tackler/combat/insulated, /turf/open/floor/plating/asteroid/snow, /area/awaymission/academy/academycellar) "mW" = ( diff --git a/_maps/RandomZLevels/spacebattle.dmm b/_maps/RandomZLevels/spacebattle.dmm index 66d7f556b4..ca44e7d7b7 100644 --- a/_maps/RandomZLevels/spacebattle.dmm +++ b/_maps/RandomZLevels/spacebattle.dmm @@ -243,7 +243,7 @@ /area/awaymission/spacebattle/syndicate1) "bg" = ( /obj/structure/table/reinforced, -/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/tackler/combat/insulated, /turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate1) "bh" = ( diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm index c9b81cefd9..5c054c0bb4 100644 --- a/_maps/map_files/generic/CentCom.dmm +++ b/_maps/map_files/generic/CentCom.dmm @@ -7639,7 +7639,7 @@ /obj/item/clothing/suit/space/hardsuit/deathsquad{ pixel_y = 5 }, -/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/tackler/combat/insulated, /obj/item/clothing/shoes/combat/swat, /obj/item/clothing/mask/gas/sechailer/swat, /obj/effect/turf_decal/stripes/line, diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm index e75f832df3..70c2425f48 100644 --- a/code/__DEFINES/dcs/signals.dm +++ b/code/__DEFINES/dcs/signals.dm @@ -119,6 +119,8 @@ #define COMSIG_MOVABLE_UNCROSSED "movable_uncrossed" //from base of atom/movable/Uncrossed(): (/atom/movable) #define COMSIG_MOVABLE_BUMP "movable_bump" //from base of atom/movable/Bump(): (/atom) #define COMSIG_MOVABLE_IMPACT "movable_impact" //from base of atom/movable/throw_impact(): (/atom/hit_atom, /datum/thrownthing/throwingdatum) + #define COMPONENT_MOVABLE_IMPACT_FLIP_HITPUSH 1 ///if true, flip if the impact will push what it hits + #define COMPONENT_MOVABLE_IMPACT_NEVERMIND 2 ///return true if you destroyed whatever it was you're impacting and there won't be anything for hitby() to run on #define COMSIG_MOVABLE_IMPACT_ZONE "item_impact_zone" //from base of mob/living/hitby(): (mob/living/target, hit_zone) #define COMSIG_MOVABLE_BUCKLE "buckle" //from base of atom/movable/buckle_mob(): (mob, force) #define COMSIG_MOVABLE_UNBUCKLE "unbuckle" //from base of atom/movable/unbuckle_mob(): (mob, force) @@ -138,7 +140,6 @@ #define HEARING_SOURCE 8*/ #define COMSIG_MOVABLE_DISPOSING "movable_disposing" //called when the movable is added to a disposal holder object for disposal movement: (obj/structure/disposalholder/holder, obj/machinery/disposal/source) #define COMSIG_MOVABLE_TELEPORTED "movable_teleported" //from base of do_teleport(): (channel, turf/origin, turf/destination) - // /mind signals #define COMSIG_PRE_MIND_TRANSFER "pre_mind_transfer" //from base of mind/transfer_to() before it's done: (new_character, old_character) #define COMPONENT_STOP_MIND_TRANSFER 1 //stops the mind transfer from happening. @@ -148,6 +149,8 @@ #define COMSIG_MOB_EXAMINATE "mob_examinate" //from base of /mob/verb/examinate(): (atom/A) #define COMSIG_MOB_DEATH "mob_death" //from base of mob/death(): (gibbed) #define COMPONENT_BLOCK_DEATH_BROADCAST 1 //stops the death from being broadcasted in deadchat. +#define COMSIG_MOB_CLICKON "mob_clickon" //from base of mob/clickon(): (atom/A, params) + #define COMSIG_MOB_CANCEL_CLICKON 1 #define COMSIG_MOB_GHOSTIZE "mob_ghostize" //from base of mob/Ghostize(): (can_reenter_corpse, special, penalize) #define COMPONENT_BLOCK_GHOSTING (1<<0) #define COMPONENT_DO_NOT_PENALIZE_GHOSTING (1<<1) diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 476d99fd9b..9fc4847751 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -148,6 +148,8 @@ #define TRAIT_EXEMPT_HEALTH_EVENTS "exempt-health-events" #define TRAIT_NO_MIDROUND_ANTAG "no-midround-antag" //can't be turned into an antag by random events #define TRAIT_PASSTABLE "passtable" +#define TRAIT_GIANT "giant" +#define TRAIT_DWARF "dwarf" // 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/_globalvars/lists/maintenance_loot.dm b/code/_globalvars/lists/maintenance_loot.dm index e825233bca..7ad7d154d4 100644 --- a/code/_globalvars/lists/maintenance_loot.dm +++ b/code/_globalvars/lists/maintenance_loot.dm @@ -116,5 +116,6 @@ GLOBAL_LIST_INIT(maintenance_loot, list( /obj/item/autosurgeon/penis = 1, /obj/item/autosurgeon/testicles = 1, /obj/item/storage/box/marshmallow = 2, + /obj/item/clothing/gloves/tackler/offbrand = 1, "" = 3 )) diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 46c2c919f4..9ce96585d3 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -75,6 +75,9 @@ if(notransform) return + if(SEND_SIGNAL(src, COMSIG_MOB_CLICKON, A, params) & COMSIG_MOB_CANCEL_CLICKON) + return + var/list/modifiers = params2list(params) if(modifiers["shift"] && modifiers["middle"]) ShiftMiddleClickOn(A) diff --git a/code/datums/components/crafting/recipes.dm b/code/datums/components/crafting/recipes.dm index 2b6f1a5b81..a87496a212 100644 --- a/code/datums/components/crafting/recipes.dm +++ b/code/datums/components/crafting/recipes.dm @@ -23,3 +23,12 @@ */ /datum/crafting_recipe/proc/check_requirements(mob/user, list/collected_requirements) return TRUE + +/datum/crafting_recipe/gripperoffbrand + name = "Improvised Gripper Gloves" + reqs = list( + /obj/item/clothing/gloves/fingerless = 1 + // /obj/item/stack/sticky_tape = 1 + ) + result = /obj/item/clothing/gloves/tackler/offbrand + category = CAT_CLOTHING diff --git a/code/datums/components/tackle.dm b/code/datums/components/tackle.dm new file mode 100644 index 0000000000..28dd469041 --- /dev/null +++ b/code/datums/components/tackle.dm @@ -0,0 +1,492 @@ +#define MAX_TABLE_MESSES 8 // how many things can we knock off a table at once? + +/** + *#tackle.dm + * + * For when you want to throw a person at something and have fun stuff happen + * + * This component is made for carbon mobs (really, humans), and allows its parent to throw themselves and perform tackles. This is done by enabling throw mode, then clicking on your + * intended target with an empty hand. You will then launch toward your target. If you hit a carbon, you'll roll to see how hard you hit them. If you hit a solid non-mob, you'll + * roll to see how badly you just messed yourself up. If, along your journey, you hit a table, you'll slam onto it and send up to MAX_TABLE_MESSES (8) /obj/items on the table flying, + * and take a bit of extra damage and stun for each thing launched. + * + * There are 2 """skill rolls""" involved here, which are handled and explained in sack() and rollTackle() (for roll 1, carbons), and splat() (for roll 2, walls and solid objects) +*/ +/datum/component/tackler + dupe_mode = COMPONENT_DUPE_UNIQUE + + ///If we're currently tackling or are on cooldown. Actually, shit, if I use this to handle cooldowns, then getting thrown by something while on cooldown will count as a tackle..... whatever, i'll fix that next commit + var/tackling = TRUE + ///How much stamina it takes to launch a tackle + var/stamina_cost + ///Launching a tackle calls Knockdown on you for this long, so this is your cooldown. Once you stand back up, you can tackle again. + var/base_knockdown + ///Your max range for how far you can tackle. + var/range + ///How fast you sail through the air. Standard tackles are 1 speed, but gloves that throw you faster come at a cost: higher speeds make it more likely you'll be badly injured if you fly into a non-mob obstacle. + var/speed + ///A flat modifier to your roll against your target, as described in [rollTackle()][/datum/component/tackler/proc/rollTackle]. Slightly misleading, skills aren't relevant here, this is a matter of what type of gloves (or whatever) is granting you the ability to tackle. + var/skill_mod + ///Some gloves, generally ones that increase mobility, may have a minimum distance to fly. Rocket gloves are especially dangerous with this, be sure you'll hit your target or have a clear background if you miss, or else! + var/min_distance + ///The throwdatum we're currently dealing with, if we need it + var/datum/thrownthing/tackle + +/datum/component/tackler/Initialize(stamina_cost = 25, base_knockdown = 1 SECONDS, range = 4, speed = 1, skill_mod = 0, min_distance = min_distance) + if(!iscarbon(parent)) + return COMPONENT_INCOMPATIBLE + + src.stamina_cost = stamina_cost + src.base_knockdown = base_knockdown + src.range = range + src.speed = speed + src.skill_mod = skill_mod + src.min_distance = min_distance + + var/mob/P = parent + to_chat(P, "You are now able to launch tackles! You can do so by activating throw intent, and clicking on your target with an empty hand.") + + addtimer(CALLBACK(src, .proc/resetTackle), base_knockdown, TIMER_STOPPABLE) + +/datum/component/tackler/Destroy() + var/mob/P = parent + to_chat(P, "You can no longer tackle.") + ..() + +/datum/component/tackler/RegisterWithParent() + RegisterSignal(parent, COMSIG_MOB_CLICKON, .proc/checkTackle) + RegisterSignal(parent, COMSIG_MOVABLE_IMPACT, .proc/sack) + RegisterSignal(parent, COMSIG_MOVABLE_POST_THROW, .proc/registerTackle) + +/datum/component/tackler/UnregisterFromParent() + UnregisterSignal(parent, list(COMSIG_MOB_CLICKON, COMSIG_MOVABLE_IMPACT, COMSIG_MOVABLE_MOVED, COMSIG_MOVABLE_POST_THROW)) + +///Store the thrownthing datum for later use +/datum/component/tackler/proc/registerTackle(mob/living/carbon/user, datum/thrownthing/TT) + tackle = TT + +///See if we can tackle or not. If we can, leap! +/datum/component/tackler/proc/checkTackle(mob/living/carbon/user, atom/A, params) + if(!user.in_throw_mode || user.get_active_held_item() || user.pulling || user.buckling) + return + + if(HAS_TRAIT(user, TRAIT_HULK)) + to_chat(user, "You're too angry to remember how to tackle!") + return + + if(user.restrained()) + to_chat(user, "You need free use of your hands to tackle!") + return + + if(!(user.mobility_flags & MOBILITY_STAND)) + to_chat(user, "You must be standing to tackle!") + return + + if(tackling) + to_chat(user, "You're not ready to tackle!") + return + + if(user.has_movespeed_modifier(MOVESPEED_ID_SHOVE)) // can't tackle if you just got shoved + to_chat(user, "You're too off balance to tackle!") + return + + user.face_atom(A) + + var/list/modifiers = params2list(params) + if(modifiers["alt"] || modifiers["shift"] || modifiers["ctrl"] || modifiers["middle"]) + return + + tackling = TRUE + RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/checkObstacle) + playsound(user, 'sound/weapons/thudswoosh.ogg', 40, TRUE, -1) + + if(can_see(user, A, 7)) + user.visible_message("[user] leaps at [A]!", "You leap at [A]!") + else + user.visible_message("[user] leaps!", "You leap!") + + if(get_dist(user, A) < min_distance) + A = get_ranged_target_turf(user, get_dir(user, A), min_distance) //TODO: this only works in cardinals/diagonals, make it work with in-betweens too! + + user.Knockdown(base_knockdown, TRUE, TRUE) + user.adjustStaminaLoss(stamina_cost) + user.throw_at(A, range, speed, user, FALSE) + user.toggle_throw_mode() + addtimer(CALLBACK(src, .proc/resetTackle), base_knockdown, TIMER_STOPPABLE) + return(COMSIG_MOB_CANCEL_CLICKON) + +/** + * sack() + * + * sack() is called when you actually smack into something, assuming we're mid-tackle. First it deals with smacking into non-carbons, in two cases: + * * If it's a non-carbon mob, we don't care, get out of here and do normal thrown-into-mob stuff + * * Else, if it's something dense (walls, machinery, structures, most things other than the floor), go to splat() and get ready for some high grade shit + * + * If it's a carbon we hit, we'll call rollTackle() which rolls a die and calculates modifiers for both the tackler and target, then gives us a number. Negatives favor the target, while positives favor the tackler. + * Check [rollTackle()][/datum/component/tackler/proc/rollTackle] for a more thorough explanation on the modifiers at play. + * + * Then, we figure out what effect we want, and we get to work! Note that with standard gripper gloves and no modifiers, the range of rolls is (-3, 3). The results are as follows, based on what we rolled: + * * -inf to -5: Seriously botched tackle, tackler suffers a concussion, brute damage, and a 3 second paralyze, target suffers nothing + * * -4 to -2: weak tackle, tackler gets 3 second knockdown, target gets shove slowdown but is otherwise fine + * * -1 to 0: decent tackle, tackler gets up a bit quicker than the target + * * 1: solid tackle, tackler has more of an advantage getting up quicker + * * 2 to 4: expert tackle, tackler has sizeable advantage and lands on their feet with a free passive grab + * * 5 to inf: MONSTER tackle, tackler gets up immediately and gets a free aggressive grab, target takes sizeable stamina damage from the hit and is paralyzed for one and a half seconds and knocked down for three seconds + * + * Finally, we return a bitflag to [COMSIG_MOVABLE_IMPACT] that forces the hitpush to false so that we don't knock them away. +*/ +/datum/component/tackler/proc/sack(mob/living/carbon/user, atom/hit) + if(!tackling || !tackle) + return + + if(!iscarbon(hit)) + if(hit.density) + return splat(user, hit) + return + + var/mob/living/carbon/target = hit + var/mob/living/carbon/human/T = target + var/mob/living/carbon/human/S = user + + var/roll = rollTackle(target) + tackling = FALSE + + switch(roll) + if(-INFINITY to -5) + user.visible_message("[user] botches [user.p_their()] tackle and slams [user.p_their()] head into [target], knocking [user.p_them()]self silly!", "You botch your tackle and slam your head into [target], knocking yourself silly!", target) + to_chat(target, "[user] botches [user.p_their()] tackle and slams [user.p_their()] head into you, knocking [user.p_them()]self silly!") + + user.Paralyze(30) + var/obj/item/bodypart/head/hed = user.get_bodypart(BODY_ZONE_HEAD) + if(hed) + hed.receive_damage(brute=20, updating_health=TRUE) + user.gain_trauma(/datum/brain_trauma/mild/concussion) + + if(-4 to -2) // glancing blow at best + user.visible_message("[user] lands a weak tackle on [target], briefly knocking [target.p_them()] off-balance!", "You land a weak tackle on [target], briefly knocking [target.p_them()] off-balance!", target) + to_chat(target, "[user] lands a weak tackle on you, briefly knocking you off-balance!") + + user.Knockdown(30) + if(ishuman(target) && !T.has_movespeed_modifier(MOVESPEED_ID_SHOVE)) + T.add_movespeed_modifier(MOVESPEED_ID_SHOVE, multiplicative_slowdown = SHOVE_SLOWDOWN_STRENGTH) // maybe define a slightly more severe/longer slowdown for this + addtimer(CALLBACK(T, /mob/living/carbon/human/proc/clear_shove_slowdown), SHOVE_SLOWDOWN_LENGTH) + + if(-1 to 0) // decent hit, both parties are about equally inconvenienced + user.visible_message("[user] lands a passable tackle on [target], sending them both tumbling!", "You land a passable tackle on [target], sending you both tumbling!", target) + to_chat(target, "[user] lands a passable tackle on you, sending you both tumbling!") + + target.adjustStaminaLoss(stamina_cost) + target.Paralyze(5) + user.Knockdown(20) + target.Knockdown(25) + + if(1 to 2) // solid hit, tackler has a slight advantage + user.visible_message("[user] lands a solid tackle on [target], knocking them both down hard!", "You land a solid tackle on [target], knocking you both down hard!", target) + to_chat(target, "[user] lands a solid tackle on you, knocking you both down hard!") + + target.adjustStaminaLoss(30) + target.Paralyze(5) + user.Knockdown(10) + target.Knockdown(20) + + if(3 to 4) // really good hit, the target is definitely worse off here. Without positive modifiers, this is as good a tackle as you can land + user.visible_message("[user] lands an expert tackle on [target], knocking [target.p_them()] down hard while landing on [user.p_their()] feet with a passive grip!", "You land an expert tackle on [target], knocking [target.p_them()] down hard while landing on your feet with a passive grip!", target) + to_chat(target, "[user] lands an expert tackle on you, knocking you down hard and maintaining a passive grab!") + + user.SetKnockdown(0) + user.forceMove(get_turf(target)) + target.adjustStaminaLoss(40) + target.Paralyze(5) + target.Knockdown(30) + if(ishuman(target) && ishuman(user)) + S.dna.species.grab(S, T) + S.setGrabState(GRAB_PASSIVE) + + if(5 to INFINITY) // absolutely BODIED + user.visible_message("[user] lands a monster tackle on [target], knocking [target.p_them()] senseless and applying an aggressive pin!", "You land a monster tackle on [target], knocking [target.p_them()] senseless and applying an aggressive pin!", target) + to_chat(target, "[user] lands a monster tackle on you, knocking you senseless and aggressively pinning you!") + + user.SetKnockdown(0) + user.forceMove(get_turf(target)) + target.adjustStaminaLoss(40) + target.Paralyze(5) + target.Knockdown(30) + if(ishuman(target) && ishuman(user)) + S.dna.species.grab(S, T) + S.setGrabState(GRAB_AGGRESSIVE) + + + return COMPONENT_MOVABLE_IMPACT_FLIP_HITPUSH + +/** + * rollTackle() + * + * This handles all of the modifiers for the actual carbon-on-carbon tackling, and gets its own proc because of how many there are (with plenty more in mind!) + * + * The base roll is between (-3, 3), with negative numbers favoring the target, and positive numbers favoring the tackler. The target and the tackler are both assessed for + * how easy they are to knock over, with clumsiness and dwarfiness being strong maluses for each, and gigantism giving a bonus for each. These numbers and ideas + * are absolutely subject to change. + + * In addition, after subtracting the defender's mod and adding the attacker's mod to the roll, the component's base (skill) mod is added as well. Some sources of tackles + * are better at taking people down, like the bruiser and rocket gloves, while the dolphin gloves have a malus in exchange for better mobility. +*/ +/datum/component/tackler/proc/rollTackle(mob/living/carbon/target) + var/defense_mod = 0 + var/attack_mod = 0 + + // DE-FENSE + if(target.drunkenness > 60) // drunks are easier to knock off balance + defense_mod -= 3 + else if(target.drunkenness > 30) + defense_mod -= 1 + if(HAS_TRAIT(target, TRAIT_CLUMSY)) + defense_mod -= 2 + if(HAS_TRAIT(target, TRAIT_FAT)) // chonkers are harder to knock over + defense_mod += 1 + //if(HAS_TRAIT(target, TRAIT_GRABWEAKNESS)) Todo, port the pushover trait + //defense_mod -= 2 + if(HAS_TRAIT(target, TRAIT_DWARF)) + defense_mod -= 2 + if(HAS_TRAIT(target, TRAIT_GIANT)) + defense_mod += 2 + + if(ishuman(target)) + var/mob/living/carbon/human/T = target + var/suit_slot = T.get_item_by_slot(ITEM_SLOT_OCLOTHING) + + if(isnull(T.wear_suit) && isnull(T.w_uniform)) // who honestly puts all of their effort into tackling a naked guy? + defense_mod += 2 + if(suit_slot && (istype(suit_slot,/obj/item/clothing/suit/space/hardsuit))) + defense_mod += 1 + if(T.is_shove_knockdown_blocked()) // riot armor and such + defense_mod += 5 + if(T.is_holding_item_of_type(/obj/item/shield)) + defense_mod += 2 + + if(islizard(T)) + if(!T.getorganslot(ORGAN_SLOT_TAIL)) // lizards without tails are off-balance + defense_mod -= 1 + else if(T.dna.species.is_wagging_tail()) // lizard tail wagging is robust and can swat away assailants! + defense_mod += 1 + + // OF-FENSE + var/mob/living/carbon/sacker = parent + + if(sacker.drunkenness > 60) // you're far too drunk to hold back! + attack_mod += 1 + else if(sacker.drunkenness > 30) // if you're only a bit drunk though, you're just sloppy + attack_mod -= 1 + if(HAS_TRAIT(sacker, TRAIT_CLUMSY)) + attack_mod -= 2 + if(HAS_TRAIT(sacker, TRAIT_DWARF)) + attack_mod -= 2 + if(HAS_TRAIT(sacker, TRAIT_GIANT)) + attack_mod += 2 + + if(ishuman(target)) + var/mob/living/carbon/human/S = sacker + + var/suit_slot = S.get_item_by_slot(ITEM_SLOT_OCLOTHING) + if(suit_slot && (istype(suit_slot,/obj/item/clothing/suit/armor/riot))) // tackling in riot armor is more effective, but tiring + attack_mod += 2 + sacker.adjustStaminaLoss(20) + + var/r = rand(-3, 3) - defense_mod + attack_mod + skill_mod + return r + + +/** + * splat() + * + * This is where we handle diving into dense atoms, generally with effects ranging from bad to REALLY bad. This works as a percentile roll that is modified in two steps as detailed below. The higher + * the roll, the more severe the result. + * + * Mod 1: Speed + * * Base tackle speed is 1, which is what normal gripper gloves use. For other sources with higher speed tackles, like dolphin and ESPECIALLY rocket gloves, we obey Newton's laws and hit things harder. + * * For every unit of speed above 1, move the lower bound of the roll up by 15. Unlike Mod 2, this only serves to raise the lower bound, so it can't be directly counteracted by anything you can control. + * + * Mod 2: Misc + * -Flat modifiers, these take whatever you rolled and add/subtract to it, with the end result capped between the minimum from Mod 1 and 100. Note that since we can't roll higher than 100 to start with, + * wearing a helmet should be enough to remove any chance of permanently paralyzing yourself and dramatically lessen knocking yourself unconscious, even with rocket gloves. Will expand on maybe + * * Wearing a helmet: -6 + * * Wearing armor: -6 + * * Clumsy: +6 + * + * Effects: Below are the outcomes based off your roll, in order of increasing severity + * * 1-63: Knocked down for a few seconds and a bit of brute and stamina damage + * * 64-83: Knocked silly, gain some confusion as well as the above + * * 84-93: Cranial trauma, get a concussion and more confusion, plus more damage + * * 94-98: Knocked unconscious, significant chance to get a random mild brain trauma, as well as a fair amount of damage + * * 99-100: Break your spinal cord, get paralyzed, take a bunch of damage too. Very unlucky! +*/ +/datum/component/tackler/proc/splat(mob/living/carbon/user, atom/hit) + if(istype(hit, /obj/structure/window)) + var/obj/structure/window/W = hit + splatWindow(user, W) + if(QDELETED(W)) + return COMPONENT_MOVABLE_IMPACT_NEVERMIND + return + + var/oopsie_mod = 0 + var/danger_zone = (speed - 1) * 15 // for every extra speed we have over 1, take away 15 of the safest chance + danger_zone = max(min(danger_zone, 100), 1) + + if(ishuman(user)) + var/mob/living/carbon/human/S = user + var/head_slot = S.get_item_by_slot(ITEM_SLOT_HEAD) + var/suit_slot = S.get_item_by_slot(ITEM_SLOT_OCLOTHING) + if(head_slot && (istype(head_slot,/obj/item/clothing/head/helmet) || istype(head_slot,/obj/item/clothing/head/hardhat))) + oopsie_mod -= 6 + if(suit_slot && (istype(suit_slot,/obj/item/clothing/suit/armor/))) + oopsie_mod -= 6 + + if(HAS_TRAIT(user, TRAIT_CLUMSY)) + oopsie_mod += 6 //honk! + + var/oopsie = rand(danger_zone, 100) + if(oopsie >= 94 && oopsie_mod < 0) // good job avoiding getting paralyzed! gold star! + to_chat(user, "You're really glad you're wearing protection!") + oopsie += oopsie_mod + + switch(oopsie) + if(99 to INFINITY) + // can you imagine standing around minding your own business when all of the sudden some guy fucking launches himself into a wall at full speed and irreparably paralyzes himself? + user.visible_message("[user] slams face-first into [hit] at an awkward angle, severing [user.p_their()] spinal column with a sickening crack! Holy shit!", "You slam face-first into [hit] at an awkward angle, severing your spinal column with a sickening crack! Holy shit!") + user.adjustStaminaLoss(30) + user.adjustBruteLoss(30) + playsound(user, 'sound/effects/blobattack.ogg', 60, TRUE) + playsound(user, 'sound/effects/splat.ogg', 70, TRUE) + user.emote("scream") + user.gain_trauma(/datum/brain_trauma/severe/paralysis/paraplegic) // oopsie indeed! + shake_camera(user, 7, 7) + user.overlay_fullscreen("flash", /obj/screen/fullscreen/flash) + user.clear_fullscreen("flash", 4.5) + + if(94 to 98) + user.visible_message("[user] slams face-first into [hit] with a concerning squish, immediately going limp!", "You slam face-first into [hit], and immediately lose consciousness!") + user.adjustStaminaLoss(30) + user.adjustBruteLoss(30) + user.Unconscious(100) + user.gain_trauma_type(BRAIN_TRAUMA_MILD) + user.playsound_local(get_turf(user), 'sound/weapons/flashbang.ogg', 100, TRUE, 8, 0.9) + shake_camera(user, 6, 6) + user.overlay_fullscreen("flash", /obj/screen/fullscreen/flash) + user.clear_fullscreen("flash", 3.5) + + if(84 to 93) + user.visible_message("[user] slams head-first into [hit], suffering major cranial trauma!", "You slam head-first into [hit], and the world explodes around you!") + user.adjustStaminaLoss(30) + user.adjustBruteLoss(30) + user.confused += 15 + if(prob(80)) + user.gain_trauma(/datum/brain_trauma/mild/concussion) + user.playsound_local(get_turf(user), 'sound/weapons/flashbang.ogg', 100, TRUE, 8, 0.9) + user.Knockdown(40) + shake_camera(user, 5, 5) + user.overlay_fullscreen("flash", /obj/screen/fullscreen/flash) + user.clear_fullscreen("flash", 2.5) + + if(64 to 83) + user.visible_message("[user] slams hard into [hit], knocking [user.p_them()] senseless!", "You slam hard into [hit], knocking yourself senseless!") + user.adjustStaminaLoss(30) + user.adjustBruteLoss(10) + user.confused += 10 + user.Knockdown(30) + shake_camera(user, 3, 4) + + if(1 to 63) + user.visible_message("[user] slams into [hit]!", "You slam into [hit]!") + user.adjustStaminaLoss(20) + user.adjustBruteLoss(10) + user.Knockdown(30) + shake_camera(user, 2, 2) + + playsound(user, 'sound/weapons/smash.ogg', 70, TRUE) + + +/datum/component/tackler/proc/resetTackle() + tackling = FALSE + QDEL_NULL(tackle) + UnregisterSignal(parent, COMSIG_MOVABLE_MOVED) + +///A special case for splatting for handling windows +/datum/component/tackler/proc/splatWindow(mob/living/carbon/user, obj/structure/window/W) + playsound(user, "sound/effects/Glasshit.ogg", 140, TRUE) + + if(W.type in list(/obj/structure/window, /obj/structure/window/fulltile, /obj/structure/window/unanchored, /obj/structure/window/fulltile/unanchored)) // boring unreinforced windows + for(var/i = 0, i < speed, i++) + var/obj/item/shard/shard = new /obj/item/shard(get_turf(user)) + //shard.embedding = list(embed_chance = 100, ignore_throwspeed_threshold = TRUE, impact_pain_mult=3, pain_chance=5) + //shard.AddElement(/datum/element/embed, shard.embedding) + user.hitby(shard, skipcatch = TRUE, hitpush = FALSE) + //shard.embedding = list() + //shard.AddElement(/datum/element/embed, shard.embedding) + W.obj_destruction() + user.adjustStaminaLoss(10 * speed) + user.Paralyze(30) + user.visible_message("[user] slams into [W] and shatters it, shredding [user.p_them()]self with glass!", "You slam into [W] and shatter it, shredding yourself with glass!") + + else + user.visible_message("[user] slams into [W] like a bug, then slowly slides off it!", "You slam into [W] like a bug, then slowly slide off it!") + user.Paralyze(10) + user.Knockdown(30) + W.take_damage(20 * speed) + user.adjustStaminaLoss(10 * speed) + user.adjustBruteLoss(5 * speed) + +/datum/component/tackler/proc/delayedSmash(obj/structure/window/W) + if(W) + W.obj_destruction() + playsound(W, "shatter", 70, TRUE) + +///Check to see if we hit a table, and if so, make a big mess! +/datum/component/tackler/proc/checkObstacle(mob/living/carbon/owner) + if(!tackling) + return + + var/turf/T = get_turf(owner) + var/obj/structure/table/kevved = locate(/obj/structure/table) in T.contents + if(!kevved) + return + + var/list/messes = list() + + // we split the mess-making into two parts (check what we're gonna send flying, intermission for dealing with the tackler, then actually send stuff flying) for the benefit of making sure the face-slam text + // comes before the list of stuff that goes flying, but can still adjust text + damage to how much of a mess it made + for(var/obj/item/I in T.contents) + if(!I.anchored) + messes += I + if(messes.len >= MAX_TABLE_MESSES) + break + + /// for telling HOW big of a mess we just made + var/HOW_big_of_a_miss_did_we_just_make = "" + if(messes.len) + if(messes.len < MAX_TABLE_MESSES / 4) + HOW_big_of_a_miss_did_we_just_make = ", making a mess" + else if(messes.len < MAX_TABLE_MESSES / 2) + HOW_big_of_a_miss_did_we_just_make = ", making a big mess" + else if(messes.len < MAX_TABLE_MESSES) + HOW_big_of_a_miss_did_we_just_make = ", making a giant mess" + else + HOW_big_of_a_miss_did_we_just_make = ", making a ginormous mess!" // an extra exclamation point!! for emphasis!!! + + owner.visible_message("[owner] trips over [kevved] and slams into it face-first[HOW_big_of_a_miss_did_we_just_make]!", "You trip over [kevved] and slam into it face-first[HOW_big_of_a_miss_did_we_just_make]!") + owner.adjustStaminaLoss(20 + messes.len * 2) + owner.adjustBruteLoss(10 + messes.len) + owner.Paralyze(5 * messes.len) // half a second of paralyze for each thing you knock around + owner.Knockdown(20 + 5 * messes.len) // 2 seconds of knockdown after the paralyze + + for(var/obj/item/I in messes) + var/dist = rand(1, 3) + var/sp = 2 + if(prob(25 * (src.speed - 1))) // if our tackle speed is higher than 1, with chance (speed - 1 * 25%), throw the thing at our tackle speed + 1 + sp = speed + 1 + I.throw_at(get_ranged_target_turf(I, pick(GLOB.alldirs), range = dist), range = dist, speed = sp) + I.visible_message("[I] goes flying[sp > 3 ? " dangerously fast" : ""]!") // standard embed speed + + playsound(owner, 'sound/weapons/smash.ogg', 70, TRUE) + tackle.finalize(hit=TRUE) + resetTackle() + +#undef MAX_TABLE_MESSES diff --git a/code/datums/elements/squish.dm b/code/datums/elements/squish.dm new file mode 100644 index 0000000000..823d391e14 --- /dev/null +++ b/code/datums/elements/squish.dm @@ -0,0 +1,28 @@ +#define SHORT 5/7 +#define TALL 7/5 + +/datum/element/squish + element_flags = ELEMENT_DETACH + +/datum/element/squish/Attach(datum/target, duration) + . = ..() + if(!iscarbon(target)) + return ELEMENT_INCOMPATIBLE + + var/mob/living/carbon/C = target + var/was_lying = (C.lying != 0) + addtimer(CALLBACK(src, .proc/Detach, C, was_lying), duration) + + C.transform = C.transform.Scale(TALL, SHORT) + +/datum/element/squish/Detach(mob/living/carbon/C, was_lying) + . = ..() + if(istype(C)) + var/is_lying = (C.lying != 0) + if(was_lying == is_lying) + C.transform = C.transform.Scale(SHORT, TALL) + else + C.transform = C.transform.Scale(TALL, SHORT) + +#undef SHORT +#undef TALL diff --git a/code/datums/mutations/body.dm b/code/datums/mutations/body.dm index ab7fe986fb..9f8c74e2db 100644 --- a/code/datums/mutations/body.dm +++ b/code/datums/mutations/body.dm @@ -81,6 +81,7 @@ /datum/mutation/human/dwarfism/on_acquiring(mob/living/carbon/human/owner) if(..()) return + ADD_TRAIT(owner, TRAIT_DWARF, GENETIC_MUTATION) owner.transform = owner.transform.Scale(1, 0.8) passtable_on(owner, GENETIC_MUTATION) owner.visible_message("[owner] suddenly shrinks!", "Everything around you seems to grow..") @@ -88,6 +89,7 @@ /datum/mutation/human/dwarfism/on_losing(mob/living/carbon/human/owner) if(..()) return + REMOVE_TRAIT(owner, TRAIT_DWARF, GENETIC_MUTATION) owner.transform = owner.transform.Scale(1, 1.25) passtable_off(owner, GENETIC_MUTATION) owner.visible_message("[owner] suddenly grows!", "Everything around you seems to shrink..") @@ -339,6 +341,7 @@ /datum/mutation/human/gigantism/on_acquiring(mob/living/carbon/human/owner) if(..()) return + ADD_TRAIT(owner, TRAIT_GIANT, GENETIC_MUTATION) owner.resize = 1.25 owner.update_transform() owner.visible_message("[owner] suddenly grows!", "Everything around you seems to shrink..") @@ -346,6 +349,7 @@ /datum/mutation/human/gigantism/on_losing(mob/living/carbon/human/owner) if(..()) return + REMOVE_TRAIT(owner, TRAIT_GIANT, GENETIC_MUTATION) owner.resize = 0.8 owner.update_transform() owner.visible_message("[owner] suddenly shrinks!", "Everything around you seems to grow..") diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 6089d11d6c..cc6f84a18f 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -251,8 +251,13 @@ /atom/movable/proc/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) set waitfor = 0 - SEND_SIGNAL(src, COMSIG_MOVABLE_IMPACT, hit_atom, throwingdatum) - return hit_atom.hitby(src, throwingdatum=throwingdatum) + var/hitpush = TRUE + var/impact_signal = SEND_SIGNAL(src, COMSIG_MOVABLE_IMPACT, hit_atom, throwingdatum) + if(impact_signal & COMPONENT_MOVABLE_IMPACT_FLIP_HITPUSH) + hitpush = FALSE // hacky, tie this to something else or a proper workaround later + + if(impact_signal & ~COMPONENT_MOVABLE_IMPACT_NEVERMIND) // in case a signal interceptor broke or deleted the thing before we could process our hit + return hit_atom.hitby(src, throwingdatum = throwingdatum, hitpush = hitpush) /atom/movable/hitby(atom/movable/AM, skipcatch, hitpush = TRUE, blocked, datum/thrownthing/throwingdatum) if(!anchored && hitpush && (!throwingdatum || (throwingdatum.force >= (move_resist * MOVE_FORCE_PUSH_RATIO)))) diff --git a/code/game/gamemodes/clown_ops/clown_ops.dm b/code/game/gamemodes/clown_ops/clown_ops.dm index 11898701fa..d0914b8d8f 100644 --- a/code/game/gamemodes/clown_ops/clown_ops.dm +++ b/code/game/gamemodes/clown_ops/clown_ops.dm @@ -37,7 +37,7 @@ uniform = /obj/item/clothing/under/syndicate shoes = /obj/item/clothing/shoes/clown_shoes/combat mask = /obj/item/clothing/mask/gas/clown_hat - gloves = /obj/item/clothing/gloves/combat + gloves = /obj/item/clothing/gloves/tackler/combat/insulated back = /obj/item/storage/backpack/clown ears = /obj/item/radio/headset/syndicate/alt l_pocket = /obj/item/pinpointer/nuke/syndicate diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index 48a298984c..5da95bbd3a 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -120,8 +120,7 @@ uniform = /obj/item/clothing/under/syndicate shoes = /obj/item/clothing/shoes/combat - gloves = /obj/item/clothing/gloves/combat - back = /obj/item/storage/backpack + gloves = /obj/item/clothing/gloves/tackler/combat/insulated ears = /obj/item/radio/headset/syndicate/alt l_pocket = /obj/item/pinpointer/nuke/syndicate id = /obj/item/card/id/syndicate diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm index d79fba7172..8aa2627825 100644 --- a/code/game/objects/effects/spawners/lootdrop.dm +++ b/code/game/objects/effects/spawners/lootdrop.dm @@ -518,6 +518,6 @@ /obj/item/gun/ballistic/automatic/toy/pistol = 5, /obj/item/firing_pin = 5, /obj/item/grenade/empgrenade = 15, - /obj/item/clothing/gloves/combat = 10, + /obj/item/clothing/gloves/tackler/combat/insulated = 10, /obj/item/clothing/shoes/sneakers/noslip = 10 ) diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index 50620b90fe..64e0a6b492 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -138,7 +138,7 @@ GLOBAL_LIST_EMPTY(rubber_toolbox_icons) new /obj/item/crowbar/red(src) new /obj/item/wirecutters(src, "red") new /obj/item/multitool(src) - new /obj/item/clothing/gloves/combat(src) + new /obj/item/clothing/gloves/tackler/combat/insulated(src) /obj/item/storage/toolbox/drone name = "mechanical toolbox" @@ -311,7 +311,7 @@ GLOBAL_LIST_EMPTY(rubber_toolbox_icons) new /obj/item/crowbar/red(src) new /obj/item/wirecutters(src, "red") new /obj/item/multitool/ai_detect(src) - new /obj/item/clothing/gloves/combat(src) + new /obj/item/clothing/gloves/tackler/combat/insulated(src) /obj/item/storage/toolbox/gold_real/ComponentInitialize() . = ..() diff --git a/code/game/objects/structures/crates_lockers/closets/gimmick.dm b/code/game/objects/structures/crates_lockers/closets/gimmick.dm index 83827b56b6..0da502283b 100644 --- a/code/game/objects/structures/crates_lockers/closets/gimmick.dm +++ b/code/game/objects/structures/crates_lockers/closets/gimmick.dm @@ -37,8 +37,8 @@ ..() new /obj/item/clothing/glasses/eyepatch(src) new /obj/item/clothing/glasses/sunglasses(src) - new /obj/item/clothing/gloves/combat(src) - new /obj/item/clothing/gloves/combat(src) + new /obj/item/clothing/gloves/tackler/combat(src) + new /obj/item/clothing/gloves/tackler/combat(src) new /obj/item/clothing/head/helmet/swat(src) new /obj/item/clothing/head/helmet/swat(src) new /obj/item/clothing/mask/gas/sechailer/swat(src) diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm index c918e7b867..e794e12ad7 100644 --- a/code/game/objects/structures/ghost_role_spawners.dm +++ b/code/game/objects/structures/ghost_role_spawners.dm @@ -453,7 +453,7 @@ name = "Syndicate Operative Empty" uniform = /obj/item/clothing/under/syndicate shoes = /obj/item/clothing/shoes/combat - gloves = /obj/item/clothing/gloves/combat + gloves = /obj/item/clothing/gloves/tackler/combat/insulated ears = /obj/item/radio/headset/syndicate/alt back = /obj/item/storage/backpack implants = list(/obj/item/implant/weapons_auth) diff --git a/code/modules/antagonists/bloodsucker/powers/fortitude.dm b/code/modules/antagonists/bloodsucker/powers/fortitude.dm index f0724f8204..d1df049dd1 100644 --- a/code/modules/antagonists/bloodsucker/powers/fortitude.dm +++ b/code/modules/antagonists/bloodsucker/powers/fortitude.dm @@ -3,7 +3,7 @@ /datum/action/bloodsucker/fortitude - name = "Fortitude"//"Cellular Emporium" + name = "Fortitude" desc = "Withstand egregious physical wounds and walk away from attacks that would stun, pierce, and dismember lesser beings. You cannot run while active." button_icon_state = "power_fortitude" bloodcost = 30 @@ -12,43 +12,39 @@ amToggle = TRUE warn_constant_cost = TRUE - var/this_resist // So we can raise and lower your brute resist based on what your level_current WAS. + var/fortitude_resist // So we can raise and lower your brute resist based on what your level_current WAS. /datum/action/bloodsucker/fortitude/ActivatePower() - var/datum/antagonist/bloodsucker/bloodsuckerdatum = owner.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) + var/datum/antagonist/bloodsucker/B = owner.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) var/mob/living/user = owner to_chat(user, "Your flesh, skin, and muscles become as steel.") // Traits & Effects ADD_TRAIT(user, TRAIT_PIERCEIMMUNE, "fortitude") ADD_TRAIT(user, TRAIT_NODISMEMBER, "fortitude") ADD_TRAIT(user, TRAIT_STUNIMMUNE, "fortitude") - ADD_TRAIT(user, TRAIT_NORUNNING, "fortitude") if(ishuman(owner)) var/mob/living/carbon/human/H = owner - this_resist = max(0.3, 0.7 - level_current * 0.1) - H.physiology.brute_mod *= this_resist//0.5 - H.physiology.burn_mod *= this_resist//0.5 - // Stop Running (Taken from /datum/quirk/nyctophobia in negative.dm) + fortitude_resist = max(0.3, 0.7 - level_current * 0.1) + H.physiology.brute_mod *= fortitude_resist + H.physiology.burn_mod *= fortitude_resist var/was_running = (user.m_intent == MOVE_INTENT_RUN) if(was_running) user.toggle_move_intent() - while(bloodsuckerdatum && ContinueActive(user) || user.m_intent == MOVE_INTENT_RUN) + while(B && ContinueActive(user) && !(user.m_intent == MOVE_INTENT_RUN)) // Pay Blood Toll (if awake) if(user.stat == CONSCIOUS) - bloodsuckerdatum.AddBloodVolume(-0.5) // Used to be 0.3 blood per 2 seconds, but we're making it more expensive to keep on. + B.AddBloodVolume(-0.5) sleep(20) // Check every few ticks that we haven't disabled this power // Return to Running (if you were before) - if(was_running && user.m_intent != MOVE_INTENT_RUN) - user.toggle_move_intent() - + /datum/action/bloodsucker/fortitude/DeactivatePower(mob/living/user = owner, mob/living/target) ..() // Restore Traits & Effects REMOVE_TRAIT(user, TRAIT_PIERCEIMMUNE, "fortitude") REMOVE_TRAIT(user, TRAIT_NODISMEMBER, "fortitude") REMOVE_TRAIT(user, TRAIT_STUNIMMUNE, "fortitude") - REMOVE_TRAIT(user, TRAIT_NORUNNING, "fortitude") - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - H.physiology.brute_mod /= this_resist//0.5 - H.physiology.burn_mod /= this_resist//0.5 + if(!ishuman(owner)) + return + var/mob/living/carbon/human/H = owner + H.physiology.brute_mod /= fortitude_resist + H.physiology.burn_mod /= fortitude_resist diff --git a/code/modules/antagonists/bloodsucker/powers/lunge.dm b/code/modules/antagonists/bloodsucker/powers/lunge.dm index f6dfc8ba72..e1e8f4363a 100644 --- a/code/modules/antagonists/bloodsucker/powers/lunge.dm +++ b/code/modules/antagonists/bloodsucker/powers/lunge.dm @@ -1,88 +1,28 @@ -// Level 1: Grapple level 2 -// Level 2: Grapple 3 from Behind -// Level 3: Grapple 3 from Shadows -/datum/action/bloodsucker/targeted/lunge + + +/datum/action/bloodsucker/lunge name = "Predatory Lunge" desc = "Spring at your target and aggressively grapple them without warning. Attacks from concealment or the rear may even knock them down." button_icon_state = "power_lunge" bloodcost = 10 - cooldown = 120 - target_range = 3 - power_activates_immediately = TRUE - message_Trigger = "Whom will you ensnare within your grasp?" - must_be_capacitated = TRUE + cooldown = 30 bloodsucker_can_buy = TRUE + warn_constant_cost = TRUE + amToggle = TRUE -/datum/action/bloodsucker/targeted/lunge/CheckCanUse(display_error) - if(!..(display_error))// DEFAULT CHECKS - return FALSE - // Being Grabbed - if(owner.pulledby && owner.pulledby.grab_state >= GRAB_AGGRESSIVE) - if(display_error) - to_chat(owner, "You're being grabbed!") - return FALSE - if(!owner.has_gravity(owner.loc))//TODO figure out how to check if theyre able to move while in nograv - if(display_error) - to_chat(owner, "You cant lunge while floating!") - return FALSE - return TRUE +/datum/action/bloodsucker/lunge/ActivatePower() + var/mob/living/user = owner + var/datum/antagonist/bloodsucker/B = user.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) + user.LoadComponent(/datum/component/tackler, stamina_cost = 50, base_knockdown = 3 SECONDS, range = 4, speed = 0.8, skill_mod = 5, min_distance = 2) + active = TRUE + while(B && ContinueActive(user) && CHECK_MOBILITY(user, MOBILITY_STAND)) + B.AddBloodVolume(-0.1) + sleep(5) -/datum/action/bloodsucker/targeted/lunge/CheckValidTarget(atom/A) - return iscarbon(A) +/datum/action/bloodsucker/lunge/ContinueActive(mob/living/user) + return ..() -/datum/action/bloodsucker/targeted/lunge/CheckCanTarget(atom/A, display_error) - // Check: Self - if(target == owner) - return FALSE - // Check: Range - //if (!(target in view(target_range, get_turf(owner)))) - // if (display_error) - // to_chat(owner, "Your victim is too far away.") - // return FALSE - // DEFAULT CHECKS (Distance) - if(!..()) - return FALSE - // Check: Turf - var/mob/living/L = A - if(!isturf(L.loc)) - return FALSE - return TRUE - -/datum/action/bloodsucker/targeted/lunge/FireTargetedPower(atom/A) - // set waitfor = FALSE <---- DONT DO THIS!We WANT this power to hold up ClickWithPower(), so that we can unlock the power when it's done. - var/mob/living/carbon/target = A - var/turf/T = get_turf(target) - var/mob/living/L = owner - // Clear Vars - owner.pulling = null - // Will we Knock them Down? - var/do_knockdown = !is_A_facing_B(target,owner) || owner.alpha <= 0 || istype(owner.loc, /obj/structure/closet) - // CAUSES: Target has their back to me, I'm invisible, or I'm in a Closet - // Step One: Heatseek toward Target's Turf - addtimer(CALLBACK(GLOBAL_PROC, .proc/_walk, owner, 0), 2 SECONDS) - target.playsound_local(get_turf(owner), 'sound/bloodsucker/lunge_warn.ogg', 60, FALSE, pressure_affected = FALSE) // target-only telegraphing - owner.playsound_local(owner, 'sound/bloodsucker/lunge_warn.ogg', 60, FALSE, pressure_affected = FALSE) // audio feedback to the user - if(do_mob(owner, owner, 7, TRUE, TRUE)) - walk_towards(owner, T, 0.1, 10) // yes i know i shouldn't use this but i don't know how to work in anything better - if(get_turf(owner) != T && !(isliving(target) && target.Adjacent(owner)) && owner.incapacitated() && !CHECK_MOBILITY(L, MOBILITY_STAND)) - var/send_dir = get_dir(owner, T) - new /datum/forced_movement(owner, get_ranged_target_turf(owner, send_dir, 1), 1, FALSE) - owner.spin(10) - // Step Two: Check if I'm at/adjectent to Target's CURRENT turf (not original...that was just a destination) - for(var/i in 1 to 6) - if (target.Adjacent(owner)) - // LEVEL 2: If behind target, mute or unconscious! - if(do_knockdown) // && level_current >= 1) - target.Knockdown(15 + 10 * level_current,1) - target.adjustStaminaLoss(40 + 10 * level_current) - // Cancel Walk (we were close enough to contact them) - walk(owner, 0) - target.Stun(10,1) //Without this the victim can just walk away - target.grabbedby(owner) // Taken from mutations.dm under changelings - target.grippedby(owner, instant = TRUE) //instant aggro grab - break - sleep(3) - -/datum/action/bloodsucker/targeted/lunge/DeactivatePower(mob/living/user = owner, mob/living/target) +/datum/action/bloodsucker/lunge/DeactivatePower(mob/living/user = owner) ..() // activate = FALSE - user.update_mobility() + var/datum/component/tackler + tackler.RemoveComponent() diff --git a/code/modules/awaymissions/capture_the_flag.dm b/code/modules/awaymissions/capture_the_flag.dm index 0d96c125a1..f841ae20ca 100644 --- a/code/modules/awaymissions/capture_the_flag.dm +++ b/code/modules/awaymissions/capture_the_flag.dm @@ -487,8 +487,7 @@ suit = /obj/item/clothing/suit/space/hardsuit/shielded/ctf toggle_helmet = FALSE // see the whites of their eyes shoes = /obj/item/clothing/shoes/combat - gloves = /obj/item/clothing/gloves/combat - id = /obj/item/card/id/syndicate + gloves = /obj/item/clothing/gloves/tackler/combat belt = /obj/item/gun/ballistic/automatic/pistol/deagle/ctf l_pocket = /obj/item/ammo_box/magazine/recharge/ctf r_pocket = /obj/item/ammo_box/magazine/recharge/ctf diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index 50dd1e5608..ab0c9eb691 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -488,7 +488,7 @@ glasses = /obj/item/clothing/glasses/eyepatch mask = /obj/item/clothing/mask/cigarette/cigar/cohiba head = /obj/item/clothing/head/centhat - gloves = /obj/item/clothing/gloves/combat + gloves = /obj/item/clothing/gloves/tackler/combat shoes = /obj/item/clothing/shoes/combat/swat r_pocket = /obj/item/lighter id = /obj/item/card/id @@ -505,7 +505,7 @@ uniform = /obj/item/clothing/under/rank/security/officer suit = /obj/item/clothing/suit/armor/vest shoes = /obj/item/clothing/shoes/combat - gloves = /obj/item/clothing/gloves/combat + gloves = /obj/item/clothing/gloves/tackler/combat mask = /obj/item/clothing/mask/gas/sechailer/swat head = /obj/item/clothing/head/helmet/swat/nanotrasen back = /obj/item/storage/backpack/security diff --git a/code/modules/cargo/exports/gear.dm b/code/modules/cargo/exports/gear.dm index 10b3d4f707..cefa705b0d 100644 --- a/code/modules/cargo/exports/gear.dm +++ b/code/modules/cargo/exports/gear.dm @@ -309,7 +309,7 @@ /datum/export/gear/combatgloves cost = 80 unit_name = "combat gloves" - export_types = list(/obj/item/clothing/gloves/combat, /obj/item/clothing/gloves/rapid, /obj/item/clothing/gloves/krav_maga) + export_types = list(/obj/item/clothing/gloves/tackler/combat/insulated, /obj/item/clothing/gloves/rapid, /obj/item/clothing/gloves/krav_maga) include_subtypes = TRUE /datum/export/gear/bonegloves @@ -797,4 +797,4 @@ datum/export/gear/glasses //glasses are not worth selling export_types = list(/obj/item/clothing/head/chameleon, /obj/item/clothing/mask/chameleon, /obj/item/clothing/under/chameleon, /obj/item/clothing/suit/chameleon, /obj/item/clothing/glasses/chameleon,\ /obj/item/clothing/gloves/chameleon, /obj/item/clothing/head/chameleon, /obj/item/clothing/shoes/chameleon, /obj/item/storage/backpack/chameleon, \ /obj/item/storage/belt/chameleon, /obj/item/radio/headset/chameleon, /obj/item/pda/chameleon, /obj/item/stamp/chameleon, /obj/item/clothing/neck/cloak/chameleon) - include_subtypes = TRUE \ No newline at end of file + include_subtypes = TRUE diff --git a/code/modules/cargo/packs/armory.dm b/code/modules/cargo/packs/armory.dm index d832200201..501b1426ae 100644 --- a/code/modules/cargo/packs/armory.dm +++ b/code/modules/cargo/packs/armory.dm @@ -175,7 +175,7 @@ /obj/item/clothing/suit/armor/vest/russian, /obj/item/clothing/head/helmet/rus_helmet, /obj/item/clothing/shoes/russian, - /obj/item/clothing/gloves/combat, + /obj/item/clothing/gloves/tackler/combat/insulated, /obj/item/clothing/under/syndicate/rus_army, /obj/item/clothing/under/costume/soviet, /obj/item/clothing/mask/russian_balaclava, @@ -201,8 +201,8 @@ /obj/item/clothing/mask/gas/sechailer/swat, /obj/item/storage/belt/military/assault, /obj/item/storage/belt/military/assault, - /obj/item/clothing/gloves/combat, - /obj/item/clothing/gloves/combat) + /obj/item/clothing/gloves/tackler/combat/insulated, + /obj/item/clothing/gloves/tackler/combat/insulated) crate_name = "swat crate" /datum/supply_pack/security/armory/wt550 diff --git a/code/modules/cargo/packs/security.dm b/code/modules/cargo/packs/security.dm index aea7b95742..ee750b8df7 100644 --- a/code/modules/cargo/packs/security.dm +++ b/code/modules/cargo/packs/security.dm @@ -91,8 +91,8 @@ /obj/item/clothing/suit/armor/bulletproof, /obj/item/clothing/head/helmet/alt, /obj/item/clothing/head/helmet/alt, - /obj/item/clothing/gloves/combat, - /obj/item/clothing/gloves/combat, + /obj/item/clothing/gloves/tackler/combat/insulated, + /obj/item/clothing/gloves/tackler/combat/insulated, /obj/item/clothing/mask/gas, /obj/item/clothing/mask/gas) crate_name = "surplus russian clothing" @@ -109,7 +109,7 @@ /obj/item/clothing/head/ushanka, /obj/item/clothing/suit/armor/bulletproof, /obj/item/clothing/head/helmet/alt, - /obj/item/clothing/gloves/combat, + /obj/item/clothing/gloves/tackler/combat/insulated, /obj/item/clothing/mask/gas, /obj/item/gun/ballistic/shotgun/boltaction, /obj/item/ammo_box/a762) diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm index 9f4b89f607..eb53beb139 100644 --- a/code/modules/clothing/gloves/miscellaneous.dm +++ b/code/modules/clothing/gloves/miscellaneous.dm @@ -26,7 +26,7 @@ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 30) strip_mod = 0.9 -/obj/item/clothing/gloves/combat +/obj/item/clothing/gloves/tackler/combat/insulated name = "combat gloves" desc = "These tactical gloves are fireproof and shock resistant." icon_state = "combat" @@ -117,4 +117,4 @@ strip_delay = 80 transfer_prints = FALSE strip_mod = 5 - strip_silence = TRUE \ No newline at end of file + strip_silence = TRUE diff --git a/code/modules/clothing/gloves/tacklers.dm b/code/modules/clothing/gloves/tacklers.dm new file mode 100644 index 0000000000..95c7739bd8 --- /dev/null +++ b/code/modules/clothing/gloves/tacklers.dm @@ -0,0 +1,100 @@ +/obj/item/clothing/gloves/tackler + name = "gripper gloves" + desc = "Special gloves that manipulate the blood vessels in the wearer's hands, granting them the ability to launch headfirst into walls." + icon_state = "tackle" + item_state = "tackle" + transfer_prints = TRUE + cold_protection = HANDS + min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT + resistance_flags = NONE + //custom_premium_price = 350 + /// For storing our tackler datum so we can remove it after + var/datum/component/tackler + /// See: [/datum/component/tackler/var/stamina_cost] + var/tackle_stam_cost = 25 + /// See: [/datum/component/tackler/var/base_knockdown] + var/base_knockdown = 1 SECONDS + /// See: [/datum/component/tackler/var/range] + var/tackle_range = 4 + /// See: [/datum/component/tackler/var/min_distance] + var/min_distance = 0 + /// See: [/datum/component/tackler/var/speed] + var/tackle_speed = 1 + /// See: [/datum/component/tackler/var/skill_mod] + var/skill_mod = 0 + +/obj/item/clothing/gloves/tackler/equipped(mob/user, slot) + . = ..() + if(!ishuman(user)) + return + if(slot == ITEM_SLOT_GLOVES) + var/mob/living/carbon/human/H = user + tackler = H.AddComponent(/datum/component/tackler, stamina_cost=tackle_stam_cost, base_knockdown = base_knockdown, range = tackle_range, speed = tackle_speed, skill_mod = skill_mod, min_distance = min_distance) + +/obj/item/clothing/gloves/tackler/dropped(mob/user) + . = ..() + if(!ishuman(user)) + return + var/mob/living/carbon/human/H = user + if(H.get_item_by_slot(ITEM_SLOT_GLOVES) == src) + qdel(tackler) + +/obj/item/clothing/gloves/tackler/dolphin + name = "dolphin gloves" + desc = "Sleek, aerodynamic gripper gloves that are less effective at actually performing takedowns, but more effective at letting the user sail through the hallways and cause accidents." + icon_state = "tackledolphin" + item_state = "tackledolphin" + + tackle_stam_cost = 15 + base_knockdown = 0.5 SECONDS + tackle_range = 5 + tackle_speed = 2 + min_distance = 2 + skill_mod = -2 + +/obj/item/clothing/gloves/tackler/combat + name = "gorilla gloves" + desc = "Premium quality combative gloves, heavily reinforced to give the user an edge in close combat tackles, though they are more taxing to use than normal gripper gloves. Fireproof to boot!" + icon_state = "black" + item_state = "blackgloves" + + tackle_stam_cost = 35 + base_knockdown = 1.5 SECONDS + tackle_range = 5 + skill_mod = 2 + + 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 + +/obj/item/clothing/gloves/tackler/combat/insulated + name = "guerilla gloves" + desc = "Superior quality combative gloves, good for performing tackle takedowns as well as absorbing electrical shocks." + siemens_coefficient = 0 + permeability_coefficient = 0.05 + +/obj/item/clothing/gloves/tackler/rocket + name = "rocket gloves" + desc = "The ultimate in high risk, high reward, perfect for when you need to stop a criminal from fifty feet away or die trying. Banned in most Spinward gridiron football and rugby leagues." + icon_state = "tacklerocket" + item_state = "tacklerocket" + + tackle_stam_cost = 50 + base_knockdown = 2 SECONDS + tackle_range = 10 + min_distance = 7 + tackle_speed = 6 + skill_mod = 7 + +/obj/item/clothing/gloves/tackler/offbrand + name = "improvised gripper gloves" + desc = "Ratty looking fingerless gloves wrapped with sticky tape. Beware anyone wearing these, for they clearly have no shame and nothing to lose." + icon_state = "fingerless" + item_state = "fingerless" + + tackle_stam_cost = 30 + base_knockdown = 1.75 SECONDS + min_distance = 2 + skill_mod = -1 diff --git a/code/modules/clothing/outfits/ert.dm b/code/modules/clothing/outfits/ert.dm index 48cc92db61..43df2eec2f 100644 --- a/code/modules/clothing/outfits/ert.dm +++ b/code/modules/clothing/outfits/ert.dm @@ -3,7 +3,7 @@ uniform = /obj/item/clothing/under/rank/centcom/officer shoes = /obj/item/clothing/shoes/combat/swat - gloves = /obj/item/clothing/gloves/combat + gloves = /obj/item/clothing/gloves/tackler/combat/insulated ears = /obj/item/radio/headset/headset_cent/alt /datum/outfit/ert/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE, client/preference_source) @@ -69,7 +69,7 @@ id = /obj/item/card/id/ert/Security suit = /obj/item/clothing/suit/space/hardsuit/ert/sec glasses = /obj/item/clothing/glasses/hud/security/sunglasses - back = /obj/item/storage/backpack/security + gloves = /obj/item/clothing/gloves/tackler/combat/insulated belt = /obj/item/storage/belt/security/full backpack_contents = list(/obj/item/storage/box/engineer=1,\ /obj/item/storage/box/handcuffs=1,\ diff --git a/code/modules/clothing/outfits/standard.dm b/code/modules/clothing/outfits/standard.dm index b1f6e7696d..d692f9c3fb 100644 --- a/code/modules/clothing/outfits/standard.dm +++ b/code/modules/clothing/outfits/standard.dm @@ -205,7 +205,7 @@ uniform = /obj/item/clothing/under/rank/centcom/commander suit = /obj/item/clothing/suit/armor/bulletproof shoes = /obj/item/clothing/shoes/combat/swat - gloves = /obj/item/clothing/gloves/combat + gloves = /obj/item/clothing/gloves/tackler/combat/insulated ears = /obj/item/radio/headset/headset_cent/commander glasses = /obj/item/clothing/glasses/eyepatch mask = /obj/item/clothing/mask/cigarette/cigar/cohiba @@ -234,7 +234,7 @@ uniform = /obj/item/clothing/under/syndicate suit = /obj/item/clothing/suit/space/officer shoes = /obj/item/clothing/shoes/combat/swat - gloves = /obj/item/clothing/gloves/combat + gloves = /obj/item/clothing/gloves/tackler/combat/insulated glasses = /obj/item/clothing/glasses/thermal/eyepatch ears = /obj/item/radio/headset/headset_cent/commander mask = /obj/item/clothing/mask/cigarette/cigar/havana @@ -316,7 +316,7 @@ uniform = /obj/item/clothing/under/costume/soviet head = /obj/item/clothing/head/pirate/captain shoes = /obj/item/clothing/shoes/combat - gloves = /obj/item/clothing/gloves/combat + gloves = /obj/item/clothing/gloves/tackler/combat/insulated ears = /obj/item/radio/headset/headset_cent glasses = /obj/item/clothing/glasses/thermal/eyepatch suit = /obj/item/clothing/suit/pirate/captain @@ -372,7 +372,7 @@ uniform = /obj/item/clothing/under/color/green suit = /obj/item/clothing/suit/space/hardsuit/deathsquad shoes = /obj/item/clothing/shoes/combat/swat - gloves = /obj/item/clothing/gloves/combat + gloves = /obj/item/clothing/gloves/tackler/combat/insulated mask = /obj/item/clothing/mask/gas/sechailer/swat glasses = /obj/item/clothing/glasses/hud/toggle/thermal back = /obj/item/storage/backpack/security @@ -431,7 +431,7 @@ glasses = /obj/item/clothing/glasses/debug ears = /obj/item/radio/headset/headset_cent/commander mask = /obj/item/clothing/mask/gas/welding/up - gloves = /obj/item/clothing/gloves/combat + gloves = /obj/item/clothing/gloves/tackler/combat/insulated belt = /obj/item/storage/belt/utility/chief/full l_pocket = /obj/item/gun/magic/wand/resurrection/debug r_pocket = /obj/item/gun/magic/wand/death/debug diff --git a/code/modules/clothing/outfits/vr.dm b/code/modules/clothing/outfits/vr.dm index ee350e3891..7a057eda41 100644 --- a/code/modules/clothing/outfits/vr.dm +++ b/code/modules/clothing/outfits/vr.dm @@ -17,7 +17,7 @@ name = "Syndicate VR Operative - Basic" uniform = /obj/item/clothing/under/syndicate shoes = /obj/item/clothing/shoes/combat - gloves = /obj/item/clothing/gloves/combat + gloves = /obj/item/clothing/gloves/tackler/combat/insulated back = /obj/item/storage/backpack id = /obj/item/card/id/syndicate belt = /obj/item/gun/ballistic/automatic/pistol diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index fc85fc25c4..cb3833b7f6 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -110,7 +110,7 @@ var/mob/living/carbon/victim = hit_atom if(victim.movement_type & FLYING) return - if(hurt) + if(hurt && !GetComponent(/datum/component/tackler)) victim.take_bodypart_damage(10) take_bodypart_damage(10) victim.DefaultCombatKnockdown(20) diff --git a/code/modules/mob/living/carbon/human/species_types/dwarves.dm b/code/modules/mob/living/carbon/human/species_types/dwarves.dm index bb2c08aa9b..112962f7e6 100644 --- a/code/modules/mob/living/carbon/human/species_types/dwarves.dm +++ b/code/modules/mob/living/carbon/human/species_types/dwarves.dm @@ -6,7 +6,7 @@ GLOBAL_LIST_INIT(dwarf_last, world.file2list("strings/names/dwarf_last.txt")) // name = "Dwarf" id = "dwarf" //Also called Homo sapiens pumilionis default_color = "FFFFFF" - species_traits = list(EYECOLOR,HAIR,FACEHAIR,LIPS,NO_UNDERWEAR) + species_traits = list(EYECOLOR,HAIR,FACEHAIR,LIPS,NO_UNDERWEAR,TRAIT_DWARF) inherent_traits = list() limbs_id = "human" use_skintones = 1 @@ -36,7 +36,6 @@ GLOBAL_LIST_INIT(dwarf_last, world.file2list("strings/names/dwarf_last.txt")) // H.transform = H.transform.Scale(1, 0.8) //We use scale, and yeah. Dwarves can become gnomes with DWARFISM. RegisterSignal(C, COMSIG_MOB_SAY, .proc/handle_speech) //We register handle_speech is being used. - /datum/species/dwarf/on_species_loss(mob/living/carbon/H, datum/species/new_species) . = ..() H.transform = H.transform.Scale(1, 1.25) //And we undo it. diff --git a/code/modules/mob/living/simple_animal/corpse.dm b/code/modules/mob/living/simple_animal/corpse.dm index 2e0e9dadb4..585bf58d95 100644 --- a/code/modules/mob/living/simple_animal/corpse.dm +++ b/code/modules/mob/living/simple_animal/corpse.dm @@ -20,7 +20,7 @@ uniform = /obj/item/clothing/under/syndicate suit = /obj/item/clothing/suit/armor/vest shoes = /obj/item/clothing/shoes/combat - gloves = /obj/item/clothing/gloves/combat + gloves = /obj/item/clothing/gloves/tackler/combat/insulated ears = /obj/item/radio/headset mask = /obj/item/clothing/mask/gas head = /obj/item/clothing/head/helmet/swat @@ -39,7 +39,7 @@ uniform = /obj/item/clothing/under/syndicate suit = /obj/item/clothing/suit/space/hardsuit/syndi shoes = /obj/item/clothing/shoes/combat - gloves = /obj/item/clothing/gloves/combat + gloves = /obj/item/clothing/gloves/tackler/combat/insulated ears = /obj/item/radio/headset mask = /obj/item/clothing/mask/gas/syndicate back = /obj/item/tank/jetpack/oxygen @@ -59,7 +59,7 @@ uniform = /obj/item/clothing/under/syndicate suit = /obj/item/clothing/suit/space/hardsuit/syndi/elite shoes = /obj/item/clothing/shoes/combat - gloves = /obj/item/clothing/gloves/combat + gloves = /obj/item/clothing/gloves/tackler/combat ears = /obj/item/radio/headset mask = /obj/item/clothing/mask/gas/syndicate back = /obj/item/tank/jetpack/oxygen/harness @@ -130,7 +130,7 @@ uniform = /obj/item/clothing/under/syndicate/camo suit = /obj/item/clothing/suit/armor/bulletproof shoes = /obj/item/clothing/shoes/combat - gloves = /obj/item/clothing/gloves/combat + gloves = /obj/item/clothing/gloves/tackler/combat ears = /obj/item/radio/headset head = /obj/item/clothing/head/helmet/alt mask = /obj/item/clothing/mask/balaclava @@ -177,7 +177,7 @@ uniform = /obj/item/clothing/under/rank/security/officer suit = /obj/item/clothing/suit/armor/vest shoes = /obj/item/clothing/shoes/combat - gloves = /obj/item/clothing/gloves/combat + gloves = /obj/item/clothing/gloves/tackler/combat ears = /obj/item/radio/headset mask = /obj/item/clothing/mask/gas/sechailer/swat head = /obj/item/clothing/head/helmet/swat/nanotrasen diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm index 89d9919981..8487564c98 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm @@ -200,7 +200,7 @@ /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/proc/infest(mob/living/carbon/human/H) visible_message("[name] burrows into the flesh of [H]!") var/mob/living/simple_animal/hostile/asteroid/hivelord/legion/L - if(H.dna.check_mutation(DWARFISM)) //dwarf legions aren't just fluff! + if(HAS_TRAIT(H, TRAIT_DWARF)) //dwarf legions aren't just fluff! L = new /mob/living/simple_animal/hostile/asteroid/hivelord/legion/dwarf(H.loc) else L = new(H.loc) diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index b7f32421aa..5f3c06642f 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -728,7 +728,7 @@ All effects don't start immediately, but rather get worse over time; the rate is var/real_dorf = isdwarf(M) //_species(H, /datum/species/dwarf) if(ishuman(M)) var/mob/living/carbon/human/H = M - if(H.dna.check_mutation(DWARFISM) || HAS_TRAIT(H, TRAIT_ALCOHOL_TOLERANCE) || real_dorf) + if(HAS_TRAIT(H, TRAIT_DWARF) || HAS_TRAIT(H, TRAIT_ALCOHOL_TOLERANCE || real_dorf)) to_chat(H, "Now THAT is MANLY!") if(real_dorf) boozepwr = 100 // Don't want dwarves to die because of a low booze power diff --git a/code/modules/research/designs/misc_designs.dm b/code/modules/research/designs/misc_designs.dm index c18c33b04b..b734931de2 100644 --- a/code/modules/research/designs/misc_designs.dm +++ b/code/modules/research/designs/misc_designs.dm @@ -614,3 +614,27 @@ build_path = /obj/item/circuitboard/computer/sat_control category = list("Computer Boards") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING + + + +///////////////////////////////////////// +////////////Tackle Gloves//////////////// +///////////////////////////////////////// + +/datum/design/tackle_dolphin + name = "Dolphin Gloves" + id = "tackle_dolphin" + build_type = PROTOLATHE + materials = list(/datum/material/plastic = 2500) + build_path = /obj/item/clothing/gloves/tackler/dolphin + category = list("Equipment") + departmental_flags = DEPARTMENTAL_FLAG_SECURITY + +/datum/design/tackle_rocket + name = "Rocket Gloves" + id = "tackle_rocket" + build_type = PROTOLATHE + materials = list(/datum/material/plasma = 1000, /datum/material/plastic = 2000) + build_path = /obj/item/clothing/gloves/tackler/rocket + category = list("Equipment") + departmental_flags = DEPARTMENTAL_FLAG_SECURITY diff --git a/code/modules/ruins/lavaland_ruin_code.dm b/code/modules/ruins/lavaland_ruin_code.dm index d09c1ce86f..2192b2fddb 100644 --- a/code/modules/ruins/lavaland_ruin_code.dm +++ b/code/modules/ruins/lavaland_ruin_code.dm @@ -142,7 +142,7 @@ uniform = /obj/item/clothing/under/syndicate suit = /obj/item/clothing/suit/toggle/labcoat shoes = /obj/item/clothing/shoes/combat - gloves = /obj/item/clothing/gloves/combat + gloves = /obj/item/clothing/gloves/tackler/combat/insulated ears = /obj/item/radio/headset/syndicate/alt back = /obj/item/storage/backpack r_pocket = /obj/item/gun/ballistic/automatic/pistol diff --git a/code/modules/vending/security.dm b/code/modules/vending/security.dm index 09681def64..ec741ef574 100644 --- a/code/modules/vending/security.dm +++ b/code/modules/vending/security.dm @@ -21,6 +21,7 @@ /obj/item/clothing/head/helmet/blueshirt = 1, /obj/item/clothing/suit/armor/vest/blueshirt = 1, /obj/item/clothing/under/rank/security/officer/blueshirt = 1, + /obj/item/clothing/gloves/tackler = 5, /obj/item/ssword_kit = 1) armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50) resistance_flags = FIRE_PROOF diff --git a/icons/mob/clothing/hands.dmi b/icons/mob/clothing/hands.dmi new file mode 100644 index 0000000000000000000000000000000000000000..cb4251fd3c6240b89b7d7340c5c03331577990d9 GIT binary patch literal 11008 zcmb_?2UOF^w?C_^tOeLr(M2hW6zNKlPF6t?sZyn@bdcT&2`VaUp*KSn>7hhA1V}`r z6ObCIQGq}R5J*U3Na6p*-CudX^WL7f@BDMlH#2wUPQ9PGGjs1eGc(cWIehvs7Z(?g z!3{lgF0LQm0pIJN4gx9KBTZ5O;T&aoJ4DYd*d@p-AjHexkBciJCw^Shuk+$ju8&hX zPm%_ucKTL}Zs5bkkcwVODTI`#JZ#1DtjfHB5BT~MlHf~V9g(90f8J4(PL5qv0 zn_?oXD#XL4Te~4`SgXWK+dB@f2d-h8c^-asv9NJWTRYu^sHk}N`;^MYx^r>au|qHX z2!$CF&-L0)*cyJ0dn5Ye`mN{kBy%Ixw@B9~OFzZFvoksW)XDx!adeGwUK zoOoGT+%h{a$@9pweNOFX?5ll;?+!hky7XiJKB+X=9UJ8_+0-wPPtQevw(u#7%T(9( zc*S;Zt}7zP8LPB)fAl$vDlCxNCtSRyRU>jToT*or`LJR?cyh6f4ppGbk1(!fRMWVFvRG?qkD^TGM^~t zol-_j-rJRRO$sS+hpXkUityE__}{%rQsLq{%VnT<#WEsieFhxiK!q%C4GYX&S1M$7 zeaeV`8_jM1srHv29(oF{UU*hxd-Q%wh%QTP+u&@P*hd{N$40OBI_vJKB_>lDKc~!n zo;x_|5qR~Y6i>&Y12do0x=k+r9J|RskfKm4UpT{}@iEkpFO`=Ca|;Es>BLC#EBze^ zI-f*(sRhbic=jV8{J-(ryfao}toibiW~1L6(q%86GkJdw85(z~JJ7fU4~9woKDZUd z-GZAk8DBE|)NvgJa-D^o z+QfWycvg1k;FkkBVQa4%eP>EWN6qz#O4@&x#wGHt{1%SZ(9jU9BCV`^3^P!oSa3XZ zPcfi_CyLI}XFwN|Cebm3A-Ye=S)Mun-FLs86&T(Xd$T`Rij*#9z^$Ph#gY8QxP5%; zVfq#$`?7Bk+Y@65Omt}>+WyLr60^^_6G2ar4sd@Ie9CpfP~m{ zhlBEXh)dtL3fF7&U5-OpFe%305cXfP{)W8mcjR(qX3O#q1g5D~MPZ9AorBpFJ~KJ+ zl9lD0LY;r>Bw_7XWja4w>AxEupXDKX`pg;Qdv|`T@w9Z@YHqwgl~Nn-;!^nRap&sF zn&kzVfm`1ZR9;gv@-0{0iFB53F9%aJV5IOGc!zD$i|rJxQjp>e>XiZrtgJ!1FgaMf zU8#e$<*re+$gIeCiGwXrt96*C`TKU+^0vrXJ#sL=jFj0x^5ylY^@+6hOj$=i>C*J_ zg++nTP`U=ZZyYF#Z1zroveqnC)yBNyS*X1_68QBnJR+^OB%!F8F{rN7!6~N6?fkYD z+nQBxg(XxiAG)3NIF=w153g)vFHK!(JU-~r#^Ce}E)~X!qlG>GP&(lvh{LFB{h#6QZ zm55{bZr0Azjylna1g^BA<(Ol)^n>fLLAVfQRU#u_Zy(0f$9JMbH%_ohJ7Ohi+Rk2~ zjO98Dfa*2fzNka|RZO{G03_LzQL6F{zafF9-*-$hF`S0Embk|SM)bEpkzdA7JLZEgNKqVrMEWX3m@OivYp;XMkUuP2{q!A(J1vN{d>V$0mJ|F#=+38Lhv!U}wAUV!+nxAKm z!oKa`(CY!+Z5+D4rq=z-Xd$f#v-S1$gvrLHCgSIg*i)8JMQ%P}OG87$&+6s%_4PlZ zaN5k7iPPa>uj{)Prt5H1KA}#F3V(v=M@IlxeS^+wk{>yKazNr zx3{7XwmNiTPe3K*<$alvqq!uk(UrqN-(}E3nv`**qJV!)DZ+ViK#MTM{Wmc7Kd?R+ zbSVaNarG*b=4~~XX3#n;lvpT@XC_#d9GnMvB+8k1tN8sq#0Qw3EayOQ!@B7{pA=tOLcr0BwX+ zR$#4sWhD*2tR-2S$c+KDZl!@zAm1F#f3>~_O+Yo5MO!+9jgwN`q62TWl=lvgh(EcD z4Q|%q0zufKlx-Woi!ms_V#YT0#q|T?%q-{bekLVU1~cZ|a*m*Nye7!$31h%2crczP z7z1CjN{B+(Il1}Wf91monh>lDa_V}FHwcHqVJTET(crdunPsaV8*$p8`j?ju;M;A; zm^=}?geY)%-*~hFJGK{CHfBu6TMlp5l8RmC*ij35nL3vX-`ye=i>s5+5V*ZQawh~H z{w^45pl09IKDEpXD)nCtA3u?mfcimbeJz!cUM&{_jnKShVg0(x;(5L2&5<%#b$jzH zv<8CGKDhmPA!Y?!;#=8vmNqj1dcE>n#+#{(or5oL2Ip#9 z4IE-a9X&jMvpR6sl(EHm9G1VaZ8?*9QDa*BwUDF7_VxTG;qz08{NUr)YxFW!>yFgF zRaU%j+zcv;6i+UqLSNY&yVV@?ExF;X@|&HteOq*RexiMNFz*{k?-d=Rq((Ls+c@@^9?VOkEj=K?7oG;=WB;oyPJ-wEQg{pVV8H;)Nx9_E=vb$aC2L{>G&rhUIr+?Tnjv$ zMt)u<-8lvSX=!CW)iIAe^OfD7Xoo~r_J;bJ^p3v&>VV;0CPakim$GU;)apw24NMYp zph9Y6N^9V)wZ|s3ZDyA0cwZj0tL}IwD(tgSqRH}hg_weU&3$?gtTd*V1z^&sNEyDT zPp`9dS0GJJUPzOWRn1}279=m7B5mY%HxEjNQ(^|48ru4|8|f<^{=)g2z`EZ%b{#Q4=%U2kGpz9HFjG0KWfq9%;tR)Tagvbg(V+91l69v^aWABq`N}o zd_gg-nTD4(@$YK4o-^0rn2r(hE zlF@T=68?BCst9P!+fNc=?C)Uvr3~rx4UM8wbr(BhTn~QDtqtmYj{a7pQ0IoozVvM; zoX_*~u3+G-65UXxyZ=aEKaUjWV|JcLpOb3mZHBGl-2TX*4={ zns}y0C12^<3xxTXHgV}@S5!sG7gjX?#3Vd|pvceOidt}c`+k@8K#JWfa^V+}`EL0_ zwRauaMY=4vf;{1K!gnXFl$A`bMs^%+!^s--S66D#2Rh8Y5dF5qeYE-%@A>F>)XG$d z8SE#i%8=k^B((HtNC63J(6y1SrRPI(p;plTL2*?uiG1~NIzErNbmvo+O8P@Ir%$mKi@8`Z z>L8^c7Rq~cNaKn~>%3wN^NAvxs$GoyO1^K?z+j9zs-9d$Y2FMW#%Gk;`mr9n>43on zI+kZf2w~w3U*3*4YrWC5)~|mvV$Zo@Bik_e?6|p2rseHTrZex;TE5=1;sf74Q8T1u zf6ZC{@T|i&HgDnTCHxP!--fgVNk3N(fM46%?=Ri97NvhmB^nc>s2xX_34~i&o1m9F z$R1WQBV&+_&ETl!$B5RhqaopC>?ND@l~uE_u8?6RF^ipoMEGmGV)|r^=eUu0gH6TP zhyFj(I&HSzsTvuqPjsSAqBc%i*zFc{z;w26;cA22PnFe+6@Azerjkfzlc8=2G&e}w z?9n!?_}FOSu?032k;6avtgwAgrNvao z%vf#L6ms=u30pLG$tH|& zA{`o1OfE4Ew8=@YsuZA{sB$c;TzO?5B3IFT)mjaXYSf|TZ&+jJzi`*5rSWE9u2H-8s5+?O#Q(PYy?;oBW*`dAmVEW(*PL!wE0d@!tmm?Aj7GhS5K4@-F7p_Qh_ zNo(zzz`{aZ>a+MWRgIIA6baB$+@1FmR;!v&y;4=b0P4B4O4h5&wrCp>Cxc1J*5<41 z(uCHXJNoxA%SIdHK}#p}L)Or27-IMA{oNT{FKn%+01Dx9lkE#yBZ_%l#e&6{x)=7x zA=4s|T@!I;l{XqIS+ajrW|>i{XP;ORjS!g+90M;J(H6{9fxED556UD(BBWiv7W8;D zXm*ZUrn6D_qYuJq=lMehJ+~*3E+= z=8jfq<^zYy#Sjw(V7K-})dSGWlmxF=RT+R@o>vrVvDgWMqvw*S2ZD}d%meo@6tPNo7 zu(WonzO8)Pp_iQAQ9ZoP3UO28-;~Yw_Y7>{)EUk<@0rmw0W(_O($fc6k0>ZoF(<26 zHjno=18=}$ar}&`-FY<1Z6M>8GsUoW-t_*gXG25dL4K(Q;hb5d(Lny%ywd^Yu^44j z*!Vw4l`({5i~JZ_vbD(urZ)DZ1GAu?&Az>Hwb!(J0Jzo#p#6kF(`!9Jr>>%$l@3Vt zvXPN2Pw;3@PvW0PymsfmocI4-=5i`>z}slfO~t*|M^Xv2Sgg+V`F(inr6BN66OPs{ zeyYbcm=bdN`+w$28oxe}HID2X5}|Xkri*u7!^QQI$)gn1;g*|`ENpVGGhwu1TW!txVPva zA%>It%^sr2B6N8WsTb_-`1PB7q_px2BaQ{n*!MCvqMbbsn?GQt7d_My z{YVwaCE>RUF;Lm?bBjzBpnJ23?4HES%$nIJNq=7B_pq%c)w0Siaz%yu6f01QG;s*P zUb_fwk3Ke*X!^kYrq2IPsDHt=jQE$lmBe>r<>#=VImWvu@{7e6#yCL-)Q8u*dwod& z)8Kk{e&A>>$a zSEWI@t(JU#QxZ-7@Fu;w!C3o7LTPYj9+uH32(QBSFFPGBYO>j5lF0`f#Ca1Pu~EqV zv!1qDO2m{RP{0+AyPEZUj&0_Tw5K4CNpY7A6#;ObdYydBS#s(Zs>lrYm+#HK1hZq+ zHY>vX$8ai>6_-IhTjxRyl?TT0%PXYQM5_kyOk^%-G&OgBhW1zwF3PxXV_$5WlAsJ} z!M{Ds4{aL8+Z=U%Gla|9IJ*Qui9+$i6_SYAM7`I;?TrL_^Sn>Y?gQk4_9;E6VjHJ? z`3p5)>k5j~z)<&ox!4T%dbwD38Rv+JV6?U}1<^I2DfK%H7+~P?Ll`7U)H<7TzZT;W zJLY5vIkhe8$7E`oA}M3(Urr!m-ZBXN0n)v;Vc~Rw$TU(A-7yJt8Hm-lw)(%H(&YoG zhCkrp9=Z)wyifDTGw0Q(M<+5v5}|8gS(hbW!fN*Henu=g@v{?{slHe12u{vv_cQqq z1N#>FAs+}N_H`-t;+1GFch?w%$k3syC7Atxfuz68N{Xxu;R`@9$fqVxGtnZP?nK3} zJ8oZ%xRMB0%TGo#j`(0cs@|4t11_eVUX)7R;fWAPyq~?c{T0^;7@={ZZjbhM=ikv8 ziaU#PY z1=_$E7GxjLoKk77eErraW_NS-5WAQKj64e|PElzpdB1fAjH$eesVX;{OJSgJJnJ!~ zj-iHlpP9Uq>(Oj#5oHIKX;k|%7lE$!1>0FRxuR(3u?@o^$yHg(GmQZj&GIS^H-)Iw z@(7)i6M|zhtIG}dG56y$-LAPEwt1*w9F%v1RO9XRG%E1&2rW;GIVU^icg{`?hS)56L zbi2*gTbpe#&CbUmLg`u?7h>kL6Yck?+*X>g8d#S4LfWb+BJd7-4sPFe8=xTTj6oBZ zbiJ2;oLFffpa~kP!I|sjk2hkc_pP66h7boz8XGU~yg#Cl1G_;xqRShI9j{(8N)$*xe##EJuzTiXVp13OV6}h4v zj3yNXNka1^Z+7(@_(Wn4|1-UN$NS>-L~A0nsvTSD&G29)QZx5!$SF6_WJtdgsmJk? zJu|TtYJq@Rl{L{s@&jl$h#Qf!(=9&vL;y%8VFK&34Z~ZxLDIC`RCWpSt=balrpNNz zdP-H8O^_N>Nweq{XhsM->YmZz|J7{@6Kjd zv%6a@%=O8wt-(H;L)Dth>$&%<;smsgeEsc4;I|*a+$^TE{K*?|vp8$wEdxruo%s`7 zivnk@)w-u#xV@Er%?4xR0VrX+|pek@ya@*w= z>5ESoJSQAUfqG#?ARx8XpII*t;@~M03M*{izte$`;84;xqS5Y$ z&3|SJ(cDR!#*k0h)X!1H@W2sCH^g0~)>kuBBLk>Z5`@0|IrGUOw|wn2S;GuxEHhU2 zJZInjUM<~?5<#3nd|NPu?5?#I_|=3*_=41i-*q9gu(|9X1ocMCIwyXGo#jQ}n(_#) zV(j35hiN(cbG`d@meZOdvK!_>BS2krT!z^G`5WQnn9fb}<-3i@WC%uQ&OfY|-X=Cx zxZ^Pz=RBl3`@_CowL)PJBzk|S)v_C^01`L<>_FtH%ZjItcmD9x+4DT@b%B%;QiIwlWQN9W$KBDm9~1ckrX7w%ek?Wg6a;$Yfhp zSQ~r(Dp_J$bz_GLtj+*6!3Z7TRC}jI?sm{R#(ih}ur{Sr-vN8D4|ODZwY)ThJ{QhZ zv6$8d|=`Z32x9}XqueR_q&BfE{W1dKgb zix0JbLj?Lx1#$4DSp*EkF-o+L&ffDFvMb}WR6&3rA$x|KPnpSkKK&FgA4)(qaTjr* znzF8WQxblJJs{#=VsvaAYMQT8_2$i+;P79|1+}9rElN!$2xFxXOcUus?geRSvK-*^ zQ#43ovVWU->x2hh0aWYUrhF>ARCl*MnsLztNnvM6-MF$59@;S2+w=U&Kg{2YS}H0k z?u#y6Xa9Uj&|e?DzNCIXRr&v)ltBZs3^t$J^a4!#XJE6*lwZN)gP zod&lrR{jeba?cD}HLlaq3TJr^zy+ffr=mnsPEl6T(AC%ETP5rV-IxMn1~uc` zol*+3EE$(e8Gb%(gZ0h#U``;Ei{*-1KDQa2COpn^|>4TccT#?cvxxb<{k2s==4G+!wZNg z0Jn-^z7wM3${Q-#gp8yW~_aB42fr%@s^Y8}XG`Zfoa_E+-GH zvE?<_=R~KT)`W6V#jZ?N&5lRbYjWn>sTLs^Uvoik-!}O19c+*XMFuf!5gOrd^>c* z>vl| znw*KE{w8%yxc!1#Nup6EhrPMNIa8gnr3pAPfe8Ax2@5xjr_Tvpy}pj;`660d4O%WJxm zSA#VSvP_l6;gxZ|@tH7qh4e&pnVaSA9`~M7)%Neu`mW>lj5ItA{7(J*_{WVzVDcFG z(=4Um0o`QPGdp3~!x}J^=mijU*@CTYj*0&hZb6yZGWi>SYPHvUwevq)szAaO_mrB| z$y3ena#{IJIS}kD7`zlJVak1HX2i+#?v=ydCAeH+))?v!WH6FJt-X$zHBkUMhiaQ_ z9%AZucX>EoxVuI75OqXWFQR3{(HIlYS&}^N>W|o$RbEkOpE5M}kL<(`WXB1;dkoYc z`4XWeaT|87Yx)JSv%QhP;KG}z3>-@rd#y~p0Csb5$QfMopf8O+Q=f5e4CKV@l zq_!}&TMWDSEa21kjZ5ZM|5+3ef~U9>s8-4dhsf z-^KLt7^~q1j11)lz88H>2NxVEwtE}Ue@{+IY6R$)kV;4^pjz@~1**NHf;_%uZ^Ai{Xa?dzmEU_ literal 0 HcmV?d00001 diff --git a/tgstation.dme b/tgstation.dme index d56d8489cc..b557a75627 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -415,6 +415,7 @@ #include "code\datums\components\stationloving.dm" #include "code\datums\components\summoning.dm" #include "code\datums\components\swarming.dm" +#include "code\datums\components\tackle.dm" #include "code\datums\components\tactical.dm" #include "code\datums\components\thermite.dm" #include "code\datums\components\uplink.dm" @@ -1722,6 +1723,7 @@ #include "code\modules\clothing\gloves\color.dm" #include "code\modules\clothing\gloves\miscellaneous.dm" #include "code\modules\clothing\gloves\ring.dm" +#include "code\modules\clothing\gloves\tacklers.dm" #include "code\modules\clothing\head\_head.dm" #include "code\modules\clothing\head\beanie.dm" #include "code\modules\clothing\head\cit_hats.dm" From 1ffea14ee88288e99c24ab97436f03252a0ff0be Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Thu, 9 Apr 2020 19:53:14 +0100 Subject: [PATCH 012/131] makes descriptions work --- code/modules/food_and_drinks/food/snacks.dm | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index 92f8d104a6..889ec42185 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -153,6 +153,12 @@ All foods are distributed among various categories. Use common sense. /obj/item/reagent_containers/food/snacks/examine(mob/user) . = ..() + if(food_quality >= 70) + . += "It is of a high quality." + else + if(food_quality <= 30) + . += "It is of a low quality." + if(bitecount == 0) return else if(bitecount == 1) @@ -162,13 +168,6 @@ All foods are distributed among various categories. Use common sense. else . += "[src] was bitten multiple times!" - //examine text for quality - if(food_quality >= 70) - . += "It is of a high quality." - else - if(food_quality <= 30) - . += "It is of a low quality." - /obj/item/reagent_containers/food/snacks/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/storage)) From 951732c36132490ac7b6e9f0813b1149300bac7d Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Thu, 9 Apr 2020 20:12:02 +0100 Subject: [PATCH 013/131] make secret sauce work on customizables --- code/modules/reagents/chemistry/reagents/food_reagents.dm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index c555609992..cf6c3789ec 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -782,7 +782,11 @@ if(reac_volume >= 1 && istype(O, /obj/item/reagent_containers/food)) var/obj/item/reagent_containers/food/splashed_food = O splashed_food.adjust_food_quality(100) - + // if it's a customisable food, we need to edit its total quality too, to prevent its quality resetting from adding more ingredients! + if(istype(O, obj/item/reagent_containers/food/customizable)) + var/obj/item/reagent_containers/food/customizable/splashed_custom_food = O + splashed_custom_food.total_quality += 10000 +r /datum/reagent/consumable/char name = "Char" description = "Essence of the grill. Has strange properties when overdosed." From 4c4e11037522b6eb04dd635b6d354145bedb3d4a Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Thu, 9 Apr 2020 20:16:55 +0100 Subject: [PATCH 014/131] imagine making it compile --- code/modules/reagents/chemistry/reagents/food_reagents.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index cf6c3789ec..654d69a599 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -783,8 +783,8 @@ var/obj/item/reagent_containers/food/splashed_food = O splashed_food.adjust_food_quality(100) // if it's a customisable food, we need to edit its total quality too, to prevent its quality resetting from adding more ingredients! - if(istype(O, obj/item/reagent_containers/food/customizable)) - var/obj/item/reagent_containers/food/customizable/splashed_custom_food = O + if(istype(O, /obj/item/reagent_containers/food/snacks/customizable)) + var/obj/item/reagent_containers/food/snacks/customizable/splashed_custom_food = O splashed_custom_food.total_quality += 10000 r /datum/reagent/consumable/char From ea8d43281ebf2c788cfe43446854810598de504d Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Fri, 10 Apr 2020 03:21:06 +0100 Subject: [PATCH 015/131] swap & for && woops Co-Authored-By: Lin --- code/modules/food_and_drinks/food.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/food_and_drinks/food.dm b/code/modules/food_and_drinks/food.dm index beaf5ed1ba..203eb3eef6 100644 --- a/code/modules/food_and_drinks/food.dm +++ b/code/modules/food_and_drinks/food.dm @@ -40,7 +40,7 @@ to_chat(H,"That didn't taste very good...") H.adjust_disgust(11 + 15 * fraction) SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "gross_food", /datum/mood_event/gross_food) - else if((foodtype & H.dna.species.liked_food & food_quality >= 50) || food_quality >= 70) //you like food of high quality, and food of regular quality you have a preference for + else if(((foodtype & H.dna.species.liked_food) && food_quality >= 50) || food_quality >= 70) //you like food of high quality, and food of regular quality you have a preference for to_chat(H,"I love this taste!") H.adjust_disgust(-5 + (-2.5 * food_quality/50) + -2.5 * fraction) SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "fav_food", /datum/mood_event/favorite_food) @@ -52,4 +52,4 @@ SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "breakfast", /datum/mood_event/breakfast) last_check_time = world.time -#undef STOP_SERVING_BREAKFAST \ No newline at end of file +#undef STOP_SERVING_BREAKFAST From f481be14968a80330ea50debef067a91563d369e Mon Sep 17 00:00:00 2001 From: Artur Date: Fri, 10 Apr 2020 20:53:28 +0300 Subject: [PATCH 016/131] Makin stuff nice and dandy --- code/__DEFINES/dcs/signals.dm | 2 +- code/datums/components/tackle.dm | 40 ++++++++----------- .../antagonists/bloodsucker/powers/lunge.dm | 28 ++++++++----- code/modules/mob/living/carbon/carbon.dm | 4 +- .../mob/living/carbon/carbon_defines.dm | 1 + 5 files changed, 41 insertions(+), 34 deletions(-) diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm index 70c2425f48..5f08bd21a1 100644 --- a/code/__DEFINES/dcs/signals.dm +++ b/code/__DEFINES/dcs/signals.dm @@ -214,7 +214,7 @@ // /mob/living/carbon signals #define COMSIG_CARBON_SOUNDBANG "carbon_soundbang" //from base of mob/living/carbon/soundbang_act(): (list(intensity)) #define COMSIG_CARBON_IDENTITY_TRANSFERRED_TO "carbon_id_transferred_to" //from datum/dna/transfer_identity(): (datum/dna, transfer_SE) - +#define COMSIG_CARBON_TACKLED "carbon_tackled" //sends from tackle.dm on tackle completion // /mob/living/simple_animal/hostile signals #define COMSIG_HOSTILE_ATTACKINGTARGET "hostile_attackingtarget" #define COMPONENT_HOSTILE_NO_ATTACK 1 diff --git a/code/datums/components/tackle.dm b/code/datums/components/tackle.dm index 28dd469041..17d2773b60 100644 --- a/code/datums/components/tackle.dm +++ b/code/datums/components/tackle.dm @@ -14,9 +14,6 @@ */ /datum/component/tackler dupe_mode = COMPONENT_DUPE_UNIQUE - - ///If we're currently tackling or are on cooldown. Actually, shit, if I use this to handle cooldowns, then getting thrown by something while on cooldown will count as a tackle..... whatever, i'll fix that next commit - var/tackling = TRUE ///How much stamina it takes to launch a tackle var/stamina_cost ///Launching a tackle calls Knockdown on you for this long, so this is your cooldown. Once you stand back up, you can tackle again. @@ -43,14 +40,15 @@ src.skill_mod = skill_mod src.min_distance = min_distance - var/mob/P = parent + var/mob/living/carbon/P = parent to_chat(P, "You are now able to launch tackles! You can do so by activating throw intent, and clicking on your target with an empty hand.") - + P.tackling = TRUE addtimer(CALLBACK(src, .proc/resetTackle), base_knockdown, TIMER_STOPPABLE) /datum/component/tackler/Destroy() - var/mob/P = parent + var/mob/living/carbon/P = parent to_chat(P, "You can no longer tackle.") + P.tackling = FALSE ..() /datum/component/tackler/RegisterWithParent() @@ -82,12 +80,12 @@ to_chat(user, "You must be standing to tackle!") return - if(tackling) + if(user.tackling) to_chat(user, "You're not ready to tackle!") return - if(user.has_movespeed_modifier(MOVESPEED_ID_SHOVE)) // can't tackle if you just got shoved - to_chat(user, "You're too off balance to tackle!") + if(user.has_status_effect(STATUS_EFFECT_TASED)) // can't tackle if you just got shoved + to_chat(user, "You cant tackle while you are tased!") return user.face_atom(A) @@ -96,7 +94,7 @@ if(modifiers["alt"] || modifiers["shift"] || modifiers["ctrl"] || modifiers["middle"]) return - tackling = TRUE + user.tackling = TRUE RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/checkObstacle) playsound(user, 'sound/weapons/thudswoosh.ogg', 40, TRUE, -1) @@ -136,7 +134,7 @@ * Finally, we return a bitflag to [COMSIG_MOVABLE_IMPACT] that forces the hitpush to false so that we don't knock them away. */ /datum/component/tackler/proc/sack(mob/living/carbon/user, atom/hit) - if(!tackling || !tackle) + if(!user.tackling || !tackle) return if(!iscarbon(hit)) @@ -149,13 +147,12 @@ var/mob/living/carbon/human/S = user var/roll = rollTackle(target) - tackling = FALSE + user.tackling = FALSE switch(roll) if(-INFINITY to -5) user.visible_message("[user] botches [user.p_their()] tackle and slams [user.p_their()] head into [target], knocking [user.p_them()]self silly!", "You botch your tackle and slam your head into [target], knocking yourself silly!", target) to_chat(target, "[user] botches [user.p_their()] tackle and slams [user.p_their()] head into you, knocking [user.p_them()]self silly!") - user.Paralyze(30) var/obj/item/bodypart/head/hed = user.get_bodypart(BODY_ZONE_HEAD) if(hed) @@ -165,11 +162,8 @@ if(-4 to -2) // glancing blow at best user.visible_message("[user] lands a weak tackle on [target], briefly knocking [target.p_them()] off-balance!", "You land a weak tackle on [target], briefly knocking [target.p_them()] off-balance!", target) to_chat(target, "[user] lands a weak tackle on you, briefly knocking you off-balance!") - user.Knockdown(30) - if(ishuman(target) && !T.has_movespeed_modifier(MOVESPEED_ID_SHOVE)) - T.add_movespeed_modifier(MOVESPEED_ID_SHOVE, multiplicative_slowdown = SHOVE_SLOWDOWN_STRENGTH) // maybe define a slightly more severe/longer slowdown for this - addtimer(CALLBACK(T, /mob/living/carbon/human/proc/clear_shove_slowdown), SHOVE_SLOWDOWN_LENGTH) + target.apply_status_effect(STATUS_EFFECT_TASED_WEAK, 6 SECONDS) if(-1 to 0) // decent hit, both parties are about equally inconvenienced user.visible_message("[user] lands a passable tackle on [target], sending them both tumbling!", "You land a passable tackle on [target], sending you both tumbling!", target) @@ -183,7 +177,6 @@ if(1 to 2) // solid hit, tackler has a slight advantage user.visible_message("[user] lands a solid tackle on [target], knocking them both down hard!", "You land a solid tackle on [target], knocking you both down hard!", target) to_chat(target, "[user] lands a solid tackle on you, knocking you both down hard!") - target.adjustStaminaLoss(30) target.Paralyze(5) user.Knockdown(10) @@ -192,8 +185,8 @@ if(3 to 4) // really good hit, the target is definitely worse off here. Without positive modifiers, this is as good a tackle as you can land user.visible_message("[user] lands an expert tackle on [target], knocking [target.p_them()] down hard while landing on [user.p_their()] feet with a passive grip!", "You land an expert tackle on [target], knocking [target.p_them()] down hard while landing on your feet with a passive grip!", target) to_chat(target, "[user] lands an expert tackle on you, knocking you down hard and maintaining a passive grab!") - user.SetKnockdown(0) + user.set_resting(FALSE, TRUE, FALSE) user.forceMove(get_turf(target)) target.adjustStaminaLoss(40) target.Paralyze(5) @@ -205,8 +198,8 @@ if(5 to INFINITY) // absolutely BODIED user.visible_message("[user] lands a monster tackle on [target], knocking [target.p_them()] senseless and applying an aggressive pin!", "You land a monster tackle on [target], knocking [target.p_them()] senseless and applying an aggressive pin!", target) to_chat(target, "[user] lands a monster tackle on you, knocking you senseless and aggressively pinning you!") - user.SetKnockdown(0) + user.set_resting(FALSE, TRUE, FALSE) user.forceMove(get_turf(target)) target.adjustStaminaLoss(40) target.Paralyze(5) @@ -215,7 +208,7 @@ S.dna.species.grab(S, T) S.setGrabState(GRAB_AGGRESSIVE) - + SEND_SIGNAL(user, COMSIG_CARBON_TACKLED, "tackle completed") return COMPONENT_MOVABLE_IMPACT_FLIP_HITPUSH /** @@ -405,7 +398,8 @@ /datum/component/tackler/proc/resetTackle() - tackling = FALSE + var/mob/living/carbon/P = parent + P.tackling = FALSE QDEL_NULL(tackle) UnregisterSignal(parent, COMSIG_MOVABLE_MOVED) @@ -441,7 +435,7 @@ ///Check to see if we hit a table, and if so, make a big mess! /datum/component/tackler/proc/checkObstacle(mob/living/carbon/owner) - if(!tackling) + if(!owner.tackling) return var/turf/T = get_turf(owner) diff --git a/code/modules/antagonists/bloodsucker/powers/lunge.dm b/code/modules/antagonists/bloodsucker/powers/lunge.dm index e1e8f4363a..d40627f493 100644 --- a/code/modules/antagonists/bloodsucker/powers/lunge.dm +++ b/code/modules/antagonists/bloodsucker/powers/lunge.dm @@ -2,27 +2,37 @@ /datum/action/bloodsucker/lunge name = "Predatory Lunge" - desc = "Spring at your target and aggressively grapple them without warning. Attacks from concealment or the rear may even knock them down." + desc = "Prepare the strenght to grapple your prey." button_icon_state = "power_lunge" bloodcost = 10 cooldown = 30 bloodsucker_can_buy = TRUE warn_constant_cost = TRUE amToggle = TRUE + var/leap_skill_mod = 5 + +/datum/action/bloodsucker/lunge/New() + . = ..() + RegisterSignal(owner, COMSIG_CARBON_TACKLED, .proc/Delayed_DeactivatePower) /datum/action/bloodsucker/lunge/ActivatePower() var/mob/living/user = owner var/datum/antagonist/bloodsucker/B = user.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) - user.LoadComponent(/datum/component/tackler, stamina_cost = 50, base_knockdown = 3 SECONDS, range = 4, speed = 0.8, skill_mod = 5, min_distance = 2) + var/datum/component/tackler/T = user.LoadComponent(/datum/component/tackler) + T.stamina_cost = 50 + T.base_knockdown = 3 SECONDS + T.range = 4 + T.speed = 0.8 + T.skill_mod = 5 + T.min_distance = 2 active = TRUE - while(B && ContinueActive(user) && CHECK_MOBILITY(user, MOBILITY_STAND)) + while(B && ContinueActive(user)) B.AddBloodVolume(-0.1) sleep(5) - -/datum/action/bloodsucker/lunge/ContinueActive(mob/living/user) - return ..() + +/datum/action/bloodsucker/lunge/proc/Delayed_DeactivatePower() + addtimer(CALLBACK(src, .proc/DeactivatePower), 1 SECONDS, TIMER_UNIQUE) /datum/action/bloodsucker/lunge/DeactivatePower(mob/living/user = owner) - ..() // activate = FALSE - var/datum/component/tackler - tackler.RemoveComponent() + . = ..() + qdel(user.GetComponent(/datum/component/tackler)) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index cb3833b7f6..dcaa1e5b8c 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -98,6 +98,8 @@ /mob/living/carbon/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) . = ..() var/hurt = TRUE + if(src.GetComponent(/datum/component/tackler)) + return if(throwingdatum?.thrower && iscyborg(throwingdatum.thrower)) var/mob/living/silicon/robot/R = throwingdatum.thrower if(!R.emagged) @@ -110,7 +112,7 @@ var/mob/living/carbon/victim = hit_atom if(victim.movement_type & FLYING) return - if(hurt && !GetComponent(/datum/component/tackler)) + if(hurt) victim.take_bodypart_damage(10) take_bodypart_damage(10) victim.DefaultCombatKnockdown(20) diff --git a/code/modules/mob/living/carbon/carbon_defines.dm b/code/modules/mob/living/carbon/carbon_defines.dm index 689ab56842..15413f76d4 100644 --- a/code/modules/mob/living/carbon/carbon_defines.dm +++ b/code/modules/mob/living/carbon/carbon_defines.dm @@ -63,3 +63,4 @@ var/damageoverlaytemp = 0 var/drunkenness = 0 //Overall drunkenness - check handle_alcohol() in life.dm for effects + var/tackling = FALSE //Whether or not we are tackling, this will prevent the knock into effects for carbons From 38d1634e13905096dac34764da7026822901c286 Mon Sep 17 00:00:00 2001 From: Artur Date: Fri, 10 Apr 2020 21:07:15 +0300 Subject: [PATCH 017/131] Weh --- code/datums/components/tackle.dm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/code/datums/components/tackle.dm b/code/datums/components/tackle.dm index 17d2773b60..0af2d8f78c 100644 --- a/code/datums/components/tackle.dm +++ b/code/datums/components/tackle.dm @@ -168,7 +168,6 @@ if(-1 to 0) // decent hit, both parties are about equally inconvenienced user.visible_message("[user] lands a passable tackle on [target], sending them both tumbling!", "You land a passable tackle on [target], sending you both tumbling!", target) to_chat(target, "[user] lands a passable tackle on you, sending you both tumbling!") - target.adjustStaminaLoss(stamina_cost) target.Paralyze(5) user.Knockdown(20) @@ -205,8 +204,8 @@ target.Paralyze(5) target.Knockdown(30) if(ishuman(target) && ishuman(user)) - S.dna.species.grab(S, T) - S.setGrabState(GRAB_AGGRESSIVE) + target.grabbedby(user) + target.grippedby(user, instant = TRUE) //instant aggro grab SEND_SIGNAL(user, COMSIG_CARBON_TACKLED, "tackle completed") return COMPONENT_MOVABLE_IMPACT_FLIP_HITPUSH From e02439396266570b1e64fe2d4b41148c2c0a5526 Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Mon, 13 Apr 2020 17:12:40 +0100 Subject: [PATCH 018/131] secret sauce doesn't give a second moodlet because that's dumb --- code/modules/reagents/chemistry/reagents/food_reagents.dm | 3 --- 1 file changed, 3 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index 654d69a599..b3ca6a720d 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -32,8 +32,6 @@ SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "quality_drink", /datum/mood_event/quality_verygood) if (DRINK_FANTASTIC) SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "quality_drink", /datum/mood_event/quality_fantastic) - if (FOOD_AMAZING) - SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "quality_food", /datum/mood_event/amazingtaste) return ..() /datum/reagent/consumable/nutriment @@ -772,7 +770,6 @@ nutriment_factor = 2 * REAGENTS_METABOLISM color = "#792300" taste_description = "indescribable" - quality = FOOD_AMAZING taste_mult = 100 can_synth = FALSE pH = 6.1 From 1e8fffbf0b1c24c5f77ea8907ea9479749d0e839 Mon Sep 17 00:00:00 2001 From: Putnam Date: Mon, 13 Apr 2020 16:47:43 -0700 Subject: [PATCH 019/131] Replaced all the extraneous flags with bitflags --- code/__DEFINES/voreconstants.dm | 13 +++ .../objects/items/devices/dogborg_sleeper.dm | 10 +- code/modules/client/preferences.dm | 5 +- code/modules/client/preferences_savefile.dm | 45 +++++--- code/modules/holodeck/holo_effect.dm | 4 +- code/modules/mob/living/carbon/human/dummy.dm | 1 - .../carbon/human/species_types/furrypeople.dm | 6 +- code/modules/mob/living/login.dm | 2 +- code/modules/mob/living/silicon/silicon.dm | 2 +- .../living/simple_animal/hostile/hostile.dm | 5 +- .../hostile/megafauna/dragon_vore.dm | 1 - .../hostile/megafauna/megafauna.dm | 2 +- .../living/simple_animal/simple_animal_vr.dm | 6 +- .../simple_animal/simplemob_vore_values.dm | 102 ++++-------------- code/modules/vore/eating/belly_obj.dm | 16 +-- code/modules/vore/eating/bellymodes.dm | 12 +-- code/modules/vore/eating/living.dm | 42 ++++---- code/modules/vore/eating/vorepanel.dm | 62 +++++------ 18 files changed, 146 insertions(+), 190 deletions(-) diff --git a/code/__DEFINES/voreconstants.dm b/code/__DEFINES/voreconstants.dm index 9c91de0be2..d2eb034813 100644 --- a/code/__DEFINES/voreconstants.dm +++ b/code/__DEFINES/voreconstants.dm @@ -7,6 +7,19 @@ #define DM_ABSORB "Absorb" #define DM_UNABSORB "Un-absorb" +#define DIGESTABLE (1<<0) +#define SHOW_VORE_PREFS (1<<1) +#define DEVOURABLE (1<<2) +#define FEEDING (1<<3) +#define NO_VORE (1<<4) +#define OPEN_PANEL (1<<5) +#define ABSORBED (1<<6) +#define VORE_INIT (1<<7) +#define VOREPREF_INIT (1<<8) +#define LICKABLE (1<<9) + +#define MAX_VORE_FLAG (1<<10)-1 // change this whenever you add a vore flag, must be largest vore flag*2-1 + #define isbelly(A) istype(A, /obj/belly) #define QDEL_NULL_LIST(x) if(x) { for(var/y in x) { qdel(y) } ; x = null } diff --git a/code/game/objects/items/devices/dogborg_sleeper.dm b/code/game/objects/items/devices/dogborg_sleeper.dm index 748c494737..2614775906 100644 --- a/code/game/objects/items/devices/dogborg_sleeper.dm +++ b/code/game/objects/items/devices/dogborg_sleeper.dm @@ -324,7 +324,7 @@ cleaning_cycles-- cleaning = TRUE for(var/mob/living/carbon/C in (touchable_items)) - if((C.status_flags & GODMODE) || !C.digestable) + if((C.status_flags & GODMODE) || !CHECK_BITFIELD(C.vore_flags, DIGESTABLE)) items_preserved += C else C.adjustBruteLoss(2) @@ -333,7 +333,7 @@ var/atom/target = pick(touchable_items) if(iscarbon(target)) //Handle the target being a mob var/mob/living/carbon/T = target - if(T.stat == DEAD && T.digestable) //Mob is now dead + if(T.stat == DEAD && CHECK_BITFIELD(T.vore_flags, DIGESTABLE)) //Mob is now dead message_admins("[key_name(hound)] has digested [key_name(T)] as a dogborg. ([hound ? "JMP" : "null"])") to_chat(hound,"You feel your belly slowly churn around [T], breaking them down into a soft slurry to be used as power for your systems.") to_chat(T,"You feel [hound]'s belly slowly churn around your form, breaking you down into a soft slurry to be used as power for [hound]'s systems.") @@ -445,7 +445,7 @@ var/mob/living/silicon/robot/hound = get_host() if(!hound || !istype(target) || !proximity || target.anchored) return - if (!target.devourable) + if (!CHECK_BITFIELD(target.vore_flags,DEVOURABLE)) to_chat(user, "The target registers an error code. Unable to insert into [src].") return if(patient) @@ -509,7 +509,7 @@ if(iscarbon(target) || issilicon(target)) var/mob/living/trashman = target - if(!trashman.devourable) + if(!CHECK_BITFIELD(trashman.vore_flags,DEVOURABLE)) to_chat(user, "[target] registers an error code to your [src]") return if(patient) @@ -528,4 +528,4 @@ /obj/item/dogborg/sleeper/K9/flavour name = "Recreational Sleeper" - desc = "A mounted, underslung sleeper, intended for holding willing occupants for leisurely purposes." \ No newline at end of file + desc = "A mounted, underslung sleeper, intended for holding willing occupants for leisurely purposes." diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index adfcd547bc..b8885be99b 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -195,10 +195,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/action_buttons_screen_locs = list() //bad stuff - var/digestable = FALSE - var/devourable = FALSE - var/feeding = FALSE - var/lickable = FALSE + var/vore_flags = 0 var/list/belly_prefs = list() var/vore_taste = "nothing in particular" diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index ca51a27dae..a6fdf9a671 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -120,10 +120,14 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car if(fexists(vr_path)) var/list/json_from_file = json_decode(file2text(vr_path)) if(json_from_file) - digestable = json_from_file["digestable"] - devourable = json_from_file["devourable"] - feeding = json_from_file["feeding"] - lickable = json_from_file["lickable"] + if(json_from_file["digestable"]) + ENABLE_BITFIELD(vore_flags,DIGESTABLE) + if(json_from_file["devourable"]) + ENABLE_BITFIELD(vore_flags,DEVOURABLE) + if(json_from_file["feeding"]) + ENABLE_BITFIELD(vore_flags,FEEDING) + if(json_from_file["lickable"]) + ENABLE_BITFIELD(vore_flags,LICKABLE) belly_prefs = json_from_file["belly_prefs"] vore_taste = json_from_file["vore_taste"] @@ -158,6 +162,24 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car if(malformed_hockeys[hockey]) features["cock_shape"] = malformed_hockeys[hockey] features["cock_taur"] = TRUE + + if(current_version < 29) + var/digestable + var/devourable + var/feeding + var/lickable + S["digestable"] >> digestable + S["devourable"] >> devourable + S["feeding"] >> feeding + S["lickable"] >> lickable + if(digestable) + ENABLE_BITFIELD(vore_flags,DIGESTABLE) + if(devourable) + ENABLE_BITFIELD(vore_flags,DEVOURABLE) + if(feeding) + ENABLE_BITFIELD(vore_flags,FEEDING) + if(lickable) + ENABLE_BITFIELD(vore_flags,LICKABLE) /datum/preferences/proc/load_path(ckey,filename="preferences.sav") if(!ckey) @@ -497,11 +519,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car else //We have no old flavortext, default to new S["feature_flavor_text"] >> features["flavor_text"] - S["digestable"] >> digestable - S["devourable"] >> devourable - S["feeding"] >> feeding + S["vore_flags"] >> vore_flags S["vore_taste"] >> vore_taste - S["lickable"] >> lickable S["belly_prefs"] >> belly_prefs //try to fix any outdated data if necessary @@ -609,10 +628,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car all_quirks = SANITIZE_LIST(all_quirks) - lickable = sanitize_integer(lickable, FALSE, TRUE, initial(lickable)) - devourable = sanitize_integer(devourable, FALSE, TRUE, initial(devourable)) - digestable = sanitize_integer(digestable, FALSE, TRUE, initial(digestable)) - feeding = sanitize_integer(feeding, FALSE, TRUE, initial(feeding)) + vore_flags = sanitize_integer(vore_flags, 0, MAX_VORE_FLAG, 0) vore_taste = copytext(vore_taste, 1, MAX_TASTE_LEN) belly_prefs = SANITIZE_LIST(belly_prefs) @@ -720,11 +736,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car //Quirks WRITE_FILE(S["all_quirks"] , all_quirks) - WRITE_FILE(S["digestable"] , digestable) - WRITE_FILE(S["devourable"] , devourable) - WRITE_FILE(S["feeding"] , feeding) + WRITE_FILE(S["vore_flags"] , vore_flags) WRITE_FILE(S["vore_taste"] , vore_taste) - WRITE_FILE(S["lickable"] , lickable) WRITE_FILE(S["belly_prefs"] , belly_prefs) cit_character_pref_save(S) diff --git a/code/modules/holodeck/holo_effect.dm b/code/modules/holodeck/holo_effect.dm index 308cec1cbd..7c3754b616 100644 --- a/code/modules/holodeck/holo_effect.dm +++ b/code/modules/holodeck/holo_effect.dm @@ -81,9 +81,7 @@ ENABLE_BITFIELD(mob.flags_1, HOLOGRAM_1) if(isliving(mob)) var/mob/living/L = mob - L.feeding = FALSE - L.devourable = FALSE - L.digestable = FALSE + L.vore_flags = 0 return mob /obj/effect/holodeck_effect/mobspawner/deactivate(var/obj/machinery/computer/holodeck/HC) diff --git a/code/modules/mob/living/carbon/human/dummy.dm b/code/modules/mob/living/carbon/human/dummy.dm index 95746afb73..7918e303e8 100644 --- a/code/modules/mob/living/carbon/human/dummy.dm +++ b/code/modules/mob/living/carbon/human/dummy.dm @@ -4,7 +4,6 @@ status_flags = GODMODE|CANPUSH mouse_drag_pointer = MOUSE_INACTIVE_POINTER var/in_use = FALSE - no_vore = TRUE INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy) diff --git a/code/modules/mob/living/carbon/human/species_types/furrypeople.dm b/code/modules/mob/living/carbon/human/species_types/furrypeople.dm index d4b8ea7897..b6d56b8e5d 100644 --- a/code/modules/mob/living/carbon/human/species_types/furrypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/furrypeople.dm @@ -74,9 +74,7 @@ //misc /mob/living/carbon/human/dummy - no_vore = TRUE + vore_flags = NO_VORE /mob/living/carbon/human/vore - devourable = TRUE - digestable = TRUE - feeding = TRUE + vore_flags = DEVOURABLE | DIGESTABLE | FEEDING diff --git a/code/modules/mob/living/login.dm b/code/modules/mob/living/login.dm index e0bd8a16b3..931f87eb7c 100644 --- a/code/modules/mob/living/login.dm +++ b/code/modules/mob/living/login.dm @@ -23,5 +23,5 @@ if(ranged_ability) ranged_ability.add_ranged_ability(src, "You currently have [ranged_ability] active!") - if(vore_init && !vorepref_init) //Vore's been initialized, voreprefs haven't. If this triggers then that means that voreprefs failed to load due to the client being missing. + if((vore_flags & VORE_INIT) && !(vore_flags & VOREPREF_INIT)) //Vore's been initialized, voreprefs haven't. If this triggers then that means that voreprefs failed to load due to the client being missing. copy_from_prefs_vr() diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 7ebd11319d..a4aeeb2ffc 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -14,7 +14,7 @@ rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE speech_span = SPAN_ROBOT flags_1 = PREVENT_CONTENTS_EXPLOSION_1 | HEAR_1 - no_vore = TRUE + vore_flags = NO_VORE /// Enable sprint system but not stamina combat_flags = COMBAT_FLAGS_STAMEXEMPT_YESSPRINT diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index e496d007a2..cae8948fdd 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -347,10 +347,11 @@ /mob/living/simple_animal/hostile/proc/AttackingTarget() SEND_SIGNAL(src, COMSIG_HOSTILE_ATTACKINGTARGET, target) in_melee = TRUE + /* sorry for the simplemob vore fans if(vore_active) if(isliving(target)) var/mob/living/L = target - if(!client && L.Adjacent(src) && L.devourable) // aggressive check to ensure vore attacks can be made + if(!client && L.Adjacent(src) && CHECK_BITFIELD(L.vore_flags,DEVOURABLE)) // aggressive check to ensure vore attacks can be made if(prob(voracious_chance)) vore_attack(src,L,src) else @@ -361,6 +362,8 @@ return target.attack_animal(src) else return target.attack_animal(src) + */ + return target.attack_animal(src) /mob/living/simple_animal/hostile/proc/Aggro() vision_range = aggro_vision_range diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/dragon_vore.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/dragon_vore.dm index 8c06b01402..a2d18c508e 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/dragon_vore.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/dragon_vore.dm @@ -1,6 +1,5 @@ /mob/living/simple_animal/hostile/megafauna/dragon vore_active = TRUE - no_vore = FALSE isPredator = TRUE /mob/living/simple_animal/hostile/megafauna/dragon/Initialize() diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm index 8aed1ede30..8958916880 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm @@ -87,7 +87,7 @@ if(!client && ranged && ranged_cooldown <= world.time) OpenFire() if(L.Adjacent(src) && (L.stat != CONSCIOUS)) - if(vore_active && L.devourable == TRUE) + if(vore_active && CHECK_BITFIELD(L.vore_flags,DEVOURABLE)) vore_attack(src,L,src) LoseTarget() else diff --git a/code/modules/mob/living/simple_animal/simple_animal_vr.dm b/code/modules/mob/living/simple_animal/simple_animal_vr.dm index 700ee3b7ce..4a3ad39919 100644 --- a/code/modules/mob/living/simple_animal/simple_animal_vr.dm +++ b/code/modules/mob/living/simple_animal/simple_animal_vr.dm @@ -49,10 +49,10 @@ // Simple animals have only one belly. This creates it (if it isn't already set up) /mob/living/simple_animal/init_vore() - vore_init = TRUE + ENABLE_BITFIELD(vore_flags, VORE_INIT) if(CHECK_BITFIELD(flags_1, HOLOGRAM_1)) return - if(!vore_active || no_vore) //If it can't vore, let's not give it a stomach. + if(!vore_active || CHECK_BITFIELD(vore_flags, NO_VORE)) //If it can't vore, let's not give it a stomach. return if(vore_active && !IsAdvancedToolUser()) //vore active, but doesn't have thumbs to grab people with. verbs |= /mob/living/simple_animal/proc/animal_nom @@ -134,6 +134,6 @@ if (stat != CONSCIOUS) return - if(!T.devourable) + if(!CHECK_BITFIELD(T.vore_flags,DEVOURABLE)) return return vore_attack(src,T,src) diff --git a/code/modules/mob/living/simple_animal/simplemob_vore_values.dm b/code/modules/mob/living/simple_animal/simplemob_vore_values.dm index 22ed5e3ab4..58b08db801 100644 --- a/code/modules/mob/living/simple_animal/simplemob_vore_values.dm +++ b/code/modules/mob/living/simple_animal/simplemob_vore_values.dm @@ -1,13 +1,9 @@ //CARBON MOBS /mob/living/carbon/alien - devourable = TRUE - digestable = TRUE - feeding = TRUE + vore_flags = DEVOURABLE | DIGESTABLE | FEEDING /mob/living/carbon/monkey - devourable = TRUE - digestable = TRUE - feeding = TRUE + vore_flags = DEVOURABLE | DIGESTABLE | FEEDING /* @@ -17,121 +13,65 @@ //NUETRAL MOBS /mob/living/simple_animal/crab - devourable = TRUE - digestable = TRUE - feeding = TRUE + vore_flags = DEVOURABLE | DIGESTABLE | FEEDING /mob/living/simple_animal/cow - devourable = TRUE - digestable = TRUE - feeding = TRUE - vore_active = TRUE - isPredator = TRUE - vore_default_mode = DM_HOLD + vore_flags = DEVOURABLE | DIGESTABLE | FEEDING /mob/living/simple_animal/chick - devourable = TRUE - digestable = TRUE + vore_flags = DEVOURABLE | DIGESTABLE /mob/living/simple_animal/chicken - devourable = TRUE - digestable = TRUE + vore_flags = DEVOURABLE | DIGESTABLE /mob/living/simple_animal/mouse - devourable = TRUE - digestable = TRUE + vore_flags = DEVOURABLE | DIGESTABLE /mob/living/simple_animal/kiwi - devourable = TRUE - digestable = TRUE + vore_flags = DEVOURABLE | DIGESTABLE //STATION PETS /mob/living/simple_animal/pet - devourable = TRUE - digestable = TRUE - feeding = TRUE - -/mob/living/simple_animal/pet/fox - vore_active = TRUE - isPredator = TRUE - vore_default_mode = DM_HOLD - -/mob/living/simple_animal/pet/cat - vore_active = TRUE - isPredator = TRUE - vore_default_mode = DM_HOLD - -/mob/living/simple_animal/pet/dog - vore_active = TRUE - isPredator = TRUE - vore_default_mode = DM_HOLD + vore_flags = DEVOURABLE | DIGESTABLE | FEEDING /mob/living/simple_animal/sloth - devourable = TRUE - digestable = TRUE + vore_flags = DEVOURABLE | DIGESTABLE /mob/living/simple_animal/parrot - devourable = TRUE - digestable = TRUE + vore_flags = DEVOURABLE | DIGESTABLE //HOSTILE MOBS /mob/living/simple_animal/hostile/retaliate/goat - devourable = TRUE - digestable = TRUE - feeding = TRUE - vore_active = TRUE - isPredator = TRUE - vore_stomach_flavor = "You find yourself squeezed into the hollow of the goat, the smell of oats and hay thick in the tight space, all of which grinds in on you. Harmless for now..." - vore_default_mode = DM_HOLD + vore_flags = DEVOURABLE | DIGESTABLE | FEEDING + /mob/living/simple_animal/hostile/lizard - devourable = TRUE - digestable = TRUE - feeding = TRUE - vore_active = TRUE - isPredator = TRUE - vore_default_mode = DM_DIGEST + vore_flags = DEVOURABLE | DIGESTABLE | FEEDING /mob/living/simple_animal/hostile/alien - feeding = TRUE - vore_active = TRUE - isPredator = TRUE + vore_flags = FEEDING vore_default_mode = DM_DIGEST /mob/living/simple_animal/hostile/bear - feeding = TRUE - vore_active = TRUE - isPredator = TRUE + vore_flags = FEEDING vore_default_mode = DM_DIGEST /mob/living/simple_animal/hostile/poison/giant_spider - feeding = TRUE - vore_active = TRUE - isPredator = TRUE + vore_flags = FEEDING vore_default_mode = DM_DIGEST /mob/living/simple_animal/hostile/retaliate/poison/snake - feeding = TRUE - vore_active = TRUE - isPredator = TRUE + vore_flags = FEEDING vore_default_mode = DM_DIGEST /mob/living/simple_animal/hostile/gorilla - feeding = TRUE - vore_active = TRUE - isPredator = TRUE + vore_flags = FEEDING vore_default_mode = DM_DIGEST /mob/living/simple_animal/hostile/asteroid/goliath - feeding = TRUE //for pet Goliaths I guess or something. - vore_active = TRUE - isPredator = TRUE + vore_flags = FEEDING vore_default_mode = DM_DIGEST /mob/living/simple_animal/hostile/carp - devourable = TRUE - digestable = TRUE - feeding = TRUE - vore_active = TRUE - isPredator = TRUE + vore_flags = DEVOURABLE | DIGESTABLE | FEEDING vore_default_mode = DM_DIGEST diff --git a/code/modules/vore/eating/belly_obj.dm b/code/modules/vore/eating/belly_obj.dm index 4917bd3dba..06735e2d5c 100644 --- a/code/modules/vore/eating/belly_obj.dm +++ b/code/modules/vore/eating/belly_obj.dm @@ -221,9 +221,9 @@ if(isliving(AM)) var/mob/living/L = AM var/mob/living/OW = owner - if(L.absorbed && !include_absorbed) + if(L.vore_flags & ABSORBED && !include_absorbed) continue - L.absorbed = FALSE + L.vore_flags &= ~ABSORBED L.stop_sound_channel(CHANNEL_PREYLOOP) SEND_SIGNAL(OW, COMSIG_CLEAR_MOOD_EVENT, "fedpred", /datum/mood_event/fedpred) SEND_SIGNAL(L, COMSIG_CLEAR_MOOD_EVENT, "fedprey", /datum/mood_event/fedprey) @@ -277,14 +277,14 @@ SEND_SIGNAL(OW, COMSIG_ADD_MOOD_EVENT, "emptypred", /datum/mood_event/emptypred) SEND_SIGNAL(ML, COMSIG_ADD_MOOD_EVENT, "emptyprey", /datum/mood_event/emptyprey) - if(ML.absorbed) - ML.absorbed = FALSE + if(CHECK_BITFIELD(ML.vore_flags,ABSORBED)) + DISABLE_BITFIELD(ML.vore_flags,ABSORBED) if(ishuman(M) && ishuman(OW)) var/mob/living/carbon/human/Prey = M var/mob/living/carbon/human/Pred = OW var/absorbed_count = 2 //Prey that we were, plus the pred gets a portion for(var/mob/living/P in contents) - if(P.absorbed) + if(CHECK_BITFIELD(P.vore_flags,ABSORBED)) absorbed_count++ Pred.reagents.trans_to(Prey, Pred.reagents.total_volume / absorbed_count) @@ -389,7 +389,7 @@ formatted_message = replacetext(formatted_message,"%pred",owner) formatted_message = replacetext(formatted_message,"%prey",english_list(contents)) for(var/mob/living/P in contents) - if(!P.absorbed) //This is required first, in case there's a person absorbed and not absorbed in a stomach. + if(!CHECK_BITFIELD(P.vore_flags, ABSORBED)) //This is required first, in case there's a person absorbed and not absorbed in a stomach. total_bulge += P.mob_size if(total_bulge >= bulge_size && bulge_size != 0) return("[formatted_message]
") @@ -484,7 +484,7 @@ // Handle a mob being absorbed /obj/belly/proc/absorb_living(var/mob/living/M) - M.absorbed = TRUE + ENABLE_BITFIELD(M.vore_flags, ABSORBED) to_chat(M,"[owner]'s [lowertext(name)] absorbs your body, making you part of them.") to_chat(owner,"Your [lowertext(name)] absorbs [M]'s body, making them part of you.") @@ -498,7 +498,7 @@ for(var/belly in M.vore_organs) var/obj/belly/B = belly for(var/mob/living/Mm in B) - if(Mm.absorbed) + if(CHECK_BITFIELD(Mm.vore_flags, ABSORBED)) absorb_living(Mm) //Update owner diff --git a/code/modules/vore/eating/bellymodes.dm b/code/modules/vore/eating/bellymodes.dm index 965648eb5a..121dc9f75c 100644 --- a/code/modules/vore/eating/bellymodes.dm +++ b/code/modules/vore/eating/bellymodes.dm @@ -27,7 +27,7 @@ var/list/EL = emote_lists[digest_mode] if(LAZYLEN(EL)) for(var/mob/living/M in contents) - if(M.digestable || !(digest_mode == DM_DIGEST)) // don't give digesty messages to indigestible people + if((M.vore_flags & DIGESTABLE) || !(digest_mode == DM_DIGEST)) // don't give digesty messages to indigestible people to_chat(M,"[pick(EL)]") ///////////////////// Prey Loop Refresh/hack ////////////////////// @@ -51,7 +51,7 @@ //////////////////////// Absorbed Handling //////////////////////// for(var/mob/living/M in contents) - if(M.absorbed) + if(M.vore_flags & ABSORBED) M.Stun(5) ////////////////////////// Sound vars ///////////////////////////// @@ -76,7 +76,7 @@ play_sound = pick(pred_digest) //Pref protection! - if (!M.digestable || M.absorbed) + if (!M.vore_flags & DIGESTABLE || M.vore_flags & ABSORBED) continue //Person just died in guts! @@ -150,7 +150,7 @@ SEND_SOUND(M,prey_digest) play_sound = pick(pred_digest) - if(M.absorbed) + if(M.vore_flags & ABSORBED) continue if(M.nutrition >= 100) //Drain them until there's no nutrients left. Slowly "absorb" them. @@ -164,8 +164,8 @@ if(DM_UNABSORB) for (var/mob/living/M in contents) - if(M.absorbed && owner.nutrition >= 100) - M.absorbed = FALSE + if(M.vore_flags & ABSORBED && owner.nutrition >= 100) + DISABLE_BITFIELD(M.vore_flags, ABSORBED) to_chat(M,"You suddenly feel solid again ") to_chat(owner,"You feel like a part of you is missing.") owner.nutrition -= 100 diff --git a/code/modules/vore/eating/living.dm b/code/modules/vore/eating/living.dm index c59662d5b6..1f4a4e3909 100644 --- a/code/modules/vore/eating/living.dm +++ b/code/modules/vore/eating/living.dm @@ -1,18 +1,11 @@ ///////////////////// Mob Living ///////////////////// /mob/living - var/digestable = FALSE // Can the mob be digested inside a belly? + var/vore_flags = 0 var/showvoreprefs = TRUE // Determines if the mechanical vore preferences button will be displayed on the mob or not. var/obj/belly/vore_selected // Default to no vore capability. var/list/vore_organs = list() // List of vore containers inside a mob - var/devourable = FALSE // Can the mob be vored at all? - var/feeding = FALSE // Are we going to feed someone else? var/vore_taste = null // What the character tastes like - var/no_vore = FALSE // If the character/mob can vore. - var/openpanel = FALSE // Is the vore panel open? - var/absorbed = FALSE //are we absorbed? var/next_preyloop - var/vore_init = FALSE //Has this mob's vore been initialized yet? - var/vorepref_init = FALSE //Has this mob's voreprefs been initialized? // // Hook for generic creation of stuff on new creatures @@ -22,7 +15,7 @@ M.verbs += /mob/living/proc/lick M.verbs += /mob/living/proc/escapeOOC - if(M.no_vore) //If the mob isn't supposed to have a stomach, let's not give it an insidepanel so it can make one for itself, or a stomach. + if(M.vore_flags & NO_VORE) //If the mob isn't supposed to have a stomach, let's not give it an insidepanel so it can make one for itself, or a stomach. return TRUE M.verbs += /mob/living/proc/insidePanel @@ -35,7 +28,7 @@ return TRUE /mob/living/proc/init_vore() - vore_init = TRUE + ENABLE_BITFIELD(vore_flags, VORE_INIT) //Something else made organs, meanwhile. if(LAZYLEN(vore_organs)) return TRUE @@ -75,7 +68,7 @@ return if(pred == prey) //you click your target - if(!pred.feeding) + if(!CHECK_BITFIELD(pred.vore_flags,FEEDING)) to_chat(user, "They aren't able to be fed.") to_chat(pred, "[user] tried to feed you themselves, but you aren't voracious enough to be fed.") return @@ -91,11 +84,11 @@ feed_grabbed_to_self(user, prey) else // click someone other than you/prey - if(!pred.feeding) + if(!CHECK_BITFIELD(pred.vore_flags,FEEDING)) to_chat(user, "They aren't voracious enough to be fed.") to_chat(pred, "[user] tried to feed you [prey], but you aren't voracious enough to be fed.") return - if(!prey.feeding) + if(!CHECK_BITFIELD(prey.vore_flags,FEEDING)) to_chat(user, "They aren't able to be fed to someone.") to_chat(prey, "[user] tried to feed you to [pred], but you aren't able to be fed to them.") return @@ -128,7 +121,7 @@ testing("[user] attempted to feed [prey] to [pred], via [lowertext(belly.name)] but it went wrong.") return - if (!prey.devourable) + if (!prey.vore_flags & DEVOURABLE) to_chat(user, "This can't be eaten!") return FALSE @@ -267,9 +260,7 @@ to_chat(src,"You attempted to save your vore prefs but somehow you're in this character without a client.prefs variable. Tell a dev.") return FALSE - client.prefs.digestable = digestable - client.prefs.devourable = devourable - client.prefs.feeding = feeding + client.prefs.vore_flags = vore_flags // there's garbage data in here, but it doesn't matter client.prefs.vore_taste = vore_taste var/list/serialized = list() @@ -288,12 +279,17 @@ if(!client || !client.prefs) to_chat(src,"You attempted to apply your vore prefs but somehow you're in this character without a client.prefs variable. Tell a dev.") return FALSE - vorepref_init = TRUE + ENABLE_BITFIELD(vore_flags,VOREPREF_INIT) + // garbage data coming back the other way or breaking absorbed would be bad, so instead we do this + vore_flags |= CHECK_BITFIELD(client.prefs.vore_flags,DIGESTABLE) // set to 1 if prefs is 1 + vore_flags |= CHECK_BITFIELD(client.prefs.vore_flags,DEVOURABLE) + vore_flags |= CHECK_BITFIELD(client.prefs.vore_flags,FEEDING) + + vore_flags &= CHECK_BITFIELD(client.prefs.vore_flags,DIGESTABLE) // set to 0 if prefs is 0 + vore_flags &= CHECK_BITFIELD(client.prefs.vore_flags,DEVOURABLE) + vore_flags &= CHECK_BITFIELD(client.prefs.vore_flags,FEEDING) - digestable = client.prefs.digestable - devourable = client.prefs.devourable - feeding = client.prefs.feeding vore_taste = client.prefs.vore_taste release_vore_contents(silent = TRUE) @@ -361,7 +357,7 @@ var/list/choices for(var/mob/living/L in view(1)) - if(L != src && (!L.ckey || L.client?.prefs.lickable) && Adjacent(L)) + if(L != src && (!L.ckey || L.client?.prefs.vore_flags & LICKABLE) && Adjacent(L)) LAZYADD(choices, L) if(!choices) @@ -369,7 +365,7 @@ var/mob/living/tasted = input(src, "Who would you like to lick? (Excluding yourself and those with the preference disabled)", "Licking") as null|anything in choices - if(QDELETED(tasted) || (tasted.ckey && !(tasted.client?.prefs.lickable)) || !Adjacent(tasted) || incapacitated(ignore_restraints = TRUE)) + if(QDELETED(tasted) || (tasted.ckey && !(tasted.client?.prefs.vore_flags & LICKABLE)) || !Adjacent(tasted) || incapacitated(ignore_restraints = TRUE)) return setClickCooldown(100) diff --git a/code/modules/vore/eating/vorepanel.dm b/code/modules/vore/eating/vorepanel.dm index 9c1ff4a84e..1adf5ef6e7 100644 --- a/code/modules/vore/eating/vorepanel.dm +++ b/code/modules/vore/eating/vorepanel.dm @@ -20,10 +20,10 @@ picker_holder.popup = new(src, "insidePanel","Vore Panel", 450, 700, picker_holder) picker_holder.popup.set_content(dat) picker_holder.popup.open() - src.openpanel = TRUE + vore_flags |= OPEN_PANEL /mob/living/proc/updateVRPanel() //Panel popup update call from belly events. - if(src.openpanel == TRUE) + if(vore_flags & OPEN_PANEL) var/datum/vore_look/picker_holder = new() picker_holder.loop = picker_holder picker_holder.selected = vore_selected @@ -65,7 +65,7 @@ //Don't display this part if we couldn't find the belly since could be held in hand. if(inside_belly) - dat += "You are currently [user.absorbed ? "absorbed into " : "inside "] [eater]'s [inside_belly]!

" + dat += "You are currently [(user.vore_flags & ABSORBED) ? "absorbed into " : "inside "] [eater]'s [inside_belly]!

" if(inside_belly.desc) dat += "[inside_belly.desc]

" @@ -80,8 +80,8 @@ continue //That's an absorbed person you're checking - if(M.absorbed) - if(user.absorbed) + if(M.vore_flags & ABSORBED) + if(user.vore_flags & ABSORBED) dat += "[O]" continue else @@ -139,7 +139,7 @@ var/mob/living/M = O //Absorbed gets special color OOoOOOOoooo - if(M.absorbed) + if(M.vore_flags & ABSORBED) dat += "[O]" continue @@ -243,11 +243,11 @@ dat += "
" var/pref_on = "#173d15" var/pref_off = "#990000" - dat += "
Toggle Digestable (Currently: [user.digestable ? "ON" : "OFF"])" - dat += "
Toggle Devourable (Currently: [user.devourable ? "ON" : "OFF"])" - dat += "
Toggle Feeding (Currently: [user.feeding ? "ON" : "OFF"])" + dat += "
Toggle Digestable (Currently: [(user.vore_flags & DIGESTABLE) ? "ON" : "OFF"])" + dat += "
Toggle Devourable (Currently: [(user.vore_flags & DEVOURABLE) ? "ON" : "OFF"])" + dat += "
Toggle Feeding (Currently: [(user.vore_flags & FEEDING) ? "ON" : "OFF"])" if(user.client.prefs) - dat += "
Toggle Licking (Currently: [user.client.prefs.lickable ? "ON" : "OFF"])" + dat += "
Toggle Licking (Currently: [(user.client.prefs.vore_flags & LICKABLE) ? "ON" : "OFF"])" //Returns the dat html to the vore_look return dat @@ -257,7 +257,7 @@ if(href_list["close"]) qdel(src) // Cleanup - user.openpanel = FALSE + user.vore_flags &= ~OPEN_PANEL return if(href_list["show_int"]) @@ -287,7 +287,7 @@ M.examine(user) if("Help Out") //Help the inside-mob out - if(user.stat || user.absorbed || M.absorbed) + if(user.stat || user.vore_flags & ABSORBED || M.vore_flags & ABSORBED) to_chat(user,"You can't do that in your state!") return TRUE @@ -306,7 +306,7 @@ to_chat(OB.owner,"Your body efficiently shoves [M] back where they belong.") if("Devour") //Eat the inside mob - if(user.absorbed || user.stat) + if(user.vore_flags & ABSORBED || user.stat) to_chat(user,"You can't do that in your state!") return TRUE @@ -687,58 +687,58 @@ user.vore_taste = new_flavor if(href_list["toggledg"]) - var/choice = alert(user, "This button is for those who don't like being digested. It can make you undigestable to all mobs. Digesting you is currently: [user.digestable ? "Allowed" : "Prevented"]", "", "Allow Digestion", "Cancel", "Prevent Digestion") + var/choice = alert(user, "This button is for those who don't like being digested. It can make you undigestable to all mobs. Digesting you is currently: [(user.vore_flags & DIGESTABLE) ? "Allowed" : "Prevented"]", "", "Allow Digestion", "Cancel", "Prevent Digestion") if(!user || !user.client) return switch(choice) if("Cancel") return FALSE if("Allow Digestion") - user.digestable = TRUE + user.vore_flags |= DIGESTABLE + user.client.prefs.vore_flags |= DIGESTABLE if("Prevent Digestion") - user.digestable = FALSE - - user.client.prefs.digestable = user.digestable + user.vore_flags &= ~DIGESTABLE + user.client.prefs.vore_flags &= ~DIGESTABLE if(href_list["toggledvor"]) - var/choice = alert(user, "This button is for those who don't like vore at all. Devouring you is currently: [user.devourable ? "Allowed" : "Prevented"]", "", "Allow Devourment", "Cancel", "Prevent Devourment") + var/choice = alert(user, "This button is for those who don't like vore at all. Devouring you is currently: [(user.vore_flags & DEVOURABLE) ? "Allowed" : "Prevented"]", "", "Allow Devourment", "Cancel", "Prevent Devourment") if(!user || !user.client) return switch(choice) if("Cancel") return FALSE if("Allow Devourment") - user.devourable = TRUE + user.vore_flags |= DEVOURABLE + user.client.prefs.vore_flags |= DEVOURABLE if("Prevent Devourment") - user.devourable = FALSE - - user.client.prefs.devourable = user.devourable + user.vore_flags &= ~DEVOURABLE + user.client.prefs.vore_flags &= ~DEVOURABLE if(href_list["toggledfeed"]) - var/choice = alert(user, "This button is to toggle your ability to be fed to others. Feeding predators is currently: [user.feeding ? "Allowed" : "Prevented"]", "", "Allow Feeding", "Cancel", "Prevent Feeding") + var/choice = alert(user, "This button is to toggle your ability to be fed to others. Feeding predators is currently: [(user.vore_flags & FEEDING) ? "Allowed" : "Prevented"]", "", "Allow Feeding", "Cancel", "Prevent Feeding") if(!user || !user.client) return switch(choice) if("Cancel") return FALSE if("Allow Feeding") - user.feeding = TRUE + user.vore_flags |= FEEDING + user.client.prefs.vore_flags |= FEEDING if("Prevent Feeding") - user.feeding = FALSE - - user.client.prefs.feeding = user.feeding + user.vore_flags &= ~FEEDING + user.client.prefs.vore_flags &= ~FEEDING if(href_list["toggledlickable"]) - var/choice = alert(user, "This button is to toggle your ability to be licked. Being licked is currently: [user.client.prefs.lickable ? "Allowed" : "Prevented"]", "", "Allow Licking", "Cancel", "Prevent Licking") + var/choice = alert(user, "This button is to toggle your ability to be licked. Being licked is currently: [(user.client.prefs.vore_flags & LICKABLE) ? "Allowed" : "Prevented"]", "", "Allow Licking", "Cancel", "Prevent Licking") if(!user || !user.client) return switch(choice) if("Cancel") return FALSE if("Allow Licking") - user.client.prefs.lickable = TRUE + user.client.prefs.vore_flags |= LICKABLE if("Prevent Licking") - user.client.prefs.lickable = FALSE + user.client.prefs.vore_flags &= ~LICKABLE //Refresh when interacted with, returning 1 makes vore_look.Topic update return TRUE From 70b771a8f2b473b557fb245d38bdf71c78652f2a Mon Sep 17 00:00:00 2001 From: Putnam Date: Mon, 13 Apr 2020 17:04:09 -0700 Subject: [PATCH 020/131] Also made bellies only generate when needed. --- .../living/simple_animal/simple_animal_vr.dm | 79 +++++++++---------- code/modules/vore/eating/living.dm | 8 +- 2 files changed, 45 insertions(+), 42 deletions(-) diff --git a/code/modules/mob/living/simple_animal/simple_animal_vr.dm b/code/modules/mob/living/simple_animal/simple_animal_vr.dm index 4a3ad39919..de5bb578b8 100644 --- a/code/modules/mob/living/simple_animal/simple_animal_vr.dm +++ b/code/modules/mob/living/simple_animal/simple_animal_vr.dm @@ -57,46 +57,45 @@ if(vore_active && !IsAdvancedToolUser()) //vore active, but doesn't have thumbs to grab people with. verbs |= /mob/living/simple_animal/proc/animal_nom - if(LAZYLEN(vore_organs)) - return - - LAZYINITLIST(vore_organs) - var/obj/belly/B = new (src) - vore_selected = B - B.immutable = TRUE - B.name = vore_stomach_name ? vore_stomach_name : "stomach" - B.desc = vore_stomach_flavor ? vore_stomach_flavor : "Your surroundings are warm, soft, and slimy. Makes sense, considering you're inside \the [name]." - B.digest_mode = vore_default_mode - B.vore_sound = vore_default_sound - B.release_sound = vore_default_release - B.is_wet = vore_wetness - B.escapable = vore_escape_chance > 0 - B.escapechance = vore_escape_chance - B.digestchance = vore_digest_chance - B.absorbchance = vore_absorb_chance - B.human_prey_swallow_time = swallowTime - B.nonhuman_prey_swallow_time = swallowTime - B.vore_verb = "swallow" - B.emote_lists[DM_HOLD] = list( // We need more that aren't repetitive. I suck at endo. -Ace - "The insides knead at you gently for a moment.", - "The guts glorp wetly around you as some air shifts.", - "The predator takes a deep breath and sighs, shifting you somewhat.", - "The stomach squeezes you tight for a moment, then relaxes harmlessly.", - "The predator's calm breathing and thumping heartbeat pulses around you.", - "The warm walls kneads harmlessly against you.", - "The liquids churn around you, though there doesn't seem to be much effect.", - "The sound of bodily movements drown out everything for a moment.", - "The predator's movements gently force you into a different position.") - B.emote_lists[DM_DIGEST] = list( - "The burning acids eat away at your form.", - "The muscular stomach flesh grinds harshly against you.", - "The caustic air stings your chest when you try to breathe.", - "The slimy guts squeeze inward to help the digestive juices soften you up.", - "The onslaught against your body doesn't seem to be letting up; you're food now.", - "The predator's body ripples and crushes against you as digestive enzymes pull you apart.", - "The juices pooling beneath you sizzle against your sore skin.", - "The churning walls slowly pulverize you into meaty nutrients.", - "The stomach glorps and gurgles as it tries to work you into slop.") +/mob/living/simple_animal/lazy_init_belly() + if(!LAZYLEN(vore_organs)) + LAZYINITLIST(vore_organs) + var/obj/belly/B = new (src) + vore_selected = B + B.immutable = TRUE + B.name = vore_stomach_name ? vore_stomach_name : "stomach" + B.desc = vore_stomach_flavor ? vore_stomach_flavor : "Your surroundings are warm, soft, and slimy. Makes sense, considering you're inside \the [name]." + B.digest_mode = vore_default_mode + B.vore_sound = vore_default_sound + B.release_sound = vore_default_release + B.is_wet = vore_wetness + B.escapable = vore_escape_chance > 0 + B.escapechance = vore_escape_chance + B.digestchance = vore_digest_chance + B.absorbchance = vore_absorb_chance + B.human_prey_swallow_time = swallowTime + B.nonhuman_prey_swallow_time = swallowTime + B.vore_verb = "swallow" + B.emote_lists[DM_HOLD] = list( // We need more that aren't repetitive. I suck at endo. -Ace + "The insides knead at you gently for a moment.", + "The guts glorp wetly around you as some air shifts.", + "The predator takes a deep breath and sighs, shifting you somewhat.", + "The stomach squeezes you tight for a moment, then relaxes harmlessly.", + "The predator's calm breathing and thumping heartbeat pulses around you.", + "The warm walls kneads harmlessly against you.", + "The liquids churn around you, though there doesn't seem to be much effect.", + "The sound of bodily movements drown out everything for a moment.", + "The predator's movements gently force you into a different position.") + B.emote_lists[DM_DIGEST] = list( + "The burning acids eat away at your form.", + "The muscular stomach flesh grinds harshly against you.", + "The caustic air stings your chest when you try to breathe.", + "The slimy guts squeeze inward to help the digestive juices soften you up.", + "The onslaught against your body doesn't seem to be letting up; you're food now.", + "The predator's body ripples and crushes against you as digestive enzymes pull you apart.", + "The juices pooling beneath you sizzle against your sore skin.", + "The churning walls slowly pulverize you into meaty nutrients.", + "The stomach glorps and gurgles as it tries to work you into slop.") // // Simple proc for animals to have their digestion toggled on/off externally diff --git a/code/modules/vore/eating/living.dm b/code/modules/vore/eating/living.dm index 1f4a4e3909..33f8d78300 100644 --- a/code/modules/vore/eating/living.dm +++ b/code/modules/vore/eating/living.dm @@ -42,8 +42,8 @@ vore_selected = vore_organs[1] return TRUE - //Or, we can create a basic one for them - if(!LAZYLEN(vore_organs)) +/mob/living/proc/lazy_init_belly() + if(!length(vore_organs)) LAZYINITLIST(vore_organs) var/obj/belly/B = new /obj/belly(src) vore_selected = B @@ -61,6 +61,7 @@ // Critical adjustments due to TG grab changes - Poojawa /mob/living/proc/vore_attack(var/mob/living/user, var/mob/living/prey, var/mob/living/pred) + lazy_init_belly() if(!user || !prey || !pred) return @@ -100,14 +101,17 @@ // Eating procs depending on who clicked what // /mob/living/proc/feed_grabbed_to_self(var/mob/living/user, var/mob/living/prey) + user.lazy_init_belly() var/belly = user.vore_selected return perform_the_nom(user, prey, user, belly) /mob/living/proc/feed_self_to_grabbed(var/mob/living/user, var/mob/living/pred) + pred.lazy_init_belly() var/belly = input("Choose Belly") in pred.vore_organs return perform_the_nom(user, user, pred, belly) /mob/living/proc/feed_grabbed_to_other(var/mob/living/user, var/mob/living/prey, var/mob/living/pred) + pred.lazy_init_belly() var/belly = input("Choose Belly") in pred.vore_organs return perform_the_nom(user, prey, pred, belly) From 75bb0cfab25eb5c8fcb42bd51bc3032e414a8802 Mon Sep 17 00:00:00 2001 From: Putnam Date: Mon, 13 Apr 2020 17:15:18 -0700 Subject: [PATCH 021/131] Lowered vore priority --- code/__DEFINES/subsystems.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index 5aa0301bf6..c4d87bc63d 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -90,12 +90,12 @@ // Subsystem fire priority, from lowest to highest priority // If the subsystem isn't listed here it's either DEFAULT or PROCESS (if it's a processing subsystem child) +#define FIRE_PRIORITY_VORE 5 #define FIRE_PRIORITY_PING 10 #define FIRE_PRIORITY_IDLE_NPC 10 #define FIRE_PRIORITY_SERVER_MAINT 10 #define FIRE_PRIORITY_RESEARCH 10 #define FIRE_PRIORITY_VIS 10 -#define FIRE_PRIORITY_VORE 10 #define FIRE_PRIORITY_GARBAGE 15 #define FIRE_PRIORITY_WET_FLOORS 20 #define FIRE_PRIORITY_AIR 20 From d0cea0d84a24e75b0fe33865658fc109e899054e Mon Sep 17 00:00:00 2001 From: Putnam Date: Mon, 13 Apr 2020 17:19:39 -0700 Subject: [PATCH 022/131] Replaced a .len with a length() just in case --- code/modules/vore/eating/bellymodes.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/vore/eating/bellymodes.dm b/code/modules/vore/eating/bellymodes.dm index 121dc9f75c..2caaae401e 100644 --- a/code/modules/vore/eating/bellymodes.dm +++ b/code/modules/vore/eating/bellymodes.dm @@ -1,6 +1,6 @@ // Process the predator's effects upon the contents of its belly (i.e digestion/transformation etc) /obj/belly/proc/process_belly(var/times_fired,var/wait) //Passed by controller - if((times_fired < next_process) || !contents.len) + if((times_fired < next_process) || !length(contents)) recent_sound = FALSE return SSBELLIES_IGNORED From 325c011142eee40dcafd914d006974731106910a Mon Sep 17 00:00:00 2001 From: Artur Date: Tue, 14 Apr 2020 09:07:37 +0300 Subject: [PATCH 023/131] Comsigs are hard... --- code/datums/components/tackle.dm | 14 ++++++-------- .../antagonists/bloodsucker/powers/lunge.dm | 12 +++++++++--- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/code/datums/components/tackle.dm b/code/datums/components/tackle.dm index 0af2d8f78c..754be9d817 100644 --- a/code/datums/components/tackle.dm +++ b/code/datums/components/tackle.dm @@ -143,8 +143,6 @@ return var/mob/living/carbon/target = hit - var/mob/living/carbon/human/T = target - var/mob/living/carbon/human/S = user var/roll = rollTackle(target) user.tackling = FALSE @@ -190,9 +188,9 @@ target.adjustStaminaLoss(40) target.Paralyze(5) target.Knockdown(30) - if(ishuman(target) && ishuman(user)) - S.dna.species.grab(S, T) - S.setGrabState(GRAB_PASSIVE) + if(ishuman(target) && iscarbon(user)) + target.grabbedby(user) + target.grippedby(user, instant = TRUE) if(5 to INFINITY) // absolutely BODIED user.visible_message("[user] lands a monster tackle on [target], knocking [target.p_them()] senseless and applying an aggressive pin!", "You land a monster tackle on [target], knocking [target.p_them()] senseless and applying an aggressive pin!", target) @@ -203,11 +201,11 @@ target.adjustStaminaLoss(40) target.Paralyze(5) target.Knockdown(30) - if(ishuman(target) && ishuman(user)) + if(ishuman(target) && iscarbon(user)) target.grabbedby(user) - target.grippedby(user, instant = TRUE) //instant aggro grab + target.grippedby(user, instant = TRUE) - SEND_SIGNAL(user, COMSIG_CARBON_TACKLED, "tackle completed") + SEND_SIGNAL(user, COMSIG_CARBON_TACKLED, roll) return COMPONENT_MOVABLE_IMPACT_FLIP_HITPUSH /** diff --git a/code/modules/antagonists/bloodsucker/powers/lunge.dm b/code/modules/antagonists/bloodsucker/powers/lunge.dm index d40627f493..b8dcc29022 100644 --- a/code/modules/antagonists/bloodsucker/powers/lunge.dm +++ b/code/modules/antagonists/bloodsucker/powers/lunge.dm @@ -13,7 +13,11 @@ /datum/action/bloodsucker/lunge/New() . = ..() - RegisterSignal(owner, COMSIG_CARBON_TACKLED, .proc/Delayed_DeactivatePower) + + +/datum/action/bloodsucker/lunge/Destroy() + . = ..() + UnregisterSignal(owner, COMSIG_CARBON_TACKLED) /datum/action/bloodsucker/lunge/ActivatePower() var/mob/living/user = owner @@ -26,13 +30,15 @@ T.skill_mod = 5 T.min_distance = 2 active = TRUE + RegisterSignal(user, COMSIG_CARBON_TACKLED, .proc/DeactivatePower) while(B && ContinueActive(user)) B.AddBloodVolume(-0.1) sleep(5) -/datum/action/bloodsucker/lunge/proc/Delayed_DeactivatePower() +/*/datum/action/bloodsucker/lunge/proc/Delayed_DeactivatePower() addtimer(CALLBACK(src, .proc/DeactivatePower), 1 SECONDS, TIMER_UNIQUE) - +*/ /datum/action/bloodsucker/lunge/DeactivatePower(mob/living/user = owner) . = ..() qdel(user.GetComponent(/datum/component/tackler)) + UnregisterSignal(user, COMSIG_CARBON_TACKLED) From 6c977f347d634034d29ffcb45098d8ded0a6b635 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Tue, 14 Apr 2020 20:40:59 +0200 Subject: [PATCH 024/131] Update game_options.dm --- code/controllers/configuration/entries/game_options.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index f11093cba7..85aec2e67b 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -455,10 +455,12 @@ config_entry_value = RESIZE_DEFAULT_SIZE min_val = 0.1 //to avoid issues with zeros and negative values. max_val = RESIZE_DEFAULT_SIZE + integer = FALSE /datum/config_entry/number/body_size_max config_entry_value = RESIZE_DEFAULT_SIZE min_val = RESIZE_DEFAULT_SIZE + integer = FALSE //Pun-Pun movement slowdown given to characters with a body size smaller than this value, //to compensate for their smaller hitbox. @@ -467,9 +469,11 @@ config_entry_value = RESIZE_DEFAULT_SIZE * 0.85 min_val = 0 max_val = RESIZE_DEFAULT_SIZE + integer = FALSE //multiplicative slowdown multiplier. See 'dna.update_body_size' for the operation. //doesn't apply to floating or crawling mobs /datum/config_entry/number/body_size_slowdown_multiplier config_entry_value = 0.25 min_val = 0.1 //To encourage folks to disable the slowdown through the above config instead. + integer = FALSE From 3b79d6085b8b634df1f204ac4d3a93d3c66ba08c Mon Sep 17 00:00:00 2001 From: Putnam Date: Tue, 14 Apr 2020 20:10:32 -0700 Subject: [PATCH 025/131] WHOOPS GOTTA UPDATE SAVEFILE VERSION --- code/modules/client/preferences_savefile.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index a6fdf9a671..4590653a96 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -5,7 +5,7 @@ // You do not need to raise this if you are adding new values that have sane defaults. // Only raise this value when changing the meaning/format/name/layout of an existing value // where you would want the updater procs below to run -#define SAVEFILE_VERSION_MAX 28 +#define SAVEFILE_VERSION_MAX 29 /* SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Carn From 20c3c648ce3262538efcea7f4f0739567963880d Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Tue, 14 Apr 2020 21:50:39 -0700 Subject: [PATCH 026/131] Update living.dm --- code/modules/mob/living/living.dm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 5fa64e5ab5..4e1f37fdf7 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -646,6 +646,11 @@ // Return as we should only resist one thing at a time. Give clickdelay if the grab wasn't passive. return old_gs? TRUE : FALSE + if(CHECK_MOBILITY(src, MOBILITY_USE) && resist_embedded()) //Citadel Change for embedded removal memes - requires being able to use items. + // DO NOT GIVE DEFAULT CLICKDELAY - This is a combat action. + changeNext_move(CLICK_CD_MELEE) + return FALSE + // unbuckling yourself. stops the chain if you try it. if(buckled && last_special <= world.time) log_combat(src, buckled, "resisted buckle") @@ -676,10 +681,7 @@ resist_restraints() //trying to remove cuffs. // DO NOT GIVE CLICKDELAY - last_special handles this. return FALSE - if(CHECK_MOBILITY(src, MOBILITY_USE) && resist_embedded()) //Citadel Change for embedded removal memes - requires being able to use items. - // DO NOT GIVE DEFAULT CLICKDELAY - This is a combat action. - changeNext_move(CLICK_CD_MELEE) - return FALSE + /// Proc to resist a grab. moving_resist is TRUE if this began by someone attempting to move. Return FALSE if still grabbed/failed to break out. Use this instead of resist_grab() directly. /mob/proc/attempt_resist_grab(moving_resist, forced, log = TRUE) From 375c62175f6ec75c4f2da473fea1c7101e6220c2 Mon Sep 17 00:00:00 2001 From: Artur Date: Wed, 15 Apr 2020 12:04:25 +0300 Subject: [PATCH 027/131] Finishing touches, fixes icons --- code/datums/components/tackle.dm | 1 - .../antagonists/bloodsucker/powers/lunge.dm | 12 +++++++----- code/modules/clothing/gloves/tacklers.dm | 4 ++-- icons/mob/clothing/hands.dmi | Bin 11008 -> 11611 bytes icons/obj/clothing/gloves.dmi | Bin 15403 -> 16341 bytes 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/code/datums/components/tackle.dm b/code/datums/components/tackle.dm index 754be9d817..8ffa6c5452 100644 --- a/code/datums/components/tackle.dm +++ b/code/datums/components/tackle.dm @@ -190,7 +190,6 @@ target.Knockdown(30) if(ishuman(target) && iscarbon(user)) target.grabbedby(user) - target.grippedby(user, instant = TRUE) if(5 to INFINITY) // absolutely BODIED user.visible_message("[user] lands a monster tackle on [target], knocking [target.p_them()] senseless and applying an aggressive pin!", "You land a monster tackle on [target], knocking [target.p_them()] senseless and applying an aggressive pin!", target) diff --git a/code/modules/antagonists/bloodsucker/powers/lunge.dm b/code/modules/antagonists/bloodsucker/powers/lunge.dm index b8dcc29022..88e39920d4 100644 --- a/code/modules/antagonists/bloodsucker/powers/lunge.dm +++ b/code/modules/antagonists/bloodsucker/powers/lunge.dm @@ -20,7 +20,7 @@ UnregisterSignal(owner, COMSIG_CARBON_TACKLED) /datum/action/bloodsucker/lunge/ActivatePower() - var/mob/living/user = owner + var/mob/living/carbon/user = owner var/datum/antagonist/bloodsucker/B = user.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) var/datum/component/tackler/T = user.LoadComponent(/datum/component/tackler) T.stamina_cost = 50 @@ -30,14 +30,16 @@ T.skill_mod = 5 T.min_distance = 2 active = TRUE - RegisterSignal(user, COMSIG_CARBON_TACKLED, .proc/DeactivatePower) + user.toggle_throw_mode() + RegisterSignal(user, COMSIG_CARBON_TACKLED, .proc/DelayedDeactivatePower) while(B && ContinueActive(user)) B.AddBloodVolume(-0.1) sleep(5) - -/*/datum/action/bloodsucker/lunge/proc/Delayed_DeactivatePower() + +//Without this, the leap component would get removed too early, causing the normal crash into effects. +/datum/action/bloodsucker/lunge/proc/DelayedDeactivatePower() addtimer(CALLBACK(src, .proc/DeactivatePower), 1 SECONDS, TIMER_UNIQUE) -*/ + /datum/action/bloodsucker/lunge/DeactivatePower(mob/living/user = owner) . = ..() qdel(user.GetComponent(/datum/component/tackler)) diff --git a/code/modules/clothing/gloves/tacklers.dm b/code/modules/clothing/gloves/tacklers.dm index 95c7739bd8..f11c7ccd6b 100644 --- a/code/modules/clothing/gloves/tacklers.dm +++ b/code/modules/clothing/gloves/tacklers.dm @@ -21,7 +21,7 @@ /// See: [/datum/component/tackler/var/speed] var/tackle_speed = 1 /// See: [/datum/component/tackler/var/skill_mod] - var/skill_mod = 0 + var/skill_mod = 1 /obj/item/clothing/gloves/tackler/equipped(mob/user, slot) . = ..() @@ -61,7 +61,7 @@ tackle_stam_cost = 35 base_knockdown = 1.5 SECONDS tackle_range = 5 - skill_mod = 2 + skill_mod = 3 cold_protection = HANDS min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT diff --git a/icons/mob/clothing/hands.dmi b/icons/mob/clothing/hands.dmi index cb4251fd3c6240b89b7d7340c5c03331577990d9..f1ae2afed728e482394121a41faf6a3c66ac7679 100644 GIT binary patch literal 11611 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QU8F8|9&OUOfp9_@1Xi!M%!tmiCTQq5 z3lbFIId<$doxEOa7>@Bv!5{CB;!f9y{c0KrM3HT!w0FkAq5WAZ$APOv6sBP6)wvHd zW1k(1$HK#JQf*Y=g)walqZZim0=*XzXZ zVVK!Mqe~E9rV<9k(E(y2Ia?vxm#xHKEcGi7(tKV0NDmjnM7E23nmV%E!hiPSVoJ0K zj9Cv?*ROcOUh)z6!Wx(DT}+lzvM_-=36scUm)2(oyunu5m;2X)uwbYHE>`evZy3Rm zG0>Tt1PCrFtWMGud~Oj4g|0jcd7QOKfb9~v>bCM>TRiK_9l40KH4e9xq$`mfXw_BH zOn+OUiqdcx?0Q-d;y1kX!BFpoO!HA^DkfujYgp~sz-L7)tBq6C3JC%a40C!jK+bXL zh^@~Am|zL7#Hn2H^C7ZS3=jA>+N-zKT+_}CRazZ&DRC^jBH(=j!gHg`dNE<>{iqfa zm-c(aspGTwbLXCyl{wBD8Xmp`du#Gsar+AK^DMr^nSYTL*^ffZbo9nV=*a7T6KanI z_ruBZ1=&> ziXayC^IB0CBSg9`N1EXn0L~C<0&@?~*H_Si2B&X-N$8OiKXZ+V^@>P_* zhkJmKp$FV@PqFFYy&ZfYU~r=Cd2XQ{w|`;LphfC<8Kx5WphYUQ+cc8z&m$?J1Vj4Z zS7^RIede4J!-OgTVn|r$gK8}oM_id0g*4v|=YvNH7QI6$gwZ8x1bwZRTt^PGp?($F z;0}(fXzzL?Bemn+57p*PTXVz!6r9P*vh)YApYnyeKDU&W>v8ZWcJE9H8s4v^3$+za zxI(J81R>fs3Wrh_uaApX^C{*X8NpdhC7MHHIty&?P+rD7=|TDd_(?wol64mhV-C0rmgp+xt-y_a2lf_Ai)Ty|wfFIx zFnSo0P>iTp-YX1YAfLn1p|3D9pfIX#e+%&h> zL=*UD@1tKSsSF33w9vFS%cdba+{r0g>7zlP%GQ<%_Rw zdZy=L6c)?w?W^s_IYolQsRg;y!PqwrK7L<-R#RJ1%*^BiagZYTH%*hFUBCz2$ldrj z^~Ms6{)#MSg5`g?e|m&yShtIzzaaN!c60NtFs@gGwQc9~7lcpP&^&pEoIC8wyTM(a zTVF*6R{0^IXY=uPx&Lt_>1XD5X@;-6$mRtuepLe4S1QONftsDDzU|kFJtv%3OK{cd z4@fs?w}oNWPOgK)=ZY1M*=)0K^Va*@>Z8FyzLh}V-r+OEXp~nuGH?&)4P0;q6&lv$ z+oOxG{nQ>ive(FW!VFK`_lVhfqVnOc8>ZJ z0}tRxzsg17`YU3pqb7In0?Ww}q@xs%tcz@w#S?O#&0H`YL1_z0sGs_OmtOy5m=RRo>Cmpq9pne&+t#@aP{>`sl#%-7@d%B^ic>D=dNrLD<4=71 z0CHd7^NM;dcPceY!LYT#1Phwhu8m(CxN#>2*lRW+R>K!tfpLu=1J5qC4MtSbBbn

rp%FWRCykb()%{-* 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 diff --git a/icons/obj/clothing/gloves.dmi b/icons/obj/clothing/gloves.dmi index e937842275bc88367426079b90389858133d04e6..166da38adc5ea097eb5d0f7716e3931b1afa9490 100644 GIT binary patch literal 16341 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 literal 15403 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 Date: Wed, 15 Apr 2020 12:12:06 +0300 Subject: [PATCH 028/131] Comment because why the heck not --- code/modules/antagonists/bloodsucker/powers/lunge.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/bloodsucker/powers/lunge.dm b/code/modules/antagonists/bloodsucker/powers/lunge.dm index 88e39920d4..db7868fa8a 100644 --- a/code/modules/antagonists/bloodsucker/powers/lunge.dm +++ b/code/modules/antagonists/bloodsucker/powers/lunge.dm @@ -27,7 +27,7 @@ T.base_knockdown = 3 SECONDS T.range = 4 T.speed = 0.8 - T.skill_mod = 5 + T.skill_mod = 5 //Monstrous tackling T.min_distance = 2 active = TRUE user.toggle_throw_mode() From ddcfcb5cd8fe7bbb8361c2a541cd1908add46296 Mon Sep 17 00:00:00 2001 From: Artur Date: Wed, 15 Apr 2020 12:33:59 +0300 Subject: [PATCH 029/131] Conflicts sure are !!FUN!! Also adds dolphin gloves to the glove crate, and fixes fortitude --- .../bloodsucker/powers/fortitude.dm | 9 +++++++-- code/modules/cargo/exports/gear.dm | 2 +- icons/mob/clothing/hands.dmi | Bin 10110 -> 10734 bytes icons/obj/clothing/gloves.dmi | Bin 16697 -> 17824 bytes 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/code/modules/antagonists/bloodsucker/powers/fortitude.dm b/code/modules/antagonists/bloodsucker/powers/fortitude.dm index 9a31258d9d..bae802c176 100644 --- a/code/modules/antagonists/bloodsucker/powers/fortitude.dm +++ b/code/modules/antagonists/bloodsucker/powers/fortitude.dm @@ -11,6 +11,7 @@ bloodsucker_can_buy = TRUE amToggle = TRUE warn_constant_cost = TRUE + var/was_running var/fortitude_resist // So we can raise and lower your brute resist based on what your level_current WAS. @@ -27,10 +28,11 @@ fortitude_resist = max(0.3, 0.7 - level_current * 0.1) H.physiology.brute_mod *= fortitude_resist H.physiology.burn_mod *= fortitude_resist - var/was_running = (user.m_intent == MOVE_INTENT_RUN) + was_running = (user.m_intent == MOVE_INTENT_RUN) if(was_running) user.toggle_move_intent() - while(bloodsuckerdatum && ContinueActive(user) || user.m_intent == MOVE_INTENT_RUN) + was_running = TRUE + while(B && ContinueActive(user) || user.m_intent == MOVE_INTENT_RUN) if(istype(user.buckled, /obj/vehicle)) //We dont want people using fortitude being able to use vehicles var/obj/vehicle/V = user.buckled var/datum/component/riding/VRD = V.GetComponent(/datum/component/riding) @@ -57,3 +59,6 @@ var/mob/living/carbon/human/H = owner H.physiology.brute_mod /= fortitude_resist H.physiology.burn_mod /= fortitude_resist + if(was_running && user.m_intent == MOVE_INTENT_WALK) + user.toggle_move_intent() + diff --git a/code/modules/cargo/exports/gear.dm b/code/modules/cargo/exports/gear.dm index 3ad1756346..8dba7f69da 100644 --- a/code/modules/cargo/exports/gear.dm +++ b/code/modules/cargo/exports/gear.dm @@ -309,7 +309,7 @@ /datum/export/gear/combatgloves cost = 80 unit_name = "combat gloves" - export_types = list(/obj/item/clothing/gloves/combat, /obj/item/clothing/gloves/fingerless/pugilist/rapid, /obj/item/clothing/gloves/krav_maga) + export_types = list(/obj/item/clothing/gloves/tackler/combat, /obj/item/clothing/gloves/tackler/dolphin, /obj/item/clothing/gloves/fingerless/pugilist/rapid, /obj/item/clothing/gloves/krav_maga) include_subtypes = TRUE /datum/export/gear/bonegloves diff --git a/icons/mob/clothing/hands.dmi b/icons/mob/clothing/hands.dmi index 74aabf6021997fb06b02afbf89f03b8861865232..3860fa4b7eac912bee2713ae969ad9b993a3f28e 100644 GIT binary patch literal 10734 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 diff --git a/icons/obj/clothing/gloves.dmi b/icons/obj/clothing/gloves.dmi index d53f53c0292a70b8f8344c1f36a31ff6b4b5baf6..2a6ce77f38b9613fcb3aa28d5d5edded152b710a 100644 GIT binary patch literal 17824 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 Date: Thu, 16 Apr 2020 15:53:15 +0200 Subject: [PATCH 030/131] Update sanitize_values.dm --- code/__HELPERS/sanitize_values.dm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/code/__HELPERS/sanitize_values.dm b/code/__HELPERS/sanitize_values.dm index faa8c22f38..e494468fe7 100644 --- a/code/__HELPERS/sanitize_values.dm +++ b/code/__HELPERS/sanitize_values.dm @@ -6,6 +6,13 @@ return number return default +/proc/sanitize_num_clamp(number, min=0, max=1, default=0, quantize=0) + if(!isnum(number)) + return default + . = CLAMP(number, min, max) + if(quantize) + . = round(number, quantize) + /proc/sanitize_text(text, default="") if(istext(text)) return text From b7b9fc55f5ed75533901c9c8a247bb5a8868c438 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Thu, 16 Apr 2020 15:54:59 +0200 Subject: [PATCH 031/131] Update preferences_savefile.dm --- code/modules/client/preferences_savefile.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 7da9d5a1dc..10e351cba5 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -575,7 +575,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car var/static/size_max if(!size_max) size_max = CONFIG_GET(number/body_size_max) - features["body_size"] = sanitize_integer(features["body_size"], size_min, size_max, RESIZE_DEFAULT_SIZE) + features["body_size"] = sanitize_num_clamp(features["body_size"], size_min, size_max, RESIZE_DEFAULT_SIZE, 0.01) var/static/list/B_sizes if(!B_sizes) From f821d33f44e7403976bd78169486acd54fe72f2d Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Fri, 17 Apr 2020 01:32:42 +0100 Subject: [PATCH 032/131] change clamp to CLAMP requested change, and i don't plan on subtypes with different effects based on food quality Co-Authored-By: Ghom <42542238+Ghommie@users.noreply.github.com> --- code/modules/food_and_drinks/food.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/food_and_drinks/food.dm b/code/modules/food_and_drinks/food.dm index 203eb3eef6..1342b1fcbf 100644 --- a/code/modules/food_and_drinks/food.dm +++ b/code/modules/food_and_drinks/food.dm @@ -25,7 +25,7 @@ pixel_y = rand(-5, 5) /obj/item/reagent_containers/food/proc/adjust_food_quality(new_quality) - food_quality = clamp(new_quality,0,100) + food_quality = CLAMP(new_quality,0,100) /obj/item/reagent_containers/food/proc/checkLiked(var/fraction, mob/M) if(last_check_time + 50 < world.time) From aa6d6883e310d241c2152b56b46ae1d3e1f4b0b3 Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Fri, 17 Apr 2020 01:34:46 +0100 Subject: [PATCH 033/131] remove a random 'r' --- code/modules/reagents/chemistry/reagents/food_reagents.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index b3ca6a720d..b94ea9601e 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -783,7 +783,7 @@ if(istype(O, /obj/item/reagent_containers/food/snacks/customizable)) var/obj/item/reagent_containers/food/snacks/customizable/splashed_custom_food = O splashed_custom_food.total_quality += 10000 -r + /datum/reagent/consumable/char name = "Char" description = "Essence of the grill. Has strange properties when overdosed." From a4cc54781f381e9fb9c1d1192d60cff660756ad1 Mon Sep 17 00:00:00 2001 From: timothyteakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Fri, 17 Apr 2020 01:45:15 +0100 Subject: [PATCH 034/131] implements isfood helper --- code/__DEFINES/is_helpers.dm | 2 ++ code/datums/components/butchering.dm | 2 +- code/datums/components/crafting/craft.dm | 2 +- code/modules/food_and_drinks/food/snacks.dm | 2 +- code/modules/food_and_drinks/food/snacks_bread.dm | 2 +- code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm | 2 +- code/modules/reagents/chemistry/reagents/food_reagents.dm | 2 +- 7 files changed, 8 insertions(+), 6 deletions(-) diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm index 55bfcaff79..d961d6ac79 100644 --- a/code/__DEFINES/is_helpers.dm +++ b/code/__DEFINES/is_helpers.dm @@ -240,6 +240,8 @@ GLOBAL_LIST_INIT(pointed_types, typecacheof(list( #define isgun(A) (istype(A, /obj/item/gun)) +#define isfood(A) (istype(A, /obj/item/reagent_containers/food)) + //Assemblies #define isassembly(O) (istype(O, /obj/item/assembly)) diff --git a/code/datums/components/butchering.dm b/code/datums/components/butchering.dm index cb9652e0db..e5625dee6a 100644 --- a/code/datums/components/butchering.dm +++ b/code/datums/components/butchering.dm @@ -99,7 +99,7 @@ butchered_items += new sinew (T) meat.guaranteed_butcher_results.Remove(sinew) for(var/butchered_item in butchered_items) - if(istype(butchered_item, /obj/item/reagent_containers/food)) + if(isfood(butchered_item)) var/obj/item/reagent_containers/food/butchered_meat = butchered_item butchered_meat.food_quality = meat_quality if(butcher) diff --git a/code/datums/components/crafting/craft.dm b/code/datums/components/crafting/craft.dm index 64bde5da29..a5333499dd 100644 --- a/code/datums/components/crafting/craft.dm +++ b/code/datums/components/crafting/craft.dm @@ -201,7 +201,7 @@ var/atom/movable/I = new R.result (get_turf(user.loc)) I.CheckParts(parts, R) if(isitem(I)) - if(istype(I, /obj/item/reagent_containers/food)) + if(isfood(I)) var/obj/item/reagent_containers/food/food_result = I var/total_quality = 0 var/total_items = 0 diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index 889ec42185..6274a70d0e 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -303,7 +303,7 @@ All foods are distributed among various categories. Use common sense. if(cooked_type) result = new cooked_type(T) //if the result is food, set its food quality to the original food item's quality - if(istype(result, /obj/item/reagent_containers/food)) + if(isfood(result)) var/obj/item/reagent_containers/food/food_output = result food_output.adjust_food_quality(food_quality + quality_increase) if(istype(M)) diff --git a/code/modules/food_and_drinks/food/snacks_bread.dm b/code/modules/food_and_drinks/food/snacks_bread.dm index a04766be5d..777fd3875c 100644 --- a/code/modules/food_and_drinks/food/snacks_bread.dm +++ b/code/modules/food_and_drinks/food/snacks_bread.dm @@ -216,7 +216,7 @@ GLOBAL_LIST_INIT(frying_bad_chems, list( item_flags = fried.item_flags obj_flags = fried.obj_flags - if(istype(fried, /obj/item/reagent_containers/food)) + if(isfood(fried)) fried.reagents.trans_to(src, fried.reagents.total_volume) qdel(fried) else diff --git a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm index 3e22070c00..e42ad07c26 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm @@ -105,7 +105,7 @@ God bless America. to_chat(user, "You put [I] into [src].") frying = new/obj/item/reagent_containers/food/snacks/deepfryholder(src, I) //setup food quality for item depending on if it's edible or not - if(istype(I, /obj/item/reagent_containers/food)) + if(isfood(I)) var/obj/item/reagent_containers/food/original_food = I frying.adjust_food_quality(original_food.food_quality) //food quality remains unchanged until degree of frying is calculated else diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index b94ea9601e..ba0b3ea37d 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -776,7 +776,7 @@ /datum/reagent/consumable/secretsauce/reaction_obj(obj/O, reac_volume) //splashing any amount above or equal to 1u of secret sauce onto a piece of food turns its quality to 100 - if(reac_volume >= 1 && istype(O, /obj/item/reagent_containers/food)) + if(reac_volume >= 1 && isfood(O)) var/obj/item/reagent_containers/food/splashed_food = O splashed_food.adjust_food_quality(100) // if it's a customisable food, we need to edit its total quality too, to prevent its quality resetting from adding more ingredients! From d61c0dc15508ce4102a0d74938808653250db620 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 17 Apr 2020 10:53:43 +0300 Subject: [PATCH 035/131] KHAAAAAAAAAAN!! Adds TMP enlist, trainee and service uniforms. Also fixes inaccurate restricted description for existing trek loadout. --- code/modules/clothing/under/trek.dm | 16 +++++++++ icons/mob/clothing/uniform.dmi | Bin 403416 -> 405175 bytes icons/mob/clothing/uniform_digi.dmi | Bin 344171 -> 347193 bytes icons/obj/clothing/uniforms.dmi | Bin 113086 -> 113628 bytes .../code/modules/client/loadout/uniform.dm | 34 +++++++++++++++--- 5 files changed, 45 insertions(+), 5 deletions(-) diff --git a/code/modules/clothing/under/trek.dm b/code/modules/clothing/under/trek.dm index a9709a4c95..f3006eea31 100644 --- a/code/modules/clothing/under/trek.dm +++ b/code/modules/clothing/under/trek.dm @@ -96,6 +96,22 @@ icon_state = "trek_ds9_medsci" item_state = "trek_ds9_medsci" +//The Motion Picture +/obj/item/clothing/under/trek/fedutil + name = "federation utility uniform" + desc = "The uniform worn by United Federation enlisted crew members in 2285s." + icon_state = "trek_tmp_enlist" + item_state = "r_suit" + +/obj/item/clothing/under/trek/fedutil/trainee + name = "federation trainee utility uniform" + desc = "The uniform worn by United Federation enlisted trainees in 2285s." + icon_state = "trek_tmp_trainee" + +/obj/item/clothing/under/trek/fedutil/service + name = "federation service uniform" + desc = "The uniform worn by United Federation enlists for service work in 2285s." + icon_state = "trek_tmp_service" //Q /obj/item/clothing/under/trek/Q diff --git a/icons/mob/clothing/uniform.dmi b/icons/mob/clothing/uniform.dmi index 4485a9a5f8f9d1cc7ae0f3a4a1e0e037dd00f655..db1b401dda5e73c0b74f376462c057a8317202f1 100644 GIT binary patch delta 17559 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 delta 15781 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 MtMcmSOXI-*2XE&MUjP6A diff --git a/icons/mob/clothing/uniform_digi.dmi b/icons/mob/clothing/uniform_digi.dmi index 6827581b8530877c7bb8691b9b2968daed005771..d4c3086946a4af86e9d9cfe8c0d896aedaa8d4dc 100644 GIT binary patch literal 347193 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

qWh1DGrlvl`9@u zBM3X__LrEyCvML$64%wW2bHRlhQIx{@o3SooO#&`>Bv{i==iaRJ)B=cY4OrCX!iC( zL0U(8Z-HrP@)*;4=;Ygib&;C%8wpJ2e3nm>IUG5dqarw^Xl$z1!1qm1t=6}hD%fMO zPRv+Wo1La$9-*iIuxg-C_@hLCT<4XJ`S;As@tL`~@V1wfwAVPf2hk3m%iITCI8ofj zk-~StJ5{}FKw%fnOFgH0a+gq>bMasmJ=tnHvadZBULia5*h6zqkraXG=$8o?yp5{T1W6s1EmIY2 zNBwvD`-)C?j1}GPNOMyOjq2*+{l%wo|Jo6%KYfo?iGBS-$^_DHVT^l)Ey5jKhF=b8DR`;j|BItcyO`vT|EfBs|N zimNRdMJrPoqqB-k zlA(bzCV_Bm1w=gNA8 zk=-QLwiry(i!mQ=S$nUw_qx}8Q*PY@2KVi&m`(XKNmleV@1Yn4NF3X*$i;a+ z5|!t_3Wwi-0zt5gizrHxnVw$Yao(@lrDbiS$D<<2RlPiVOrO6O(B`V}70Gm1Zyr^u z&GUCXUyd2_H-99e@?n265Q=#?No8P3RuI?OKTa^loTQU(CU9~w!?KrTo^jA&Emay0 zlCGSWMq^hy|L@IiyS#=hlB|G6)4cZaNF;$If0QKwN6rZO&o7|s2S*Q$t~tOfDoDVP z&~tkY3wmWQtxxC}W(wHY?MM7G=P))p_;YyEVYJ@i*ZIKcA{C38LGO1q6Ht=rI%NT? z1t$PUz)+9FW&BvS9ppokPSQ@Z)p&x`uK`Ol8v0N*J{xQ<3DYB-Z|;YLcfbAS4o?!YFA$Uu-nBjY6k zzEZ~Z<_+>Di&ve`uq1<2ouoX*|7;5_$!L&+b0a~gmw98c0QE&CKjP>*UyAwQ%A{xs zn0RFd)PZd0|9&j71Zko_q5r=gPOllsO>U_O{?|k3X&f53qyPKy|J$aA{XhIcIqQEv zTGc*x4fuB2dwUAH6f6gB4L}3r4CH(6_GV31Tw-2cf@6n!5eGkJWVSDEm8g7A#&q

SjAsG9zgg8C#%cjjebBRD9v~QwR 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

{_o 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 diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi index dfebe3815511ac769eec289436d3d340c2bfa981..cac11ded197764adea802491cb4f0993a860e560 100644 GIT binary patch delta 21391 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

`C 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 delta 20845 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 diff --git a/modular_citadel/code/modules/client/loadout/uniform.dm b/modular_citadel/code/modules/client/loadout/uniform.dm index 4c66522df8..e9adc317cb 100644 --- a/modular_citadel/code/modules/client/loadout/uniform.dm +++ b/modular_citadel/code/modules/client/loadout/uniform.dm @@ -292,7 +292,7 @@ name = "TOS uniform, ops/sec" category = SLOT_W_UNIFORM path = /obj/item/clothing/under/trek/engsec - restricted_desc = "Engineering and Security" + restricted_desc = "Engineering, Security, and Cargo" restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster") //TNG @@ -314,7 +314,7 @@ name = "TNG uniform, ops/sec" category = SLOT_W_UNIFORM path = /obj/item/clothing/under/trek/engsec/next - restricted_desc = "Engineering and Security" + restricted_desc = "Engineering, Security, and Cargo" restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster") //VOY @@ -336,7 +336,7 @@ name = "VOY uniform, ops/sec" category = SLOT_W_UNIFORM path = /obj/item/clothing/under/trek/engsec/voy - restricted_desc = "Engineering and Security" + restricted_desc = "Engineering, Security, and Cargo" restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster") //DS9 @@ -358,7 +358,7 @@ name = "DS9 uniform, ops/sec" category = SLOT_W_UNIFORM path = /obj/item/clothing/under/trek/engsec/ds9 - restricted_desc = "Engineering and Security" + restricted_desc = "Engineering, Security, and Cargo" restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster") //ENT @@ -380,9 +380,33 @@ name = "ENT uniform, ops/sec" category = SLOT_W_UNIFORM path = /obj/item/clothing/under/trek/engsec/ent - restricted_desc = "Engineering and Security" + restricted_desc = "Engineering, Security, and Cargo" restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster") +//TheMotionPicture +/datum/gear/trekfedutil + name = "TMP uniform" + category = SLOT_W_UNIFORM + path = /obj/item/clothing/under/trek/fedutil + restricted_desc = "All, barring Service and Civilian" + restricted_roles = list("Head of Security","Captain","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer","Quartermaster", + "Medical Doctor","Chemist","Virologist","Geneticist","Scientist", "Roboticist", + "Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer", + "Cargo Technician", "Shaft Miner") + +/datum/gear/trekfedtrainee + name = "TMP uniform, trainee" + category = SLOT_W_UNIFORM + path = /obj/item/clothing/under/trek/fedutil/trainee + restricted_roles = list("Assistant", "Janitor", "Cargo Technician") + +/datum/gear/trekfedservice + name = "TMP uniform, service" + category = SLOT_W_UNIFORM + path = /obj/item/clothing/under/trek/fedutil/service + restricted_desc = "Service and Civilian, barring Clown, Mime and Lawyer" + restricted_roles = list("Assistant", "Bartender", "Botanist", "Cook", "Curator", "Janitor") + //Memes /datum/gear/gear_harnesses name = "Gear Harness" From ef5f34d58eba44cad0040f59bd10a34c15dae050 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 17 Apr 2020 10:54:39 +0300 Subject: [PATCH 036/131] Tweaks collar part of sprite --- icons/mob/clothing/uniform.dmi | Bin 405175 -> 405141 bytes icons/obj/clothing/uniforms.dmi | Bin 113628 -> 113616 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/clothing/uniform.dmi b/icons/mob/clothing/uniform.dmi index db1b401dda5e73c0b74f376462c057a8317202f1..1ce8f1746ec41b7e3f98f9268282339e963bfb52 100644 GIT binary patch delta 16454 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 E0huPL>Hq)$ delta 16532 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 Date: Fri, 17 Apr 2020 17:17:50 +0800 Subject: [PATCH 037/131] FIXES IT FINALLY OHHHH MY FUCKING GOD WHY IT WAS SO SIMPLE BUT SO HIDDEN FUCK --- code/datums/components/riding.dm | 34 +++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/code/datums/components/riding.dm b/code/datums/components/riding.dm index c0bdb09014..21dfd41d0b 100644 --- a/code/datums/components/riding.dm +++ b/code/datums/components/riding.dm @@ -72,6 +72,9 @@ var/atom/movable/AM = parent AM.unbuckle_mob(M) +/datum/component/riding/proc/additional_offset_checks() + return TRUE + /datum/component/riding/proc/handle_vehicle_offsets() var/atom/movable/AM = parent var/AM_dir = "[AM.dir]" @@ -83,16 +86,19 @@ var/list/offsets = get_offsets(passindex) var/rider_dir = get_rider_dir(passindex) buckled_mob.setDir(rider_dir) - dir_loop: - for(var/offsetdir in offsets) - if(offsetdir == AM_dir) - var/list/diroffsets = offsets[offsetdir] - buckled_mob.pixel_x = diroffsets[1] - if(diroffsets.len >= 2) - buckled_mob.pixel_y = diroffsets[2] - if(diroffsets.len == 3) - buckled_mob.layer = diroffsets[3] - break dir_loop + for(var/offsetdir in offsets) + if(offsetdir == AM_dir) + var/list/diroffsets = offsets[offsetdir] + buckled_mob.pixel_x = diroffsets[1] + message_admins(diroffsets[1]) + if(diroffsets.len >= 2) + buckled_mob.pixel_y = diroffsets[2] + message_admins(diroffsets[2]) + if(diroffsets.len == 3) + buckled_mob.layer = diroffsets[3] + break + if (!additional_offset_checks()) + return var/list/static/default_vehicle_pixel_offsets = list(TEXT_NORTH = list(0, 0), TEXT_SOUTH = list(0, 0), TEXT_EAST = list(0, 0), TEXT_WEST = list(0, 0)) var/px = default_vehicle_pixel_offsets[AM_dir] var/py = default_vehicle_pixel_offsets[AM_dir] @@ -153,7 +159,6 @@ if(user.incapacitated()) Unbuckle(user) return - if(world.time < last_vehicle_move + ((last_move_diagonal? 2 : 1) * vehicle_move_delay)) return last_vehicle_move = world.time @@ -175,8 +180,8 @@ else last_move_diagonal = FALSE - handle_vehicle_layer() handle_vehicle_offsets() + handle_vehicle_layer() else to_chat(user, "You'll need the keys in one of your hands to [drive_verb] [AM].") @@ -226,6 +231,7 @@ force_dismount(target) /datum/component/riding/human/handle_vehicle_layer() + . = ..() var/atom/movable/AM = parent if(AM.buckled_mobs && AM.buckled_mobs.len) for(var/mob/M in AM.buckled_mobs) //ensure proper layering of piggyback and carry, sometimes weird offsets get applied @@ -250,6 +256,10 @@ else return list(TEXT_NORTH = list(0, 6), TEXT_SOUTH = list(0, 6), TEXT_EAST = list(-6, 4), TEXT_WEST = list( 6, 4)) +/datum/component/riding/human/additional_offset_checks() + var/mob/living/carbon/human/H = parent + return !H.buckled + /datum/component/riding/human/force_dismount(mob/living/user) var/atom/movable/AM = parent AM.unbuckle_mob(user) From 4f6e849af4f471c10be275493651a26f94ad9915 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 17 Apr 2020 14:04:47 +0300 Subject: [PATCH 038/131] Fixes pre-tmp trek suit on-mob icons Really speaks about nobody using trek loadout, huh? --- code/modules/clothing/under/trek.dm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/code/modules/clothing/under/trek.dm b/code/modules/clothing/under/trek.dm index f3006eea31..bc64168142 100644 --- a/code/modules/clothing/under/trek.dm +++ b/code/modules/clothing/under/trek.dm @@ -44,6 +44,7 @@ /obj/item/clothing/under/trek/medsci/next desc = "The uniform worn by medsci officers. This one's from the mid 2360s." icon_state = "trek_next_medsci" + item_state = "b_suit" //ENT @@ -67,34 +68,34 @@ /obj/item/clothing/under/trek/command/voy desc = "The uniform worn by command officers of the 2370s." icon_state = "trek_voy_command" - item_state = "trek_voy_command" + item_state = "r_suit" /obj/item/clothing/under/trek/engsec/voy desc = "The uniform worn by operations officers of the 2370s." icon_state = "trek_voy_engsec" - item_state = "trek_voy_engsec" + item_state = "y_suit" /obj/item/clothing/under/trek/medsci/voy desc = "The uniform worn by medsci officers of the 2370s." icon_state = "trek_voy_medsci" - item_state = "trek_voy_medsci" + item_state = "b_suit" //DS9 /obj/item/clothing/under/trek/command/ds9 desc = "The uniform worn by command officers of the 2380s." icon_state = "trek_ds9_command" - item_state = "trek_ds9_command" + item_state = "r_suit" /obj/item/clothing/under/trek/engsec/ds9 desc = "The uniform worn by operations officers of the 2380s." icon_state = "trek_ds9_engsec" - item_state = "trek_ds9_engsec" + item_state = "y_suit" /obj/item/clothing/under/trek/medsci/ds9 desc = "The uniform undershirt worn by medsci officers of the 2380s." icon_state = "trek_ds9_medsci" - item_state = "trek_ds9_medsci" + item_state = "b_suit" //The Motion Picture /obj/item/clothing/under/trek/fedutil From dcd112c379ce409eb64a4017206b300448e58aa8 Mon Sep 17 00:00:00 2001 From: DeltaFire Date: Fri, 17 Apr 2020 13:34:34 +0200 Subject: [PATCH 039/131] Hm yes maybe no ratting out would be nice What it says on the tin. --- code/game/gamemodes/gangs/gang.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/gangs/gang.dm b/code/game/gamemodes/gangs/gang.dm index fa25701ac4..b65804a723 100644 --- a/code/game/gamemodes/gangs/gang.dm +++ b/code/game/gamemodes/gangs/gang.dm @@ -31,7 +31,7 @@ /datum/antagonist/gang/farewell() if(ishuman(owner.current)) owner.current.visible_message("[owner.current] looks like [owner.current.p_theyve()] just remembered [owner.current.p_their()] real allegiance!", null, null, null, owner.current) - to_chat(owner, "You are no longer a gangster!") + to_chat(owner, "You are no longer a gangster! Your memories from the time you were in a gang are hazy... You don't seem to be able to recall the names of your previous allies, not even your bosses...") /datum/antagonist/gang/on_gain() if(!gang) From 9d312d7fef6d54cd63aef7b1bbfbd450bf853fb0 Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Fri, 17 Apr 2020 13:59:48 +0100 Subject: [PATCH 040/131] small refactor to some stuff quality_increase no longer passed to microwave_act because it's defined in obj/machinery/microwave deepfryer code uses adjust_food_quality in a place where it didn't before --- code/modules/food_and_drinks/food/snacks.dm | 4 ++-- code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm | 2 +- code/modules/food_and_drinks/kitchen_machinery/microwave.dm | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index 6274a70d0e..7b914e2e2f 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -297,7 +297,7 @@ All foods are distributed among various categories. Use common sense. else S.reagents.add_reagent(r_id, amount) -/obj/item/reagent_containers/food/snacks/microwave_act(obj/machinery/microwave/M, var/quality_increase) +/obj/item/reagent_containers/food/snacks/microwave_act(obj/machinery/microwave/M) var/turf/T = get_turf(src) var/obj/item/result if(cooked_type) @@ -305,7 +305,7 @@ All foods are distributed among various categories. Use common sense. //if the result is food, set its food quality to the original food item's quality if(isfood(result)) var/obj/item/reagent_containers/food/food_output = result - food_output.adjust_food_quality(food_quality + quality_increase) + food_output.adjust_food_quality(food_quality + M.quality_increase) if(istype(M)) initialize_cooked_food(result, M.efficiency) else diff --git a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm index e42ad07c26..0a3d172bb0 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm @@ -109,7 +109,7 @@ God bless America. var/obj/item/reagent_containers/food/original_food = I frying.adjust_food_quality(original_food.food_quality) //food quality remains unchanged until degree of frying is calculated else - frying.food_quality = 10 //inedible fried item has low quality + frying.adjust_food_quality(10) //inedible fried item has low quality icon_state = "fryer_on" fry_loop.start() diff --git a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm index 9edcaf083c..3b0ae52578 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm @@ -310,7 +310,7 @@ var/metal = 0 for(var/obj/item/O in ingredients) - O.microwave_act(src, quality_increase) + O.microwave_act(src) if(O.custom_materials?.len) metal += O.custom_materials[SSmaterials.GetMaterialRef(/datum/material/iron)] From eafc69aa6513ad135aee36f8120d8b13e0789bca Mon Sep 17 00:00:00 2001 From: Artur Date: Fri, 17 Apr 2020 16:22:15 +0300 Subject: [PATCH 041/131] Reviewer suggestion, reduces paralyze And ports that commit that ghommie said --- code/datums/components/crafting/recipes.dm | 8 ------- .../crafting/recipes/recipes_clothing.dm | 13 +++++++++++ code/datums/components/tackle.dm | 23 ++++++++++--------- code/game/gamemodes/clown_ops/clown_ops.dm | 2 +- code/game/gamemodes/nuclear/nuclear.dm | 2 +- .../bloodsucker/powers/fortitude.dm | 1 - code/modules/clothing/gloves/miscellaneous.dm | 2 +- code/modules/clothing/gloves/tacklers.dm | 2 +- code/modules/clothing/outfits/ert.dm | 2 +- code/modules/mob/living/carbon/carbon.dm | 2 +- .../uplink/uplink_items/uplink_clothing.dm | 9 +++++++- 11 files changed, 39 insertions(+), 27 deletions(-) diff --git a/code/datums/components/crafting/recipes.dm b/code/datums/components/crafting/recipes.dm index a87496a212..bc76082f0a 100644 --- a/code/datums/components/crafting/recipes.dm +++ b/code/datums/components/crafting/recipes.dm @@ -24,11 +24,3 @@ /datum/crafting_recipe/proc/check_requirements(mob/user, list/collected_requirements) return TRUE -/datum/crafting_recipe/gripperoffbrand - name = "Improvised Gripper Gloves" - reqs = list( - /obj/item/clothing/gloves/fingerless = 1 - // /obj/item/stack/sticky_tape = 1 - ) - result = /obj/item/clothing/gloves/tackler/offbrand - category = CAT_CLOTHING diff --git a/code/datums/components/crafting/recipes/recipes_clothing.dm b/code/datums/components/crafting/recipes/recipes_clothing.dm index b9e3c379b4..b065ce2f25 100644 --- a/code/datums/components/crafting/recipes/recipes_clothing.dm +++ b/code/datums/components/crafting/recipes/recipes_clothing.dm @@ -303,3 +303,16 @@ /obj/item/stack/cable_coil = 10) time = 100 //Takes awhile to put all the garlics on the coil and knot it. category = CAT_CLOTHING + +/datum/crafting_recipe/gripperoffbrand + name = "Improvised Gripper Gloves" + reqs = list( + /obj/item/clothing/gloves/fingerless = 1, + // /obj/item/stack/sticky_tape = 1 + /obj/item/stack/cable_coil = 5, + /obj/item/stack/sheet/cloth = 2, + ) + result = /obj/item/clothing/gloves/tackler/offbrand + category = CAT_CLOTHING + tools = list(TOOL_WIRECUTTER) + time = 20 diff --git a/code/datums/components/tackle.dm b/code/datums/components/tackle.dm index 8ffa6c5452..1134f310aa 100644 --- a/code/datums/components/tackle.dm +++ b/code/datums/components/tackle.dm @@ -84,8 +84,8 @@ to_chat(user, "You're not ready to tackle!") return - if(user.has_status_effect(STATUS_EFFECT_TASED)) // can't tackle if you just got shoved - to_chat(user, "You cant tackle while you are tased!") + if(user.has_status_effect(STATUS_EFFECT_TASED)) // can't tackle if you just got tased + to_chat(user, "You can't tackle while tased!") return user.face_atom(A) @@ -353,7 +353,7 @@ if(94 to 98) user.visible_message("[user] slams face-first into [hit] with a concerning squish, immediately going limp!", "You slam face-first into [hit], and immediately lose consciousness!") - user.adjustStaminaLoss(30) + user.adjustStaminaLoss(100) user.adjustBruteLoss(30) user.Unconscious(100) user.gain_trauma_type(BRAIN_TRAUMA_MILD) @@ -370,7 +370,7 @@ if(prob(80)) user.gain_trauma(/datum/brain_trauma/mild/concussion) user.playsound_local(get_turf(user), 'sound/weapons/flashbang.ogg', 100, TRUE, 8, 0.9) - user.Knockdown(40) + user.DefaultCombatKnockdown(40) shake_camera(user, 5, 5) user.overlay_fullscreen("flash", /obj/screen/fullscreen/flash) user.clear_fullscreen("flash", 2.5) @@ -380,14 +380,14 @@ user.adjustStaminaLoss(30) user.adjustBruteLoss(10) user.confused += 10 - user.Knockdown(30) + user.DefaultCombatKnockdown(30) shake_camera(user, 3, 4) if(1 to 63) user.visible_message("[user] slams into [hit]!", "You slam into [hit]!") user.adjustStaminaLoss(20) user.adjustBruteLoss(10) - user.Knockdown(30) + user.DefaultCombatKnockdown(30) shake_camera(user, 2, 2) playsound(user, 'sound/weapons/smash.ogg', 70, TRUE) @@ -413,13 +413,14 @@ //shard.AddElement(/datum/element/embed, shard.embedding) W.obj_destruction() user.adjustStaminaLoss(10 * speed) - user.Paralyze(30) + user.DefaultCombatKnockdown(40) + user.Paralyze(5) user.visible_message("[user] slams into [W] and shatters it, shredding [user.p_them()]self with glass!", "You slam into [W] and shatter it, shredding yourself with glass!") else user.visible_message("[user] slams into [W] like a bug, then slowly slides off it!", "You slam into [W] like a bug, then slowly slide off it!") - user.Paralyze(10) - user.Knockdown(30) + user.Paralyze(2) + user.DefaultCombatKnockdown(20) W.take_damage(20 * speed) user.adjustStaminaLoss(10 * speed) user.adjustBruteLoss(5 * speed) @@ -464,8 +465,8 @@ owner.visible_message("[owner] trips over [kevved] and slams into it face-first[HOW_big_of_a_miss_did_we_just_make]!", "You trip over [kevved] and slam into it face-first[HOW_big_of_a_miss_did_we_just_make]!") owner.adjustStaminaLoss(20 + messes.len * 2) owner.adjustBruteLoss(10 + messes.len) - owner.Paralyze(5 * messes.len) // half a second of paralyze for each thing you knock around - owner.Knockdown(20 + 5 * messes.len) // 2 seconds of knockdown after the paralyze + owner.Paralyze(2 * messes.len) + owner.DefaultCombatKnockdown(20 + 5 * messes.len) // 2 seconds of knockdown after the paralyze for(var/obj/item/I in messes) var/dist = rand(1, 3) diff --git a/code/game/gamemodes/clown_ops/clown_ops.dm b/code/game/gamemodes/clown_ops/clown_ops.dm index d0914b8d8f..11898701fa 100644 --- a/code/game/gamemodes/clown_ops/clown_ops.dm +++ b/code/game/gamemodes/clown_ops/clown_ops.dm @@ -37,7 +37,7 @@ uniform = /obj/item/clothing/under/syndicate shoes = /obj/item/clothing/shoes/clown_shoes/combat mask = /obj/item/clothing/mask/gas/clown_hat - gloves = /obj/item/clothing/gloves/tackler/combat/insulated + gloves = /obj/item/clothing/gloves/combat back = /obj/item/storage/backpack/clown ears = /obj/item/radio/headset/syndicate/alt l_pocket = /obj/item/pinpointer/nuke/syndicate diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index 5da95bbd3a..93852e917c 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -120,7 +120,7 @@ uniform = /obj/item/clothing/under/syndicate shoes = /obj/item/clothing/shoes/combat - gloves = /obj/item/clothing/gloves/tackler/combat/insulated + gloves = /obj/item/clothing/gloves/combat ears = /obj/item/radio/headset/syndicate/alt l_pocket = /obj/item/pinpointer/nuke/syndicate id = /obj/item/card/id/syndicate diff --git a/code/modules/antagonists/bloodsucker/powers/fortitude.dm b/code/modules/antagonists/bloodsucker/powers/fortitude.dm index bae802c176..76f3cc77a4 100644 --- a/code/modules/antagonists/bloodsucker/powers/fortitude.dm +++ b/code/modules/antagonists/bloodsucker/powers/fortitude.dm @@ -31,7 +31,6 @@ was_running = (user.m_intent == MOVE_INTENT_RUN) if(was_running) user.toggle_move_intent() - was_running = TRUE while(B && ContinueActive(user) || user.m_intent == MOVE_INTENT_RUN) if(istype(user.buckled, /obj/vehicle)) //We dont want people using fortitude being able to use vehicles var/obj/vehicle/V = user.buckled diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm index 8bdaeefb8b..a37dc8b638 100644 --- a/code/modules/clothing/gloves/miscellaneous.dm +++ b/code/modules/clothing/gloves/miscellaneous.dm @@ -154,7 +154,7 @@ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 30) strip_mod = 0.9 -/obj/item/clothing/gloves/tackler/combat/insulated +/obj/item/clothing/gloves/combat name = "combat gloves" desc = "These tactical gloves are fireproof and shock resistant." icon_state = "combat" diff --git a/code/modules/clothing/gloves/tacklers.dm b/code/modules/clothing/gloves/tacklers.dm index f11c7ccd6b..54a7b28d5f 100644 --- a/code/modules/clothing/gloves/tacklers.dm +++ b/code/modules/clothing/gloves/tacklers.dm @@ -70,7 +70,7 @@ resistance_flags = NONE /obj/item/clothing/gloves/tackler/combat/insulated - name = "guerilla gloves" + name = "guerrilla gloves" desc = "Superior quality combative gloves, good for performing tackle takedowns as well as absorbing electrical shocks." siemens_coefficient = 0 permeability_coefficient = 0.05 diff --git a/code/modules/clothing/outfits/ert.dm b/code/modules/clothing/outfits/ert.dm index 43df2eec2f..7cd2e9b394 100644 --- a/code/modules/clothing/outfits/ert.dm +++ b/code/modules/clothing/outfits/ert.dm @@ -69,8 +69,8 @@ id = /obj/item/card/id/ert/Security suit = /obj/item/clothing/suit/space/hardsuit/ert/sec glasses = /obj/item/clothing/glasses/hud/security/sunglasses - gloves = /obj/item/clothing/gloves/tackler/combat/insulated belt = /obj/item/storage/belt/security/full + back = /obj/item/storage/backpack/security backpack_contents = list(/obj/item/storage/box/engineer=1,\ /obj/item/storage/box/handcuffs=1,\ /obj/item/clothing/mask/gas/sechailer=1,\ diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index a1fc5edcd3..75908888f2 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -98,7 +98,7 @@ /mob/living/carbon/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) . = ..() var/hurt = TRUE - if(src.GetComponent(/datum/component/tackler)) + if(GetComponent(/datum/component/tackler)) return if(throwingdatum?.thrower && iscyborg(throwingdatum.thrower)) var/mob/living/silicon/robot/R = throwingdatum.thrower diff --git a/code/modules/uplink/uplink_items/uplink_clothing.dm b/code/modules/uplink/uplink_items/uplink_clothing.dm index d6336bd982..014e0452b5 100644 --- a/code/modules/uplink/uplink_items/uplink_clothing.dm +++ b/code/modules/uplink/uplink_items/uplink_clothing.dm @@ -89,4 +89,11 @@ name = "Wall Walking Boots" desc = "Through bluespace magic stolen from an organisation that hoards technology, these boots simply allow you to slip through the atoms that make up anything, but only while walking, for safety reasons. As well as this, they unfortunately cause minor breath loss as the majority of atoms in your lungs are sucked out into any solid object you walk through." item = /obj/item/clothing/shoes/wallwalkers - cost = 6 \ No newline at end of file + cost = 6 + +/datum/uplink_item/device_tools/guerillagloves + name = "Guerilla Gloves" + desc = "A pair of highly robust combat gripper gloves that excels at performing takedowns at close range, with an added lining of insulation. Careful not to hit a wall!" + item = /obj/item/clothing/gloves/tackler/combat/insulated + include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + cost = 2 From 761b3907e370c5ff4d44dfee2c5ddbef86dc3fef Mon Sep 17 00:00:00 2001 From: Putnam Date: Fri, 17 Apr 2020 09:10:08 -0700 Subject: [PATCH 042/131] Makes vore noises, enlargement opt-in --- code/__DEFINES/citadel_defines.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/__DEFINES/citadel_defines.dm b/code/__DEFINES/citadel_defines.dm index 578255d086..82dc87e465 100644 --- a/code/__DEFINES/citadel_defines.dm +++ b/code/__DEFINES/citadel_defines.dm @@ -99,7 +99,7 @@ #define NO_ASS_SLAP (1<<10) #define BIMBOFICATION (1<<11) -#define TOGGLES_CITADEL (EATING_NOISES|DIGESTION_NOISES|BREAST_ENLARGEMENT|PENIS_ENLARGEMENT) +#define TOGGLES_CITADEL 0 //component stuff #define COMSIG_VORE_TOGGLED "voremode_toggled" // totally not copypasta From d8422d4f93ab89f67a6b0e54314b1cd325d0988f Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 17 Apr 2020 19:28:06 +0300 Subject: [PATCH 043/131] Tweaks up TMP-era uniform a little bit more --- icons/mob/clothing/uniform.dmi | Bin 405141 -> 405282 bytes icons/mob/clothing/uniform_digi.dmi | Bin 347193 -> 347212 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/clothing/uniform.dmi b/icons/mob/clothing/uniform.dmi index 1ce8f1746ec41b7e3f98f9268282339e963bfb52..83e3e0034be1a6518898fb1cd9a79b1cbb9b2c66 100644 GIT binary patch delta 17579 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 delta 17427 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Μ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 diff --git a/icons/mob/clothing/uniform_digi.dmi b/icons/mob/clothing/uniform_digi.dmi index d4c3086946a4af86e9d9cfe8c0d896aedaa8d4dc..0b1e6233403448047b2c1400471e5b4cffc540c5 100644 GIT binary patch delta 141099 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�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

q`mF`wvsXsyjMKImG6GuMa`I6 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

tT&(D!-%h&t4S# zeX-*nK;L_fZx%Y+K#gMtsCyjMn4UZddifI5pvF}!;4_7@gy~)94gVfrvyo%}&l3*X z>lOQQky$!Ck5#N{3+?rb-1X5{@+xEXc}SN*zI|dK%-6Q&y;yTM!FAKgsi~e5 zw1CozRw{)4_Tgx;=5n5QeIv4GK$$hDBY=!U#~E6>D}t)^hGbOpZ6hTLw}!hiqaCw- zK7znnsKgOxB$X-u%Fh}^x z{(4`GXgw^W^|q5!eto>ud^zFECvH04wV%Hcx!2{(m&m0|PZ7IBMTA*IIfpcmN0>PE zg@|tPbOCkY+PB;3PC&Z= zUQ`Yp4b2O%327Uz5P_+8Mh-+pc~C^7I>K|Ia`O`->^u6!>&vwj4(FY-y3-D_8;cWJ z%P5{O%oCrL*p8DC>Gu8Hzp0#Pf8Z>h`yGg4e>tf&)qW%E)|sF|DO}fC+Q;9o2O*Kgn_n^XhiGlzXb#v&8OR~ z`8zcS8YV;~ykwlU-<&69(Hb^#r z{eVnlr1zZs?>VdAKTT>rC3tBCBgXCy&|uMNmBc2<>;v&Ej$SMZcwv{YN50cGM!tio zK0LNIt>faOGoVuaLia8rLAdi1G=$l}9)})0PoF7r27kcF=dy3}GsT3iiT`yVNQ8;` zRUv34j2TH7_1A$!0wJ;z8x^&Kv+xqUg_FuTOU=zu(wFiLU@ms;bAB3ZWEt&7HBvHQ!u`G+dUhOAJ?29rqWUaAy6- zM~`;(kkwat+HF}Wd22;y9c=1dC1C>jOy$mfhz1mwmXe1S4tfr2AfUYK&S=o$U1Lt> z>~nMMAUL&OY5pQ`$u#x0$3 z2;gd$U;$Y!1EAaRG?qF`$SN1^FMr!@H$5nf_nF%U*GT}oIn zlS05+Af1A`dO&?ELHh*(e($+Q403S$9_eySZ!f~vfWb8Vq0_>{2oD%vVv^1zy%fWZ zOR{!N^(PGo5{!@~AlcaD&H2p6m@oRpL_AOGgBCKnD<~03M--d4VZQ4sDr`Mvs!X0w zqt2djkB1}!Kfv=w+*MbaXfshObJj77vNJ)j?(Dif7+`*gCyA0W>3EcQ5{o>84VhDS z>WL`8=?|~^sKs-K+7-Ka*r`!Z2y+oV)XTW0OyvWyo}&hSDURF8)6;X(j+8J0+l5k5 z<9NYvJuPSAp~f2ue>xic1TAd~@7^8PcxaL!9AY;S@K#mz`c595uEOBn(C6%0+?$Yw zm1&oZ*$`ECi7iIgCO7`UD)}uWUO4)++eb|S9VuV{;MtVG2IijZpT0qXzeU1fE$8D; zTvS~><67AC79X@Pe4!ws7cVhlCz*Aj_Ys`FXsH+*C?McZb-X%ySPtR2>9%ZM{+xE} zpKFJNIku^bT-bn+aIvt$lW`Mj8GXechxZu@i=Lul|4m-5EBRCdvLf` zF=NfIo{60u`7 zH}^M(3qkMl6`*eTlj1(tU;73>qJh&W7`(3Ca&JIlyAh})Fq+1AJ_O%Gn`>)zniuQd|0@3V%k6&n8xhHXRklOXCl3XL%``Z~!6P?GH`zmh zaJ4!6+pX6;)!EW9GK%i(l&RBeU8>7GPYF9lz{i+m0GHnB-eZ6IP3>8iK&x9B4Lo>3y_B7l&!G69FeHA^`5T4w!O4ThOONRRLa;0H$6ejr&m_b7mg1z{ zcZeY&R_Yl*=solFFL>5QHh%duah#CRUCd3C*G`7?FbRSLU@=X7eSQxwmL_qPz8l$a zNfp7n(m}P!JL~KW`I}mlT`1d>Arni)9T)I@jMWK+DuVn&*#Uv0d?7laMB(Rkyd>7GiE2b#OxQf+7_H}hK zt*SwX=+vTKy@EEPZ8LE9=M41i0^9G;f3F-9`qL3pvwDsOvdr8(Q$Tv;@OZxdm{akb z)2Lh59b-JGN&>iazWSny^ZU8b>T6Bq*~MoI=BG3gq98&CJoB(SUTy#asKfAk>cdHT z{PYqtXbQ(eaOqm~M*h4-8Z%3o>>=WE^L=9Yi2!boWzuEJ9V*Y@d6BXb17e`AnT0Q0 zhjs*DP%TO#IT}21YW2cJa(~LR`|ftH$XMk~!8cnkohOcCw}IV=*b>GPl}EG?L`(;t zWRwC{4kBB~N*hoS52C1jRK(00Y&8f?oK*m#GIiiUwBBtl4_O*BIua&d;&4Bf0*CM*C~1N(VkL zPL@<%cPjJ64@@tXJItD7L)oq&{v3^mP9#e{v-uOn zd^8SAsR{nDtWXo!!ffz0*&CEFwIvs z;kLouOOH-MBBRifb8|Vh?7+Ac(KwJG%A2ZUCO=9rhf$EyEjoG} z%TMf+k#5e$a}^a8r3?*e%q=W@w2QNVhLSIe+^}nFxV?p;{pD z`tjyfsCmlkrBP}p!p&4ZM^q&aD85|A#mwt@*1ZeT*rQeRgm`q_M7p-6%-TJZ7kYMy zu|>IGA|B~zejHv&<@D{Fn^;*!I9$AsftH@l6GS$t{?Dm(v-Ds3Xv<2OxeW-YKW8m7@va3z<_9Iv+-(}{z8;q!n);nY= zd+^Z-77yF%Me@7=`O>Y+MA_v1TFB;TGGxJ5Mu7`Mf*1FiDr}8WhFjNry#BDjkdRH~nuZ_B7HFRDCj*?}jKaJF}3Si?wt*M#8 z#EX%tB|-?%lg22zclxWg?3;XP7gpUjU`4NoSN`vjFl_lel*!+*e)#*n4V{2=zN<#I?Q@ z`xp`9s7M6u|C9Ha!Lknd|I;3y{*Bl{WJjv*6h9iQe@+o~WB>E#40S4>2OfUEczs{)kj zVwSkkR~iNG3<&k5r|6%q)3Q2SkF%Z5MtwaH>U$R-ZoJ`wY*-3;2(MlouDVmkvap>l zewToEpMWo^y+|5QQ)eJ1wz)g=oLtu}j_X`Ic2u0P-S!L|VY|K)5xHu5?oDmZwj7l` zy7P*_sDi7~)9FaV`-Ta;zye4=g0U`L{^+}3%!zJ4p-k@=A{%0D{xbAuF?_7xn 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 J$v=DZzW|r)Q!)Sm From cf505f900a9244183cfb4fc9d1eb731c8bdf6840 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sat, 18 Apr 2020 03:29:45 +0200 Subject: [PATCH 044/131] Update atoms.dm --- code/game/atoms.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 44a891e24a..d66ddf59de 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -397,13 +397,13 @@ //returns the mob's dna info as a list, to be inserted in an object's blood_DNA list /mob/living/proc/get_blood_dna_list() var/blood_id = get_blood_id() - if(!(blood_id =="blood" || blood_id == "jellyblood")) + if(!(blood_id in blood_reagent_types)) return return list("ANIMAL DNA" = "Y-") /mob/living/carbon/get_blood_dna_list() var/blood_id = get_blood_id() - if(!(blood_id =="blood" || blood_id == "jellyblood")) + if(!(blood_id in blood_reagent_types)) return var/list/blood_dna = list() if(dna) From 3188ef3475e677abac8bbc159c7fea9d1b406e75 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sat, 18 Apr 2020 03:32:54 +0200 Subject: [PATCH 045/131] Whops --- code/game/atoms.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index d66ddf59de..40090c35c5 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -397,13 +397,13 @@ //returns the mob's dna info as a list, to be inserted in an object's blood_DNA list /mob/living/proc/get_blood_dna_list() var/blood_id = get_blood_id() - if(!(blood_id in blood_reagent_types)) + if(!(blood_id in GLOB.blood_reagent_types)) return return list("ANIMAL DNA" = "Y-") /mob/living/carbon/get_blood_dna_list() var/blood_id = get_blood_id() - if(!(blood_id in blood_reagent_types)) + if(!(blood_id in GLOB.blood_reagent_types)) return var/list/blood_dna = list() if(dna) From c8ce60c856daabd9c3f27827ae079560bd9c2266 Mon Sep 17 00:00:00 2001 From: Putnam Date: Fri, 17 Apr 2020 18:46:09 -0700 Subject: [PATCH 046/131] Added back some vore default modes. --- code/modules/mob/living/simple_animal/simplemob_vore_values.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/modules/mob/living/simple_animal/simplemob_vore_values.dm b/code/modules/mob/living/simple_animal/simplemob_vore_values.dm index 58b08db801..3c911c1fcf 100644 --- a/code/modules/mob/living/simple_animal/simplemob_vore_values.dm +++ b/code/modules/mob/living/simple_animal/simplemob_vore_values.dm @@ -33,6 +33,7 @@ //STATION PETS /mob/living/simple_animal/pet vore_flags = DEVOURABLE | DIGESTABLE | FEEDING + vore_default_mode = DM_HOLD /mob/living/simple_animal/sloth vore_flags = DEVOURABLE | DIGESTABLE @@ -43,10 +44,12 @@ //HOSTILE MOBS /mob/living/simple_animal/hostile/retaliate/goat vore_flags = DEVOURABLE | DIGESTABLE | FEEDING + vore_default_mode = DM_HOLD /mob/living/simple_animal/hostile/lizard vore_flags = DEVOURABLE | DIGESTABLE | FEEDING + vore_default_mode = DM_DIGEST /mob/living/simple_animal/hostile/alien vore_flags = FEEDING From d90e490baeebd30ff540f6b15d404500ec903936 Mon Sep 17 00:00:00 2001 From: Putnam Date: Fri, 17 Apr 2020 18:57:36 -0700 Subject: [PATCH 047/131] Aaand updated with master --- .../modules/mob/living/silicon/robot/dogborg_equipment.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm b/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm index b0b18e63a0..742ef6c9aa 100644 --- a/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm +++ b/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm @@ -268,7 +268,7 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! else if(isliving(target)) var/mob/living/L = target if(!status) - if(L.ckey && !(L.client?.prefs.lickable)) + if(L.ckey && !(L.client?.prefs.vore_flags & LICKABLE)) to_chat(R, "ERROR ERROR: Target not lickable. Aborting display-of-affection subroutine.") return if(check_zone(R.zone_selected) == "head") @@ -327,7 +327,7 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! return var/mob/living/silicon/robot/R = user var/mob/living/L = target - if(L.ckey && !(L.client?.prefs.lickable)) + if(L.ckey && !(L.client?.prefs.vore_flags & LICKABLE)) to_chat(R, "ERROR ERROR: Target not lickable. Aborting display-of-affection subroutine.") return From 14a5985891de882a99539a41ffacfe071329a181 Mon Sep 17 00:00:00 2001 From: Putnam Date: Fri, 17 Apr 2020 23:00:05 -0700 Subject: [PATCH 048/131] Adds more service stuff to lathes. --- code/modules/research/designs/misc_designs.dm | 29 ++++++++++++++++--- code/modules/research/techweb/all_nodes.dm | 4 +-- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/code/modules/research/designs/misc_designs.dm b/code/modules/research/designs/misc_designs.dm index c18c33b04b..04b7bbc668 100644 --- a/code/modules/research/designs/misc_designs.dm +++ b/code/modules/research/designs/misc_designs.dm @@ -293,20 +293,20 @@ name = "Broom" desc = "Just your everyday standard broom." id = "broom" - build_type = PROTOLATHE + build_type = PROTOLATHE | AUTOLATHE materials = list(/datum/material/iron = 1000, /datum/material/glass = 600) build_path = /obj/item/twohanded/broom - category = list("Equipment") + category = list("initial", "Equipment", "Misc") departmental_flags = DEPARTMENTAL_FLAG_SERVICE /datum/design/mop name = "Mop" desc = "Just your everyday standard mop." id = "mop" - build_type = PROTOLATHE + build_type = PROTOLATHE | AUTOLATHE materials = list(/datum/material/iron = 1200, /datum/material/glass = 100) build_path = /obj/item/mop - category = list("Equipment") + category = list("initial", "Equipment", "Misc") departmental_flags = DEPARTMENTAL_FLAG_SERVICE /datum/design/advmop @@ -329,6 +329,16 @@ category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SERVICE +/datum/design/normtrash + name = "Trashbag" + desc = "It's a bag for trash, you put garbage in it." + id = "normtrash" + build_type = PROTOLATHE + materials = list(/datum/material/plastic = 2000) + build_path = /obj/item/storage/bag/trash + category = list("Equipment") + departmental_flags = DEPARTMENTAL_FLAG_SERVICE + /datum/design/blutrash name = "Trashbag of Holding" desc = "An advanced trash bag with bluespace properties; capable of holding a plethora of garbage." @@ -349,6 +359,17 @@ category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SERVICE +/datum/design/paint_remover + name = "Paint Remover" + desc = "Removes stains from the floor, and not much else." + id = "paint_remover" + build_type = PROTOLATHE + materials = list(/datum/material/iron = 1000) + reagents_list = list(/datum/reagent/acetone = 60) + build_path = /obj/item/paint/paint_remover + category = list("Equipment") + departmental_flags = DEPARTMENTAL_FLAG_SERVICE + /datum/design/spraybottle name = "Spray Bottle" desc = "A spray bottle, with an unscrewable top." diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index dafa119873..285be25f9b 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -544,7 +544,7 @@ display_name = "Basic Tools" description = "Basic mechanical, electronic, surgical and botanical tools." prereq_ids = list("base") - design_ids = list("screwdriver", "wrench", "wirecutters", "crowbar", "multitool", "welding_tool", "tscanner", "analyzer", "cable_coil", "pipe_painter", "airlock_painter", "scalpel", "circular_saw", "surgicaldrill", "retractor", "cautery", "hemostat", "cultivator", "plant_analyzer", "shovel", "spade", "hatchet", "mop", "broom") + design_ids = list("screwdriver", "wrench", "wirecutters", "crowbar", "multitool", "welding_tool", "tscanner", "analyzer", "cable_coil", "pipe_painter", "airlock_painter", "scalpel", "circular_saw", "surgicaldrill", "retractor", "cautery", "hemostat", "cultivator", "plant_analyzer", "shovel", "spade", "hatchet", "mop", "broom", "normtrash") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 500) /datum/techweb_node/basic_mining @@ -568,7 +568,7 @@ display_name = "Advanced Sanitation Technology" description = "Clean things better, faster, stronger, and harder!" prereq_ids = list("adv_engi") - design_ids = list("advmop", "buffer", "light_replacer", "spraybottle", "beartrap", "ci-janitor") + design_ids = list("advmop", "buffer", "light_replacer", "spraybottle", "beartrap", "ci-janitor", "paint_remover") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1750) // No longer has its bag /datum/techweb_node/botany From cc82f08ebcf59f9c6e98567767aab3938fbb6d49 Mon Sep 17 00:00:00 2001 From: Seris02 Date: Sat, 18 Apr 2020 18:28:35 +0800 Subject: [PATCH 049/131] weh --- code/datums/components/storage/ui.dm | 2 +- code/modules/client/preferences.dm | 3 +++ code/modules/client/preferences_savefile.dm | 7 +++++-- modular_citadel/code/modules/client/preferences.dm | 1 + 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/code/datums/components/storage/ui.dm b/code/datums/components/storage/ui.dm index c1c049dfd3..d1df47390e 100644 --- a/code/datums/components/storage/ui.dm +++ b/code/datums/components/storage/ui.dm @@ -198,7 +198,7 @@ M.active_storage.ui_hide(M) M.active_storage = src LAZYOR(is_using, M) - if(volumetric_ui()) + if(!M.client?.prefs?.no_tetris_storage && volumetric_ui()) //new volumetric ui bay-style M.client.screen |= orient2hud_volumetric(M, maxallowedscreensize) else diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index d44b2ffa04..c452b9db60 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -866,6 +866,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Widescreen: [widescreenpref ? "Enabled ([CONFIG_GET(string/default_view)])" : "Disabled (15x15)"]
" dat += "Auto stand: [autostand ? "Enabled" : "Disabled"]
" dat += "Auto OOC: [auto_ooc ? "Enabled" : "Disabled"]
" + dat += "Force Slot Storage HUD: [no_tetris_storage ? "Enabled" : "Disabled"]
" dat += "Screen Shake: [(screenshake==100) ? "Full" : ((screenshake==0) ? "None" : "[screenshake]")]
" if (user && user.client && !user.client.prefs.screenshake==0) dat += "Damage Screen Shake: [(damagescreenshake==1) ? "On" : ((damagescreenshake==0) ? "Off" : "Only when down")]
" @@ -2204,6 +2205,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) autostand = !autostand if("auto_ooc") auto_ooc = !auto_ooc + if("no_tetris_storage") + no_tetris_storage = !no_tetris_storage if ("screenshake") var/desiredshake = input(user, "Set the amount of screenshake you want. \n(0 = disabled, 100 = full, 200 = maximum.)", "Character Preference", screenshake) as null|num if (!isnull(desiredshake)) diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 6d99ef63aa..ea78b05f76 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -231,7 +231,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car S["autostand"] >> autostand S["cit_toggles"] >> cit_toggles S["preferred_chaos"] >> preferred_chaos - S["auto_ooc"] >> auto_ooc + S["auto_ooc"] >> auto_ooc + S["no_tetris_storage"] >> no_tetris_storage //try to fix any outdated data if necessary @@ -268,10 +269,11 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car pda_skin = sanitize_inlist(pda_skin, GLOB.pda_reskins, PDA_SKIN_ALT) screenshake = sanitize_integer(screenshake, 0, 800, initial(screenshake)) damagescreenshake = sanitize_integer(damagescreenshake, 0, 2, initial(damagescreenshake)) - widescreenpref = sanitize_integer(widescreenpref, 0, 1, initial(widescreenpref)) + widescreenpref = sanitize_integer(widescreenpref, 0, 1, initial(widescreenpref)) autostand = sanitize_integer(autostand, 0, 1, initial(autostand)) cit_toggles = sanitize_integer(cit_toggles, 0, 65535, initial(cit_toggles)) auto_ooc = sanitize_integer(auto_ooc, 0, 1, initial(auto_ooc)) + no_tetris_storage = sanitize_integer(no_tetris_storage, 0, 1, initial(no_tetris_storage)) return 1 @@ -336,6 +338,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car WRITE_FILE(S["cit_toggles"], cit_toggles) WRITE_FILE(S["preferred_chaos"], preferred_chaos) WRITE_FILE(S["auto_ooc"], auto_ooc) + WRITE_FILE(S["no_tetris_storage"], no_tetris_storage) return 1 diff --git a/modular_citadel/code/modules/client/preferences.dm b/modular_citadel/code/modules/client/preferences.dm index 8c55f2d9a8..6658d96cc3 100644 --- a/modular_citadel/code/modules/client/preferences.dm +++ b/modular_citadel/code/modules/client/preferences.dm @@ -16,6 +16,7 @@ var/widescreenpref = TRUE var/autostand = TRUE var/auto_ooc = FALSE + var/no_tetris_storage = FALSE //vore prefs var/toggleeatingnoise = TRUE From 85c5548d1a0c5d23a02345f0b671d02ae2e03914 Mon Sep 17 00:00:00 2001 From: Artur Date: Sat, 18 Apr 2020 13:49:06 +0300 Subject: [PATCH 050/131] Ports https://github.com/tgstation/tgstation/pull/50521/ --- code/datums/components/tackle.dm | 38 ++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/code/datums/components/tackle.dm b/code/datums/components/tackle.dm index 1134f310aa..0f5cd7039c 100644 --- a/code/datums/components/tackle.dm +++ b/code/datums/components/tackle.dm @@ -98,10 +98,11 @@ RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/checkObstacle) playsound(user, 'sound/weapons/thudswoosh.ogg', 40, TRUE, -1) + var/leap_word = isfelinid(user) ? "pounce" : "leap" ///If cat, "pounce" instead of "leap". if(can_see(user, A, 7)) - user.visible_message("[user] leaps at [A]!", "You leap at [A]!") + user.visible_message("[user] [leap_word]s at [A]!", "You [leap_word] at [A]!") else - user.visible_message("[user] leaps!", "You leap!") + user.visible_message("[user] [leap_word]s!", "You [leap_word]!") if(get_dist(user, A) < min_distance) A = get_ranged_target_turf(user, get_dir(user, A), min_distance) //TODO: this only works in cardinals/diagonals, make it work with in-betweens too! @@ -143,14 +144,18 @@ return var/mob/living/carbon/target = hit + var/mob/living/carbon/human/T = target + var/mob/living/carbon/human/S = user + var/tackle_word = isfelinid(user) ? "pounce" : "tackle" ///If cat, "pounce" instead of "tackle". var/roll = rollTackle(target) user.tackling = FALSE switch(roll) if(-INFINITY to -5) - user.visible_message("[user] botches [user.p_their()] tackle and slams [user.p_their()] head into [target], knocking [user.p_them()]self silly!", "You botch your tackle and slam your head into [target], knocking yourself silly!", target) - to_chat(target, "[user] botches [user.p_their()] tackle and slams [user.p_their()] head into you, knocking [user.p_them()]self silly!") + user.visible_message("[user] botches [user.p_their()] [tackle_word] and slams [user.p_their()] head into [target], knocking [user.p_them()]self silly!", "You botch your [tackle_word] and slam your head into [target], knocking yourself silly!", target) + to_chat(target, "[user] botches [user.p_their()] [tackle_word] and slams [user.p_their()] head into you, knocking [user.p_them()]self silly!") + user.Paralyze(30) var/obj/item/bodypart/head/hed = user.get_bodypart(BODY_ZONE_HEAD) if(hed) @@ -158,30 +163,34 @@ user.gain_trauma(/datum/brain_trauma/mild/concussion) if(-4 to -2) // glancing blow at best - user.visible_message("[user] lands a weak tackle on [target], briefly knocking [target.p_them()] off-balance!", "You land a weak tackle on [target], briefly knocking [target.p_them()] off-balance!", target) - to_chat(target, "[user] lands a weak tackle on you, briefly knocking you off-balance!") + user.visible_message("[user] lands a weak [tackle_word] on [target], briefly knocking [target.p_them()] off-balance!", "You land a weak [tackle_word] on [target], briefly knocking [target.p_them()] off-balance!", target) + to_chat(target, "[user] lands a weak [tackle_word] on you, briefly knocking you off-balance!") + user.Knockdown(30) target.apply_status_effect(STATUS_EFFECT_TASED_WEAK, 6 SECONDS) if(-1 to 0) // decent hit, both parties are about equally inconvenienced - user.visible_message("[user] lands a passable tackle on [target], sending them both tumbling!", "You land a passable tackle on [target], sending you both tumbling!", target) - to_chat(target, "[user] lands a passable tackle on you, sending you both tumbling!") + user.visible_message("[user] lands a passable [tackle_word] on [target], sending them both tumbling!", "You land a passable [tackle_word] on [target], sending you both tumbling!", target) + to_chat(target, "[user] lands a passable [tackle_word] on you, sending you both tumbling!") + target.adjustStaminaLoss(stamina_cost) target.Paralyze(5) user.Knockdown(20) target.Knockdown(25) if(1 to 2) // solid hit, tackler has a slight advantage - user.visible_message("[user] lands a solid tackle on [target], knocking them both down hard!", "You land a solid tackle on [target], knocking you both down hard!", target) - to_chat(target, "[user] lands a solid tackle on you, knocking you both down hard!") + user.visible_message("[user] lands a solid [tackle_word] on [target], knocking them both down hard!", "You land a solid [tackle_word] on [target], knocking you both down hard!", target) + to_chat(target, "[user] lands a solid [tackle_word] on you, knocking you both down hard!") + target.adjustStaminaLoss(30) target.Paralyze(5) user.Knockdown(10) target.Knockdown(20) if(3 to 4) // really good hit, the target is definitely worse off here. Without positive modifiers, this is as good a tackle as you can land - user.visible_message("[user] lands an expert tackle on [target], knocking [target.p_them()] down hard while landing on [user.p_their()] feet with a passive grip!", "You land an expert tackle on [target], knocking [target.p_them()] down hard while landing on your feet with a passive grip!", target) - to_chat(target, "[user] lands an expert tackle on you, knocking you down hard and maintaining a passive grab!") + user.visible_message("[user] lands an expert [tackle_word] on [target], knocking [target.p_them()] down hard while landing on [user.p_their()] feet with a passive grip!", "You land an expert [tackle_word] on [target], knocking [target.p_them()] down hard while landing on your feet with a passive grip!", target) + to_chat(target, "[user] lands an expert [tackle_word] on you, knocking you down hard and maintaining a passive grab!") + user.SetKnockdown(0) user.set_resting(FALSE, TRUE, FALSE) user.forceMove(get_turf(target)) @@ -192,8 +201,9 @@ target.grabbedby(user) if(5 to INFINITY) // absolutely BODIED - user.visible_message("[user] lands a monster tackle on [target], knocking [target.p_them()] senseless and applying an aggressive pin!", "You land a monster tackle on [target], knocking [target.p_them()] senseless and applying an aggressive pin!", target) - to_chat(target, "[user] lands a monster tackle on you, knocking you senseless and aggressively pinning you!") + user.visible_message("[user] lands a monster [tackle_word] on [target], knocking [target.p_them()] senseless and applying an aggressive pin!", "You land a monster [tackle_word] on [target], knocking [target.p_them()] senseless and applying an aggressive pin!", target) + to_chat(target, "[user] lands a monster [tackle_word] on you, knocking you senseless and aggressively pinning you!") + user.SetKnockdown(0) user.set_resting(FALSE, TRUE, FALSE) user.forceMove(get_turf(target)) From edb7b1d61c7feefb818b5e29aff4f2f2bd71965e Mon Sep 17 00:00:00 2001 From: Artur Date: Sat, 18 Apr 2020 13:52:27 +0300 Subject: [PATCH 051/131] Fixes catstuffs --- code/datums/components/tackle.dm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/code/datums/components/tackle.dm b/code/datums/components/tackle.dm index 0f5cd7039c..ddc47d59a1 100644 --- a/code/datums/components/tackle.dm +++ b/code/datums/components/tackle.dm @@ -98,7 +98,7 @@ RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/checkObstacle) playsound(user, 'sound/weapons/thudswoosh.ogg', 40, TRUE, -1) - var/leap_word = isfelinid(user) ? "pounce" : "leap" ///If cat, "pounce" instead of "leap". + var/leap_word = iscatperson(user) ? "pounce" : "leap" ///If cat, "pounce" instead of "leap". if(can_see(user, A, 7)) user.visible_message("[user] [leap_word]s at [A]!", "You [leap_word] at [A]!") else @@ -144,9 +144,7 @@ return var/mob/living/carbon/target = hit - var/mob/living/carbon/human/T = target - var/mob/living/carbon/human/S = user - var/tackle_word = isfelinid(user) ? "pounce" : "tackle" ///If cat, "pounce" instead of "tackle". + var/tackle_word = iscatperson(user) ? "pounce" : "tackle" ///If cat, "pounce" instead of "tackle". var/roll = rollTackle(target) user.tackling = FALSE From f0823bc2b6bc4b2772b54d610d62e8e4400572ad Mon Sep 17 00:00:00 2001 From: Artur Date: Sat, 18 Apr 2020 13:57:34 +0300 Subject: [PATCH 052/131] Combat looks better --- code/modules/clothing/gloves/tacklers.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/clothing/gloves/tacklers.dm b/code/modules/clothing/gloves/tacklers.dm index 54a7b28d5f..47f4aca974 100644 --- a/code/modules/clothing/gloves/tacklers.dm +++ b/code/modules/clothing/gloves/tacklers.dm @@ -55,7 +55,7 @@ /obj/item/clothing/gloves/tackler/combat name = "gorilla gloves" desc = "Premium quality combative gloves, heavily reinforced to give the user an edge in close combat tackles, though they are more taxing to use than normal gripper gloves. Fireproof to boot!" - icon_state = "black" + icon_state = "combat" item_state = "blackgloves" tackle_stam_cost = 35 From 8d4a67fedcb19f8fc9f6c40dd7c9f2bfd674b5ed Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sat, 18 Apr 2020 15:40:18 +0200 Subject: [PATCH 053/131] Makes warm donk pockets cooling after 7 minutes canon again. --- code/game/objects/items/storage/storage.dm | 2 +- code/modules/food_and_drinks/food/snacks.dm | 2 +- .../food_and_drinks/food/snacks_pastry.dm | 34 +++++++++++++++++++ 3 files changed, 36 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/storage/storage.dm b/code/game/objects/items/storage/storage.dm index 8f4cb99048..fd4cc793ab 100644 --- a/code/game/objects/items/storage/storage.dm +++ b/code/game/objects/items/storage/storage.dm @@ -16,7 +16,7 @@ AddComponent(component_type) /obj/item/storage/AllowDrop() - return FALSE + return TRUE /obj/item/storage/contents_explosion(severity, target) for(var/atom/A in contents) diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index 0b277e328b..8476795a1a 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -283,7 +283,7 @@ All foods are distributed among various categories. Use common sense. S.create_reagents(S.volume, reagent_flags, reagent_value) if(reagents) reagents.trans_to(S, reagents.total_volume) - if(S.bonus_reagents && S.bonus_reagents.len) + if(cooking_efficiency && length(S.bonus_reagents)) for(var/r_id in S.bonus_reagents) var/amount = S.bonus_reagents[r_id] * cooking_efficiency if(r_id == /datum/reagent/consumable/nutriment || r_id == /datum/reagent/consumable/nutriment/vitamin) diff --git a/code/modules/food_and_drinks/food/snacks_pastry.dm b/code/modules/food_and_drinks/food/snacks_pastry.dm index ecd9074950..c5268380a1 100644 --- a/code/modules/food_and_drinks/food/snacks_pastry.dm +++ b/code/modules/food_and_drinks/food/snacks_pastry.dm @@ -440,6 +440,40 @@ filling_color = "#CD853F" tastes = list("meat" = 2, "dough" = 2, "laziness" = 1) foodtype = GRAIN + var/list/cached_reagents_amount + var/previous_typepath + +/obj/item/reagent_containers/food/snacks/donkpocket/Initialize(mapload) + . = ..() + if(!cooked_type) //maploaded cooked donk pockets won't cool down anyway. + desc += " This one will stay warm for a long time, great." + +/obj/item/reagent_containers/food/snacks/donkpocket/initialize_cooked_food(obj/item/reagent_containers/food/snacks/donkpocket/S, cooking_efficiency = 1) + . = ..() + if(istype(S)) + desc = initial(desc) //reset the desc since will now cool down. + for(var/R in S.bonus_reagents) + LAZYSET(S.cached_reagents_amount, R, S.reagents.get_reagent_amount(R)) + S.previous_typepath = type + addtimer(CALLBACK(S, .proc/cool_down), 7 MINUTES) //canonically they reverted back to normal after 7 minutes. + +/obj/item/reagent_containers/food/snacks/donkpocket/proc/cool_down() + if(!previous_typepath) //This shouldn't happen. + qdel(src) + return + var/spoiled = FALSE + for(var/R in cached_reagents_amount) + var/amount = cached_reagents_amount[R] + if(reagents.get_reagent_amount(R) < amount) + spoiled = TRUE + reagents.remove_reagent(R, amount) //no reagent duping please. + var/obj/item/reagent_containers/food/snacks/donkpocket/D = new previous_typepath(drop_location()) + D.create_reagents(D.volume, reagent_flags, reagent_value) + reagents.trans_to(D, reagents.total_volume) + if(spoiled) + D.cooked_type = null + D.desc += " This one has gone cold and mushy, pretty unsuitable for cooking." + qdel(src) /obj/item/reagent_containers/food/snacks/donkpocket/warm name = "warm Donk-pocket" From 8ca7bb753552e681c41c5d7d7c3a6e6b7c4c1ee2 Mon Sep 17 00:00:00 2001 From: TrilbySpaceClone Date: Sat, 18 Apr 2020 09:46:56 -0400 Subject: [PATCH 054/131] Right... --- code/__DEFINES/construction.dm | 2 + code/datums/components/crafting/craft.dm | 5 +- .../crafting/recipes/recipes_misc.dm | 134 +++++++++++------- code/game/objects/items/signs.dm | 10 +- 4 files changed, 87 insertions(+), 64 deletions(-) diff --git a/code/__DEFINES/construction.dm b/code/__DEFINES/construction.dm index 5a2096d862..92f00fbf38 100644 --- a/code/__DEFINES/construction.dm +++ b/code/__DEFINES/construction.dm @@ -73,6 +73,8 @@ #define CAT_AMMO "Ammunition" #define CAT_ROBOT "Robots" #define CAT_MISC "Misc" +#define CAT_TOOL "Tools & Storage" +#define CAT_FURNITURE "Furniture" #define CAT_PRIMAL "Tribal" #define CAT_CLOTHING "Clothing" #define CAT_FOOD "Foods" diff --git a/code/datums/components/crafting/craft.dm b/code/datums/components/crafting/craft.dm index d35daaf59c..c1f7904e77 100644 --- a/code/datums/components/crafting/craft.dm +++ b/code/datums/components/crafting/craft.dm @@ -23,7 +23,10 @@ CAT_AMMO, ), CAT_ROBOT = CAT_NONE, - CAT_MISC = CAT_NONE, + CAT_MISC = list( + CAT_TOOL, + CAT_FURNITURE, + ), CAT_PRIMAL = CAT_NONE, CAT_FOOD = list( CAT_BREAD, diff --git a/code/datums/components/crafting/recipes/recipes_misc.dm b/code/datums/components/crafting/recipes/recipes_misc.dm index ee72745016..b454ef134f 100644 --- a/code/datums/components/crafting/recipes/recipes_misc.dm +++ b/code/datums/components/crafting/recipes/recipes_misc.dm @@ -8,6 +8,7 @@ /obj/item/stack/sheet/plastic = 2, /obj/item/stack/rods = 1) result = /obj/structure/curtain + subcategory = CAT_FURNITURE category = CAT_MISC /datum/crafting_recipe/guillotine @@ -42,6 +43,7 @@ /obj/item/pipe = 3, /obj/item/stack/cable_coil = 30) category = CAT_MISC + subcategory = CAT_TOOL tools = list(TOOL_WRENCH, TOOL_WELDER, TOOL_WIRECUTTER) /datum/crafting_recipe/goldenbox @@ -53,6 +55,23 @@ /obj/item/stack/sheet/mineral/gold = 1, /datum/reagent/water = 15) time = 40 + subcategory = CAT_TOOL + category = CAT_MISC + +/datum/crafting_recipe/papersack + name = "Paper Sack" + result = /obj/item/storage/box/papersack + time = 10 + reqs = list(/obj/item/paper = 5) + subcategory = CAT_TOOL + category = CAT_MISC + +/datum/crafting_recipe/smallcarton + name = "Small Carton" + result = /obj/item/reagent_containers/food/drinks/sillycup/smallcarton + time = 10 + reqs = list(/obj/item/stack/sheet/cardboard = 1) + subcategory = CAT_TOOL category = CAT_MISC /datum/crafting_recipe/bronze_driver @@ -64,6 +83,7 @@ /obj/item/stack/tile/bronze = 1, /datum/reagent/water = 15) time = 40 + subcategory = CAT_TOOL category = CAT_MISC /datum/crafting_recipe/bronze_welder @@ -75,6 +95,7 @@ /obj/item/stack/tile/bronze = 1, /datum/reagent/water = 15) time = 40 + subcategory = CAT_TOOL category = CAT_MISC /datum/crafting_recipe/bronze_wirecutters @@ -86,6 +107,7 @@ /obj/item/stack/tile/bronze = 1, /datum/reagent/water = 15) time = 40 + subcategory = CAT_TOOL category = CAT_MISC /datum/crafting_recipe/bronze_crowbar @@ -97,6 +119,7 @@ /obj/item/stack/tile/bronze = 1, /datum/reagent/water = 15) time = 40 + subcategory = CAT_TOOL category = CAT_MISC /datum/crafting_recipe/bronze_wrench @@ -108,6 +131,7 @@ /obj/item/stack/tile/bronze = 1, /datum/reagent/water = 15) time = 40 + subcategory = CAT_TOOL category = CAT_MISC /datum/crafting_recipe/rcl @@ -116,6 +140,16 @@ time = 40 tools = list(TOOL_WELDER, TOOL_SCREWDRIVER, TOOL_WRENCH) reqs = list(/obj/item/stack/sheet/metal = 15) + subcategory = CAT_TOOL + category = CAT_MISC + +/datum/crafting_recipe/picket_sign + name = "Picket Sign" + result = /obj/item/picket_sign + reqs = list(/obj/item/stack/rods = 1, + /obj/item/stack/sheet/cardboard = 2) + time = 80 + subcategory = CAT_TOOL category = CAT_MISC //////////// @@ -210,13 +244,6 @@ /obj/item/stack/rods = 1) category = CAT_MISC -/datum/crafting_recipe/papersack - name = "Paper Sack" - result = /obj/item/storage/box/papersack - time = 10 - reqs = list(/obj/item/paper = 5) - category = CAT_MISC - /datum/crafting_recipe/flashlight_eyes name = "Flashlight Eyes" result = /obj/item/organ/eyes/robotic/flashlight @@ -227,13 +254,6 @@ ) category = CAT_MISC -/datum/crafting_recipe/smallcarton - name = "Small Carton" - result = /obj/item/reagent_containers/food/drinks/sillycup/smallcarton - time = 10 - reqs = list(/obj/item/stack/sheet/cardboard = 1) - category = CAT_MISC - /datum/crafting_recipe/pressureplate name = "Pressure Plate" result = /obj/item/pressure_plate @@ -269,6 +289,14 @@ reqs = list(/obj/item/folder/paperwork = 1) category = CAT_MISC +/datum/crafting_recipe/coconut_bong + name = "Coconut Bong" + result = /obj/item/bong/coconut + reqs = list(/obj/item/stack/sheet/mineral/bamboo = 2, + /obj/item/reagent_containers/food/snacks/grown/coconut = 1) + time = 70 + category = CAT_MISC + ////////////// //Banners///// ////////////// @@ -279,6 +307,7 @@ time = 40 reqs = list(/obj/item/stack/rods = 2, /obj/item/clothing/under/rank/captain/parade = 1) + subcategory = CAT_FURNITURE category = CAT_MISC /datum/crafting_recipe/engineering_banner @@ -287,6 +316,7 @@ time = 40 reqs = list(/obj/item/stack/rods = 2, /obj/item/clothing/under/rank/engineering/engineer = 1) + subcategory = CAT_FURNITURE category = CAT_MISC /datum/crafting_recipe/cargo_banner @@ -295,6 +325,7 @@ time = 40 reqs = list(/obj/item/stack/rods = 2, /obj/item/clothing/under/rank/cargo/tech = 1) + subcategory = CAT_FURNITURE category = CAT_MISC /datum/crafting_recipe/science_banner @@ -303,6 +334,7 @@ time = 40 reqs = list(/obj/item/stack/rods = 2, /obj/item/clothing/under/rank/rnd/scientist = 1) + subcategory = CAT_FURNITURE category = CAT_MISC /datum/crafting_recipe/medical_banner @@ -311,6 +343,7 @@ time = 40 reqs = list(/obj/item/stack/rods = 2, /obj/item/clothing/under/rank/medical/doctor = 1) + subcategory = CAT_FURNITURE category = CAT_MISC /datum/crafting_recipe/security_banner @@ -319,50 +352,43 @@ time = 40 reqs = list(/obj/item/stack/rods = 2, /obj/item/clothing/under/rank/security/officer = 1) + subcategory = CAT_FURNITURE category = CAT_MISC - /datum/crafting_recipe/bloodsucker/vassalrack - name = "Persuasion Rack" - //desc = "For converting crewmembers into loyal Vassals." - result = /obj/structure/bloodsucker/vassalrack - tools = list(/obj/item/weldingtool, - ///obj/item/screwdriver, - /obj/item/wrench +/datum/crafting_recipe/bloodsucker/vassalrack + name = "Persuasion Rack" + //desc = "For converting crewmembers into loyal Vassals." + result = /obj/structure/bloodsucker/vassalrack + tools = list(/obj/item/weldingtool, + //obj/item/screwdriver, + /obj/item/wrench ) - reqs = list(/obj/item/stack/sheet/mineral/wood = 3, - /obj/item/stack/sheet/metal = 2, - /obj/item/restraints/handcuffs/cable = 2, - ///obj/item/storage/belt = 1 - ///obj/item/stack/sheet/animalhide = 1, // /obj/item/stack/sheet/leather = 1, - ///obj/item/stack/sheet/plasteel = 5 - ) + reqs = list(/obj/item/stack/sheet/mineral/wood = 3, + /obj/item/stack/sheet/metal = 2, + /obj/item/restraints/handcuffs/cable = 2, + //obj/item/storage/belt = 1, + //obj/item/stack/sheet/animalhide = 1, + //obj/item/stack/sheet/leather = 1, + //obj/item/stack/sheet/plasteel = 5 + ) //parts = list(/obj/item/storage/belt = 1 // ) - - time = 150 - category = CAT_MISC - always_availible = FALSE // Disabled til learned + time = 150 + category = CAT_MISC + always_availible = FALSE // Disabled til learned - /datum/crafting_recipe/bloodsucker/candelabrum - name = "Candelabrum" - //desc = "For converting crewmembers into loyal Vassals." - result = /obj/structure/bloodsucker/candelabrum - tools = list(/obj/item/weldingtool, - /obj/item/wrench - ) - reqs = list(/obj/item/stack/sheet/metal = 3, - /obj/item/stack/rods = 1, - /obj/item/candle = 1 - ) - time = 100 - category = CAT_MISC - always_availible = FALSE // Disabled til learned - -/datum/crafting_recipe/coconut_bong - name = "Coconut Bong" - result = /obj/item/bong/coconut - reqs = list(/obj/item/stack/sheet/mineral/bamboo = 2, - /obj/item/reagent_containers/food/snacks/grown/coconut = 1) - time = 70 - category = CAT_MISC \ No newline at end of file +/datum/crafting_recipe/bloodsucker/candelabrum + name = "Candelabrum" + //desc = "For converting crewmembers into loyal Vassals." + result = /obj/structure/bloodsucker/candelabrum + tools = list(/obj/item/weldingtool, + /obj/item/wrench + ) + reqs = list(/obj/item/stack/sheet/metal = 3, + /obj/item/stack/rods = 1, + /obj/item/candle = 1 + ) + time = 100 + category = CAT_MISC + always_availible = FALSE // Disabled til learned diff --git a/code/game/objects/items/signs.dm b/code/game/objects/items/signs.dm index 2b00114ef8..cf7373b700 100644 --- a/code/game/objects/items/signs.dm +++ b/code/game/objects/items/signs.dm @@ -40,12 +40,4 @@ user.visible_message("[user] waves around \the \"[label]\" sign.") else user.visible_message("[user] waves around blank sign.") - user.changeNext_move(CLICK_CD_MELEE) - -/datum/crafting_recipe/picket_sign - name = "Picket Sign" - result = /obj/item/picket_sign - reqs = list(/obj/item/stack/rods = 1, - /obj/item/stack/sheet/cardboard = 2) - time = 80 - category = CAT_MISC \ No newline at end of file + user.changeNext_move(CLICK_CD_MELEE) \ No newline at end of file From 42bb01057f6a691dd902dfc58d30ad377bc93c0c Mon Sep 17 00:00:00 2001 From: TrilbySpaceClone Date: Sat, 18 Apr 2020 10:09:15 -0400 Subject: [PATCH 055/131] now with working code! --- code/datums/components/crafting/craft.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/datums/components/crafting/craft.dm b/code/datums/components/crafting/craft.dm index c1f7904e77..e0bf084ac2 100644 --- a/code/datums/components/crafting/craft.dm +++ b/code/datums/components/crafting/craft.dm @@ -15,7 +15,7 @@ /datum/component/personal_crafting var/busy - var/viewing_category = 1 //typical powergamer starting on the Weapons tab + var/viewing_category = 1 var/viewing_subcategory = 1 var/list/categories = list( CAT_WEAPONRY = list( @@ -24,6 +24,7 @@ ), CAT_ROBOT = CAT_NONE, CAT_MISC = list( + CAT_MISC, CAT_TOOL, CAT_FURNITURE, ), From cc16027d1ad55613af082eea0e1b9ac46e831294 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sat, 18 Apr 2020 19:30:14 +0200 Subject: [PATCH 056/131] Nerfing the bonus reagents from upgraded microwaves. --- code/modules/food_and_drinks/food/snacks.dm | 2 +- .../kitchen_machinery/microwave.dm | 17 ++++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index 0b277e328b..052e786a81 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -285,7 +285,7 @@ All foods are distributed among various categories. Use common sense. reagents.trans_to(S, reagents.total_volume) if(S.bonus_reagents && S.bonus_reagents.len) for(var/r_id in S.bonus_reagents) - var/amount = S.bonus_reagents[r_id] * cooking_efficiency + var/amount = round(S.bonus_reagents[r_id] * cooking_efficiency) if(r_id == /datum/reagent/consumable/nutriment || r_id == /datum/reagent/consumable/nutriment/vitamin) S.reagents.add_reagent(r_id, amount, tastes) else diff --git a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm index a8bb6dc187..c707b9ef64 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm @@ -19,6 +19,7 @@ var/broken = 0 // 0, 1 or 2 // How broken is it??? var/max_n_of_items = 10 var/efficiency = 0 + var/productivity = 0 var/datum/looping_sound/microwave/soundloop var/list/ingredients = list() // may only contain /atom/movables @@ -43,12 +44,14 @@ . = ..() /obj/machinery/microwave/RefreshParts() - efficiency = 0 + efficiency = 0.6 + productivity = 0 + max_n_of_items = 5 for(var/obj/item/stock_parts/micro_laser/M in component_parts) - efficiency += M.rating + efficiency += M.rating * 0.4 + productivity += M.rating for(var/obj/item/stock_parts/matter_bin/M in component_parts) - max_n_of_items = 10 * M.rating - break + max_n_of_items += M.rating * 5 /obj/machinery/microwave/examine(mob/user) . = ..() @@ -83,7 +86,7 @@ if(!(stat & (NOPOWER|BROKEN))) . += "The status display reads:" . += "- Capacity: [max_n_of_items] items." - . += "- Cook time reduced by [(efficiency - 1) * 25]%." + . += "- Cook time reduced by [(productivity - 1) * 25]%." /obj/machinery/microwave/update_icon_state() if(broken) @@ -240,7 +243,7 @@ playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 0) return - if(prob(max((5 / efficiency) - 5, dirty * 5))) //a clean unupgraded microwave has no risk of failure + if(prob(dirty * 5 - (5 / efficiency - 5)) //a clean unupgraded microwave has no risk of failure muck() return for(var/obj/O in ingredients) @@ -285,7 +288,7 @@ update_icon() loop(MICROWAVE_MUCK, 4) -/obj/machinery/microwave/proc/loop(type, time, wait = max(12 - 2 * efficiency, 2)) // standard wait is 10 +/obj/machinery/microwave/proc/loop(type, time, wait = max(12 - 2 * productivity, 2)) // standard wait is 10 if(stat & (NOPOWER|BROKEN)) if(type == MICROWAVE_PRE) pre_fail() From 811f65e48bb6ef52f131c2ba9dd5f0261fdff07e Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sat, 18 Apr 2020 19:51:09 +0200 Subject: [PATCH 057/131] Removing troublesome and filler uplink items. --- .../uplink/uplink_items/uplink_badass.dm | 15 -------------- .../uplink/uplink_items/uplink_dangerous.dm | 11 ---------- .../uplink/uplink_items/uplink_roles.dm | 20 ++----------------- 3 files changed, 2 insertions(+), 44 deletions(-) diff --git a/code/modules/uplink/uplink_items/uplink_badass.dm b/code/modules/uplink/uplink_items/uplink_badass.dm index 681efea5b3..840f100611 100644 --- a/code/modules/uplink/uplink_items/uplink_badass.dm +++ b/code/modules/uplink/uplink_items/uplink_badass.dm @@ -24,13 +24,6 @@ Radio headset does not include encryption key. No gun included." item = /obj/item/storage/box/syndie_kit/centcom_costume -/datum/uplink_item/badass/claymore - name = "Claymore" - cost = 8 - player_minimum = 25 - desc = "A claymore. We don't know why you'd do this." - item = /obj/item/claymore - /datum/uplink_item/badass/costumes/clown name = "Clown Costume" desc = "Nothing is more terrifying than clowns with fully automatic weaponry." @@ -84,11 +77,3 @@ limited_stock = 1 cant_discount = TRUE include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) - -/datum/uplink_item/badass/shades - name = "Big Sunglasses" - desc = "Prevents flashes and looks badbass with some Smokes." - item = /obj/item/clothing/glasses/sunglasses/big - cost = 1 - surplus = 5 - illegal_tech = FALSE diff --git a/code/modules/uplink/uplink_items/uplink_dangerous.dm b/code/modules/uplink/uplink_items/uplink_dangerous.dm index c798aa5cd9..99c9c505c0 100644 --- a/code/modules/uplink/uplink_items/uplink_dangerous.dm +++ b/code/modules/uplink/uplink_items/uplink_dangerous.dm @@ -117,17 +117,6 @@ /datum/uplink_item/dangerous/doublesword/get_discount() return pick(4;0.8,2;0.65,1;0.5) -/datum/uplink_item/dangerous/cxneb - name = "Dragon's Tooth Non-Eutactic Blade" - desc = "An illegal modification of a weapon that is functionally identical to the energy sword, \ - the Non-Eutactic Blade (NEB) forges a hardlight blade on-demand, \ - generating an extremely sharp, unbreakable edge that is guaranteed to satisfy your every need. \ - This particular model has a polychromic hardlight generator, allowing you to murder in style! \ - The illegal modifications bring this weapon up to par with the classic energy sword, and also gives it the energy sword's distinctive sounds." - item = /obj/item/melee/transforming/energy/sword/cx/traitor - cost = 8 - exclude_modes = list(/datum/game_mode/nuclear/clown_ops) - /datum/uplink_item/dangerous/sword name = "Energy Sword" desc = "The energy sword is an edged weapon with a blade of pure energy. The sword is small enough to be \ diff --git a/code/modules/uplink/uplink_items/uplink_roles.dm b/code/modules/uplink/uplink_items/uplink_roles.dm index 778edf8cc8..28479f8da7 100644 --- a/code/modules/uplink/uplink_items/uplink_roles.dm +++ b/code/modules/uplink/uplink_items/uplink_roles.dm @@ -64,14 +64,6 @@ restricted_roles = list("Clown") */ -/datum/uplink_item/role_restricted/clumsyDNA - name = "Clumsy Clown DNA" - desc = "A DNA injector that has been loaded with the clown gene that makes people clumsy.. \ - Making someone clumsy will allow them to use clown firing pins as well as Reverse Revolvers. For a laugh try using this on the HOS to see how many times they shoot themselves in the foot!" - cost = 1 - item = /obj/item/dnainjector/clumsymut - restricted_roles = list("Clown") - /datum/uplink_item/role_restricted/haunted_magic_eightball name = "Haunted Magic Eightball" desc = "Most magic eightballs are toys with dice inside. Although identical in appearance to the harmless toys, this occult device reaches into the spirit world to find its answers. \ @@ -116,19 +108,11 @@ cost = 4 restricted_roles = list("Cook", "Botanist", "Clown", "Mime") -/datum/uplink_item/role_restricted/strange_seeds - name = "Pack of strange seeds" - desc = "Mysterious seeds as strange as their name implies. Spooky." - item = /obj/item/seeds/random - cost = 2 - restricted_roles = list("Botanist") - illegal_tech = FALSE - /datum/uplink_item/role_restricted/strange_seeds_10pack - name = "Pack of strange seeds x10" + name = "Pack of strange seeds" desc = "Mysterious seeds as strange as their name implies. Spooky. These come in bulk" item = /obj/item/storage/box/strange_seeds_10pack - cost = 20 + cost = 10 restricted_roles = list("Botanist") /datum/uplink_item/role_restricted/ez_clean_bundle From 957e92ed8f4e2397be948cd1c8bded86d99f24d8 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sat, 18 Apr 2020 19:53:31 +0200 Subject: [PATCH 058/131] Update microwave.dm --- code/modules/food_and_drinks/kitchen_machinery/microwave.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm index c707b9ef64..3e0c9cb4b5 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm @@ -243,7 +243,7 @@ playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 0) return - if(prob(dirty * 5 - (5 / efficiency - 5)) //a clean unupgraded microwave has no risk of failure + if(prob(dirty * 5 / (5 * efficiency))) //a clean unupgraded microwave has no risk of failure muck() return for(var/obj/O in ingredients) From cb39ba34918ba002cd70b196ced8c2b2be2004fd Mon Sep 17 00:00:00 2001 From: necromanceranne Date: Sun, 19 Apr 2020 04:25:41 +1000 Subject: [PATCH 059/131] Replaces the Scarp stamina mod, adds tased resistance which I forgot to do for almost a month even though I kind of made it with scarp in mind, fixes the capitalization of armwraps --- code/datums/components/crafting/recipes/recipes_clothing.dm | 4 ++-- code/datums/martial/sleeping_carp.dm | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/code/datums/components/crafting/recipes/recipes_clothing.dm b/code/datums/components/crafting/recipes/recipes_clothing.dm index 6fc84409e4..8f52e06f30 100644 --- a/code/datums/components/crafting/recipes/recipes_clothing.dm +++ b/code/datums/components/crafting/recipes/recipes_clothing.dm @@ -41,7 +41,7 @@ category = CAT_CLOTHING /datum/crafting_recipe/armwraps - name = "armwraps" + name = "Armwraps" result = /obj/item/clothing/gloves/fingerless/pugilist time = 60 tools = list(TOOL_WIRECUTTER) @@ -51,7 +51,7 @@ category = CAT_CLOTHING /datum/crafting_recipe/armwrapsplusone - name = "armwraps of mighty fists" + name = "Armwraps of Mighty Fists" result = /obj/item/clothing/gloves/fingerless/pugilist/magic time = 300 tools = list(TOOL_WIRECUTTER, /obj/item/book/codex_gigas, /obj/item/clothing/head/wizard, /obj/item/clothing/suit/wizrobe) diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index ae5fa98acb..dd55800bc0 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -140,8 +140,10 @@ ADD_TRAIT(H, TRAIT_NOGUNS, SLEEPING_CARP_TRAIT) ADD_TRAIT(H, TRAIT_PIERCEIMMUNE, SLEEPING_CARP_TRAIT) ADD_TRAIT(H, TRAIT_NODISMEMBER, SLEEPING_CARP_TRAIT) + ADD_TRAIT(H, TRAIT_TASED_RESISTANCE, SLEEP_CARP_TRAIT) H.physiology.brute_mod *= 0.4 //brute is really not gonna cut it H.physiology.burn_mod *= 0.7 //burn is distinctly more useful against them than brute but they're still resistant + H.physiology.stamina_mod *= 0.5 //You take less stamina damage overall, but you do not reduce the damage from stun batons H.physiology.stun_mod *= 0.3 //for those rare stuns H.physiology.pressure_mod *= 0.3 //go hang out with carp H.physiology.cold_mod *= 0.3 //cold mods are different to burn mods, they do stack however @@ -154,8 +156,10 @@ REMOVE_TRAIT(H, TRAIT_NOGUNS, SLEEPING_CARP_TRAIT) REMOVE_TRAIT(H, TRAIT_PIERCEIMMUNE, SLEEPING_CARP_TRAIT) REMOVE_TRAIT(H, TRAIT_NODISMEMBER, SLEEPING_CARP_TRAIT) + REMOVE_TRAIT(H, TRAIT_TASED_RESISTANCE, SLEEP_CARP_TRAIT) H.physiology.brute_mod = initial(H.physiology.brute_mod) H.physiology.burn_mod = initial(H.physiology.burn_mod) + H.physiology.stamina_mod = initial(H.physiology.stamina_mod) H.physiology.stun_mod = initial(H.physiology.stun_mod) H.physiology.pressure_mod = initial(H.physiology.pressure_mod) //no more carpies H.physiology.cold_mod = initial(H.physiology.cold_mod) From 97bd52f03eb00ce7e50470baa8f63f1f74946fba Mon Sep 17 00:00:00 2001 From: necromanceranne Date: Sun, 19 Apr 2020 04:49:11 +1000 Subject: [PATCH 060/131] haha me too --- code/datums/martial/sleeping_carp.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index dd55800bc0..d2e11ee843 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -140,7 +140,7 @@ ADD_TRAIT(H, TRAIT_NOGUNS, SLEEPING_CARP_TRAIT) ADD_TRAIT(H, TRAIT_PIERCEIMMUNE, SLEEPING_CARP_TRAIT) ADD_TRAIT(H, TRAIT_NODISMEMBER, SLEEPING_CARP_TRAIT) - ADD_TRAIT(H, TRAIT_TASED_RESISTANCE, SLEEP_CARP_TRAIT) + ADD_TRAIT(H, TRAIT_TASED_RESISTANCE, SLEEPING_CARP_TRAIT) H.physiology.brute_mod *= 0.4 //brute is really not gonna cut it H.physiology.burn_mod *= 0.7 //burn is distinctly more useful against them than brute but they're still resistant H.physiology.stamina_mod *= 0.5 //You take less stamina damage overall, but you do not reduce the damage from stun batons @@ -156,7 +156,7 @@ REMOVE_TRAIT(H, TRAIT_NOGUNS, SLEEPING_CARP_TRAIT) REMOVE_TRAIT(H, TRAIT_PIERCEIMMUNE, SLEEPING_CARP_TRAIT) REMOVE_TRAIT(H, TRAIT_NODISMEMBER, SLEEPING_CARP_TRAIT) - REMOVE_TRAIT(H, TRAIT_TASED_RESISTANCE, SLEEP_CARP_TRAIT) + REMOVE_TRAIT(H, TRAIT_TASED_RESISTANCE, SLEEPING_CARP_TRAIT) H.physiology.brute_mod = initial(H.physiology.brute_mod) H.physiology.burn_mod = initial(H.physiology.burn_mod) H.physiology.stamina_mod = initial(H.physiology.stamina_mod) From 54cce756796f73cbc8be45e0fbeca48a4316d989 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sat, 18 Apr 2020 16:15:40 -0400 Subject: [PATCH 061/131] Update food_reagents.dm --- .../chemistry/reagents/food_reagents.dm | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index 39b687c64a..05f0ad1cc0 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -43,7 +43,7 @@ name = "Nutriment" description = "All the vitamins, minerals, and carbohydrates the body needs in pure form." reagent_state = SOLID - nutriment_factor = 15 * REAGENTS_METABOLISM + nutriment_factor = 10 * REAGENTS_METABOLISM color = "#664330" // rgb: 102, 67, 48 var/brute_heal = 1 @@ -109,7 +109,7 @@ taste_mult = 0.8 value = 1 taste_description = "oil" - nutriment_factor = 7 * REAGENTS_METABOLISM //Not very healthy on its own + nutriment_factor = 5 * REAGENTS_METABOLISM //Not very healthy on its own metabolization_rate = 10 * REAGENTS_METABOLISM var/fry_temperature = 450 //Around ~350 F (117 C) which deep fryers operate around in the real world var/boiling //Used in mob life to determine if the oil kills, and only on touch application @@ -153,7 +153,7 @@ reagent_state = SOLID color = "#FFFFFF" // rgb: 255, 255, 255 taste_mult = 1.5 // stop sugar drowning out other flavours - nutriment_factor = 5 * REAGENTS_METABOLISM + nutriment_factor = 3 * REAGENTS_METABOLISM metabolization_rate = 2 * REAGENTS_METABOLISM overdose_threshold = 200 // Hyperglycaemic shock taste_description = "sweetness" @@ -179,21 +179,21 @@ /datum/reagent/consumable/soysauce name = "Soysauce" description = "A salty sauce made from the soy plant." - nutriment_factor = 2 * REAGENTS_METABOLISM + nutriment_factor = ` * REAGENTS_METABOLISM color = "#792300" // rgb: 121, 35, 0 taste_description = "umami" /datum/reagent/consumable/ketchup name = "Ketchup" description = "Ketchup, catsup, whatever. It's tomato paste." - nutriment_factor = 5 * REAGENTS_METABOLISM + nutriment_factor = 3 * REAGENTS_METABOLISM color = "#731008" // rgb: 115, 16, 8 taste_description = "ketchup" /datum/reagent/consumable/mustard name = "Mustard" description = "Mustard, mostly used on hotdogs, corndogs and burgers." - nutriment_factor = 5 * REAGENTS_METABOLISM + nutriment_factor = 3 * REAGENTS_METABOLISM color = "#DDED26" // rgb: 221, 237, 38 taste_description = "mustard" @@ -378,14 +378,13 @@ name = "Coco Powder" description = "A fatty, bitter paste made from coco beans." reagent_state = SOLID - nutriment_factor = 5 * REAGENTS_METABOLISM + nutriment_factor = 3 * REAGENTS_METABOLISM color = "#302000" // rgb: 48, 32, 0 taste_description = "bitterness" /datum/reagent/consumable/hot_coco name = "Hot Chocolate" description = "Made with love! And coco beans." - nutriment_factor = 3 * REAGENTS_METABOLISM color = "#660000" // rgb: 221, 202, 134 taste_description = "creamy chocolate" glass_icon_state = "chocolateglass" @@ -488,13 +487,13 @@ description = "A popular food paste made from ground dry-roasted peanuts." color = "#C29261" value = 3 - nutriment_factor = 15 * REAGENTS_METABOLISM + nutriment_factor = 10 * REAGENTS_METABOLISM taste_description = "peanuts" /datum/reagent/consumable/cornoil name = "Corn Oil" description = "An oil derived from various types of corn." - nutriment_factor = 20 * REAGENTS_METABOLISM + nutriment_factor = 12 * REAGENTS_METABOLISM value = 4 color = "#302000" // rgb: 48, 32, 0 taste_description = "slime" @@ -696,7 +695,7 @@ name = "Stabilized Nutriment" description = "A bioengineered protien-nutrient structure designed to decompose in high saturation. In layman's terms, it won't get you fat." reagent_state = SOLID - nutriment_factor = 15 * REAGENTS_METABOLISM + nutriment_factor = 12 * REAGENTS_METABOLISM color = "#664330" // rgb: 102, 67, 48 /datum/reagent/consumable/nutriment/stabilized/on_mob_life(mob/living/carbon/M) @@ -807,7 +806,7 @@ /datum/reagent/consumable/caramel name = "Caramel" description = "Who would have guessed that heated sugar could be so delicious?" - nutriment_factor = 10 * REAGENTS_METABOLISM + nutriment_factor = 4 * REAGENTS_METABOLISM color = "#D98736" taste_mult = 2 taste_description = "caramel" From 26facfa37ac1b5e9c25037c7e4f8148651f61b99 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sat, 18 Apr 2020 16:24:05 -0400 Subject: [PATCH 062/131] honey changes + complie --- code/modules/reagents/chemistry/reagents/food_reagents.dm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index 05f0ad1cc0..d335eafabf 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -93,7 +93,7 @@ name = "Vitamin" description = "All the best vitamins, minerals, and carbohydrates the body needs in pure form." value = 0.5 - + nutriment_factor = 15 * REAGENTS_METABOLISM //The are the best food for you! brute_heal = 1 burn_heal = 1 @@ -179,7 +179,6 @@ /datum/reagent/consumable/soysauce name = "Soysauce" description = "A salty sauce made from the soy plant." - nutriment_factor = ` * REAGENTS_METABOLISM color = "#792300" // rgb: 121, 35, 0 taste_description = "umami" @@ -625,7 +624,7 @@ description = "Sweet sweet honey that decays into sugar. Has antibacterial and natural healing properties." color = "#d3a308" value = 15 - nutriment_factor = 15 * REAGENTS_METABOLISM + nutriment_factor = 10 * REAGENTS_METABOLISM metabolization_rate = 1 * REAGENTS_METABOLISM taste_description = "sweetness" From 63524b47c3d1f36260ff79862c2fe82d9e7e7633 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sat, 18 Apr 2020 16:28:51 -0400 Subject: [PATCH 063/131] Why is ice and water so filling? --- .../chemistry/reagents/drink_reagents.dm | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index ebbce61c57..475a6a80fb 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -330,7 +330,6 @@ description = "Encourages the patient to go golfing." color = "#FFB766" quality = DRINK_NICE - nutriment_factor = 2 taste_description = "bitter tea" glass_icon_state = "arnold_palmer" glass_name = "Arnold Palmer" @@ -384,6 +383,7 @@ /datum/reagent/consumable/space_cola name = "Cola" description = "A refreshing beverage." + nutriment_factor = 0 color = "#100800" // rgb: 16, 8, 0 taste_description = "cola" glass_icon_state = "glass_brown" @@ -418,6 +418,7 @@ /datum/reagent/consumable/spacemountainwind name = "SM Wind" description = "Blows right through you like a space wind." + nutriment_factor = 0 color = "#102000" // rgb: 16, 32, 0 taste_description = "sweet citrus soda" glass_icon_state = "Space_mountain_wind_glass" @@ -435,6 +436,7 @@ /datum/reagent/consumable/dr_gibb name = "Dr. Gibb" description = "A delicious blend of 42 different flavours." + nutriment_factor = 0 color = "#102000" // rgb: 16, 32, 0 taste_description = "cherry soda" // FALSE ADVERTISING glass_icon_state = "dr_gibb_glass" @@ -449,6 +451,7 @@ /datum/reagent/consumable/space_up name = "Space-Up" description = "Tastes like a hull breach in your mouth." + nutriment_factor = 0 color = "#00FF00" // rgb: 0, 255, 0 taste_description = "cherry soda" glass_icon_state = "space-up_glass" @@ -463,6 +466,7 @@ /datum/reagent/consumable/lemon_lime name = "Lemon Lime" description = "A tangy substance made of 0.5% natural citrus!" + nutriment_factor = 0 color = "#8CFF00" // rgb: 135, 255, 0 taste_description = "tangy lime and lemon soda" glass_icon_state = "glass_yellow" @@ -476,6 +480,7 @@ /datum/reagent/consumable/pwr_game name = "Pwr Game" description = "The only drink with the PWR that true gamers crave." + nutriment_factor = 0 color = "#9385bf" // rgb: 58, 52, 75 taste_description = "sweet and salty tang" glass_icon_state = "glass_red" @@ -489,6 +494,7 @@ /datum/reagent/consumable/shamblers name = "Shambler's Juice" description = "~Shake me up some of that Shambler's Juice!~" + nutriment_factor = 0 color = "#f00060" // rgb: 94, 0, 38 taste_description = "carbonated metallic soda" glass_icon_state = "glass_red" @@ -502,6 +508,7 @@ /datum/reagent/consumable/buzz_fuzz name = "Buzz Fuzz" description = "~A Hive of Flavour!~ NOTICE: Addicting." + nutriment_factor = 0 addiction_threshold = 26 //A can and a sip color = "#8CFF00" // rgb: 135, 255, 0 taste_description = "carbonated honey and pollen" @@ -572,6 +579,7 @@ /datum/reagent/consumable/sodawater name = "Soda Water" description = "A can of club soda. Why not make a scotch and soda?" + nutriment_factor = 0 color = "#619494" // rgb: 97, 148, 148 taste_description = "carbonated water" glass_icon_state = "glass_clear" @@ -604,6 +612,7 @@ /datum/reagent/consumable/ice name = "Ice" description = "Frozen water, your dentist wouldn't like you chewing this." + nutriment_factor = 0 //Its water why would this even geive nutriments? reagent_state = SOLID color = "#619494" // rgb: 97, 148, 148 taste_description = "ice" @@ -705,7 +714,7 @@ description = "A cherry flavored milkshake." color = "#FFB6C1" quality = DRINK_VERYGOOD - nutriment_factor = 4 * REAGENTS_METABOLISM + nutriment_factor = 2 * REAGENTS_METABOLISM taste_description = "creamy cherry" glass_icon_state = "cherryshake" glass_name = "cherry shake" @@ -716,7 +725,7 @@ description = "An exotic milkshake." color = "#00F1FF" quality = DRINK_VERYGOOD - nutriment_factor = 4 * REAGENTS_METABOLISM + nutriment_factor = 2 * REAGENTS_METABOLISM taste_description = "creamy blue cherry" glass_icon_state = "bluecherryshake" glass_name = "blue cherry shake" @@ -727,7 +736,7 @@ description = "A mix of pumpkin juice and coffee." color = "#F4A460" quality = DRINK_VERYGOOD - nutriment_factor = 3 * REAGENTS_METABOLISM + nutriment_factor = 2 * REAGENTS_METABOLISM taste_description = "creamy pumpkin" glass_icon_state = "pumpkin_latte" glass_name = "pumpkin latte" @@ -738,7 +747,7 @@ description = "Ice cream on top of a Dr. Gibb glass." color = "#B22222" quality = DRINK_NICE - nutriment_factor = 3 * REAGENTS_METABOLISM + nutriment_factor = 1 * REAGENTS_METABOLISM taste_description = "creamy cherry" glass_icon_state = "gibbfloats" glass_name = "Gibbfloat" @@ -845,6 +854,7 @@ /datum/reagent/consumable/sol_dry name = "Sol Dry" description = "A soothing, mellow drink made from ginger." + nutriment_factor = 0 color = "#f7d26a" quality = DRINK_NICE taste_description = "sweet ginger spice" @@ -889,7 +899,7 @@ description = "A drink of a bygone era of milk and artificial sweetener back on a rock." color = "#f76aeb"//rgb(247, 106, 235) glass_icon_state = "pinkmilk" - quality = DRINK_FANTASTIC //Love drink + quality = DRINK_FANTASTIC taste_description = "sweet strawberry and milk cream" glass_name = "tall glass of strawberry milk" glass_desc = "Delicious flavored strawberry syrup mixed with milk." @@ -905,7 +915,7 @@ description = "A timeless classic!" color = "#f76aeb"//rgb(247, 106, 235) glass_icon_state = "pinktea" - quality = DRINK_FANTASTIC //Love drink + quality = DRINK_FANTASTIC taste_description = "sweet tea with a hint of strawberry" glass_name = "mug of strawberry tea" glass_desc = "Delicious traditional tea flavored with strawberries." From a5b7f506f980b14b3294547b97abb5d12fb61959 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sat, 18 Apr 2020 16:42:46 -0400 Subject: [PATCH 064/131] Update chem_dispenser.dm --- code/modules/reagents/chemistry/machinery/chem_dispenser.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index eb2a6ad162..7f57dd1723 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -508,7 +508,6 @@ upgrade_reagents3 = list( /datum/reagent/drug/mushroomhallucinogen, /datum/reagent/consumable/nothing, - /datum/reagent/medicine/cryoxadone, /datum/reagent/consumable/peachjuice ) emagged_reagents = list( @@ -516,7 +515,8 @@ /datum/reagent/consumable/ethanol/changelingsting, /datum/reagent/consumable/ethanol/whiskey_cola, /datum/reagent/toxin/mindbreaker, - /datum/reagent/toxin/staminatoxin + /datum/reagent/toxin/staminatoxin, + /datum/reagent/medicine/cryoxadone ) /obj/machinery/chem_dispenser/drinks/fullupgrade //fully ugpraded stock parts, emagged @@ -722,4 +722,4 @@ component_parts += new /obj/item/stock_parts/manipulator/femto(null) component_parts += new /obj/item/stack/sheet/glass(null) component_parts += new /obj/item/stock_parts/cell/bluespace(null) - RefreshParts() \ No newline at end of file + RefreshParts() From ba9d7c7dbc929ba755ffb9e09aa00f517820037d Mon Sep 17 00:00:00 2001 From: MrJWhit <48370570+MrJWhit@users.noreply.github.com> Date: Sat, 18 Apr 2020 17:12:16 -0400 Subject: [PATCH 065/131] Fixing up of boxstation --- _maps/map_files/BoxStation/BoxStation.dmm | 79 ++++++++++++++++------- 1 file changed, 55 insertions(+), 24 deletions(-) diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index ddb80a3319..e0dfa2ab74 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -60,7 +60,9 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, /turf/open/floor/plasteel, /area/security/main) "aai" = ( @@ -2696,6 +2698,9 @@ /obj/effect/turf_decal/tile/red{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, /turf/open/floor/plasteel, /area/security/main) "afp" = ( @@ -4439,9 +4444,6 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, /obj/effect/turf_decal/tile/red{ dir = 1 }, @@ -5100,9 +5102,6 @@ /obj/structure/cable{ icon_state = "2-4" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, /obj/structure/disposalpipe/segment{ dir = 6 }, @@ -5528,9 +5527,6 @@ dir = 1; pixel_y = -24 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, /obj/effect/turf_decal/tile/red{ dir = 1 }, @@ -5546,14 +5542,14 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, /obj/effect/turf_decal/tile/red, /obj/effect/turf_decal/tile/red{ dir = 8 }, /obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, /turf/open/floor/plasteel, /area/security/main) "akj" = ( @@ -7986,6 +7982,9 @@ /obj/structure/disposalpipe/segment{ dir = 6 }, +/obj/structure/cable{ + icon_state = "2-8" + }, /turf/open/floor/plating, /area/maintenance/fore/secondary) "aqm" = ( @@ -9816,6 +9815,9 @@ name = "Dormitories Maintenance"; req_access_txt = "12" }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plating, /area/maintenance/fore/secondary) "avy" = ( @@ -10271,6 +10273,9 @@ /obj/structure/disposalpipe/segment{ dir = 5 }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) "awz" = ( @@ -23786,9 +23791,6 @@ "bfC" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp/green, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, /turf/open/floor/wood, /area/crew_quarters/heads/captain) "bfD" = ( @@ -55616,6 +55618,10 @@ }, /turf/open/floor/wood, /area/crew_quarters/bar) +"iUK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/security/vacantoffice/b) "iVU" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -56974,6 +56980,12 @@ /obj/machinery/vending/autodrobe, /turf/open/floor/wood, /area/maintenance/bar) +"nfw" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/dorms) "ngs" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 @@ -57837,6 +57849,13 @@ }, /turf/open/floor/plating, /area/crew_quarters/fitness) +"pRW" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) "pTB" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -59423,6 +59442,15 @@ }, /turf/open/floor/plating, /area/space/nearstation) +"vaW" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/dorms) "vbi" = ( /obj/structure/table, /obj/item/instrument/guitar{ @@ -59990,6 +60018,9 @@ dir = 1; pixel_y = -22 }, +/obj/structure/cable{ + icon_state = "1-4" + }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) "wrp" = ( @@ -86195,7 +86226,7 @@ cCi aqX arR asj -arT +iUK ajr atY auo @@ -94674,15 +94705,15 @@ aoa ajo apt aql -aoJ -aoJ -aoJ -aoJ +pRW +pRW +pRW +pRW avw awy -awr -awr -avG +nfw +nfw +vaW wqF aAh aAh From 9976fab42b7af6feb4a05155dd31603cac9916c0 Mon Sep 17 00:00:00 2001 From: Putnam Date: Sat, 18 Apr 2020 14:40:41 -0700 Subject: [PATCH 066/131] Made traitor classes rerollable, reassignable by admins --- code/datums/mind.dm | 13 +++++ code/modules/admin/antag_panel.dm | 2 +- .../antagonists/traitor/classes/hijack.dm | 3 + .../traitor/classes/traitor_class.dm | 4 ++ .../antagonists/traitor/datum_traitor.dm | 56 ++++++++++++------- .../uplink/uplink_items/uplink_bundles.dm | 17 ++++++ 6 files changed, 75 insertions(+), 20 deletions(-) diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 45a0f86a98..31704d5451 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -511,6 +511,19 @@ message_admins("[key_name_admin(usr)] edited [current]'s objective to [new_objective.explanation_text]") log_admin("[key_name(usr)] edited [current]'s objective to [new_objective.explanation_text]") + else if(href_list["traitor_class"]) + var/static/list/choices + if(!choices) + choices = list() + for(var/C in GLOB.traitor_classes) + var/datum/traitor_class/t = C + choices[initial(t.employer)] = C + var/datum/antagonist/traitor/T = locate(href_list["target_antag"]) in antag_datums + if(T) + var/selected_type = input("Select traitor class:", "Traitor class", T.traitor_kind.employer) as null|anything in choices + selected_type = choices[selected_type] + T.set_traitor_kind(selected_type) + else if (href_list["obj_delete"]) var/datum/objective/objective diff --git a/code/modules/admin/antag_panel.dm b/code/modules/admin/antag_panel.dm index 19e53b09b4..88aab2c4ce 100644 --- a/code/modules/admin/antag_panel.dm +++ b/code/modules/admin/antag_panel.dm @@ -104,7 +104,7 @@ GLOBAL_VAR(antag_prototypes) var/special_statuses = get_special_statuses() if(length(special_statuses)) - out += get_special_statuses() + "
" + out += special_statuses + "
" if(!GLOB.antag_prototypes) GLOB.antag_prototypes = list() diff --git a/code/modules/antagonists/traitor/classes/hijack.dm b/code/modules/antagonists/traitor/classes/hijack.dm index 59e0591600..dbfa78eb96 100644 --- a/code/modules/antagonists/traitor/classes/hijack.dm +++ b/code/modules/antagonists/traitor/classes/hijack.dm @@ -16,3 +16,6 @@ /datum/traitor_class/human/hijack/finalize_traitor(datum/antagonist/traitor/T) T.hijack_speed=1 return TRUE + +/datum/traitor_class/human/hijack/clean_up_traitor(datum/antagonist/traitor/T) + T.hijack_speed = 0.5 diff --git a/code/modules/antagonists/traitor/classes/traitor_class.dm b/code/modules/antagonists/traitor/classes/traitor_class.dm index 012a269572..260e978bec 100644 --- a/code/modules/antagonists/traitor/classes/traitor_class.dm +++ b/code/modules/antagonists/traitor/classes/traitor_class.dm @@ -38,3 +38,7 @@ GLOBAL_LIST_EMPTY(traitor_classes) /datum/traitor_class/proc/finalize_traitor(datum/antagonist/traitor/T) // Finalization. Return TRUE if should play standard traitor sound/equip, return FALSE if both are special case return TRUE + +/datum/traitor_class/proc/clean_up_traitor(datum/antagonist/traitor/T) + // Any effects that need to be cleaned up if traitor class is being swapped. + \ No newline at end of file diff --git a/code/modules/antagonists/traitor/datum_traitor.dm b/code/modules/antagonists/traitor/datum_traitor.dm index f7dc7ad6d1..cf10f87bf8 100644 --- a/code/modules/antagonists/traitor/datum_traitor.dm +++ b/code/modules/antagonists/traitor/datum_traitor.dm @@ -15,36 +15,53 @@ threat = 5 /datum/antagonist/traitor/New() - ..() if(!GLOB.traitor_classes.len)//Only need to fill the list when it's needed. for(var/I in subtypesof(/datum/traitor_class)) new I + ..() -/datum/antagonist/traitor/proc/set_traitor_kind(var/kind) +/datum/antagonist/traitor/proc/set_traitor_kind(kind) + var/swap_from_old = FALSE + if(traitor_kind) + traitor_kind.remove_innate_effects(owner.current) + traitor_kind.clean_up_traitor(src) + swap_from_old = TRUE traitor_kind = GLOB.traitor_classes[kind] + traitor_kind.apply_innate_effects(owner.current) + if(give_objectives) + for(var/O in objectives) + qdel(O) + traitor_kind.forge_objectives(src) + if(swap_from_old) + traitor_kind.finalize_traitor(src) + traitor_kind.greet(src) + owner.announce_objectives() + +/proc/get_random_traitor_kind(var/list/blacklist = list()) + var/chaos_weight = 0 + if(istype(SSticker.mode,/datum/game_mode/dynamic)) + var/datum/game_mode/dynamic/mode = SSticker.mode + chaos_weight = (mode.threat - 50)/50 + var/list/weights = list() + for(var/C in GLOB.traitor_classes) + if(!(C in blacklist)) + var/datum/traitor_class/class = GLOB.traitor_classes[C] + var/weight = LOGISTIC_FUNCTION(1.5*class.weight,chaos_weight,class.chaos,0) + weights[C] = weight * 1000 + var/choice = pickweightAllowZero(weights) + if(!choice) + choice = TRAITOR_HUMAN // it's an "easter egg" + var/datum/traitor_class/actual_class = GLOB.traitor_classes[choice] + actual_class.weight *= 0.8 // less likely this round + return choice /datum/antagonist/traitor/on_gain() if(owner.current && isAI(owner.current)) set_traitor_kind(TRAITOR_AI) else - var/chaos_weight = 0 - if(istype(SSticker.mode,/datum/game_mode/dynamic)) - var/datum/game_mode/dynamic/mode = SSticker.mode - chaos_weight = (mode.threat - 50)/50 - var/list/weights = list() - for(var/C in GLOB.traitor_classes) - var/datum/traitor_class/class = GLOB.traitor_classes[C] - var/weight = LOGISTIC_FUNCTION(1.5*class.weight,chaos_weight,class.chaos,0) - weights[C] = weight - var/choice = pickweightAllowZero(weights) - if(!choice) - choice = GLOB.traitor_classes[TRAITOR_HUMAN] // it's an "easter egg" - set_traitor_kind(choice) - traitor_kind.weight *= 0.8 // less likely this round + set_traitor_kind(get_random_traitor_kind()) SSticker.mode.traitors += owner owner.special_role = special_role - if(give_objectives) - traitor_kind.forge_objectives(src) finalize_traitor() ..() @@ -97,7 +114,8 @@ owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/tatoralert.ogg', 100, FALSE, pressure_affected = FALSE) /datum/antagonist/traitor/antag_panel_objectives() - . = ..() + . += "Traitor class: [traitor_kind.employer]
" + . += ..() if(contractor_hub?.assigned_targets && length(contractor_hub.assigned_targets)) . += "Contract Targets:
" for(var/datum/mind/M in contractor_hub.assigned_targets) diff --git a/code/modules/uplink/uplink_items/uplink_bundles.dm b/code/modules/uplink/uplink_items/uplink_bundles.dm index 7d0e52947a..f3e95fa61c 100644 --- a/code/modules/uplink/uplink_items/uplink_bundles.dm +++ b/code/modules/uplink/uplink_items/uplink_bundles.dm @@ -150,6 +150,23 @@ U.purchase_log.LogPurchase(goods, I, 0) return C +/datum/uplink_item/bundles_TC/reroll + name = "Renegotiate Contract" + desc = "Selecting this will inform the syndicate that you wish to change employers. Can only be done once; no take-backs." + item = /obj/effect/gibspawner/generic + cost = 0 + cant_discount = TRUE + restricted = TRUE + limited_stock = 1 + +/datum/uplink_item/bundles_TC/reroll/purchase(mob/user, datum/component/uplink/U) + var/datum/antagonist/traitor/T = user?.mind?.has_antag_datum(/datum/antagonist/traitor) + if(istype(T)) + var/new_traitor_kind = get_random_traitor_kind(list(T.traitor_kind.type)) + T.set_traitor_kind(new_traitor_kind) + else + to_chat(user,"Invalid user for contract renegotiation.") + /datum/uplink_item/bundles_TC/random name = "Random Item" desc = "Picking this will purchase a random item. Useful if you have some TC to spare or if you haven't decided on a strategy yet." From e3fb9784650116de0edeb43de787e9e4816bc703 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sun, 19 Apr 2020 01:48:51 +0200 Subject: [PATCH 067/131] Shielded element. --- code/__DEFINES/combat.dm | 2 +- code/__DEFINES/dcs/signals.dm | 1 + code/datums/elements/shielded.dm | 210 ++++++++++++++++++ code/modules/clothing/spacesuits/hardsuit.dm | 51 +---- code/modules/clothing/suits/wiz_robe.dm | 8 +- .../mob/living/carbon/human/human_block.dm | 6 +- code/modules/mob/living/living_block.dm | 9 +- tgstation.dme | 1 + 8 files changed, 229 insertions(+), 59 deletions(-) create mode 100644 code/datums/elements/shielded.dm diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm index 14c78f90d0..e3fbe30b1d 100644 --- a/code/__DEFINES/combat.dm +++ b/code/__DEFINES/combat.dm @@ -302,8 +302,8 @@ GLOBAL_LIST_INIT(shove_disarming_types, typecacheof(list( /// Block priorities #define BLOCK_PRIORITY_HELD_ITEM 100 -#define BLOCK_PRIORITY_CLOTHING 50 #define BLOCK_PRIORITY_WEAR_SUIT 75 +#define BLOCK_PRIORITY_CLOTHING 50 #define BLOCK_PRIORITY_UNIFORM 25 #define BLOCK_PRIORITY_DEFAULT BLOCK_PRIORITY_HELD_ITEM diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm index 53348b3467..fab6d689f6 100644 --- a/code/__DEFINES/dcs/signals.dm +++ b/code/__DEFINES/dcs/signals.dm @@ -197,6 +197,7 @@ #define COMSIG_LIVING_RUN_BLOCK "living_do_run_block" //from base of mob/living/do_run_block(): (real_attack, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone) #define COMSIG_LIVING_COMBAT_ENABLED "combatmode_enabled" //from base of mob/living/enable_combat_mode() (was_forced) #define COMSIG_LIVING_COMBAT_DISABLED "combatmode_disabled" //from base of mob/living/disable_combat_mode() (was_forced) +#define COMSIG_LIVING_GET_BLOCKING_ITEMS "get_blocking_items" //from base of mob/living/get_blocking_items(): (list/items) //ALL OF THESE DO NOT TAKE INTO ACCOUNT WHETHER AMOUNT IS 0 OR LOWER AND ARE SENT REGARDLESS! #define COMSIG_LIVING_STATUS_STUN "living_stun" //from base of mob/living/Stun() (amount, update, ignore) diff --git a/code/datums/elements/shielded.dm b/code/datums/elements/shielded.dm new file mode 100644 index 0000000000..913c2df934 --- /dev/null +++ b/code/datums/elements/shielded.dm @@ -0,0 +1,210 @@ +/datum/element/shielded + element_flags = ELEMENT_BESPOKE|ELEMENT_DETACH + id_arg_index = 3 + var/max_charges = 3 + var/recharge_delay = 20 SECONDS //How long after we've been shot before we can start recharging. + var/recharge_rate = 1 //How quickly the shield recharges once it starts charging. Can be a decimal. + var/accepted_slots + var/shield_state = "shield-old" //the state of the shield overlay. + var/broken_state //null + var/recharge_sound = 'sound/magic/charge.ogg' + var/recharge_end_sound = 'sound/machines/ding.ogg' + var/list/charges_per_atom = list() //How many charges each atom has. + var/list/last_use_per_atom = list() //Last time an atom has deflected (or failed due to no charges) an attack. + var/list/overlay_per_mob = list() //List of mutable overlays per atom. + var/list/shields_per_mob = list() //number of shields this guy is on, damn. + +/datum/element/shielded/Attach(datum/target, current, _max = 3, _delay = 20 SECONDS, _rate = 1, _slots, _state = "shield-old", _broken, _sound = 'sound/magic/charge.ogg', _end_sound = 'sound/machines/ding.ogg') + . = ..() + var/isitem = isitem(target) + if(. == ELEMENT_INCOMPATIBLE || (!isitem && !isliving(target))) + return ELEMENT_INCOMPATIBLE + max_charges = _max + recharge_delay = _delay + recharge_rate = _rate + accepted_slots = _slots + shield_state = _state + broken_state = _broken + recharge_sound = 'sound/magic/charge.ogg' + recharge_end_sound = 'sound/machines/ding.ogg' + if(isitem) + RegisterSignal(target, COMSIG_ITEM_RUN_BLOCK, .proc/on_run_block) + RegisterSignal(target, COMSIG_ITEM_CHECK_BLOCK, .proc/on_check_block) + RegisterSignal(target, COMSIG_ITEM_EQUIPPED, .proc/on_equip) + RegisterSignal(target, COMSIG_ITEM_DROPPED, .proc/on_drop) + else + RegisterSignal(target, COMSIG_LIVING_RUN_BLOCK, .proc/living_block) + var/prior_shields = shields_per_mob[target] + if(prior_shields) + if(!islist(prior_shields)) + shields_per_mob[target] = list(prior_shields, target) + else + prior_shields += target + else + var/mob/living/L = target + var/mutable_appearance/M = mutable_appearance('icons/effects/effects.dmi', shield_state, MOB_LAYER + 0.01) + overlay_per_mob[L] = M + L.add_overlay(M, TRUE) + shields_per_mob[L] = L + charges_per_atom[target] = !isnull(current) ? current : max_charges + last_use_per_atom[target] = 0 + if(recharge_delay) + START_PROCESSING(SSdcs, src) + +/datum/element/shielded/Detach(atom/target) + var/mob/living/L + if(isitem(target)) + UnregisterSignal(target, list(COMSIG_ITEM_RUN_BLOCK,COMSIG_ITEM_CHECK_BLOCK,COMSIG_ITEM_EQUIPPED,COMSIG_ITEM_DROPPED)) + L = isliving(target.loc) ? target.loc : null + else + UnregisterSignal(target, COMSIG_LIVING_RUN_BLOCK) + L = src + if(L) + var/list/shields = shields_per_mob[L] + if(!shields) + return ..() + if(shields == target) //nothing left. + shields_per_mob -= L + var/mutable_appearance/M = overlay_per_mob[L] + L.cut_overlay(M, TRUE) + overlay_per_mob -= L + UnregisterSignal(target, COMSIG_LIVING_GET_BLOCKING_ITEMS) + else //more layers of shielding. + shields -= target + if(length(shields) == 1) + shields_per_mob[L] = shields[1] + charges_per_atom -= target + last_use_per_atom -= target + if(recharge_delay && !length(charges_per_atom)) //nothing left to process. + STOP_PROCESSING(SSdcs, src) + return ..() + +/datum/element/shielded/process() + var/list/checked = list() + for(var/i in last_use_per_atom) + var/atom/movable/A = i + recharge(A, recharge_rate, checked) + +/datum/element/shielded/proc/recharge(atom/movable/A, amount, list/checked = list()) + var/old_charges = charges_per_atom[A] + if(old_charges >= max_charges || world.time < last_use_per_atom[A]) + return + var/new_charges = min(old_charges + recharge_rate, max_charges) + charges_per_atom[A] = new_charges + if(new_charges % 1) + return + var/mob/living/L + var/skip_in = FALSE + if(isitem(A)) + L = isliving(A.loc) ? A.loc : null + else + L = A + skip_in = TRUE + if(L && checked[L]) + return + playsound(A, recharge_sound, 50, 1) + if(new_charges == max_charges) + playsound(A, recharge_sound, 50, 1) + if(L && (skip_in || (A in shields_per_mob[L]))) + var/mutable_appearance/M = overlay_per_mob[L] + M.icon_state = shield_state + checked[L] = TRUE + +/datum/element/shielded/proc/on_equip(obj/item/source, mob/equipper, slot) + if(!(accepted_slots & slotdefine2slotbit(slot))) + return + var/list/shields = shields_per_mob[equipper] + if(!shields) //They have none + RegisterSignal(equipper, COMSIG_LIVING_GET_BLOCKING_ITEMS, .proc/get_shields) + shields_per_mob[equipper] = source + var/mutable_appearance/M = mutable_appearance('icons/effects/effects.dmi', charges_per_atom[source] ? shield_state : broken_state, MOB_LAYER + 0.01) + overlay_per_mob[equipper] = M + equipper.add_overlay(M, TRUE) + else if(!islist(shields)) //They have one + if(shields == equipper) + RegisterSignal(equipper, COMSIG_LIVING_GET_BLOCKING_ITEMS, .proc/get_shields) + shields_per_mob[equipper] = list(shields, source) + else //They have more. + shields += source + +/datum/element/shielded/proc/on_drop(obj/item/source, mob/dropper) + var/list/shields = shields_per_mob[dropper] + if(!shields) + return + if(shields == source) + UnregisterSignal(dropper, COMSIG_LIVING_GET_BLOCKING_ITEMS) + var/mutable_appearance/M = overlay_per_mob[dropper] + dropper.cut_overlay(M, TRUE) + overlay_per_mob -= dropper + shields_per_mob -= dropper + else + shields -= source + if(length(shields) == 1) + shields_per_mob[dropper] = shields[1] + +/datum/element/shielded/proc/get_shields(mob/source, list/items) + items += shields_per_mob[source] + +/datum/element/shielded/proc/on_run_block(obj/item/source, mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) + if(block_return[BLOCK_RETURN_NORMAL_BLOCK_CHANCE] >= 100) //already blocked by another shielded item, don't do anything. + block_return[BLOCK_RETURN_BLOCK_CAPACITY] += round(charges_per_atom[source]) + return BLOCK_NONE + last_use_per_atom[source] = world.time + recharge_delay + if(charges_per_atom[source] < 1) + return BLOCK_NONE + var/datum/effect_system/spark_spread/s = new + s.set_up(2, 1, source) + s.start() + owner.visible_message("[owner]'s shields deflect [attack_text] in a shower of sparks!") + var/charges_left = --charges_per_atom[source] + if(charges_left < 1) + var/list/shields = shields_per_mob[owner] + var/vis_change = TRUE + if(istype(shields)) + for(var/A in shields) + if(charges_per_atom >= 1) + vis_change = FALSE + break + owner.visible_message("[owner]'s shield overloads!") + if(vis_change) + var/mutable_appearance/M = overlay_per_mob[owner] + M.icon_state = broken_state + block_return[BLOCK_RETURN_NORMAL_BLOCK_CHANCE] = 100 + block_return[BLOCK_RETURN_BLOCK_CAPACITY] += charges_left + return BLOCK_SUCCESS | BLOCK_PHYSICAL_EXTERNAL //it's an energy field surrounding you after all. + +/datum/element/shielded/proc/on_check_block(obj/item/source, mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) + if(charges_per_atom[source] < 1) + return + block_return[BLOCK_RETURN_NORMAL_BLOCK_CHANCE] = 100 + block_return[BLOCK_RETURN_BLOCK_CAPACITY] += round(charges_per_atom[source]) + +/datum/element/shielded/proc/living_block(mob/living/source, real_attack, object, damage, attack_text, attack_type, armour_penetration, attacker, def_zone, return_list) + if(!real_attack) + if(charges_per_atom[source] >= 1) + return_list[BLOCK_RETURN_NORMAL_BLOCK_CHANCE] = 100 + return_list[BLOCK_RETURN_BLOCK_CAPACITY] = round(charges_per_atom[source]) + return + last_use_per_atom[source] = world.time + recharge_delay + if(charges_per_atom[source] < 1) + return BLOCK_NONE + var/datum/effect_system/spark_spread/s = new + s.set_up(2, 1, source) + s.start() + source.visible_message("[source]'s shields deflect [attack_text] in a shower of sparks!") + var/charges_left = --charges_per_atom[source] + if(charges_left < 1) + var/list/shields = shields_per_mob[source] + var/vis_change = TRUE + if(istype(shields)) + for(var/A in shields) + if(charges_per_atom >= 1) + vis_change = FALSE + break + source.visible_message("[source]'s shield overloads!") + if(vis_change) + var/mutable_appearance/M = overlay_per_mob[source] + M.icon_state = broken_state + return_list[BLOCK_RETURN_NORMAL_BLOCK_CHANCE] = 100 + return_list[BLOCK_RETURN_BLOCK_CAPACITY] += charges_left + return BLOCK_SUCCESS | BLOCK_PHYSICAL_EXTERNAL diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 8a7092d8a6..1b2d24e36a 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -748,63 +748,20 @@ allowed = null armor = list("melee" = 30, "bullet" = 15, "laser" = 30, "energy" = 10, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 100, "acid" = 100) resistance_flags = FIRE_PROOF | ACID_PROOF - var/current_charges = 3 var/max_charges = 3 //How many charges total the shielding has + var/current_charges //if null, will default to max_chargs var/recharge_delay = 200 //How long after we've been shot before we can start recharging. 20 seconds here - var/recharge_cooldown = 0 //Time since we've last been shot var/recharge_rate = 1 //How quickly the shield recharges once it starts charging var/shield_state = "shield-old" - var/shield_on = "shield-old" /obj/item/clothing/suit/space/hardsuit/shielded/Initialize() . = ..() if(!allowed) allowed = GLOB.advanced_hardsuit_allowed -/obj/item/clothing/suit/space/hardsuit/shielded/check_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) - if(current_charges > 0) - block_return[BLOCK_RETURN_NORMAL_BLOCK_CHANCE] = 100 - block_return[BLOCK_RETURN_BLOCK_CAPACITY] = (block_return[BLOCK_RETURN_BLOCK_CAPACITY] || 0) + current_charges - return ..() - -/obj/item/clothing/suit/space/hardsuit/shielded/run_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) - recharge_cooldown = world.time + recharge_delay - if(current_charges > 0) - var/datum/effect_system/spark_spread/s = new - s.set_up(2, 1, src) - s.start() - owner.visible_message("[owner]'s shields deflect [attack_text] in a shower of sparks!") - current_charges-- - if(recharge_rate) - START_PROCESSING(SSobj, src) - if(current_charges <= 0) - owner.visible_message("[owner]'s shield overloads!") - shield_state = "broken" - owner.update_inv_wear_suit() - return BLOCK_SUCCESS | BLOCK_PHYSICAL_EXTERNAL - return BLOCK_NONE - -/obj/item/clothing/suit/space/hardsuit/shielded/Destroy() - STOP_PROCESSING(SSobj, src) - return ..() - -/obj/item/clothing/suit/space/hardsuit/shielded/process() - if(world.time > recharge_cooldown && current_charges < max_charges) - current_charges = CLAMP((current_charges + recharge_rate), 0, max_charges) - playsound(loc, 'sound/magic/charge.ogg', 50, 1) - if(current_charges == max_charges) - playsound(loc, 'sound/machines/ding.ogg', 50, 1) - STOP_PROCESSING(SSobj, src) - shield_state = "[shield_on]" - if(ishuman(loc)) - var/mob/living/carbon/human/C = loc - C.update_inv_wear_suit() - -/obj/item/clothing/suit/space/hardsuit/shielded/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE) +/obj/item/clothing/suit/space/hardsuit/shielded/ComponentInitialize() . = ..() - if(!isinhands) - var/file2use = style_flags & STYLE_ALL_TAURIC ? 'modular_citadel/icons/mob/64x32_effects.dmi' : 'icons/effects/effects.dmi' - . += mutable_appearance(file2use, shield_state, MOB_LAYER + 0.01) + AddElement(/datum/element/shielded, current_charges, max_charges, recharge_delay, recharge_rate, ITEM_SLOT_OCLOTHING, shield_state) /obj/item/clothing/head/helmet/space/hardsuit/shielded resistance_flags = FIRE_PROOF | ACID_PROOF @@ -833,7 +790,6 @@ hardsuit_type = "ert_security" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/ctf/red shield_state = "shield-red" - shield_on = "shield-red" /obj/item/clothing/suit/space/hardsuit/shielded/ctf/blue name = "blue shielded hardsuit" @@ -896,7 +852,6 @@ item_state = "swat_suit" hardsuit_type = "syndi" max_charges = 4 - current_charges = 4 recharge_delay = 15 armor = list("melee" = 80, "bullet" = 80, "laser" = 50, "energy" = 50, "bomb" = 100, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100) strip_delay = 130 diff --git a/code/modules/clothing/suits/wiz_robe.dm b/code/modules/clothing/suits/wiz_robe.dm index c3ddda2328..e4596825d0 100644 --- a/code/modules/clothing/suits/wiz_robe.dm +++ b/code/modules/clothing/suits/wiz_robe.dm @@ -195,10 +195,9 @@ icon_state = "battlemage" item_state = "battlemage" recharge_rate = 0 + max_charges = INFINITY current_charges = 15 - recharge_cooldown = INFINITY shield_state = "shield-red" - shield_on = "shield-red" min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/wizard @@ -239,6 +238,7 @@ if(!istype(W)) to_chat(user, "The rune can only be used on battlemage armour!") return - W.current_charges += 8 - to_chat(user, "You charge \the [W]. It can now absorb [W.current_charges] hits.") + var/datum/element/shielded/S = SSdcs.GetElement(list(/datum/element/shielded, 0, W.max_charges, W.recharge_delay, W.recharge_rate, ITEM_SLOT_OCLOTHING, W.shield_state)) + S.recharge(W, 8) + to_chat(user, "You charge \the [W]. It can now absorb [S.charges_per_atom[W]] hits.") qdel(src) diff --git a/code/modules/mob/living/carbon/human/human_block.dm b/code/modules/mob/living/carbon/human/human_block.dm index b1a5153ce5..8fe0376a08 100644 --- a/code/modules/mob/living/carbon/human/human_block.dm +++ b/code/modules/mob/living/carbon/human/human_block.dm @@ -1,8 +1,8 @@ /mob/living/carbon/human/get_blocking_items() . = ..() if(wear_suit) - . += wear_suit + . |= wear_suit if(w_uniform) - . += w_uniform + . |= w_uniform if(wear_neck) - . += wear_neck + . |= wear_neck diff --git a/code/modules/mob/living/living_block.dm b/code/modules/mob/living/living_block.dm index d9e3309e47..22940b5846 100644 --- a/code/modules/mob/living/living_block.dm +++ b/code/modules/mob/living/living_block.dm @@ -71,6 +71,7 @@ /// Gets an unsortedlist of objects to run block checks on. /mob/living/proc/get_blocking_items() . = list() + SEND_SIGNAL(src, COMSIG_LIVING_GET_BLOCKING_ITEMS, .) for(var/obj/item/I in held_items) // this is a bad check but i am not removing it until a better catchall is made if(istype(I, /obj/item/clothing)) @@ -85,11 +86,13 @@ /// Runs block and returns flag for do_run_block to process. /obj/item/proc/run_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) - SEND_SIGNAL(src, COMSIG_ITEM_RUN_BLOCK, owner, object, damage, attack_text, attack_type, armour_penetration, attacker, def_zone, final_block_chance, block_return) + . = SEND_SIGNAL(src, COMSIG_ITEM_RUN_BLOCK, owner, object, damage, attack_text, attack_type, armour_penetration, attacker, def_zone, final_block_chance, block_return) + if(. & BLOCK_SUCCESS) + return if(prob(final_block_chance)) owner.visible_message("[owner] blocks [attack_text] with [src]!") - return BLOCK_SUCCESS | BLOCK_PHYSICAL_EXTERNAL - return BLOCK_NONE + return . | BLOCK_SUCCESS | BLOCK_PHYSICAL_EXTERNAL + return . | BLOCK_NONE /// Returns block information using list/block_return. Used for check_block() on mobs. /obj/item/proc/check_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) diff --git a/tgstation.dme b/tgstation.dme index 26bb4e2e5a..593586e98e 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -514,6 +514,7 @@ #include "code\datums\elements\ghost_role_eligibility.dm" #include "code\datums\elements\mob_holder.dm" #include "code\datums\elements\polychromic.dm" +#include "code\datums\elements\shielded.dm" #include "code\datums\elements\spellcasting.dm" #include "code\datums\elements\swimming.dm" #include "code\datums\elements\sword_point.dm" From 9c8f6cd00fedff0caf02eb0e83d7c0dc12aa28e3 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sun, 19 Apr 2020 02:03:05 +0200 Subject: [PATCH 068/131] peeves. --- code/datums/elements/shielded.dm | 10 +++++----- code/modules/clothing/suits/wiz_robe.dm | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/code/datums/elements/shielded.dm b/code/datums/elements/shielded.dm index 913c2df934..b9c8c094f6 100644 --- a/code/datums/elements/shielded.dm +++ b/code/datums/elements/shielded.dm @@ -3,7 +3,7 @@ id_arg_index = 3 var/max_charges = 3 var/recharge_delay = 20 SECONDS //How long after we've been shot before we can start recharging. - var/recharge_rate = 1 //How quickly the shield recharges once it starts charging. Can be a decimal. + var/recharge_rate = 1 //How quickly the shield recharges once it starts charging. Can be a decimal. set to zero to disable. var/accepted_slots var/shield_state = "shield-old" //the state of the shield overlay. var/broken_state //null @@ -85,13 +85,13 @@ var/atom/movable/A = i recharge(A, recharge_rate, checked) -/datum/element/shielded/proc/recharge(atom/movable/A, amount, list/checked = list()) +/datum/element/shielded/proc/recharge(atom/movable/A, amount, list/checked = list(), forced = FALSE) var/old_charges = charges_per_atom[A] - if(old_charges >= max_charges || world.time < last_use_per_atom[A]) + if(old_charges >= max_charges || (!forced && world.time < last_use_per_atom[A])) return - var/new_charges = min(old_charges + recharge_rate, max_charges) + var/new_charges = CLAMP(old_charges + recharge_rate, 0, max_charges) charges_per_atom[A] = new_charges - if(new_charges % 1) + if(round(old_charges) >= round(new_charges)) //only send outputs if it effectively gained at least one charge return var/mob/living/L var/skip_in = FALSE diff --git a/code/modules/clothing/suits/wiz_robe.dm b/code/modules/clothing/suits/wiz_robe.dm index e4596825d0..6c61cf1255 100644 --- a/code/modules/clothing/suits/wiz_robe.dm +++ b/code/modules/clothing/suits/wiz_robe.dm @@ -239,6 +239,6 @@ to_chat(user, "The rune can only be used on battlemage armour!") return var/datum/element/shielded/S = SSdcs.GetElement(list(/datum/element/shielded, 0, W.max_charges, W.recharge_delay, W.recharge_rate, ITEM_SLOT_OCLOTHING, W.shield_state)) - S.recharge(W, 8) + S.recharge(W, 8, forced = TRUE) to_chat(user, "You charge \the [W]. It can now absorb [S.charges_per_atom[W]] hits.") qdel(src) From d5a43be181932795f71f0bf5285d29bc4e7bfe84 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sun, 19 Apr 2020 03:07:45 +0200 Subject: [PATCH 069/131] Removes that one in a thousands chance of being spawned in the syndicate infiltrator roundstart. --- code/controllers/subsystem/job.dm | 2 ++ code/game/objects/effects/landmarks.dm | 2 ++ 2 files changed, 4 insertions(+) diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm index 91d0db85d1..7c48adef24 100644 --- a/code/controllers/subsystem/job.dm +++ b/code/controllers/subsystem/job.dm @@ -428,6 +428,8 @@ SUBSYSTEM_DEF(job) if(!joined_late) var/obj/S = null for(var/obj/effect/landmark/start/sloc in GLOB.start_landmarks_list) + if(!sloc.job_spawnpoint) + continue if(sloc.name != rank) S = sloc //so we can revert to spawning them on top of eachother if something goes wrong continue diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index 4ed6dc9dc9..04f14692e3 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -36,6 +36,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark) var/jobspawn_override = FALSE var/delete_after_roundstart = TRUE var/used = FALSE + var/job_spawnpoint = TRUE //Is it a potential job spawnpoint or should we skip it? /obj/effect/landmark/start/proc/after_round_start() if(delete_after_roundstart) @@ -281,6 +282,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark/start/new_player) name = "bomb or clown beacon spawner" var/nukie_path = /obj/item/sbeacondrop/bomb var/clown_path = /obj/item/sbeacondrop/clownbomb + job_spawnpoint = FALSE /obj/effect/landmark/start/nuclear_equipment/after_round_start() var/npath = nukie_path From 98081aa56bcc999bb918b304a9294e4a91af8b61 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sun, 19 Apr 2020 03:15:51 +0200 Subject: [PATCH 070/131] Some mispelled filepaths. --- .../new_player/sprite_accessories/{pines.dm => spines.dm} | 0 code/modules/vending/{drinnerware.dm => dinnerware.dm} | 0 tgstation.dme | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) rename code/modules/mob/dead/new_player/sprite_accessories/{pines.dm => spines.dm} (100%) rename code/modules/vending/{drinnerware.dm => dinnerware.dm} (100%) diff --git a/code/modules/mob/dead/new_player/sprite_accessories/pines.dm b/code/modules/mob/dead/new_player/sprite_accessories/spines.dm similarity index 100% rename from code/modules/mob/dead/new_player/sprite_accessories/pines.dm rename to code/modules/mob/dead/new_player/sprite_accessories/spines.dm diff --git a/code/modules/vending/drinnerware.dm b/code/modules/vending/dinnerware.dm similarity index 100% rename from code/modules/vending/drinnerware.dm rename to code/modules/vending/dinnerware.dm diff --git a/tgstation.dme b/tgstation.dme index 26bb4e2e5a..3a9b087896 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -2220,9 +2220,9 @@ #include "code\modules\mob\dead\new_player\sprite_accessories\horns.dm" #include "code\modules\mob\dead\new_player\sprite_accessories\ipc_synths.dm" #include "code\modules\mob\dead\new_player\sprite_accessories\legs_and_taurs.dm" -#include "code\modules\mob\dead\new_player\sprite_accessories\pines.dm" #include "code\modules\mob\dead\new_player\sprite_accessories\snouts.dm" #include "code\modules\mob\dead\new_player\sprite_accessories\socks.dm" +#include "code\modules\mob\dead\new_player\sprite_accessories\spines.dm" #include "code\modules\mob\dead\new_player\sprite_accessories\synthliz.dm" #include "code\modules\mob\dead\new_player\sprite_accessories\tails.dm" #include "code\modules\mob\dead\new_player\sprite_accessories\undershirt.dm" @@ -3207,7 +3207,7 @@ #include "code\modules\vending\clothesmate.dm" #include "code\modules\vending\coffee.dm" #include "code\modules\vending\cola.dm" -#include "code\modules\vending\drinnerware.dm" +#include "code\modules\vending\dinnerware.dm" #include "code\modules\vending\engineering.dm" #include "code\modules\vending\engivend.dm" #include "code\modules\vending\games.dm" From 42b81fee3da81d4d804f12e53ae68de49338a710 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sat, 18 Apr 2020 21:57:36 -0400 Subject: [PATCH 071/131] Update drink_reagents.dm --- .../chemistry/reagents/drink_reagents.dm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index 475a6a80fb..85f474920b 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -383,7 +383,7 @@ /datum/reagent/consumable/space_cola name = "Cola" description = "A refreshing beverage." - nutriment_factor = 0 + nutriment_factor = 0.5 * REAGENTS_METABOLISM color = "#100800" // rgb: 16, 8, 0 taste_description = "cola" glass_icon_state = "glass_brown" @@ -418,7 +418,7 @@ /datum/reagent/consumable/spacemountainwind name = "SM Wind" description = "Blows right through you like a space wind." - nutriment_factor = 0 + nutriment_factor = 0.5 * REAGENTS_METABOLISM color = "#102000" // rgb: 16, 32, 0 taste_description = "sweet citrus soda" glass_icon_state = "Space_mountain_wind_glass" @@ -436,7 +436,7 @@ /datum/reagent/consumable/dr_gibb name = "Dr. Gibb" description = "A delicious blend of 42 different flavours." - nutriment_factor = 0 + nutriment_factor = 0.5 * REAGENTS_METABOLISM color = "#102000" // rgb: 16, 32, 0 taste_description = "cherry soda" // FALSE ADVERTISING glass_icon_state = "dr_gibb_glass" @@ -451,7 +451,7 @@ /datum/reagent/consumable/space_up name = "Space-Up" description = "Tastes like a hull breach in your mouth." - nutriment_factor = 0 + nutriment_factor = 0.5 * REAGENTS_METABOLISM color = "#00FF00" // rgb: 0, 255, 0 taste_description = "cherry soda" glass_icon_state = "space-up_glass" @@ -466,7 +466,7 @@ /datum/reagent/consumable/lemon_lime name = "Lemon Lime" description = "A tangy substance made of 0.5% natural citrus!" - nutriment_factor = 0 + nutriment_factor = 0.5 * REAGENTS_METABOLISM color = "#8CFF00" // rgb: 135, 255, 0 taste_description = "tangy lime and lemon soda" glass_icon_state = "glass_yellow" @@ -480,7 +480,7 @@ /datum/reagent/consumable/pwr_game name = "Pwr Game" description = "The only drink with the PWR that true gamers crave." - nutriment_factor = 0 + nutriment_factor = 0.5 * REAGENTS_METABOLISM color = "#9385bf" // rgb: 58, 52, 75 taste_description = "sweet and salty tang" glass_icon_state = "glass_red" @@ -494,7 +494,7 @@ /datum/reagent/consumable/shamblers name = "Shambler's Juice" description = "~Shake me up some of that Shambler's Juice!~" - nutriment_factor = 0 + nutriment_factor = 0.5 * REAGENTS_METABOLISM color = "#f00060" // rgb: 94, 0, 38 taste_description = "carbonated metallic soda" glass_icon_state = "glass_red" @@ -854,7 +854,7 @@ /datum/reagent/consumable/sol_dry name = "Sol Dry" description = "A soothing, mellow drink made from ginger." - nutriment_factor = 0 + nutriment_factor = 0.5 * REAGENTS_METABOLISM color = "#f7d26a" quality = DRINK_NICE taste_description = "sweet ginger spice" From 2039fb80e6f8b00c96a41a25ce466f4449ca1d9d Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sat, 18 Apr 2020 22:37:05 -0400 Subject: [PATCH 072/131] Update fancy.dm --- code/game/objects/items/storage/fancy.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm index 3bc90d3615..f32532537b 100644 --- a/code/game/objects/items/storage/fancy.dm +++ b/code/game/objects/items/storage/fancy.dm @@ -274,6 +274,7 @@ w_class = WEIGHT_CLASS_TINY icon = 'icons/obj/cigarettes.dmi' icon_state = "cig_paper_pack" +///The value in here has NOTHING to do with icons. It needs to be this for the proper examine. icon_type = "rolling paper" spawn_type = /obj/item/rollingpaper @@ -283,6 +284,10 @@ STR.max_items = 10 STR.can_hold = typecacheof(list(/obj/item/rollingpaper)) +///Overrides to do nothing because fancy boxes are fucking insane. +/obj/item/storage/fancy/rollingpapers/update_icon_state() + return + /obj/item/storage/fancy/rollingpapers/update_overlays() . = ..() if(!contents.len) From 792af56b67c7e889ec6b8e7aadfa7bfd6b6b6b1f Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 19 Apr 2020 00:48:51 -0700 Subject: [PATCH 073/131] Update riding.dm --- code/datums/components/riding.dm | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/datums/components/riding.dm b/code/datums/components/riding.dm index 4e0dfb343f..4d8cfc4412 100644 --- a/code/datums/components/riding.dm +++ b/code/datums/components/riding.dm @@ -84,10 +84,8 @@ if(offsetdir == AM_dir) var/list/diroffsets = offsets[offsetdir] buckled_mob.pixel_x = diroffsets[1] - message_admins(diroffsets[1]) if(diroffsets.len >= 2) buckled_mob.pixel_y = diroffsets[2] - message_admins(diroffsets[2]) if(diroffsets.len == 3) buckled_mob.layer = diroffsets[3] break From 8551998833bf1fedae6d049cc29780603146bc68 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sun, 19 Apr 2020 14:07:13 +0200 Subject: [PATCH 074/131] Update critter.dm --- .../game/objects/structures/crates_lockers/crates/critter.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/game/objects/structures/crates_lockers/crates/critter.dm b/code/game/objects/structures/crates_lockers/crates/critter.dm index 3dbbfd5c23..4b33f33c99 100644 --- a/code/game/objects/structures/crates_lockers/crates/critter.dm +++ b/code/game/objects/structures/crates_lockers/crates/critter.dm @@ -22,6 +22,9 @@ return ..() +/obj/structure/closet/crate/critter/update_icon_state() + return + /obj/structure/closet/crate/critter/closet_update_overlays(list/new_overlays) . = new_overlays if(opened) @@ -35,4 +38,4 @@ if(tank) return tank.air_contents else - return loc.return_air() \ No newline at end of file + return loc.return_air() From dc5c8fb657c713bebd777cdd8e57f5386482145b Mon Sep 17 00:00:00 2001 From: Winter Flare <7543955+Owai-Seek@users.noreply.github.com> Date: Sun, 19 Apr 2020 17:00:48 -0400 Subject: [PATCH 075/131] Ups Crab Meat from 1 to 4 --- code/modules/mob/living/simple_animal/friendly/crab.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/simple_animal/friendly/crab.dm b/code/modules/mob/living/simple_animal/friendly/crab.dm index 9e1ae48bdd..cce5edc513 100644 --- a/code/modules/mob/living/simple_animal/friendly/crab.dm +++ b/code/modules/mob/living/simple_animal/friendly/crab.dm @@ -11,7 +11,7 @@ blood_volume = 350 speak_chance = 1 turns_per_move = 5 - butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/rawcrab = 1) + butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/rawcrab = 4) response_help = "pets" response_disarm = "gently pushes aside" response_harm = "stomps" From 8e3f48a76146bbe5c6e453b572ff7d28538777d1 Mon Sep 17 00:00:00 2001 From: Winter Flare <7543955+Owai-Seek@users.noreply.github.com> Date: Sun, 19 Apr 2020 17:13:19 -0400 Subject: [PATCH 076/131] Reduces (or gives) weight classes to several items. --- code/modules/recycling/conveyor2.dm | 2 +- modular_citadel/code/modules/arousal/organs/breasts.dm | 1 + modular_citadel/code/modules/arousal/organs/penis.dm | 1 + modular_citadel/code/modules/arousal/organs/testicles.dm | 1 + modular_citadel/code/modules/arousal/organs/vagina.dm | 1 + modular_citadel/code/modules/arousal/organs/womb.dm | 1 + 6 files changed, 6 insertions(+), 1 deletion(-) diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm index 425c94cd65..600ee4ad14 100644 --- a/code/modules/recycling/conveyor2.dm +++ b/code/modules/recycling/conveyor2.dm @@ -330,7 +330,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) desc = "A conveyor control switch assembly." icon = 'icons/obj/recycling.dmi' icon_state = "switch-off" - w_class = WEIGHT_CLASS_BULKY + w_class = WEIGHT_CLASS_NORMAL var/id = "" //inherited by the switch /obj/item/conveyor_switch_construct/Initialize() diff --git a/modular_citadel/code/modules/arousal/organs/breasts.dm b/modular_citadel/code/modules/arousal/organs/breasts.dm index c936eb9dc4..82c4f616bb 100644 --- a/modular_citadel/code/modules/arousal/organs/breasts.dm +++ b/modular_citadel/code/modules/arousal/organs/breasts.dm @@ -6,6 +6,7 @@ desc = "Female milk producing organs." icon_state = "breasts" icon = 'modular_citadel/icons/obj/genitals/breasts.dmi' + w_class = WEIGHT_CLASS_SMALL zone = BODY_ZONE_CHEST slot = ORGAN_SLOT_BREASTS size = BREASTS_SIZE_DEF // "c". Refer to the breast_values static list below for the cups associated number values diff --git a/modular_citadel/code/modules/arousal/organs/penis.dm b/modular_citadel/code/modules/arousal/organs/penis.dm index c05549aaa0..387e687389 100644 --- a/modular_citadel/code/modules/arousal/organs/penis.dm +++ b/modular_citadel/code/modules/arousal/organs/penis.dm @@ -3,6 +3,7 @@ desc = "A male reproductive organ." icon_state = "penis" icon = 'modular_citadel/icons/obj/genitals/penis.dmi' + w_class = WEIGHT_CLASS_SMALL zone = BODY_ZONE_PRECISE_GROIN slot = ORGAN_SLOT_PENIS masturbation_verb = "stroke" diff --git a/modular_citadel/code/modules/arousal/organs/testicles.dm b/modular_citadel/code/modules/arousal/organs/testicles.dm index a8946294b1..bcc5def02a 100644 --- a/modular_citadel/code/modules/arousal/organs/testicles.dm +++ b/modular_citadel/code/modules/arousal/organs/testicles.dm @@ -3,6 +3,7 @@ desc = "A male reproductive organ." icon_state = "testicles" icon = 'modular_citadel/icons/obj/genitals/testicles.dmi' + w_class = WEIGHT_CLASS_SMALL zone = BODY_ZONE_PRECISE_GROIN slot = ORGAN_SLOT_TESTICLES size = BALLS_SIZE_MIN diff --git a/modular_citadel/code/modules/arousal/organs/vagina.dm b/modular_citadel/code/modules/arousal/organs/vagina.dm index cdc7dc4927..bc89418ece 100644 --- a/modular_citadel/code/modules/arousal/organs/vagina.dm +++ b/modular_citadel/code/modules/arousal/organs/vagina.dm @@ -3,6 +3,7 @@ desc = "A female reproductive organ." icon = 'modular_citadel/icons/obj/genitals/vagina.dmi' icon_state = ORGAN_SLOT_VAGINA + w_class = WEIGHT_CLASS_SMALL zone = BODY_ZONE_PRECISE_GROIN slot = "vagina" size = 1 //There is only 1 size right now diff --git a/modular_citadel/code/modules/arousal/organs/womb.dm b/modular_citadel/code/modules/arousal/organs/womb.dm index 7f91310e3e..8bd3dddd7e 100644 --- a/modular_citadel/code/modules/arousal/organs/womb.dm +++ b/modular_citadel/code/modules/arousal/organs/womb.dm @@ -3,6 +3,7 @@ desc = "A female reproductive organ." icon = 'modular_citadel/icons/obj/genitals/vagina.dmi' icon_state = "womb" + w_class = WEIGHT_CLASS_SMALL zone = BODY_ZONE_PRECISE_GROIN slot = ORGAN_SLOT_WOMB genital_flags = GENITAL_INTERNAL|GENITAL_FUID_PRODUCTION From b8ff1b16bd9648a7b83e31fd49b5d93f76fa1b7b Mon Sep 17 00:00:00 2001 From: Winter Flare <7543955+Owai-Seek@users.noreply.github.com> Date: Sun, 19 Apr 2020 17:28:07 -0400 Subject: [PATCH 077/131] Better. --- modular_citadel/code/modules/arousal/genitals.dm | 2 +- modular_citadel/code/modules/arousal/organs/breasts.dm | 1 - modular_citadel/code/modules/arousal/organs/penis.dm | 1 - modular_citadel/code/modules/arousal/organs/testicles.dm | 1 - modular_citadel/code/modules/arousal/organs/vagina.dm | 1 - modular_citadel/code/modules/arousal/organs/womb.dm | 1 - 6 files changed, 1 insertion(+), 6 deletions(-) diff --git a/modular_citadel/code/modules/arousal/genitals.dm b/modular_citadel/code/modules/arousal/genitals.dm index 68e9259183..e0e1b37a3d 100644 --- a/modular_citadel/code/modules/arousal/genitals.dm +++ b/modular_citadel/code/modules/arousal/genitals.dm @@ -1,6 +1,6 @@ /obj/item/organ/genital color = "#fcccb3" - w_class = WEIGHT_CLASS_NORMAL + w_class = WEIGHT_CLASS_SMALL var/shape var/sensitivity = 1 // wow if this were ever used that'd be cool but it's not but i'm keeping it for my unshit code var/genital_flags //see citadel_defines.dm diff --git a/modular_citadel/code/modules/arousal/organs/breasts.dm b/modular_citadel/code/modules/arousal/organs/breasts.dm index 82c4f616bb..c936eb9dc4 100644 --- a/modular_citadel/code/modules/arousal/organs/breasts.dm +++ b/modular_citadel/code/modules/arousal/organs/breasts.dm @@ -6,7 +6,6 @@ desc = "Female milk producing organs." icon_state = "breasts" icon = 'modular_citadel/icons/obj/genitals/breasts.dmi' - w_class = WEIGHT_CLASS_SMALL zone = BODY_ZONE_CHEST slot = ORGAN_SLOT_BREASTS size = BREASTS_SIZE_DEF // "c". Refer to the breast_values static list below for the cups associated number values diff --git a/modular_citadel/code/modules/arousal/organs/penis.dm b/modular_citadel/code/modules/arousal/organs/penis.dm index 387e687389..c05549aaa0 100644 --- a/modular_citadel/code/modules/arousal/organs/penis.dm +++ b/modular_citadel/code/modules/arousal/organs/penis.dm @@ -3,7 +3,6 @@ desc = "A male reproductive organ." icon_state = "penis" icon = 'modular_citadel/icons/obj/genitals/penis.dmi' - w_class = WEIGHT_CLASS_SMALL zone = BODY_ZONE_PRECISE_GROIN slot = ORGAN_SLOT_PENIS masturbation_verb = "stroke" diff --git a/modular_citadel/code/modules/arousal/organs/testicles.dm b/modular_citadel/code/modules/arousal/organs/testicles.dm index bcc5def02a..a8946294b1 100644 --- a/modular_citadel/code/modules/arousal/organs/testicles.dm +++ b/modular_citadel/code/modules/arousal/organs/testicles.dm @@ -3,7 +3,6 @@ desc = "A male reproductive organ." icon_state = "testicles" icon = 'modular_citadel/icons/obj/genitals/testicles.dmi' - w_class = WEIGHT_CLASS_SMALL zone = BODY_ZONE_PRECISE_GROIN slot = ORGAN_SLOT_TESTICLES size = BALLS_SIZE_MIN diff --git a/modular_citadel/code/modules/arousal/organs/vagina.dm b/modular_citadel/code/modules/arousal/organs/vagina.dm index bc89418ece..cdc7dc4927 100644 --- a/modular_citadel/code/modules/arousal/organs/vagina.dm +++ b/modular_citadel/code/modules/arousal/organs/vagina.dm @@ -3,7 +3,6 @@ desc = "A female reproductive organ." icon = 'modular_citadel/icons/obj/genitals/vagina.dmi' icon_state = ORGAN_SLOT_VAGINA - w_class = WEIGHT_CLASS_SMALL zone = BODY_ZONE_PRECISE_GROIN slot = "vagina" size = 1 //There is only 1 size right now diff --git a/modular_citadel/code/modules/arousal/organs/womb.dm b/modular_citadel/code/modules/arousal/organs/womb.dm index 8bd3dddd7e..7f91310e3e 100644 --- a/modular_citadel/code/modules/arousal/organs/womb.dm +++ b/modular_citadel/code/modules/arousal/organs/womb.dm @@ -3,7 +3,6 @@ desc = "A female reproductive organ." icon = 'modular_citadel/icons/obj/genitals/vagina.dmi' icon_state = "womb" - w_class = WEIGHT_CLASS_SMALL zone = BODY_ZONE_PRECISE_GROIN slot = ORGAN_SLOT_WOMB genital_flags = GENITAL_INTERNAL|GENITAL_FUID_PRODUCTION From 5376ca81b5bb7b355903627207383061a742730d Mon Sep 17 00:00:00 2001 From: Detective Google <48196179+Detective-Google@users.noreply.github.com> Date: Sun, 19 Apr 2020 16:57:02 -0500 Subject: [PATCH 078/131] Turns chaplain null rod selection into a radial function(port TG#50512) --- code/game/objects/items/holy_weapons.dm | 35 ++++++++++++++++++++----- 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index c262920ec5..5c926e4ca9 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -239,23 +239,31 @@ if(user.mind && (user.mind.isholy) && !reskinned) reskin_holy_weapon(user) +/** + * reskin_holy_weapon: Shows a user a list of all available nullrod reskins and based on his choice replaces the nullrod with the reskinned version + * + * Arguments: + * * M The mob choosing a nullrod reskin + */ /obj/item/nullrod/proc/reskin_holy_weapon(mob/living/L) if(GLOB.holy_weapon_type) return - var/obj/item/holy_weapon - var/list/holy_weapons_list = subtypesof(/obj/item/nullrod) + list(HOLY_WEAPONS) var/list/display_names = list() - for(var/V in holy_weapons_list) + var/list/nullrod_icons = list() + for(var/V in typesof(/obj/item/nullrod)) var/obj/item/nullrod/rodtype = V if (initial(rodtype.chaplain_spawnable)) display_names[initial(rodtype.name)] = rodtype + nullrod_icons += list(initial(rodtype.name) = image(icon = initial(rodtype.icon), icon_state = initial(rodtype.icon_state))) - var/choice = input(L, "What theme would you like for your holy weapon?","Holy Weapon Theme") as null|anything in display_names - if(QDELETED(src) || !choice || !in_range(L, src) || !CHECK_MOBILITY(L, MOBILITY_USE) || reskinned) + nullrod_icons = sortList(nullrod_icons) + + var/choice = show_radial_menu(L, src , nullrod_icons, custom_check = CALLBACK(src, .proc/check_menu, L), radius = 42, require_near = TRUE) + if(!choice || !check_menu(L)) return var/A = display_names[choice] // This needs to be on a separate var as list member access is not allowed for new - holy_weapon = new A + var/obj/item/nullrod/holy_weapon = new A GLOB.holy_weapon_type = holy_weapon.type @@ -266,6 +274,21 @@ qdel(src) L.put_in_active_hand(holy_weapon) +/** + * check_menu: Checks if we are allowed to interact with a radial menu + * + * Arguments: + * * user The mob interacting with a menu + */ +/obj/item/nullrod/proc/check_menu(mob/user) + if(!istype(user)) + return FALSE + if(QDELETED(src) || reskinned) + return FALSE + if(user.incapacitated() || !user.is_holding(src)) + return FALSE + return TRUE + /obj/item/nullrod/proc/jedi_spin(mob/living/user) for(var/i in list(NORTH,SOUTH,EAST,WEST,EAST,SOUTH,NORTH,SOUTH,EAST,WEST,EAST,SOUTH)) user.setDir(i) From 0c2f0a99d538781347ae4d8d8a666b0a844af175 Mon Sep 17 00:00:00 2001 From: Detective Google <48196179+Detective-Google@users.noreply.github.com> Date: Sun, 19 Apr 2020 17:18:40 -0500 Subject: [PATCH 079/131] fixes the fact that some citadel null rods aren't null rod subtypes --- code/game/objects/items/holy_weapons.dm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index 5c926e4ca9..171b5a465a 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -248,9 +248,11 @@ /obj/item/nullrod/proc/reskin_holy_weapon(mob/living/L) if(GLOB.holy_weapon_type) return + var/obj/item/holy_weapon + var/list/holy_weapons_list = subtypesof(/obj/item/nullrod) + list(HOLY_WEAPONS) var/list/display_names = list() var/list/nullrod_icons = list() - for(var/V in typesof(/obj/item/nullrod)) + for(var/V in holy_weapons_list) var/obj/item/nullrod/rodtype = V if (initial(rodtype.chaplain_spawnable)) display_names[initial(rodtype.name)] = rodtype @@ -263,7 +265,7 @@ return var/A = display_names[choice] // This needs to be on a separate var as list member access is not allowed for new - var/obj/item/nullrod/holy_weapon = new A + holy_weapon = new A GLOB.holy_weapon_type = holy_weapon.type From c3905c8c2b244e9cdc2ef7d4ac18c432569aa20e Mon Sep 17 00:00:00 2001 From: kiwedespars <47008095+kiwedespars@users.noreply.github.com> Date: Sun, 19 Apr 2020 15:56:31 -0700 Subject: [PATCH 080/131] Update uplink_kits.dm --- code/game/objects/items/storage/uplink_kits.dm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm index 037ae51e30..293735c598 100644 --- a/code/game/objects/items/storage/uplink_kits.dm +++ b/code/game/objects/items/storage/uplink_kits.dm @@ -494,4 +494,14 @@ new item1(src) // Create three, non repeat items from the list. new item2(src) new item3(src) - new /obj/item/paper/contractor_guide(src) //Paper guide \ No newline at end of file + new /obj/item/paper/contractor_guide(src) //Paper guide + + +/obj/item/storage/box/syndie_kit/northstar + +/obj/item/storage/box/syndie_kit/northstar/PopulateContents() + new /obj/item/clothing/gloves/fingerless/pugilist/rapid(src) + new /obj/item/clothing/accessory/padding(src) + new /obj/item/clothing/under/chameleon(src) + new /obj/item/storage/fancy/cigarettes/cigpack_syndicate(src) + new /obj/item/lighter(src) From 2c362dd84f83627c2ac20d63581de5e11a369b13 Mon Sep 17 00:00:00 2001 From: kiwedespars <47008095+kiwedespars@users.noreply.github.com> Date: Sun, 19 Apr 2020 15:58:31 -0700 Subject: [PATCH 081/131] Update uplink_bundles.dm --- code/modules/uplink/uplink_items/uplink_bundles.dm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/code/modules/uplink/uplink_items/uplink_bundles.dm b/code/modules/uplink/uplink_items/uplink_bundles.dm index a748f49322..a85c8d53fe 100644 --- a/code/modules/uplink/uplink_items/uplink_bundles.dm +++ b/code/modules/uplink/uplink_items/uplink_bundles.dm @@ -41,6 +41,16 @@ player_minimum = 15 exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) +/datum/uplink_item/bundles_TC/northstar_bundle + name = "Northstar Bundle" + desc = "An item usually reserved for the Gorlex Marauders and their operatives, now available for recreational use. \ + These armbands let the user punch people very fast and with the lethality of a legendary martial artist. \ + Does not improve weapon attack speed or the meaty fists of a hulk, but you will be unmatched in martial power. \ + Combines with all martial arts, but the user will be unable to bring themselves to use guns, nor remove the armbands." + item = /obj/item/storage/box/syndie_kit/northstar + cost = 20 + exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + /datum/uplink_item/suits/infiltrator_bundle name = "Insidious Infiltration Gear Case" desc = "Developed by Roseus Galactic in conjunction with the Gorlex Marauders to produce a functional suit for urban operations, \ @@ -197,4 +207,4 @@ name = "20 Raw Telecrystals" desc = "Twenty telecrystals in their rawest and purest form; can be utilized on active uplinks to increase their telecrystal count." item = /obj/item/stack/telecrystal/twenty - cost = 20 \ No newline at end of file + cost = 20 From 25b1b889dcad639f96c56d26b885b2dffe0f6eb3 Mon Sep 17 00:00:00 2001 From: TrilbySpaceClone Date: Sun, 19 Apr 2020 19:09:20 -0400 Subject: [PATCH 082/131] amazing truely amazing --- code/game/objects/items/storage/bags.dm | 2 +- code/game/objects/items/storage/boxes.dm | 4 +- code/modules/cargo/packs/organic.dm | 2 +- .../food_and_drinks/food/snacks_meat.dm | 96 +++++++++++++------ .../kitchen_machinery/monkeyrecycler.dm | 2 +- .../recipes/tablecraft/recipes_salad.dm | 2 +- code/modules/mining/machine_vending.dm | 2 +- .../chemistry/reagents/other_reagents.dm | 6 +- .../chemistry/recipes/slime_extracts.dm | 2 +- .../research/designs/biogenerator_designs.dm | 2 +- .../crossbreeding/_status_effects.dm | 4 +- .../xenobiology/crossbreeding/industrial.dm | 2 +- .../xenobiology/crossbreeding/reproductive.dm | 6 +- .../research/xenobiology/xenobio_camera.dm | 4 +- .../research/xenobiology/xenobiology.dm | 2 +- code/modules/vending/drinnerware.dm | 2 +- 16 files changed, 88 insertions(+), 52 deletions(-) diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index 103dabdeec..52802fa3df 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -412,7 +412,7 @@ STR.max_combined_w_class = 200 STR.max_items = 25 STR.insert_preposition = "in" - STR.can_hold = typecacheof(list(/obj/item/slime_extract, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/blood, /obj/item/reagent_containers/hypospray/medipen, /obj/item/reagent_containers/food/snacks/deadmouse, /obj/item/reagent_containers/food/snacks/monkeycube, /obj/item/organ, /obj/item/reagent_containers/food/snacks/meat/slab, /obj/item/bodypart)) + STR.can_hold = typecacheof(list(/obj/item/slime_extract, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/blood, /obj/item/reagent_containers/hypospray/medipen, /obj/item/reagent_containers/food/snacks/deadmouse, /obj/item/reagent_containers/food/snacks/cube, /obj/item/organ, /obj/item/reagent_containers/food/snacks/meat/slab, /obj/item/bodypart)) STR.cant_hold = typecacheof(list(/obj/item/organ/brain, /obj/item/organ/liver/cybernetic, /obj/item/organ/heart/cybernetic, /obj/item/organ/lungs/cybernetic, /obj/item/organ/tongue/cybernetic, /obj/item/organ/ears/cybernetic, /obj/item/organ/eyes/robotic, /obj/item/organ/cyberimp)) /obj/item/storage/bag/bio/holding diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index 515c39ffcb..d8e507050b 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -454,11 +454,11 @@ . = ..() var/datum/component/storage/STR = GetComponent(/datum/component/storage) STR.max_items = 7 - STR.can_hold = typecacheof(list(/obj/item/reagent_containers/food/snacks/monkeycube)) + STR.can_hold = typecacheof(list(/obj/item/reagent_containers/food/snacks/cube/monkey)) /obj/item/storage/box/monkeycubes/PopulateContents() for(var/i in 1 to 5) - new /obj/item/reagent_containers/food/snacks/monkeycube(src) + new /obj/item/reagent_containers/food/snacks/cube/monkey(src) /obj/item/storage/box/ids name = "box of spare IDs" diff --git a/code/modules/cargo/packs/organic.dm b/code/modules/cargo/packs/organic.dm index 97b7636f58..22cb518926 100644 --- a/code/modules/cargo/packs/organic.dm +++ b/code/modules/cargo/packs/organic.dm @@ -205,7 +205,7 @@ desc = "Need some meat? With this do-it-yourself kit you'll be swimming in it! Contains a monkey cube, an IV drip, and some cryoxadone!" cost = 2150 contraband = TRUE - contains = list(/obj/item/reagent_containers/food/snacks/monkeycube, + contains = list(/obj/item/reagent_containers/food/snacks/cube/monkey, /obj/item/restraints/handcuffs/cable, /obj/machinery/iv_drip, /obj/item/reagent_containers/glass/beaker/cryoxadone, diff --git a/code/modules/food_and_drinks/food/snacks_meat.dm b/code/modules/food_and_drinks/food/snacks_meat.dm index 7e831b6cd6..b802aea31a 100644 --- a/code/modules/food_and_drinks/food/snacks_meat.dm +++ b/code/modules/food_and_drinks/food/snacks_meat.dm @@ -222,36 +222,6 @@ tastes = list("meat" = 1, "onions" = 1, "garlic" = 1) foodtype = MEAT -/obj/item/reagent_containers/food/snacks/monkeycube - name = "monkey cube" - desc = "Just add water!" - icon_state = "monkeycube" - bitesize = 12 - list_reagents = list(/datum/reagent/consumable/nutriment = 2) - filling_color = "#CD853F" - tastes = list("the jungle" = 1, "bananas" = 1) - foodtype = MEAT | SUGAR - -/obj/item/reagent_containers/food/snacks/monkeycube/On_Consume(mob/living/carbon/M) - if(iscarbon(M)) - M.visible_message("[src] bursts out of [M]!
") - M.emote("scream") - M.DefaultCombatKnockdown(40) - M.adjustBruteLoss(60) - Expand() - return TRUE - return ..() - -/obj/item/reagent_containers/food/snacks/monkeycube/proc/Expand() - var/mob/spammer = get_mob_by_key(fingerprintslast) - var/mob/living/carbon/monkey/bananas = new(drop_location(), TRUE, spammer) - if (!QDELETED(bananas)) - visible_message("[src] expands!") - bananas.log_message("Spawned via [src] at [AREACOORD(src)], Last attached mob: [key_name(spammer)].", LOG_ATTACK) - else if (!spammer) // Visible message in case there are no fingerprints - visible_message("[src] fails to expand!") - qdel(src) - /obj/item/reagent_containers/food/snacks/enchiladas name = "enchiladas" desc = "Viva La Mexico!" @@ -372,3 +342,69 @@ bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1) tastes = list("meat" = 3, "smokey sauce" = 1) foodtype = MEAT + +////////////// Cubes ////////// + +/obj/item/reagent_containers/food/snacks/cube + name = "debug cube" + desc = "Just add water!" + icon_state = "monkeycube" + bitesize = 12 + list_reagents = list(/datum/reagent/consumable/nutriment = 2) + filling_color = "#CD853F" + tastes = list("broken" = 1, "code" = 1) + foodtype = MEAT | SUGAR + var/dried_being = /mob/living/carbon/monkey //What the cube will spawn mob wise + +/obj/item/reagent_containers/food/snacks/cube/On_Consume(mob/living/carbon/M) + if(iscarbon(M)) + M.visible_message("[src] bursts out of [M]!
") + M.emote("scream") + M.DefaultCombatKnockdown(40) + M.adjustBruteLoss(60) + Expand() + return TRUE + return ..() + +/obj/item/reagent_containers/food/snacks/cube/proc/Expand() + var/mob/spammer = get_mob_by_key(fingerprintslast) + var/mob/living/water = new dried_being(drop_location(), TRUE, spammer) + if (!QDELETED(water)) + visible_message("[src] expands!") + water.log_message("Spawned via [src] at [AREACOORD(src)], Last attached mob: [key_name(spammer)].", LOG_ATTACK) + else if (!spammer) // Visible message in case there are no fingerprints + visible_message("[src] fails to expand!") + qdel(src) + +/obj/item/reagent_containers/food/snacks/cube/monkey + name = "monkey cube" + desc = "Just add water!" + tastes = list("the jungle" = 1, "bananas" = 1) + dried_being = /mob/living/carbon/monkey + +/obj/item/reagent_containers/food/snacks/cube/beno + name = "alien cube" + desc = "Just add water and run!" + tastes = list("the jungle" = 1, "acid" = 1) + dried_being = /mob/living/carbon/alien + +/obj/item/reagent_containers/food/snacks/cube/goat + name = "goat cube" + tastes = list("grass" = 1) + dried_being = /mob/living/simple_animal/hostile/retaliate/goat + +/obj/item/reagent_containers/food/snacks/cube/cow + name = "cow cube" + tastes = list("milk" = 1, "beef" = 1) + dried_being = /mob/living/simple_animal/cow + +/obj/item/reagent_containers/food/snacks/cube/egg //Well eggs normally are able to hatch into small birds, this one does not. \ +Also in order to have a normal egg hatch you need a hen ontop of it for it to hatch, meaning this one is for on-demand hen needs. + name = "egg cube thing" + desc = "Just add water, hey wait a second..." + icon_state = "egg" + filling_color = "#F0E68C" + cooked_type = /obj/item/reagent_containers/food/snacks/boiledegg + list_reagents = list(/datum/reagent/consumable/eggyolk = 5) + tastes = list("dried eggs" = 1, "confusion" = 1) + dried_being = /mob/living/simple_animal/chicken diff --git a/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm b/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm index 3d7341308b..2318c54508 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm @@ -78,7 +78,7 @@ playsound(src.loc, 'sound/machines/hiss.ogg', 50, 1) grinded -= required_grind for(var/i = 0, i < cube_production, i++) - new /obj/item/reagent_containers/food/snacks/monkeycube(src.loc) + new /obj/item/reagent_containers/food/snacks/cube/monkey(src.loc) to_chat(user, "The machine's display flashes that it has [grinded] monkeys worth of material left.") else to_chat(user, "The machine needs at least [required_grind] monkey(s) worth of material to produce a monkey cube. It only has [grinded].") diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm index 90036c0e2a..f25aaab6fd 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm @@ -68,7 +68,7 @@ /datum/reagent/consumable/sodiumchloride = 1, /datum/reagent/consumable/blackpepper = 1, /obj/item/reagent_containers/glass/bowl = 1, - /obj/item/reagent_containers/food/snacks/monkeycube = 1, + /obj/item/reagent_containers/food/snacks/cube/monkey = 1, /obj/item/reagent_containers/food/snacks/grown/banana = 1 ) result = /obj/item/reagent_containers/food/snacks/soup/monkeysdelight diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index 0182dec254..bcb196a103 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -194,7 +194,7 @@ prize_list += list( new /datum/data/mining_equipment("Extra Id", /obj/item/card/id/mining, 250), new /datum/data/mining_equipment("Science Goggles", /obj/item/clothing/glasses/science, 250), - new /datum/data/mining_equipment("Monkey Cube", /obj/item/reagent_containers/food/snacks/monkeycube, 300), + new /datum/data/mining_equipment("Monkey Cube", /obj/item/reagent_containers/food/snacks/cube/monkey, 300), new /datum/data/mining_equipment("Toolbelt", /obj/item/storage/belt/utility, 350), new /datum/data/mining_equipment("Royal Cape of the Liberator", /obj/item/bedsheet/rd/royal_cape, 500), new /datum/data/mining_equipment("Grey Slime Extract", /obj/item/slime_extract/grey, 1000), diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index e66ebc5f20..0206b571cb 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -271,9 +271,9 @@ /datum/reagent/water/reaction_obj(obj/O, reac_volume) O.extinguish() O.acid_level = 0 - // Monkey cube - if(istype(O, /obj/item/reagent_containers/food/snacks/monkeycube)) - var/obj/item/reagent_containers/food/snacks/monkeycube/cube = O + // cubes + if(istype(O, /obj/item/reagent_containers/food/snacks/cube)) + var/obj/item/reagent_containers/food/snacks/cube/cube = O cube.Expand() // Dehydrated carp diff --git a/code/modules/reagents/chemistry/recipes/slime_extracts.dm b/code/modules/reagents/chemistry/recipes/slime_extracts.dm index eb473950d5..ead47e2a42 100644 --- a/code/modules/reagents/chemistry/recipes/slime_extracts.dm +++ b/code/modules/reagents/chemistry/recipes/slime_extracts.dm @@ -42,7 +42,7 @@ /datum/chemical_reaction/slime/slimemonkey/on_reaction(datum/reagents/holder) for(var/i in 1 to 3) - new /obj/item/reagent_containers/food/snacks/monkeycube(get_turf(holder.my_atom)) + new /obj/item/reagent_containers/food/snacks/cube/monkey(get_turf(holder.my_atom)) ..() //Green diff --git a/code/modules/research/designs/biogenerator_designs.dm b/code/modules/research/designs/biogenerator_designs.dm index e82dffbe07..c2bf817ddf 100644 --- a/code/modules/research/designs/biogenerator_designs.dm +++ b/code/modules/research/designs/biogenerator_designs.dm @@ -72,7 +72,7 @@ id = "mcube" build_type = BIOGENERATOR materials = list(/datum/material/biomass = 250) - build_path = /obj/item/reagent_containers/food/snacks/monkeycube + build_path = /obj/item/reagent_containers/food/snacks/cube/monkey category = list("initial", "Food") /datum/design/smeat diff --git a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm index 95d6c49529..fd4e508e1b 100644 --- a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm +++ b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm @@ -624,9 +624,9 @@ datum/status_effect/stabilized/blue/on_remove() O.extinguish() //All shamelessly copied from water's reaction_obj, since I didn't seem to be able to get it here for some reason. O.acid_level = 0 // Monkey cube - if(istype(O, /obj/item/reagent_containers/food/snacks/monkeycube)) + if(istype(O, /obj/item/reagent_containers/food/snacks/cube)) to_chat(owner, "[linked_extract] kept your hands wet! It makes [O] expand!") - var/obj/item/reagent_containers/food/snacks/monkeycube/cube = O + var/obj/item/reagent_containers/food/snacks/cube/cube = O cube.Expand() // Dehydrated carp diff --git a/code/modules/research/xenobiology/crossbreeding/industrial.dm b/code/modules/research/xenobiology/crossbreeding/industrial.dm index bec2c2c1ae..ac9d2e58c5 100644 --- a/code/modules/research/xenobiology/crossbreeding/industrial.dm +++ b/code/modules/research/xenobiology/crossbreeding/industrial.dm @@ -53,7 +53,7 @@ Industrial extracts: /obj/item/slimecross/industrial/grey colour = "grey" - itempath = /obj/item/reagent_containers/food/snacks/monkeycube + itempath = /obj/item/reagent_containers/food/snacks/cube/monkey itemamount = 5 /obj/item/slimecross/industrial/orange diff --git a/code/modules/research/xenobiology/crossbreeding/reproductive.dm b/code/modules/research/xenobiology/crossbreeding/reproductive.dm index 2f6ca9555a..3662f45355 100644 --- a/code/modules/research/xenobiology/crossbreeding/reproductive.dm +++ b/code/modules/research/xenobiology/crossbreeding/reproductive.dm @@ -19,14 +19,14 @@ Reproductive extracts: return if(istype(O, /obj/item/storage/bag/bio)) var/list/inserted = list() - SEND_SIGNAL(O, COMSIG_TRY_STORAGE_TAKE_TYPE, /obj/item/reagent_containers/food/snacks/monkeycube, src, 1, null, null, user, inserted) + SEND_SIGNAL(O, COMSIG_TRY_STORAGE_TAKE_TYPE, /obj/item/reagent_containers/food/snacks/cube/monkey, src, 1, null, null, user, inserted) if(inserted.len) - var/obj/item/reagent_containers/food/snacks/monkeycube/M = inserted[1] + var/obj/item/reagent_containers/food/snacks/cube/monkey/M = inserted[1] if(istype(M)) eat_cube(M, user) else to_chat(user, "There are no monkey cubes in the bio bag!") - if(istype(O,/obj/item/reagent_containers/food/snacks/monkeycube)) + if(istype(O,/obj/item/reagent_containers/food/snacks/cube/monkey)) eat_cube(O, user) if(cubes_eaten >= 3) var/cores = rand(1,4) diff --git a/code/modules/research/xenobiology/xenobio_camera.dm b/code/modules/research/xenobiology/xenobio_camera.dm index 5492e9bc38..ef9c751d57 100644 --- a/code/modules/research/xenobiology/xenobio_camera.dm +++ b/code/modules/research/xenobiology/xenobio_camera.dm @@ -146,7 +146,7 @@ else to_chat(user, "[src] already has the contents of [O] installed!") return - if(istype(O, /obj/item/reagent_containers/food/snacks/monkeycube) && (upgradetier & XENOBIO_UPGRADE_MONKEYS)) //CIT CHANGE - makes monkey-related actions require XENOBIO_UPGRADE_MONKEYS + if(istype(O, /obj/item/reagent_containers/food/snacks/cube/monkey) && (upgradetier & XENOBIO_UPGRADE_MONKEYS)) //CIT CHANGE - makes monkey-related actions require XENOBIO_UPGRADE_MONKEYS monkeys++ to_chat(user, "You feed [O] to [src]. It now has [monkeys] monkey cubes stored.") qdel(O) @@ -155,7 +155,7 @@ var/obj/item/storage/P = O var/loaded = FALSE for(var/obj/G in P.contents) - if(istype(G, /obj/item/reagent_containers/food/snacks/monkeycube)) + if(istype(G, /obj/item/reagent_containers/food/snacks/cube/monkey)) loaded = TRUE monkeys++ qdel(G) diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index a346cd697f..c5655026c3 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -83,7 +83,7 @@ /obj/item/slime_extract/grey/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) switch(activation_type) if(SLIME_ACTIVATE_MINOR) - var/obj/item/reagent_containers/food/snacks/monkeycube/M = new + var/obj/item/reagent_containers/food/snacks/cube/monkey/M = new if(!user.put_in_active_hand(M)) M.forceMove(user.drop_location()) playsound(user, 'sound/effects/splat.ogg', 50, 1) diff --git a/code/modules/vending/drinnerware.dm b/code/modules/vending/drinnerware.dm index 8f257d07ec..da8baa7e1c 100644 --- a/code/modules/vending/drinnerware.dm +++ b/code/modules/vending/drinnerware.dm @@ -20,7 +20,7 @@ /obj/item/reagent_containers/food/condiment/saltshaker = 5, /obj/item/reagent_containers/food/condiment/peppermill = 5) contraband = list( - /obj/item/reagent_containers/food/snacks/monkeycube = 1, + /obj/item/reagent_containers/food/snacks/cube/monkey= 1, /obj/item/kitchen/knife/butcher = 2, /obj/item/reagent_containers/syringe = 3) premium = list( From 3a78da9332959b33ec2ccdbda2a99518fe64a50a Mon Sep 17 00:00:00 2001 From: TrilbySpaceClone Date: Sun, 19 Apr 2020 19:18:19 -0400 Subject: [PATCH 083/131] commit clearifcation --- code/modules/food_and_drinks/food/snacks_meat.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/food_and_drinks/food/snacks_meat.dm b/code/modules/food_and_drinks/food/snacks_meat.dm index b802aea31a..e7d10566dd 100644 --- a/code/modules/food_and_drinks/food/snacks_meat.dm +++ b/code/modules/food_and_drinks/food/snacks_meat.dm @@ -399,7 +399,7 @@ dried_being = /mob/living/simple_animal/cow /obj/item/reagent_containers/food/snacks/cube/egg //Well eggs normally are able to hatch into small birds, this one does not. \ -Also in order to have a normal egg hatch you need a hen ontop of it for it to hatch, meaning this one is for on-demand hen needs. +Also in order to have a normal egg hatch you need a hen to lay the egg that is able to hatch, meaning this one is for on-demand hen needs. name = "egg cube thing" desc = "Just add water, hey wait a second..." icon_state = "egg" From d98f536003a95919f44c8411a96e188700824a3a Mon Sep 17 00:00:00 2001 From: TrilbySpaceClone Date: Sun, 19 Apr 2020 19:38:23 -0400 Subject: [PATCH 084/131] map fix + cube fix --- _maps/map_files/PubbyStation/PubbyStation.dmm | 2 +- code/modules/food_and_drinks/food/snacks_meat.dm | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index bdbce36c9c..dda8969b5a 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -23111,7 +23111,7 @@ name = "Hydroponics Desk"; req_access_txt = "35" }, -/obj/item/reagent_containers/food/snacks/monkeycube, +/obj/item/reagent_containers/food/snacks/cube/monkey, /turf/open/floor/plasteel/dark, /area/hydroponics) "bce" = ( diff --git a/code/modules/food_and_drinks/food/snacks_meat.dm b/code/modules/food_and_drinks/food/snacks_meat.dm index e7d10566dd..fe914deba9 100644 --- a/code/modules/food_and_drinks/food/snacks_meat.dm +++ b/code/modules/food_and_drinks/food/snacks_meat.dm @@ -383,10 +383,10 @@ dried_being = /mob/living/carbon/monkey /obj/item/reagent_containers/food/snacks/cube/beno - name = "alien cube" + name = "alien drone cube" desc = "Just add water and run!" tastes = list("the jungle" = 1, "acid" = 1) - dried_being = /mob/living/carbon/alien + dried_being = /mob/living/carbon/alien/humanoid/drone /obj/item/reagent_containers/food/snacks/cube/goat name = "goat cube" From 25e0c47225badbecd024d788909929d8f28e456b Mon Sep 17 00:00:00 2001 From: kiwedespars <47008095+kiwedespars@users.noreply.github.com> Date: Sun, 19 Apr 2020 16:48:37 -0700 Subject: [PATCH 085/131] oops --- code/game/objects/items/storage/uplink_kits.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm index 293735c598..f708892877 100644 --- a/code/game/objects/items/storage/uplink_kits.dm +++ b/code/game/objects/items/storage/uplink_kits.dm @@ -495,7 +495,6 @@ new item2(src) new item3(src) new /obj/item/paper/contractor_guide(src) //Paper guide - /obj/item/storage/box/syndie_kit/northstar From b21ee932cf0c74a7b9911f9f9617c1cb29b2e26d Mon Sep 17 00:00:00 2001 From: kiwedespars <47008095+kiwedespars@users.noreply.github.com> Date: Sun, 19 Apr 2020 17:06:21 -0700 Subject: [PATCH 086/131] maybe this is travis's issue? --- code/game/objects/items/storage/uplink_kits.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm index 3a3cca0f3c..d94ed6b0ae 100644 --- a/code/game/objects/items/storage/uplink_kits.dm +++ b/code/game/objects/items/storage/uplink_kits.dm @@ -509,4 +509,5 @@ new /obj/item/clothing/accessory/padding(src) new /obj/item/clothing/under/chameleon(src) new /obj/item/storage/fancy/cigarettes/cigpack_syndicate(src) - new /obj/item/lighter(src) \ No newline at end of file + new /obj/item/lighter(src) + From 842483190a0267073f93051ecc2bdc52201b0f91 Mon Sep 17 00:00:00 2001 From: kiwedespars <47008095+kiwedespars@users.noreply.github.com> Date: Sun, 19 Apr 2020 17:18:14 -0700 Subject: [PATCH 087/131] Update code/game/objects/items/storage/uplink_kits.dm my brain is small when working git. Co-Authored-By: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> --- code/game/objects/items/storage/uplink_kits.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm index d94ed6b0ae..cf0afb638b 100644 --- a/code/game/objects/items/storage/uplink_kits.dm +++ b/code/game/objects/items/storage/uplink_kits.dm @@ -500,7 +500,7 @@ new item1(src) // Create three, non repeat items from the list. new item2(src) new item3(src) - new /obj/item/paper/contractor_guide(src) //Paper guide + new /obj/item/paper/contractor_guide(src) //Paper guide /obj/item/storage/box/syndie_kit/northstar From 31d7fad1b47c38774a5cc880336b52fbf50027a1 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Mon, 20 Apr 2020 02:39:40 +0200 Subject: [PATCH 088/131] Update time_track.dm --- code/controllers/subsystem/time_track.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/controllers/subsystem/time_track.dm b/code/controllers/subsystem/time_track.dm index cd53c8f0ba..2f4949fc1e 100644 --- a/code/controllers/subsystem/time_track.dm +++ b/code/controllers/subsystem/time_track.dm @@ -23,7 +23,7 @@ SUBSYSTEM_DEF(time_track) var/time_dilation_text /datum/controller/subsystem/time_track/fire() - stat_time_text = "Server Time: [time2text(world.timeofday, "YYYY-MM-DD hh:mm:ss")]\n\nRound Time: [WORLDTIME2TEXT("hh:mm:ss")]\n\nStation Time: [STATION_TIME_TIMESTAMP("hh:mm:ss", world.time)]\n\n[time_dilation_text]" + stat_time_text = "Server Time: [time2text(world.timeofday, "YYYY-MM-DD hh:mm:ss")]\n\nRound Time: [DisplayTimeText(world.time - SSticker.round_start_time, 1)] \n\nStation Time: [STATION_TIME_TIMESTAMP("hh:mm:ss", world.time)]\n\n[time_dilation_text]" if(++last_measurement == measurement_delay) last_measurement = 0 From e311aafbc0de655b9a399d0ced767f857bd8d2df Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sun, 19 Apr 2020 22:21:07 -0400 Subject: [PATCH 089/131] Update snacks_meat.dm --- code/modules/food_and_drinks/food/snacks_meat.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/food_and_drinks/food/snacks_meat.dm b/code/modules/food_and_drinks/food/snacks_meat.dm index fe914deba9..c7c74fb560 100644 --- a/code/modules/food_and_drinks/food/snacks_meat.dm +++ b/code/modules/food_and_drinks/food/snacks_meat.dm @@ -398,8 +398,9 @@ tastes = list("milk" = 1, "beef" = 1) dried_being = /mob/living/simple_animal/cow -/obj/item/reagent_containers/food/snacks/cube/egg //Well eggs normally are able to hatch into small birds, this one does not. \ -Also in order to have a normal egg hatch you need a hen to lay the egg that is able to hatch, meaning this one is for on-demand hen needs. +/obj/item/reagent_containers/food/snacks/cube/egg +//Well eggs normally are able to hatch into small birds, this one does not. +//Also in order to have a normal egg hatch you need a hen to lay the egg that is able to hatch, meaning this one is for on-demand hen needs. name = "egg cube thing" desc = "Just add water, hey wait a second..." icon_state = "egg" From 6fcec77e9ba22cb73f1804ba7dcd96b3de8970e4 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sun, 19 Apr 2020 23:18:17 -0400 Subject: [PATCH 090/131] Update shields.dm --- code/game/objects/items/shields.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index 22767a66ea..6d8e582c29 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -360,7 +360,6 @@ obj/item/shield/riot/bullet_proof desc = "A massive shield that can block a lot of attacks and can take a lot of abuse before breaking." //It cant break unless it is removed from the implant item_state = "metal" icon_state = "metal" - icon = 'icons/obj/items_and_weapons.dmi' block_chance = 30 //May be big but hard to move around to block. slowdown = 1 shield_flags = SHIELD_FLAGS_DEFAULT From 10d8ef79db9ef7ad9ddd88ce2db09341c408cb80 Mon Sep 17 00:00:00 2001 From: EmeraldSundisk Date: Sun, 19 Apr 2020 20:33:35 -0700 Subject: [PATCH 091/131] Update CogStation.dmm --- _maps/map_files/CogStation/CogStation.dmm | 5092 +++++++++++++-------- 1 file changed, 3166 insertions(+), 1926 deletions(-) diff --git a/_maps/map_files/CogStation/CogStation.dmm b/_maps/map_files/CogStation/CogStation.dmm index 28eded5c85..dbc857dfd7 100644 --- a/_maps/map_files/CogStation/CogStation.dmm +++ b/_maps/map_files/CogStation/CogStation.dmm @@ -705,6 +705,7 @@ /obj/item/circuitboard/machine/vending/donksofttoyvendor, /obj/item/storage/pill_bottle/happy, /obj/effect/decal/cleanable/dirt, +/obj/item/paper/fluff/cogstation/cluwne, /turf/open/floor/plating, /area/crew_quarters/theatre/clown) "abJ" = ( @@ -800,24 +801,11 @@ /turf/closed/wall/r_wall, /area/router/aux) "abX" = ( -/obj/machinery/computer/secure_data, -/obj/effect/turf_decal/tile/red{ - dir = 4 +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/machinery/camera{ - c_tag = "Security Checkpoint"; - pixel_x = 22 - }, -/obj/machinery/newscaster/security_unit{ - pixel_y = 32 - }, -/turf/open/floor/plasteel, +/turf/open/floor/plating, /area/security/checkpoint) "abY" = ( /obj/structure/grille, @@ -1523,9 +1511,9 @@ dir = 1 }, /obj/structure/closet, -/obj/item/clothing/under/staffassistant, -/obj/item/clothing/under/staffassistant, -/obj/item/clothing/under/staffassistant, +/obj/item/clothing/under/misc/staffassistant, +/obj/item/clothing/under/misc/staffassistant, +/obj/item/clothing/under/misc/staffassistant, /turf/open/floor/plasteel, /area/crew_quarters/lounge) "adK" = ( @@ -3511,9 +3499,9 @@ c_tag = "Clown's Office"; pixel_x = 22 }, -/obj/item/clothing/under/rank/yellowclown, -/obj/item/clothing/under/rank/blueclown, -/obj/item/clothing/under/rank/greenclown, +/obj/item/clothing/under/rank/civilian/clown/yellow, +/obj/item/clothing/under/rank/civilian/clown/blue, +/obj/item/clothing/under/rank/civilian/clown/green, /obj/item/toy/crayon/spraycan/lubecan, /obj/item/megaphone/clown, /turf/open/floor/plating, @@ -4141,20 +4129,12 @@ /turf/open/floor/plasteel, /area/construction/secondary) "akd" = ( -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, +/obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "0-4" }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel, +/obj/structure/cable, +/turf/open/floor/plating, /area/security/checkpoint) "ake" = ( /obj/machinery/firealarm{ @@ -4809,6 +4789,7 @@ /obj/effect/turf_decal/tile/red{ dir = 8 }, +/obj/item/paper/guides/cogstation/letter_sec, /turf/open/floor/plasteel, /area/security/warden) "alG" = ( @@ -6070,8 +6051,27 @@ /turf/open/floor/plasteel/dark/corner, /area/hallway/secondary/entry) "aoy" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, +/obj/machinery/computer/secure_data, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/camera{ + c_tag = "Security Checkpoint"; + pixel_x = 22 + }, +/obj/machinery/newscaster/security_unit{ + pixel_y = 32 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, /area/security/checkpoint) "aoz" = ( /obj/structure/closet, @@ -7342,7 +7342,7 @@ pixel_y = 26 }, /obj/effect/landmark/start/bartender, -/obj/item/clothing/under/janimaid, +/obj/item/clothing/under/costume/maid, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/grimy, /area/crew_quarters/bar) @@ -8418,6 +8418,7 @@ /obj/item/storage/bag/tray, /obj/item/clothing/gloves/color/white, /obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/item/paper/guides/cogstation/cooks, /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/kitchen) "atP" = ( @@ -9400,12 +9401,19 @@ /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/barbershop) "avY" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "AIShutter"; - name = "AI Core Shutters" +/obj/machinery/newscaster/security_unit{ + pixel_y = 32 }, -/turf/open/floor/plating, +/obj/machinery/turretid{ + name = "AI Chamber turret control"; + pixel_x = 5; + pixel_y = -24 + }, +/obj/machinery/door/window/westleft{ + name = "AI Core Access"; + req_access_txt = "65" + }, +/turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai) "avZ" = ( /obj/effect/landmark/start/cook, @@ -9528,13 +9536,15 @@ /turf/closed/wall/r_wall, /area/maintenance/solars/port) "awn" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "AIShutter"; - name = "AI Core Shutters" +/obj/machinery/light{ + dir = 1; + light_color = "#e8eaff" }, /obj/structure/disposalpipe/segment, -/turf/open/floor/plating, +/obj/machinery/ai_slipper{ + uses = 10 + }, +/turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai) "awo" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ @@ -10387,11 +10397,16 @@ /turf/open/floor/plasteel, /area/hydroponics/lobby) "axZ" = ( -/obj/machinery/light{ - dir = 1; - light_color = "#e8eaff" +/obj/machinery/requests_console{ + department = "AI"; + departmentType = 5; + pixel_x = 0; + pixel_y = 28 + }, +/obj/machinery/door/window/eastright{ + name = "AI Core Access"; + req_access_txt = "65" }, -/obj/structure/disposalpipe/segment, /turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai) "aya" = ( @@ -11286,9 +11301,9 @@ "azR" = ( /obj/structure/closet/secure_closet/bar, /obj/structure/disposalpipe/segment, -/obj/item/clothing/under/janimaid, +/obj/item/clothing/under/costume/maid, /obj/item/stack/spacecash/c10, -/obj/item/clothing/under/waiter, +/obj/item/clothing/under/suit/waiter, /turf/open/floor/plasteel/grimy, /area/crew_quarters/bar) "azS" = ( @@ -11768,27 +11783,31 @@ /turf/closed/wall, /area/crew_quarters/toilet) "aAP" = ( -/obj/effect/turf_decal/tile/red, +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/security/brig) +"aAQ" = ( /obj/effect/turf_decal/tile/red{ dir = 4 }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, /obj/structure/disposalpipe/segment{ - dir = 4 + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/structure/cable{ + icon_state = "2-8" }, /turf/open/floor/plasteel, -/area/security/brig) -"aAQ" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security/glass{ - name = "Security Office"; - req_access_txt = "63" - }, -/obj/effect/turf_decal/delivery, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/security/main) +/area/security/checkpoint) "aAR" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/cyan/hidden, @@ -12361,11 +12380,20 @@ /turf/open/floor/plating, /area/security/main) "aCb" = ( -/obj/effect/spawner/structure/window/reinforced, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, /obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/plating, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, /area/security/brig) "aCc" = ( /obj/structure/closet/secure_closet/security/sec, @@ -12680,6 +12708,7 @@ /obj/item/stack/packageWrap, /obj/item/hand_labeler, /obj/item/book/manual/wiki/security_space_law, +/obj/item/paper/guides/cogstation/letter_sec, /turf/open/floor/carpet/red, /area/security/brig) "aCM" = ( @@ -12867,9 +12896,11 @@ /area/crew_quarters/barbershop) "aDb" = ( /obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "0-4" + }, /turf/open/floor/plating, -/area/security/main) +/area/security/checkpoint) "aDc" = ( /obj/machinery/firealarm{ dir = 4; @@ -12972,16 +13003,19 @@ /turf/open/floor/plasteel/freezer, /area/crew_quarters/toilet) "aDm" = ( -/obj/structure/table, -/obj/machinery/recharger, +/obj/machinery/computer/security{ + dir = 1 + }, /obj/effect/turf_decal/tile/red, /obj/effect/turf_decal/tile/red{ dir = 8 }, -/obj/structure/cable{ - icon_state = "1-4" +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel, /area/security/checkpoint) "aDn" = ( @@ -13176,19 +13210,23 @@ /area/maintenance/port/fore) "aDF" = ( /obj/structure/table, -/obj/machinery/firealarm{ - pixel_y = 26 - }, +/obj/machinery/recharger, +/obj/effect/turf_decal/tile/red, /obj/effect/turf_decal/tile/red{ - dir = 4 + dir = 8 }, -/obj/effect/turf_decal/tile/red{ - dir = 1 +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/item/paper_bin, -/obj/item/pen, /turf/open/floor/plasteel, -/area/security/main) +/area/security/checkpoint) "aDG" = ( /obj/machinery/holopad, /turf/open/floor/plasteel, @@ -13340,18 +13378,26 @@ /turf/open/floor/plating/airless, /area/space/nearstation) "aEc" = ( -/obj/structure/closet{ - name = "Evidence Closet 5" +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + name = "Security Office"; + req_access_txt = "63" }, -/obj/machinery/light_switch{ - pixel_y = -24 - }, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/turf_decal/tile/red{ - dir = 8 +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" }, /turf/open/floor/plasteel, /area/security/brig) @@ -13839,7 +13885,7 @@ "aFc" = ( /obj/structure/table, /obj/item/clothing/suit/toggle/owlwings, -/obj/item/clothing/under/owl, +/obj/item/clothing/under/costume/owl, /obj/item/clothing/mask/gas/owl_mask, /turf/open/floor/plating/asteroid, /area/hydroponics/garden{ @@ -13904,12 +13950,11 @@ /turf/closed/wall/r_wall, /area/crew_quarters/heads/hos) "aFk" = ( -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red, -/turf/open/floor/plasteel, -/area/security/main) +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/structure/cable, +/turf/open/floor/plating, +/area/security/checkpoint) "aFl" = ( /obj/structure/chair/sofa/right, /obj/effect/turf_decal/tile/green{ @@ -14215,10 +14260,18 @@ /turf/open/floor/plasteel, /area/storage/emergency/generic) "aFP" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating, -/area/security/checkpoint) +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + name = "Security Office"; + req_access_txt = "63" + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, +/area/security/main) "aFQ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 @@ -14241,11 +14294,17 @@ /turf/open/floor/plasteel, /area/storage/emergency/generic) "aFT" = ( -/obj/structure/cable{ - icon_state = "0-2"; - pixel_y = 1 +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 }, -/turf/closed/wall, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, /area/security/brig) "aFU" = ( /obj/machinery/atmospherics/components/binary/circulator/cold{ @@ -15134,17 +15193,14 @@ /turf/open/floor/plasteel/dark, /area/bridge) "aHE" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/drinkingglass{ - pixel_x = -6; - pixel_y = 2 +/obj/structure/cable{ + icon_state = "2-4" }, -/obj/item/reagent_containers/food/drinks/drinkingglass{ - pixel_x = 6; - pixel_y = 3 +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 }, -/turf/open/floor/plasteel/dark, -/area/bridge) +/turf/open/floor/plating/airless, +/area/space/nearstation) "aHF" = ( /turf/open/floor/plasteel/dark, /area/bridge) @@ -15191,7 +15247,7 @@ }, /area/chapel/main) "aHK" = ( -/obj/structure/piano, +/obj/structure/musician/piano, /turf/open/floor/carpet{ icon_state = "carpetsymbol" }, @@ -15630,34 +15686,71 @@ /turf/open/floor/plasteel, /area/hallway/secondary/civilian) "aIC" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "0-8" }, -/turf/open/floor/plasteel/grimy, -/area/security/detectives_office) +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/security/main) "aID" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" }, -/turf/open/floor/plasteel/grimy, -/area/security/detectives_office) +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/security/main) "aIE" = ( /turf/open/floor/carpet/royalblue, /area/bridge) "aIF" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ +/obj/structure/table, +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/noticeboard{ + pixel_y = 28 + }, +/obj/effect/turf_decal/tile/red{ dir = 4 }, -/turf/open/floor/plasteel/grimy, -/area/security/detectives_office) +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/recharger, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/security/main) "aIG" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/segment{ +/obj/structure/table, +/obj/machinery/firealarm{ + pixel_y = 26 + }, +/obj/effect/turf_decal/tile/red{ dir = 4 }, -/turf/open/floor/plating, -/area/security/detectives_office) +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/item/paper_bin, +/obj/item/pen, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/security/main) "aIH" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ dir = 6 @@ -15752,14 +15845,42 @@ /turf/open/floor/plasteel, /area/hydroponics) "aIS" = ( +/obj/structure/disposalpipe/segment, /obj/effect/landmark/start/ai, +/obj/item/radio/intercom{ + freerange = 1; + frequency = 1447; + name = "Private Channel"; + pixel_x = 27; + pixel_y = -7 + }, +/obj/item/radio/intercom{ + freerange = 1; + name = "Common Channel"; + pixel_x = 27; + pixel_y = 5 + }, /obj/machinery/button/door{ id = "AIShutter"; layer = 3.6; name = "AI Core Shutter Control"; - pixel_x = 24 + pixel_x = 24; + pixel_y = -24 + }, +/obj/item/radio/intercom{ + freerange = 1; + listening = 0; + name = "Custom Channel"; + pixel_x = -24; + pixel_y = -8 + }, +/obj/machinery/button/door{ + id = "AIChamberShutter"; + layer = 3.6; + name = "AI Chamber Shutter Control"; + pixel_x = -24; + pixel_y = -24 }, -/obj/structure/disposalpipe/segment, /turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai) "aIT" = ( @@ -15918,14 +16039,23 @@ /turf/open/floor/plasteel/dark, /area/chapel/office) "aJj" = ( -/obj/machinery/light{ - dir = 1 +/obj/structure/chair{ + dir = 4 }, -/obj/machinery/light_switch{ - pixel_y = 24 +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "1-4" }, -/turf/open/floor/plasteel/dark, -/area/chapel/office) +/obj/machinery/power/apc{ + areastring = "/area/maintenance/aft"; + dir = 8; + name = "Chapel APC"; + pixel_x = -26 + }, +/turf/open/floor/plasteel{ + icon_state = "chapel" + }, +/area/chapel/main) "aJk" = ( /obj/structure/table/wood, /obj/item/candle, @@ -16429,11 +16559,21 @@ /turf/open/floor/carpet/red, /area/security/brig) "aKi" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/grimy, -/area/security/detectives_office) +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, +/area/security/main) "aKj" = ( /obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 6 @@ -17300,25 +17440,12 @@ /turf/open/floor/plasteel, /area/security/brig) "aLX" = ( -/obj/structure/table, -/obj/machinery/light{ - dir = 1 - }, -/obj/structure/noticeboard{ - pixel_y = 28 - }, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/machinery/recharger, +/obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ - icon_state = "2-8" + icon_state = "0-2" }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel, +/obj/structure/cable, +/turf/open/floor/plating, /area/security/main) "aLY" = ( /obj/effect/turf_decal/tile/red, @@ -17718,13 +17845,12 @@ /turf/open/floor/plasteel, /area/hallway/secondary/civilian) "aMN" = ( -/obj/effect/turf_decal/tile/red{ +/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{ dir = 4 }, -/obj/effect/turf_decal/tile/red{ - dir = 1 +/obj/structure/cable{ + icon_state = "1-4" }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, /turf/open/floor/plasteel, /area/security/main) "aMO" = ( @@ -17909,9 +18035,7 @@ /turf/open/floor/plasteel, /area/bridge) "aNh" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai) "aNi" = ( @@ -17990,37 +18114,13 @@ /turf/open/floor/plasteel, /area/crew_quarters/bar) "aNo" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 8 +/obj/structure/disposalpipe/segment, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "AIShutter"; + name = "AI Core Shutters" }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/item/aiModule/supplied/oxygen{ - pixel_x = 2; - pixel_y = 10 - }, -/obj/item/aiModule/supplied/quarantine{ - pixel_x = 1; - pixel_y = 8 - }, -/obj/item/aiModule/zeroth/oneHuman{ - pixel_y = 4 - }, -/obj/effect/spawner/lootdrop/aimodule_harmful{ - pixel_x = -1; - pixel_y = 2 - }, -/obj/item/aiModule/supplied/protectStation{ - pixel_x = -2 - }, -/obj/structure/window/reinforced/spawner/north, -/turf/open/floor/plasteel, +/turf/open/floor/plating, /area/ai_monitored/turret_protected/ai) "aNp" = ( /obj/effect/turf_decal/delivery, @@ -18038,17 +18138,11 @@ /turf/open/floor/plasteel/dark, /area/chapel/office) "aNr" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 4 +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner/north, -/turf/open/floor/plasteel, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai) "aNs" = ( /obj/effect/turf_decal/tile/yellow{ @@ -18119,21 +18213,10 @@ }, /area/chapel/main) "aNz" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ + dir = 5 }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/machinery/door/window/northleft{ - name = "AI Chamber"; - req_one_access_txt = "65" - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel, +/turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai) "aNA" = ( /obj/machinery/door/firedoor, @@ -18407,6 +18490,9 @@ "aOe" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-4" + }, /turf/open/floor/plating, /area/ai_monitored/turret_protected/ai) "aOf" = ( @@ -18682,16 +18768,15 @@ /turf/open/floor/plating, /area/maintenance/port/fore) "aOI" = ( -/obj/structure/chair/stool, -/obj/effect/turf_decal/tile/blue{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ + dir = 10 }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 1 +/obj/machinery/flasher{ + id = "ID"; + pixel_x = 8; + pixel_y = 24 }, -/obj/structure/window/reinforced/spawner/north, -/turf/open/floor/plasteel, +/turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai) "aOJ" = ( /turf/closed/wall/r_wall, @@ -18784,7 +18869,7 @@ /obj/effect/turf_decal/bot, /obj/item/clothing/accessory/armband/hydro, /obj/item/encryptionkey/headset_service, -/obj/item/clothing/under/rank/vice, +/obj/item/clothing/under/misc/vice_officer, /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ dir = 4 }, @@ -18859,21 +18944,13 @@ name = "Engine Room" }) "aPf" = ( -/obj/machinery/computer/upload/ai{ - dir = 8 +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 6 }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner/north, -/turf/open/floor/plasteel, +/turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai) "aPg" = ( /obj/structure/grille, @@ -18976,15 +19053,15 @@ }, /area/hallway/primary/central) "aPs" = ( -/obj/structure/closet/secure_closet/hop, -/obj/machinery/light{ - dir = 1; - light_color = "#e8eaff" +/obj/effect/turf_decal/tile/red{ + dir = 4 }, -/obj/item/clothing/under/gimmick/rank/head_of_personnel/suit, -/obj/item/clothing/under/gimmick/rank/head_of_personnel/suit/skirt, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/heads/hop) +/obj/effect/turf_decal/tile/red, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/security/main) "aPt" = ( /obj/structure/table/wood, /obj/machinery/recharger, @@ -19101,6 +19178,9 @@ pixel_y = 6 }, /obj/item/clothing/glasses/meson, +/obj/machinery/status_display{ + pixel_x = -32 + }, /turf/open/floor/plasteel, /area/ai_monitored/turret_protected/ai) "aPF" = ( @@ -19245,30 +19325,40 @@ /turf/open/floor/plasteel/white, /area/crew_quarters/fitness/cogpool) "aPT" = ( -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-02" +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 }, -/turf/open/floor/plasteel/dark, -/area/bridge) +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) "aPU" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/machinery/camera{ - c_tag = "Bridge - Port Quarter"; - dir = 1 +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" }, -/obj/machinery/keycard_auth{ - pixel_y = -24 - }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plating, /area/bridge) "aPV" = ( -/obj/machinery/photocopier, -/turf/open/floor/plasteel/dark, +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, /area/bridge) "aPW" = ( -/obj/structure/reagent_dispensers/water_cooler, -/turf/open/floor/plasteel/dark, +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, /area/bridge) "aPX" = ( /obj/structure/table, @@ -20551,9 +20641,20 @@ /turf/open/floor/plasteel, /area/hallway/secondary/civilian) "aSJ" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/heads/captain) +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + name = "Security Office"; + req_access_txt = "63" + }, +/obj/effect/turf_decal/delivery, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel, +/area/security/main) "aSK" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -20819,11 +20920,16 @@ /turf/open/floor/plating, /area/maintenance/department/eva) "aTo" = ( -/obj/effect/landmark/start/captain, -/turf/open/floor/carpet{ - icon_state = "carpetsymbol" +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/structure/cable{ + icon_state = "0-4" }, -/area/crew_quarters/heads/captain) +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/security/detectives_office) "aTp" = ( /obj/structure/chair{ dir = 4 @@ -20856,17 +20962,24 @@ }, /area/chapel/main) "aTr" = ( -/obj/structure/table/wood, -/obj/machinery/recharger, -/turf/open/floor/carpet/blue, -/area/crew_quarters/heads/captain) +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/security/detectives_office) "aTs" = ( /turf/closed/wall, /area/maintenance/department/eva) "aTt" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/heads/hop) +/obj/structure/closet/secure_closet/detective, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/grimy, +/area/security/detectives_office) "aTu" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command/glass{ @@ -20962,14 +21075,16 @@ /turf/closed/wall, /area/router/public) "aTH" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, /obj/structure/cable{ - icon_state = "2-4" + icon_state = "0-8" }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 +/obj/structure/cable{ + icon_state = "0-2" }, -/turf/open/floor/plating/airless, -/area/space/nearstation) +/turf/open/floor/plating, +/area/bridge) "aTI" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line, @@ -20985,16 +21100,12 @@ /turf/open/floor/plasteel, /area/router/public) "aTJ" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/pen/fourcolor, -/obj/item/pen/fountain{ - pixel_x = 2; - pixel_y = 6 +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/structure/cable{ + icon_state = "1-4" }, -/obj/item/stamp/hop, -/turf/open/floor/carpet/green, -/area/crew_quarters/heads/hop) +/turf/open/floor/plasteel/grimy, +/area/security/detectives_office) "aTK" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -21551,9 +21662,13 @@ /turf/open/floor/plasteel, /area/science/mixing) "aVa" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plating, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/grimy, /area/security/detectives_office) "aVb" = ( /obj/structure/pool/Rboard, @@ -22108,9 +22223,12 @@ /turf/open/floor/plasteel, /area/gateway) "aWn" = ( -/obj/structure/closet/secure_closet/detective, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/plasteel/grimy, /area/security/detectives_office) "aWo" = ( @@ -22197,27 +22315,40 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "aWw" = ( -/obj/structure/table/wood, -/obj/item/pinpointer/nuke, -/obj/item/card/id/captains_spare, -/obj/item/hand_tele, -/obj/item/disk/nuclear, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/heads/captain) -"aWx" = ( -/obj/structure/table/wood, -/obj/machinery/light, -/obj/item/storage/photo_album/Captain, -/obj/item/camera{ - pixel_y = -6 +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/item/stamp/captain, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/heads/captain) +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/grimy, +/area/security/detectives_office) +"aWx" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/security/detectives_office) "aWy" = ( -/obj/machinery/suit_storage_unit/captain, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/heads/captain) +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/grimy, +/area/security/detectives_office) "aWz" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -23026,9 +23157,12 @@ /turf/open/floor/plasteel/dark, /area/ai_monitored/nuke_storage) "aYm" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/ai_monitored/storage/eva) +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/grimy, +/area/security/detectives_office) "aYn" = ( /obj/structure/table, /obj/effect/turf_decal/stripes/line{ @@ -23188,30 +23322,40 @@ /turf/open/floor/plating, /area/maintenance/starboard/central) "aYD" = ( -/obj/structure/table, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high/plus, -/turf/open/floor/plasteel, -/area/ai_monitored/storage/eva) -"aYE" = ( -/obj/item/beacon, -/turf/open/floor/plasteel, -/area/ai_monitored/storage/eva) -"aYF" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow{ +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 8 }, /obj/structure/cable{ - icon_state = "2-4" + icon_state = "1-2" }, -/turf/open/floor/plasteel/checker, -/area/ai_monitored/storage/eva) +/turf/open/floor/plasteel/grimy, +/area/security/detectives_office) +"aYE" = ( +/obj/structure/closet/crate/trashcart, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/disposalpipe/junction, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/grimy, +/area/security/detectives_office) +"aYF" = ( +/obj/structure/table/wood, +/obj/item/storage/box/evidence, +/obj/item/hand_labeler, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/grimy, +/area/security/detectives_office) "aYG" = ( /obj/effect/turf_decal/tile/yellow, /obj/effect/turf_decal/tile/yellow{ @@ -23229,14 +23373,17 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "aYI" = ( -/obj/machinery/light{ - dir = 4; - light_color = "#e8eaff" +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 }, -/turf/open/floor/plasteel/dark/side{ - dir = 4 +/obj/machinery/photocopier, +/obj/structure/extinguisher_cabinet{ + pixel_y = -32 }, -/area/hallway/primary/central) +/obj/item/paper/guides/cogstation/letter_sec, +/turf/open/floor/plasteel, +/area/security/main) "aYJ" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, @@ -23584,7 +23731,7 @@ /obj/effect/turf_decal/bot_white/left, /obj/item/stack/sheet/mineral/diamond, /obj/item/gun/ballistic/revolver/mateba, -/obj/item/clothing/under/soviet, +/obj/item/clothing/under/costume/soviet, /obj/item/clothing/suit/armor/vest/russian_coat, /obj/item/clothing/head/helmet/rus_helmet, /obj/machinery/light, @@ -23857,6 +24004,9 @@ /obj/item/aiModule/core/full/custom{ pixel_x = -4 }, +/obj/machinery/status_display{ + pixel_x = 32 + }, /turf/open/floor/plasteel, /area/ai_monitored/turret_protected/ai) "aZQ" = ( @@ -23884,10 +24034,18 @@ /turf/open/floor/plasteel/dark/corner, /area/ai_monitored/storage/eva) "aZT" = ( -/obj/structure/table/wood, -/obj/item/stack/packageWrap, -/turf/open/floor/carpet/royalblue, -/area/bridge) +/obj/structure/closet/secure_closet/hos, +/obj/machinery/light_switch{ + pixel_y = 24 + }, +/obj/machinery/light{ + dir = 4; + light_color = "#e8eaff" + }, +/obj/item/storage/box/deputy, +/obj/item/paper/guides/cogstation/letter_hos, +/turf/open/floor/plasteel/grimy, +/area/crew_quarters/heads/hos) "aZU" = ( /obj/structure/chair, /obj/machinery/light{ @@ -24280,8 +24438,8 @@ "baP" = ( /obj/structure/closet/secure_closet/captains, /obj/item/reagent_containers/food/drinks/flask/gold, -/obj/item/clothing/under/gimmick/rank/captain/suit, -/obj/item/clothing/under/gimmick/rank/captain/suit/skirt, +/obj/item/clothing/under/rank/captain/suit, +/obj/item/clothing/under/rank/captain/suit/skirt, /obj/machinery/airalarm{ pixel_y = 24 }, @@ -24349,11 +24507,39 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "baW" = ( -/obj/structure/grille, -/obj/structure/cable{ - icon_state = "0-2" +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 }, -/turf/open/floor/plating, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/item/aiModule/core/full/asimov{ + pixel_x = 2; + pixel_y = 10 + }, +/obj/effect/spawner/lootdrop/aimodule_neutral{ + pixel_x = 1; + pixel_y = 8 + }, +/obj/effect/spawner/lootdrop/aimodule_harmless{ + pixel_y = 6 + }, +/obj/item/aiModule/core/freeformcore{ + pixel_x = -1; + pixel_y = 2 + }, +/obj/item/aiModule/supplied/freeform{ + pixel_x = -2 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, /area/ai_monitored/turret_protected/ai) "baX" = ( /obj/effect/turf_decal/tile/yellow, @@ -25772,36 +25958,12 @@ /turf/open/floor/plasteel/dark, /area/chapel/office) "beu" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 8 +/obj/structure/grille, +/obj/structure/cable{ + icon_state = "0-2" }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/item/aiModule/core/full/asimov{ - pixel_x = 2; - pixel_y = 10 - }, -/obj/effect/spawner/lootdrop/aimodule_neutral{ - pixel_x = 1; - pixel_y = 8 - }, -/obj/effect/spawner/lootdrop/aimodule_harmless{ - pixel_y = 6 - }, -/obj/item/aiModule/core/freeformcore{ - pixel_x = -1; - pixel_y = 2 - }, -/obj/item/aiModule/supplied/freeform{ - pixel_x = -2 - }, -/turf/open/floor/plasteel, +/obj/structure/cable, +/turf/open/floor/plating, /area/ai_monitored/turret_protected/ai) "bev" = ( /obj/structure/cable{ @@ -25943,7 +26105,11 @@ /area/security/courtroom/jury) "beQ" = ( /obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/grimy, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/closed/wall, /area/security/detectives_office) "beR" = ( /obj/structure/chair{ @@ -26304,23 +26470,19 @@ /turf/open/floor/plating, /area/quartermaster/warehouse) "bfH" = ( -/obj/structure/chair{ - dir = 4 +/obj/machinery/light{ + dir = 1 }, -/obj/structure/cable, -/obj/structure/cable{ - icon_state = "1-4" +/obj/machinery/light_switch{ + pixel_y = 24 }, -/obj/machinery/power/apc{ - areastring = "/area/maintenance/aft"; - dir = 8; - name = "Chapel APC"; - pixel_x = -24 +/obj/machinery/button/crematorium{ + id = "foo"; + pixel_x = 8; + pixel_y = 24 }, -/turf/open/floor/plasteel{ - icon_state = "chapel" - }, -/area/chapel/main) +/turf/open/floor/plasteel/dark, +/area/chapel/office) "bfI" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -26349,6 +26511,10 @@ /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ dir = 4 }, +/obj/item/paper/fluff/cogstation/letter_chap{ + pixel_x = 10; + pixel_y = 2 + }, /turf/open/floor/carpet{ icon_state = "carpetsymbol" }, @@ -26549,18 +26715,13 @@ /turf/open/floor/plating, /area/quartermaster/warehouse) "bgh" = ( -/obj/machinery/conveyor_switch{ - id = "EngiCargoConveyer" +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/violet/hidden{ + icon_state = "pipe11-2"; + dir = 6 }, -/obj/structure/cable, -/obj/machinery/power/apc{ - areastring = "/area/quartermaster/sorting"; - dir = 8; - name = "Delivery Office APC"; - pixel_x = -24 - }, -/turf/open/floor/plasteel, -/area/quartermaster/sorting) +/turf/open/space/basic, +/area/space/nearstation) "bgi" = ( /obj/machinery/atmospherics/pipe/simple/orange/visible{ dir = 4 @@ -27190,18 +27351,15 @@ /turf/open/floor/plasteel, /area/quartermaster/sorting) "bhB" = ( -/obj/structure/closet/secure_closet/quartermaster, -/obj/effect/turf_decal/tile/brown{ - dir = 1 +/obj/structure/table/wood, +/obj/item/stack/packageWrap, +/obj/item/paper/fluff/cogstation/bsrb, +/obj/item/paper/fluff/cogstation/survey{ + pixel_x = -4; + pixel_y = 2 }, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown, -/obj/item/clothing/suit/space/eva, -/obj/item/clothing/head/helmet/space/eva, -/turf/open/floor/plasteel, -/area/quartermaster/qm) +/turf/open/floor/carpet/royalblue, +/area/bridge) "bhC" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/orange/hidden, @@ -27517,16 +27675,12 @@ /turf/open/floor/plating, /area/quartermaster/storage) "bik" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, /obj/structure/cable{ - icon_state = "2-4" + icon_state = "0-2" }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plating, /area/bridge) "bil" = ( /obj/effect/turf_decal/stripes/line{ @@ -27573,14 +27727,16 @@ /turf/open/floor/plasteel, /area/quartermaster/qm) "biq" = ( -/obj/machinery/computer/cargo/request{ - dir = 1 +/obj/structure/closet/secure_closet/hop, +/obj/machinery/light{ + dir = 1; + light_color = "#e8eaff" }, -/obj/machinery/keycard_auth{ - pixel_x = 24; - pixel_y = -8 +/obj/item/clothing/under/rank/civilian/head_of_personnel/suit, +/obj/item/clothing/under/rank/civilian/head_of_personnel/suit/skirt{ + name = "head of personnel's suitskirt" }, -/turf/open/floor/carpet/green, +/turf/open/floor/plasteel/dark, /area/crew_quarters/heads/hop) "bir" = ( /obj/effect/turf_decal/tile/brown{ @@ -28094,17 +28250,25 @@ /turf/open/floor/plating, /area/security/courtroom/jury) "bjw" = ( -/obj/machinery/computer/card{ - dir = 8 +/obj/item/storage/secure/safe{ + pixel_x = 4; + pixel_y = 32 }, -/obj/machinery/keycard_auth{ - pixel_x = 8; - pixel_y = -24 +/obj/structure/disposalpipe/segment{ + dir = 5 }, -/turf/open/floor/carpet{ - icon_state = "carpetsymbol" +/obj/effect/decal/cleanable/cobweb{ + icon_state = "cobweb2" }, -/area/crew_quarters/heads/captain) +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/central) "bjx" = ( /obj/structure/table/optable, /obj/effect/turf_decal/bot, @@ -28136,21 +28300,13 @@ /turf/open/floor/plating, /area/maintenance/department/eva) "bjB" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red{ +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/item/folder/red, -/turf/open/floor/plasteel, -/area/security/checkpoint/supply) +/obj/structure/cable, +/turf/open/floor/plating, +/area/security/brig) "bjC" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -28193,9 +28349,18 @@ }, /area/engine/atmos) "bjF" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/security/checkpoint/supply) +/obj/machinery/power/apc{ + areastring = "/area/maintenance/aft"; + dir = 8; + name = "Head of Personnel APC"; + pixel_x = -24 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable, +/turf/open/floor/carpet/green, +/area/crew_quarters/heads/hop) "bjG" = ( /obj/structure/rack, /turf/open/floor/plasteel, @@ -28350,21 +28515,24 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "bjV" = ( +/obj/structure/closet{ + name = "Evidence Closet 5" + }, +/obj/machinery/light_switch{ + pixel_y = -24 + }, /obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, /obj/effect/turf_decal/tile/red{ dir = 8 }, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/structure/chair{ - dir = 4 +/obj/structure/cable{ + icon_state = "1-2" }, /turf/open/floor/plasteel, -/area/security/checkpoint/supply) +/area/security/brig) "bjW" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28642,12 +28810,12 @@ /turf/open/floor/plasteel, /area/quartermaster/warehouse) "bkC" = ( -/obj/machinery/modular_computer/console/preset/research{ - dir = 8 +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" }, -/obj/item/reagent_containers/food/drinks/coffee, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/heads/hor) +/turf/open/floor/plating, +/area/crew_quarters/heads/captain) "bkD" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -29496,13 +29664,12 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "bmj" = ( -/obj/structure/closet/secure_closet/RD, -/obj/machinery/light{ - dir = 4; - light_color = "#c1caff" +/obj/machinery/vending/wardrobe/cap_wardrobe, +/obj/structure/cable{ + icon_state = "2-8" }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/heads/hor) +/turf/open/floor/carpet/blue, +/area/crew_quarters/heads/captain) "bmk" = ( /obj/structure/table/wood, /obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, @@ -29914,6 +30081,7 @@ /obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 8 }, +/obj/item/paper/guides/cogstation/cdn_chap, /turf/open/floor/plasteel/dark, /area/chapel/office) "bmY" = ( @@ -30540,9 +30708,17 @@ /turf/closed/wall/r_wall, /area/crew_quarters/fitness/cogpool) "boj" = ( -/obj/structure/rack, -/obj/item/caution, -/obj/item/caution, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ + dir = 4 + }, /turf/open/floor/plasteel, /area/quartermaster/warehouse) "bok" = ( @@ -31307,17 +31483,10 @@ name = "Aft Air Hookup" }) "bpW" = ( -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 4 +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, +/turf/closed/wall, /area/security/brig) "bpX" = ( /obj/machinery/disposal/bin, @@ -32621,12 +32790,9 @@ /turf/open/floor/plating, /area/maintenance/disposal) "bsz" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supplymain/visible, -/obj/machinery/atmospherics/pipe/simple/violet/visible{ +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/violet/hidden{ + icon_state = "pipe11-2"; dir = 4 }, /turf/open/space/basic, @@ -32770,15 +32936,11 @@ /turf/open/floor/plasteel/dark, /area/chapel/office) "bsT" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/violet/hidden{ + icon_state = "pipe11-2"; + dir = 10 }, -/obj/structure/transit_tube/crossing/horizontal, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supplymain/visible, /turf/open/space/basic, /area/space/nearstation) "bsU" = ( @@ -33505,19 +33667,25 @@ /turf/open/floor/plating, /area/maintenance/department/chapel) "buM" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/heads/cmo) +/obj/structure/table/wood, +/obj/machinery/recharger, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/carpet/blue, +/area/crew_quarters/heads/captain) "buN" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/cyan/hidden, /turf/closed/wall/rust, /area/chapel/main) "buO" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/closed/wall, -/area/security/detectives_office) +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/crew_quarters/heads/captain) "buP" = ( /obj/item/trash/plate, /obj/item/lighter/greyscale, @@ -33535,22 +33703,15 @@ /turf/open/floor/plasteel/dark, /area/chapel/office) "buR" = ( -/obj/item/storage/secure/safe{ - pixel_x = 4; - pixel_y = 32 - }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/decal/cleanable/cobweb{ - icon_state = "cobweb2" +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" }, /obj/structure/cable{ - icon_state = "2-8" + icon_state = "0-2" }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, /turf/open/floor/plating, -/area/maintenance/starboard/central) +/area/crew_quarters/heads/hop) "buS" = ( /turf/closed/wall/r_wall, /area/crew_quarters/heads/cmo) @@ -34517,7 +34678,7 @@ dir = 8 }, /obj/structure/table, -/obj/item/clothing/under/rank/mailman, +/obj/item/clothing/under/misc/mailman, /obj/item/clothing/head/mailman, /obj/item/wirecutters, /obj/item/stack/packageWrap, @@ -34620,8 +34781,8 @@ /obj/structure/disposalpipe/segment, /obj/item/clothing/gloves/color/purple, /obj/item/clothing/gloves/color/purple, -/obj/item/clothing/under/janimaid, -/obj/item/clothing/under/janimaid, +/obj/item/clothing/under/costume/maid, +/obj/item/clothing/under/costume/maid, /obj/structure/sign/poster/official/bless_this_spess{ pixel_x = -32 }, @@ -35067,13 +35228,19 @@ /turf/open/floor/engine/vacuum, /area/science/mixing) "byd" = ( -/obj/machinery/computer/crew, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 1 +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/pen/fourcolor, +/obj/item/pen/fountain{ + pixel_x = 2; + pixel_y = 6 }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/heads/cmo) +/obj/item/stamp/hop, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/carpet/green, +/area/crew_quarters/heads/hop) "bye" = ( /obj/structure/safe/floor, /obj/effect/turf_decal/tile/green, @@ -35615,19 +35782,16 @@ /turf/open/floor/plating/airless, /area/quartermaster/miningoffice) "bzw" = ( -/obj/effect/turf_decal/stripes/end{ - dir = 4 +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/obj/machinery/conveyor{ - dir = 4; - id = "MiningConveyer" +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ + dir = 9 }, -/obj/machinery/door/poddoor{ - id = "MiningConveyerBlastDoor"; - name = "Asteroid Mining Load Door" - }, -/turf/open/floor/plating/airless, -/area/quartermaster/miningoffice) +/obj/effect/landmark/start/cargo_technician, +/turf/open/floor/plasteel, +/area/quartermaster/warehouse) "bzx" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security{ @@ -35701,45 +35865,10 @@ /turf/open/floor/plasteel/dark, /area/science/robotics/lab) "bzH" = ( -/obj/structure/table, -/obj/machinery/light{ - dir = 4; - light_color = "#c1caff" - }, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high/plus, -/obj/item/stock_parts/cell/high/plus{ - pixel_y = 8 - }, -/obj/item/stock_parts/cell/high/plus{ - pixel_y = 8 - }, -/obj/item/assembly/flash{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/item/assembly/flash{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/item/assembly/flash{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/item/assembly/flash{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/item/assembly/flash{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/item/assembly/flash{ - pixel_x = -8; - pixel_y = 4 - }, -/turf/open/floor/plasteel/dark, -/area/science/robotics/lab) +/obj/structure/disposalpipe/segment, +/obj/structure/grille/broken, +/turf/open/floor/plating, +/area/maintenance/disposal) "bzI" = ( /obj/effect/turf_decal/tile/yellow, /obj/effect/turf_decal/tile/yellow{ @@ -35995,17 +36124,20 @@ /turf/open/floor/plasteel, /area/router) "bAn" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 8 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel/dark/side{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 }, -/area/gateway) +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/carpet/green, +/area/crew_quarters/heads/hop) "bAo" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ @@ -36131,12 +36263,13 @@ /area/science/mixing) "bAA" = ( /obj/structure/lattice, -/obj/structure/disposalpipe/segment, -/obj/machinery/camera{ - c_tag = "Supply - Warehouse Exterior"; - dir = 1 +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/violet/hidden{ + icon_state = "pipe11-2"; + dir = 10 }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, /turf/open/space/basic, /area/space/nearstation) "bAB" = ( @@ -36327,16 +36460,22 @@ /turf/closed/wall, /area/hallway/secondary/exit) "bAX" = ( -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ +/obj/structure/table/wood, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, -/obj/machinery/photocopier, -/obj/structure/extinguisher_cabinet{ - pixel_y = -32 +/obj/structure/cable{ + icon_state = "1-8" }, -/turf/open/floor/plasteel, -/area/security/main) +/obj/item/paper/fluff/cogstation/letter_cap{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/item/flashlight/lamp, +/turf/open/floor/carpet{ + icon_state = "carpetsymbol" + }, +/area/crew_quarters/heads/captain) "bAY" = ( /obj/machinery/status_display, /turf/closed/wall, @@ -36520,17 +36659,16 @@ /turf/open/floor/plasteel, /area/science/robotics/lab) "bBt" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 +/obj/structure/cable{ + icon_state = "1-4" }, -/turf/open/floor/carpet/green, -/area/crew_quarters/heads/hop) +/turf/open/floor/carpet{ + icon_state = "carpetsymbol" + }, +/area/crew_quarters/heads/captain) "bBu" = ( /turf/open/floor/plasteel/showroomfloor, /area/medical/morgue) @@ -36827,11 +36965,14 @@ /turf/open/floor/plasteel, /area/router/eva) "bCd" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 +/obj/effect/landmark/start/captain, +/obj/structure/cable{ + icon_state = "4-8" }, -/turf/open/floor/plasteel/white, -/area/gateway) +/turf/open/floor/carpet{ + icon_state = "carpetsymbol" + }, +/area/crew_quarters/heads/captain) "bCe" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -36996,7 +37137,7 @@ }, /obj/effect/turf_decal/tile/yellow, /obj/structure/closet/secure_closet/engineering_personal, -/obj/item/clothing/under/overalls, +/obj/item/clothing/under/misc/overalls, /obj/structure/window/reinforced/spawner/east, /turf/open/floor/plasteel, /area/storage/primary) @@ -37007,9 +37148,11 @@ /turf/open/floor/plasteel, /area/hallway/secondary/exit) "bCB" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/grille/broken, /obj/effect/decal/cleanable/dirt, +/obj/structure/disposaloutlet, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, /turf/open/floor/plating, /area/maintenance/disposal) "bCC" = ( @@ -37038,8 +37181,11 @@ /turf/open/floor/plating, /area/router/eva) "bCF" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 9 }, /turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai) @@ -37376,11 +37522,8 @@ "bDw" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ - id = "AIShutter"; - name = "AI Core Shutters" - }, -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ - dir = 10 + id = "AIChamberShutter"; + name = "AI Chamber Shutters" }, /turf/open/floor/plating, /area/ai_monitored/turret_protected/ai) @@ -37580,13 +37723,11 @@ /turf/open/floor/plasteel, /area/medical/chemistry) "bDU" = ( +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ - id = "AIShutter"; - name = "AI Core Shutters" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 + id = "AIChamberShutter"; + name = "AI Chamber Shutters" }, /turf/open/floor/plating, /area/ai_monitored/turret_protected/ai) @@ -37594,13 +37735,16 @@ /turf/open/floor/plasteel/stairs/left, /area/crew_quarters/bar) "bDW" = ( +/obj/structure/disposalpipe/segment, /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command/glass{ + name = "AI Chamber"; + req_access_txt = "65" }, -/turf/open/floor/circuit, +/turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/ai) "bDX" = ( /turf/open/floor/plasteel/stairs/right, @@ -37797,18 +37941,22 @@ /turf/closed/wall/r_wall, /area/maintenance/solars/starboard/fore) "bEq" = ( -/obj/machinery/computer/security{ - dir = 1 +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ +/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{ dir = 8 }, -/obj/effect/turf_decal/tile/red{ - dir = 1 +/obj/structure/cable{ + icon_state = "1-8" }, -/turf/open/floor/plasteel, -/area/security/checkpoint) +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/carpet{ + icon_state = "carpetsymbol" + }, +/area/crew_quarters/heads/captain) "bEr" = ( /obj/structure/cable, /obj/machinery/power/apc{ @@ -38011,23 +38159,13 @@ /turf/open/floor/plating, /area/maintenance/fore) "bEL" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security/glass{ - name = "Security Office"; - req_access_txt = "63" - }, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/brig) +/obj/effect/decal/cleanable/dirt, +/obj/structure/grille/broken, +/turf/open/floor/plating, +/area/maintenance/disposal) "bEM" = ( /obj/effect/turf_decal/tile/bar, /obj/effect/turf_decal/tile/bar{ @@ -38178,12 +38316,12 @@ /turf/open/floor/plating, /area/router) "bEZ" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ - id = "AIShutter"; - name = "AI Core Shutters" + id = "AIChamberShutter"; + name = "AI Chamber Shutters" }, -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /turf/open/floor/plating, /area/ai_monitored/turret_protected/ai) "bFa" = ( @@ -38221,13 +38359,36 @@ /turf/open/floor/plating, /area/maintenance/starboard/central) "bFf" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "AIShutter"; - name = "AI Core Shutters" +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/item/aiModule/supplied/oxygen{ + pixel_x = 2; + pixel_y = 10 + }, +/obj/item/aiModule/supplied/quarantine{ + pixel_x = 1; + pixel_y = 8 + }, +/obj/item/aiModule/zeroth/oneHuman{ + pixel_y = 4 + }, +/obj/effect/spawner/lootdrop/aimodule_harmful{ + pixel_x = -1; + pixel_y = 2 + }, +/obj/item/aiModule/supplied/protectStation{ + pixel_x = -2 + }, +/turf/open/floor/plasteel, /area/ai_monitored/turret_protected/ai) "bFg" = ( /obj/effect/turf_decal/tile/brown, @@ -38329,8 +38490,16 @@ /turf/open/floor/plating, /area/medical/chemistry) "bFv" = ( -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, -/turf/open/floor/circuit, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel, /area/ai_monitored/turret_protected/ai) "bFw" = ( /obj/machinery/monkey_recycler, @@ -38352,27 +38521,22 @@ /turf/open/floor/plasteel, /area/medical/chemistry) "bFy" = ( -/obj/structure/cable, -/obj/machinery/power/apc{ - areastring = "/area/maintenance/aft"; - dir = 8; - name = "Head of Personnel APC"; - pixel_x = -24 +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 }, -/turf/open/floor/carpet/green, -/area/crew_quarters/heads/hop) -"bFz" = ( /obj/structure/cable{ - icon_state = "2-8" + icon_state = "4-8" }, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 +/turf/open/floor/carpet{ + icon_state = "carpetsymbol" }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel/dark/side{ - dir = 8 - }, -/area/gateway) +/area/crew_quarters/heads/captain) +"bFz" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/item/paper/guides/cogstation/janitor, +/turf/open/floor/plasteel, +/area/janitor) "bFA" = ( /obj/structure/chair/stool, /obj/effect/turf_decal/tile/neutral, @@ -38760,11 +38924,17 @@ /turf/open/floor/plasteel, /area/security/main) "bGg" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/turf_decal/tile/blue{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/circuit, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, +/turf/open/floor/plasteel, /area/ai_monitored/turret_protected/ai) "bGh" = ( /obj/structure/lattice, @@ -38967,11 +39137,10 @@ /obj/effect/turf_decal/tile/blue{ dir = 1 }, +/obj/structure/disposalpipe/segment, /obj/structure/cable{ - icon_state = "2-4" + icon_state = "1-8" }, -/obj/structure/window/reinforced/spawner/north, -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /turf/open/floor/plasteel, /area/ai_monitored/turret_protected/ai) "bGC" = ( @@ -38991,7 +39160,6 @@ /obj/effect/turf_decal/tile/blue{ dir = 1 }, -/obj/structure/window/reinforced/spawner/north, /obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel, /area/ai_monitored/turret_protected/ai) @@ -39103,9 +39271,9 @@ /obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/item/clothing/under/staffassistant, -/obj/item/clothing/under/staffassistant, -/obj/item/clothing/under/staffassistant, +/obj/item/clothing/under/misc/staffassistant, +/obj/item/clothing/under/misc/staffassistant, +/obj/item/clothing/under/misc/staffassistant, /turf/open/floor/plasteel, /area/crew_quarters/locker) "bGS" = ( @@ -39372,7 +39540,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/obj/item/clothing/under/staffassistant, +/obj/item/clothing/under/misc/staffassistant, /turf/open/floor/plasteel, /area/crew_quarters/locker) "bHw" = ( @@ -39384,7 +39552,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/obj/item/clothing/under/staffassistant, +/obj/item/clothing/under/misc/staffassistant, /turf/open/floor/plasteel, /area/crew_quarters/locker) "bHx" = ( @@ -39901,17 +40069,15 @@ /turf/open/floor/plating, /area/maintenance/solars/starboard/aft) "bIC" = ( -/obj/structure/cable{ - icon_state = "0-4" +/obj/machinery/conveyor/auto{ + id = "disposal" }, -/obj/machinery/power/apc{ - areastring = "/area/maintenance/aft"; - dir = 8; - name = "Aft Maintenance APC"; - pixel_x = -24 +/obj/structure/disposalpipe/segment{ + dir = 4 }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/maintenance/aft) +/area/maintenance/disposal) "bID" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/tile/neutral{ @@ -40061,16 +40227,11 @@ name = "Research Sector" }) "bIT" = ( -/obj/structure/lattice/catwalk, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/violet/visible{ +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/supplymain/visible{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supplymain/visible, -/obj/machinery/atmospherics/pipe/simple/violet/hidden{ - icon_state = "pipe11-2"; - dir = 8 - }, +/obj/machinery/atmospherics/pipe/simple/violet/hidden, /turf/open/space/basic, /area/space/nearstation) "bIU" = ( @@ -40121,12 +40282,9 @@ /turf/open/floor/plasteel, /area/maintenance/department/chapel) "bIY" = ( -/obj/machinery/atmospherics/pipe/simple/violet/visible{ - dir = 10 - }, -/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/violet/hidden, /turf/open/space/basic, -/area/space/nearstation) +/area/space) "bIZ" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -40749,16 +40907,13 @@ /turf/open/floor/plating, /area/quartermaster/miningoffice) "bKp" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2" }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/caution/stand_clear{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/science/xenobiology) +/turf/open/floor/plating, +/area/crew_quarters/heads/hop) "bKq" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -40932,12 +41087,18 @@ /turf/open/floor/engine, /area/science/xenobiology) "bKG" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/machinery/computer/cargo/request{ + dir = 1 }, -/turf/open/floor/plating, -/area/science/xenobiology) +/obj/machinery/keycard_auth{ + pixel_x = 24; + pixel_y = -8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/carpet/green, +/area/crew_quarters/heads/hop) "bKH" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 4 @@ -40952,25 +41113,23 @@ /turf/open/floor/engine, /area/science/mixing) "bKJ" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 4 +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" }, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/science/xenobiology) +/obj/structure/cable, +/turf/open/floor/plating, +/area/crew_quarters/heads/hop) "bKK" = ( -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 4 +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" }, -/obj/effect/turf_decal/tile/purple{ - dir = 1 +/obj/structure/cable{ + icon_state = "0-8" }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel/dark, -/area/science/xenobiology) +/turf/open/floor/plating, +/area/crew_quarters/heads/hop) "bKL" = ( /obj/structure/cable{ icon_state = "2-4" @@ -41191,12 +41350,13 @@ /turf/open/floor/engine, /area/science/xenobiology) "bLe" = ( -/obj/machinery/door/window/westright{ - name = "Containment Pen"; - req_one_access_txt = "55" +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-8" }, -/turf/open/floor/engine, -/area/science/xenobiology) +/turf/open/floor/plating, +/area/crew_quarters/heads/hop) "bLf" = ( /obj/machinery/door/window/eastleft{ name = "Containment Pen"; @@ -41218,8 +41378,23 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "bLh" = ( -/turf/open/floor/plasteel/dark, -/area/science/xenobiology) +/obj/structure/bed, +/obj/item/radio/intercom{ + name = "Station Intercom (Common)"; + pixel_y = -28 + }, +/obj/item/bedsheet/captain, +/obj/effect/landmark/start/captain, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/carpet{ + icon_state = "carpetsymbol" + }, +/area/crew_quarters/heads/captain) "bLi" = ( /obj/effect/turf_decal/tile/purple, /obj/effect/turf_decal/tile/purple{ @@ -41237,12 +41412,16 @@ /turf/open/floor/plasteel, /area/science/xenobiology) "bLk" = ( -/obj/machinery/door/window/eastleft{ - name = "Containment Pen"; - req_one_access_txt = "55" +/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ + dir = 1 }, -/turf/open/floor/engine, -/area/science/xenobiology) +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/carpet{ + icon_state = "carpetsymbol" + }, +/area/crew_quarters/heads/captain) "bLl" = ( /obj/machinery/atmospherics/pipe/manifold/cyan/hidden{ dir = 4 @@ -41703,11 +41882,23 @@ /turf/open/floor/plasteel/white, /area/medical/genetics) "bMh" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 +/obj/structure/cable{ + icon_state = "1-2" }, -/turf/open/floor/plasteel/dark, -/area/science/xenobiology) +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/carpet{ + icon_state = "carpetsymbol" + }, +/area/crew_quarters/heads/captain) "bMi" = ( /obj/effect/turf_decal/tile/purple, /obj/effect/turf_decal/tile/purple{ @@ -41731,7 +41922,7 @@ "bMm" = ( /obj/structure/table/wood, /obj/machinery/light, -/obj/item/clothing/under/assistantformal{ +/obj/item/clothing/under/misc/assistantformal{ pixel_y = 4 }, /turf/open/floor/carpet{ @@ -41979,10 +42170,14 @@ /turf/open/floor/plasteel/white, /area/medical/virology) "bMK" = ( -/obj/machinery/atmospherics/pipe/simple/violet/visible{ +/obj/structure/lattice, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/violet/hidden{ + icon_state = "pipe11-2"; dir = 5 }, -/obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) "bML" = ( @@ -42100,9 +42295,13 @@ /turf/open/floor/plating, /area/router) "bMX" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/pipe/simple/violet/visible, -/obj/machinery/atmospherics/pipe/simple/supplymain/visible{ +/obj/structure/lattice, +/obj/structure/sign/warning{ + name = "\improper KEEP CLEAR: HIGH SPEED DELIVERIES"; + pixel_y = -32 + }, +/obj/machinery/atmospherics/pipe/simple/violet/hidden{ + icon_state = "pipe11-2"; dir = 4 }, /turf/open/space/basic, @@ -42879,15 +43078,17 @@ /turf/open/floor/plasteel, /area/science/xenobiology) "bOJ" = ( -/obj/structure/table/reinforced, -/obj/structure/window/reinforced{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 9 }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/structure/cable{ + icon_state = "4-8" }, -/turf/open/floor/plasteel, -/area/science/xenobiology) +/mob/living/simple_animal/pet/cat/space, +/turf/open/floor/carpet{ + icon_state = "carpetsymbol" + }, +/area/crew_quarters/heads/captain) "bOK" = ( /obj/effect/turf_decal/delivery, /obj/machinery/door/window/northright{ @@ -42897,18 +43098,20 @@ /turf/open/floor/plasteel, /area/science/xenobiology) "bOL" = ( -/obj/structure/table/reinforced, -/obj/structure/window/reinforced{ - dir = 8; - layer = 2.9 +/obj/machinery/computer/card{ + dir = 8 }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/machinery/keycard_auth{ + pixel_x = 8; + pixel_y = -24 }, -/obj/item/clothing/mask/gas, -/obj/item/clothing/glasses/science, -/turf/open/floor/plasteel, -/area/science/xenobiology) +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/carpet{ + icon_state = "carpetsymbol" + }, +/area/crew_quarters/heads/captain) "bOM" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/stripes/line{ @@ -42938,22 +43141,47 @@ /turf/open/floor/plating, /area/science/xenobiology) "bOQ" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/general/visible, -/turf/open/floor/plating, -/area/science/xenobiology) -"bOR" = ( -/obj/machinery/door/window/southright{ - name = "Secure Xenobiological Containment"; - req_one_access_txt = "55" +/obj/structure/cable{ + icon_state = "1-4" }, -/turf/open/floor/engine, -/area/science/xenobiology) +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/captain) +"bOR" = ( +/obj/structure/table/wood, +/obj/item/pinpointer/nuke, +/obj/item/card/id/captains_spare, +/obj/item/hand_tele, +/obj/item/disk/nuclear, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/captain) "bOS" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/science/xenobiology) +/obj/structure/table/wood, +/obj/machinery/light, +/obj/item/storage/photo_album/Captain, +/obj/item/camera{ + pixel_y = -6 + }, +/obj/item/stamp/captain, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/captain) "bOT" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ dir = 1 @@ -43048,15 +43276,14 @@ /turf/open/floor/engine, /area/science/xenobiology) "bPh" = ( -/obj/machinery/light{ - dir = 1 +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/violet/hidden{ + icon_state = "pipe11-2"; + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, -/obj/machinery/portable_atmospherics/scrubber, -/turf/open/floor/engine, -/area/engine/secure_construction{ - name = "Engineering Construction Area" - }) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/space/basic, +/area/space/nearstation) "bPi" = ( /obj/structure/chair{ dir = 8 @@ -43070,8 +43297,8 @@ /area/science/xenobiology) "bPk" = ( /obj/structure/table/reinforced, -/obj/item/clothing/under/staffassistant, -/obj/item/clothing/under/staffassistant, +/obj/item/clothing/under/misc/staffassistant, +/obj/item/clothing/under/misc/staffassistant, /obj/item/clothing/suit/apron/surgical, /obj/item/clothing/suit/apron/surgical, /turf/open/floor/engine, @@ -43141,10 +43368,14 @@ /turf/open/floor/plating, /area/maintenance/disposal) "bPr" = ( -/obj/structure/lattice, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/violet/visible{ - dir = 10 +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supplymain/visible, +/obj/machinery/atmospherics/pipe/simple/violet/hidden{ + icon_state = "pipe11-2"; + dir = 4 }, /turf/open/space/basic, /area/space/nearstation) @@ -43329,9 +43560,15 @@ /turf/open/floor/plasteel, /area/engine/atmos) "bPK" = ( -/obj/structure/window/reinforced/spawner/north, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/dark, +/obj/structure/chair/stool, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel, /area/ai_monitored/turret_protected/ai) "bPL" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ @@ -43445,18 +43682,13 @@ /turf/open/floor/plasteel, /area/quartermaster/qm) "bPX" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/engineering{ - name = "Engineering Foyer"; - req_one_access_txt = "10;24" +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/violet/hidden{ + icon_state = "pipe11-2"; + dir = 9 }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/engine/break_room) +/turf/open/space/basic, +/area/space/nearstation) "bPY" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/orange/hidden, @@ -43502,7 +43734,8 @@ dir = 1; name = "AI Chamber turret control"; pixel_x = 5; - pixel_y = 24 + pixel_y = 24; + req_access_txt = "65" }, /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ dir = 6 @@ -44084,11 +44317,9 @@ /turf/open/floor/carpet/blue, /area/crew_quarters/heads/captain) "bRc" = ( +/obj/machinery/suit_storage_unit/captain, /obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 5 + icon_state = "4-8" }, /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/captain) @@ -44187,36 +44418,26 @@ /turf/open/floor/plasteel/white, /area/science/mixing) "bRn" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/engineering{ - name = "Engineering Foyer"; - req_one_access_txt = "10;24" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/structure/lattice/catwalk, /obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/engine/break_room) -"bRo" = ( -/obj/structure/lattice, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/violet/visible{ - dir = 5 +/obj/machinery/atmospherics/pipe/simple/supplymain/visible, +/obj/machinery/atmospherics/pipe/simple/violet/hidden{ + icon_state = "pipe11-2"; + dir = 8 }, /turf/open/space/basic, /area/space/nearstation) +"bRo" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/violet/hidden, +/turf/open/space/basic, +/area/space/nearstation) "bRp" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/violet/hidden{ + icon_state = "pipe11-2"; + dir = 5 }, -/obj/machinery/atmospherics/pipe/simple/violet/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supplymain/visible, /turf/open/space/basic, /area/space/nearstation) "bRq" = ( @@ -44325,20 +44546,14 @@ /turf/open/floor/plasteel, /area/quartermaster/miningoffice) "bRA" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/engineering/glass{ - name = "Engineering Access"; - req_one_access_txt = "10;24" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ +/obj/machinery/light{ dir = 1 }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/engine/break_room) +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, +/turf/open/floor/engine, +/area/engine/secure_construction{ + name = "Engineering Construction Area" + }) "bRB" = ( /obj/item/radio/intercom{ name = "Station Intercom (Common)"; @@ -44356,14 +44571,20 @@ /turf/open/floor/plasteel, /area/engine/atmos) "bRD" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_x = -6; + pixel_y = 2 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_x = 6; + pixel_y = 3 + }, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-4" }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/space/nearstation) +/turf/open/floor/plasteel/dark, +/area/bridge) "bRE" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -45375,17 +45596,13 @@ /turf/open/floor/engine/plasma, /area/engine/atmos) "bTJ" = ( -/obj/effect/turf_decal/stripes/line{ +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/violet/hidden{ + icon_state = "pipe11-2"; dir = 8 }, -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 23 - }, -/turf/open/floor/plasteel, -/area/engine/secure_construction{ - name = "Engineering Construction Area" - }) +/turf/open/space/basic, +/area/space/nearstation) "bTK" = ( /turf/open/floor/engine/co2, /area/engine/atmos) @@ -45704,15 +45921,15 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "bUt" = ( -/obj/structure/grille, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/light{ + dir = 4; + light_color = "#e8eaff" }, -/turf/open/floor/plating, -/area/science/server{ - name = "Computer Core" - }) +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plasteel/dark/side{ + dir = 4 + }, +/area/hallway/primary/central) "bUu" = ( /obj/structure/grille, /obj/structure/disposalpipe/segment{ @@ -45972,23 +46189,19 @@ /turf/open/floor/plasteel, /area/quartermaster/warehouse) "bUS" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/photocopier, -/obj/structure/disposalpipe/segment{ +/obj/structure/closet/secure_closet/quartermaster, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ dir = 4 }, -/obj/machinery/requests_console{ - department = "Cargo Bay"; - departmentType = 2; - name = "Cargo RC"; - pixel_y = 30 - }, -/obj/machinery/camera{ - c_tag = "Supply - Delivery Office Aft"; - network = list("ss13","rd") - }, +/obj/effect/turf_decal/tile/brown, +/obj/item/clothing/suit/space/eva, +/obj/item/clothing/head/helmet/space/eva, +/obj/item/paper/fluff/cogstation/letter_qm, /turf/open/floor/plasteel, -/area/quartermaster/sorting) +/area/quartermaster/qm) "bUT" = ( /obj/effect/turf_decal/delivery, /obj/machinery/light{ @@ -46009,13 +46222,14 @@ /turf/open/floor/plasteel, /area/ai_monitored/turret_protected/ai_upload_foyer) "bUV" = ( -/obj/effect/turf_decal/stripes/white/full, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 4 +/obj/structure/lattice, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/violet/hidden{ + icon_state = "pipe11-2"; + dir = 10 }, -/turf/open/floor/plasteel, -/area/engine/atmos) +/turf/open/space/basic, +/area/space/nearstation) "bUW" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ dir = 4 @@ -46032,12 +46246,13 @@ /turf/open/floor/plating, /area/maintenance/starboard/aft) "bUX" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/structure/disposalpipe/segment{ - dir = 10 +/obj/structure/transit_tube/station/reverse/flipped{ + dir = 1 }, -/turf/open/floor/plasteel, -/area/engine/atmos) +/turf/open/floor/engine, +/area/engine/secure_construction{ + name = "Engineering Construction Area" + }) "bUY" = ( /obj/structure/cable{ icon_state = "1-2" @@ -46068,21 +46283,15 @@ /turf/open/floor/plasteel, /area/router) "bVb" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/engineering/glass{ - name = "Engineering Access"; - req_one_access_txt = "10;24" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ dir = 1 }, +/obj/effect/turf_decal/stripes/line, +/obj/structure/transit_tube/horizontal, /turf/open/floor/plasteel, -/area/engine/break_room) +/area/engine/secure_construction{ + name = "Engineering Construction Area" + }) "bVc" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -46157,17 +46366,12 @@ /turf/open/floor/plasteel, /area/maintenance/department/chapel) "bVj" = ( -/obj/effect/turf_decal/tile/brown{ - dir = 4 +/obj/effect/decal/cleanable/dirt, +/obj/machinery/conveyor/auto{ + id = "disposal" }, -/obj/machinery/light{ - dir = 1 - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) +/turf/open/floor/plating, +/area/maintenance/disposal) "bVk" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden, /obj/machinery/atmospherics/pipe/simple/orange/hidden{ @@ -46477,9 +46681,13 @@ name = "Research Sector" }) "bVN" = ( -/obj/structure/closet/l3closet/scientist, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/heads/hor) +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/crew_quarters/heads/captain) "bVO" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -47522,30 +47730,15 @@ /turf/open/floor/plasteel, /area/hydroponics) "bXI" = ( -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/machinery/computer/security{ - dir = 8 +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" }, /obj/structure/cable{ icon_state = "0-8" }, -/obj/machinery/power/apc{ - areastring = "/area/security/checkpoint/supply"; - dir = 4; - name = "Cargo Security Checkpoint APC"; - pixel_x = 24 - }, -/turf/open/floor/plasteel, -/area/security/checkpoint/supply) +/turf/open/floor/plating, +/area/crew_quarters/heads/captain) "bXJ" = ( /obj/structure/chair{ dir = 8 @@ -47769,15 +47962,13 @@ /turf/open/floor/plating, /area/router) "bYg" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" +/obj/machinery/door/poddoor{ + id = "toxinsdriver"; + name = "toxins launcher bay door" }, +/obj/structure/fans/tiny, /turf/open/floor/plating, -/area/maintenance/starboard/aft) +/area/science/mixing) "bYh" = ( /obj/structure/cable{ icon_state = "1-8" @@ -48328,10 +48519,11 @@ /turf/open/floor/plating, /area/quartermaster/warehouse) "bZe" = ( -/obj/effect/spawner/structure/window/reinforced, +/obj/structure/grille, /obj/structure/disposalpipe/segment, +/obj/structure/cable, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "0-2" }, /turf/open/floor/plating, /area/science/server{ @@ -48748,17 +48940,11 @@ /turf/open/floor/plasteel/white, /area/science/mixing) "caf" = ( +/obj/structure/lattice, /obj/structure/disposalpipe/segment, -/obj/structure/lattice/catwalk, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supplymain/visible{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/violet/hidden{ + icon_state = "pipe11-2"; + dir = 5 }, /turf/open/space/basic, /area/space/nearstation) @@ -49168,15 +49354,16 @@ /turf/open/floor/plating, /area/science/storage) "cbi" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" }, /obj/structure/cable{ - icon_state = "2-4" + icon_state = "0-8" }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) +/obj/structure/cable, +/turf/open/floor/plating, +/area/crew_quarters/heads/captain) "cbj" = ( /obj/structure/cable{ icon_state = "1-8" @@ -49237,12 +49424,13 @@ /turf/open/floor/plasteel, /area/science/xenobiology) "cbp" = ( +/obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "0-8" }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) +/obj/structure/cable, +/turf/open/floor/plating, +/area/crew_quarters/heads/captain) "cbq" = ( /obj/structure/table/reinforced, /obj/item/clipboard, @@ -49304,20 +49492,12 @@ /turf/open/floor/engine, /area/science/explab) "cbA" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/caution/stand_clear{ - dir = 1 - }, +/obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "0-2" }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel, -/area/science/xenobiology) +/turf/open/floor/plating, +/area/ai_monitored/storage/eva) "cbB" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -49361,21 +49541,16 @@ /turf/open/space/basic, /area/space/nearstation) "cbH" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 4 +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-4" }, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "0-2" }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/dark, -/area/science/xenobiology) +/turf/open/floor/plating, +/area/ai_monitored/storage/eva) "cbI" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -50097,11 +50272,16 @@ /turf/open/floor/plasteel, /area/quartermaster/warehouse) "cda" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 4 +/obj/structure/table, +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/dark/corner, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high/plus, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, /area/ai_monitored/storage/eva) "cdb" = ( /obj/structure/disposalpipe/trunk{ @@ -50202,13 +50382,20 @@ /turf/open/floor/plasteel, /area/engine/break_room) "cdm" = ( -/obj/structure/closet/secure_closet/CMO, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/machinery/photocopier, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 5 + }, +/obj/effect/turf_decal/tile/red{ dir = 1 }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/heads/cmo) +/obj/item/paper/guides/cogstation/disposals, +/turf/open/floor/plasteel, +/area/engine/break_room) "cdn" = ( /obj/structure/cable{ icon_state = "1-4" @@ -50233,10 +50420,14 @@ /turf/open/floor/plating/airless, /area/space/nearstation) "cdp" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/simple/violet/visible, -/obj/machinery/atmospherics/pipe/simple/supplymain/visible{ - dir = 4 +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supplymain/visible, +/obj/machinery/atmospherics/pipe/simple/violet/hidden{ + icon_state = "pipe11-2"; + dir = 8 }, /turf/open/space/basic, /area/space/nearstation) @@ -50572,14 +50763,24 @@ /turf/closed/wall/r_wall, /area/medical/medbay/lobby) "cea" = ( -/obj/machinery/computer/cloning, -/obj/effect/turf_decal/bot, -/obj/structure/disposalpipe/segment, -/obj/item/paper/guides/jobs/medical/cloning{ - pixel_x = -4 +/obj/effect/turf_decal/delivery, +/obj/machinery/photocopier, +/obj/structure/disposalpipe/segment{ + dir = 4 }, +/obj/machinery/requests_console{ + department = "Cargo Bay"; + departmentType = 2; + name = "Cargo RC"; + pixel_y = 30 + }, +/obj/machinery/camera{ + c_tag = "Supply - Delivery Office Aft"; + network = list("ss13","rd") + }, +/obj/item/paper/guides/cogstation/disposals, /turf/open/floor/plasteel, -/area/medical/medbay/central) +/area/quartermaster/sorting) "ceb" = ( /obj/structure/table, /obj/effect/turf_decal/stripes/line, @@ -51327,10 +51528,18 @@ name = "Engineering Construction Area" }) "cfx" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 23 + }, +/obj/machinery/portable_atmospherics/scrubber, /turf/open/floor/plasteel, -/area/engine/atmos) +/area/engine/secure_construction{ + name = "Engineering Construction Area" + }) "cfy" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -51815,18 +52024,10 @@ /turf/open/floor/plasteel, /area/quartermaster/warehouse) "cgt" = ( -/obj/effect/landmark/start/cargo_technician, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, +/obj/structure/rack, +/obj/item/caution, +/obj/item/caution, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ - dir = 4 - }, /turf/open/floor/plasteel, /area/quartermaster/warehouse) "cgu" = ( @@ -52674,13 +52875,23 @@ /turf/open/floor/plating, /area/maintenance/disposal) "cij" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 +/obj/structure/table/reinforced, +/obj/item/paper_bin, +/obj/item/pen, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/structure/disposaloutlet, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/maintenance/disposal) +/obj/effect/turf_decal/delivery, +/obj/machinery/door/window/westleft{ + name = "Science Desk"; + req_access_txt = "0"; + req_one_access_txt = "29;47" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/science/lab) "cik" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -52827,17 +53038,10 @@ /turf/open/floor/plating/airless, /area/maintenance/port/fore) "ciC" = ( -/obj/structure/closet/secure_closet/hos, -/obj/machinery/light_switch{ - pixel_y = 24 - }, -/obj/machinery/light{ - dir = 4; - light_color = "#e8eaff" - }, -/obj/item/storage/box/deputy, -/turf/open/floor/plasteel/grimy, -/area/crew_quarters/heads/hos) +/obj/structure/table, +/obj/item/paper/pamphlet/gateway, +/turf/open/floor/plasteel/white, +/area/gateway) "ciD" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -52848,26 +53052,13 @@ /turf/open/floor/plasteel/dark, /area/engine/teg_cold) "ciE" = ( -/obj/effect/turf_decal/tile/red, /obj/effect/turf_decal/tile/red{ dir = 8 }, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/structure/table, -/obj/machinery/recharger, -/obj/machinery/requests_console{ - department = "Security"; - departmentType = 5; - name = "Security RC"; - pixel_x = 32 - }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, /turf/open/floor/plasteel, -/area/security/checkpoint/supply) +/area/quartermaster/office) "ciF" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -53087,15 +53278,13 @@ /turf/open/floor/plasteel, /area/quartermaster/warehouse) "cjb" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ - dir = 9 +/obj/structure/cable{ + icon_state = "4-8" }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/effect/landmark/start/shaft_miner, /turf/open/floor/plasteel, -/area/quartermaster/warehouse) +/area/quartermaster/miningoffice) "cjc" = ( /obj/structure/fans/tiny, /obj/structure/plasticflaps, @@ -53196,15 +53385,16 @@ /turf/closed/wall/rust, /area/maintenance/port/central) "cjr" = ( -/obj/structure/table, -/obj/machinery/airalarm{ - pixel_y = 24 +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "0-2" }, -/obj/item/hand_labeler, -/obj/item/reagent_containers/glass/bottle/formaldehyde, -/obj/item/paper/guides/jobs/medical/morgue, -/turf/open/floor/plasteel/showroomfloor, -/area/medical/morgue) +/obj/structure/cable, +/turf/open/floor/plating, +/area/science/server{ + name = "Computer Core" + }) "cjs" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 @@ -53344,13 +53534,11 @@ /turf/open/space/basic, /area/space/nearstation) "cjG" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/structure/window/reinforced/spawner, /turf/open/floor/plasteel, -/area/science/xenobiology) +/area/ai_monitored/storage/eva) "cjH" = ( /obj/structure/lattice, /obj/structure/sign/warning/electricshock{ @@ -53581,13 +53769,12 @@ /turf/open/floor/plasteel, /area/crew_quarters/heads/chief) "cjZ" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/obj/item/beacon, +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/structure/window/reinforced/spawner/north, /turf/open/floor/plasteel, -/area/science/xenobiology) +/area/ai_monitored/storage/eva) "cka" = ( /obj/item/beacon, /obj/structure/cable{ @@ -53651,22 +53838,15 @@ name = "Research Sector" }) "ckg" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/machinery/light{ - dir = 8; - light_color = "#e8eaff" +/obj/effect/turf_decal/tile/yellow{ + dir = 4 }, +/obj/effect/landmark/event_spawn, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/dark, -/area/science/xenobiology) +/turf/open/floor/plasteel/dark/corner, +/area/ai_monitored/storage/eva) "ckh" = ( /obj/machinery/light_switch{ pixel_x = -24 @@ -53971,7 +54151,7 @@ dir = 1 }, /obj/effect/turf_decal/tile/purple, -/obj/item/clothing/under/rank/miner, +/obj/item/clothing/under/rank/cargo/miner, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) "ckL" = ( @@ -53983,7 +54163,7 @@ dir = 4 }, /obj/effect/turf_decal/tile/purple, -/obj/item/clothing/under/rank/miner, +/obj/item/clothing/under/rank/cargo/miner, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) "ckM" = ( @@ -53995,7 +54175,7 @@ dir = 8 }, /obj/effect/turf_decal/tile/purple, -/obj/item/clothing/under/rank/miner, +/obj/item/clothing/under/rank/cargo/miner, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) "ckN" = ( @@ -54116,26 +54296,25 @@ /turf/open/floor/plasteel/dark, /area/science/xenobiology) "ckY" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 1 +/obj/effect/turf_decal/tile/yellow{ + dir = 4 }, -/obj/effect/turf_decal/tile/purple{ +/obj/effect/turf_decal/tile/yellow{ dir = 8 }, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "2-4" }, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 8 +/obj/structure/cable{ + icon_state = "4-8" }, -/turf/open/floor/plasteel/dark, -/area/science/xenobiology) +/turf/open/floor/plasteel/checker, +/area/ai_monitored/storage/eva) "ckZ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/science/xenobiology) +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/turf/open/floor/plating, +/area/ai_monitored/storage/eva) "cla" = ( /obj/structure/cable{ icon_state = "4-8" @@ -54975,12 +55154,26 @@ /turf/open/floor/plasteel, /area/medical/chemistry) "cmT" = ( -/obj/machinery/door/poddoor{ - id = "toxinsdriver"; - name = "toxins launcher bay door" +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 }, -/turf/open/floor/plating, -/area/science/mixing) +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/item/folder/red, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/machinery/door/window/northright{ + name = "Security Checkpoint"; + req_access_txt = "1" + }, +/turf/open/floor/plasteel, +/area/security/checkpoint/supply) "cmU" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ @@ -55181,12 +55374,12 @@ /turf/open/floor/plasteel/dark, /area/science/xenobiology) "cnm" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" }, -/turf/open/floor/plasteel/grimy, -/area/security/detectives_office) +/turf/open/floor/plating, +/area/gateway) "cnn" = ( /obj/structure/cable{ icon_state = "2-4" @@ -55331,10 +55524,10 @@ /obj/effect/turf_decal/tile/red{ dir = 1 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/chair{ + dir = 4 }, -/obj/effect/landmark/event_spawn, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, /turf/open/floor/plasteel, /area/security/checkpoint/supply) "cnC" = ( @@ -56486,19 +56679,14 @@ /turf/open/floor/plasteel, /area/engine/teg_hot) "cpM" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/turretid{ - control_area = "area/science/server"; - icon_state = "control_stun"; - name = "Computer Core turret control"; - pixel_x = -3; - pixel_y = -23 +/obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/effect/turf_decal/bot, +/obj/machinery/light{ + dir = 1; + light_color = "#e8eaff" }, /turf/open/floor/plasteel, -/area/ai_monitored/turret_protected/ai_upload_foyer) +/area/engine/atmos) "cpN" = ( /obj/structure/closet/secure_closet/atmospherics, /obj/item/cartridge/atmos, @@ -56947,24 +57135,16 @@ /turf/open/floor/plasteel, /area/engine/teg_cold) "cqB" = ( -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/bottle/absinthe, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 8 }, -/obj/effect/turf_decal/tile/red{ - dir = 4 +/obj/structure/cable{ + icon_state = "2-4" }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/machinery/computer/secure_data{ - dir = 8 - }, -/obj/machinery/newscaster/security_unit{ - pixel_x = 30 - }, -/turf/open/floor/plasteel, -/area/security/checkpoint/supply) +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hor) "cqC" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel, @@ -57777,7 +57957,11 @@ /obj/effect/turf_decal/tile/red{ dir = 1 }, -/obj/machinery/holopad, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/event_spawn, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, /turf/open/floor/plasteel, /area/security/checkpoint/supply) "csi" = ( @@ -57804,15 +57988,15 @@ /turf/open/floor/plasteel, /area/science/explab) "csl" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 }, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "0-8" }, -/obj/machinery/holopad, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) +/turf/open/floor/plating, +/area/crew_quarters/heads/hor) "csm" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 @@ -57918,37 +58102,33 @@ /turf/open/floor/plasteel, /area/engine/teg_cold) "csu" = ( -/obj/structure/table, -/obj/machinery/computer/med_data/laptop, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 1 +/obj/effect/turf_decal/tile/yellow{ + dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, /obj/structure/cable{ icon_state = "2-4" }, -/obj/machinery/requests_console{ - announcementConsole = 1; - department = "Chief Medical Officer's Desk"; - departmentType = 5; - name = "Chief Medical Officer RC"; - pixel_y = 32 +/turf/open/floor/plasteel/dark/side{ + dir = 8 }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/heads/cmo) +/area/gateway) "csv" = ( -/obj/machinery/computer/card/minor/cmo{ - dir = 1 +/obj/structure/table, +/obj/effect/turf_decal/tile/brown{ + dir = 8 }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 1 +/obj/effect/turf_decal/tile/brown, +/obj/item/storage/toolbox/mechanical, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/keycard_auth{ - pixel_x = -24 - }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/heads/cmo) +/obj/item/paper/guides/cogstation/letter_supp, +/turf/open/floor/plasteel, +/area/quartermaster/sorting) "csw" = ( /obj/effect/turf_decal/tile/bar, /obj/effect/turf_decal/tile/bar{ @@ -57960,19 +58140,17 @@ /turf/open/floor/plasteel, /area/security/main) "csx" = ( -/obj/effect/turf_decal/tile/yellow, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 +/obj/structure/closet/secure_closet/RD, +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" }, -/obj/machinery/photocopier, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 5 +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/engine/break_room) +/obj/item/paper/fluff/cogstation/letter_rd, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hor) "csy" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ dir = 4 @@ -58325,17 +58503,22 @@ /turf/open/floor/plasteel, /area/quartermaster/sorting) "ctn" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/effect/turf_decal/tile/brown, -/obj/item/storage/toolbox/mechanical, -/obj/structure/disposalpipe/segment{ +/obj/structure/closet/secure_closet/engineering_chief, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ dir = 4 }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/machinery/airalarm{ + dir = 1; + locked = 0; + pixel_y = -22 + }, +/obj/item/paper/guides/cogstation/letter_chief, /turf/open/floor/plasteel, -/area/quartermaster/sorting) +/area/crew_quarters/heads/chief) "cto" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/tile/brown, @@ -58388,14 +58571,20 @@ /area/quartermaster/sorting) "ctu" = ( /obj/structure/table, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple{ +/obj/effect/turf_decal/bot, +/obj/machinery/camera{ + c_tag = "Supply - Cargo Office"; dir = 1 }, +/obj/machinery/newscaster{ + pixel_y = -28 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/item/storage/box/disks, /turf/open/floor/plasteel, -/area/quartermaster/miningoffice) +/area/quartermaster/office) "ctv" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/tile/brown, @@ -59209,7 +59398,9 @@ /obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 8 }, -/obj/effect/landmark/event_spawn, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/plasteel/white, /area/gateway) "cuR" = ( @@ -59732,13 +59923,15 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "cvM" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/bottle/absinthe, /obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/heads/hor) +/obj/effect/landmark/event_spawn, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/gateway) "cvN" = ( /obj/effect/turf_decal/tile/yellow{ dir = 4 @@ -60186,20 +60379,13 @@ /turf/closed/wall/r_wall, /area/engine/atmos) "cwx" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/transit_tube/station/reverse/flipped{ - dir = 1 - }, -/obj/structure/transit_tube_pod{ - dir = 8 +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 4 }, +/obj/effect/turf_decal/stripes/white/full, /turf/open/floor/plasteel, -/area/engine/secure_construction{ - name = "Engineering Construction Area" - }) +/area/engine/atmos) "cwy" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/transit_tube/horizontal, @@ -60238,24 +60424,19 @@ /turf/open/floor/plasteel, /area/engine/workshop) "cwF" = ( -/obj/structure/lattice, -/obj/structure/transit_tube/curved{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/turf/open/space/basic, -/area/space/nearstation) +/turf/open/floor/plasteel, +/area/engine/atmos) "cwG" = ( -/obj/structure/lattice, -/obj/structure/disposalpipe/segment, -/obj/structure/transit_tube/horizontal, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/turf/open/space/basic, -/area/space/nearstation) +/turf/open/floor/plasteel, +/area/engine/atmos) "cwH" = ( /obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/closed/wall, @@ -60283,6 +60464,9 @@ dir = 4 }, /obj/structure/transit_tube/station/reverse/flipped, +/obj/structure/transit_tube_pod{ + dir = 8 + }, /turf/open/floor/plasteel, /area/engine/atmos) "cwN" = ( @@ -60828,19 +61012,15 @@ /area/quartermaster/miningoffice) "cxT" = ( /obj/structure/table, -/obj/effect/turf_decal/bot, -/obj/machinery/camera{ - c_tag = "Supply - Cargo Office"; +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ dir = 1 }, -/obj/machinery/newscaster{ - pixel_y = -28 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, +/obj/item/paper/guides/cogstation/letter_supp, /turf/open/floor/plasteel, -/area/quartermaster/office) +/area/quartermaster/miningoffice) "cxU" = ( /obj/effect/turf_decal/tile/brown{ dir = 4 @@ -60881,10 +61061,15 @@ /turf/open/floor/plating, /area/maintenance/starboard/aft) "cxZ" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/turf_decal/delivery, +/obj/machinery/button/door{ + id = "MiningConveyorBlastDoor"; + name = "Mining Conveyor Access"; + pixel_x = 8; + pixel_y = -24; + req_access_txt = "0"; + req_one_access_txt = "10;24;48" }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) "cya" = ( @@ -61497,19 +61682,19 @@ /turf/open/floor/plasteel, /area/hallway/secondary/exit) "czf" = ( -/obj/structure/chair/office/light{ +/obj/effect/turf_decal/tile/yellow{ dir = 4 }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 }, -/obj/effect/landmark/start/chief_medical_officer, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark/side{ dir = 4 }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/heads/cmo) +/area/gateway) "czg" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ @@ -61708,26 +61893,32 @@ /turf/open/floor/plasteel, /area/hallway/secondary/exit) "czz" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command/glass{ - name = "CMO's Office"; - req_access_txt = "40" + name = "Gateway Chamber"; + req_access_txt = "62" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/engine, +/area/gateway) +"czA" = ( +/obj/machinery/modular_computer/console/preset/research{ + dir = 8 + }, +/obj/item/reagent_containers/food/drinks/coffee, +/obj/structure/cable{ + icon_state = "2-4" }, /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel/white, -/area/crew_quarters/heads/cmo) -"czA" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating, -/area/crew_quarters/heads/cmo) +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hor) "czB" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance{ @@ -62159,9 +62350,23 @@ /turf/open/floor/plating, /area/maintenance/disposal) "cAo" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/door/window/northright{ + name = "Medbay Desk"; + req_access_txt = "5" + }, +/obj/item/clipboard, +/obj/item/clothing/glasses/hud/health, /obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel, -/area/janitor) +/obj/item/paper/fluff/cogstation/sleepers, +/obj/item/pen, +/obj/item/clothing/glasses/hud/health, +/turf/open/floor/plasteel/white, +/area/medical/medbay/lobby) "cAp" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ @@ -62480,16 +62685,12 @@ /turf/open/floor/plasteel/grimy, /area/security/detectives_office) "cAQ" = ( -/obj/structure/closet/crate/trashcart, -/obj/machinery/light/small{ - dir = 4 +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" }, -/obj/structure/disposalpipe/junction, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/grimy, -/area/security/detectives_office) +/turf/open/floor/plating, +/area/crew_quarters/heads/hor) "cAR" = ( /obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 8 @@ -62499,13 +62700,20 @@ }, /area/chapel/office) "cAS" = ( -/obj/structure/table/wood, -/obj/item/storage/box/evidence, -/obj/item/hand_labeler, -/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, /obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel/grimy, -/area/security/detectives_office) +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark/side{ + dir = 8 + }, +/area/gateway) "cAT" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, @@ -62778,15 +62986,12 @@ name = "Aft Air Hookup" }) "cBt" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security/glass{ - name = "Security Office"; - req_access_txt = "63" +/obj/structure/closet/l3closet/scientist, +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel, -/area/security/main) +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hor) "cBu" = ( /obj/effect/turf_decal/tile/red{ dir = 8 @@ -63668,11 +63873,19 @@ /turf/open/floor/plasteel/stairs/left, /area/hallway/primary/central) "cCO" = ( -/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{ - dir = 4 +/obj/structure/table, +/obj/machinery/airalarm{ + pixel_y = 24 }, -/turf/open/floor/plasteel, -/area/security/main) +/obj/item/hand_labeler, +/obj/item/reagent_containers/glass/bottle/formaldehyde, +/obj/item/paper/guides/jobs/medical/morgue, +/obj/item/paper/guides/cogstation/cdn_med{ + pixel_x = -6; + pixel_y = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/medical/morgue) "cCP" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -63832,21 +64045,19 @@ /turf/open/floor/plating, /area/quartermaster/sorting) "cDh" = ( -/obj/structure/closet/secure_closet/engineering_chief, -/obj/effect/turf_decal/tile/yellow, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 +/obj/machinery/computer/card/minor/cmo{ + dir = 1 }, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 }, -/obj/machinery/airalarm{ - dir = 1; - locked = 0; - pixel_y = -22 +/obj/machinery/keycard_auth{ + pixel_x = -24 }, -/turf/open/floor/plasteel, -/area/crew_quarters/heads/chief) +/obj/item/paper/guides/cogstation/letter_cmo, +/turf/open/floor/plasteel/white, +/area/crew_quarters/heads/cmo) "cDi" = ( /obj/effect/turf_decal/tile/yellow{ dir = 8 @@ -63861,11 +64072,18 @@ /turf/open/floor/plasteel, /area/storage/primary) "cDj" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/carpet{ + icon_state = "carpetsymbol" }, -/turf/open/floor/plating, /area/crew_quarters/heads/hor) "cDk" = ( /obj/machinery/door/firedoor, @@ -63996,9 +64214,21 @@ /turf/closed/wall/r_wall, /area/crew_quarters/heads/captain) "cDv" = ( -/obj/machinery/vending/wardrobe/cap_wardrobe, -/turf/open/floor/carpet/blue, -/area/crew_quarters/heads/captain) +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/hor) "cDw" = ( /obj/structure/cable{ icon_state = "1-2" @@ -64019,35 +64249,39 @@ /turf/open/floor/carpet/blue, /area/crew_quarters/heads/captain) "cDy" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/turf/open/floor/plating, +/area/crew_quarters/heads/hor) +"cDz" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/security/checkpoint/supply) +"cDA" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/computer/secure_data{ + dir = 8 + }, +/obj/machinery/newscaster/security_unit{ + pixel_x = 30 + }, /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{ - dir = 8 - }, -/turf/open/floor/carpet{ - icon_state = "carpetsymbol" - }, -/area/crew_quarters/heads/captain) -"cDz" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 - }, -/turf/open/floor/carpet{ - icon_state = "carpetsymbol" - }, -/area/crew_quarters/heads/captain) -"cDA" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/carpet{ - icon_state = "carpetsymbol" - }, -/area/crew_quarters/heads/captain) +/turf/open/floor/plasteel, +/area/security/checkpoint/supply) "cDB" = ( /obj/item/storage/secure/safe{ pixel_x = -24 @@ -64072,49 +64306,64 @@ }, /area/crew_quarters/heads/captain) "cDD" = ( -/obj/structure/bed, -/obj/item/radio/intercom{ - name = "Station Intercom (Common)"; - pixel_y = -28 - }, -/obj/item/bedsheet/captain, -/obj/effect/landmark/start/captain, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/carpet{ - icon_state = "carpetsymbol" - }, -/area/crew_quarters/heads/captain) -"cDE" = ( -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/turf/open/floor/carpet{ - icon_state = "carpetsymbol" - }, -/area/crew_quarters/heads/captain) -"cDF" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/carpet{ - icon_state = "carpetsymbol" +/obj/effect/turf_decal/tile/red{ + dir = 4 }, -/area/crew_quarters/heads/captain) +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/computer/security{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/apc{ + areastring = "/area/security/checkpoint/supply"; + dir = 4; + name = "Cargo Security Checkpoint APC"; + pixel_x = 24 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel, +/area/security/checkpoint/supply) +"cDE" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/crew_quarters/heads/cmo) +"cDF" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/crew_quarters/heads/cmo) "cDG" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" }, -/mob/living/simple_animal/pet/cat/space, -/turf/open/floor/carpet{ - icon_state = "carpetsymbol" +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2" }, -/area/crew_quarters/heads/captain) +/turf/open/floor/plating, +/area/crew_quarters/heads/cmo) "cDH" = ( /obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 8 @@ -64128,16 +64377,19 @@ /turf/open/floor/plasteel, /area/gateway) "cDJ" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 4 +/obj/machinery/computer/crew, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 +/obj/structure/cable{ + icon_state = "1-4" }, -/turf/open/floor/plasteel/dark/side{ - dir = 4 +/obj/structure/cable{ + icon_state = "4-8" }, -/area/gateway) +/turf/open/floor/plasteel/white, +/area/crew_quarters/heads/cmo) "cDK" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command/glass{ @@ -64286,29 +64538,35 @@ }, /area/crew_quarters/heads/hor) "cDZ" = ( +/obj/structure/table, +/obj/machinery/computer/med_data/laptop, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Chief Medical Officer's Desk"; + departmentType = 5; + name = "Chief Medical Officer RC"; + pixel_y = 32 + }, /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 - }, -/turf/open/floor/carpet{ - icon_state = "carpetsymbol" - }, -/area/crew_quarters/heads/hor) +/turf/open/floor/plasteel/white, +/area/crew_quarters/heads/cmo) "cEa" = ( -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -26 - }, +/obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "0-4" }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/heads/hor) +/obj/structure/cable, +/turf/open/floor/plating, +/area/crew_quarters/heads/cmo) "cEb" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command{ @@ -64726,22 +64984,17 @@ /turf/open/floor/plasteel, /area/science/lab) "cEE" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin, -/obj/item/pen, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/structure/cable{ + icon_state = "0-4" }, -/obj/effect/turf_decal/delivery, -/obj/machinery/door/window/westleft{ - name = "Science Desk"; - req_access_txt = "29;47" +/obj/machinery/power/apc{ + areastring = "/area/maintenance/aft"; + dir = 8; + name = "Aft Maintenance APC"; + pixel_x = -26 }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/science/lab) +/turf/open/floor/plating, +/area/maintenance/aft) "cEF" = ( /obj/effect/turf_decal/tile/purple{ dir = 8 @@ -66706,23 +66959,20 @@ /turf/open/floor/plasteel/white, /area/medical/genetics) "cHV" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 }, -/obj/structure/cable{ - icon_state = "0-4" +/obj/effect/turf_decal/tile/red{ + dir = 4 }, -/obj/machinery/power/apc{ - areastring = "/area/medical/genetics"; - dir = 8; - name = "Genetics Lab APC"; - pixel_x = -24 +/obj/effect/turf_decal/tile/red{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 6 - }, -/turf/open/floor/plating, -/area/maintenance/aft) +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plasteel, +/area/security/checkpoint/supply) "cHW" = ( /obj/machinery/rnd/production/circuit_imprinter, /obj/item/reagent_containers/glass/beaker, @@ -68061,21 +68311,14 @@ /turf/open/floor/plasteel/dark, /area/science/robotics/lab) "cKj" = ( -/obj/structure/table/reinforced, +/obj/structure/closet/secure_closet/CMO, +/obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ dir = 1 }, -/obj/effect/turf_decal/tile/blue, -/obj/machinery/door/window/northright{ - name = "Medbay Desk"; - req_access_txt = "5" - }, -/obj/item/clipboard, -/obj/item/pen, -/obj/item/clothing/glasses/hud/health, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/item/paper/guides/cogstation/letter_cmo, /turf/open/floor/plasteel/white, -/area/medical/medbay/lobby) +/area/crew_quarters/heads/cmo) "cKk" = ( /obj/structure/chair/office/light{ dir = 1; @@ -68258,20 +68501,22 @@ /turf/open/floor/plasteel/dark, /area/science/xenobiology) "cKC" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/chair/office/light{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/landmark/start/chief_medical_officer, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 }, /obj/structure/cable{ icon_state = "1-8" }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/science/xenobiology) +/turf/open/floor/plasteel/white, +/area/crew_quarters/heads/cmo) "cKD" = ( /obj/machinery/atmospherics/pipe/manifold/orange/hidden{ dir = 8 @@ -68550,7 +68795,7 @@ dir = 8 }, /obj/structure/closet/secure_closet/engineering_personal, -/obj/item/clothing/under/overalls, +/obj/item/clothing/under/misc/overalls, /turf/open/floor/plasteel, /area/storage/primary) "cLo" = ( @@ -68633,7 +68878,7 @@ "cLz" = ( /obj/effect/turf_decal/bot, /obj/structure/closet/secure_closet/engineering_personal, -/obj/item/clothing/under/overalls, +/obj/item/clothing/under/misc/overalls, /turf/open/floor/plasteel, /area/storage/primary) "cLA" = ( @@ -70405,6 +70650,1037 @@ }, /turf/open/floor/plating, /area/maintenance/aft) +"cPz" = ( +/obj/structure/lattice, +/obj/structure/transit_tube/curved{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/turf/open/space/basic, +/area/space/nearstation) +"cPA" = ( +/obj/structure/lattice, +/obj/structure/disposalpipe/segment, +/obj/structure/transit_tube/horizontal, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/turf/open/space/basic, +/area/space/nearstation) +"cPB" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/transit_tube/crossing/horizontal, +/obj/machinery/atmospherics/pipe/simple/supplymain/visible, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/turf/open/space/basic, +/area/space/nearstation) +"cPC" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/transit_tube/horizontal, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cPD" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/engine/atmos) +"cPE" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supplymain/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/space/basic, +/area/space/nearstation) +"cPF" = ( +/obj/structure/lattice, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/space/basic, +/area/space/nearstation) +"cPG" = ( +/obj/structure/lattice, +/obj/structure/disposalpipe/segment, +/obj/machinery/camera{ + c_tag = "Supply - Warehouse Exterior"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/space/basic, +/area/space/nearstation) +"cPH" = ( +/obj/machinery/conveyor_switch{ + id = "EngiCargoConveyer" + }, +/obj/structure/cable, +/obj/machinery/power/apc{ + areastring = "/area/quartermaster/sorting"; + dir = 8; + name = "Delivery Office APC"; + pixel_x = -26 + }, +/turf/open/floor/plasteel, +/area/quartermaster/sorting) +"cPI" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering{ + name = "Engineering Foyer"; + req_one_access_txt = "10;24" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cPJ" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering{ + name = "Engineering Foyer"; + req_one_access_txt = "10;24" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cPK" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering/glass{ + name = "Engineering Access"; + req_one_access_txt = "10;24" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cPL" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering/glass{ + name = "Engineering Access"; + req_one_access_txt = "10;24" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/engine/break_room) +"cPM" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/table, +/obj/machinery/recharger, +/obj/machinery/requests_console{ + department = "Security"; + departmentType = 5; + name = "Security RC"; + pixel_x = 32 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/checkpoint/supply) +"cPN" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 5 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cPO" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cPP" = ( +/obj/structure/table, +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" + }, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high/plus, +/obj/item/stock_parts/cell/high/plus{ + pixel_y = 8 + }, +/obj/item/stock_parts/cell/high/plus{ + pixel_y = 8 + }, +/obj/item/assembly/flash/handheld{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/assembly/flash/handheld{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/assembly/flash/handheld{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/assembly/flash/handheld{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/assembly/flash/handheld{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/assembly/flash/handheld{ + pixel_x = -8; + pixel_y = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"cPQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/apc{ + areastring = "/area/medical/genetics"; + dir = 8; + name = "Genetics Lab APC"; + pixel_x = -26 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"cPR" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/crew_quarters/heads/cmo) +"cPS" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command/glass{ + name = "CMO's Office"; + req_access_txt = "40" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/white, +/area/crew_quarters/heads/cmo) +"cPT" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/crew_quarters/heads/cmo) +"cPU" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel/white, +/area/science/xenobiology) +"cPV" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/holopad, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/white, +/area/science/xenobiology) +"cPW" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel/white, +/area/science/xenobiology) +"cPX" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/white, +/area/science/xenobiology) +"cPY" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/caution/stand_clear{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel, +/area/science/xenobiology) +"cPZ" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/caution/stand_clear{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/science/xenobiology) +"cQa" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/science/xenobiology) +"cQb" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"cQc" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"cQd" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"cQe" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/window/reinforced/spawner, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/button/door{ + id = "xenobio2"; + name = "Containment Blast Doors"; + pixel_y = 4; + req_access_txt = "55" + }, +/turf/open/floor/plasteel, +/area/science/xenobiology) +"cQf" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/science/xenobiology) +"cQg" = ( +/obj/machinery/door/window/westright{ + name = "Containment Pen"; + req_one_access_txt = "55" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio1"; + name = "containment blast door" + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"cQh" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"cQi" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"cQj" = ( +/obj/machinery/door/window/eastleft{ + name = "Containment Pen"; + req_one_access_txt = "55" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio2"; + name = "containment blast door" + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"cQk" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/science/xenobiology) +"cQl" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/window/reinforced/spawner/north, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/button/door{ + id = "xenobio1"; + name = "Containment Blast Doors"; + pixel_y = 4; + req_access_txt = "55" + }, +/turf/open/floor/plasteel, +/area/science/xenobiology) +"cQm" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"cQn" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"cQo" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/science/xenobiology) +"cQp" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"cQq" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"cQr" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/window/reinforced/spawner, +/obj/machinery/button/door{ + id = "xenobio4"; + name = "Containment Blast Doors"; + pixel_y = 4; + req_access_txt = "55" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/science/xenobiology) +"cQs" = ( +/obj/machinery/door/window/westright{ + name = "Containment Pen"; + req_one_access_txt = "55" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio3"; + name = "containment blast door" + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"cQt" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"cQu" = ( +/obj/machinery/door/window/eastleft{ + name = "Containment Pen"; + req_one_access_txt = "55" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio4"; + name = "containment blast door" + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"cQv" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/window/reinforced/spawner/north, +/obj/machinery/button/door{ + id = "xenobio3"; + name = "Containment Blast Doors"; + pixel_y = 4; + req_access_txt = "55" + }, +/turf/open/floor/plasteel, +/area/science/xenobiology) +"cQw" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"cQx" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/window/reinforced/spawner, +/obj/machinery/button/door{ + id = "xenobio6"; + name = "Containment Blast Doors"; + pixel_y = 4; + req_access_txt = "55" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/science/xenobiology) +"cQy" = ( +/obj/machinery/door/window/westright{ + name = "Containment Pen"; + req_one_access_txt = "55" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio5"; + name = "containment blast door" + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"cQz" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"cQA" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"cQB" = ( +/obj/machinery/door/window/eastleft{ + name = "Containment Pen"; + req_one_access_txt = "55" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio6"; + name = "containment blast door" + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"cQC" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/window/reinforced/spawner/north, +/obj/machinery/button/door{ + id = "xenobio5"; + name = "Containment Blast Doors"; + pixel_y = 4; + req_access_txt = "55" + }, +/turf/open/floor/plasteel, +/area/science/xenobiology) +"cQD" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"cQE" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"cQF" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"cQG" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"cQH" = ( +/obj/structure/table/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/button/door{ + id = "xenobio7"; + name = "Containment Blast Doors"; + pixel_y = 4; + req_access_txt = "55" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/science/xenobiology) +"cQI" = ( +/obj/structure/table/reinforced, +/obj/structure/window/reinforced{ + dir = 8; + layer = 2.9 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/item/clothing/mask/gas, +/obj/item/clothing/glasses/science, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/science/xenobiology) +"cQJ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/science/xenobiology) +"cQK" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/general/visible, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/science/xenobiology) +"cQL" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/science/xenobiology) +"cQM" = ( +/obj/machinery/door/window/southright{ + name = "Secure Xenobiological Containment"; + req_one_access_txt = "55" + }, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio7"; + name = "containment blast door" + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"cQN" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/science/xenobiology) +"cQO" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/science/xenobiology) +"cQP" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/science/xenobiology) +"cQQ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"cQR" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"cQS" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/bridge) +"cQT" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/bridge) +"cQU" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/bridge) +"cQV" = ( +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-02" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"cQW" = ( +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/machinery/camera{ + c_tag = "Bridge - Port Quarter"; + dir = 1 + }, +/obj/machinery/keycard_auth{ + pixel_y = -24 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"cQX" = ( +/obj/machinery/photocopier, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"cQY" = ( +/obj/structure/reagent_dispensers/water_cooler, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"cQZ" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) +"cRa" = ( +/obj/effect/turf_decal/stripes/end{ + dir = 4 + }, +/obj/machinery/conveyor{ + dir = 4; + id = "MiningConveyer" + }, +/obj/machinery/door/poddoor{ + id = "MiningConveyorBlastDoor"; + name = "Asteroid Mining Load Door" + }, +/turf/open/floor/plating/airless, +/area/quartermaster/miningoffice) +"cRb" = ( +/obj/machinery/computer/cloning, +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/segment, +/obj/item/paper/guides/jobs/medical/cloning{ + pixel_x = -4 + }, +/obj/item/paper/fluff/cogstation/cloner{ + pixel_x = 6 + }, +/turf/open/floor/plasteel, +/area/medical/medbay/central) +"cRc" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/door/airlock/research{ + name = "Aft Observatory"; + req_access_txt = "47" + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab{ + name = "Research Observatory" + }) +"cRd" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/machinery/door/airlock/research{ + name = "Aft Observatory"; + req_access_txt = "47" + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab{ + name = "Research Observatory" + }) +"cRe" = ( +/obj/machinery/computer/upload/ai{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ai_monitored/turret_protected/ai) +"cRf" = ( +/obj/structure/window/reinforced/spawner/north, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/flasher{ + id = "ID"; + pixel_x = 24; + pixel_y = 0 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai) +"cRg" = ( +/obj/machinery/atmospherics/pipe/simple/supplymain/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/machinery/portable_atmospherics/pump, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/light, +/turf/open/floor/plasteel/white/corner, +/area/engine/atmos) +"cRh" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/turretid{ + control_area = "area/science/server"; + icon_state = "control_stun"; + name = "Computer Core turret control"; + pixel_x = -3; + pixel_y = -23; + req_access_txt = "65" + }, +/turf/open/floor/plasteel, +/area/ai_monitored/turret_protected/ai_upload_foyer) "cVq" = ( /obj/machinery/atmospherics/pipe/simple/orange/visible{ dir = 4 @@ -70697,16 +71973,6 @@ /obj/machinery/atmospherics/pipe/simple/violet/visible, /turf/open/space/basic, /area/space) -"kxL" = ( -/obj/structure/lattice, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/violet/visible{ - dir = 4 - }, -/turf/open/space/basic, -/area/space/nearstation) "kzb" = ( /obj/machinery/atmospherics/pipe/manifold/orange/hidden{ dir = 4 @@ -70881,17 +72147,6 @@ /obj/machinery/atmospherics/pipe/simple/supplymain/visible, /turf/open/space/basic, /area/space/nearstation) -"qnM" = ( -/obj/structure/lattice, -/obj/structure/sign/warning{ - name = "\improper KEEP CLEAR: HIGH SPEED DELIVERIES"; - pixel_y = -32 - }, -/obj/machinery/atmospherics/pipe/simple/violet/visible{ - dir = 4 - }, -/turf/open/space/basic, -/area/space/nearstation) "qvB" = ( /obj/machinery/atmospherics/components/unary/thermomachine/heater{ dir = 8 @@ -70911,14 +72166,6 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"rbJ" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/simple/violet/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/space/basic, -/area/space/nearstation) "rdF" = ( /obj/machinery/atmospherics/pipe/simple/dark/visible{ dir = 6 @@ -71123,13 +72370,6 @@ /obj/item/pen, /turf/open/floor/plasteel, /area/engine/atmos) -"xqa" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/simple/violet/visible{ - dir = 5 - }, -/turf/open/space/basic, -/area/space/nearstation) "xCy" = ( /obj/machinery/atmospherics/components/binary/pump, /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ @@ -84607,7 +85847,7 @@ aaU aaa aaU aEa -aTH +aHE bab aaa aaa @@ -84864,7 +86104,7 @@ aaU aaU aaU aEb -bRD +aPT aaU aaU aye @@ -85121,7 +86361,7 @@ aaU aaa aaU aEa -bRD +aPT aaU aaa aaa @@ -85378,7 +86618,7 @@ aaa aaa aaU aEa -bRD +aPT aaU aaa aaa @@ -85635,7 +86875,7 @@ aaa aaa aaU aEa -bRD +aPT aaU aaa aaa @@ -85892,7 +87132,7 @@ aaa aaa aaU aEa -bRD +aPT aaU aaa aaa @@ -86149,7 +87389,7 @@ aaa aaa aaU aEa -bRD +aPT aaU aaa aaa @@ -86406,7 +87646,7 @@ aaa aaa aaU aEa -bRD +aPT aaU aaa aaa @@ -86663,7 +87903,7 @@ aaa aaa aaU aEa -bRD +aPT aaU aaa aaa @@ -86920,7 +88160,7 @@ aaa aaa aaU aEb -bRD +aPT aaU aaa aaa @@ -87177,7 +88417,7 @@ aaa aaa aaU aEa -bRD +aPT aaU aaa aaa @@ -87434,7 +88674,7 @@ aaa aaa aaU aEa -bRD +aPT aaU aaa aaa @@ -87691,7 +88931,7 @@ aaa aaa aaU aEa -bRD +aPT aaU aaa aaa @@ -87948,7 +89188,7 @@ aaa aaa aaU aEa -bRD +aPT aaU aaa aaa @@ -88205,7 +89445,7 @@ aaa aaa aaU aEa -bRD +aPT aaU aaa aaa @@ -88462,19 +89702,19 @@ aaa aaa aaU aEa -bRD +aPT aaU aaU aaa aaU -aGn -aGn -aGn -aGn -aGn -aGn -aGn -aGn +aPV +bik +bik +bik +bik +bik +bik +cQT aaU aaa aaU @@ -88547,22 +89787,22 @@ bFt bJs bJV bxT -bKG -bLe -bFl +cQa +cQg +cQk bxT -bKG -bLe -bFl +cQa +cQs +cQk bxT -bKG -bLe -bFl +cQa +cQy +cQk bxT cvz cKA bOH -bFl +cQJ bxT bKM bKM @@ -88719,21 +89959,21 @@ aaU aaU aaU aEa -bRD +aPT aaU aaU -aGn -aGn -aGn +aPV +bik +cQS aIA aJe aLE aLy aMQ aNF -aGn -aGn -aGn +cQU +bik +cQT aaU aaa aaa @@ -88806,20 +90046,20 @@ bJW bxT cbo bLf -cjZ +cQl bxT cbo bLf -cjZ +cQv bxT cbo bLf -cjZ +cQC bxT ctT cKB bOI -bOQ +cQK bOT bKM bKM @@ -88976,10 +90216,10 @@ abh abh abh aEb -bRD +aPT aaU aaU -aGn +aPW aHD aIg aHF @@ -88989,8 +90229,8 @@ aHF aJn aHF aPp -aPT -aGn +cQV +cQS aaU aaa aaa @@ -89058,25 +90298,25 @@ bxT bFo bHV bYz -cbi -cbp -cbA -cbH -cjP -cjP -ckg -cjP -cjP -cjP -ckg -cjP -ckY -cjP +cPU +cPW +cPY +cQb +cQh +cQm +cQh +cQh +cQh +cQh +cQw +cQh +cQz +cQD cjP ctR -cKC -bOJ -bFl +cQF +cQH +cQL bKM bKM bKM @@ -89233,11 +90473,11 @@ aaU aaU aaU aEa -bRD +aPT aaU -aGn -aGn -aHE +aPU +aTH +bRD aHF aHF aIE @@ -89246,7 +90486,7 @@ aIE aIE csD aHF -aPU +cQW aGq aaU aaa @@ -89315,25 +90555,25 @@ bxT cdD bHW bIG -csl -bzy -bKp -bKJ -bLh -bLh -bLh -bLh -bMh -bLh -bLh -bLh -ckZ -bLh +cPV +cPX +cPZ +cQc +cQi +cQn +cQi +cQp +cQt +cQi +cQi +cQp +cQA +cQE cbF cnl cla bOK -bOR +cQM bKM bKM bPa @@ -89494,21 +90734,21 @@ aLK aGq aGq aKH -aHF +cQQ aHF aIE aJu aKA -aZT +bhB aMX aIE aHF -aPV +cQX aQW -aSJ -aSJ +bkC +bkC aQW -aSJ +bkC aQW aaU aaa @@ -89575,22 +90815,22 @@ bIH cGA bJX bKq -bKK +cQd bLi bLi bLF -bLi +cQq bMi bLi -bLF bLi +cQq bLi bLi cvV ckS -cla -bOL -bFl +cQG +cQI +cQN bKM bKM bKM @@ -89751,7 +90991,7 @@ aUz bDP aGq aGL -aHF +cQQ aHF aIH aJz @@ -89760,16 +91000,16 @@ aLI aMX aIE aHF -aPW +cQY aQW -cDv -cjQ +bmj +bBt cDB -cDD +bLh aQW aQW -aSJ -aSJ +bkC +bVN aaa aaa aaa @@ -89804,7 +91044,7 @@ aaa bcw bde bcw -cmT +bYg bcy bfp cwY @@ -89832,22 +91072,22 @@ bII cGB bFw bxT -cjG +cQe bLj ckN bxT -cjG +cQr bLj ckN bxT -cjG +cQx bLj ckN bxT bOy cla bOM -bOS +cQO bOU bKM bKM @@ -90008,7 +91248,7 @@ aZq bDQ hcR aGM -aHF +cQQ aHF aII aJu @@ -90017,16 +91257,16 @@ aRe aXS bbb aHF -aHF +cQQ aQW baP -aTo +bCd cjQ -cDE +bLk aVP cpt -aWw -aSJ +bOR +bXI aaa aaa aaa @@ -90073,7 +91313,7 @@ bAN bKH cbh clc -csR +cGJ cGJ cGO cGU @@ -90089,22 +91329,22 @@ bIJ cGC bXO bxT -bFl -bLk -bKG +cQf +cQj +cQo bxT -bFl -bLk -bKG +cQf +cQu +cQo bxT -bFl -bLk -bKG +cQf +cQB +cQo bxT ctU ckX bON -bFl +cQP bxT bKM bKM @@ -90265,7 +91505,7 @@ bdz bDR aKF aLm -aMi +cQR aMi aQh aQN @@ -90274,16 +91514,16 @@ aRl aXT bbc bbD -bik +cQZ cDt cDw -cDy +bEq cps -cDF +bMh bRb -bRc -aWx -aSJ +bOQ +bOS +cbi aaa aaa aaa @@ -90534,13 +91774,13 @@ bbG bit cDu cDx -cDz +bFy cDC -cDG +bOJ aVR bBj -aWy -aSJ +bRc +bXI aaa aaa aaa @@ -90790,14 +92030,14 @@ aSW aHM biF aQW -aTr -cDA +buM +bAX bEN -bjw +bOL aQW aQW -aSJ -aSJ +buO +cbp aaa aaa aaa @@ -90845,7 +92085,7 @@ bcy cbC cnO cnO -cnO +csR cGQ cGW cGV @@ -91047,10 +92287,10 @@ aSW aHM bju aQW -aSJ -aSJ +buO +buO aQW -aSJ +buO aQW aaU aaa @@ -91818,9 +93058,9 @@ csr aNR blf aNR -aTt -aTt -aTt +buR +bKp +bKJ aaa bdg bdg @@ -92074,10 +93314,10 @@ aGq aNR aNR bly -bFy -aTJ +bjF +byd aUB -aTt +bKK aaa bdg beN @@ -92329,12 +93569,12 @@ aKS aSW cDs aNR -aPs +biq blA bqh buG bIW -aTt +bKK aaa bdg beR @@ -92591,7 +93831,7 @@ aYR csE bvJ aUF -aTt +bKK aaa bdg beJ @@ -92832,7 +94072,7 @@ aAv aOO aCl aFj -ciC +aZT aGv bLp bEV @@ -92846,9 +94086,9 @@ bbf bsf bnI aRo -bBt -biq -aTt +bAn +bKG +bLe aaa bdg beJ @@ -93696,7 +94936,7 @@ ckT ckT ckT ckV -cHK +cRc clg ctc cua @@ -93921,8 +95161,8 @@ csN biA biA csL -cDZ -bgX +cDj +cDy bPl bXx bXT @@ -93953,7 +95193,7 @@ ckQ ckU ckQ ckW -cHL +cRd csX ctP cuk @@ -94178,8 +95418,8 @@ cve bky biA biA -cDZ -bgX +cDj +cDy bWT bXh bYa @@ -94431,11 +95671,11 @@ aaU aaU bgW biI -cvM -bkC -bVN -bmj -cEa +cqB +czA +cBt +csx +cDv bgW bWU bXl @@ -94688,8 +95928,8 @@ aaU aUk bgW bgW -cDj -bgX +csl +cAQ bgW bgW cEb @@ -96426,10 +97666,10 @@ aQg akv aew azf -bpW -aAP -aEc +aCb aFT +bjV +bpW aZO aXu aZX @@ -96487,8 +97727,8 @@ aaU aTV aVk bfu -bAn -bFz +csu +cAS cDV cDX cEg @@ -96682,9 +97922,9 @@ alU aQA aSZ aew -abS -bEL -aCb +aAP +aEc +bjB asL asL bfm @@ -96729,7 +97969,7 @@ aZy beJ bfd bjg -aYI +bUt bai baV cKF @@ -96744,7 +97984,7 @@ aaU aTV aVq bfx -bCd +cuQ cpP aTV bVR @@ -96999,9 +98239,9 @@ aaa aaa aaU aUi -aVq +ciC bzz -cuQ +cvM cts aTV bVM @@ -97258,7 +98498,7 @@ aaU aTV aYf beo -bCd +cuQ cwe aTV bVS @@ -97453,7 +98693,7 @@ awS azB aBC atc -aLX +aIF aJv aJZ aLY @@ -97515,7 +98755,7 @@ aaU aTV bHH aWp -cDJ +czf coI aTV bVT @@ -97710,10 +98950,10 @@ awT aAk cjN atc -aDF +aIG aRU aDX -bAX +aYI atc aVQ aWa @@ -97771,8 +99011,8 @@ aaa aaU aUk aUk -aUi -cDK +cnm +czz aUk aUk bWa @@ -97966,9 +99206,9 @@ bGf bHh cqd cBb -cBt +aFP +aKi aMN -cCO aQw coU atc @@ -98223,9 +99463,9 @@ avL axw cqH bhN -aDb +aIC aDP -aFk +aPs aGh csn atc @@ -98303,7 +99543,7 @@ bRJ bth bTB cek -cKj +cAo cKk cKl cKm @@ -98480,9 +99720,9 @@ avM avL csw aBK -aCa -aCa -aAQ +aID +aLX +aSJ aHZ atc atc @@ -98808,7 +100048,7 @@ cEn bWR bSH bSG -cEE +cij bSG bSC bSC @@ -100054,9 +101294,9 @@ aWB bsl cjJ aXH -aYm -aYm -aYm +cbA +cbH +ckZ aZv bRP aWB @@ -100101,9 +101341,9 @@ ceY bst cyG bst -buM -buM -buM +cDE +cDG +cEa buS buS bFX @@ -100312,7 +101552,7 @@ aWK aXo aXI aYn -aYD +cda aZj aZw bRQ @@ -100358,11 +101598,11 @@ bqm cdW cyG cdY -buM -byd -czf -csv -buM +cDF +cDJ +cKC +cDh +cPR bFJ cFa cFk @@ -100569,7 +101809,7 @@ aWM aXr aXJ aXr -aXr +cjG aXr aXr bRU @@ -100616,10 +101856,10 @@ cmU cyG cdX buS -csu +cDZ czg czt -czz +cPS czD cFb bEl @@ -100826,7 +102066,7 @@ aWO bPz bQf aYs -aYE +cjZ aYs aYs bSV @@ -100876,7 +102116,7 @@ buS bAJ czh czu -czA +cPT czE cFc bEl @@ -101083,7 +102323,7 @@ aWP aXy aXN aXy -cda +ckg aXy aXy aXy @@ -101132,7 +102372,7 @@ bqm buS caR czi -cdm +cKj buS bFY cEX @@ -101340,7 +102580,7 @@ aWQ aXz aXU aYu -aYF +ckY aZn aZx bEs @@ -102380,7 +103620,7 @@ ajO ajO ajO ajO -ajO +aQa ajO ajO aRy @@ -102633,13 +103873,13 @@ ajO aGi axI axI -axI aGi -aNo -aPE -beu ajO +bFf +aPE baW +aYZ +beu beK bTX bWI @@ -102889,10 +104129,10 @@ avv ajO bCv axI -bCF -axI -axI -aNr +aNh +aNz +bDw +bFv bHp bLm ajO @@ -103144,12 +104384,12 @@ aSt brs avv ajO -axI avY -bDw -bEZ -bFv -bGB +ajO +ajO +aOI +bDU +bGg bIF bLz bNe @@ -103193,7 +104433,7 @@ bqq cPx cFh bJe -cea +cRb cHP bKA bKV @@ -103401,12 +104641,12 @@ bns aya avy alo -axZ awn aIS -awn +aNo aJp -aNz +bDW +bGB aHq bki bPp @@ -103423,11 +104663,11 @@ cwd bYZ bZc cgQ -bUt -bUt -bUt -bUt bZe +bZe +bZe +bZe +cjr brL brL bVW @@ -103658,19 +104898,19 @@ aSt brs avv ajO -axI -avY -bDU -bFf -bGg +axZ +ajO +ajO +aPf +bEZ bGD bJk bLC -bPK +cRf bPV bQT bVq -cpM +cRh bfh cbY cdn @@ -103917,10 +105157,10 @@ avv ajO aze azJ -bDW -azJ -aNh -aOI +aNr +bCF +bDw +bPK bKx bmv ajO @@ -103958,7 +105198,7 @@ cpI csK cKi cvR -bzH +cPP bts bCY bHJ @@ -104175,9 +105415,9 @@ ajO aGi axI aIX -axI aGi -aPf +ajO +cRe aZP bmH aYZ @@ -104481,7 +105721,7 @@ bJi bDa czw byQ -cHV +cPQ cIc cIc cIp @@ -104986,7 +106226,7 @@ bpE bpE cyQ byQ -cjr +cCO czx czC czG @@ -105196,19 +106436,19 @@ bUp cci btZ aSq -rTW -kxw -kxw -tpQ -kxw -tpQ -kxw -kxw -kxw -kxw -kxw -kxw -xqa +bgh +bIY +bIY +bRo +bIY +bRo +bIY +bIY +bIY +bIY +bIY +bIY +bRp aaa aaU bWv @@ -105453,7 +106693,7 @@ bUL btT btT cjE -opd +bsz aaU aaU cdV @@ -105495,7 +106735,7 @@ bZk bZn bZq bZh -bIC +cEE bpD cmL cyS @@ -105710,7 +106950,7 @@ bUY ccj aSw aaW -opd +bsz aaa aaa aaa @@ -105967,7 +107207,7 @@ bVa btT aaU aby -opd +bsz aaa aaa aaa @@ -106224,7 +107464,7 @@ bVu bvB aaU aby -opd +bsz aaa aaa aaa @@ -106481,7 +107721,7 @@ bVA btT aaU aby -opd +bsz aaa aaa aaa @@ -106738,8 +107978,8 @@ bXp btT aaU abH -aZp -kxL +bAA +bMK aZp ceq cet @@ -106996,7 +108236,7 @@ bvB bWq acY adz -opd +bsz aaa aaU cdt @@ -107253,7 +108493,7 @@ btT btT btT cjF -qnM +bMX cdt cdt cdt @@ -107510,7 +108750,7 @@ ccn ccA ccy aTl -opd +bsz cdG cer cew @@ -107767,7 +109007,7 @@ cco ccE btZ aTl -opd +bsz cdU ces ces @@ -107792,7 +109032,7 @@ csQ cqs cqG crt -csx +cdm ctl cuL cvd @@ -108024,7 +109264,7 @@ btT btT btT cjF -qnM +bMX cdt cdt cdt @@ -108281,7 +109521,7 @@ btT aaU aVt adN -opd +bsz aaa aaU cdt @@ -108538,7 +109778,7 @@ aaU aaU aTl qeq -rbJ +bPh guK hXk hXk @@ -108742,11 +109982,11 @@ aFr aKg ahO aml -aoy -aoy +abX +akd aoA awt -aoy +aDb aqL anB alS @@ -108795,7 +110035,7 @@ cuy cuD cuG eUF -opd +bsz aej agc agT @@ -108822,12 +110062,12 @@ bwR cBx cCR cdz -bPX +cPI cdJ cdM cdJ cdO -bRA +cPK bbY cIM bZl @@ -109000,10 +110240,10 @@ apv aiF amr aqL -abX +aoy aoD aoj -bEq +aDm aqL aji aKs @@ -109052,7 +110292,7 @@ aQJ aRZ aVK cxa -bsz +bPr sVC aNH bbQ @@ -109257,11 +110497,11 @@ apv ajb amt anH -akd +aAQ aoG bvp -aDm -aFP +aDF +aFk aHh aKB aNu @@ -109309,7 +110549,7 @@ aaU aSu aYU cxb -opd +bsz aej agC aoJ @@ -109336,12 +110576,12 @@ bEW bQF cah cdA -bRn +cPJ cdL cmv cdL cdQ -bVb +cPL bUD cIV coN @@ -109563,10 +110803,10 @@ aaa aaa aaa aaa -rTW -aTl -cdp -wPS +bgh +bGQ +bIT +bPX aaU atF atF @@ -109820,7 +111060,7 @@ aaa aaa aaa aaa -opd +bsz aTl cxc aaa @@ -110077,7 +111317,7 @@ aaa aaa aaa aaa -opd +bsz aTl cxc aaa @@ -110334,7 +111574,7 @@ aaa aWR aaa aaU -opd +bsz aTl cxc atF @@ -110591,7 +111831,7 @@ cgd bwW beE bwW -opd +bsz aTl cxc atF @@ -110625,7 +111865,7 @@ biQ bXf bkG cwP -cDh +ctn bob bib bXX @@ -110824,9 +112064,9 @@ aIN aMK aOc aSA -aVa -aWn -bsR +aTo +aTt +aTJ bsR bCG bCK @@ -110848,7 +112088,7 @@ cgX chC cik bwW -bGh +bsT bGQ bHe bHA @@ -111081,9 +112321,9 @@ aKj aVy aRx aSF -aHA +aTr arH -aIC +aVa aIK aKk aTU @@ -111340,7 +112580,7 @@ aND aWH aHx asc -aID +aWn bvG aKl bCQ @@ -111597,7 +112837,7 @@ bkT aWJ aHz btb -aID +aWn bvR bCI bDJ @@ -111854,14 +113094,14 @@ aci aXQ aHy bDc -aIF -aKi +aWw +aWy +aYm +aYD +aYE +aYF beQ -cnm -cAQ -cAS -buO -buR +bjw bwu bAd aMo @@ -112111,8 +113351,8 @@ aWX aZF anK aHz -aIG -aHA +aWx +aTr boA cAF bCL @@ -112136,7 +113376,7 @@ aMD arp bCk aqk -bIT +bRn qlJ qlJ bcG @@ -112393,9 +113633,9 @@ bwW ciV bwW aaU -bIY -bHg -bMK +bsT +bRo +bRp anr bcI bgw @@ -112652,10 +113892,10 @@ bwW aaU aaa aaa -bJv +bsz cJx cJF -bPh +bRA cJJ bsX cJM @@ -112909,11 +114149,11 @@ bwW aaU aaa aaa -bJv +bsz anr bcI sdp -bgw +bUX bgw uwK bhm @@ -113166,12 +114406,12 @@ bwW aaU aaa aaa -bJv +bsz anr bcI aXp -cwx -bTJ +bVb +cfx bhs bmm bcI @@ -113397,7 +114637,7 @@ aCJ bFn bFn aJd -aJj +bfH bdq bet bmu @@ -113423,7 +114663,7 @@ bwW aaU aaa aaa -bJv +bsz anr bcI bcI @@ -113680,13 +114920,13 @@ bwW aaU aaa aaa -bJv +bsz anr aaU aaa cwz aaa -bfW +jyu aaa aaa aaU @@ -113937,13 +115177,13 @@ bwW aMD bwW aaa -bIY -bMX -tpQ -xqa +bsT +bHe +bRo +bRp aaa cwD -bfW +jyu aaa aaa aaU @@ -114197,10 +115437,10 @@ bwW aaU bdR cJr -opd +bTJ aaa aaa -cwF +cPz aaa aaa aaU @@ -114222,11 +115462,11 @@ bUR cfO cja cja -cgt +boj cxq cxv bgf -bVj +brQ cxC bgq bhX @@ -114423,7 +115663,7 @@ aNy aSd aTq aVY -bfH +aJj aJd btm bdo @@ -114454,10 +115694,10 @@ cwv bAQ bAQ cJs -bPr -bRo +bUV +caf bam -cwG +cPA bam bYl bam @@ -114479,7 +115719,7 @@ cdx cga cgq cgq -cjb +bzw cxr cxw cxx @@ -114712,9 +115952,9 @@ bsu bsx cJt sVC -bRp +cdp sVC -bsT +cPB sVC bZp sVC @@ -114738,7 +115978,7 @@ bZd cfX ciP cjB -boj +cgt bcl bfc bgs @@ -114952,7 +116192,7 @@ aMA czU czY cAe -cAo +bFz cAs cAx bhU @@ -114973,11 +116213,11 @@ bRv bsD bww bsD -caf -bsD -bsD -bsD -bAA +cPE +cPF +cPF +cPF +cPG bBL bBL bCm @@ -115003,7 +116243,7 @@ cxC bhX biJ bjQ -cxT +ctu biZ btz bPm @@ -115263,7 +116503,7 @@ cxQ cxU cxW cxX -bPm +cPN clX bZu cmM @@ -115473,7 +116713,7 @@ aMB bzn bjz cgZ -bmS +bzH bJS bmW bmW @@ -115499,7 +116739,7 @@ bbT bbT bkm brV -bgh +cPH bfU bFD bgO @@ -115988,7 +117228,7 @@ bzn bwW bxF aMD -cih +bEL bAK bjz aMI @@ -116034,7 +117274,7 @@ bGC bpQ bpQ cOa -bYg +cPO cya cya cya @@ -116245,8 +117485,8 @@ bzn bwW byW bCB -ciX -cij +bIC +bVj cip cpE aaa @@ -116502,7 +117742,7 @@ bzn aMD bzh bwW -ciV +cih aMI aMI aMI @@ -116534,7 +117774,7 @@ bLu bVr cth cje -ctn +csv bcV bby bck @@ -117044,7 +118284,7 @@ bgk bbT bkd bbT -bUS +cea bVG cgn cje @@ -117055,13 +118295,13 @@ bcA bdM bdM cNA -bhP -biv -bjB -bjV +bhb +ciE +cmT cnB csh -ciE +cHV +cPM bjn btI buc @@ -117283,8 +118523,8 @@ bMY bMY bPB xoj -cwB -cwM +cwx +cPC cww cbN cww @@ -117314,9 +118554,9 @@ bdM bdM bhP biv -bjF -cqB -bXI +cDz +cDA +cDD bnX bjn bjn @@ -117540,8 +118780,8 @@ bMZ bMZ bPC uAY -cwB -bUV +cwF +cwM cww cge cww @@ -117793,12 +119033,12 @@ aaa bJv bMp cww -bNa +cpM bNa bPJ bRC -cfx -bUX +cwG +cPD bVE cbT cww @@ -117830,7 +119070,7 @@ ccv boS boI bqZ -ctu +cxT bMH btN buy @@ -118090,7 +119330,7 @@ cxR cxV cxV cxV -cxZ +cjb cxV cyb cyc @@ -118314,7 +119554,7 @@ qgO chO cpN bWG -cJo +cRg jiZ bhI cLY @@ -118349,7 +119589,7 @@ btd btd bDy bxR -btS +cxZ boI bBA bFh @@ -118582,7 +119822,7 @@ anr aaa aaU bfC -bhB +bUS bAv bPW cBz @@ -119377,7 +120617,7 @@ boI cre cow boI -bzw +cRa boI aaa aaa From 1b9bfe9674e68a18616dfcbb8aa3e83927441481 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 20 Apr 2020 04:00:47 -0700 Subject: [PATCH 092/131] Update mobs.dm --- code/__DEFINES/mobs.dm | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index b4735cd0d8..e5f817614b 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -36,16 +36,16 @@ #define BLOODCRAWL_EAT 2 //Mob bio-types flags -#define MOB_ORGANIC 1 << 0 -#define MOB_MINERAL 1 << 1 -#define MOB_ROBOTIC 1 << 2 -#define MOB_UNDEAD 1 << 3 -#define MOB_HUMANOID 1 << 4 -#define MOB_BUG 1 << 5 -#define MOB_BEAST 1 << 6 -#define MOB_EPIC 1 << 7 //megafauna -#define MOB_REPTILE 1 << 8 -#define MOB_SPIRIT 1 << 9 +#define MOB_ORGANIC (1 << 0) +#define MOB_MINERAL (1 << 1) +#define MOB_ROBOTIC (1 << 2) +#define MOB_UNDEAD (1 << 3) +#define MOB_HUMANOID (1 << 4) +#define MOB_BUG (1 << 5) +#define MOB_BEAST (1 << 6) +#define MOB_EPIC (1 << 7) //megafauna +#define MOB_REPTILE (1 << 8) +#define MOB_SPIRIT (1 << 9) //Organ defines for carbon mobs #define ORGAN_ORGANIC 1 From d8d6ae8555e8d5b6f9a61d9e19860475dd7a4622 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 20 Apr 2020 04:01:57 -0700 Subject: [PATCH 093/131] Revert "Update mobs.dm" This reverts commit 1b9bfe9674e68a18616dfcbb8aa3e83927441481. --- code/__DEFINES/mobs.dm | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index e5f817614b..b4735cd0d8 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -36,16 +36,16 @@ #define BLOODCRAWL_EAT 2 //Mob bio-types flags -#define MOB_ORGANIC (1 << 0) -#define MOB_MINERAL (1 << 1) -#define MOB_ROBOTIC (1 << 2) -#define MOB_UNDEAD (1 << 3) -#define MOB_HUMANOID (1 << 4) -#define MOB_BUG (1 << 5) -#define MOB_BEAST (1 << 6) -#define MOB_EPIC (1 << 7) //megafauna -#define MOB_REPTILE (1 << 8) -#define MOB_SPIRIT (1 << 9) +#define MOB_ORGANIC 1 << 0 +#define MOB_MINERAL 1 << 1 +#define MOB_ROBOTIC 1 << 2 +#define MOB_UNDEAD 1 << 3 +#define MOB_HUMANOID 1 << 4 +#define MOB_BUG 1 << 5 +#define MOB_BEAST 1 << 6 +#define MOB_EPIC 1 << 7 //megafauna +#define MOB_REPTILE 1 << 8 +#define MOB_SPIRIT 1 << 9 //Organ defines for carbon mobs #define ORGAN_ORGANIC 1 From dc97b65681f843ac9f3435015c9652eb7a26f17a Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 20 Apr 2020 04:03:13 -0700 Subject: [PATCH 094/131] Revert "Revert "Update mobs.dm"" This reverts commit d8d6ae8555e8d5b6f9a61d9e19860475dd7a4622. --- code/__DEFINES/mobs.dm | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index b4735cd0d8..e5f817614b 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -36,16 +36,16 @@ #define BLOODCRAWL_EAT 2 //Mob bio-types flags -#define MOB_ORGANIC 1 << 0 -#define MOB_MINERAL 1 << 1 -#define MOB_ROBOTIC 1 << 2 -#define MOB_UNDEAD 1 << 3 -#define MOB_HUMANOID 1 << 4 -#define MOB_BUG 1 << 5 -#define MOB_BEAST 1 << 6 -#define MOB_EPIC 1 << 7 //megafauna -#define MOB_REPTILE 1 << 8 -#define MOB_SPIRIT 1 << 9 +#define MOB_ORGANIC (1 << 0) +#define MOB_MINERAL (1 << 1) +#define MOB_ROBOTIC (1 << 2) +#define MOB_UNDEAD (1 << 3) +#define MOB_HUMANOID (1 << 4) +#define MOB_BUG (1 << 5) +#define MOB_BEAST (1 << 6) +#define MOB_EPIC (1 << 7) //megafauna +#define MOB_REPTILE (1 << 8) +#define MOB_SPIRIT (1 << 9) //Organ defines for carbon mobs #define ORGAN_ORGANIC 1 From 60e89f154a09861bd0f7be9c2dd830164d9853fe Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 20 Apr 2020 14:44:19 +0300 Subject: [PATCH 095/131] Fixes missing inv/dropped icon of glass gasmask --- icons/obj/clothing/masks.dmi | Bin 37605 -> 37981 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/clothing/masks.dmi b/icons/obj/clothing/masks.dmi index 13f678f53a6a3a0936d258ef1c6308f7f0c60d73..0590104c3065e81db3320d78a1c2a8fcc74dd6b9 100644 GIT binary patch delta 17898 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 O2s~Z=T-G@yGywq4A~!w& delta 17515 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 Date: Mon, 20 Apr 2020 16:04:55 +0200 Subject: [PATCH 096/131] Update game_options.dm --- code/controllers/configuration/entries/game_options.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index cb18d37f21..f1f7442059 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -475,5 +475,4 @@ min_val = 0.1 //To encourage folks to disable the slowdown through the above config instead. //Allows players to set a hexadecimal color of their choice as skin tone, on top of the standard ones. -/datum/config_entry/number/allow_custom_skintones - config_entry_value = 1 +/datum/config_entry/flag/allow_custom_skintones From 9919a239665ed2944b4baa6257b2aeebbdef0c64 Mon Sep 17 00:00:00 2001 From: necromanceranne Date: Tue, 21 Apr 2020 00:36:54 +1000 Subject: [PATCH 097/131] This fixes everyone being a pugilist holy fuck --- code/datums/martial/_martial.dm | 4 +++- code/datums/martial/boxing.dm | 1 + code/datums/martial/cqc.dm | 1 + code/datums/martial/krav_maga.dm | 1 + code/datums/martial/plasma_fist.dm | 1 + code/datums/martial/rising_bass.dm | 1 + code/datums/martial/sleeping_carp.dm | 1 + 7 files changed, 9 insertions(+), 1 deletion(-) diff --git a/code/datums/martial/_martial.dm b/code/datums/martial/_martial.dm index d8a888871e..e54a80bd81 100644 --- a/code/datums/martial/_martial.dm +++ b/code/datums/martial/_martial.dm @@ -10,6 +10,7 @@ var/help_verb var/pacifism_check = TRUE //are the martial arts combos/attacks unable to be used by pacifist. var/allow_temp_override = TRUE //if this martial art can be overridden by temporary martial arts + var/pugilist = FALSE /datum/martial_art/proc/disarm_act(mob/living/carbon/human/A, mob/living/carbon/human/D) return FALSE @@ -61,7 +62,8 @@ if(help_verb) H.verbs += help_verb H.mind.martial_art = src - ADD_TRAIT(H, TRAIT_PUGILIST, MARTIAL_ARTIST_TRAIT) + if(pugilist) + ADD_TRAIT(H, TRAIT_PUGILIST, MARTIAL_ARTIST_TRAIT) return TRUE /datum/martial_art/proc/store(datum/martial_art/M,mob/living/carbon/human/H) diff --git a/code/datums/martial/boxing.dm b/code/datums/martial/boxing.dm index 93d70c12cc..848fdc6a41 100644 --- a/code/datums/martial/boxing.dm +++ b/code/datums/martial/boxing.dm @@ -2,6 +2,7 @@ name = "Boxing" id = MARTIALART_BOXING pacifism_check = FALSE //Let's pretend pacifists can boxe the heck out of other people, it only deals stamina damage right now. + pugilist = TRUE /datum/martial_art/boxing/disarm_act(mob/living/carbon/human/A, mob/living/carbon/human/D) to_chat(A, "Can't disarm while boxing!") diff --git a/code/datums/martial/cqc.dm b/code/datums/martial/cqc.dm index 4b19ae25ca..96ba7bf965 100644 --- a/code/datums/martial/cqc.dm +++ b/code/datums/martial/cqc.dm @@ -9,6 +9,7 @@ id = MARTIALART_CQC help_verb = /mob/living/carbon/human/proc/CQC_help block_chance = 75 + pugilist = TRUE var/old_grab_state = null /datum/martial_art/cqc/reset_streak(mob/living/carbon/human/new_target) diff --git a/code/datums/martial/krav_maga.dm b/code/datums/martial/krav_maga.dm index 6b3e2d3dc8..4332b09ac6 100644 --- a/code/datums/martial/krav_maga.dm +++ b/code/datums/martial/krav_maga.dm @@ -1,6 +1,7 @@ /datum/martial_art/krav_maga name = "Krav Maga" id = MARTIALART_KRAVMAGA + pugilist = TRUE var/datum/action/neck_chop/neckchop = new/datum/action/neck_chop() var/datum/action/leg_sweep/legsweep = new/datum/action/leg_sweep() var/datum/action/lung_punch/lungpunch = new/datum/action/lung_punch() diff --git a/code/datums/martial/plasma_fist.dm b/code/datums/martial/plasma_fist.dm index c751d3b146..16ffb381aa 100644 --- a/code/datums/martial/plasma_fist.dm +++ b/code/datums/martial/plasma_fist.dm @@ -6,6 +6,7 @@ name = "Plasma Fist" id = MARTIALART_PLASMAFIST help_verb = /mob/living/carbon/human/proc/plasma_fist_help + pugilist = TRUE /datum/martial_art/plasma_fist/proc/check_streak(mob/living/carbon/human/A, mob/living/carbon/human/D) diff --git a/code/datums/martial/rising_bass.dm b/code/datums/martial/rising_bass.dm index 087867a9c1..0d77644c86 100644 --- a/code/datums/martial/rising_bass.dm +++ b/code/datums/martial/rising_bass.dm @@ -9,6 +9,7 @@ id = MARTIALART_RISINGBASS allow_temp_override = FALSE help_verb = /mob/living/carbon/human/proc/rising_bass_help + pugilist = TRUE var/datum/action/risingbassmove/sidekick = new/datum/action/risingbassmove/sidekick() var/datum/action/risingbassmove/deftswitch = new/datum/action/risingbassmove/deftswitch() var/repulsecool = 0 diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index d2e11ee843..82ddd90b42 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -7,6 +7,7 @@ id = MARTIALART_SLEEPINGCARP allow_temp_override = FALSE help_verb = /mob/living/carbon/human/proc/sleeping_carp_help + pugilist = TRUE /datum/martial_art/the_sleeping_carp/proc/check_streak(mob/living/carbon/human/A, mob/living/carbon/human/D) if(findtext(streak,STRONG_PUNCH_COMBO)) From e870830a723039a254a361ec9dbed47799c0d46e Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Mon, 20 Apr 2020 17:52:10 +0200 Subject: [PATCH 098/131] Update preferences.dm --- code/modules/client/preferences.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 0e5e80eaf3..d4caca017a 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1834,7 +1834,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) if("s_tone") var/list/choices = GLOB.skin_tones - GLOB.nonstandard_skin_tones - if(CONFIG_GET(number/allow_custom_skintones)) + if(CONFIG_GET(flag/allow_custom_skintones)) choices += "custom" var/new_s_tone = input(user, "Choose your character's skin tone:", "Character Preference") as null|anything in choices if(new_s_tone) From 4cf80cb277b1ab2643aef1c7525cbfe051b45744 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Mon, 20 Apr 2020 17:56:48 +0200 Subject: [PATCH 099/131] Update preferences_savefile.dm --- code/modules/client/preferences_savefile.dm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index a64d3e057d..f62d179fff 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -568,11 +568,16 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car hair_color = sanitize_hexcolor(hair_color, 3, 0) facial_hair_color = sanitize_hexcolor(facial_hair_color, 3, 0) eye_color = sanitize_hexcolor(eye_color, 3, 0) - use_custom_skin_tone = sanitize_integer(use_custom_skin_tone, FALSE, TRUE, initial(use_custom_skin_tone)) - if(use_custom_skin_tone && CONFIG_GET(number/allow_custom_skintones)) + + var/static/allow_custom_skintones + if(isnull(allow_custom_skintones)) + allow_custom_skintones = CONFIG_GET(flag/allow_custom_skintones) + use_custom_skin_tone = allow_custom_skintones ? sanitize_integer(use_custom_skin_tone, FALSE, TRUE, initial(use_custom_skin_tone)) : FALSE + if(use_custom_skin_tone) skin_tone = sanitize_hexcolor(skin_tone, 6, TRUE, "#FFFFFF") else skin_tone = sanitize_inlist(skin_tone, GLOB.skin_tones - GLOB.nonstandard_skin_tones, initial(skin_tone)) + horn_color = sanitize_hexcolor(horn_color, 3, FALSE) wing_color = sanitize_hexcolor(wing_color, 3, FALSE, "#FFFFFF") backbag = sanitize_inlist(backbag, GLOB.backbaglist, initial(backbag)) From 9df0982da39b564b2397d2c90bb9e96e287d4586 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Mon, 20 Apr 2020 17:57:08 +0200 Subject: [PATCH 100/131] Update mirror.dm --- code/game/objects/structures/mirror.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index be783f387e..e32def727a 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -159,7 +159,7 @@ if(H.dna.species.use_skintones) var/list/choices = GLOB.skin_tones - if(CONFIG_GET(number/allow_custom_skintones)) + if(CONFIG_GET(flag/allow_custom_skintones)) choices += "custom" var/new_s_tone = input(H, "Choose your skin tone:", "Race change") as null|anything in choices if(new_s_tone) From 5df4287c8d4360f0a2dee544e3cf9c6a95e00fca Mon Sep 17 00:00:00 2001 From: Putnam Date: Mon, 20 Apr 2020 11:10:43 -0700 Subject: [PATCH 101/131] Fixes a runtime in livers. --- code/modules/surgery/organs/liver.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/surgery/organs/liver.dm b/code/modules/surgery/organs/liver.dm index 117a45cdbc..6e5ea0e111 100755 --- a/code/modules/surgery/organs/liver.dm +++ b/code/modules/surgery/organs/liver.dm @@ -52,7 +52,7 @@ /obj/item/organ/liver/applyOrganDamage(d, maximum = maxHealth) . = ..() - if(!.) + if(!. || QDELETED(owner)) return if(damage >= high_threshold) var/move_calc = 1+((round(damage) - high_threshold)/(high_threshold/3)) From 096a182a84259e5594912079f66189028ab84367 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 20 Apr 2020 11:44:59 -0700 Subject: [PATCH 102/131] Update living.dm --- code/modules/mob/living/living.dm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 4e1f37fdf7..abb18bab24 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -645,11 +645,6 @@ attempt_resist_grab(FALSE) // Return as we should only resist one thing at a time. Give clickdelay if the grab wasn't passive. return old_gs? TRUE : FALSE - - if(CHECK_MOBILITY(src, MOBILITY_USE) && resist_embedded()) //Citadel Change for embedded removal memes - requires being able to use items. - // DO NOT GIVE DEFAULT CLICKDELAY - This is a combat action. - changeNext_move(CLICK_CD_MELEE) - return FALSE // unbuckling yourself. stops the chain if you try it. if(buckled && last_special <= world.time) @@ -673,10 +668,17 @@ resist_fire() //stop, drop, and roll // Give clickdelay return TRUE + if(resting) //cit change - allows resisting out of resting resist_a_rest() // ditto // DO NOT GIVE CLCIKDELAY - resist_a_rest() handles spam prevention. Somewhat. return FALSE + + if(CHECK_MOBILITY(src, MOBILITY_USE) && resist_embedded()) //Citadel Change for embedded removal memes - requires being able to use items. + // DO NOT GIVE DEFAULT CLICKDELAY - This is a combat action. + changeNext_move(CLICK_CD_MELEE) + return FALSE + if(last_special <= world.time) resist_restraints() //trying to remove cuffs. // DO NOT GIVE CLICKDELAY - last_special handles this. From a984fc5e3d9dfe11a159981a6bf5df5696bbe2ee Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 20 Apr 2020 11:45:22 -0700 Subject: [PATCH 103/131] Update living.dm --- code/modules/mob/living/living.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index abb18bab24..22a0da2cf6 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -684,7 +684,6 @@ // DO NOT GIVE CLICKDELAY - last_special handles this. return FALSE - /// Proc to resist a grab. moving_resist is TRUE if this began by someone attempting to move. Return FALSE if still grabbed/failed to break out. Use this instead of resist_grab() directly. /mob/proc/attempt_resist_grab(moving_resist, forced, log = TRUE) if(!pulledby) //not being grabbed From 90f6904f44f2ead2ff7999fc1171d5c0efdbcde7 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 20 Apr 2020 12:16:42 -0700 Subject: [PATCH 104/131] fix --- code/game/objects/items/shields.dm | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index 6d8e582c29..77d24eb80b 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -52,13 +52,13 @@ px = 12 if(WEST) px = -12 - var/oldpx = user.pixel_x - var/oldpy = user.pixel_y - animate(user, pixel_x = px, pixel_y = py, time = 3, easing = SINE_EASING | EASE_OUT, flags = ANIMATION_END_NOW) - animate(user, pixel_x = oldpx, pixel_y = oldpy, time = 3) - user.visible_message("[user] [harmful? "charges forwards with" : "sweeps"] [src]!") var/obj/effect/temp_visual/dir_setting/shield_bash/effect = new(user.loc, dir) - animate(effect, alpha = 0, pixel_x = px + 4, pixel_y = py + 4, time = 3) + effect.pixel_x = user.pixel_x + effect.pixel_y = user.pixel_y + user.visible_message("[user] [harmful? "charges forwards with" : "sweeps"] [src]!") + animate(user, pixel_x = px, pixel_y = py, time = 3, easing = SINE_EASING | EASE_OUT, flags = ANIMATION_PARALLEL | ANIMATION_RELATIVE) + animate(user, pixel_x = -px, pixel_y = -py, time = 3, flags = ANIMATION_RELATIVE) + animate(effect, alpha = 0, pixel_x = px * 1.5, pixel_y = py * 1.5, time = 3, flags = ANIMATION_PARALLEL | ANIMATION_RELATIVE) /obj/item/shield/proc/bash_target(mob/living/user, mob/living/target, bashdir, harmful) if(!(target.status_flags & CANKNOCKDOWN) || HAS_TRAIT(src, TRAIT_STUNIMMUNE)) // should probably add stun absorption check at some point I guess.. @@ -76,7 +76,7 @@ "[user] shoves you with [src]!") for(var/i in 1 to harmful? shieldbash_knockback : shieldbash_push_distance) var/turf/new_turf = get_step(target, bashdir) - var/mob/living/carbon/human/H = locate() in new_turf + var/mob/living/carbon/human/H = locate() in (new_turf.contents - target) if(H && harmful) H.visible_message("[target] is sent crashing into [H]!", "[target] is sent crashing into you!") @@ -113,7 +113,8 @@ if(world.time < last_shieldbash + shieldbash_cooldown) to_chat(user, "You can't bash with [src] again so soon!") return FALSE - if(isliving(target)) //GROUND SLAAAM + var/mob/living/livingtarget = target //only access after an isliving check! + if(isliving(target) && !CHECK_MOBILITY(targetliving, MOBILITY_STAND)) //GROUND SLAAAM if(!(shield_flags & SHIELD_BASH_GROUND_SLAM)) to_chat(user, "You can't ground slam with [src]!") return FALSE @@ -122,7 +123,7 @@ playsound(src, harmful? "swing_hit" : 'sound/weapons/thudswoosh.ogg', 75, 1) last_shieldbash = world.time user.adjustStaminaLossBuffered(shieldbash_stamcost) - return 1 + return TRUE // Directional sweep! last_shieldbash = world.time user.adjustStaminaLossBuffered(shieldbash_stamcost) From 6428f4a0c2f768ca1177508006d8f6f978cf242f Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 20 Apr 2020 12:18:09 -0700 Subject: [PATCH 105/131] ok --- code/game/objects/items/shields.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index 77d24eb80b..7527415c86 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -114,7 +114,7 @@ to_chat(user, "You can't bash with [src] again so soon!") return FALSE var/mob/living/livingtarget = target //only access after an isliving check! - if(isliving(target) && !CHECK_MOBILITY(targetliving, MOBILITY_STAND)) //GROUND SLAAAM + if(isliving(target) && !CHECK_MOBILITY(livingtarget, MOBILITY_STAND)) //GROUND SLAAAM if(!(shield_flags & SHIELD_BASH_GROUND_SLAM)) to_chat(user, "You can't ground slam with [src]!") return FALSE From 7e2a54d5d6249ff36f668ae5d81c44318a507efe Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 20 Apr 2020 12:30:20 -0700 Subject: [PATCH 106/131] fix --- code/game/objects/items/shields.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index 7527415c86..2a0ef0109b 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -33,11 +33,11 @@ return TRUE /obj/item/shield/alt_pre_attack(atom/A, mob/living/user, params) - user_shieldbash(user, A, user.a_intent != INTENT_HARM) + user_shieldbash(user, A, user.a_intent == INTENT_HARM) return TRUE /obj/item/shield/altafterattack(atom/target, mob/user, proximity_flag, click_parameters) - user_shieldbash(user, target, user.a_intent != INTENT_HARM) + user_shieldbash(user, target, user.a_intent !== INTENT_HARM) return TRUE /obj/item/shield/proc/do_shieldbash_effect(mob/living/user, dir, harmful) @@ -53,8 +53,8 @@ if(WEST) px = -12 var/obj/effect/temp_visual/dir_setting/shield_bash/effect = new(user.loc, dir) - effect.pixel_x = user.pixel_x - effect.pixel_y = user.pixel_y + effect.pixel_x = user.pixel_x - 32 //96x96 effect, -32. + effect.pixel_y = user.pixel_y - 32 user.visible_message("[user] [harmful? "charges forwards with" : "sweeps"] [src]!") animate(user, pixel_x = px, pixel_y = py, time = 3, easing = SINE_EASING | EASE_OUT, flags = ANIMATION_PARALLEL | ANIMATION_RELATIVE) animate(user, pixel_x = -px, pixel_y = -py, time = 3, flags = ANIMATION_RELATIVE) From 047bb6c162921b4787c5defd1d74313a8d504ede Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Mon, 20 Apr 2020 16:19:30 -0400 Subject: [PATCH 107/131] Update hardsuit.dm --- code/modules/clothing/spacesuits/hardsuit.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 8a7092d8a6..385956e7f4 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -408,7 +408,6 @@ helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/owl mutantrace_variation = STYLE_DIGITIGRADE - //Wizard hardsuit /obj/item/clothing/head/helmet/space/hardsuit/wizard name = "gem-encrusted hardsuit helmet" @@ -473,6 +472,7 @@ name = "medical hardsuit" desc = "A special suit that protects against hazardous, low pressure environments. Built with lightweight materials for easier movement." item_state = "medical_hardsuit" + slowdown = 0.8 allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/storage/firstaid, /obj/item/healthanalyzer, /obj/item/stack/medical) armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 10, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 75) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/medical From 3e9b1a68756da72080392dca4db1f6820884118a Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 20 Apr 2020 14:02:39 -0700 Subject: [PATCH 108/131] Update shields.dm --- code/game/objects/items/shields.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index 2a0ef0109b..16f29491be 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -37,7 +37,7 @@ return TRUE /obj/item/shield/altafterattack(atom/target, mob/user, proximity_flag, click_parameters) - user_shieldbash(user, target, user.a_intent !== INTENT_HARM) + user_shieldbash(user, target, user.a_intent == INTENT_HARM) return TRUE /obj/item/shield/proc/do_shieldbash_effect(mob/living/user, dir, harmful) From 4d55f169d57950324dedf5bb205e3e09e4c411c7 Mon Sep 17 00:00:00 2001 From: TrilbySpaceClone Date: Mon, 20 Apr 2020 17:05:03 -0400 Subject: [PATCH 109/131] oh god oh fuck --- code/__DEFINES/construction.dm | 1 + .../crafting/recipes/recipes_misc.dm | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/code/__DEFINES/construction.dm b/code/__DEFINES/construction.dm index 92f00fbf38..2f54d066a0 100644 --- a/code/__DEFINES/construction.dm +++ b/code/__DEFINES/construction.dm @@ -73,6 +73,7 @@ #define CAT_AMMO "Ammunition" #define CAT_ROBOT "Robots" #define CAT_MISC "Misc" +#define CAT_MISCELLANEOUS "Miscellaneous" #define CAT_TOOL "Tools & Storage" #define CAT_FURNITURE "Furniture" #define CAT_PRIMAL "Tribal" diff --git a/code/datums/components/crafting/recipes/recipes_misc.dm b/code/datums/components/crafting/recipes/recipes_misc.dm index b454ef134f..e9990d5620 100644 --- a/code/datums/components/crafting/recipes/recipes_misc.dm +++ b/code/datums/components/crafting/recipes/recipes_misc.dm @@ -19,6 +19,7 @@ /obj/item/stack/sheet/mineral/wood = 20, /obj/item/stack/cable_coil = 10) tools = list(TOOL_SCREWDRIVER, TOOL_WRENCH, TOOL_WELDER) + subcategory = CAT_MISCELLANEOUS category = CAT_MISC /datum/crafting_recipe/femur_breaker @@ -28,6 +29,7 @@ reqs = list(/obj/item/stack/sheet/metal = 20, /obj/item/stack/cable_coil = 30) tools = list(TOOL_SCREWDRIVER, TOOL_WRENCH, TOOL_WELDER) + subcategory = CAT_MISCELLANEOUS category = CAT_MISC /////////////////// @@ -162,6 +164,7 @@ reqs = list(/obj/item/stack/sheet/plasteel = 2, /obj/item/stack/rods = 8) time = 100 + subcategory = CAT_MISCELLANEOUS category = CAT_MISC /datum/crafting_recipe/skateboard @@ -170,6 +173,7 @@ time = 60 reqs = list(/obj/item/stack/sheet/metal = 5, /obj/item/stack/rods = 10) + subcategory = CAT_MISCELLANEOUS category = CAT_MISC /datum/crafting_recipe/scooter @@ -178,6 +182,7 @@ time = 65 reqs = list(/obj/item/stack/sheet/metal = 5, /obj/item/stack/rods = 12) + subcategory = CAT_MISCELLANEOUS category = CAT_MISC ///////// @@ -188,18 +193,21 @@ name = "Toy Sword" reqs = list(/obj/item/light/bulb = 1, /obj/item/stack/cable_coil = 1, /obj/item/stack/sheet/plastic = 4) result = /obj/item/toy/sword + subcategory = CAT_MISCELLANEOUS category = CAT_MISC /datum/crafting_recipe/extendohand name = "Extendo-Hand" reqs = list(/obj/item/bodypart/r_arm/robot = 1, /obj/item/clothing/gloves/boxing = 1) result = /obj/item/extendohand + subcategory = CAT_MISCELLANEOUS category = CAT_MISC /datum/crafting_recipe/toyneb name = "Non-Euplastic Blade" reqs = list(/obj/item/light/tube = 1, /obj/item/stack/cable_coil = 1, /obj/item/stack/sheet/plastic = 4) result = /obj/item/toy/sword/cx + subcategory = CAT_MISCELLANEOUS category = CAT_MISC //////////// @@ -210,6 +218,7 @@ name = "Black Carpet" reqs = list(/obj/item/stack/tile/carpet = 50, /obj/item/toy/crayon/black = 1) result = /obj/item/stack/tile/carpet/black/fifty + subcategory = CAT_MISCELLANEOUS category = CAT_MISC /datum/crafting_recipe/paperframes @@ -217,6 +226,7 @@ result = /obj/item/stack/sheet/paperframes/five time = 10 reqs = list(/obj/item/stack/sheet/mineral/wood = 5, /obj/item/paper = 20) + subcategory = CAT_MISCELLANEOUS category = CAT_MISC /datum/crafting_recipe/naturalpaper @@ -225,6 +235,7 @@ reqs = list(/datum/reagent/water = 50, /obj/item/stack/sheet/mineral/wood = 1) tools = list(/obj/item/hatchet) result = /obj/item/paper_bin/bundlenatural + subcategory = CAT_MISCELLANEOUS category = CAT_MISC /datum/crafting_recipe/bluespacehonker @@ -234,6 +245,7 @@ reqs = list(/obj/item/stack/ore/bluespace_crystal = 1, /obj/item/toy/crayon/blue = 1, /obj/item/bikehorn = 1) + subcategory = CAT_MISCELLANEOUS category = CAT_MISC /datum/crafting_recipe/mousetrap @@ -242,6 +254,7 @@ time = 10 reqs = list(/obj/item/stack/sheet/cardboard = 1, /obj/item/stack/rods = 1) + subcategory = CAT_MISCELLANEOUS category = CAT_MISC /datum/crafting_recipe/flashlight_eyes @@ -252,6 +265,7 @@ /obj/item/flashlight = 2, /obj/item/restraints/handcuffs/cable = 1 ) + subcategory = CAT_MISCELLANEOUS category = CAT_MISC /datum/crafting_recipe/pressureplate @@ -262,6 +276,7 @@ /obj/item/stack/tile/plasteel = 1, /obj/item/stack/cable_coil = 2, /obj/item/assembly/igniter = 1) + subcategory = CAT_MISCELLANEOUS category = CAT_MISC /datum/crafting_recipe/gold_horn @@ -270,6 +285,7 @@ time = 20 reqs = list(/obj/item/stack/sheet/mineral/bananium = 5, /obj/item/bikehorn = 1) + subcategory = CAT_MISCELLANEOUS category = CAT_MISC /datum/crafting_recipe/spooky_camera @@ -279,6 +295,7 @@ reqs = list(/obj/item/camera = 1, /datum/reagent/water/holywater = 10) parts = list(/obj/item/camera = 1) + subcategory = CAT_MISCELLANEOUS category = CAT_MISC /datum/crafting_recipe/paperwork @@ -287,6 +304,7 @@ time = 10 //Takes time for people to file and complete paper work! tools = list(/obj/item/pen) reqs = list(/obj/item/folder/paperwork = 1) + subcategory = CAT_MISCELLANEOUS category = CAT_MISC /datum/crafting_recipe/coconut_bong @@ -295,6 +313,7 @@ reqs = list(/obj/item/stack/sheet/mineral/bamboo = 2, /obj/item/reagent_containers/food/snacks/grown/coconut = 1) time = 70 + subcategory = CAT_MISCELLANEOUS category = CAT_MISC ////////////// @@ -374,6 +393,7 @@ //parts = list(/obj/item/storage/belt = 1 // ) time = 150 + subcategory = CAT_MISCELLANEOUS category = CAT_MISC always_availible = FALSE // Disabled til learned @@ -390,5 +410,6 @@ /obj/item/candle = 1 ) time = 100 + subcategory = CAT_MISCELLANEOUS category = CAT_MISC always_availible = FALSE // Disabled til learned From 03e873478cb773e4668c6eb92312f7ba296b1afc Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Mon, 20 Apr 2020 23:11:58 +0200 Subject: [PATCH 110/131] Fixing CE jump suit/skirt and accessory overlays. --- code/modules/clothing/under/_under.dm | 5 +++-- icons/mob/clothing/uniform_digi.dmi | Bin 262426 -> 262431 bytes icons/obj/clothing/uniforms.dmi | Bin 115556 -> 115557 bytes 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm index fe3aaf4bda..0d08b59be9 100644 --- a/code/modules/clothing/under/_under.dm +++ b/code/modules/clothing/under/_under.dm @@ -26,6 +26,8 @@ . += mutable_appearance('icons/effects/item_damage.dmi', "damageduniform") if(blood_DNA) . += mutable_appearance('icons/effects/blood.dmi', "uniformblood", color = blood_DNA_to_color()) + if(accessory_overlay) + . += accessory_overlay /obj/item/clothing/under/attackby(obj/item/I, mob/user, params) if((has_sensor == BROKEN_SENSORS) && istype(I, /obj/item/stack/cable_coil)) @@ -99,8 +101,7 @@ if((flags_inv & HIDEACCESSORY) || (A.flags_inv & HIDEACCESSORY)) return TRUE - var/accessory_color = attached_accessory.icon_state - accessory_overlay = mutable_appearance('icons/mob/clothing/accessories.dmi', "[accessory_color]") + accessory_overlay = mutable_appearance('icons/mob/clothing/accessories.dmi', "attached_accessory.icon_state") accessory_overlay.alpha = attached_accessory.alpha accessory_overlay.color = attached_accessory.color diff --git a/icons/mob/clothing/uniform_digi.dmi b/icons/mob/clothing/uniform_digi.dmi index 7fe37547e96404036937fe4530ce097e3465e7a1..7a638ef54ca7dffd71c91926ee977e07ddb76c04 100644 GIT binary patch delta 1202 zcmV;j1Wo&zf)JmA5RfDRnXx4p0e^hhObW2kuzJ&3vpDcfF|#rD7+9G=OB^D(2}AYB zMlrT`RLNC2sJ0#BEJn3$GD%V!DtZ)d@4|7ePTQKHhl4oas>_Ixkwhe>9K`{b&rd6)C8r>jF@1MrV>@m;vVT!~I7G~g z&21eZ$%CE%e?T#={SF&0&X%D-acVw^P0f`g_cIxJ zAUQ2XN~K);gIWSI?V#l>yMIpv=;8|=(M1=?oT9Nc({Tl(@M7bVJxII2ZelzcATYfM z+ICG_AprQht4=`d7J>luS~&phj|L75_}OTIK|fjHzF+{**AxR_N8{B4Y0#MiBz{i- zbgqN}(j_EX{{7bj8dxtbrA=<>I{;EmidvBR>Lmk3 zL~c18GA=5pnvMyFhuVPyTzmeT7MxCsR3wVT7Z1IZSfrC5NCC2=dGj3;ea%C z+qQCUaNy|<97(ou)*&z07Jn^_<7T?buO`r#`VSuI<69@ziI2s(-tLXMU>tmY(^k?phP) z`flgp?Art9eG5A3x=a31*L_EH)OFW_eEGC*0$)Du+JP^hb}gu;xvxf&xt(HN2XKy3 zKx3(C?h6~#$gIXw|4+LNCYyprq%H1@staw8yci)5AxDW3d461r06E|QQH3M|OFIPt z+VEQk7^|cq2!CycfQ?b02SPSME!+zTwqUSUEMT<^M5fA6y8ufPwl_5Fa>5|Fxb zj6k=3!;rkpD39&i*f1oe1zxa?Jyh?TD)O{rs>sRBlG|o6OGd0B$`~s61o47JY{QWE ztikkz>^aI9Dkkz7MXb&UeFVDp6P>1k+5^D!KP@Q%Nq?>*V`qTDl!+r(K;PJEzhpV6 zA!W}C8n{#$`#G#Yd*DJMYEMRqJ4sdl!y#b=uYlJsiXVZn&)3i^Fz-xOLM(E21|ik_yOs z2JZgD?2-GQB(|Z#Pb=oD6G=p3$x$3|`TVp(T5<|f8Pj)1Hn!unBOA4cLx01(*xc3u zl04`M@COv*+V8O8;%pfT6rVP9G-e>)J6ndbIprNLr$2Dp5Qn&MKd+CJ2nseZ8?+2@ zVHdRqhVV)mrO)nT&jjZo+a$<<6Pf3{XNqmaj%|z@UtZCxE`;0!+SFW0azB%i2a?iK zq*ThaKd2=j!wy=`vin4UE`Pq@5nXhF%qbdMGaXkj3NJP;*@LtT>?X#O0Rq#Dpl#Q* z6##(0yXpkQZXpOjuN4Ep{%GL9fS-*P81$1B?h6J0eN8a{b~Ii+kOrMOK;riVK<5e= zAYDSD<==ljpn>(`QrhHJ2?HS2q{uY}MXv8$lp?jcc9958zR5(?mMIq( zsT6S#oR(54kC zTxC*h)}V!eYH!03y?-n07Ly8S{e?uN2B2kW0rKUx#c`BFoYkqFuZ|{%1JcB8+se7I zfu}i;4=6~FVUAQ1A;r9-q*zIb-5R0*@P&aI0Lz1Qeuv5riwRH%@zWgDfUDb@zH$J{ z2;-@DniA#qGOO{_a~=z~V@EZf`ozAtwg;=mQ=j>%?h>B)sekTUdgiCPYfYT%yPb!# zZx5XJE$FE0F8N1Y_Z`tu*If(p<tRKkf3DYzi8YcDOUDF0?)JVuU<=93@8Nxp6H5M1O(a2iXL*ZZ9C%dcj(-fYmY(nJPnV0xU_`-p;U-!z5lwK`k1a+5bM?Q?m#By0r5 z3Rg@oSfro(zeyf7dyUi%D~nML#sr9DvObVy=*$McK;Ny*8qsfSRvoFwn^Qd~_K_*~ zCi4vFvw!C-sV|cl@)|~Sdv<3!SKxi?YNGEv8IroGdSlYg^1wOrwr%aN7%FRp&)w4+q;a0rs*`NbGi=unt~Uf$`T3 zV)*&sF!;Jl41abE@9y@%@AtqTUW4CupT9kH4-H?x-2My48!I^(i~#s!DQ1p$Y~ L1p>Fm1p`_8noT?F diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi index a485deb9add676a1cd29b5b5be973a922372d8b6..cea11f8a49cbe0cd35bd74752983ae945d46a6fa 100644 GIT binary patch delta 1590 zcmV-62Fdy4h6m+_2aqHIJCP+(0+B4Sc;o?p)F)jcC0pNll(XbQp>#u34^#wG%*WcD zCtz#8;*qVrpNoixn~Bs!Gy@8B*}w#B(QyeDq|L-;W;nYm1m=rVtVhLBd9y%5q_!+t zfNynX3fVZySqujIB^L@K24e-?nJMHgE@2#^n*slwq;R5ur7;-TJ2Eqd778G!@S10T zCZP75Cz=I_2R=5ubXO>h^_pMVc6{L=VeCdEW62~gYKH~RTvQTUkoF|?+W$;JAW$=# zMWxgut?nmBotuC%eTtcY6frpx3pG1-5=v`!6iijJnPPOKX#J>oK@o*tXf(mP@=+;_ zbI8_n$x-%%Bo~H!#Eiag6^uo;J?w0tul0)x zki_tFa#7JQILQE&88mvi}KuYXnX>Pws+vr zrqI8tm?fR3=zx;+Xg5HvGqU7~kiw0Mnd(lnC{$lw#6jKhEhA3dL)3oS)}s!81si>L zUVMU*(sdG`mp3Zc{Ta&zE$Iv$VOUR}fzW`(HcL8V=Z8 zGEN0;VknXbIvJ;ep|>t`XQJ<^zCZV4`TM$s7Vqm@G#gSj3Vgggv*QBT+$x#H5s=in z*h49X)j^s6i$=iv~zq%?#Wjy+#dyR`)<+$Dj@m*;UzTVn@qxkKb7Z*S+ ze)RBQ3nq~C;!$h7y72}jj!_hlem&07Dzcz2@#;3IO+wkCCf#RdK>B(q3F6oJBM^V` zs2WG_7smH%1{DAQdpTInHsKR|V!Yf@qHFJ+1(3dtT%de>mVoMho&13hum*>^W!(*@ zBZ@XGdoAc1@FV)RL~6``<0Ld$Z_o44SV0;is>z<|f$*L}w)k1Y#%^&jtT;$yI02(G zw;>yJ;ahFkGH-)B?%NxA)ZBY=jc)EmsZ7dLFGuX6)M%HUGWX0FBqNXOVB za4RYrWcEt2~mRvOS=T9{aYFEEpU~ZbZJte zkEKNKkiPy~98~6&0P4l!sSt2=`G$r!`;~9h2H0)?{`KqMfBN{#f9e%}9I3-RdT?=N zbgFJ}L`yXzB8Q$_aQcji~^mz$R)2CV`(MQT_WrNumhaXlIctRWoq}Mpt$W_>tknF^u(; z)Ki!x)JKzYQAvrls~h`<0^>R=mO)eQEH>_b$HN{D*<$+tbI-A5I@WJ>LHh3VsPpuua{2gJ%f0X9xlPy6FNPSpWb4 delta 1589 zcmV-52Fm&6h6m(^2aqHII*}z&0r%$&P*Y1aS7uP-3<8eB!v?NERDgy-jSIxv`_#+h1WcP zGXZzcd7@c>c;I8hOLv9BSikct+m0_BB#hmNWGtD)MeVS_nTtwd3(}sXe)m695D3)F zW>G2iNUQtFQRgP$nm)x$K#G_giG_+CI|-#VI|`;M*-SCIQM7(kyr77}FEpB9UHPaK z#=7RC$}j+BDn?>dhA$G(bx_%2V4lc-#?=WBbCaX&2}v#t`G^^P-zpf3Y=j5WIUvQEEIN6owF7R{dIEQJ!J zcjv_?C@Ebh0cv@pa^0V?T+ouv&=H2!^ce^ZSZuSTGe&Og98fa{&oJa5^`tQZpC{9iOu_N0Y_1s2YKY`~0U6%Y364iu@ht>VEnBd_A&)Kid@xAAc!bg=K zRpqFwp|p+>WN#w?uu*ux(Y@;o^MbGK(HGqBwx~6Zwl0Y8eO(Z~cI#1p{MO#Z1yD;L zwL92?2_(IE)Ecik-JrxVf&$X7$2eL=7W5@vb&=X6lr3t~eO3mfugyphzs?)J~ zIBLEyzPA@p{QvuLu$*neC-|gz=}n?*?-d1*zKvR-e0-LG>VBR0fe)?*hq`6k4W}ZC zHY|I+$Ti?c^lgdMn8!(fXtLg(-=VRBG)7dDJ;MXxJ#}pHvxbe`;$qmPAd%q&jLh7I zYtV&ncfyuA8{Bc$nLcLwU!DE$NJY`P~`DMXtyk6tK;R83WzYEl#piAx+s95;* z%Rhhr>E~a*eEN8Q`tkQKpFf;_`}y(L)7LMLpMR@+N^~1K#JuH2%6IQ@v|bCop+7(< zG{|`cK}~0Iu%=jwdnHj*&7w^jfW|^+hHogU?+$|s?=YtEdGYnRt1AdAgzyFgYilB{l7HOrLi6bzwvSYxH3nz|Ytf!=& z!YrXal9Y=|N~~So*f$gy(^0VunsR5cF&7of9XKnp!|?EiScbl5ep;v$*0_`bxkD~F z$KEY$2>31W%-a+l=amVWen_O`*@{7HzgPY{C*#zA!dp_{=y`*q62b6K7zkK>HDsgObal=dxeqUc7uCYPr+~SsKAKM n%gTQj7)ZW7ef<34^x@Ov{r>>KOa=eElrAHKXb87x2m$@N`7# Date: Mon, 20 Apr 2020 17:26:22 -0400 Subject: [PATCH 111/131] ***ahhhh*** --- code/datums/components/crafting/craft.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/components/crafting/craft.dm b/code/datums/components/crafting/craft.dm index e0bf084ac2..56de6eff23 100644 --- a/code/datums/components/crafting/craft.dm +++ b/code/datums/components/crafting/craft.dm @@ -24,7 +24,7 @@ ), CAT_ROBOT = CAT_NONE, CAT_MISC = list( - CAT_MISC, + CAT_MISCELLANEOUS, CAT_TOOL, CAT_FURNITURE, ), From 75ef1c3731408c3d832720a3e1d04c56024485d7 Mon Sep 17 00:00:00 2001 From: Putnam Date: Mon, 20 Apr 2020 14:39:43 -0700 Subject: [PATCH 112/131] Makes ling kill objectives kill-once --- code/modules/antagonists/changeling/changeling.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/changeling/changeling.dm b/code/modules/antagonists/changeling/changeling.dm index 967715ce2f..336d21c974 100644 --- a/code/modules/antagonists/changeling/changeling.dm +++ b/code/modules/antagonists/changeling/changeling.dm @@ -430,7 +430,7 @@ objectives += destroy_objective else if(prob(70)) - var/datum/objective/assassinate/kill_objective = new + var/datum/objective/assassinate/once/kill_objective = new kill_objective.owner = owner if(team_mode) //No backstabbing while in a team kill_objective.find_target_by_role(role = ROLE_CHANGELING, role_type = 1, invert = 1) From 58cb5e391ef485ff4f07a74d48a62cb9bca6ea7d Mon Sep 17 00:00:00 2001 From: TrilbySpaceClone Date: Mon, 20 Apr 2020 18:22:13 -0400 Subject: [PATCH 113/131] *scream* --- .../crafting/recipes/recipes_misc.dm | 119 ++++++++++++------ .../bloodsucker/objects/bloodsucker_coffin.dm | 36 ------ 2 files changed, 79 insertions(+), 76 deletions(-) diff --git a/code/datums/components/crafting/recipes/recipes_misc.dm b/code/datums/components/crafting/recipes/recipes_misc.dm index e9990d5620..1a40787463 100644 --- a/code/datums/components/crafting/recipes/recipes_misc.dm +++ b/code/datums/components/crafting/recipes/recipes_misc.dm @@ -32,6 +32,85 @@ subcategory = CAT_MISCELLANEOUS category = CAT_MISC +// Blood Sucker stuff // +/datum/crafting_recipe/bloodsucker/blackcoffin + name = "Black Coffin" + result = /obj/structure/closet/crate/coffin/blackcoffin + tools = list(/obj/item/weldingtool, + /obj/item/screwdriver) + reqs = list(/obj/item/stack/sheet/cloth = 1, + /obj/item/stack/sheet/mineral/wood = 5, + /obj/item/stack/sheet/metal = 1) + ///obj/item/stack/packageWrap = 8, + ///obj/item/pipe = 2) + time = 150 + subcategory = CAT_FURNITURE + category = CAT_MISC + always_availible = TRUE + +/datum/crafting_recipe/bloodsucker/meatcoffin + name = "Meat Coffin" + result =/obj/structure/closet/crate/coffin/meatcoffin + tools = list(/obj/item/kitchen/knife, + /obj/item/kitchen/rollingpin) + reqs = list(/obj/item/reagent_containers/food/snacks/meat/slab = 5, + /obj/item/restraints/handcuffs/cable = 1) + time = 150 + subcategory = CAT_FURNITURE + category = CAT_MISC + always_availible = TRUE + +/datum/crafting_recipe/bloodsucker/metalcoffin + name = "Metal Coffin" + result =/obj/structure/closet/crate/coffin/metalcoffin + tools = list(/obj/item/weldingtool, + /obj/item/screwdriver) + reqs = list(/obj/item/stack/sheet/metal = 5) + time = 100 + subcategory = CAT_FURNITURE + category = CAT_MISC + always_availible = TRUE + +/datum/crafting_recipe/bloodsucker/vassalrack + name = "Persuasion Rack" + //desc = "For converting crewmembers into loyal Vassals." + result = /obj/structure/bloodsucker/vassalrack + tools = list(/obj/item/weldingtool, + //obj/item/screwdriver, + /obj/item/wrench + ) + reqs = list(/obj/item/stack/sheet/mineral/wood = 3, + /obj/item/stack/sheet/metal = 2, + /obj/item/restraints/handcuffs/cable = 2, + //obj/item/storage/belt = 1, + //obj/item/stack/sheet/animalhide = 1, + //obj/item/stack/sheet/leather = 1, + //obj/item/stack/sheet/plasteel = 5 + ) + //parts = list(/obj/item/storage/belt = 1 + // ) + time = 150 + subcategory = CAT_MISCELLANEOUS + category = CAT_MISC + always_availible = FALSE // Disabled til learned + + +/datum/crafting_recipe/bloodsucker/candelabrum + name = "Candelabrum" + //desc = "For converting crewmembers into loyal Vassals." + result = /obj/structure/bloodsucker/candelabrum + tools = list(/obj/item/weldingtool, + /obj/item/wrench + ) + reqs = list(/obj/item/stack/sheet/metal = 3, + /obj/item/stack/rods = 1, + /obj/item/candle = 1 + ) + time = 100 + subcategory = CAT_MISCELLANEOUS + category = CAT_MISC + always_availible = FALSE // Disabled til learned + /////////////////// //Tools & Storage// /////////////////// @@ -373,43 +452,3 @@ /obj/item/clothing/under/rank/security/officer = 1) subcategory = CAT_FURNITURE category = CAT_MISC - -/datum/crafting_recipe/bloodsucker/vassalrack - name = "Persuasion Rack" - //desc = "For converting crewmembers into loyal Vassals." - result = /obj/structure/bloodsucker/vassalrack - tools = list(/obj/item/weldingtool, - //obj/item/screwdriver, - /obj/item/wrench - ) - reqs = list(/obj/item/stack/sheet/mineral/wood = 3, - /obj/item/stack/sheet/metal = 2, - /obj/item/restraints/handcuffs/cable = 2, - //obj/item/storage/belt = 1, - //obj/item/stack/sheet/animalhide = 1, - //obj/item/stack/sheet/leather = 1, - //obj/item/stack/sheet/plasteel = 5 - ) - //parts = list(/obj/item/storage/belt = 1 - // ) - time = 150 - subcategory = CAT_MISCELLANEOUS - category = CAT_MISC - always_availible = FALSE // Disabled til learned - - -/datum/crafting_recipe/bloodsucker/candelabrum - name = "Candelabrum" - //desc = "For converting crewmembers into loyal Vassals." - result = /obj/structure/bloodsucker/candelabrum - tools = list(/obj/item/weldingtool, - /obj/item/wrench - ) - reqs = list(/obj/item/stack/sheet/metal = 3, - /obj/item/stack/rods = 1, - /obj/item/candle = 1 - ) - time = 100 - subcategory = CAT_MISCELLANEOUS - category = CAT_MISC - always_availible = FALSE // Disabled til learned diff --git a/code/modules/antagonists/bloodsucker/objects/bloodsucker_coffin.dm b/code/modules/antagonists/bloodsucker/objects/bloodsucker_coffin.dm index debeee3775..e85d3af5a0 100644 --- a/code/modules/antagonists/bloodsucker/objects/bloodsucker_coffin.dm +++ b/code/modules/antagonists/bloodsucker/objects/bloodsucker_coffin.dm @@ -200,39 +200,3 @@ to_chat(resident, "You fix the mechanism and lock it.") broken = FALSE locked = TRUE - -// Look up recipes.dm OR pneumaticCannon.dm -/datum/crafting_recipe/bloodsucker/blackcoffin - name = "Black Coffin" - result = /obj/structure/closet/crate/coffin/blackcoffin - tools = list(/obj/item/weldingtool, - /obj/item/screwdriver) - reqs = list(/obj/item/stack/sheet/cloth = 1, - /obj/item/stack/sheet/mineral/wood = 5, - /obj/item/stack/sheet/metal = 1) - ///obj/item/stack/packageWrap = 8, - ///obj/item/pipe = 2) - time = 150 - category = CAT_MISC - always_availible = TRUE - -/datum/crafting_recipe/bloodsucker/meatcoffin - name = "Meat Coffin" - result =/obj/structure/closet/crate/coffin/meatcoffin - tools = list(/obj/item/kitchen/knife, - /obj/item/kitchen/rollingpin) - reqs = list(/obj/item/reagent_containers/food/snacks/meat/slab = 5, - /obj/item/restraints/handcuffs/cable = 1) - time = 150 - category = CAT_MISC - always_availible = TRUE - -/datum/crafting_recipe/bloodsucker/metalcoffin - name = "Metal Coffin" - result =/obj/structure/closet/crate/coffin/metalcoffin - tools = list(/obj/item/weldingtool, - /obj/item/screwdriver) - reqs = list(/obj/item/stack/sheet/metal = 5) - time = 100 - category = CAT_MISC - always_availible = TRUE From c3fc1332824d24a91178e0f74f1fcd6785e7f2c3 Mon Sep 17 00:00:00 2001 From: TrilbySpaceClone Date: Mon, 20 Apr 2020 18:28:57 -0400 Subject: [PATCH 114/131] *crys* --- code/datums/components/crafting/recipes/recipes_misc.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/datums/components/crafting/recipes/recipes_misc.dm b/code/datums/components/crafting/recipes/recipes_misc.dm index 1a40787463..cf0e1bdec9 100644 --- a/code/datums/components/crafting/recipes/recipes_misc.dm +++ b/code/datums/components/crafting/recipes/recipes_misc.dm @@ -44,7 +44,7 @@ ///obj/item/stack/packageWrap = 8, ///obj/item/pipe = 2) time = 150 - subcategory = CAT_FURNITURE + subcategory = CAT_FURNITURE category = CAT_MISC always_availible = TRUE @@ -56,7 +56,7 @@ reqs = list(/obj/item/reagent_containers/food/snacks/meat/slab = 5, /obj/item/restraints/handcuffs/cable = 1) time = 150 - subcategory = CAT_FURNITURE + subcategory = CAT_FURNITURE category = CAT_MISC always_availible = TRUE @@ -67,7 +67,7 @@ /obj/item/screwdriver) reqs = list(/obj/item/stack/sheet/metal = 5) time = 100 - subcategory = CAT_FURNITURE + subcategory = CAT_FURNITURE category = CAT_MISC always_availible = TRUE From 6dd89ec1e0339b4eaca18264d944cae8ab4addde Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Mon, 20 Apr 2020 21:50:25 -0400 Subject: [PATCH 115/131] Update pockets.dm --- code/datums/components/storage/concrete/pockets.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/datums/components/storage/concrete/pockets.dm b/code/datums/components/storage/concrete/pockets.dm index 4d3ecc8d17..851885b2ed 100644 --- a/code/datums/components/storage/concrete/pockets.dm +++ b/code/datums/components/storage/concrete/pockets.dm @@ -56,7 +56,8 @@ /obj/item/scalpel, /obj/item/reagent_containers/syringe, /obj/item/dnainjector, /obj/item/reagent_containers/hypospray/medipen, /obj/item/reagent_containers/dropper, /obj/item/implanter, /obj/item/screwdriver, /obj/item/weldingtool/mini, - /obj/item/firing_pin, /obj/item/gun/ballistic/automatic/pistol, /obj/item/gun/ballistic/automatic/magrifle/pistol + /obj/item/firing_pin, /obj/item/gun/ballistic/automatic/pistol, /obj/item/gun/ballistic/automatic/magrifle/pistol, + /obj/item/toy/plush/snakeplushie )) /datum/component/storage/concrete/pockets/shoes/clown/Initialize() From 685546551c761112c6a4fc5117b4821023901dbb Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 20 Apr 2020 20:26:50 -0700 Subject: [PATCH 116/131] Update SDQL_2_wrappers.dm --- code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm b/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm index 24149e7e6c..b0cc4fdfa9 100644 --- a/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm +++ b/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm @@ -4,7 +4,7 @@ return abs(A) /proc/_animate(atom/A, set_vars, time = 10, loop = 1, easing = LINEAR_EASING, flags = null) - var/mutable_appearance/MA = new() + var/mutable_appearance/MA = new(A) for(var/v in set_vars) MA.vars[v] = set_vars[v] animate(A, appearance = MA, time, loop, easing, flags) @@ -33,6 +33,9 @@ /proc/_cos(X) return cos(X) +/proc/_filter(type, ...) + return filter(arglist(args.Copy())) + /proc/_get_dir(Loc1, Loc2) return get_dir(Loc1, Loc2) @@ -234,3 +237,4 @@ for(var/turf/T in v) . += T return pick(.) +t From 055606b81bf489dd4926c8f445cc0e0d56047d46 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 20 Apr 2020 20:27:18 -0700 Subject: [PATCH 117/131] Revert "Update SDQL_2_wrappers.dm" This reverts commit 685546551c761112c6a4fc5117b4821023901dbb. --- code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm b/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm index b0cc4fdfa9..24149e7e6c 100644 --- a/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm +++ b/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm @@ -4,7 +4,7 @@ return abs(A) /proc/_animate(atom/A, set_vars, time = 10, loop = 1, easing = LINEAR_EASING, flags = null) - var/mutable_appearance/MA = new(A) + var/mutable_appearance/MA = new() for(var/v in set_vars) MA.vars[v] = set_vars[v] animate(A, appearance = MA, time, loop, easing, flags) @@ -33,9 +33,6 @@ /proc/_cos(X) return cos(X) -/proc/_filter(type, ...) - return filter(arglist(args.Copy())) - /proc/_get_dir(Loc1, Loc2) return get_dir(Loc1, Loc2) @@ -237,4 +234,3 @@ for(var/turf/T in v) . += T return pick(.) -t From a475355c9307dcb5f8ef205bbc3d289dcc6ddf6e Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Tue, 21 Apr 2020 15:28:12 +0200 Subject: [PATCH 118/131] Update humanform.dm --- code/modules/antagonists/changeling/powers/humanform.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/changeling/powers/humanform.dm b/code/modules/antagonists/changeling/powers/humanform.dm index a6f7b0b6e9..91119e1c06 100644 --- a/code/modules/antagonists/changeling/powers/humanform.dm +++ b/code/modules/antagonists/changeling/powers/humanform.dm @@ -27,7 +27,7 @@ changeling.purchasedpowers -= src - var/newmob = user.humanize(TR_KEEPITEMS | TR_KEEPIMPLANTS | TR_KEEPORGANS | TR_KEEPDAMAGE | TR_KEEPVIRUS) + var/newmob = user.humanize(TR_KEEPITEMS | TR_KEEPIMPLANTS | TR_KEEPORGANS | TR_KEEPDAMAGE | TR_KEEPVIRUS | TR_KEEPSE) changeling_transform(newmob, chosen_prof) return TRUE From 824904844ce5ee354a7f81dc723599041f0962ec Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Tue, 21 Apr 2020 19:51:44 +0200 Subject: [PATCH 119/131] Componentized for sanity. --- code/datums/components/shielded.dm | 191 +++++++++++++++++ code/datums/elements/shielded.dm | 210 ------------------- code/modules/clothing/spacesuits/hardsuit.dm | 2 +- code/modules/clothing/suits/wiz_robe.dm | 6 +- tgstation.dme | 2 +- 5 files changed, 196 insertions(+), 215 deletions(-) create mode 100644 code/datums/components/shielded.dm delete mode 100644 code/datums/elements/shielded.dm diff --git a/code/datums/components/shielded.dm b/code/datums/components/shielded.dm new file mode 100644 index 0000000000..405e7fc064 --- /dev/null +++ b/code/datums/components/shielded.dm @@ -0,0 +1,191 @@ +/datum/component/shielded + dupe_mode = COMPONENT_DUPE_ALLOWED + can_transfer = TRUE + var/charges = 3 + var/max_charges = 3 + var/recharge_delay = 20 SECONDS //How long after we've been attacked before we can start recharging. + var/recharge_rate = 1 //How quickly the shield recharges once it starts charging. Can be a decimal. set to zero to disable. + var/last_time_used //Last time the shield attempted to stop an attack. + var/accepted_slots + var/shield_state = "shield-old" //the state of the shield overlay. + var/broken_state //null by default. + var/recharge_sound = 'sound/magic/charge.ogg' + var/recharge_end_sound = 'sound/machines/ding.ogg' + var/mob/living/holder //who is currently benefiting from the shield. + var/dissipating = FALSE //Is this shield meant to dissipate over time instead of recharging. + var/del_on_overload = FALSE //will delete itself once it has no charges left. + +/datum/component/shielded/Initialize(current, max = 3, delay = 20 SECONDS, rate = 1, slots, state = "shield-old", broken, \ + sound = 'sound/magic/charge.ogg', end_sound = 'sound/machines/ding.ogg', diss = FALSE, del_overload = FALSE) + var/isitem = isitem(parent) + if(!isitem && !isliving(parent)) + return COMPONENT_INCOMPATIBLE + max_charges = max + charges = !isnull(current) ? current : max_charges + recharge_delay = delay + recharge_rate = rate + accepted_slots = slots + shield_state = state + broken_state = broken + recharge_sound = sound + recharge_end_sound = end_sound + dissipating = diss + del_on_overload = del_overload + if(dissipating && recharge_rate > 0) + recharge_rate = -recharge_rate + if(recharge_delay && recharge_rate && (charges < max_charges || dissipating)) + START_PROCESSING(SSdcs, src) + +/datum/component/shielded/RegisterWithParent() + . = ..() + if(isitem(parent)) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/on_equip) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/on_drop) + else //it's a mob + var/mob/living/L = parent + RegisterSignal(L, COMSIG_LIVING_RUN_BLOCK, .proc/living_block) + holder = L + var/to_add = charges >= 1 ? shield_state : broken_state + if(to_add) + var/mutable_appearance/M = mutable_appearance('icons/effects/effects.dmi', to_add) + M.layer = (L.layer > MOB_LAYER ? L.layer : MOB_LAYER) + 0.01 + holder.add_overlay(M, TRUE) + +/datum/component/shielded/UnregisterFromParent() + . = ..() + if(parent != holder) //not a mob, thus an item. + UnregisterSignal(parent, list(COMSIG_ITEM_RUN_BLOCK,COMSIG_ITEM_CHECK_BLOCK,COMSIG_ITEM_EQUIPPED,COMSIG_ITEM_DROPPED)) + if(holder) + UnregisterSignal(holder, list(COMSIG_LIVING_RUN_BLOCK, COMSIG_LIVING_GET_BLOCKING_ITEMS)) + var/to_remove = charges >= 1 ? shield_state : broken_state + if(to_remove) + holder.cut_overlay(mutable_appearance('icons/effects/effects.dmi', to_remove), TRUE) + holder = null + +/datum/component/shielded/process() + if(world.time < last_time_used && !dissipating) + return + var/old_charges = charges + charges = CLAMP(charges + recharge_rate, 0, max_charges) + if(round(old_charges) >= round(charges)) //only send outputs if it effectively gained at least one charge + return + var/sound = recharge_sound + if(dissipating ? !charges : charges == max_charges ) + STOP_PROCESSING(SSdcs, src) + sound = recharge_end_sound + if(parent && sound) + playsound(parent, sound, 50, 1) + if(charges < 1 && del_on_overload) + if(holder) + holder.visible_message("[holder]'s shield overloads!") + qdel(src) + return + if(holder && (old_charges < 1 && charges >= 1) || (!del_on_overload && old_charges >= 1 && charges < 1)) + update_shield_overlay(charges < 1) + +/datum/component/shielded/proc/adjust_charges(amount) + var/old_charges = charges + charges = CLAMP(charges + amount, 0, max_charges) + if(recharge_delay && recharge_rate && (dissipating ? !charges : charges == max_charges)) + STOP_PROCESSING(SSdcs, src) + if(charges < 1 && del_on_overload) + if(holder) + holder.visible_message("[holder]'s shield overloads!") + qdel(src) + return + if(holder && (old_charges < 1 && charges >= 1) || (!del_on_overload && old_charges >= 1 && charges < 1)) + update_shield_overlay(charges < 1) + +/datum/component/shielded/proc/update_shield_overlay(broken) + if(!holder) + return + var/to_remove = broken ? shield_state : broken_state + var/to_add = broken ? broken_state : shield_state + if(to_remove) + holder.cut_overlay(mutable_appearance('icons/effects/effects.dmi', to_remove), TRUE) + if(to_add) + var/mutable_appearance/M = mutable_appearance('icons/effects/effects.dmi', to_add) + M.layer = (holder.layer > MOB_LAYER ? holder.layer : MOB_LAYER) + 0.01 + holder.add_overlay(M, TRUE) + +/datum/component/shielded/proc/on_equip(obj/item/source, mob/living/equipper, slot) + if(!(accepted_slots & slotdefine2slotbit(slot))) + return + holder = equipper + RegisterSignal(parent, COMSIG_ITEM_RUN_BLOCK, .proc/on_run_block) + RegisterSignal(parent, COMSIG_ITEM_CHECK_BLOCK, .proc/on_check_block) + RegisterSignal(equipper, COMSIG_LIVING_GET_BLOCKING_ITEMS, .proc/include_shield) + var/to_add = charges >= 1 ? shield_state : broken_state + if(to_add) + var/mutable_appearance/M = mutable_appearance('icons/effects/effects.dmi', to_add) + M.layer = (holder.layer > MOB_LAYER ? holder.layer : MOB_LAYER) + 0.01 + equipper.add_overlay(M, TRUE) + +/datum/component/shielded/proc/on_drop(obj/item/source, mob/dropper) + if(holder == dropper) + UnregisterSignal(holder, COMSIG_LIVING_GET_BLOCKING_ITEMS) + UnregisterSignal(parent, list(COMSIG_ITEM_RUN_BLOCK, COMSIG_ITEM_CHECK_BLOCK)) + var/to_remove = charges >= 1 ? shield_state : broken_state + if(to_remove) + holder.cut_overlay(mutable_appearance('icons/effects/effects.dmi', to_remove), TRUE) + holder = null + +/datum/component/shielded/proc/include_shield(mob/source, list/items) + items += parent + +/datum/component/shielded/proc/on_run_block(obj/item/source, mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) + if(block_return[BLOCK_RETURN_NORMAL_BLOCK_CHANCE] >= 100) //already blocked by another shielded item, don't do anything. + block_return[BLOCK_RETURN_BLOCK_CAPACITY] += round(charges) + return BLOCK_NONE + last_time_used = world.time + recharge_delay + if(charges < 1) + return BLOCK_NONE + var/datum/effect_system/spark_spread/s = new + s.set_up(2, 1, source) + s.start() + owner.visible_message("[holder]'s shields deflect [attack_text] in a shower of sparks!") + charges-- + var/rounded_charges = round(charges) + if(recharge_delay && recharge_rate && !dissipating) + START_PROCESSING(SSdcs, src) + if(charges < 1) + owner.visible_message("[holder]'s shield overloads!") + if(del_on_overload) + qdel(src) + else + update_shield_overlay(TRUE) + block_return[BLOCK_RETURN_NORMAL_BLOCK_CHANCE] = 100 + block_return[BLOCK_RETURN_BLOCK_CAPACITY] += rounded_charges + return BLOCK_SUCCESS | BLOCK_PHYSICAL_EXTERNAL + +/datum/component/shielded/proc/on_check_block(obj/item/source, mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) + if(charges >= 1) + block_return[BLOCK_RETURN_NORMAL_BLOCK_CHANCE] = 100 + block_return[BLOCK_RETURN_BLOCK_CAPACITY] += round(charges) + +/datum/component/shielded/proc/living_block(mob/living/source, real_attack, object, damage, attack_text, attack_type, armour_penetration, attacker, def_zone, return_list) + if(!real_attack) + if(charges >= 1) + return_list[BLOCK_RETURN_NORMAL_BLOCK_CHANCE] = 100 + return_list[BLOCK_RETURN_BLOCK_CAPACITY] = round(charges) + return + last_time_used = world.time + recharge_delay + if(charges < 1) + return BLOCK_NONE + var/datum/effect_system/spark_spread/s = new + s.set_up(2, 1, source) + s.start() + source.visible_message("[source]'s shields deflect [attack_text] in a shower of sparks!") + charges-- + var/rounded_charges = round(charges) + if(recharge_delay && recharge_rate && !dissipating) + START_PROCESSING(SSdcs, src) + if(charges < 1) + source.visible_message("[source]'s shield overloads!") + if(del_on_overload) + qdel(src) + else + update_shield_overlay(TRUE) + return_list[BLOCK_RETURN_NORMAL_BLOCK_CHANCE] = 100 + return_list[BLOCK_RETURN_BLOCK_CAPACITY] += rounded_charges + return BLOCK_SUCCESS | BLOCK_PHYSICAL_EXTERNAL diff --git a/code/datums/elements/shielded.dm b/code/datums/elements/shielded.dm deleted file mode 100644 index b9c8c094f6..0000000000 --- a/code/datums/elements/shielded.dm +++ /dev/null @@ -1,210 +0,0 @@ -/datum/element/shielded - element_flags = ELEMENT_BESPOKE|ELEMENT_DETACH - id_arg_index = 3 - var/max_charges = 3 - var/recharge_delay = 20 SECONDS //How long after we've been shot before we can start recharging. - var/recharge_rate = 1 //How quickly the shield recharges once it starts charging. Can be a decimal. set to zero to disable. - var/accepted_slots - var/shield_state = "shield-old" //the state of the shield overlay. - var/broken_state //null - var/recharge_sound = 'sound/magic/charge.ogg' - var/recharge_end_sound = 'sound/machines/ding.ogg' - var/list/charges_per_atom = list() //How many charges each atom has. - var/list/last_use_per_atom = list() //Last time an atom has deflected (or failed due to no charges) an attack. - var/list/overlay_per_mob = list() //List of mutable overlays per atom. - var/list/shields_per_mob = list() //number of shields this guy is on, damn. - -/datum/element/shielded/Attach(datum/target, current, _max = 3, _delay = 20 SECONDS, _rate = 1, _slots, _state = "shield-old", _broken, _sound = 'sound/magic/charge.ogg', _end_sound = 'sound/machines/ding.ogg') - . = ..() - var/isitem = isitem(target) - if(. == ELEMENT_INCOMPATIBLE || (!isitem && !isliving(target))) - return ELEMENT_INCOMPATIBLE - max_charges = _max - recharge_delay = _delay - recharge_rate = _rate - accepted_slots = _slots - shield_state = _state - broken_state = _broken - recharge_sound = 'sound/magic/charge.ogg' - recharge_end_sound = 'sound/machines/ding.ogg' - if(isitem) - RegisterSignal(target, COMSIG_ITEM_RUN_BLOCK, .proc/on_run_block) - RegisterSignal(target, COMSIG_ITEM_CHECK_BLOCK, .proc/on_check_block) - RegisterSignal(target, COMSIG_ITEM_EQUIPPED, .proc/on_equip) - RegisterSignal(target, COMSIG_ITEM_DROPPED, .proc/on_drop) - else - RegisterSignal(target, COMSIG_LIVING_RUN_BLOCK, .proc/living_block) - var/prior_shields = shields_per_mob[target] - if(prior_shields) - if(!islist(prior_shields)) - shields_per_mob[target] = list(prior_shields, target) - else - prior_shields += target - else - var/mob/living/L = target - var/mutable_appearance/M = mutable_appearance('icons/effects/effects.dmi', shield_state, MOB_LAYER + 0.01) - overlay_per_mob[L] = M - L.add_overlay(M, TRUE) - shields_per_mob[L] = L - charges_per_atom[target] = !isnull(current) ? current : max_charges - last_use_per_atom[target] = 0 - if(recharge_delay) - START_PROCESSING(SSdcs, src) - -/datum/element/shielded/Detach(atom/target) - var/mob/living/L - if(isitem(target)) - UnregisterSignal(target, list(COMSIG_ITEM_RUN_BLOCK,COMSIG_ITEM_CHECK_BLOCK,COMSIG_ITEM_EQUIPPED,COMSIG_ITEM_DROPPED)) - L = isliving(target.loc) ? target.loc : null - else - UnregisterSignal(target, COMSIG_LIVING_RUN_BLOCK) - L = src - if(L) - var/list/shields = shields_per_mob[L] - if(!shields) - return ..() - if(shields == target) //nothing left. - shields_per_mob -= L - var/mutable_appearance/M = overlay_per_mob[L] - L.cut_overlay(M, TRUE) - overlay_per_mob -= L - UnregisterSignal(target, COMSIG_LIVING_GET_BLOCKING_ITEMS) - else //more layers of shielding. - shields -= target - if(length(shields) == 1) - shields_per_mob[L] = shields[1] - charges_per_atom -= target - last_use_per_atom -= target - if(recharge_delay && !length(charges_per_atom)) //nothing left to process. - STOP_PROCESSING(SSdcs, src) - return ..() - -/datum/element/shielded/process() - var/list/checked = list() - for(var/i in last_use_per_atom) - var/atom/movable/A = i - recharge(A, recharge_rate, checked) - -/datum/element/shielded/proc/recharge(atom/movable/A, amount, list/checked = list(), forced = FALSE) - var/old_charges = charges_per_atom[A] - if(old_charges >= max_charges || (!forced && world.time < last_use_per_atom[A])) - return - var/new_charges = CLAMP(old_charges + recharge_rate, 0, max_charges) - charges_per_atom[A] = new_charges - if(round(old_charges) >= round(new_charges)) //only send outputs if it effectively gained at least one charge - return - var/mob/living/L - var/skip_in = FALSE - if(isitem(A)) - L = isliving(A.loc) ? A.loc : null - else - L = A - skip_in = TRUE - if(L && checked[L]) - return - playsound(A, recharge_sound, 50, 1) - if(new_charges == max_charges) - playsound(A, recharge_sound, 50, 1) - if(L && (skip_in || (A in shields_per_mob[L]))) - var/mutable_appearance/M = overlay_per_mob[L] - M.icon_state = shield_state - checked[L] = TRUE - -/datum/element/shielded/proc/on_equip(obj/item/source, mob/equipper, slot) - if(!(accepted_slots & slotdefine2slotbit(slot))) - return - var/list/shields = shields_per_mob[equipper] - if(!shields) //They have none - RegisterSignal(equipper, COMSIG_LIVING_GET_BLOCKING_ITEMS, .proc/get_shields) - shields_per_mob[equipper] = source - var/mutable_appearance/M = mutable_appearance('icons/effects/effects.dmi', charges_per_atom[source] ? shield_state : broken_state, MOB_LAYER + 0.01) - overlay_per_mob[equipper] = M - equipper.add_overlay(M, TRUE) - else if(!islist(shields)) //They have one - if(shields == equipper) - RegisterSignal(equipper, COMSIG_LIVING_GET_BLOCKING_ITEMS, .proc/get_shields) - shields_per_mob[equipper] = list(shields, source) - else //They have more. - shields += source - -/datum/element/shielded/proc/on_drop(obj/item/source, mob/dropper) - var/list/shields = shields_per_mob[dropper] - if(!shields) - return - if(shields == source) - UnregisterSignal(dropper, COMSIG_LIVING_GET_BLOCKING_ITEMS) - var/mutable_appearance/M = overlay_per_mob[dropper] - dropper.cut_overlay(M, TRUE) - overlay_per_mob -= dropper - shields_per_mob -= dropper - else - shields -= source - if(length(shields) == 1) - shields_per_mob[dropper] = shields[1] - -/datum/element/shielded/proc/get_shields(mob/source, list/items) - items += shields_per_mob[source] - -/datum/element/shielded/proc/on_run_block(obj/item/source, mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) - if(block_return[BLOCK_RETURN_NORMAL_BLOCK_CHANCE] >= 100) //already blocked by another shielded item, don't do anything. - block_return[BLOCK_RETURN_BLOCK_CAPACITY] += round(charges_per_atom[source]) - return BLOCK_NONE - last_use_per_atom[source] = world.time + recharge_delay - if(charges_per_atom[source] < 1) - return BLOCK_NONE - var/datum/effect_system/spark_spread/s = new - s.set_up(2, 1, source) - s.start() - owner.visible_message("[owner]'s shields deflect [attack_text] in a shower of sparks!") - var/charges_left = --charges_per_atom[source] - if(charges_left < 1) - var/list/shields = shields_per_mob[owner] - var/vis_change = TRUE - if(istype(shields)) - for(var/A in shields) - if(charges_per_atom >= 1) - vis_change = FALSE - break - owner.visible_message("[owner]'s shield overloads!") - if(vis_change) - var/mutable_appearance/M = overlay_per_mob[owner] - M.icon_state = broken_state - block_return[BLOCK_RETURN_NORMAL_BLOCK_CHANCE] = 100 - block_return[BLOCK_RETURN_BLOCK_CAPACITY] += charges_left - return BLOCK_SUCCESS | BLOCK_PHYSICAL_EXTERNAL //it's an energy field surrounding you after all. - -/datum/element/shielded/proc/on_check_block(obj/item/source, mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) - if(charges_per_atom[source] < 1) - return - block_return[BLOCK_RETURN_NORMAL_BLOCK_CHANCE] = 100 - block_return[BLOCK_RETURN_BLOCK_CAPACITY] += round(charges_per_atom[source]) - -/datum/element/shielded/proc/living_block(mob/living/source, real_attack, object, damage, attack_text, attack_type, armour_penetration, attacker, def_zone, return_list) - if(!real_attack) - if(charges_per_atom[source] >= 1) - return_list[BLOCK_RETURN_NORMAL_BLOCK_CHANCE] = 100 - return_list[BLOCK_RETURN_BLOCK_CAPACITY] = round(charges_per_atom[source]) - return - last_use_per_atom[source] = world.time + recharge_delay - if(charges_per_atom[source] < 1) - return BLOCK_NONE - var/datum/effect_system/spark_spread/s = new - s.set_up(2, 1, source) - s.start() - source.visible_message("[source]'s shields deflect [attack_text] in a shower of sparks!") - var/charges_left = --charges_per_atom[source] - if(charges_left < 1) - var/list/shields = shields_per_mob[source] - var/vis_change = TRUE - if(istype(shields)) - for(var/A in shields) - if(charges_per_atom >= 1) - vis_change = FALSE - break - source.visible_message("[source]'s shield overloads!") - if(vis_change) - var/mutable_appearance/M = overlay_per_mob[source] - M.icon_state = broken_state - return_list[BLOCK_RETURN_NORMAL_BLOCK_CHANCE] = 100 - return_list[BLOCK_RETURN_BLOCK_CAPACITY] += charges_left - return BLOCK_SUCCESS | BLOCK_PHYSICAL_EXTERNAL diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 1b2d24e36a..2fe3f3cbf6 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -761,7 +761,7 @@ /obj/item/clothing/suit/space/hardsuit/shielded/ComponentInitialize() . = ..() - AddElement(/datum/element/shielded, current_charges, max_charges, recharge_delay, recharge_rate, ITEM_SLOT_OCLOTHING, shield_state) + AddComponent(/datum/component/shielded, current_charges, max_charges, recharge_delay, recharge_rate, ITEM_SLOT_OCLOTHING, shield_state) /obj/item/clothing/head/helmet/space/hardsuit/shielded resistance_flags = FIRE_PROOF | ACID_PROOF diff --git a/code/modules/clothing/suits/wiz_robe.dm b/code/modules/clothing/suits/wiz_robe.dm index 6c61cf1255..dabbaabb80 100644 --- a/code/modules/clothing/suits/wiz_robe.dm +++ b/code/modules/clothing/suits/wiz_robe.dm @@ -238,7 +238,7 @@ if(!istype(W)) to_chat(user, "The rune can only be used on battlemage armour!") return - var/datum/element/shielded/S = SSdcs.GetElement(list(/datum/element/shielded, 0, W.max_charges, W.recharge_delay, W.recharge_rate, ITEM_SLOT_OCLOTHING, W.shield_state)) - S.recharge(W, 8, forced = TRUE) - to_chat(user, "You charge \the [W]. It can now absorb [S.charges_per_atom[W]] hits.") + var/datum/component/shielded/S = GetComponent(/datum/component/shielded) + S.adjust_charges(8) + to_chat(user, "You charge \the [W]. It can now absorb [S.charges] hits.") qdel(src) diff --git a/tgstation.dme b/tgstation.dme index 593586e98e..bc9a846110 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -408,6 +408,7 @@ #include "code\datums\components\remote_materials.dm" #include "code\datums\components\riding.dm" #include "code\datums\components\rotation.dm" +#include "code\datums\components\shielded.dm" #include "code\datums\components\shrapnel.dm" #include "code\datums\components\shrink.dm" #include "code\datums\components\sizzle.dm" @@ -514,7 +515,6 @@ #include "code\datums\elements\ghost_role_eligibility.dm" #include "code\datums\elements\mob_holder.dm" #include "code\datums\elements\polychromic.dm" -#include "code\datums\elements\shielded.dm" #include "code\datums\elements\spellcasting.dm" #include "code\datums\elements\swimming.dm" #include "code\datums\elements\sword_point.dm" From a9600cffaa0ffe90462c3997704e586b1908742b Mon Sep 17 00:00:00 2001 From: Putnam Date: Tue, 21 Apr 2020 13:01:50 -0700 Subject: [PATCH 120/131] Replaces a xor with a power?? --- code/modules/power/supermatter/supermatter.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index f91dc43990..3ed1ad0e5a 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -452,7 +452,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) if ((100-get_integrity()) < 75) power = (power_calc * ((100 - (0.15*(100-get_integrity()) - 5)**2) / 100)) + power_calc*0.1 else - power = power_calc * (((100-get_integrity())^((3*(100-get_integrity()))/1000) + 2*(100-get_integrity()))/100) //new and improved, more linear + power = power_calc * (((100-get_integrity())**((3*(100-get_integrity()))/1000) + 2*(100-get_integrity()))/100) //new and improved, more linear //power = power_calc * ((((100-get_integrity())**1.3)-(2*(100-get_integrity())))/100) if(power > POWER_PENALTY_THRESHOLD || damage > damage_penalty_point) From 39199a3a79ed285d3d502722846cff64c579f54c Mon Sep 17 00:00:00 2001 From: Seris02 Date: Wed, 22 Apr 2020 12:31:55 +0800 Subject: [PATCH 121/131] there --- code/modules/client/preferences.dm | 2 ++ modular_citadel/code/modules/client/preferences.dm | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index c452b9db60..db72daff88 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -211,6 +211,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/show_mismatched_markings = FALSE //determines whether or not the markings lists should show markings that don't match the currently selected species. Intentionally left unsaved. + var/no_tetris_storage = FALSE + /datum/preferences/New(client/C) parent = C diff --git a/modular_citadel/code/modules/client/preferences.dm b/modular_citadel/code/modules/client/preferences.dm index 6658d96cc3..8c55f2d9a8 100644 --- a/modular_citadel/code/modules/client/preferences.dm +++ b/modular_citadel/code/modules/client/preferences.dm @@ -16,7 +16,6 @@ var/widescreenpref = TRUE var/autostand = TRUE var/auto_ooc = FALSE - var/no_tetris_storage = FALSE //vore prefs var/toggleeatingnoise = TRUE From 0c15c09e489bc322567680f2bf71c5b336404ffc Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Wed, 22 Apr 2020 16:30:30 +0200 Subject: [PATCH 122/131] Update _box_magazine.dm --- .../projectiles/boxes_magazines/_box_magazine.dm | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/code/modules/projectiles/boxes_magazines/_box_magazine.dm b/code/modules/projectiles/boxes_magazines/_box_magazine.dm index 4f37cf3ba9..594734c86a 100644 --- a/code/modules/projectiles/boxes_magazines/_box_magazine.dm +++ b/code/modules/projectiles/boxes_magazines/_box_magazine.dm @@ -112,11 +112,7 @@ update_icon() /obj/item/ammo_box/update_icon() - switch(multiple_sprites) - if(1) - icon_state = "[initial(icon_state)]-[stored_ammo.len]" - if(2) - icon_state = "[initial(icon_state)]-[stored_ammo.len ? "[max_ammo]" : "0"]" + . = ..() desc = "[initial(desc)] There are [stored_ammo.len] shell\s left!" for (var/material in bullet_cost) var/material_amount = bullet_cost[material] @@ -124,6 +120,13 @@ custom_materials[material] = material_amount set_custom_materials(custom_materials)//make sure we setup the correct properties again +/obj/item/ammo_box/update_icon_state() + switch(multiple_sprites) + if(1) + icon_state = "[initial(icon_state)]-[stored_ammo.len]" + if(2) + icon_state = "[initial(icon_state)]-[stored_ammo.len ? "[max_ammo]" : "0"]" + //Behavior for magazines /obj/item/ammo_box/magazine/proc/ammo_count() return stored_ammo.len From 511465ed7bb489a3573b86106b03f35fb778ba23 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Wed, 22 Apr 2020 18:13:09 -0400 Subject: [PATCH 123/131] Update shields.dm --- code/game/objects/items/shields.dm | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index 16f29491be..bd357c016d 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -325,7 +325,6 @@ obj/item/shield/riot/bullet_proof armor = list("melee" = 25, "bullet" = 25, "laser" = 5, "energy" = 0, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 80) lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi' - icon = 'icons/obj/items_and_weapons.dmi' item_state = "metal" icon_state = "makeshift_shield" custom_materials = list(/datum/material/iron = 18000) @@ -341,7 +340,6 @@ obj/item/shield/riot/bullet_proof armor = list("melee" = 95, "bullet" = 95, "laser" = 75, "energy" = 60, "bomb" = 90, "bio" = 90, "rad" = 0, "fire" = 90, "acid" = 10) //Armor for the item, dosnt transfer to user item_state = "metal" icon_state = "metal" - icon = 'icons/obj/items_and_weapons.dmi' block_chance = 75 //1/4 shots will hit* force = 16 slowdown = 2 From 42201343a9faacd0d83e523b629a9b5c5e0fc53e Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Thu, 23 Apr 2020 00:59:23 +0200 Subject: [PATCH 124/131] Backward 512 compatibility removal. --- code/__DEFINES/__513_compatibility.dm | 32 ------------------- code/__DEFINES/maths.dm | 12 ++++--- code/__HELPERS/icon_smoothing.dm | 2 +- code/__HELPERS/mouse_control.dm | 2 +- code/__HELPERS/radio.dm | 4 +-- code/__HELPERS/sanitize_values.dm | 2 +- code/__HELPERS/unsorted.dm | 10 +++--- code/_compile_options.dm | 27 +++------------- code/_onclick/hud/picture_in_picture.dm | 4 +-- code/_onclick/item_attack.dm | 4 +-- code/_onclick/observer.dm | 2 +- .../controllers/configuration/config_entry.dm | 2 +- code/controllers/subsystem/profiler.dm | 14 +------- code/datums/components/bouncy.dm | 2 +- code/datums/components/butchering.dm | 4 +-- code/datums/components/edit_complainer.dm | 2 +- code/datums/components/explodable.dm | 2 +- code/datums/components/fantasy/prefixes.dm | 2 +- code/datums/components/infective.dm | 2 +- code/datums/components/knockback.dm | 2 +- code/datums/components/magnetic_catch.dm | 2 +- code/datums/components/mirage_border.dm | 4 +-- code/datums/components/nanites.dm | 10 +++--- code/datums/components/orbiter.dm | 8 ++--- code/datums/components/riding.dm | 2 +- code/datums/components/rotation.dm | 2 +- code/datums/components/shielded.dm | 4 +-- code/datums/components/squeak.dm | 2 +- code/datums/components/stationloving.dm | 2 +- code/datums/components/storage/ui.dm | 6 ++-- code/datums/components/wet_floor.dm | 2 +- code/datums/dash_weapon.dm | 2 +- code/datums/diseases/advance/advance.dm | 6 ++-- code/datums/elements/cleaning.dm | 2 +- code/datums/elements/firestacker.dm | 2 +- code/datums/explosion.dm | 6 ++-- code/datums/martial/krav_maga.dm | 6 ++-- code/datums/materials/basemats.dm | 2 +- code/datums/position_point_vector.dm | 2 +- code/datums/progressbar.dm | 2 +- code/datums/status_effects/debuffs.dm | 4 +-- code/game/atoms.dm | 4 +-- .../game/gamemodes/bloodsucker/bloodsucker.dm | 4 +-- .../dynamic/dynamic_rulesets_midround.dm | 4 +-- .../dynamic/dynamic_rulesets_roundstart.dm | 2 +- .../gamemodes/dynamic/dynamic_storytellers.dm | 26 +++++++-------- code/game/gamemodes/meteor/meteor.dm | 2 +- code/game/gamemodes/revolution/revolution.dm | 2 +- code/game/machinery/autolathe.dm | 2 +- code/game/machinery/cloning.dm | 2 +- code/game/machinery/computer/apc_control.dm | 4 +-- .../machinery/computer/arcade/minesweeper.dm | 6 ++-- code/game/machinery/computer/atmos_control.dm | 4 +-- code/game/machinery/computer/dna_console.dm | 14 ++++---- .../computer/prisoner/gulag_teleporter.dm | 2 +- code/game/machinery/deployable.dm | 2 +- code/game/machinery/doors/brigdoors.dm | 2 +- code/game/machinery/launch_pad.dm | 4 +-- code/game/machinery/pipe/pipe_dispenser.dm | 4 +-- code/game/machinery/shieldgen.dm | 2 +- code/game/machinery/spaceheater.dm | 4 +-- code/game/machinery/syndicatebomb.dm | 2 +- code/game/machinery/teleporter.dm | 2 +- code/game/machinery/toylathe.dm | 4 +-- code/game/mecha/equipment/weapons/weapons.dm | 2 +- code/game/objects/effects/alien_acid.dm | 2 +- code/game/objects/effects/step_triggers.dm | 2 +- code/game/objects/items/chrono_eraser.dm | 2 +- .../circuitboards/machine_circuitboards.dm | 2 +- code/game/objects/items/crayons.dm | 4 +-- .../objects/items/devices/desynchronizer.dm | 2 +- code/game/objects/items/devices/gps.dm | 2 +- .../objects/items/devices/lightreplacer.dm | 2 +- .../items/devices/radio/electropack.dm | 2 +- .../objects/items/devices/traitordevices.dm | 2 +- code/game/objects/items/dice.dm | 2 +- code/game/objects/items/grenades/plastic.dm | 2 +- code/game/objects/items/his_grace.dm | 4 +-- code/game/objects/items/hot_potato.dm | 2 +- code/game/objects/items/pneumaticCannon.dm | 4 +-- code/game/objects/items/robot/robot_items.dm | 4 +-- code/game/objects/items/sharpener.dm | 6 ++-- code/game/objects/items/shields.dm | 2 +- code/game/objects/items/singularityhammer.dm | 2 +- code/game/objects/items/stacks/stack.dm | 4 +-- code/game/objects/items/tanks/tanks.dm | 2 +- code/game/objects/items/theft_tools.dm | 2 +- code/game/objects/obj_defense.dm | 6 ++-- .../structures/crates_lockers/closets.dm | 2 +- code/game/objects/structures/fireplace.dm | 2 +- code/game/objects/structures/girders.dm | 2 +- code/game/objects/structures/grille.dm | 2 +- code/game/objects/structures/morgue.dm | 4 +-- code/game/objects/structures/tables_racks.dm | 8 ++--- code/game/turfs/change_turf.dm | 4 +-- code/game/turfs/turf.dm | 2 +- code/game/world.dm | 2 -- code/modules/admin/sound_emitter.dm | 4 +-- code/modules/admin/sql_message_system.dm | 2 +- code/modules/admin/topic.dm | 2 +- code/modules/admin/verbs/borgpanel.dm | 2 +- code/modules/admin/verbs/playsound.dm | 2 +- .../antagonists/blob/blob/blobs/blob_mobs.dm | 2 +- .../modules/antagonists/blob/blob/overmind.dm | 2 +- code/modules/antagonists/blob/blob/theblob.dm | 2 +- .../bloodsucker/bloodsucker_life.dm | 16 +++++----- .../bloodsucker/bloodsucker_objectives.dm | 4 +-- .../bloodsucker/objects/bloodsucker_lair.dm | 2 +- .../clock_helpers/fabrication_helpers.dm | 2 +- .../clockcult/clock_helpers/power_helpers.dm | 2 +- .../clockcult/clock_helpers/slab_abilities.dm | 2 +- .../clock_weapons/ratvarian_spear.dm | 2 +- .../scripture_applications.dm | 2 +- .../clockcult/clock_structures/mania_motor.dm | 2 +- code/modules/antagonists/cult/blood_magic.dm | 8 ++--- code/modules/antagonists/cult/cult_items.dm | 2 +- .../nukeop/equipment/nuclearbomb.dm | 2 +- .../atmospherics/gasmixtures/reactions.dm | 2 +- .../components/binary_devices/dp_vent_pump.dm | 6 ++-- .../components/binary_devices/passive_gate.dm | 4 +-- .../components/binary_devices/pump.dm | 4 +-- .../components/binary_devices/relief_valve.dm | 4 +-- .../components/binary_devices/volume_pump.dm | 4 +-- .../components/trinary_devices/filter.dm | 2 +- .../components/trinary_devices/mixer.dm | 2 +- .../unary_devices/outlet_injector.dm | 4 +-- .../components/unary_devices/relief_valve.dm | 4 +-- .../components/unary_devices/thermomachine.dm | 2 +- .../components/unary_devices/vent_pump.dm | 8 ++--- .../machinery/pipes/layermanifold.dm | 4 +-- .../machinery/portable/canister.dm | 4 +-- .../atmospherics/machinery/portable/pump.dm | 2 +- code/modules/buildmode/effects/line.dm | 2 +- code/modules/buildmode/submodes/copy.dm | 2 +- code/modules/client/client_procs.dm | 4 +-- code/modules/client/preferences.dm | 4 +-- code/modules/events/wormholes.dm | 2 +- code/modules/food_and_drinks/food.dm | 2 +- .../kitchen_machinery/food_cart.dm | 2 +- code/modules/food_and_drinks/pizzabox.dm | 2 +- code/modules/goonchat/browserOutput.dm | 2 +- code/modules/hydroponics/biogenerator.dm | 2 +- code/modules/hydroponics/grown/towercap.dm | 4 +-- code/modules/hydroponics/hydroponics.dm | 12 +++---- code/modules/hydroponics/seeds.dm | 28 ++++++++-------- code/modules/instruments/songs/_song.dm | 10 +++--- code/modules/instruments/songs/editor.dm | 2 +- .../instruments/songs/play_synthesized.dm | 4 +-- .../core/special_pins/index_pin.dm | 2 +- .../subtypes/atmospherics.dm | 2 +- .../subtypes/data_transfer.dm | 2 +- .../integrated_electronics/subtypes/input.dm | 8 ++--- .../subtypes/manipulation.dm | 12 +++---- .../integrated_electronics/subtypes/output.dm | 4 +-- .../subtypes/reagents.dm | 6 ++-- .../integrated_electronics/subtypes/smart.dm | 4 +-- .../integrated_electronics/subtypes/time.dm | 4 +-- .../integrated_electronics/subtypes/trig.dm | 2 +- .../subtypes/weaponized.dm | 14 ++++---- code/modules/language/language_holder.dm | 4 +-- code/modules/library/lib_machines.dm | 2 +- code/modules/lighting/lighting_atom.dm | 2 +- code/modules/mapping/reader.dm | 8 ++--- .../mining/lavaland/necropolis_chests.dm | 6 ++-- code/modules/mining/machine_silo.dm | 2 +- code/modules/mining/mint.dm | 2 +- code/modules/mob/dead/observer/observer.dm | 2 +- code/modules/mob/living/brain/brain_item.dm | 2 +- .../mob/living/carbon/alien/status_procs.dm | 2 +- code/modules/mob/living/carbon/human/human.dm | 2 +- .../carbon/human/species_types/dwarves.dm | 2 +- .../carbon/human/species_types/golems.dm | 2 +- .../carbon/human/species_types/jellypeople.dm | 2 +- .../carbon/human/species_types/vampire.dm | 4 +-- code/modules/mob/living/carbon/life.dm | 2 +- .../modules/mob/living/carbon/status_procs.dm | 4 +-- code/modules/mob/living/damage_procs.dm | 12 +++---- code/modules/mob/living/living.dm | 6 ++-- code/modules/mob/living/living_block.dm | 4 +-- code/modules/mob/living/living_defense.dm | 4 +-- code/modules/mob/living/silicon/ai/ai.dm | 4 +-- code/modules/mob/living/silicon/pai/pai.dm | 4 +-- .../mob/living/silicon/pai/pai_defense.dm | 2 +- code/modules/mob/living/silicon/robot/life.dm | 2 +- .../mob/living/simple_animal/damage_procs.dm | 2 +- .../mob/living/simple_animal/hostile/alien.dm | 2 +- .../hostile/megafauna/bubblegum.dm | 4 +-- .../hostile/megafauna/colossus.dm | 2 +- .../simple_animal/hostile/megafauna/drake.dm | 2 +- .../hostile/megafauna/hierophant.dm | 2 +- .../mob/living/simple_animal/simple_animal.dm | 2 +- .../mob/living/simple_animal/slime/powers.dm | 2 +- code/modules/mob/mob.dm | 2 +- code/modules/mob/status_procs.dm | 8 ++--- code/modules/photography/camera/camera.dm | 8 ++--- .../camera/camera_image_capturing.dm | 4 +-- code/modules/power/apc.dm | 6 ++-- code/modules/power/cable.dm | 8 ++--- code/modules/power/cell.dm | 4 +-- code/modules/power/lighting.dm | 2 +- code/modules/power/power.dm | 4 +-- code/modules/power/powernet.dm | 2 +- code/modules/power/singularity/narsie.dm | 2 +- code/modules/power/smes.dm | 6 ++-- code/modules/power/solar.dm | 8 ++--- code/modules/power/supermatter/supermatter.dm | 14 ++++---- code/modules/power/tesla/energy_ball.dm | 2 +- code/modules/projectiles/guns/energy.dm | 2 +- .../projectiles/guns/misc/beam_rifle.dm | 8 ++--- code/modules/projectiles/projectile.dm | 14 ++++---- .../projectile/bullets/dart_syringe.dm | 4 +-- .../projectiles/projectile/bullets/shotgun.dm | 2 +- code/modules/reagents/chemistry/holder.dm | 8 ++--- .../chemistry/machinery/chem_heater.dm | 2 +- code/modules/reagents/chemistry/reagents.dm | 2 +- .../chemistry/reagents/alcohol_reagents.dm | 2 +- .../chemistry/reagents/drug_reagents.dm | 18 +++++------ .../chemistry/reagents/other_reagents.dm | 4 +-- .../reagents/chemistry/recipes/medicine.dm | 2 +- .../chemistry/recipes/pyrotechnics.dm | 8 ++--- code/modules/reagents/reagent_containers.dm | 2 +- .../reagents/reagent_containers/spray.dm | 2 +- .../reagents/reagent_containers/syringes.dm | 2 +- code/modules/recycling/sortingmachinery.dm | 2 +- .../modules/research/machinery/_production.dm | 2 +- .../research/nanites/extra_settings/number.dm | 2 +- .../nanites/nanite_chamber_computer.dm | 4 +-- .../nanites/nanite_cloud_controller.dm | 2 +- .../research/nanites/nanite_programmer.dm | 16 +++++----- .../nanites/nanite_programs/weapon.dm | 2 +- .../modules/research/nanites/nanite_remote.dm | 4 +-- .../research/xenobiology/xenobiology.dm | 4 +-- code/modules/shuttle/shuttle.dm | 4 +-- code/modules/spells/spell_types/wizard.dm | 2 +- code/modules/surgery/bodyparts/bodyparts.dm | 2 +- .../surgery/bodyparts/dismemberment.dm | 2 +- code/modules/surgery/organs/eyes.dm | 2 +- code/modules/surgery/organs/lungs.dm | 6 ++-- code/modules/surgery/organs/organ_internal.dm | 2 +- code/modules/vehicles/secway.dm | 2 +- modular_citadel/code/_onclick/hud/sprint.dm | 2 +- modular_citadel/code/_onclick/hud/stamina.dm | 2 +- .../code/modules/arousal/organs/breasts.dm | 4 +-- .../code/modules/arousal/organs/penis.dm | 6 ++-- .../modules/mob/living/carbon/damage_procs.dm | 2 +- .../living/silicon/robot/dogborg_equipment.dm | 2 +- .../reagents/chemistry/recipes/fermi.dm | 2 +- tgstation.dme | 1 - 248 files changed, 478 insertions(+), 544 deletions(-) delete mode 100644 code/__DEFINES/__513_compatibility.dm diff --git a/code/__DEFINES/__513_compatibility.dm b/code/__DEFINES/__513_compatibility.dm deleted file mode 100644 index 12577fb68b..0000000000 --- a/code/__DEFINES/__513_compatibility.dm +++ /dev/null @@ -1,32 +0,0 @@ - -#if DM_VERSION < 513 - -#define ismovableatom(A) (istype(A, /atom/movable)) - -#define islist(L) (istype(L, /list)) - -#define CLAMP01(x) (CLAMP(x, 0, 1)) - -#define CLAMP(CLVALUE,CLMIN,CLMAX) ( max( (CLMIN), min((CLVALUE), (CLMAX)) ) ) - -#define ATAN2(x, y) ( !(x) && !(y) ? 0 : (y) >= 0 ? arccos((x) / sqrt((x)*(x) + (y)*(y))) : -arccos((x) / sqrt((x)*(x) + (y)*(y))) ) - -#define TAN(x) (sin(x) / cos(x)) - -#define arctan(x) (arcsin(x/sqrt(1+x*x))) - -////////////////////////////////////////////////// - -#else - -#define ismovableatom(A) ismovable(A) - -#define CLAMP01(x) clamp(x, 0, 1) - -#define CLAMP(CLVALUE, CLMIN, CLMAX) clamp(CLVALUE, CLMIN, CLMAX) - -#define TAN(x) tan(x) - -#define ATAN2(x, y) arctan(x, y) - -#endif diff --git a/code/__DEFINES/maths.dm b/code/__DEFINES/maths.dm index f37efd694c..e418b8b4c6 100644 --- a/code/__DEFINES/maths.dm +++ b/code/__DEFINES/maths.dm @@ -17,6 +17,8 @@ #define PERCENT(val) (round((val)*100, 0.1)) +#define CLAMP01(x) clamp(x, 0, 1) + //time of day but automatically adjusts to the server going into the next day within the same round. //for when you need a reliable time number that doesn't depend on byond time. #define REALTIMEOFDAY (world.timeofday + (MIDNIGHT_ROLLOVER * MIDNIGHT_ROLLOVER_CHECK)) @@ -30,13 +32,13 @@ #define FLOOR(x, y) ( round((x) / (y)) * (y) ) // Similar to clamp but the bottom rolls around to the top and vice versa. min is inclusive, max is exclusive -#define WRAP(val, min, max) CLAMP(( min == max ? min : (val) - (round(((val) - (min))/((max) - (min))) * ((max) - (min))) ),min,max-1) +#define WRAP(val, min, max) clamp(( min == max ? min : (val) - (round(((val) - (min))/((max) - (min))) * ((max) - (min))) ),min,max-1) // Real modulus that handles decimals #define MODULUS(x, y) ( (x) - (y) * round((x) / (y)) ) // Cotangent -#define COT(x) (1 / TAN(x)) +#define COT(x) (1 / tan(x)) // Secant #define SEC(x) (1 / cos(x)) @@ -169,8 +171,8 @@ while(pixel_y < -16) pixel_y += 32 new_y-- - new_x = CLAMP(new_x, 0, world.maxx) - new_y = CLAMP(new_y, 0, world.maxy) + new_x = clamp(new_x, 0, world.maxx) + new_y = clamp(new_y, 0, world.maxy) return locate(new_x, new_y, starting.z) // Returns a list where [1] is all x values and [2] is all y values that overlap between the given pair of rectangles @@ -195,7 +197,7 @@ #define EXP_DISTRIBUTION(desired_mean) ( -(1/(1/desired_mean)) * log(rand(1, 1000) * 0.001) ) -#define LORENTZ_DISTRIBUTION(x, s) ( s*TAN(TODEGREES(PI*(rand()-0.5))) + x ) +#define LORENTZ_DISTRIBUTION(x, s) ( s*tan(TODEGREES(PI*(rand()-0.5))) + x ) #define LORENTZ_CUMULATIVE_DISTRIBUTION(x, y, s) ( (1/PI)*TORADIANS(arctan((x-y)/s)) + 1/2 ) #define RULE_OF_THREE(a, b, x) ((a*x)/b) diff --git a/code/__HELPERS/icon_smoothing.dm b/code/__HELPERS/icon_smoothing.dm index 7e52fbe273..801a2cd431 100644 --- a/code/__HELPERS/icon_smoothing.dm +++ b/code/__HELPERS/icon_smoothing.dm @@ -61,7 +61,7 @@ var/adjacencies = 0 var/atom/movable/AM - if(ismovableatom(A)) + if(ismovable(A)) AM = A if(AM.can_be_unanchored && !AM.anchored) return 0 diff --git a/code/__HELPERS/mouse_control.dm b/code/__HELPERS/mouse_control.dm index a69c139d80..10fe976c26 100644 --- a/code/__HELPERS/mouse_control.dm +++ b/code/__HELPERS/mouse_control.dm @@ -11,7 +11,7 @@ var/screenviewY = screenview[2] * world.icon_size var/ox = round(screenviewX/2) - client.pixel_x //"origin" x var/oy = round(screenviewY/2) - client.pixel_y //"origin" y - var/angle = SIMPLIFY_DEGREES(ATAN2(y - oy, x - ox)) + var/angle = SIMPLIFY_DEGREES(arctan(y - oy, x - ox)) return angle //Wow, specific name! diff --git a/code/__HELPERS/radio.dm b/code/__HELPERS/radio.dm index 5fe87bdf5b..dc52299025 100644 --- a/code/__HELPERS/radio.dm +++ b/code/__HELPERS/radio.dm @@ -2,9 +2,9 @@ /proc/sanitize_frequency(frequency, free = FALSE) frequency = round(frequency) if(free) - . = CLAMP(frequency, MIN_FREE_FREQ, MAX_FREE_FREQ) + . = clamp(frequency, MIN_FREE_FREQ, MAX_FREE_FREQ) else - . = CLAMP(frequency, MIN_FREQ, MAX_FREQ) + . = clamp(frequency, MIN_FREQ, MAX_FREQ) if(!(. % 2)) // Ensure the last digit is an odd number . += 1 diff --git a/code/__HELPERS/sanitize_values.dm b/code/__HELPERS/sanitize_values.dm index e494468fe7..dadd4322fb 100644 --- a/code/__HELPERS/sanitize_values.dm +++ b/code/__HELPERS/sanitize_values.dm @@ -9,7 +9,7 @@ /proc/sanitize_num_clamp(number, min=0, max=1, default=0, quantize=0) if(!isnum(number)) return default - . = CLAMP(number, min, max) + . = clamp(number, min, max) if(quantize) . = round(number, quantize) diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index afa858afb7..8a196e8651 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -777,8 +777,8 @@ GLOBAL_LIST_INIT(WALLITEMS_INVERSE, typecacheof(list( tX = splittext(tX[1], ":") tX = tX[1] var/list/actual_view = getviewsize(C ? C.view : world.view) - tX = CLAMP(origin.x + text2num(tX) - round(actual_view[1] / 2) - 1, 1, world.maxx) - tY = CLAMP(origin.y + text2num(tY) - round(actual_view[2] / 2) - 1, 1, world.maxy) + tX = clamp(origin.x + text2num(tX) - round(actual_view[1] / 2) - 1, 1, world.maxx) + tY = clamp(origin.y + text2num(tY) - round(actual_view[2] / 2) - 1, 1, world.maxy) return locate(tX, tY, tZ) /proc/screen_loc2turf(text, turf/origin, client/C) @@ -791,8 +791,8 @@ GLOBAL_LIST_INIT(WALLITEMS_INVERSE, typecacheof(list( tX = text2num(tX[2]) tZ = origin.z var/list/actual_view = getviewsize(C ? C.view : world.view) - tX = CLAMP(origin.x + round(actual_view[1] / 2) - tX, 1, world.maxx) - tY = CLAMP(origin.y + round(actual_view[2] / 2) - tY, 1, world.maxy) + tX = clamp(origin.x + round(actual_view[1] / 2) - tX, 1, world.maxx) + tY = clamp(origin.y + round(actual_view[2] / 2) - tY, 1, world.maxy) return locate(tX, tY, tZ) /proc/IsValidSrc(datum/D) @@ -1568,7 +1568,7 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new) /proc/blood_sucking_checks(var/mob/living/carbon/target, check_neck, check_blood) //Bypass this if the target isnt carbon. if(!iscarbon(target)) - return TRUE + return TRUE if(check_neck) if(istype(target.get_item_by_slot(SLOT_NECK), /obj/item/clothing/neck/garlic_necklace)) return FALSE diff --git a/code/_compile_options.dm b/code/_compile_options.dm index fe4761ddcd..9a36c626ba 100644 --- a/code/_compile_options.dm +++ b/code/_compile_options.dm @@ -32,31 +32,12 @@ #endif //Update this whenever you need to take advantage of more recent byond features -#define MIN_COMPILER_VERSION 512 -#if DM_VERSION < MIN_COMPILER_VERSION +#define MIN_COMPILER_VERSION 513 +#define MIN_COMPILER_BUILD 1508 +#if DM_VERSION < MIN_COMPILER_VERSION || DM_BUILD < MIN_COMPILER_BUILD //Don't forget to update this part #error Your version of BYOND is too out-of-date to compile this project. Go to https://secure.byond.com/download and update. -#error You need version 512 or higher -#endif - -//Compatability -- These procs were added in 513.1493, not 513.1490 -//Which really shoulda bumped us up to 514 right then and there but instead Lummox is a dumb dumb -#if DM_BUILD < 1493 -#define length_char(args...) length(args) -#define text2ascii_char(args...) text2ascii(args) -#define copytext_char(args...) copytext(args) -#define splittext_char(args...) splittext(args) -#define spantext_char(args...) spantext(args) -#define nonspantext_char(args...) nonspantext(args) -#define findtext_char(args...) findtext(args) -#define findtextEx_char(args...) findtextEx(args) -#define findlasttext_char(args...) findlasttext(args) -#define findlasttextEx_char(args...) findlasttextEx(args) -#define replacetext_char(args...) replacetext(args) -#define replacetextEx_char(args...) replacetextEx(args) -// /regex procs -#define Find_char(args...) Find(args) -#define Replace_char(args...) Replace(args) +#error You need version 513.1508 or higher #endif //Additional code for the above flags. diff --git a/code/_onclick/hud/picture_in_picture.dm b/code/_onclick/hud/picture_in_picture.dm index e028212e96..5e474331f6 100644 --- a/code/_onclick/hud/picture_in_picture.dm +++ b/code/_onclick/hud/picture_in_picture.dm @@ -102,8 +102,8 @@ add_overlay(standard_background) /obj/screen/movable/pic_in_pic/proc/set_view_size(width, height, do_refresh = TRUE) - width = CLAMP(width, 0, max_dimensions) - height = CLAMP(height, 0, max_dimensions) + width = clamp(width, 0, max_dimensions) + height = clamp(height, 0, max_dimensions) src.width = width src.height = height diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index b0e1d39d9a..98db89a100 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -155,9 +155,9 @@ /obj/item/proc/get_clamped_volume() if(w_class) if(force) - return CLAMP((force + w_class) * 4, 30, 100)// Add the item's force to its weight class and multiply by 4, then clamp the value between 30 and 100 + return clamp((force + w_class) * 4, 30, 100)// Add the item's force to its weight class and multiply by 4, then clamp the value between 30 and 100 else - return CLAMP(w_class * 6, 10, 100) // Multiply the item's weight class by 6, then clamp the value between 10 and 100 + return clamp(w_class * 6, 10, 100) // Multiply the item's weight class by 6, then clamp the value between 10 and 100 /mob/living/proc/send_item_attack_message(obj/item/I, mob/living/user, hit_area) var/message_verb = "attacked" diff --git a/code/_onclick/observer.dm b/code/_onclick/observer.dm index d596b5fabf..9f9870a9e5 100644 --- a/code/_onclick/observer.dm +++ b/code/_onclick/observer.dm @@ -5,7 +5,7 @@ return // seems legit. // Things you might plausibly want to follow - if(ismovableatom(A)) + if(ismovable(A)) ManualFollow(A) // Otherwise jump diff --git a/code/controllers/configuration/config_entry.dm b/code/controllers/configuration/config_entry.dm index d7323700e4..4647b83cd7 100644 --- a/code/controllers/configuration/config_entry.dm +++ b/code/controllers/configuration/config_entry.dm @@ -103,7 +103,7 @@ return FALSE var/temp = text2num(trim(str_val)) if(!isnull(temp)) - config_entry_value = CLAMP(integer ? round(temp) : temp, min_val, max_val) + config_entry_value = clamp(integer ? round(temp) : temp, min_val, max_val) if(config_entry_value != temp && !(datum_flags & DF_VAR_EDITED)) log_config("Changing [name] from [temp] to [config_entry_value]!") return TRUE diff --git a/code/controllers/subsystem/profiler.dm b/code/controllers/subsystem/profiler.dm index ec8b243073..ef10e0626c 100644 --- a/code/controllers/subsystem/profiler.dm +++ b/code/controllers/subsystem/profiler.dm @@ -5,7 +5,7 @@ SUBSYSTEM_DEF(profiler) init_order = INIT_ORDER_PROFILER runlevels = RUNLEVELS_DEFAULT | RUNLEVEL_LOBBY wait = 3000 - flags = SS_NO_TICK_CHECK + flags = SS_NO_TICK_CHECK var/fetch_cost = 0 var/write_cost = 0 @@ -31,23 +31,12 @@ SUBSYSTEM_DEF(profiler) return ..() /datum/controller/subsystem/profiler/proc/StartProfiling() -#if DM_BUILD < 1506 || DM_VERSION < 513 - stack_trace("Auto profiling unsupported on this byond version") - CONFIG_SET(flag/auto_profile, FALSE) -#else world.Profile(PROFILE_START) -#endif /datum/controller/subsystem/profiler/proc/StopProfiling() -#if DM_BUILD >= 1506 && DM_VERSION >= 513 world.Profile(PROFILE_STOP) -#endif /datum/controller/subsystem/profiler/proc/DumpFile() -#if DM_BUILD < 1506 || DM_VERSION < 513 - stack_trace("Auto profiling unsupported on this byond version") - CONFIG_SET(flag/auto_profile, FALSE) -#else var/timer = TICK_USAGE_REAL var/current_profile_data = world.Profile(PROFILE_REFRESH,format="json") fetch_cost = MC_AVERAGE(fetch_cost, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) @@ -60,4 +49,3 @@ SUBSYSTEM_DEF(profiler) timer = TICK_USAGE_REAL WRITE_FILE(json_file, current_profile_data) write_cost = MC_AVERAGE(write_cost, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) -#endif diff --git a/code/datums/components/bouncy.dm b/code/datums/components/bouncy.dm index c7ca85455b..fed603410e 100644 --- a/code/datums/components/bouncy.dm +++ b/code/datums/components/bouncy.dm @@ -4,7 +4,7 @@ var/list/bounce_signals = list(COMSIG_MOVABLE_IMPACT, COMSIG_ITEM_HIT_REACT, COMSIG_ITEM_ATTACK) /datum/component/bouncy/Initialize(_bouncy_mod, list/_bounce_signals) - if(!ismovableatom(parent)) + if(!ismovable(parent)) return COMPONENT_INCOMPATIBLE if(_bouncy_mod) bouncy_mod = _bouncy_mod diff --git a/code/datums/components/butchering.dm b/code/datums/components/butchering.dm index e5625dee6a..441a161428 100644 --- a/code/datums/components/butchering.dm +++ b/code/datums/components/butchering.dm @@ -55,7 +55,7 @@ log_combat(user, H, "starts slicing the throat of") playsound(H.loc, butcher_sound, 50, TRUE, -1) - if(do_mob(user, H, CLAMP(500 / source.force, 30, 100)) && H.Adjacent(source)) + if(do_mob(user, H, clamp(500 / source.force, 30, 100)) && H.Adjacent(source)) if(H.has_status_effect(/datum/status_effect/neck_slice)) user.show_message("[H]'s neck has already been already cut, you can't make the bleeding any worse!", 1, \ "Their neck has already been already cut, you can't make the bleeding any worse!") @@ -65,7 +65,7 @@ "[user] slits your throat...") log_combat(user, H, "finishes slicing the throat of") H.apply_damage(source.force, BRUTE, BODY_ZONE_HEAD) - H.bleed_rate = CLAMP(H.bleed_rate + 20, 0, 30) + H.bleed_rate = clamp(H.bleed_rate + 20, 0, 30) H.apply_status_effect(/datum/status_effect/neck_slice) /datum/component/butchering/proc/Butcher(mob/living/butcher, mob/living/meat) diff --git a/code/datums/components/edit_complainer.dm b/code/datums/components/edit_complainer.dm index bf52296e2c..e2cca2eb50 100644 --- a/code/datums/components/edit_complainer.dm +++ b/code/datums/components/edit_complainer.dm @@ -3,7 +3,7 @@ var/list/say_lines /datum/component/edit_complainer/Initialize(list/text) - if(!ismovableatom(parent)) + if(!ismovable(parent)) return COMPONENT_INCOMPATIBLE var/static/list/default_lines = list( diff --git a/code/datums/components/explodable.dm b/code/datums/components/explodable.dm index 820208a319..2e5834c025 100644 --- a/code/datums/components/explodable.dm +++ b/code/datums/components/explodable.dm @@ -13,7 +13,7 @@ RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/explodable_attack) RegisterSignal(parent, COMSIG_TRY_STORAGE_INSERT, .proc/explodable_insert_item) RegisterSignal(parent, COMSIG_ATOM_EX_ACT, .proc/detonate) - if(ismovableatom(parent)) + if(ismovable(parent)) RegisterSignal(parent, COMSIG_MOVABLE_IMPACT, .proc/explodable_impact) RegisterSignal(parent, COMSIG_MOVABLE_BUMP, .proc/explodable_bump) if(isitem(parent)) diff --git a/code/datums/components/fantasy/prefixes.dm b/code/datums/components/fantasy/prefixes.dm index 702ec9329a..5ef2ac2baf 100644 --- a/code/datums/components/fantasy/prefixes.dm +++ b/code/datums/components/fantasy/prefixes.dm @@ -54,7 +54,7 @@ /datum/fantasy_affix/pyromantic/apply(datum/component/fantasy/comp, newName) var/obj/item/master = comp.parent - comp.appliedComponents += master.AddComponent(/datum/component/igniter, CLAMP(comp.quality, 1, 10)) + comp.appliedComponents += master.AddComponent(/datum/component/igniter, clamp(comp.quality, 1, 10)) return "pyromantic [newName]" /datum/fantasy_affix/vampiric diff --git a/code/datums/components/infective.dm b/code/datums/components/infective.dm index ad2b7ded14..8d3c6ab81f 100644 --- a/code/datums/components/infective.dm +++ b/code/datums/components/infective.dm @@ -13,7 +13,7 @@ expire_time = world.time + expire_in QDEL_IN(src, expire_in) - if(!ismovableatom(parent)) + if(!ismovable(parent)) return COMPONENT_INCOMPATIBLE RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, .proc/clean) RegisterSignal(parent, COMSIG_MOVABLE_BUCKLE, .proc/try_infect_buckle) diff --git a/code/datums/components/knockback.dm b/code/datums/components/knockback.dm index 988a0e575e..3899e92a22 100644 --- a/code/datums/components/knockback.dm +++ b/code/datums/components/knockback.dm @@ -34,7 +34,7 @@ do_knockback(target, null, angle2dir(Angle)) /datum/component/knockback/proc/do_knockback(atom/target, mob/thrower, throw_dir) - if(!ismovableatom(target) || throw_dir == null) + if(!ismovable(target) || throw_dir == null) return var/atom/movable/throwee = target if(throwee.anchored && !throw_anchored) diff --git a/code/datums/components/magnetic_catch.dm b/code/datums/components/magnetic_catch.dm index c7e59e0ead..181b24260b 100644 --- a/code/datums/components/magnetic_catch.dm +++ b/code/datums/components/magnetic_catch.dm @@ -2,7 +2,7 @@ if(!isatom(parent)) return COMPONENT_INCOMPATIBLE RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/examine) - if(ismovableatom(parent)) + if(ismovable(parent)) RegisterSignal(parent, COMSIG_MOVABLE_CROSSED, .proc/crossed_react) RegisterSignal(parent, COMSIG_MOVABLE_UNCROSSED, .proc/uncrossed_react) for(var/i in get_turf(parent)) diff --git a/code/datums/components/mirage_border.dm b/code/datums/components/mirage_border.dm index 20e3b317ec..de4425e208 100644 --- a/code/datums/components/mirage_border.dm +++ b/code/datums/components/mirage_border.dm @@ -14,8 +14,8 @@ var/x = target.x var/y = target.y var/z = target.z - var/turf/southwest = locate(CLAMP(x - (direction & WEST ? range : 0), 1, world.maxx), CLAMP(y - (direction & SOUTH ? range : 0), 1, world.maxy), CLAMP(z, 1, world.maxz)) - var/turf/northeast = locate(CLAMP(x + (direction & EAST ? range : 0), 1, world.maxx), CLAMP(y + (direction & NORTH ? range : 0), 1, world.maxy), CLAMP(z, 1, world.maxz)) + var/turf/southwest = locate(clamp(x - (direction & WEST ? range : 0), 1, world.maxx), clamp(y - (direction & SOUTH ? range : 0), 1, world.maxy), clamp(z, 1, world.maxz)) + var/turf/northeast = locate(clamp(x + (direction & EAST ? range : 0), 1, world.maxx), clamp(y + (direction & NORTH ? range : 0), 1, world.maxy), clamp(z, 1, world.maxz)) //holder.vis_contents += block(southwest, northeast) // This doesnt work because of beta bug memes for(var/i in block(southwest, northeast)) holder.vis_contents += i diff --git a/code/datums/components/nanites.dm b/code/datums/components/nanites.dm index 7aacb745b6..8ba748dac7 100644 --- a/code/datums/components/nanites.dm +++ b/code/datums/components/nanites.dm @@ -175,7 +175,7 @@ return (nanite_volume > 0) /datum/component/nanites/proc/adjust_nanites(datum/source, amount) - nanite_volume = CLAMP(nanite_volume + amount, 0, max_nanites) + nanite_volume = clamp(nanite_volume + amount, 0, max_nanites) if(nanite_volume <= 0) //oops we ran out qdel(src) @@ -187,7 +187,7 @@ if(remove || stealth) return //bye icon var/nanite_percent = (nanite_volume / max_nanites) * 100 - nanite_percent = CLAMP(CEILING(nanite_percent, 10), 10, 100) + nanite_percent = clamp(CEILING(nanite_percent, 10), 10, 100) holder.icon_state = "nanites[nanite_percent]" /datum/component/nanites/proc/on_emp(datum/source, severity) @@ -249,13 +249,13 @@ return FALSE /datum/component/nanites/proc/set_volume(datum/source, amount) - nanite_volume = CLAMP(amount, 0, max_nanites) + nanite_volume = clamp(amount, 0, max_nanites) /datum/component/nanites/proc/set_max_volume(datum/source, amount) max_nanites = max(1, max_nanites) /datum/component/nanites/proc/set_cloud(datum/source, amount) - cloud_id = CLAMP(amount, 0, 100) + cloud_id = clamp(amount, 0, 100) /datum/component/nanites/proc/set_cloud_sync(datum/source, method) switch(method) @@ -267,7 +267,7 @@ cloud_active = TRUE /datum/component/nanites/proc/set_safety(datum/source, amount) - safety_threshold = CLAMP(amount, 0, max_nanites) + safety_threshold = clamp(amount, 0, max_nanites) /datum/component/nanites/proc/set_regen(datum/source, amount) regen_rate = amount diff --git a/code/datums/components/orbiter.dm b/code/datums/components/orbiter.dm index 2be22d01e5..49e6b91c6d 100644 --- a/code/datums/components/orbiter.dm +++ b/code/datums/components/orbiter.dm @@ -22,14 +22,14 @@ /datum/component/orbiter/RegisterWithParent() . = ..() var/atom/target = parent - while(ismovableatom(target)) + while(ismovable(target)) RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/move_react) target = target.loc /datum/component/orbiter/UnregisterFromParent() . = ..() var/atom/target = parent - while(ismovableatom(target)) + while(ismovable(target)) UnregisterSignal(target, COMSIG_MOVABLE_MOVED) target = target.loc @@ -111,12 +111,12 @@ // These are prety rarely activated, how often are you following something in a bag? if(oldloc && !isturf(oldloc)) // We used to be registered to it, probably var/atom/target = oldloc - while(ismovableatom(target)) + while(ismovable(target)) UnregisterSignal(target, COMSIG_MOVABLE_MOVED) target = target.loc if(orbited?.loc && orbited.loc != newturf) // We want to know when anything holding us moves too var/atom/target = orbited.loc - while(ismovableatom(target)) + while(ismovable(target)) RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/move_react, TRUE) target = target.loc diff --git a/code/datums/components/riding.dm b/code/datums/components/riding.dm index 4d8cfc4412..d185221163 100644 --- a/code/datums/components/riding.dm +++ b/code/datums/components/riding.dm @@ -21,7 +21,7 @@ var/list/offhands = list() // keyed list containing all the current riding offsets associated by mob /datum/component/riding/Initialize() - if(!ismovableatom(parent)) + if(!ismovable(parent)) return COMPONENT_INCOMPATIBLE RegisterSignal(parent, COMSIG_MOVABLE_BUCKLE, .proc/vehicle_mob_buckle) RegisterSignal(parent, COMSIG_MOVABLE_UNBUCKLE, .proc/vehicle_mob_unbuckle) diff --git a/code/datums/components/rotation.dm b/code/datums/components/rotation.dm index 422d73520e..6a32a46aef 100644 --- a/code/datums/components/rotation.dm +++ b/code/datums/components/rotation.dm @@ -14,7 +14,7 @@ var/default_rotation_direction = ROTATION_CLOCKWISE /datum/component/simple_rotation/Initialize(rotation_flags = NONE ,can_user_rotate,can_be_rotated,after_rotation) - if(!ismovableatom(parent)) + if(!ismovable(parent)) return COMPONENT_INCOMPATIBLE //throw if no rotation direction is specificed ? diff --git a/code/datums/components/shielded.dm b/code/datums/components/shielded.dm index 405e7fc064..2052e57f49 100644 --- a/code/datums/components/shielded.dm +++ b/code/datums/components/shielded.dm @@ -66,7 +66,7 @@ if(world.time < last_time_used && !dissipating) return var/old_charges = charges - charges = CLAMP(charges + recharge_rate, 0, max_charges) + charges = clamp(charges + recharge_rate, 0, max_charges) if(round(old_charges) >= round(charges)) //only send outputs if it effectively gained at least one charge return var/sound = recharge_sound @@ -85,7 +85,7 @@ /datum/component/shielded/proc/adjust_charges(amount) var/old_charges = charges - charges = CLAMP(charges + amount, 0, max_charges) + charges = clamp(charges + amount, 0, max_charges) if(recharge_delay && recharge_rate && (dissipating ? !charges : charges == max_charges)) STOP_PROCESSING(SSdcs, src) if(charges < 1 && del_on_overload) diff --git a/code/datums/components/squeak.dm b/code/datums/components/squeak.dm index ad538760db..792222b27b 100644 --- a/code/datums/components/squeak.dm +++ b/code/datums/components/squeak.dm @@ -16,7 +16,7 @@ if(!isatom(parent)) return COMPONENT_INCOMPATIBLE RegisterSignal(parent, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_BLOB_ACT, COMSIG_ATOM_HULK_ATTACK, COMSIG_PARENT_ATTACKBY), .proc/play_squeak) - if(ismovableatom(parent)) + if(ismovable(parent)) RegisterSignal(parent, list(COMSIG_MOVABLE_BUMP, COMSIG_MOVABLE_IMPACT), .proc/play_squeak) RegisterSignal(parent, list(COMSIG_MOVABLE_CROSSED, COMSIG_ITEM_WEARERCROSSED), .proc/play_squeak_crossed) RegisterSignal(parent, COMSIG_MOVABLE_DISPOSING, .proc/disposing_react) diff --git a/code/datums/components/stationloving.dm b/code/datums/components/stationloving.dm index 13267e74c3..b651133274 100644 --- a/code/datums/components/stationloving.dm +++ b/code/datums/components/stationloving.dm @@ -5,7 +5,7 @@ var/allow_death = FALSE /datum/component/stationloving/Initialize(inform_admins = FALSE, allow_death = FALSE) - if(!ismovableatom(parent)) + if(!ismovable(parent)) return COMPONENT_INCOMPATIBLE RegisterSignal(parent, list(COMSIG_MOVABLE_Z_CHANGED), .proc/check_in_bounds) RegisterSignal(parent, list(COMSIG_MOVABLE_SECLUDED_LOCATION), .proc/relocate) diff --git a/code/datums/components/storage/ui.dm b/code/datums/components/storage/ui.dm index ab0535064a..f37f574002 100644 --- a/code/datums/components/storage/ui.dm +++ b/code/datums/components/storage/ui.dm @@ -27,8 +27,8 @@ numbered_contents = _process_numerical_display() adjusted_contents = numbered_contents.len - var/columns = CLAMP(max_items, 1, maxcolumns ? maxcolumns : screen_max_columns) - var/rows = CLAMP(CEILING(adjusted_contents / columns, 1), 1, screen_max_rows) + var/columns = clamp(max_items, 1, maxcolumns ? maxcolumns : screen_max_columns) + var/rows = clamp(CEILING(adjusted_contents / columns, 1), 1, screen_max_rows) // First, boxes. ui_boxes = get_ui_boxes() @@ -105,7 +105,7 @@ // after this point we are sure we can somehow fit all items into our max number of rows. // determine rows - var/rows = CLAMP(CEILING(min_pixels / horizontal_pixels, 1), 1, screen_max_rows) + var/rows = clamp(CEILING(min_pixels / horizontal_pixels, 1), 1, screen_max_rows) var/overrun = FALSE if(used > our_volume) diff --git a/code/datums/components/wet_floor.dm b/code/datums/components/wet_floor.dm index 30c6625049..0fbbcd59b0 100644 --- a/code/datums/components/wet_floor.dm +++ b/code/datums/components/wet_floor.dm @@ -181,7 +181,7 @@ /datum/component/wet_floor/proc/_do_add_wet(type, duration_minimum, duration_add, duration_maximum) var/time = 0 if(LAZYACCESS(time_left_list, "[type]")) - time = CLAMP(LAZYACCESS(time_left_list, "[type]") + duration_add, duration_minimum, duration_maximum) + time = clamp(LAZYACCESS(time_left_list, "[type]") + duration_add, duration_minimum, duration_maximum) else time = min(duration_minimum, duration_maximum) LAZYSET(time_left_list, "[type]", time) diff --git a/code/datums/dash_weapon.dm b/code/datums/dash_weapon.dm index c31139dcd7..80570d0c3b 100644 --- a/code/datums/dash_weapon.dm +++ b/code/datums/dash_weapon.dm @@ -42,7 +42,7 @@ addtimer(CALLBACK(src, .proc/charge), charge_rate) /datum/action/innate/dash/proc/charge() - current_charges = CLAMP(current_charges + 1, 0, max_charges) + current_charges = clamp(current_charges + 1, 0, max_charges) holder.update_action_buttons_icon() if(recharge_sound) playsound(dashing_item, recharge_sound, 50, 1) diff --git a/code/datums/diseases/advance/advance.dm b/code/datums/diseases/advance/advance.dm index 330a3494d9..7e3ac29b2d 100644 --- a/code/datums/diseases/advance/advance.dm +++ b/code/datums/diseases/advance/advance.dm @@ -246,10 +246,10 @@ else visibility_flags &= ~HIDDEN_SCANNER - SetSpread(CLAMP(2 ** (properties["transmittable"] - symptoms.len), DISEASE_SPREAD_BLOOD, DISEASE_SPREAD_AIRBORNE)) + SetSpread(clamp(2 ** (properties["transmittable"] - symptoms.len), DISEASE_SPREAD_BLOOD, DISEASE_SPREAD_AIRBORNE)) permeability_mod = max(CEILING(0.4 * properties["transmittable"], 1), 1) - cure_chance = 15 - CLAMP(properties["resistance"], -5, 5) // can be between 10 and 20 + cure_chance = 15 - clamp(properties["resistance"], -5, 5) // can be between 10 and 20 stage_prob = max(properties["stage_rate"], 2) SetSeverity(properties["severity"]) GenerateCure(properties) @@ -304,7 +304,7 @@ // Will generate a random cure, the less resistance the symptoms have, the harder the cure. /datum/disease/advance/proc/GenerateCure() if(properties && properties.len) - var/res = CLAMP(properties["resistance"] - (symptoms.len / 2), 1, advance_cures.len) + var/res = clamp(properties["resistance"] - (symptoms.len / 2), 1, advance_cures.len) if(res == oldres) return cures = list(pick(advance_cures[res])) diff --git a/code/datums/elements/cleaning.dm b/code/datums/elements/cleaning.dm index 3f80204089..d86fe22632 100644 --- a/code/datums/elements/cleaning.dm +++ b/code/datums/elements/cleaning.dm @@ -1,6 +1,6 @@ /datum/element/cleaning/Attach(datum/target) . = ..() - if(!ismovableatom(target)) + if(!ismovable(target)) return ELEMENT_INCOMPATIBLE RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/Clean) diff --git a/code/datums/elements/firestacker.dm b/code/datums/elements/firestacker.dm index 39021d23bb..771812242f 100644 --- a/code/datums/elements/firestacker.dm +++ b/code/datums/elements/firestacker.dm @@ -10,7 +10,7 @@ /datum/element/firestacker/Attach(datum/target, amount) . = ..() - if(!ismovableatom(target)) + if(!ismovable(target)) return ELEMENT_INCOMPATIBLE src.amount = amount diff --git a/code/datums/explosion.dm b/code/datums/explosion.dm index 7be4489e86..f763affcd1 100644 --- a/code/datums/explosion.dm +++ b/code/datums/explosion.dm @@ -121,14 +121,14 @@ GLOBAL_LIST_EMPTY(explosions) if(dist <= round(max_range + world.view - 2, 1)) M.playsound_local(epicenter, null, 100, 1, frequency, falloff = 5, S = explosion_sound) if(baseshakeamount > 0) - shake_camera(M, 25, CLAMP(baseshakeamount, 0, 10)) + shake_camera(M, 25, clamp(baseshakeamount, 0, 10)) // You hear a far explosion if you're outside the blast radius. Small bombs shouldn't be heard all over the station. else if(dist <= far_dist) - var/far_volume = CLAMP(far_dist, 30, 50) // Volume is based on explosion size and dist + var/far_volume = clamp(far_dist, 30, 50) // Volume is based on explosion size and dist far_volume += (dist <= far_dist * 0.5 ? 50 : 0) // add 50 volume if the mob is pretty close to the explosion M.playsound_local(epicenter, null, far_volume, 1, frequency, falloff = 5, S = far_explosion_sound) if(baseshakeamount > 0) - shake_camera(M, 10, CLAMP(baseshakeamount*0.25, 0, 2.5)) + shake_camera(M, 10, clamp(baseshakeamount*0.25, 0, 2.5)) EX_PREPROCESS_CHECK_TICK //postpone processing for a bit diff --git a/code/datums/martial/krav_maga.dm b/code/datums/martial/krav_maga.dm index 4332b09ac6..f054867de4 100644 --- a/code/datums/martial/krav_maga.dm +++ b/code/datums/martial/krav_maga.dm @@ -116,7 +116,7 @@ "[A] slams your chest! You can't breathe!") playsound(get_turf(A), 'sound/effects/hit_punch.ogg', 50, 1, -1) if(D.losebreath <= 10) - D.losebreath = CLAMP(D.losebreath + 5, 0, 10) + D.losebreath = clamp(D.losebreath + 5, 0, 10) D.adjustOxyLoss(damage + 5) log_combat(A, D, "quickchoked") return TRUE @@ -128,7 +128,7 @@ playsound(get_turf(A), 'sound/effects/hit_punch.ogg', 50, 1, -1) D.apply_damage(damage, BRUTE) if(D.silent <= 10) - D.silent = CLAMP(D.silent + 10, 0, 10) + D.silent = clamp(D.silent + 10, 0, 10) log_combat(A, D, "neck chopped") return TRUE @@ -187,7 +187,7 @@ if(damage >= stunthreshold) D.visible_message("[D] sputters and recoils in pain!", "You recoil in pain as you are jabbed in a nerve!") D.drop_all_held_items() - + return TRUE //Krav Maga Gloves diff --git a/code/datums/materials/basemats.dm b/code/datums/materials/basemats.dm index c3d0deeac6..f07b1d8792 100644 --- a/code/datums/materials/basemats.dm +++ b/code/datums/materials/basemats.dm @@ -92,7 +92,7 @@ Unless you know what you're doing, only use the first three numbers. They're in /datum/material/plasma/on_applied(atom/source, amount, material_flags) . = ..() - if(ismovableatom(source)) + if(ismovable(source)) source.AddElement(/datum/element/firestacker, amount=1) source.AddComponent(/datum/component/explodable, 0, 0, amount / 2500, amount / 1250) diff --git a/code/datums/position_point_vector.dm b/code/datums/position_point_vector.dm index 44ff87e8ae..608683c3dc 100644 --- a/code/datums/position_point_vector.dm +++ b/code/datums/position_point_vector.dm @@ -20,7 +20,7 @@ return sqrt(((b.x - a.x) ** 2) + ((b.y - a.y) ** 2)) /proc/angle_between_points(datum/point/a, datum/point/b) - return ATAN2((b.y - a.y), (b.x - a.x)) + return arctan((b.y - a.y), (b.x - a.x)) /datum/position //For positions with map x/y/z and pixel x/y so you don't have to return lists. Could use addition/subtraction in the future I guess. var/x = 0 diff --git a/code/datums/progressbar.dm b/code/datums/progressbar.dm index faecf809cc..fbc194cc6f 100644 --- a/code/datums/progressbar.dm +++ b/code/datums/progressbar.dm @@ -38,7 +38,7 @@ if (user.client) user.client.images += bar - progress = CLAMP(progress, 0, goal) + progress = clamp(progress, 0, goal) bar.icon_state = "prog_bar_[round(((progress / goal) * 100), 5)]" if (!shown) user.client.images += bar diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm index 69b74841df..e22b33d90a 100644 --- a/code/datums/status_effects/debuffs.dm +++ b/code/datums/status_effects/debuffs.dm @@ -336,7 +336,7 @@ if(prob(severity * 0.15)) to_chat(owner, "\"[text2ratvar(pick(mania_messages))]\"") owner.playsound_local(get_turf(motor), hum, severity, 1) - owner.adjust_drugginess(CLAMP(max(severity * 0.075, 1), 0, max(0, 50 - owner.druggy))) //7.5% of severity per second, minimum 1 + owner.adjust_drugginess(clamp(max(severity * 0.075, 1), 0, max(0, 50 - owner.druggy))) //7.5% of severity per second, minimum 1 if(owner.hallucination < 50) owner.hallucination = min(owner.hallucination + max(severity * 0.075, 1), 50) //7.5% of severity per second, minimum 1 if(owner.dizziness < 50) @@ -594,7 +594,7 @@ old_health = owner.health if(!old_oxyloss) old_oxyloss = owner.getOxyLoss() - var/health_difference = old_health - owner.health - CLAMP(owner.getOxyLoss() - old_oxyloss,0, owner.getOxyLoss()) + var/health_difference = old_health - owner.health - clamp(owner.getOxyLoss() - old_oxyloss,0, owner.getOxyLoss()) if(!health_difference) return owner.visible_message("The light in [owner]'s eyes dims as [owner.p_theyre()] harmed!", \ diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 40090c35c5..b71f51bd07 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -192,7 +192,7 @@ reagents = new() reagents.reagent_list.Add(A) reagents.conditional_update() - else if(ismovableatom(A)) + else if(ismovable(A)) var/atom/movable/M = A if(isliving(M.loc)) var/mob/living/L = M.loc @@ -692,7 +692,7 @@ /atom/vv_get_dropdown() . = ..() VV_DROPDOWN_OPTION("", "---------") - if(!ismovableatom(src)) + if(!ismovable(src)) var/turf/curturf = get_turf(src) if(curturf) . += "" diff --git a/code/game/gamemodes/bloodsucker/bloodsucker.dm b/code/game/gamemodes/bloodsucker/bloodsucker.dm index bb776d7bc0..c54de16e2e 100644 --- a/code/game/gamemodes/bloodsucker/bloodsucker.dm +++ b/code/game/gamemodes/bloodsucker/bloodsucker.dm @@ -53,7 +53,7 @@ restricted_jobs += "Assistant" // Set number of Vamps - recommended_enemies = CLAMP(round(num_players()/10), 1, 6); + recommended_enemies = clamp(round(num_players()/10), 1, 6); // Select Antags for(var/i = 0, i < recommended_enemies, i++) @@ -195,7 +195,7 @@ return FALSE if(target.stat > UNCONSCIOUS) return FALSE - + // Check Overdose: Am I even addicted to blood? Do I even have any in me? //if (!target.reagents.addiction_list || !target.reagents.reagent_list) //message_admins("DEBUG2: can_make_vassal() Abort: No reagents") diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm index 48e306b2b5..4378a5c440 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm @@ -105,7 +105,7 @@ if (M.mind && M.mind.assigned_role && (M.mind.assigned_role in enemy_roles) && (!(M in candidates) || (M.mind.assigned_role in restricted_roles))) job_check++ // Checking for "enemies" (such as sec officers). To be counters, they must either not be candidates to that rule, or have a job that restricts them from it - var/threat = CLAMP(round(mode.threat_level/10),1,10) + var/threat = clamp(round(mode.threat_level/10),1,10) if (job_check < required_enemies[threat]) SSblackbox.record_feedback("tally","dynamic",1,"Times rulesets rejected due to not enough enemy roles") return FALSE @@ -671,7 +671,7 @@ message_admins("[ADMIN_LOOKUPFLW(Ninja)] has been made into a ninja by dynamic.") log_game("[key_name(Ninja)] was spawned as a ninja by dynamic.") return Ninja - + /datum/dynamic_ruleset/midround/from_ghosts/ninja/finish_setup(mob/new_character, index) return diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm index a7fc9b86ce..edaadeae1c 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm @@ -789,7 +789,7 @@ if (prob(meteorminutes/2)) wavetype = GLOB.meteors_catastrophic - var/ramp_up_final = CLAMP(round(meteorminutes/rampupdelta), 1, 10) + var/ramp_up_final = clamp(round(meteorminutes/rampupdelta), 1, 10) spawn_meteors(ramp_up_final, wavetype) diff --git a/code/game/gamemodes/dynamic/dynamic_storytellers.dm b/code/game/gamemodes/dynamic/dynamic_storytellers.dm index c37eb9bc2a..3639ada166 100644 --- a/code/game/gamemodes/dynamic/dynamic_storytellers.dm +++ b/code/game/gamemodes/dynamic/dynamic_storytellers.dm @@ -11,7 +11,7 @@ WAROPS_ALWAYS_ALLOWED: Can always do warops, regardless of threat level. USE_PREF_WEIGHTS: Will use peoples' preferences to change the threat centre. FORCE_IF_WON: If this mode won the vote, forces it - USE_PREV_ROUND_WEIGHTS: Changes its threat centre based on the average chaos of previous rounds. + USE_PREV_ROUND_WEIGHTS: Changes its threat centre based on the average chaos of previous rounds. */ var/flags = 0 var/dead_player_weight = 1 // How much dead players matter for threat calculation @@ -22,11 +22,11 @@ var/datum/game_mode/dynamic/mode = null // Cached as soon as it's made, by dynamic. /** -Property weights are: +Property weights are: "story_potential" -- essentially how many different ways the antag can be played. "trust" -- How much it makes the crew trust each other. Negative values means they're suspicious. Team antags are like this. "chaos" -- How chaotic it makes the round. Has some overlap with "valid" and somewhat contradicts "extended". -"valid" -- How likely the non-antag-enemy crew are to get involved, e.g. nukies encouraging the warden to +"valid" -- How likely the non-antag-enemy crew are to get involved, e.g. nukies encouraging the warden to let everyone into the armory, wizard moving around and being a nuisance, nightmare busting lights. "extended" -- How much the antag is conducive to a long round. Nukies and cults are bad for this; Wizard is less bad; and so on. "conversion" -- Basically a bool. Conversion antags, well, convert. It's its own class for a good reason. @@ -34,13 +34,13 @@ Property weights are: /datum/dynamic_storyteller/proc/start_injection_cooldowns() var/latejoin_injection_cooldown_middle = 0.5*(GLOB.dynamic_first_latejoin_delay_max + GLOB.dynamic_first_latejoin_delay_min) - mode.latejoin_injection_cooldown = round(CLAMP(EXP_DISTRIBUTION(latejoin_injection_cooldown_middle), GLOB.dynamic_first_latejoin_delay_min, GLOB.dynamic_first_latejoin_delay_max)) + world.time + mode.latejoin_injection_cooldown = round(clamp(EXP_DISTRIBUTION(latejoin_injection_cooldown_middle), GLOB.dynamic_first_latejoin_delay_min, GLOB.dynamic_first_latejoin_delay_max)) + world.time var/midround_injection_cooldown_middle = 0.5*(GLOB.dynamic_first_midround_delay_min + GLOB.dynamic_first_midround_delay_max) - mode.midround_injection_cooldown = round(CLAMP(EXP_DISTRIBUTION(midround_injection_cooldown_middle), GLOB.dynamic_first_midround_delay_min, GLOB.dynamic_first_midround_delay_max)) + world.time - + mode.midround_injection_cooldown = round(clamp(EXP_DISTRIBUTION(midround_injection_cooldown_middle), GLOB.dynamic_first_midround_delay_min, GLOB.dynamic_first_midround_delay_max)) + world.time + var/event_injection_cooldown_middle = 0.5*(GLOB.dynamic_event_delay_max + GLOB.dynamic_event_delay_min) - mode.event_injection_cooldown = (round(CLAMP(EXP_DISTRIBUTION(event_injection_cooldown_middle), GLOB.dynamic_event_delay_min, GLOB.dynamic_event_delay_max)) + world.time) + mode.event_injection_cooldown = (round(clamp(EXP_DISTRIBUTION(event_injection_cooldown_middle), GLOB.dynamic_event_delay_min, GLOB.dynamic_event_delay_max)) + world.time) /datum/dynamic_storyteller/proc/calculate_threat() var/threat = 0 @@ -99,15 +99,15 @@ Property weights are: /datum/dynamic_storyteller/proc/get_midround_cooldown() var/midround_injection_cooldown_middle = 0.5*(GLOB.dynamic_midround_delay_max + GLOB.dynamic_midround_delay_min) - return round(CLAMP(EXP_DISTRIBUTION(midround_injection_cooldown_middle), GLOB.dynamic_midround_delay_min, GLOB.dynamic_midround_delay_max)) + return round(clamp(EXP_DISTRIBUTION(midround_injection_cooldown_middle), GLOB.dynamic_midround_delay_min, GLOB.dynamic_midround_delay_max)) /datum/dynamic_storyteller/proc/get_event_cooldown() var/event_injection_cooldown_middle = 0.5*(GLOB.dynamic_event_delay_max + GLOB.dynamic_event_delay_min) - return round(CLAMP(EXP_DISTRIBUTION(event_injection_cooldown_middle), GLOB.dynamic_event_delay_min, GLOB.dynamic_event_delay_max)) + return round(clamp(EXP_DISTRIBUTION(event_injection_cooldown_middle), GLOB.dynamic_event_delay_min, GLOB.dynamic_event_delay_max)) /datum/dynamic_storyteller/proc/get_latejoin_cooldown() var/latejoin_injection_cooldown_middle = 0.5*(GLOB.dynamic_latejoin_delay_max + GLOB.dynamic_latejoin_delay_min) - return round(CLAMP(EXP_DISTRIBUTION(latejoin_injection_cooldown_middle), GLOB.dynamic_latejoin_delay_min, GLOB.dynamic_latejoin_delay_max)) + return round(clamp(EXP_DISTRIBUTION(latejoin_injection_cooldown_middle), GLOB.dynamic_latejoin_delay_min, GLOB.dynamic_latejoin_delay_max)) /datum/dynamic_storyteller/proc/get_injection_chance(dry_run = FALSE) if(mode.forced_injection) @@ -144,7 +144,7 @@ Property weights are: if(!(rule.flags & MINOR_RULESET)) // makes the traitor rulesets always possible anyway var/cost_difference = abs(rule.cost-(mode.threat_level-mode.threat)) /* Basically, the closer the cost is to the current threat-level-away-from-threat, the more likely it is to - pick this particular ruleset. + pick this particular ruleset. Let's use a toy example: there's 60 threat level and 10 threat spent. We want to pick a ruleset that's close to that, so we run the below equation, on two rulesets. Ruleset 1 has 30 cost, ruleset 2 has 5 cost. @@ -212,7 +212,7 @@ Property weights are: flags = WAROPS_ALWAYS_ALLOWED min_players = 40 var/refund_cooldown = 0 - + /datum/dynamic_storyteller/chaotic/do_process() if(refund_cooldown < world.time) mode.create_threat(20) @@ -221,7 +221,7 @@ Property weights are: /datum/dynamic_storyteller/chaotic/get_midround_cooldown() return ..() / 4 - + /datum/dynamic_storyteller/chaotic/get_latejoin_cooldown() return ..() / 4 diff --git a/code/game/gamemodes/meteor/meteor.dm b/code/game/gamemodes/meteor/meteor.dm index 7857eb8253..afeebb770b 100644 --- a/code/game/gamemodes/meteor/meteor.dm +++ b/code/game/gamemodes/meteor/meteor.dm @@ -25,7 +25,7 @@ if (prob(meteorminutes/2)) wavetype = GLOB.meteors_catastrophic - var/ramp_up_final = CLAMP(round(meteorminutes/rampupdelta), 1, 10) + var/ramp_up_final = clamp(round(meteorminutes/rampupdelta), 1, 10) spawn_meteors(ramp_up_final, wavetype) diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm index 74554ac9f8..9eed18d906 100644 --- a/code/game/gamemodes/revolution/revolution.dm +++ b/code/game/gamemodes/revolution/revolution.dm @@ -70,7 +70,7 @@ /datum/game_mode/revolution/post_setup() var/list/heads = SSjob.get_living_heads() var/list/sec = SSjob.get_living_sec() - var/weighted_score = CLAMP(round(heads.len - ((3 - sec.len) / 3)), 1, max_headrevs) + var/weighted_score = clamp(round(heads.len - ((3 - sec.len) / 3)), 1, max_headrevs) for(var/datum/mind/rev_mind in headrev_candidates) //People with return to lobby may still be in the lobby. Let's pick someone else in that case. if(isnewplayer(rev_mind.current)) diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 6fa7fa30c0..8b3958e606 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -169,7 +169,7 @@ var/multiplier = text2num(href_list["multiplier"]) var/is_stack = ispath(being_built.build_path, /obj/item/stack) - multiplier = CLAMP(multiplier,1,50) + multiplier = clamp(multiplier,1,50) ///////////////// diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index bc0fec68ba..3f4b389b77 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -69,7 +69,7 @@ for(var/obj/item/stock_parts/manipulator/P in component_parts) speed_coeff += (P.rating / 2) speed_coeff = max(1, speed_coeff) - heal_level = CLAMP((efficiency * 10) + 10, MINIMUM_HEAL_LEVEL, 100) + heal_level = clamp((efficiency * 10) + 10, MINIMUM_HEAL_LEVEL, 100) //The return of data disks?? Just for transferring between genetics machine/cloning machine. //TO-DO: Make the genetics machine accept them. diff --git a/code/game/machinery/computer/apc_control.dm b/code/game/machinery/computer/apc_control.dm index 6d22f9d6c8..eae2d5fa5b 100644 --- a/code/game/machinery/computer/apc_control.dm +++ b/code/game/machinery/computer/apc_control.dm @@ -150,7 +150,7 @@ return log_activity("changed greater than charge filter to \"[new_filter]\"") if(new_filter) - new_filter = CLAMP(new_filter, 0, 100) + new_filter = clamp(new_filter, 0, 100) playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) result_filters["Charge Above"] = new_filter if(href_list["below_filter"]) @@ -160,7 +160,7 @@ return log_activity("changed lesser than charge filter to \"[new_filter]\"") if(new_filter) - new_filter = CLAMP(new_filter, 0, 100) + new_filter = clamp(new_filter, 0, 100) playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) result_filters["Charge Below"] = new_filter if(href_list["access_filter"]) diff --git a/code/game/machinery/computer/arcade/minesweeper.dm b/code/game/machinery/computer/arcade/minesweeper.dm index 370f85b4b9..ad325455ad 100644 --- a/code/game/machinery/computer/arcade/minesweeper.dm +++ b/code/game/machinery/computer/arcade/minesweeper.dm @@ -308,12 +308,12 @@ var/new_rows = input(user, "How many rows do you want? (Minimum: 4, Maximum: 30)", "Minesweeper Rows") as null|num if(!new_rows || !user.canUseTopic(src, !hasSiliconAccessInArea(user))) return FALSE - new_rows = CLAMP(new_rows + 1, 4, 30) + new_rows = clamp(new_rows + 1, 4, 30) playsound(loc, 'sound/arcade/minesweeper_menuselect.ogg', 50, 0, extrarange = -3, falloff = 10) var/new_columns = input(user, "How many columns do you want? (Minimum: 4, Maximum: 50)", "Minesweeper Squares") as null|num if(!new_columns || !user.canUseTopic(src, !hasSiliconAccessInArea(user))) return FALSE - new_columns = CLAMP(new_columns + 1, 4, 50) + new_columns = clamp(new_columns + 1, 4, 50) playsound(loc, 'sound/arcade/minesweeper_menuselect.ogg', 50, 0, extrarange = -3, falloff = 10) var/grid_area = (new_rows - 1) * (new_columns - 1) var/lower_limit = round(grid_area*0.156) @@ -324,7 +324,7 @@ playsound(loc, 'sound/arcade/minesweeper_menuselect.ogg', 50, 0, extrarange = -3, falloff = 10) rows = new_rows columns = new_columns - mine_limit = CLAMP(new_mine_limit, lower_limit, upper_limit) + mine_limit = clamp(new_mine_limit, lower_limit, upper_limit) return TRUE /obj/machinery/computer/arcade/minesweeper/proc/make_mines(var/reset_everything) diff --git a/code/game/machinery/computer/atmos_control.dm b/code/game/machinery/computer/atmos_control.dm index 22e102b54b..79ea51eca4 100644 --- a/code/game/machinery/computer/atmos_control.dm +++ b/code/game/machinery/computer/atmos_control.dm @@ -296,7 +296,7 @@ GLOBAL_LIST_EMPTY(atmos_air_controllers) if("rate") var/target = text2num(params["rate"]) if(!isnull(target)) - target = CLAMP(target, 0, MAX_TRANSFER_RATE) + target = clamp(target, 0, MAX_TRANSFER_RATE) signal.data += list("tag" = input_tag, "set_volume_rate" = target) . = TRUE if("output") @@ -305,7 +305,7 @@ GLOBAL_LIST_EMPTY(atmos_air_controllers) if("pressure") var/target = text2num(params["pressure"]) if(!isnull(target)) - target = CLAMP(target, 0, MAX_OUTPUT_PRESSURE) + target = clamp(target, 0, MAX_OUTPUT_PRESSURE) signal.data += list("tag" = output_tag, "set_internal_pressure" = target) . = TRUE radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA) diff --git a/code/game/machinery/computer/dna_console.dm b/code/game/machinery/computer/dna_console.dm index b9bd3da95e..d465ff2022 100644 --- a/code/game/machinery/computer/dna_console.dm +++ b/code/game/machinery/computer/dna_console.dm @@ -604,13 +604,13 @@ if("setbufferlabel") var/text = sanitize(input(usr, "Input a new label:", "Input a Text", null) as text|null) if(num && text) - num = CLAMP(num, 1, NUMBER_OF_BUFFERS) + num = clamp(num, 1, NUMBER_OF_BUFFERS) var/list/buffer_slot = buffer[num] if(istype(buffer_slot)) buffer_slot["label"] = text if("setbuffer") if(num && viable_occupant) - num = CLAMP(num, 1, NUMBER_OF_BUFFERS) + num = clamp(num, 1, NUMBER_OF_BUFFERS) buffer[num] = list( "label"="Buffer[num]:[viable_occupant.real_name]", "UI"=viable_occupant.dna.uni_identity, @@ -620,7 +620,7 @@ ) if("clearbuffer") if(num) - num = CLAMP(num, 1, NUMBER_OF_BUFFERS) + num = clamp(num, 1, NUMBER_OF_BUFFERS) var/list/buffer_slot = buffer[num] if(istype(buffer_slot)) buffer_slot.Cut() @@ -635,7 +635,7 @@ apply_buffer(SCANNER_ACTION_MIXED,num) if("injector") if(num && injectorready < world.time) - num = CLAMP(num, 1, NUMBER_OF_BUFFERS) + num = clamp(num, 1, NUMBER_OF_BUFFERS) var/list/buffer_slot = buffer[num] if(istype(buffer_slot)) var/obj/item/dnainjector/timed/I @@ -662,11 +662,11 @@ injectorready = world.time + INJECTOR_TIMEOUT if("loaddisk") if(num && diskette && diskette.fields) - num = CLAMP(num, 1, NUMBER_OF_BUFFERS) + num = clamp(num, 1, NUMBER_OF_BUFFERS) buffer[num] = diskette.fields.Copy() if("savedisk") if(num && diskette && !diskette.read_only) - num = CLAMP(num, 1, NUMBER_OF_BUFFERS) + num = clamp(num, 1, NUMBER_OF_BUFFERS) var/list/buffer_slot = buffer[num] if(istype(buffer_slot)) diskette.name = "data disk \[[buffer_slot["label"]]\]" @@ -953,7 +953,7 @@ return viable_occupant /obj/machinery/computer/scan_consolenew/proc/apply_buffer(action,buffer_num) - buffer_num = CLAMP(buffer_num, 1, NUMBER_OF_BUFFERS) + buffer_num = clamp(buffer_num, 1, NUMBER_OF_BUFFERS) var/list/buffer_slot = buffer[buffer_num] var/mob/living/carbon/viable_occupant = get_viable_occupant() if(istype(buffer_slot)) diff --git a/code/game/machinery/computer/prisoner/gulag_teleporter.dm b/code/game/machinery/computer/prisoner/gulag_teleporter.dm index e4a6a0b2d4..ca75ff1dd0 100644 --- a/code/game/machinery/computer/prisoner/gulag_teleporter.dm +++ b/code/game/machinery/computer/prisoner/gulag_teleporter.dm @@ -97,7 +97,7 @@ return if(!new_goal) new_goal = default_goal - contained_id.goal = CLAMP(new_goal, 0, 1000) //maximum 1000 points + contained_id.goal = clamp(new_goal, 0, 1000) //maximum 1000 points return TRUE if("toggle_open") if(teleporter.locked) diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm index 686b62d1c3..67113fcf78 100644 --- a/code/game/machinery/deployable.dm +++ b/code/game/machinery/deployable.dm @@ -33,7 +33,7 @@ to_chat(user, "You begin repairing [src]...") if(I.use_tool(src, user, 40, volume=40)) - obj_integrity = CLAMP(obj_integrity + 20, 0, max_integrity) + obj_integrity = clamp(obj_integrity + 20, 0, max_integrity) else return ..() diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm index adc1748ded..cd22b2dc05 100644 --- a/code/game/machinery/doors/brigdoors.dm +++ b/code/game/machinery/doors/brigdoors.dm @@ -135,7 +135,7 @@ . /= 10 /obj/machinery/door_timer/proc/set_timer(value) - var/new_time = CLAMP(value,0,MAX_TIMER) + var/new_time = clamp(value,0,MAX_TIMER) . = new_time == timer_duration //return 1 on no change timer_duration = new_time diff --git a/code/game/machinery/launch_pad.dm b/code/game/machinery/launch_pad.dm index d01f7e3e40..c8219e9ebf 100644 --- a/code/game/machinery/launch_pad.dm +++ b/code/game/machinery/launch_pad.dm @@ -68,9 +68,9 @@ if(teleporting) return if(!isnull(x)) - x_offset = CLAMP(x, -range, range) + x_offset = clamp(x, -range, range) if(!isnull(y)) - y_offset = CLAMP(y, -range, range) + y_offset = clamp(y, -range, range) /obj/machinery/launchpad/proc/doteleport(mob/user, sending) if(teleporting) diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm index b0e26ce129..c144616c05 100644 --- a/code/game/machinery/pipe/pipe_dispenser.dm +++ b/code/game/machinery/pipe/pipe_dispenser.dm @@ -55,9 +55,9 @@ new /obj/item/pipe_meter(loc) wait = world.time + 15 if(href_list["layer_up"]) - piping_layer = CLAMP(++piping_layer, PIPING_LAYER_MIN, PIPING_LAYER_MAX) + piping_layer = clamp(++piping_layer, PIPING_LAYER_MIN, PIPING_LAYER_MAX) if(href_list["layer_down"]) - piping_layer = CLAMP(--piping_layer, PIPING_LAYER_MIN, PIPING_LAYER_MAX) + piping_layer = clamp(--piping_layer, PIPING_LAYER_MIN, PIPING_LAYER_MAX) return /obj/machinery/pipedispenser/attackby(obj/item/W, mob/user, params) diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm index c152e302fe..34db7b0e08 100644 --- a/code/game/machinery/shieldgen.dm +++ b/code/game/machinery/shieldgen.dm @@ -270,7 +270,7 @@ use_stored_power(50) /obj/machinery/shieldwallgen/proc/use_stored_power(amount) - power = CLAMP(power - amount, 0, maximum_stored_power) + power = clamp(power - amount, 0, maximum_stored_power) update_activity() /obj/machinery/shieldwallgen/proc/update_activity() diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index 41dfe8e3ac..f9f4eb3e80 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -127,7 +127,7 @@ settableTemperatureRange = cap * 30 efficiency = (cap + 1) * 10000 - targetTemperature = CLAMP(targetTemperature, + targetTemperature = clamp(targetTemperature, max(settableTemperatureMedian - settableTemperatureRange, TCMB), settableTemperatureMedian + settableTemperatureRange) @@ -230,7 +230,7 @@ target= text2num(target) + T0C . = TRUE if(.) - targetTemperature = CLAMP(round(target), + targetTemperature = clamp(round(target), max(settableTemperatureMedian - settableTemperatureRange, TCMB), settableTemperatureMedian + settableTemperatureRange) if("eject") diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index b8d4ef26e8..50984c43b8 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -195,7 +195,7 @@ /obj/machinery/syndicatebomb/proc/settings(mob/user) var/new_timer = input(user, "Please set the timer.", "Timer", "[timer_set]") as num if(in_range(src, user) && isliving(user)) //No running off and setting bombs from across the station - timer_set = CLAMP(new_timer, minimum_timer, maximum_timer) + timer_set = clamp(new_timer, minimum_timer, maximum_timer) loc.visible_message("[icon2html(src, viewers(src))] timer set for [timer_set] seconds.") if(alert(user,"Would you like to start the countdown now?",,"Yes","No") == "Yes" && in_range(src, user) && isliving(user)) if(defused || active) diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index 985c1166b7..16ae158ea7 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -70,7 +70,7 @@ com.target = null visible_message("Cannot authenticate locked on coordinates. Please reinstate coordinate matrix.") return - if (ismovableatom(M)) + if (ismovable(M)) if(do_teleport(M, com.target, channel = TELEPORT_CHANNEL_BLUESPACE)) use_power(5000) diff --git a/code/game/machinery/toylathe.dm b/code/game/machinery/toylathe.dm index c679f3f983..4e039d304c 100644 --- a/code/game/machinery/toylathe.dm +++ b/code/game/machinery/toylathe.dm @@ -156,7 +156,7 @@ var/multiplier = text2num(href_list["multiplier"]) var/is_stack = ispath(being_built.build_path, /obj/item/stack) - multiplier = CLAMP(multiplier,1,50) + multiplier = clamp(multiplier,1,50) ///////////////// @@ -240,7 +240,7 @@ T=1.2 for(var/obj/item/stock_parts/manipulator/M in component_parts) T -= M.rating*0.2 - prod_coeff = CLAMP(T,1,0) // Coeff going 1 -> 0,8 -> 0,6 -> 0,4 + prod_coeff = clamp(T,1,0) // Coeff going 1 -> 0,8 -> 0,6 -> 0,4 /obj/machinery/autoylathe/proc/main_win(mob/user) var/dat = "

Autoylathe Menu:


" diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index f1fa5ddd20..65aa001fe1 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -484,7 +484,7 @@ /obj/item/punching_glove/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) if(!..()) - if(ismovableatom(hit_atom)) + if(ismovable(hit_atom)) var/atom/movable/AM = hit_atom AM.safe_throw_at(get_edge_target_turf(AM,get_dir(src, AM)), 7, 2) qdel(src) diff --git a/code/game/objects/effects/alien_acid.dm b/code/game/objects/effects/alien_acid.dm index 3b5a029df4..5276062121 100644 --- a/code/game/objects/effects/alien_acid.dm +++ b/code/game/objects/effects/alien_acid.dm @@ -17,7 +17,7 @@ target = get_turf(src) if(acid_amt) - acid_level = min( (CLAMP(round(acid_amt, 1), 0, INFINITY)) *acid_pwr, 12000) //capped so the acid effect doesn't last a half hour on the floor. + acid_level = min( (clamp(round(acid_amt, 1), 0, INFINITY)) *acid_pwr, 12000) //capped so the acid effect doesn't last a half hour on the floor. //handle APCs and newscasters and stuff nicely pixel_x = target.pixel_x + rand(-4,4) diff --git a/code/game/objects/effects/step_triggers.dm b/code/game/objects/effects/step_triggers.dm index 01edd82ccb..80178c95c4 100644 --- a/code/game/objects/effects/step_triggers.dm +++ b/code/game/objects/effects/step_triggers.dm @@ -52,7 +52,7 @@ var/list/affecting = list() /obj/effect/step_trigger/thrower/Trigger(atom/A) - if(!A || !ismovableatom(A)) + if(!A || !ismovable(A)) return var/atom/movable/AM = A var/curtiles = 0 diff --git a/code/game/objects/items/chrono_eraser.dm b/code/game/objects/items/chrono_eraser.dm index 6b3428698b..c3b6c0312f 100644 --- a/code/game/objects/items/chrono_eraser.dm +++ b/code/game/objects/items/chrono_eraser.dm @@ -193,7 +193,7 @@ /obj/effect/chrono_field/update_icon() var/ttk_frame = 1 - (tickstokill / initial(tickstokill)) - ttk_frame = CLAMP(CEILING(ttk_frame * CHRONO_FRAME_COUNT, 1), 1, CHRONO_FRAME_COUNT) + ttk_frame = clamp(CEILING(ttk_frame * CHRONO_FRAME_COUNT, 1), 1, CHRONO_FRAME_COUNT) if(ttk_frame != RPpos) RPpos = ttk_frame mob_underlay.icon_state = "frame[RPpos]" diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index aaa87bbf01..ef0380fce0 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -804,7 +804,7 @@ var/new_cloud = input("Set the public nanite chamber's Cloud ID (1-100).", "Cloud ID", cloud_id) as num|null if(new_cloud == null) return - cloud_id = CLAMP(round(new_cloud, 1), 1, 100) + cloud_id = clamp(round(new_cloud, 1), 1, 100) /obj/item/circuitboard/machine/public_nanite_chamber/examine(mob/user) . = ..() diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index 09c045497c..60136f5529 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -346,8 +346,8 @@ var/clicky if(click_params && click_params["icon-x"] && click_params["icon-y"]) - clickx = CLAMP(text2num(click_params["icon-x"]) - 16, -(world.icon_size/2), world.icon_size/2) - clicky = CLAMP(text2num(click_params["icon-y"]) - 16, -(world.icon_size/2), world.icon_size/2) + clickx = clamp(text2num(click_params["icon-x"]) - 16, -(world.icon_size/2), world.icon_size/2) + clicky = clamp(text2num(click_params["icon-y"]) - 16, -(world.icon_size/2), world.icon_size/2) if(!instant) to_chat(user, "You start drawing a [temp] on the [target.name]...") diff --git a/code/game/objects/items/devices/desynchronizer.dm b/code/game/objects/items/devices/desynchronizer.dm index e5dcfc0075..e3385dc13f 100644 --- a/code/game/objects/items/devices/desynchronizer.dm +++ b/code/game/objects/items/devices/desynchronizer.dm @@ -39,7 +39,7 @@ var/new_duration = input(user, "Set the duration (5-300):", "Desynchronizer", duration / 10) as null|num if(new_duration) new_duration = new_duration SECONDS - new_duration = CLAMP(new_duration, 50, max_duration) + new_duration = clamp(new_duration, 50, max_duration) duration = new_duration to_chat(user, "You set the duration to [DisplayTimeText(duration)].") return TRUE diff --git a/code/game/objects/items/devices/gps.dm b/code/game/objects/items/devices/gps.dm index 9a09be093d..981a811bc3 100644 --- a/code/game/objects/items/devices/gps.dm +++ b/code/game/objects/items/devices/gps.dm @@ -75,7 +75,7 @@ GLOBAL_LIST_EMPTY(GPS_list) if(!ui) // Variable window height, depending on how many GPS units there are // to show, clamped to relatively safe range. - var/gps_window_height = CLAMP(325 + GLOB.GPS_list.len * 14, 325, 700) + var/gps_window_height = clamp(325 + GLOB.GPS_list.len * 14, 325, 700) ui = new(user, src, ui_key, "gps", "Global Positioning System", 470, gps_window_height, master_ui, state) //width, height ui.open() diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index bee59b254c..9ab6115634 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -171,7 +171,7 @@ // Negative numbers will subtract /obj/item/lightreplacer/proc/AddUses(amount = 1) - uses = CLAMP(uses + amount, 0, max_uses) + uses = clamp(uses + amount, 0, max_uses) /obj/item/lightreplacer/proc/AddShards(amount = 1, user) bulb_shards += amount diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm index 1eee083c80..e94d14a57d 100644 --- a/code/game/objects/items/devices/radio/electropack.dm +++ b/code/game/objects/items/devices/radio/electropack.dm @@ -81,7 +81,7 @@ if(!usr.canUseTopic(src, BE_CLOSE)) return new_code = round(new_code) - new_code = CLAMP(new_code, 1, 100) + new_code = clamp(new_code, 1, 100) code = new_code if(href_list["set"] == "power") diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm index 4bab5a5bcd..b6261b9060 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -232,7 +232,7 @@ effective or pretty fucking useless. charge = max(0,charge - 25)//Quick decrease in light else charge = min(max_charge,charge + 50) //Charge in the dark - animate(user,alpha = CLAMP(255 - charge,0,255),time = 10) + animate(user,alpha = clamp(255 - charge,0,255),time = 10) /obj/item/jammer diff --git a/code/game/objects/items/dice.dm b/code/game/objects/items/dice.dm index f572d0a841..4fdb862288 100644 --- a/code/game/objects/items/dice.dm +++ b/code/game/objects/items/dice.dm @@ -170,7 +170,7 @@ /obj/item/dice/proc/diceroll(mob/user) result = roll(sides) if(rigged && result != rigged) - if(prob(CLAMP(1/(sides - 1) * 100, 25, 80))) + if(prob(clamp(1/(sides - 1) * 100, 25, 80))) result = rigged var/fake_result = roll(sides)//Daredevil isn't as good as he used to be var/comment = "" diff --git a/code/game/objects/items/grenades/plastic.dm b/code/game/objects/items/grenades/plastic.dm index eaecae5a92..66869d6f04 100644 --- a/code/game/objects/items/grenades/plastic.dm +++ b/code/game/objects/items/grenades/plastic.dm @@ -94,7 +94,7 @@ return var/newtime = input(usr, "Please set the timer.", "Timer", 10) as num if(user.get_active_held_item() == src) - newtime = CLAMP(newtime, 10, 60000) + newtime = clamp(newtime, 10, 60000) det_time = newtime to_chat(user, "Timer set for [det_time] seconds.") diff --git a/code/game/objects/items/his_grace.dm b/code/game/objects/items/his_grace.dm index c961134244..6e270b6374 100644 --- a/code/game/objects/items/his_grace.dm +++ b/code/game/objects/items/his_grace.dm @@ -197,9 +197,9 @@ /obj/item/his_grace/proc/adjust_bloodthirst(amt) prev_bloodthirst = bloodthirst if(prev_bloodthirst < HIS_GRACE_CONSUME_OWNER && !ascended) - bloodthirst = CLAMP(bloodthirst + amt, HIS_GRACE_SATIATED, HIS_GRACE_CONSUME_OWNER) + bloodthirst = clamp(bloodthirst + amt, HIS_GRACE_SATIATED, HIS_GRACE_CONSUME_OWNER) else if(!ascended) - bloodthirst = CLAMP(bloodthirst + amt, HIS_GRACE_CONSUME_OWNER, HIS_GRACE_FALL_ASLEEP) + bloodthirst = clamp(bloodthirst + amt, HIS_GRACE_CONSUME_OWNER, HIS_GRACE_FALL_ASLEEP) update_stats() /obj/item/his_grace/proc/update_stats() diff --git a/code/game/objects/items/hot_potato.dm b/code/game/objects/items/hot_potato.dm index 5f74830c99..347ec118fd 100644 --- a/code/game/objects/items/hot_potato.dm +++ b/code/game/objects/items/hot_potato.dm @@ -74,7 +74,7 @@ L.SetAllImmobility(0) L.SetSleeping(0) L.SetUnconscious(0) - L.reagents.add_reagent(/datum/reagent/medicine/muscle_stimulant, CLAMP(5 - L.reagents.get_reagent_amount(/datum/reagent/medicine/muscle_stimulant), 0, 5)) //If you don't have legs or get bola'd, tough luck! + L.reagents.add_reagent(/datum/reagent/medicine/muscle_stimulant, clamp(5 - L.reagents.get_reagent_amount(/datum/reagent/medicine/muscle_stimulant), 0, 5)) //If you don't have legs or get bola'd, tough luck! colorize(L) /obj/item/hot_potato/examine(mob/user) diff --git a/code/game/objects/items/pneumaticCannon.dm b/code/game/objects/items/pneumaticCannon.dm index 342f756ffc..23be8cbb9a 100644 --- a/code/game/objects/items/pneumaticCannon.dm +++ b/code/game/objects/items/pneumaticCannon.dm @@ -201,8 +201,8 @@ return target var/x_o = (target.x - starting.x) var/y_o = (target.y - starting.y) - var/new_x = CLAMP((starting.x + (x_o * range_multiplier)), 0, world.maxx) - var/new_y = CLAMP((starting.y + (y_o * range_multiplier)), 0, world.maxy) + var/new_x = clamp((starting.x + (x_o * range_multiplier)), 0, world.maxx) + var/new_y = clamp((starting.y + (y_o * range_multiplier)), 0, world.maxy) var/turf/newtarget = locate(new_x, new_y, starting.z) return newtarget diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index 318753e4ad..abb2d12a1f 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -649,7 +649,7 @@ continue usage += projectile_tick_speed_ecost usage += (tracked[I] * projectile_damage_tick_ecost_coefficient) - energy = CLAMP(energy - usage, 0, maxenergy) + energy = clamp(energy - usage, 0, maxenergy) if(energy <= 0) deactivate_field() visible_message("[src] blinks \"ENERGY DEPLETED\".") @@ -659,7 +659,7 @@ if(iscyborg(host.loc)) host = host.loc else - energy = CLAMP(energy + energy_recharge, 0, maxenergy) + energy = clamp(energy + energy_recharge, 0, maxenergy) return if(host.cell && (host.cell.charge >= (host.cell.maxcharge * cyborg_cell_critical_percentage)) && (energy < maxenergy)) host.cell.use(energy_recharge*energy_recharge_cyborg_drain_coefficient) diff --git a/code/game/objects/items/sharpener.dm b/code/game/objects/items/sharpener.dm index 93056adc99..014d4cb159 100644 --- a/code/game/objects/items/sharpener.dm +++ b/code/game/objects/items/sharpener.dm @@ -35,14 +35,14 @@ if(TH.force_wielded > initial(TH.force_wielded)) to_chat(user, "[TH] has already been refined before. It cannot be sharpened further!") return - TH.force_wielded = CLAMP(TH.force_wielded + increment, 0, max)//wieldforce is increased since normal force wont stay + TH.force_wielded = clamp(TH.force_wielded + increment, 0, max)//wieldforce is increased since normal force wont stay if(I.force > initial(I.force)) to_chat(user, "[I] has already been refined before. It cannot be sharpened further!") return user.visible_message("[user] sharpens [I] with [src]!", "You sharpen [I], making it much more deadly than before.") I.sharpness = IS_SHARP_ACCURATE - I.force = CLAMP(I.force + increment, 0, max) - I.throwforce = CLAMP(I.throwforce + increment, 0, max) + I.force = clamp(I.force + increment, 0, max) + I.throwforce = clamp(I.throwforce + increment, 0, max) I.name = "[prefix] [I.name]" name = "worn out [name]" desc = "[desc] At least, it used to." diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index 16f29491be..1ba6fc2364 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -169,7 +169,7 @@ max_integrity = 75 /obj/item/shield/run_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) - if(ismovableatom(object)) + if(ismovable(object)) var/atom/movable/AM = object if(CHECK_BITFIELD(shield_flags, SHIELD_TRANSPARENT) && (AM.pass_flags & PASSGLASS)) return BLOCK_NONE diff --git a/code/game/objects/items/singularityhammer.dm b/code/game/objects/items/singularityhammer.dm index 4c64ed9dd4..dc761ee3bf 100644 --- a/code/game/objects/items/singularityhammer.dm +++ b/code/game/objects/items/singularityhammer.dm @@ -37,7 +37,7 @@ /obj/item/twohanded/singularityhammer/proc/vortex(turf/pull, mob/wielder) for(var/atom/X in orange(5,pull)) - if(ismovableatom(X)) + if(ismovable(X)) var/atom/movable/A = X if(A == wielder) continue diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 70b00c72ec..add9ebd6b2 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -71,9 +71,9 @@ /obj/item/stack/proc/update_weight() if(amount <= (max_amount * (1/3))) - w_class = CLAMP(full_w_class-2, WEIGHT_CLASS_TINY, full_w_class) + w_class = clamp(full_w_class-2, WEIGHT_CLASS_TINY, full_w_class) else if (amount <= (max_amount * (2/3))) - w_class = CLAMP(full_w_class-1, WEIGHT_CLASS_TINY, full_w_class) + w_class = clamp(full_w_class-1, WEIGHT_CLASS_TINY, full_w_class) else w_class = full_w_class diff --git a/code/game/objects/items/tanks/tanks.dm b/code/game/objects/items/tanks/tanks.dm index 58e16ad615..1c92ed4e61 100644 --- a/code/game/objects/items/tanks/tanks.dm +++ b/code/game/objects/items/tanks/tanks.dm @@ -204,7 +204,7 @@ pressure = text2num(pressure) . = TRUE if(.) - distribute_pressure = CLAMP(round(pressure), TANK_MIN_RELEASE_PRESSURE, TANK_MAX_RELEASE_PRESSURE) + distribute_pressure = clamp(round(pressure), TANK_MIN_RELEASE_PRESSURE, TANK_MAX_RELEASE_PRESSURE) /obj/item/tank/remove_air(amount) return air_contents.remove(amount) diff --git a/code/game/objects/items/theft_tools.dm b/code/game/objects/items/theft_tools.dm index 6fbf9316ed..08390e1607 100644 --- a/code/game/objects/items/theft_tools.dm +++ b/code/game/objects/items/theft_tools.dm @@ -256,7 +256,7 @@ . = ..() if(!sliver) return - if(proximity && ismovableatom(O) && O != sliver) + if(proximity && ismovable(O) && O != sliver) Consume(O, user) /obj/item/hemostat/supermatter/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) // no instakill supermatter javelins diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index e582aa7e67..8dac972d04 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -31,7 +31,7 @@ if(damage_flag) armor_protection = armor.getRating(damage_flag) if(armor_protection) //Only apply weak-against-armor/hollowpoint effects if there actually IS armor. - armor_protection = CLAMP(armor_protection - armour_penetration, 0, 100) + armor_protection = clamp(armor_protection - armour_penetration, 0, 100) return round(damage_amount * (100 - armor_protection)*0.01, DAMAGE_PRECISION) //the sound played when the obj is damaged. @@ -213,7 +213,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e if(T.intact && level == 1) //fire can't damage things hidden below the floor. return if(exposed_temperature && !(resistance_flags & FIRE_PROOF)) - take_damage(CLAMP(0.02 * exposed_temperature, 0, 20), BURN, "fire", 0) + take_damage(clamp(0.02 * exposed_temperature, 0, 20), BURN, "fire", 0) if(!(resistance_flags & ON_FIRE) && (resistance_flags & FLAMMABLE)) resistance_flags |= ON_FIRE SSfire_burning.processing[src] = src @@ -244,7 +244,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e if(has_buckled_mobs()) for(var/m in buckled_mobs) var/mob/living/buckled_mob = m - buckled_mob.electrocute_act((CLAMP(round(strength/400), 10, 90) + rand(-5, 5)), src, flags = SHOCK_TESLA) + buckled_mob.electrocute_act((clamp(round(strength/400), 10, 90) + rand(-5, 5)), src, flags = SHOCK_TESLA) /obj/proc/reset_shocked() obj_flags &= ~BEING_SHOCKED diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index a40314c7ad..5da04a6686 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -505,7 +505,7 @@ /obj/structure/closet/container_resist(mob/living/user) if(opened) return - if(ismovableatom(loc)) + if(ismovable(loc)) user.changeNext_move(CLICK_CD_BREAKOUT) user.last_special = world.time + CLICK_CD_BREAKOUT var/atom/movable/AM = loc diff --git a/code/game/objects/structures/fireplace.dm b/code/game/objects/structures/fireplace.dm index ee8f285230..ca66dbd8de 100644 --- a/code/game/objects/structures/fireplace.dm +++ b/code/game/objects/structures/fireplace.dm @@ -130,7 +130,7 @@ if(burn_time_remaining() < MAXIMUM_BURN_TIMER) flame_expiry_timer = world.time + MAXIMUM_BURN_TIMER else - fuel_added = CLAMP(fuel_added + amount, 0, MAXIMUM_BURN_TIMER) + fuel_added = clamp(fuel_added + amount, 0, MAXIMUM_BURN_TIMER) /obj/structure/fireplace/proc/burn_time_remaining() if(lit) diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index 7c373f2734..fd62ffd368 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -294,7 +294,7 @@ /obj/structure/girder/CanAStarPass(ID, dir, caller) . = !density - if(ismovableatom(caller)) + if(ismovable(caller)) var/atom/movable/mover = caller . = . || (mover.pass_flags & PASSGRILLE) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 61983dcb4f..54e08db210 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -129,7 +129,7 @@ /obj/structure/grille/CanAStarPass(ID, dir, caller) . = !density - if(ismovableatom(caller)) + if(ismovable(caller)) var/atom/movable/mover = caller . = . || (mover.pass_flags & PASSGRILLE) diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index 8cf5b1ee66..79a7ce0519 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -333,7 +333,7 @@ GLOBAL_LIST_EMPTY(crematoriums) to_chat(user, "That's not connected to anything!") /obj/structure/tray/MouseDrop_T(atom/movable/O as mob|obj, mob/user) - if(!ismovableatom(O) || O.anchored || !Adjacent(user) || !user.Adjacent(O) || O.loc == user) + if(!ismovable(O) || O.anchored || !Adjacent(user) || !user.Adjacent(O) || O.loc == user) return if(!ismob(O)) if(!istype(O, /obj/structure/closet/body_bag)) @@ -375,6 +375,6 @@ GLOBAL_LIST_EMPTY(crematoriums) /obj/structure/tray/m_tray/CanAStarPass(ID, dir, caller) . = !density - if(ismovableatom(caller)) + if(ismovable(caller)) var/atom/movable/mover = caller . = . || (mover.pass_flags & PASSTABLE) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 550c0216c6..bbdf6925f9 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -103,7 +103,7 @@ /obj/structure/table/CanAStarPass(ID, dir, caller) . = !density - if(ismovableatom(caller)) + if(ismovable(caller)) var/atom/movable/mover = caller . = . || (mover.pass_flags & PASSTABLE) @@ -175,8 +175,8 @@ if(!click_params || !click_params["icon-x"] || !click_params["icon-y"]) return //Clamp it so that the icon never moves more than 16 pixels in either direction (thus leaving the table turf) - I.pixel_x = CLAMP(text2num(click_params["icon-x"]) - 16, -(world.icon_size/2), world.icon_size/2) - I.pixel_y = CLAMP(text2num(click_params["icon-y"]) - 16, -(world.icon_size/2), world.icon_size/2) + I.pixel_x = clamp(text2num(click_params["icon-x"]) - 16, -(world.icon_size/2), world.icon_size/2) + I.pixel_y = clamp(text2num(click_params["icon-y"]) - 16, -(world.icon_size/2), world.icon_size/2) return 1 else return ..() @@ -610,7 +610,7 @@ /obj/structure/rack/CanAStarPass(ID, dir, caller) . = !density - if(ismovableatom(caller)) + if(ismovable(caller)) var/atom/movable/mover = caller . = . || (mover.pass_flags & PASSTABLE) diff --git a/code/game/turfs/change_turf.dm b/code/game/turfs/change_turf.dm index bc4cd8df33..3a719d05b9 100644 --- a/code/game/turfs/change_turf.dm +++ b/code/game/turfs/change_turf.dm @@ -256,9 +256,9 @@ GLOBAL_LIST_INIT(blacklisted_automated_baseturfs, typecacheof(list( if(depth) var/list/target_baseturfs if(length(copytarget.baseturfs)) - // with default inputs this would be Copy(CLAMP(2, -INFINITY, baseturfs.len)) + // with default inputs this would be Copy(clamp(2, -INFINITY, baseturfs.len)) // Don't forget a lower index is lower in the baseturfs stack, the bottom is baseturfs[1] - target_baseturfs = copytarget.baseturfs.Copy(CLAMP(1 + ignore_bottom, 1 + copytarget.baseturfs.len - depth, copytarget.baseturfs.len)) + target_baseturfs = copytarget.baseturfs.Copy(clamp(1 + ignore_bottom, 1 + copytarget.baseturfs.len - depth, copytarget.baseturfs.len)) else if(!ignore_bottom) target_baseturfs = list(copytarget.baseturfs) if(target_baseturfs) diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index f31649eaca..849b6cf45d 100755 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -441,7 +441,7 @@ for(var/V in contents) var/atom/A = V if(!QDELETED(A) && A.level >= affecting_level) - if(ismovableatom(A)) + if(ismovable(A)) var/atom/movable/AM = A if(!AM.ex_check(explosion_id)) continue diff --git a/code/game/world.dm b/code/game/world.dm index 77361310b8..bee595047f 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -10,9 +10,7 @@ GLOBAL_LIST(topic_status_cache) /world/New() enable_debugger() -#if DM_VERSION >= 513 && DM_BUILD >= 1506 world.Profile(PROFILE_START) -#endif log_world("World loaded at [TIME_STAMP("hh:mm:ss", FALSE)]!") diff --git a/code/modules/admin/sound_emitter.dm b/code/modules/admin/sound_emitter.dm index 702e2071bd..56c778dc85 100644 --- a/code/modules/admin/sound_emitter.dm +++ b/code/modules/admin/sound_emitter.dm @@ -95,7 +95,7 @@ var/new_volume = input(user, "Choose a volume.", "Sound Emitter", sound_volume) as null|num if(isnull(new_volume)) return - new_volume = CLAMP(new_volume, 0, 100) + new_volume = clamp(new_volume, 0, 100) sound_volume = new_volume to_chat(user, "Volume set to [sound_volume]%.") if(href_list["edit_mode"]) @@ -118,7 +118,7 @@ var/new_radius = input(user, "Choose a radius.", "Sound Emitter", sound_volume) as null|num if(isnull(new_radius)) return - new_radius = CLAMP(new_radius, 0, 127) + new_radius = clamp(new_radius, 0, 127) play_radius = new_radius to_chat(user, "Audible radius set to [play_radius].") if(href_list["play"]) diff --git a/code/modules/admin/sql_message_system.dm b/code/modules/admin/sql_message_system.dm index 7b59e72403..356746ddbc 100644 --- a/code/modules/admin/sql_message_system.dm +++ b/code/modules/admin/sql_message_system.dm @@ -393,7 +393,7 @@ var/nsd = CONFIG_GET(number/note_stale_days) var/nfd = CONFIG_GET(number/note_fresh_days) if (agegate && type == "note" && isnum(nsd) && isnum(nfd) && nsd > nfd) - var/alpha = CLAMP(100 - (age - nfd) * (85 / (nsd - nfd)), 15, 100) + var/alpha = clamp(100 - (age - nfd) * (85 / (nsd - nfd)), 15, 100) if (alpha < 100) if (alpha <= 15) if (skipped) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 62c2dc900c..342f2ca6eb 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -2363,7 +2363,7 @@ return var/list/offset = splittext(href_list["offset"],",") - var/number = CLAMP(text2num(href_list["object_count"]), 1, 100) + var/number = clamp(text2num(href_list["object_count"]), 1, 100) var/X = offset.len > 0 ? text2num(offset[1]) : 0 var/Y = offset.len > 1 ? text2num(offset[2]) : 0 var/Z = offset.len > 2 ? text2num(offset[3]) : 0 diff --git a/code/modules/admin/verbs/borgpanel.dm b/code/modules/admin/verbs/borgpanel.dm index 83f2839438..869e44e4f5 100644 --- a/code/modules/admin/verbs/borgpanel.dm +++ b/code/modules/admin/verbs/borgpanel.dm @@ -85,7 +85,7 @@ if ("set_charge") var/newcharge = input("New charge (0-[borg.cell.maxcharge]):", borg.name, borg.cell.charge) as num|null if (newcharge) - borg.cell.charge = CLAMP(newcharge, 0, borg.cell.maxcharge) + borg.cell.charge = clamp(newcharge, 0, borg.cell.maxcharge) message_admins("[key_name_admin(user)] set the charge of [ADMIN_LOOKUPFLW(borg)] to [borg.cell.charge].") log_admin("[key_name(user)] set the charge of [key_name(borg)] to [borg.cell.charge].") if ("remove_cell") diff --git a/code/modules/admin/verbs/playsound.dm b/code/modules/admin/verbs/playsound.dm index cbbec40f85..066c38bcba 100644 --- a/code/modules/admin/verbs/playsound.dm +++ b/code/modules/admin/verbs/playsound.dm @@ -10,7 +10,7 @@ var/freq = input(usr, "What frequency would you like the sound to play at?",, 1) as null|num if(!freq) freq = 1 - vol = CLAMP(vol, 1, 100) + vol = clamp(vol, 1, 100) var/sound/admin_sound = new() admin_sound.file = S diff --git a/code/modules/antagonists/blob/blob/blobs/blob_mobs.dm b/code/modules/antagonists/blob/blob/blobs/blob_mobs.dm index 3757aecd02..fbdeea6b84 100644 --- a/code/modules/antagonists/blob/blob/blobs/blob_mobs.dm +++ b/code/modules/antagonists/blob/blob/blobs/blob_mobs.dm @@ -42,7 +42,7 @@ /mob/living/simple_animal/hostile/blob/fire_act(exposed_temperature, exposed_volume) ..() if(exposed_temperature) - adjustFireLoss(CLAMP(0.01 * exposed_temperature, 1, 5)) + adjustFireLoss(clamp(0.01 * exposed_temperature, 1, 5)) else adjustFireLoss(5) diff --git a/code/modules/antagonists/blob/blob/overmind.dm b/code/modules/antagonists/blob/blob/overmind.dm index aed64e4039..02be432045 100644 --- a/code/modules/antagonists/blob/blob/overmind.dm +++ b/code/modules/antagonists/blob/blob/overmind.dm @@ -203,7 +203,7 @@ GLOBAL_LIST_EMPTY(blob_nodes) B.hud_used.blobpwrdisplay.maptext = "
[round(blob_core.obj_integrity)]
" /mob/camera/blob/proc/add_points(points) - blob_points = CLAMP(blob_points + points, 0, max_blob_points) + blob_points = clamp(blob_points + points, 0, max_blob_points) hud_used.blobpwrdisplay.maptext = "
[round(blob_points)]
" /mob/camera/blob/say(message, bubble_type, var/list/spans = list(), sanitize = TRUE, datum/language/language = null, ignore_spam = FALSE, forced = null) diff --git a/code/modules/antagonists/blob/blob/theblob.dm b/code/modules/antagonists/blob/blob/theblob.dm index 444b10684b..5717dc557d 100644 --- a/code/modules/antagonists/blob/blob/theblob.dm +++ b/code/modules/antagonists/blob/blob/theblob.dm @@ -77,7 +77,7 @@ /obj/structure/blob/CanAStarPass(ID, dir, caller) . = 0 - if(ismovableatom(caller)) + if(ismovable(caller)) var/atom/movable/mover = caller . = . || (mover.pass_flags & PASSBLOB) diff --git a/code/modules/antagonists/bloodsucker/bloodsucker_life.dm b/code/modules/antagonists/bloodsucker/bloodsucker_life.dm index efccb5591e..3bfc76322d 100644 --- a/code/modules/antagonists/bloodsucker/bloodsucker_life.dm +++ b/code/modules/antagonists/bloodsucker/bloodsucker_life.dm @@ -39,7 +39,7 @@ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /datum/antagonist/bloodsucker/proc/AddBloodVolume(value) - owner.current.blood_volume = CLAMP(owner.current.blood_volume + value, 0, max_blood_volume) + owner.current.blood_volume = clamp(owner.current.blood_volume + value, 0, max_blood_volume) update_hud() /datum/antagonist/bloodsucker/proc/HandleFeeding(mob/living/carbon/target, mult=1) @@ -112,7 +112,7 @@ CheckVampOrgans() // Heart, Eyes if(check_limbs(costMult)) return TRUE - + // BRUTE: Always Heal var/bruteheal = min(C.getBruteLoss(), actual_regen) var/toxinheal = min(C.getToxLoss(), actual_regen) @@ -121,7 +121,7 @@ if(mult == 0) return TRUE if(owner.current.stat >= UNCONSCIOUS) //Faster regeneration while unconcious, so you dont have to wait all day - mult *= 2 + mult *= 2 // We have damage. Let's heal (one time) C.adjustBruteLoss(-bruteheal * mult, forced = TRUE)// Heal BRUTE / BURN in random portions throughout the body. C.adjustFireLoss(-fireheal * mult, forced = TRUE) @@ -129,7 +129,7 @@ //C.heal_overall_damage(bruteheal * mult, fireheal * mult) // REMOVED: We need to FORCE this, because otherwise, vamps won't heal EVER. Swapped to above. AddBloodVolume((bruteheal * -0.5 + fireheal * -1 + toxinheal * -0.2) / mult * costMult) // Costs blood to heal return TRUE // Healed! Done for this tick. - + /datum/antagonist/bloodsucker/proc/check_limbs(costMult) @@ -137,7 +137,7 @@ var/mob/living/carbon/C = owner.current var/list/missing = C.get_missing_limbs() if(missing.len && C.blood_volume < limb_regen_cost + 5) - return FALSE + return FALSE for(var/targetLimbZone in missing) // 1) Find ONE Limb and regenerate it. C.regenerate_limb(targetLimbZone, FALSE) // regenerate_limbs() <--- If you want to EXCLUDE certain parts, do it like this ----> regenerate_limbs(0, list("head")) AddBloodVolume(50) @@ -183,7 +183,7 @@ owner.current.blur_eyes(8 - 8 * (owner.current.blood_volume / BLOOD_VOLUME_BAD)) // Nutrition owner.current.nutrition = clamp(owner.current.blood_volume, 545, 0) //The amount of blood is how full we are. - //A bit higher regeneration based on blood volume + //A bit higher regeneration based on blood volume if(owner.current.blood_volume < 700) additional_regen = 0.4 else if(owner.current.blood_volume < BLOOD_VOLUME_NORMAL) @@ -369,8 +369,8 @@ //Puke blood only if puke_blood is true, and loose some blood, else just puke normally. if(puke_blood) C.blood_volume = max(0, C.blood_volume - foodInGut * 2) - C.vomit(foodInGut * 4, foodInGut * 2, 0) - else + C.vomit(foodInGut * 4, foodInGut * 2, 0) + else C.vomit(foodInGut * 4, FALSE, 0) C.Stun(30) //C.Dizzy(50) diff --git a/code/modules/antagonists/bloodsucker/bloodsucker_objectives.dm b/code/modules/antagonists/bloodsucker/bloodsucker_objectives.dm index 0c80ce0dee..7043c2f429 100644 --- a/code/modules/antagonists/bloodsucker/bloodsucker_objectives.dm +++ b/code/modules/antagonists/bloodsucker/bloodsucker_objectives.dm @@ -87,7 +87,7 @@ // Heads? if (target_role == "HEAD") target_amount = rand(1, round(SSticker.mode.num_players() / 20)) - target_amount = CLAMP(target_amount,1,3) + target_amount = clamp(target_amount,1,3) // Department? else switch(target_role) @@ -100,7 +100,7 @@ if("Quartermaster") department_string = "Cargo" target_amount = rand(round(SSticker.mode.num_players() / 20), round(SSticker.mode.num_players() / 10)) - target_amount = CLAMP(target_amount, 2, 4) + target_amount = clamp(target_amount, 2, 4) ..() // EXPLANATION diff --git a/code/modules/antagonists/bloodsucker/objects/bloodsucker_lair.dm b/code/modules/antagonists/bloodsucker/objects/bloodsucker_lair.dm index f68191d6d7..dd7e835d3a 100644 --- a/code/modules/antagonists/bloodsucker/objects/bloodsucker_lair.dm +++ b/code/modules/antagonists/bloodsucker/objects/bloodsucker_lair.dm @@ -63,7 +63,7 @@ // Find Animals in Area /* if(rand(0,2) == 0) var/mobCount = 0 - var/mobMax = CLAMP(area_turfs.len / 25, 1, 4) + var/mobMax = clamp(area_turfs.len / 25, 1, 4) for (var/turf/T in area_turfs) if(!T) continue var/mob/living/simple_animal/SA = locate() in T diff --git a/code/modules/antagonists/clockcult/clock_helpers/fabrication_helpers.dm b/code/modules/antagonists/clockcult/clock_helpers/fabrication_helpers.dm index 05f11294de..b0259c460e 100644 --- a/code/modules/antagonists/clockcult/clock_helpers/fabrication_helpers.dm +++ b/code/modules/antagonists/clockcult/clock_helpers/fabrication_helpers.dm @@ -239,7 +239,7 @@ if(!do_after(user, repair_values["healing_for_cycle"] * fabricator.speed_multiplier, target = src, \ extra_checks = CALLBACK(fabricator, /obj/item/clockwork/replica_fabricator.proc/fabricator_repair_checks, repair_values, src, user, TRUE))) break - obj_integrity = CLAMP(obj_integrity + repair_values["healing_for_cycle"], 0, max_integrity) + obj_integrity = clamp(obj_integrity + repair_values["healing_for_cycle"], 0, max_integrity) adjust_clockwork_power(-repair_values["power_required"]) playsound(src, 'sound/machines/click.ogg', 50, 1) diff --git a/code/modules/antagonists/clockcult/clock_helpers/power_helpers.dm b/code/modules/antagonists/clockcult/clock_helpers/power_helpers.dm index f927fc237d..628add0cb3 100644 --- a/code/modules/antagonists/clockcult/clock_helpers/power_helpers.dm +++ b/code/modules/antagonists/clockcult/clock_helpers/power_helpers.dm @@ -10,7 +10,7 @@ if(GLOB.ratvar_awakens) current_power = GLOB.clockwork_power = INFINITY else - current_power = GLOB.clockwork_power = CLAMP(GLOB.clockwork_power + amount, 0, MAX_CLOCKWORK_POWER) + current_power = GLOB.clockwork_power = clamp(GLOB.clockwork_power + amount, 0, MAX_CLOCKWORK_POWER) for(var/obj/effect/clockwork/sigil/transmission/T in GLOB.all_clockwork_objects) T.update_icon() var/unlock_message diff --git a/code/modules/antagonists/clockcult/clock_helpers/slab_abilities.dm b/code/modules/antagonists/clockcult/clock_helpers/slab_abilities.dm index c7c9c42ee9..de2e85a501 100644 --- a/code/modules/antagonists/clockcult/clock_helpers/slab_abilities.dm +++ b/code/modules/antagonists/clockcult/clock_helpers/slab_abilities.dm @@ -211,7 +211,7 @@ var/mob/living/carbon/C = L C.stuttering = max(8, C.stuttering) C.drowsyness = max(8, C.drowsyness) - C.confused += CLAMP(16 - C.confused, 0, 8) + C.confused += clamp(16 - C.confused, 0, 8) C.apply_status_effect(STATUS_EFFECT_BELLIGERENT) L.adjustFireLoss(15) ..() diff --git a/code/modules/antagonists/clockcult/clock_items/clock_weapons/ratvarian_spear.dm b/code/modules/antagonists/clockcult/clock_items/clock_weapons/ratvarian_spear.dm index 4a10862e28..234f0445e0 100644 --- a/code/modules/antagonists/clockcult/clock_items/clock_weapons/ratvarian_spear.dm +++ b/code/modules/antagonists/clockcult/clock_items/clock_weapons/ratvarian_spear.dm @@ -59,7 +59,7 @@ if(issilicon(L)) L.DefaultCombatKnockdown(100) else if(iscultist(L)) - L.confused += CLAMP(10 - L.confused, 0, 5) // Spearthrow now confuses enemy cultists + just deals extra damage / sets on fire instead of hardstunning + damage + L.confused += clamp(10 - L.confused, 0, 5) // Spearthrow now confuses enemy cultists + just deals extra damage / sets on fire instead of hardstunning + damage to_chat(L, "[src] crashes into you with burning force, sending you reeling!") L.adjust_fire_stacks(2) L.DefaultCombatKnockdown(1) diff --git a/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm b/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm index 0fd6c8a8dc..ffe9ecfa80 100644 --- a/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm +++ b/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm @@ -111,7 +111,7 @@ var/mob/living/L = M.current if(ishuman(L) && L.stat != DEAD) human_servants++ - construct_limit = round(CLAMP((human_servants / 4), 1, 3)) //1 per 4 human servants, maximum of 3 + construct_limit = round(clamp((human_servants / 4), 1, 3)) //1 per 4 human servants, maximum of 3 //Summon Neovgre: Summon a very powerful combat mech that explodes when destroyed for massive damage. /datum/clockwork_scripture/create_object/summon_arbiter diff --git a/code/modules/antagonists/clockcult/clock_structures/mania_motor.dm b/code/modules/antagonists/clockcult/clock_structures/mania_motor.dm index 9b4ac8085c..5fbaf9fd57 100644 --- a/code/modules/antagonists/clockcult/clock_structures/mania_motor.dm +++ b/code/modules/antagonists/clockcult/clock_structures/mania_motor.dm @@ -63,4 +63,4 @@ break if(!M) M = H.apply_status_effect(STATUS_EFFECT_MANIAMOTOR, src) - M.severity = CLAMP(M.severity + ((11 - get_dist(src, H)) * efficiency * efficiency), 0, MAX_MANIA_SEVERITY) + M.severity = clamp(M.severity + ((11 - get_dist(src, H)) * efficiency * efficiency), 0, MAX_MANIA_SEVERITY) diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm index d64e99d206..28d1a66e00 100644 --- a/code/modules/antagonists/cult/blood_magic.dm +++ b/code/modules/antagonists/cult/blood_magic.dm @@ -454,16 +454,16 @@ S.emp_act(EMP_HEAVY) else if(iscarbon(target)) var/mob/living/carbon/C = L - C.silent += CLAMP(12 - C.silent, 0, 6) - C.stuttering += CLAMP(30 - C.stuttering, 0, 15) - C.cultslurring += CLAMP(30 - C.cultslurring, 0, 15) + C.silent += clamp(12 - C.silent, 0, 6) + C.stuttering += clamp(30 - C.stuttering, 0, 15) + C.cultslurring += clamp(30 - C.cultslurring, 0, 15) C.Jitter(15) else // cultstun no longer hardstuns + damages hostile cultists, instead debuffs them hard + deals some damage; debuffs for a bit longer since they don't add the clockie belligerent debuff if(iscarbon(target)) var/mob/living/carbon/C = L C.stuttering = max(10, C.stuttering) C.drowsyness = max(10, C.drowsyness) - C.confused += CLAMP(20 - C.confused, 0, 10) + C.confused += clamp(20 - C.confused, 0, 10) L.adjustBruteLoss(15) to_chat(user, "In an brilliant flash of red, [L] [iscultist(L) ? "writhes in pain" : "falls to the ground!"]") uses-- diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index b05aa7f769..fcb57a5a2e 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -731,7 +731,7 @@ if(!L.anti_magic_check()) if(is_servant_of_ratvar(L)) to_chat(L, "\"Kneel for me, scum\"") - L.confused += CLAMP(10 - L.confused, 0, 5) //confuses and lightly knockdowns + damages hostile cultists instead of hardstunning like before + L.confused += clamp(10 - L.confused, 0, 5) //confuses and lightly knockdowns + damages hostile cultists instead of hardstunning like before L.DefaultCombatKnockdown(15) L.adjustBruteLoss(10) else diff --git a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm index b4f896fa08..5552efef1f 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm @@ -358,7 +358,7 @@ if(NUKEUI_AWAIT_TIMER) var/number_value = text2num(numeric_input) if(number_value) - timer_set = CLAMP(number_value, minimum_timer_set, maximum_timer_set) + timer_set = clamp(number_value, minimum_timer_set, maximum_timer_set) playsound(src, 'sound/machines/nuke/general_beep.ogg', 50, FALSE) set_safety() . = TRUE diff --git a/code/modules/atmospherics/gasmixtures/reactions.dm b/code/modules/atmospherics/gasmixtures/reactions.dm index ebe894138d..59ef15b4cf 100644 --- a/code/modules/atmospherics/gasmixtures/reactions.dm +++ b/code/modules/atmospherics/gasmixtures/reactions.dm @@ -282,7 +282,7 @@ var/new_heat_capacity = air.heat_capacity() if(new_heat_capacity > MINIMUM_HEAT_CAPACITY) - air.temperature = CLAMP(((air.temperature*old_heat_capacity + reaction_energy)/new_heat_capacity),TCMB,INFINITY) + air.temperature = clamp(((air.temperature*old_heat_capacity + reaction_energy)/new_heat_capacity),TCMB,INFINITY) return REACTING /datum/gas_reaction/nitrylformation //The formation of nitryl. Endothermic. Requires N2O as a catalyst. diff --git a/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm index 9238b8602b..2dc0afac26 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm @@ -159,13 +159,13 @@ pump_direction = 1 if("set_input_pressure" in signal.data) - input_pressure_min = CLAMP(text2num(signal.data["set_input_pressure"]),0,ONE_ATMOSPHERE*50) + input_pressure_min = clamp(text2num(signal.data["set_input_pressure"]),0,ONE_ATMOSPHERE*50) if("set_output_pressure" in signal.data) - output_pressure_max = CLAMP(text2num(signal.data["set_output_pressure"]),0,ONE_ATMOSPHERE*50) + output_pressure_max = clamp(text2num(signal.data["set_output_pressure"]),0,ONE_ATMOSPHERE*50) if("set_external_pressure" in signal.data) - external_pressure_bound = CLAMP(text2num(signal.data["set_external_pressure"]),0,ONE_ATMOSPHERE*50) + external_pressure_bound = clamp(text2num(signal.data["set_external_pressure"]),0,ONE_ATMOSPHERE*50) if("status" in signal.data) spawn(2) diff --git a/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm b/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm index 02eb95acab..051dc965ad 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm @@ -122,7 +122,7 @@ Passive gate is similar to the regular pump except: pressure = text2num(pressure) . = TRUE if(.) - target_pressure = CLAMP(pressure, 0, MAX_OUTPUT_PRESSURE) + target_pressure = clamp(pressure, 0, MAX_OUTPUT_PRESSURE) investigate_log("was set to [target_pressure] kPa by [key_name(usr)]", INVESTIGATE_ATMOS) update_icon() @@ -144,7 +144,7 @@ Passive gate is similar to the regular pump except: on = !on if("set_output_pressure" in signal.data) - target_pressure = CLAMP(text2num(signal.data["set_output_pressure"]),0,ONE_ATMOSPHERE*50) + target_pressure = clamp(text2num(signal.data["set_output_pressure"]),0,ONE_ATMOSPHERE*50) if(on != old_on) investigate_log("was turned [on ? "on" : "off"] by a remote signal", INVESTIGATE_ATMOS) diff --git a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm index 9e49953df5..0e41f78e20 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm @@ -145,7 +145,7 @@ pressure = text2num(pressure) . = TRUE if(.) - target_pressure = CLAMP(pressure, 0, MAX_OUTPUT_PRESSURE) + target_pressure = clamp(pressure, 0, MAX_OUTPUT_PRESSURE) investigate_log("was set to [target_pressure] kPa by [key_name(usr)]", INVESTIGATE_ATMOS) update_icon() @@ -167,7 +167,7 @@ on = !on if("set_output_pressure" in signal.data) - target_pressure = CLAMP(text2num(signal.data["set_output_pressure"]),0,ONE_ATMOSPHERE*50) + target_pressure = clamp(text2num(signal.data["set_output_pressure"]),0,ONE_ATMOSPHERE*50) if(on != old_on) investigate_log("was turned [on ? "on" : "off"] by a remote signal", INVESTIGATE_ATMOS) diff --git a/code/modules/atmospherics/machinery/components/binary_devices/relief_valve.dm b/code/modules/atmospherics/machinery/components/binary_devices/relief_valve.dm index bc58ef158f..7bdd22cbd1 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/relief_valve.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/relief_valve.dm @@ -91,7 +91,7 @@ pressure = text2num(pressure) . = TRUE if(.) - open_pressure = CLAMP(pressure, close_pressure, 50*ONE_ATMOSPHERE) + open_pressure = clamp(pressure, close_pressure, 50*ONE_ATMOSPHERE) investigate_log("open pressure was set to [open_pressure] kPa by [key_name(usr)]", INVESTIGATE_ATMOS) if("close_pressure") var/pressure = params["close_pressure"] @@ -106,6 +106,6 @@ pressure = text2num(pressure) . = TRUE if(.) - close_pressure = CLAMP(pressure, 0, open_pressure) + close_pressure = clamp(pressure, 0, open_pressure) investigate_log("close pressure was set to [close_pressure] kPa by [key_name(usr)]", INVESTIGATE_ATMOS) update_icon() diff --git a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm index 864e3eef5e..1005f72afe 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm @@ -135,7 +135,7 @@ rate = text2num(rate) . = TRUE if(.) - transfer_rate = CLAMP(rate, 0, MAX_TRANSFER_RATE) + transfer_rate = clamp(rate, 0, MAX_TRANSFER_RATE) investigate_log("was set to [transfer_rate] L/s by [key_name(usr)]", INVESTIGATE_ATMOS) update_icon() @@ -153,7 +153,7 @@ if("set_transfer_rate" in signal.data) var/datum/gas_mixture/air1 = airs[1] - transfer_rate = CLAMP(text2num(signal.data["set_transfer_rate"]),0,air1.volume) + transfer_rate = clamp(text2num(signal.data["set_transfer_rate"]),0,air1.volume) if(on != old_on) investigate_log("was turned [on ? "on" : "off"] by a remote signal", INVESTIGATE_ATMOS) diff --git a/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm b/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm index 1099020662..78258dd10a 100644 --- a/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm +++ b/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm @@ -175,7 +175,7 @@ rate = text2num(rate) . = TRUE if(.) - transfer_rate = CLAMP(rate, 0, MAX_TRANSFER_RATE) + transfer_rate = clamp(rate, 0, MAX_TRANSFER_RATE) investigate_log("was set to [transfer_rate] L/s by [key_name(usr)]", INVESTIGATE_ATMOS) if("filter") filter_type = null diff --git a/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm b/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm index 5b929452fe..dcf0d09bee 100644 --- a/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm +++ b/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm @@ -164,7 +164,7 @@ pressure = text2num(pressure) . = TRUE if(.) - target_pressure = CLAMP(pressure, 0, MAX_OUTPUT_PRESSURE) + target_pressure = clamp(pressure, 0, MAX_OUTPUT_PRESSURE) investigate_log("was set to [target_pressure] kPa by [key_name(usr)]", INVESTIGATE_ATMOS) if("node1") var/value = text2num(params["concentration"]) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm b/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm index 87ab4fa643..05720583f9 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm @@ -123,7 +123,7 @@ if("set_volume_rate" in signal.data) var/number = text2num(signal.data["set_volume_rate"]) var/datum/gas_mixture/air_contents = airs[1] - volume_rate = CLAMP(number, 0, air_contents.volume) + volume_rate = clamp(number, 0, air_contents.volume) if("status" in signal.data) spawn(2) @@ -172,7 +172,7 @@ rate = text2num(rate) . = TRUE if(.) - volume_rate = CLAMP(rate, 0, MAX_TRANSFER_RATE) + volume_rate = clamp(rate, 0, MAX_TRANSFER_RATE) investigate_log("was set to [volume_rate] L/s by [key_name(usr)]", INVESTIGATE_ATMOS) update_icon() broadcast_status() diff --git a/code/modules/atmospherics/machinery/components/unary_devices/relief_valve.dm b/code/modules/atmospherics/machinery/components/unary_devices/relief_valve.dm index 4b6a4a4c10..1d8b875528 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/relief_valve.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/relief_valve.dm @@ -92,7 +92,7 @@ pressure = text2num(pressure) . = TRUE if(.) - open_pressure = CLAMP(pressure, close_pressure, 50*ONE_ATMOSPHERE) + open_pressure = clamp(pressure, close_pressure, 50*ONE_ATMOSPHERE) investigate_log("open pressure was set to [open_pressure] kPa by [key_name(usr)]", INVESTIGATE_ATMOS) if("close_pressure") var/pressure = params["close_pressure"] @@ -107,6 +107,6 @@ pressure = text2num(pressure) . = TRUE if(.) - close_pressure = CLAMP(pressure, 0, open_pressure) + close_pressure = clamp(pressure, 0, open_pressure) investigate_log("close pressure was set to [close_pressure] kPa by [key_name(usr)]", INVESTIGATE_ATMOS) update_icon() diff --git a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm index 877826c1c1..f98f628cab 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm @@ -170,7 +170,7 @@ target = text2num(target) . = TRUE if(.) - target_temperature = CLAMP(target, min_temperature, max_temperature) + target_temperature = clamp(target, min_temperature, max_temperature) investigate_log("was set to [target_temperature] K by [key_name(usr)]", INVESTIGATE_ATMOS) update_icon() diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm index f2f2329661..9788bcb4ee 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm @@ -210,13 +210,13 @@ if("set_internal_pressure" in signal.data) var/old_pressure = internal_pressure_bound - internal_pressure_bound = CLAMP(text2num(signal.data["set_internal_pressure"]),0,ONE_ATMOSPHERE*50) + internal_pressure_bound = clamp(text2num(signal.data["set_internal_pressure"]),0,ONE_ATMOSPHERE*50) if(old_pressure != internal_pressure_bound) investigate_log(" internal pressure was set to [internal_pressure_bound] by [key_name(signal_sender)]",INVESTIGATE_ATMOS) if("set_external_pressure" in signal.data) var/old_pressure = external_pressure_bound - external_pressure_bound = CLAMP(text2num(signal.data["set_external_pressure"]),0,ONE_ATMOSPHERE*50) + external_pressure_bound = clamp(text2num(signal.data["set_external_pressure"]),0,ONE_ATMOSPHERE*50) if(old_pressure != external_pressure_bound) investigate_log(" external pressure was set to [external_pressure_bound] by [key_name(signal_sender)]",INVESTIGATE_ATMOS) @@ -227,10 +227,10 @@ internal_pressure_bound = 0 if("adjust_internal_pressure" in signal.data) - internal_pressure_bound = CLAMP(internal_pressure_bound + text2num(signal.data["adjust_internal_pressure"]),0,ONE_ATMOSPHERE*50) + internal_pressure_bound = clamp(internal_pressure_bound + text2num(signal.data["adjust_internal_pressure"]),0,ONE_ATMOSPHERE*50) if("adjust_external_pressure" in signal.data) - external_pressure_bound = CLAMP(external_pressure_bound + text2num(signal.data["adjust_external_pressure"]),0,ONE_ATMOSPHERE*50) + external_pressure_bound = clamp(external_pressure_bound + text2num(signal.data["adjust_external_pressure"]),0,ONE_ATMOSPHERE*50) if("init" in signal.data) name = signal.data["init"] diff --git a/code/modules/atmospherics/machinery/pipes/layermanifold.dm b/code/modules/atmospherics/machinery/pipes/layermanifold.dm index b98098584f..33092f5354 100644 --- a/code/modules/atmospherics/machinery/pipes/layermanifold.dm +++ b/code/modules/atmospherics/machinery/pipes/layermanifold.dm @@ -128,7 +128,7 @@ if(initialize_directions & dir) return ..() if((NORTH|EAST) & dir) - user.ventcrawl_layer = CLAMP(user.ventcrawl_layer + 1, PIPING_LAYER_MIN, PIPING_LAYER_MAX) + user.ventcrawl_layer = clamp(user.ventcrawl_layer + 1, PIPING_LAYER_MIN, PIPING_LAYER_MAX) if((SOUTH|WEST) & dir) - user.ventcrawl_layer = CLAMP(user.ventcrawl_layer - 1, PIPING_LAYER_MIN, PIPING_LAYER_MAX) + user.ventcrawl_layer = clamp(user.ventcrawl_layer - 1, PIPING_LAYER_MIN, PIPING_LAYER_MAX) to_chat(user, "You align yourself with the [user.ventcrawl_layer]\th output.") diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm index 0b26cfc2f0..a41bdee3b6 100644 --- a/code/modules/atmospherics/machinery/portable/canister.dm +++ b/code/modules/atmospherics/machinery/portable/canister.dm @@ -390,7 +390,7 @@ pressure = text2num(pressure) . = TRUE if(.) - release_pressure = CLAMP(round(pressure), can_min_release_pressure, can_max_release_pressure) + release_pressure = clamp(round(pressure), can_min_release_pressure, can_max_release_pressure) investigate_log("was set to [release_pressure] kPa by [key_name(usr)].", INVESTIGATE_ATMOS) if("valve") var/logmsg @@ -434,7 +434,7 @@ var/N = text2num(user_input) if(!N) return - timer_set = CLAMP(N,minimum_timer_set,maximum_timer_set) + timer_set = clamp(N,minimum_timer_set,maximum_timer_set) log_admin("[key_name(usr)] has activated a prototype valve timer") . = TRUE if("toggle_timer") diff --git a/code/modules/atmospherics/machinery/portable/pump.dm b/code/modules/atmospherics/machinery/portable/pump.dm index 3603e46490..18e4da621a 100644 --- a/code/modules/atmospherics/machinery/portable/pump.dm +++ b/code/modules/atmospherics/machinery/portable/pump.dm @@ -150,7 +150,7 @@ pressure = text2num(pressure) . = TRUE if(.) - pump.target_pressure = CLAMP(round(pressure), PUMP_MIN_PRESSURE, PUMP_MAX_PRESSURE) + pump.target_pressure = clamp(round(pressure), PUMP_MIN_PRESSURE, PUMP_MAX_PRESSURE) investigate_log("was set to [pump.target_pressure] kPa by [key_name(usr)].", INVESTIGATE_ATMOS) if("eject") if(holding) diff --git a/code/modules/buildmode/effects/line.dm b/code/modules/buildmode/effects/line.dm index 60191de934..8bba27ac88 100644 --- a/code/modules/buildmode/effects/line.dm +++ b/code/modules/buildmode/effects/line.dm @@ -12,7 +12,7 @@ var/matrix/mat = matrix() mat.Translate(0, 16) mat.Scale(1, sqrt((x_offset * x_offset) + (y_offset * y_offset)) / 32) - mat.Turn(90 - ATAN2(x_offset, y_offset)) // So... You pass coords in order x,y to this version of atan2. It should be called acsc2. + mat.Turn(90 - arctan(x_offset, y_offset)) // So... You pass coords in order x,y to this version of atan2. It should be called acsc2. mat.Translate(atom_a.pixel_x, atom_a.pixel_y) transform = mat diff --git a/code/modules/buildmode/submodes/copy.dm b/code/modules/buildmode/submodes/copy.dm index ba415c50fc..4aed8ac700 100644 --- a/code/modules/buildmode/submodes/copy.dm +++ b/code/modules/buildmode/submodes/copy.dm @@ -23,6 +23,6 @@ DuplicateObject(stored, perfectcopy=1, sameloc=0,newloc=T) log_admin("Build Mode: [key_name(c)] copied [stored] to [AREACOORD(object)]") else if(right_click) - if(ismovableatom(object)) // No copying turfs for now. + if(ismovable(object)) // No copying turfs for now. to_chat(c, "[object] set as template.") stored = object diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index 74885d0ac0..989ccaf450 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -888,8 +888,8 @@ GLOBAL_LIST_EMPTY(external_rsc_urls) var/viewscale = getviewsize(view) var/x = viewscale[1] var/y = viewscale[2] - x = CLAMP(x+change, min, max) - y = CLAMP(y+change, min,max) + x = clamp(x+change, min, max) + y = clamp(y+change, min,max) change_view("[x]x[y]") /client/proc/change_view(new_size) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 76e0b36961..30291236e2 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1966,7 +1966,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/max_D = CONFIG_GET(number/penis_max_inches_prefs) var/new_length = input(user, "Penis length in inches:\n([min_D]-[max_D])", "Character Preference") as num|null if(new_length) - features["cock_length"] = CLAMP(round(new_length), min_D, max_D) + features["cock_length"] = clamp(round(new_length), min_D, max_D) if("cock_shape") var/new_shape @@ -2163,7 +2163,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/danger = CONFIG_GET(number/threshold_body_size_slowdown) var/new_body_size = input(user, "Choose your desired sprite size:\n([min*100]%-[max*100]%), Warning: May make your character look distorted[danger > min ? ", and an exponential slowdown will occur for those smaller than [danger*100]%!" : "!"]", "Character Preference", features["body_size"]*100) as num|null if (new_body_size) - new_body_size = CLAMP(new_body_size * 0.01, min, max) + new_body_size = clamp(new_body_size * 0.01, min, max) var/dorfy if(danger > new_body_size) dorfy = alert(user, "The chosen size appears to be smaller than the threshold of [danger*100]%, which will lead to an added exponential slowdown. Are you sure about that?", "Dwarfism Alert", "Yes", "Move it to the threshold", "No") diff --git a/code/modules/events/wormholes.dm b/code/modules/events/wormholes.dm index b7f8b8f911..a8137acf48 100644 --- a/code/modules/events/wormholes.dm +++ b/code/modules/events/wormholes.dm @@ -57,7 +57,7 @@ if(!(ismecha(M) && mech_sized)) return - if(ismovableatom(M)) + if(ismovable(M)) if(GLOB.portals.len) var/obj/effect/portal/P = pick(GLOB.portals) if(P && isturf(P.loc)) diff --git a/code/modules/food_and_drinks/food.dm b/code/modules/food_and_drinks/food.dm index 1342b1fcbf..203eb3eef6 100644 --- a/code/modules/food_and_drinks/food.dm +++ b/code/modules/food_and_drinks/food.dm @@ -25,7 +25,7 @@ pixel_y = rand(-5, 5) /obj/item/reagent_containers/food/proc/adjust_food_quality(new_quality) - food_quality = CLAMP(new_quality,0,100) + food_quality = clamp(new_quality,0,100) /obj/item/reagent_containers/food/proc/checkLiked(var/fraction, mob/M) if(last_check_time + 50 < world.time) diff --git a/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm b/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm index 68cc84c639..feba35da97 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm @@ -118,7 +118,7 @@ break if(href_list["portion"]) - portion = CLAMP(input("How much drink do you want to dispense per glass?") as num, 0, 50) + portion = clamp(input("How much drink do you want to dispense per glass?") as num, 0, 50) if(href_list["pour"] || href_list["m_pour"]) if(glasses-- <= 0) diff --git a/code/modules/food_and_drinks/pizzabox.dm b/code/modules/food_and_drinks/pizzabox.dm index 94c8d7219c..19ded25b08 100644 --- a/code/modules/food_and_drinks/pizzabox.dm +++ b/code/modules/food_and_drinks/pizzabox.dm @@ -125,7 +125,7 @@ return else bomb_timer = input(user, "Set the [bomb] timer from [BOMB_TIMER_MIN] to [BOMB_TIMER_MAX].", bomb, bomb_timer) as num - bomb_timer = CLAMP(CEILING(bomb_timer / 2, 1), BOMB_TIMER_MIN, BOMB_TIMER_MAX) + bomb_timer = clamp(CEILING(bomb_timer / 2, 1), BOMB_TIMER_MIN, BOMB_TIMER_MAX) bomb_defused = FALSE var/message = "[ADMIN_LOOKUPFLW(user)] has trapped a [src] with [bomb] set to [bomb_timer * 2] seconds." diff --git a/code/modules/goonchat/browserOutput.dm b/code/modules/goonchat/browserOutput.dm index 74432c7cbe..6d9e141309 100644 --- a/code/modules/goonchat/browserOutput.dm +++ b/code/modules/goonchat/browserOutput.dm @@ -138,7 +138,7 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("tmp/iconCache.sav")) //Cache of ico /datum/chatOutput/proc/setMusicVolume(volume = "") if(volume) - adminMusicVolume = CLAMP(text2num(volume), 0, 100) + adminMusicVolume = clamp(text2num(volume), 0, 100) //Sends client connection details to the chat to handle and save /datum/chatOutput/proc/sendClientData() diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm index 6a3fd56208..7fac7ef9b6 100644 --- a/code/modules/hydroponics/biogenerator.dm +++ b/code/modules/hydroponics/biogenerator.dm @@ -311,7 +311,7 @@ else if(href_list["create"]) var/amount = (text2num(href_list["amount"])) //Can't be outside these (if you change this keep a sane limit) - amount = CLAMP(amount, 1, 50) + amount = clamp(amount, 1, 50) var/id = href_list["create"] if(!stored_research.researched_designs.Find(id)) //naughty naughty diff --git a/code/modules/hydroponics/grown/towercap.dm b/code/modules/hydroponics/grown/towercap.dm index 1775a1f9b1..a18dbe165d 100644 --- a/code/modules/hydroponics/grown/towercap.dm +++ b/code/modules/hydroponics/grown/towercap.dm @@ -199,8 +199,8 @@ if(!click_params || !click_params["icon-x"] || !click_params["icon-y"]) return //Clamp it so that the icon never moves more than 16 pixels in either direction (thus leaving the table turf) - W.pixel_x = CLAMP(text2num(click_params["icon-x"]) - 16, -(world.icon_size/2), world.icon_size/2) - W.pixel_y = CLAMP(text2num(click_params["icon-y"]) - 16, -(world.icon_size/2), world.icon_size/2) + W.pixel_x = clamp(text2num(click_params["icon-x"]) - 16, -(world.icon_size/2), world.icon_size/2) + W.pixel_y = clamp(text2num(click_params["icon-y"]) - 16, -(world.icon_size/2), world.icon_size/2) else return ..() diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index 718033ac56..b7665d7b5d 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -928,26 +928,26 @@ /// Tray Setters - The following procs adjust the tray or plants variables, and make sure that the stat doesn't go out of bounds./// /obj/machinery/hydroponics/proc/adjustNutri(adjustamt) - nutrilevel = CLAMP(nutrilevel + adjustamt, 0, maxnutri) + nutrilevel = clamp(nutrilevel + adjustamt, 0, maxnutri) /obj/machinery/hydroponics/proc/adjustWater(adjustamt) - waterlevel = CLAMP(waterlevel + adjustamt, 0, maxwater) + waterlevel = clamp(waterlevel + adjustamt, 0, maxwater) if(adjustamt>0) adjustToxic(-round(adjustamt/4))//Toxicity dilutation code. The more water you put in, the lesser the toxin concentration. /obj/machinery/hydroponics/proc/adjustHealth(adjustamt) if(myseed && !dead) - plant_health = CLAMP(plant_health + adjustamt, 0, myseed.endurance) + plant_health = clamp(plant_health + adjustamt, 0, myseed.endurance) /obj/machinery/hydroponics/proc/adjustToxic(adjustamt) - toxic = CLAMP(toxic + adjustamt, 0, 100) + toxic = clamp(toxic + adjustamt, 0, 100) /obj/machinery/hydroponics/proc/adjustPests(adjustamt) - pestlevel = CLAMP(pestlevel + adjustamt, 0, 10) + pestlevel = clamp(pestlevel + adjustamt, 0, 10) /obj/machinery/hydroponics/proc/adjustWeeds(adjustamt) - weedlevel = CLAMP(weedlevel + adjustamt, 0, 10) + weedlevel = clamp(weedlevel + adjustamt, 0, 10) /obj/machinery/hydroponics/proc/spawnplant() // why would you put strange reagent in a hydro tray you monster I bet you also feed them blood var/list/livingplants = list(/mob/living/simple_animal/hostile/tree, /mob/living/simple_animal/hostile/killertomato) diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm index aa0e789721..5e49a32a23 100644 --- a/code/modules/hydroponics/seeds.dm +++ b/code/modules/hydroponics/seeds.dm @@ -211,7 +211,7 @@ obj/item/seeds/proc/is_gene_forbidden(typepath) /// Setters procs /// /obj/item/seeds/proc/adjust_yield(adjustamt) if(yield != -1) // Unharvestable shouldn't suddenly turn harvestable - yield = CLAMP(yield + adjustamt, 0, 10) + yield = clamp(yield + adjustamt, 0, 10) if(yield <= 0 && get_gene(/datum/plant_gene/trait/plant_type/fungal_metabolism)) yield = 1 // Mushrooms always have a minimum yield of 1. @@ -220,39 +220,39 @@ obj/item/seeds/proc/is_gene_forbidden(typepath) C.value = yield /obj/item/seeds/proc/adjust_lifespan(adjustamt) - lifespan = CLAMP(lifespan + adjustamt, 10, 100) + lifespan = clamp(lifespan + adjustamt, 10, 100) var/datum/plant_gene/core/C = get_gene(/datum/plant_gene/core/lifespan) if(C) C.value = lifespan /obj/item/seeds/proc/adjust_endurance(adjustamt) - endurance = CLAMP(endurance + adjustamt, 10, 100) + endurance = clamp(endurance + adjustamt, 10, 100) var/datum/plant_gene/core/C = get_gene(/datum/plant_gene/core/endurance) if(C) C.value = endurance /obj/item/seeds/proc/adjust_production(adjustamt) if(yield != -1) - production = CLAMP(production + adjustamt, 1, 10) + production = clamp(production + adjustamt, 1, 10) var/datum/plant_gene/core/C = get_gene(/datum/plant_gene/core/production) if(C) C.value = production /obj/item/seeds/proc/adjust_potency(adjustamt) if(potency != -1) - potency = CLAMP(potency + adjustamt, 0, 100) + potency = clamp(potency + adjustamt, 0, 100) var/datum/plant_gene/core/C = get_gene(/datum/plant_gene/core/potency) if(C) C.value = potency /obj/item/seeds/proc/adjust_weed_rate(adjustamt) - weed_rate = CLAMP(weed_rate + adjustamt, 0, 10) + weed_rate = clamp(weed_rate + adjustamt, 0, 10) var/datum/plant_gene/core/C = get_gene(/datum/plant_gene/core/weed_rate) if(C) C.value = weed_rate /obj/item/seeds/proc/adjust_weed_chance(adjustamt) - weed_chance = CLAMP(weed_chance + adjustamt, 0, 67) + weed_chance = clamp(weed_chance + adjustamt, 0, 67) var/datum/plant_gene/core/C = get_gene(/datum/plant_gene/core/weed_chance) if(C) C.value = weed_chance @@ -261,7 +261,7 @@ obj/item/seeds/proc/is_gene_forbidden(typepath) /obj/item/seeds/proc/set_yield(adjustamt) if(yield != -1) // Unharvestable shouldn't suddenly turn harvestable - yield = CLAMP(adjustamt, 0, 10) + yield = clamp(adjustamt, 0, 10) if(yield <= 0 && get_gene(/datum/plant_gene/trait/plant_type/fungal_metabolism)) yield = 1 // Mushrooms always have a minimum yield of 1. @@ -270,39 +270,39 @@ obj/item/seeds/proc/is_gene_forbidden(typepath) C.value = yield /obj/item/seeds/proc/set_lifespan(adjustamt) - lifespan = CLAMP(adjustamt, 10, 100) + lifespan = clamp(adjustamt, 10, 100) var/datum/plant_gene/core/C = get_gene(/datum/plant_gene/core/lifespan) if(C) C.value = lifespan /obj/item/seeds/proc/set_endurance(adjustamt) - endurance = CLAMP(adjustamt, 10, 100) + endurance = clamp(adjustamt, 10, 100) var/datum/plant_gene/core/C = get_gene(/datum/plant_gene/core/endurance) if(C) C.value = endurance /obj/item/seeds/proc/set_production(adjustamt) if(yield != -1) - production = CLAMP(adjustamt, 1, 10) + production = clamp(adjustamt, 1, 10) var/datum/plant_gene/core/C = get_gene(/datum/plant_gene/core/production) if(C) C.value = production /obj/item/seeds/proc/set_potency(adjustamt) if(potency != -1) - potency = CLAMP(adjustamt, 0, 100) + potency = clamp(adjustamt, 0, 100) var/datum/plant_gene/core/C = get_gene(/datum/plant_gene/core/potency) if(C) C.value = potency /obj/item/seeds/proc/set_weed_rate(adjustamt) - weed_rate = CLAMP(adjustamt, 0, 10) + weed_rate = clamp(adjustamt, 0, 10) var/datum/plant_gene/core/C = get_gene(/datum/plant_gene/core/weed_rate) if(C) C.value = weed_rate /obj/item/seeds/proc/set_weed_chance(adjustamt) - weed_chance = CLAMP(adjustamt, 0, 67) + weed_chance = clamp(adjustamt, 0, 67) var/datum/plant_gene/core/C = get_gene(/datum/plant_gene/core/weed_chance) if(C) C.value = weed_chance diff --git a/code/modules/instruments/songs/_song.dm b/code/modules/instruments/songs/_song.dm index 67feb14457..30d8b7b3a7 100644 --- a/code/modules/instruments/songs/_song.dm +++ b/code/modules/instruments/songs/_song.dm @@ -213,7 +213,7 @@ /datum/song/proc/sanitize_tempo(new_tempo) new_tempo = abs(new_tempo) - return CLAMP(round(new_tempo, world.tick_lag), world.tick_lag, 5 SECONDS) + return clamp(round(new_tempo, world.tick_lag), world.tick_lag, 5 SECONDS) /datum/song/proc/get_bpm() return 600 / tempo @@ -242,22 +242,22 @@ cached_linear_dropoff = volume_decrease_per_decisecond /datum/song/proc/set_volume(volume) - src.volume = CLAMP(volume, max(0, min_volume), min(100, max_volume)) + src.volume = clamp(volume, max(0, min_volume), min(100, max_volume)) update_sustain() updateDialog() /datum/song/proc/set_dropoff_volume(volume) - sustain_dropoff_volume = CLAMP(volume, INSTRUMENT_MIN_SUSTAIN_DROPOFF, 100) + sustain_dropoff_volume = clamp(volume, INSTRUMENT_MIN_SUSTAIN_DROPOFF, 100) update_sustain() updateDialog() /datum/song/proc/set_exponential_drop_rate(drop) - sustain_exponential_dropoff = CLAMP(drop, INSTRUMENT_EXP_FALLOFF_MIN, INSTRUMENT_EXP_FALLOFF_MAX) + sustain_exponential_dropoff = clamp(drop, INSTRUMENT_EXP_FALLOFF_MIN, INSTRUMENT_EXP_FALLOFF_MAX) update_sustain() updateDialog() /datum/song/proc/set_linear_falloff_duration(duration) - sustain_linear_duration = CLAMP(duration, 0.1, INSTRUMENT_MAX_TOTAL_SUSTAIN) + sustain_linear_duration = clamp(duration, 0.1, INSTRUMENT_MAX_TOTAL_SUSTAIN) update_sustain() updateDialog() diff --git a/code/modules/instruments/songs/editor.dm b/code/modules/instruments/songs/editor.dm index 873ff0e1a7..d9595797d7 100644 --- a/code/modules/instruments/songs/editor.dm +++ b/code/modules/instruments/songs/editor.dm @@ -230,7 +230,7 @@ else if(href_list["setnoteshift"]) var/amount = input(usr, "Set note shift", "Note Shift") as null|num if(!isnull(amount)) - note_shift = CLAMP(amount, note_shift_min, note_shift_max) + note_shift = clamp(amount, note_shift_min, note_shift_max) else if(href_list["setsustainmode"]) var/choice = input(usr, "Choose a sustain mode", "Sustain Mode") as null|anything in list("Linear", "Exponential") diff --git a/code/modules/instruments/songs/play_synthesized.dm b/code/modules/instruments/songs/play_synthesized.dm index 2573da324a..5e7c5652a0 100644 --- a/code/modules/instruments/songs/play_synthesized.dm +++ b/code/modules/instruments/songs/play_synthesized.dm @@ -52,8 +52,8 @@ if(!num) //it's an accidental accents[key] = oct_acc //if they misspelled it/fucked up that's on them lmao, no safety checks. else //octave - octaves[key] = CLAMP(num, octave_min, octave_max) - compiled_chord += CLAMP((note_offset_lookup[key] + octaves[key] * 12 + accent_lookup[accents[key]]), key_min, key_max) + octaves[key] = clamp(num, octave_min, octave_max) + compiled_chord += clamp((note_offset_lookup[key] + octaves[key] * 12 + accent_lookup[accents[key]]), key_min, key_max) compiled_chord += tempodiv //this goes last if(length(compiled_chord)) compiled_chords[++compiled_chords.len] = compiled_chord diff --git a/code/modules/integrated_electronics/core/special_pins/index_pin.dm b/code/modules/integrated_electronics/core/special_pins/index_pin.dm index 06267eec61..e904c4c6d0 100644 --- a/code/modules/integrated_electronics/core/special_pins/index_pin.dm +++ b/code/modules/integrated_electronics/core/special_pins/index_pin.dm @@ -14,7 +14,7 @@ new_data = 0 if(isnum(new_data)) - data = CLAMP(round(new_data), 0, IC_MAX_LIST_LENGTH) + data = clamp(round(new_data), 0, IC_MAX_LIST_LENGTH) holder.on_data_written() /datum/integrated_io/index/display_pin_type() diff --git a/code/modules/integrated_electronics/subtypes/atmospherics.dm b/code/modules/integrated_electronics/subtypes/atmospherics.dm index 6b4f46f83d..219e30c57f 100644 --- a/code/modules/integrated_electronics/subtypes/atmospherics.dm +++ b/code/modules/integrated_electronics/subtypes/atmospherics.dm @@ -308,7 +308,7 @@ obj/item/integrated_circuit/atmospherics/connector/portableConnectorReturnAir() /obj/item/integrated_circuit/atmospherics/pump/filter/on_data_written() var/amt = get_pin_data(IC_INPUT, 5) - target_pressure = CLAMP(amt, 0, PUMP_MAX_PRESSURE) + target_pressure = clamp(amt, 0, PUMP_MAX_PRESSURE) /obj/item/integrated_circuit/atmospherics/pump/filter/do_work() activate_pin(2) diff --git a/code/modules/integrated_electronics/subtypes/data_transfer.dm b/code/modules/integrated_electronics/subtypes/data_transfer.dm index 8e1c715d83..8db1db4e00 100644 --- a/code/modules/integrated_electronics/subtypes/data_transfer.dm +++ b/code/modules/integrated_electronics/subtypes/data_transfer.dm @@ -125,7 +125,7 @@ /obj/item/integrated_circuit/transfer/pulsedemultiplexer/do_work() var/output_index = get_pin_data(IC_INPUT, 1) - if(output_index == CLAMP(output_index, 1, number_of_pins)) + if(output_index == clamp(output_index, 1, number_of_pins)) activate_pin(round(output_index + 1 ,1)) /obj/item/integrated_circuit/transfer/pulsedemultiplexer/medium diff --git a/code/modules/integrated_electronics/subtypes/input.dm b/code/modules/integrated_electronics/subtypes/input.dm index 0be6fd8686..49e6855b38 100644 --- a/code/modules/integrated_electronics/subtypes/input.dm +++ b/code/modules/integrated_electronics/subtypes/input.dm @@ -389,8 +389,8 @@ activate_pin(3) return var/turf/T = get_turf(assembly) - var/target_x = CLAMP(get_pin_data(IC_INPUT, 1), 0, world.maxx) - var/target_y = CLAMP(get_pin_data(IC_INPUT, 2), 0, world.maxy) + var/target_x = clamp(get_pin_data(IC_INPUT, 1), 0, world.maxx) + var/target_y = clamp(get_pin_data(IC_INPUT, 2), 0, world.maxy) var/turf/A = locate(target_x, target_y, T.z) set_pin_data(IC_OUTPUT, 1, null) if(!A || !(A in view(T))) @@ -532,7 +532,7 @@ var/rad = get_pin_data(IC_INPUT, 2) if(isnum(rad)) - rad = CLAMP(rad, 0, 8) + rad = clamp(rad, 0, 8) radius = rad /obj/item/integrated_circuit/input/advanced_locator_list/do_work() @@ -594,7 +594,7 @@ /obj/item/integrated_circuit/input/advanced_locator/on_data_written() var/rad = get_pin_data(IC_INPUT, 2) if(isnum(rad)) - rad = CLAMP(rad, 0, 8) + rad = clamp(rad, 0, 8) radius = rad /obj/item/integrated_circuit/input/advanced_locator/do_work() diff --git a/code/modules/integrated_electronics/subtypes/manipulation.dm b/code/modules/integrated_electronics/subtypes/manipulation.dm index d1cd852651..fd4e6abfc5 100644 --- a/code/modules/integrated_electronics/subtypes/manipulation.dm +++ b/code/modules/integrated_electronics/subtypes/manipulation.dm @@ -236,7 +236,7 @@ var/mode = get_pin_data(IC_INPUT, 2) switch(ord) if(1) - mode = CLAMP(mode, GRAB_PASSIVE, max_grab) + mode = clamp(mode, GRAB_PASSIVE, max_grab) if(AM) if(check_target(AM, exclude_contents = TRUE)) acting_object.investigate_log("grabbed ([AM]) using [src].", INVESTIGATE_CIRCUIT) @@ -329,9 +329,9 @@ // If the item is in a grabber circuit we'll update the grabber's outputs after we've thrown it. var/obj/item/integrated_circuit/manipulation/grabber/G = A.loc - var/x_abs = CLAMP(T.x + target_x_rel, 0, world.maxx) - var/y_abs = CLAMP(T.y + target_y_rel, 0, world.maxy) - var/range = round(CLAMP(sqrt(target_x_rel*target_x_rel+target_y_rel*target_y_rel),0,8),1) + var/x_abs = clamp(T.x + target_x_rel, 0, world.maxx) + var/y_abs = clamp(T.y + target_y_rel, 0, world.maxy) + var/range = round(clamp(sqrt(target_x_rel*target_x_rel+target_y_rel*target_y_rel),0,8),1) //remove damage A.throwforce = 0 A.embedding = list("embed_chance" = 0) @@ -447,7 +447,7 @@ if(!S) activate_pin(4) return - if(materials.insert_item(S, CLAMP(get_pin_data(IC_INPUT, 2),0,100), multiplier = 1) ) + if(materials.insert_item(S, clamp(get_pin_data(IC_INPUT, 2),0,100), multiplier = 1) ) AfterMaterialInsert() activate_pin(3) else @@ -458,7 +458,7 @@ for(var/I in 1 to mtypes.len) var/datum/material/M = materials.materials[mtypes[I]] if(M) - var/U = CLAMP(get_pin_data(IC_INPUT, I+2),-100000,100000) + var/U = clamp(get_pin_data(IC_INPUT, I+2),-100000,100000) if(!U) continue if(!mt) //Invalid input diff --git a/code/modules/integrated_electronics/subtypes/output.dm b/code/modules/integrated_electronics/subtypes/output.dm index 6005709dde..47b6e151cb 100644 --- a/code/modules/integrated_electronics/subtypes/output.dm +++ b/code/modules/integrated_electronics/subtypes/output.dm @@ -112,7 +112,7 @@ var/brightness = get_pin_data(IC_INPUT, 2) if(new_color && isnum(brightness)) - brightness = CLAMP(brightness, 0, 10) + brightness = clamp(brightness, 0, 10) light_rgb = new_color light_brightness = brightness @@ -151,7 +151,7 @@ var/selected_sound = sounds[ID] if(!selected_sound) return - vol = CLAMP(vol ,0 , 100) + vol = clamp(vol ,0 , 100) playsound(get_turf(src), selected_sound, vol, freq, -1) var/atom/A = get_object() A.investigate_log("played a sound ([selected_sound]) as [type].", INVESTIGATE_CIRCUIT) diff --git a/code/modules/integrated_electronics/subtypes/reagents.dm b/code/modules/integrated_electronics/subtypes/reagents.dm index 0fc9f58db8..663ba9fe16 100644 --- a/code/modules/integrated_electronics/subtypes/reagents.dm +++ b/code/modules/integrated_electronics/subtypes/reagents.dm @@ -94,7 +94,7 @@ else direction_mode = SYRINGE_INJECT if(isnum(new_amount)) - new_amount = CLAMP(new_amount, 0, volume) + new_amount = clamp(new_amount, 0, volume) transfer_amount = new_amount @@ -222,7 +222,7 @@ else direction_mode = SYRINGE_INJECT if(isnum(new_amount)) - new_amount = CLAMP(new_amount, 0, 50) + new_amount = clamp(new_amount, 0, 50) transfer_amount = new_amount /obj/item/integrated_circuit/reagent/pump/do_work() @@ -468,7 +468,7 @@ else direction_mode = SYRINGE_INJECT if(isnum(new_amount)) - new_amount = CLAMP(new_amount, 0, 50) + new_amount = clamp(new_amount, 0, 50) transfer_amount = new_amount /obj/item/integrated_circuit/reagent/filter/do_work() diff --git a/code/modules/integrated_electronics/subtypes/smart.dm b/code/modules/integrated_electronics/subtypes/smart.dm index d0c47f0950..5dc866c556 100644 --- a/code/modules/integrated_electronics/subtypes/smart.dm +++ b/code/modules/integrated_electronics/subtypes/smart.dm @@ -57,8 +57,8 @@ activate_pin(3) return var/turf/T = get_turf(assembly) - var/target_x = CLAMP(get_pin_data(IC_INPUT, 1), 0, world.maxx) - var/target_y = CLAMP(get_pin_data(IC_INPUT, 2), 0, world.maxy) + var/target_x = clamp(get_pin_data(IC_INPUT, 1), 0, world.maxx) + var/target_y = clamp(get_pin_data(IC_INPUT, 2), 0, world.maxy) var/turf/A = locate(target_x, target_y, T.z) set_pin_data(IC_OUTPUT, 1, null) if(!A||A==T) diff --git a/code/modules/integrated_electronics/subtypes/time.dm b/code/modules/integrated_electronics/subtypes/time.dm index 1f1d5444bb..cae43718c2 100644 --- a/code/modules/integrated_electronics/subtypes/time.dm +++ b/code/modules/integrated_electronics/subtypes/time.dm @@ -64,7 +64,7 @@ /obj/item/integrated_circuit/time/delay/custom/do_work() var/delay_input = get_pin_data(IC_INPUT, 1) if(delay_input && isnum(delay_input) ) - var/new_delay = CLAMP(delay_input ,1 ,36000) //An hour. + var/new_delay = clamp(delay_input ,1 ,36000) //An hour. delay = new_delay ..() @@ -119,7 +119,7 @@ /obj/item/integrated_circuit/time/ticker/custom/on_data_written() var/delay_input = get_pin_data(IC_INPUT, 2) if(delay_input && isnum(delay_input) ) - var/new_delay = CLAMP(delay_input ,1 ,1 HOURS) + var/new_delay = clamp(delay_input ,1 ,1 HOURS) delay = new_delay ..() diff --git a/code/modules/integrated_electronics/subtypes/trig.dm b/code/modules/integrated_electronics/subtypes/trig.dm index cefa25e945..75580911c3 100644 --- a/code/modules/integrated_electronics/subtypes/trig.dm +++ b/code/modules/integrated_electronics/subtypes/trig.dm @@ -71,7 +71,7 @@ var/result = null var/A = get_pin_data(IC_INPUT, 1) if(!isnull(A)) - result = TAN(A) + result = tan(A) set_pin_data(IC_OUTPUT, 1, result) push_data() diff --git a/code/modules/integrated_electronics/subtypes/weaponized.dm b/code/modules/integrated_electronics/subtypes/weaponized.dm index 02340970af..2f6a2cd841 100644 --- a/code/modules/integrated_electronics/subtypes/weaponized.dm +++ b/code/modules/integrated_electronics/subtypes/weaponized.dm @@ -102,8 +102,8 @@ yo.data = round(yo.data, 1) var/turf/T = get_turf(assembly) - var/target_x = CLAMP(T.x + xo.data, 0, world.maxx) - var/target_y = CLAMP(T.y + yo.data, 0, world.maxy) + var/target_x = clamp(T.x + xo.data, 0, world.maxx) + var/target_y = clamp(T.y + yo.data, 0, world.maxy) assembly.visible_message("[assembly] fires [installed_gun]!") shootAt(locate(target_x, target_y, T.z)) @@ -191,7 +191,7 @@ var/datum/integrated_io/detonation_time = inputs[1] var/dt if(isnum(detonation_time.data) && detonation_time.data > 0) - dt = CLAMP(detonation_time.data, 1, 12)*10 + dt = clamp(detonation_time.data, 1, 12)*10 else dt = 15 addtimer(CALLBACK(attached_grenade, /obj/item/grenade.proc/prime), dt) @@ -293,9 +293,9 @@ // If the item is in a grabber circuit we'll update the grabber's outputs after we've thrown it. var/obj/item/integrated_circuit/manipulation/grabber/G = A.loc - var/x_abs = CLAMP(T.x + target_x_rel, 0, world.maxx) - var/y_abs = CLAMP(T.y + target_y_rel, 0, world.maxy) - var/range = round(CLAMP(sqrt(target_x_rel*target_x_rel+target_y_rel*target_y_rel),0,8),1) + var/x_abs = clamp(T.x + target_x_rel, 0, world.maxx) + var/y_abs = clamp(T.y + target_y_rel, 0, world.maxy) + var/range = round(clamp(sqrt(target_x_rel*target_x_rel+target_y_rel*target_y_rel),0,8),1) assembly.visible_message("\The [assembly] has thrown [A]!") log_attack("[assembly] [REF(assembly)] has thrown [A] with lethal force.") A.forceMove(drop_location()) @@ -324,7 +324,7 @@ /obj/item/integrated_circuit/weaponized/stun/do_work() - var/stunforce = CLAMP(get_pin_data(IC_INPUT, 1),1,70) + var/stunforce = clamp(get_pin_data(IC_INPUT, 1),1,70) var/mob/living/L = assembly.loc if(attempt_stun(L,stunforce)) activate_pin(2) diff --git a/code/modules/language/language_holder.dm b/code/modules/language/language_holder.dm index b307e66b39..f31ea9022b 100644 --- a/code/modules/language/language_holder.dm +++ b/code/modules/language/language_holder.dm @@ -74,7 +74,7 @@ var/datum/language_holder/other if(istype(thing, /datum/language_holder)) other = thing - else if(ismovableatom(thing)) + else if(ismovable(thing)) var/atom/movable/AM = thing other = AM.get_language_holder() else if(istype(thing, /datum/mind)) @@ -94,7 +94,7 @@ language_menu.ui_interact(user) /datum/language_holder/proc/get_atom() - if(ismovableatom(owner)) + if(ismovable(owner)) . = owner else if(istype(owner, /datum/mind)) var/datum/mind/M = owner diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm index 008724b10f..144037b3a7 100644 --- a/code/modules/library/lib_machines.dm +++ b/code/modules/library/lib_machines.dm @@ -267,7 +267,7 @@ GLOBAL_LIST(cachedbooks) // List of our cached book datums dat += "(Order book by SS13BN)

" dat += "" dat += "" - dat += libcomp_menu[CLAMP(page,1,libcomp_menu.len)] + dat += libcomp_menu[clamp(page,1,libcomp_menu.len)] dat += "" dat += "
AUTHORTITLECATEGORY
<<<< >>>>
" dat += "
(Return to main menu)
" diff --git a/code/modules/lighting/lighting_atom.dm b/code/modules/lighting/lighting_atom.dm index 8712a66290..779dd9c3ea 100644 --- a/code/modules/lighting/lighting_atom.dm +++ b/code/modules/lighting/lighting_atom.dm @@ -38,7 +38,7 @@ if (!light_power || !light_range) // We won't emit light anyways, destroy the light source. QDEL_NULL(light) else - if (!ismovableatom(loc)) // We choose what atom should be the top atom of the light here. + if (!ismovable(loc)) // We choose what atom should be the top atom of the light here. . = src else . = loc diff --git a/code/modules/mapping/reader.dm b/code/modules/mapping/reader.dm index 86b501c455..e7d7fd4898 100644 --- a/code/modules/mapping/reader.dm +++ b/code/modules/mapping/reader.dm @@ -93,7 +93,7 @@ gridSet.ycrd = text2num(dmmRegex.group[4]) gridSet.zcrd = text2num(dmmRegex.group[5]) - bounds[MAP_MINX] = min(bounds[MAP_MINX], CLAMP(gridSet.xcrd, x_lower, x_upper)) + bounds[MAP_MINX] = min(bounds[MAP_MINX], clamp(gridSet.xcrd, x_lower, x_upper)) bounds[MAP_MINZ] = min(bounds[MAP_MINZ], gridSet.zcrd) bounds[MAP_MAXZ] = max(bounds[MAP_MAXZ], gridSet.zcrd) @@ -113,15 +113,15 @@ if(gridLines.len && gridLines[gridLines.len] == "") gridLines.Cut(gridLines.len) // Remove only one blank line at the end. - bounds[MAP_MINY] = min(bounds[MAP_MINY], CLAMP(gridSet.ycrd, y_lower, y_upper)) + bounds[MAP_MINY] = min(bounds[MAP_MINY], clamp(gridSet.ycrd, y_lower, y_upper)) gridSet.ycrd += gridLines.len - 1 // Start at the top and work down - bounds[MAP_MAXY] = max(bounds[MAP_MAXY], CLAMP(gridSet.ycrd, y_lower, y_upper)) + bounds[MAP_MAXY] = max(bounds[MAP_MAXY], clamp(gridSet.ycrd, y_lower, y_upper)) var/maxx = gridSet.xcrd if(gridLines.len) //Not an empty map maxx = max(maxx, gridSet.xcrd + length(gridLines[1]) / key_len - 1) - bounds[MAP_MAXX] = CLAMP(max(bounds[MAP_MAXX], maxx), x_lower, x_upper) + bounds[MAP_MAXX] = clamp(max(bounds[MAP_MAXX], maxx), x_lower, x_upper) CHECK_TICK // Indicate failure to parse any coordinates by nulling bounds diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index 56e1a04b95..4dd86a847a 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -428,7 +428,7 @@ /obj/item/projectile/hook/on_hit(atom/target) . = ..() - if(ismovableatom(target)) + if(ismovable(target)) var/atom/movable/A = target if(A.anchored) return @@ -833,13 +833,13 @@ force = 0 var/ghost_counter = ghost_check() - force = CLAMP((ghost_counter * 4), 0, 75) + force = clamp((ghost_counter * 4), 0, 75) user.visible_message("[user] strikes with the force of [ghost_counter] vengeful spirits!") return ..() /obj/item/melee/ghost_sword/run_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) var/ghost_counter = ghost_check() - final_block_chance += CLAMP((ghost_counter * 5), 0, 75) + final_block_chance += clamp((ghost_counter * 5), 0, 75) owner.visible_message("[owner] is protected by a ring of [ghost_counter] ghosts!") return ..() diff --git a/code/modules/mining/machine_silo.dm b/code/modules/mining/machine_silo.dm index c0356dd1ab..09246abc46 100644 --- a/code/modules/mining/machine_silo.dm +++ b/code/modules/mining/machine_silo.dm @@ -116,7 +116,7 @@ GLOBAL_LIST_EMPTY(silo_access_logs) var/list/logs = GLOB.silo_access_logs[REF(src)] var/len = LAZYLEN(logs) var/num_pages = 1 + round((len - 1) / 30) - var/page = CLAMP(log_page, 1, num_pages) + var/page = clamp(log_page, 1, num_pages) if(num_pages > 1) for(var/i in 1 to num_pages) if(i == page) diff --git a/code/modules/mining/mint.dm b/code/modules/mining/mint.dm index d04c0104e5..e89bbef58d 100644 --- a/code/modules/mining/mint.dm +++ b/code/modules/mining/mint.dm @@ -87,7 +87,7 @@ if(istype(new_material)) chosen = new_material if(href_list["chooseAmt"]) - coinsToProduce = CLAMP(coinsToProduce + text2num(href_list["chooseAmt"]), 0, 1000) + coinsToProduce = clamp(coinsToProduce + text2num(href_list["chooseAmt"]), 0, 1000) updateUsrDialog() if(href_list["makeCoins"]) var/temp_coins = coinsToProduce diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index b2d02d8fa2..dc7384124d 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -570,7 +570,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp views |= i var/new_view = input("Choose your new view", "Modify view range", 7) as null|anything in views if(new_view) - client.change_view(CLAMP(new_view, 7, max_view)) + client.change_view(clamp(new_view, 7, max_view)) else client.change_view(CONFIG_GET(string/default_view)) diff --git a/code/modules/mob/living/brain/brain_item.dm b/code/modules/mob/living/brain/brain_item.dm index f32d84ae73..4cb93a1b6a 100644 --- a/code/modules/mob/living/brain/brain_item.dm +++ b/code/modules/mob/living/brain/brain_item.dm @@ -229,7 +229,7 @@ var/adjusted_amount if(amount >= 0 && maximum) var/brainloss = get_brain_damage() - var/new_brainloss = CLAMP(brainloss + amount, 0, maximum) + var/new_brainloss = clamp(brainloss + amount, 0, maximum) if(brainloss > new_brainloss) //brainloss is over the cap already return 0 adjusted_amount = new_brainloss - brainloss diff --git a/code/modules/mob/living/carbon/alien/status_procs.dm b/code/modules/mob/living/carbon/alien/status_procs.dm index 4a63a72686..71d61cab25 100644 --- a/code/modules/mob/living/carbon/alien/status_procs.dm +++ b/code/modules/mob/living/carbon/alien/status_procs.dm @@ -20,5 +20,5 @@ /mob/living/carbon/alien/AdjustStun(amount, updating = 1, ignore_canstun = 0) . = ..() if(!.) - move_delay_add = CLAMP(move_delay_add + round(amount/2), 0, 10) + move_delay_add = clamp(move_delay_add + round(amount/2), 0, 10) */ diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 94aba6851a..29c7321660 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -768,7 +768,7 @@ return else if(hud_used.healths) - var/health_amount = min(health, maxHealth - CLAMP(getStaminaLoss()-50, 0, 80))//CIT CHANGE - makes staminaloss have less of an impact on the health hud + var/health_amount = min(health, maxHealth - clamp(getStaminaLoss()-50, 0, 80))//CIT CHANGE - makes staminaloss have less of an impact on the health hud if(..(health_amount)) //not dead switch(hal_screwyhud) if(SCREWYHUD_CRIT) diff --git a/code/modules/mob/living/carbon/human/species_types/dwarves.dm b/code/modules/mob/living/carbon/human/species_types/dwarves.dm index 7b43f6d565..50b88579f4 100644 --- a/code/modules/mob/living/carbon/human/species_types/dwarves.dm +++ b/code/modules/mob/living/carbon/human/species_types/dwarves.dm @@ -169,7 +169,7 @@ GLOBAL_LIST_INIT(dwarf_last, world.file2list("strings/names/dwarf_last.txt")) // for(var/datum/reagent/R in owner.reagents.reagent_list) if(istype(R, /datum/reagent/consumable/ethanol)) var/datum/reagent/consumable/ethanol/E = R - stored_alcohol = CLAMP(stored_alcohol + E.boozepwr / 50, 0, max_alcohol) + stored_alcohol = clamp(stored_alcohol + E.boozepwr / 50, 0, max_alcohol) var/heal_amt = heal_rate stored_alcohol -= alcohol_rate //Subtracts alcohol_Rate from stored alcohol so EX: 250 - 0.25 per each loop that occurs. if(stored_alcohol > 400) //If they are over 400 they start regenerating diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm index abc2288e9b..7a5e347060 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -397,7 +397,7 @@ var/new_y = P.starting.y + pick(0, 0, 0, 0, 0, -1, 1, -2, 2) var/turf/target = get_turf(P.starting) // redirect the projectile - P.preparePixelProjectile(locate(CLAMP(target.x + new_x, 1, world.maxx), CLAMP(target.y + new_y, 1, world.maxy), H.z), H) + P.preparePixelProjectile(locate(clamp(target.x + new_x, 1, world.maxx), clamp(target.y + new_y, 1, world.maxy), H.z), H) return BULLET_ACT_FORCE_PIERCE return ..() diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm index 775f36cfc7..10a29c72c1 100644 --- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -606,7 +606,7 @@ var/max_D = CONFIG_GET(number/penis_max_inches_prefs) var/new_length = input(owner, "Penis length in inches:\n([min_D]-[max_D])", "Genital Alteration") as num|null if(new_length) - H.dna.features["cock_length"] = CLAMP(round(new_length), min_D, max_D) + H.dna.features["cock_length"] = clamp(round(new_length), min_D, max_D) H.update_genitals() H.apply_overlay() H.give_genital(/obj/item/organ/genital/testicles) diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.dm b/code/modules/mob/living/carbon/human/species_types/vampire.dm index f37e718462..f720aa7f8a 100644 --- a/code/modules/mob/living/carbon/human/species_types/vampire.dm +++ b/code/modules/mob/living/carbon/human/species_types/vampire.dm @@ -106,8 +106,8 @@ to_chat(victim, "[H] is draining your blood!") to_chat(H, "You drain some blood!") playsound(H, 'sound/items/drink.ogg', 30, 1, -2) - victim.blood_volume = CLAMP(victim.blood_volume - drained_blood, 0, BLOOD_VOLUME_MAXIMUM) - H.blood_volume = CLAMP(H.blood_volume + drained_blood, 0, BLOOD_VOLUME_MAXIMUM) + victim.blood_volume = clamp(victim.blood_volume - drained_blood, 0, BLOOD_VOLUME_MAXIMUM) + H.blood_volume = clamp(H.blood_volume + drained_blood, 0, BLOOD_VOLUME_MAXIMUM) if(!victim.blood_volume) to_chat(H, "You finish off [victim]'s blood supply!") diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 8097859aac..00a0991e19 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -235,7 +235,7 @@ //TOXINS/PLASMA if(Toxins_partialpressure > safe_tox_max) var/ratio = (breath_gases[/datum/gas/plasma]/safe_tox_max) * 10 - adjustToxLoss(CLAMP(ratio, MIN_TOXIC_GAS_DAMAGE, MAX_TOXIC_GAS_DAMAGE)) + adjustToxLoss(clamp(ratio, MIN_TOXIC_GAS_DAMAGE, MAX_TOXIC_GAS_DAMAGE)) throw_alert("too_much_tox", /obj/screen/alert/too_much_tox) else clear_alert("too_much_tox") diff --git a/code/modules/mob/living/carbon/status_procs.dm b/code/modules/mob/living/carbon/status_procs.dm index 6c497bb8d4..a47bb7fb4a 100644 --- a/code/modules/mob/living/carbon/status_procs.dm +++ b/code/modules/mob/living/carbon/status_procs.dm @@ -23,10 +23,10 @@ clear_alert("high") /mob/living/carbon/adjust_disgust(amount) - disgust = CLAMP(disgust+amount, 0, DISGUST_LEVEL_MAXEDOUT) + disgust = clamp(disgust+amount, 0, DISGUST_LEVEL_MAXEDOUT) /mob/living/carbon/set_disgust(amount) - disgust = CLAMP(amount, 0, DISGUST_LEVEL_MAXEDOUT) + disgust = clamp(amount, 0, DISGUST_LEVEL_MAXEDOUT) ////////////////////////////////////////TRAUMAS///////////////////////////////////////// diff --git a/code/modules/mob/living/damage_procs.dm b/code/modules/mob/living/damage_procs.dm index d5e1fa6fc4..3257b0e3bf 100644 --- a/code/modules/mob/living/damage_procs.dm +++ b/code/modules/mob/living/damage_procs.dm @@ -88,7 +88,7 @@ if(EFFECT_STUN) Stun(effect * hit_percent) if(EFFECT_KNOCKDOWN) - DefaultCombatKnockdown(effect * hit_percent, override_stamdmg = knockdown_stammax ? CLAMP(knockdown_stamoverride, 0, knockdown_stammax-getStaminaLoss()) : knockdown_stamoverride) + DefaultCombatKnockdown(effect * hit_percent, override_stamdmg = knockdown_stammax ? clamp(knockdown_stamoverride, 0, knockdown_stammax-getStaminaLoss()) : knockdown_stamoverride) if(EFFECT_UNCONSCIOUS) Unconscious(effect * hit_percent) if(EFFECT_IRRADIATE) @@ -140,7 +140,7 @@ /mob/living/proc/adjustBruteLoss(amount, updating_health = TRUE, forced = FALSE) if(!forced && (status_flags & GODMODE)) return FALSE - bruteloss = CLAMP((bruteloss + (amount * CONFIG_GET(number/damage_multiplier))), 0, maxHealth * 2) + bruteloss = clamp((bruteloss + (amount * CONFIG_GET(number/damage_multiplier))), 0, maxHealth * 2) if(updating_health) updatehealth() return amount @@ -151,7 +151,7 @@ /mob/living/proc/adjustOxyLoss(amount, updating_health = TRUE, forced = FALSE) if(!forced && (status_flags & GODMODE)) return FALSE - oxyloss = CLAMP((oxyloss + (amount * CONFIG_GET(number/damage_multiplier))), 0, maxHealth * 2) + oxyloss = clamp((oxyloss + (amount * CONFIG_GET(number/damage_multiplier))), 0, maxHealth * 2) if(updating_health) updatehealth() return amount @@ -170,7 +170,7 @@ /mob/living/proc/adjustToxLoss(amount, updating_health = TRUE, forced = FALSE) if(!forced && (status_flags & GODMODE)) return FALSE - toxloss = CLAMP((toxloss + (amount * CONFIG_GET(number/damage_multiplier))), 0, maxHealth * 2) + toxloss = clamp((toxloss + (amount * CONFIG_GET(number/damage_multiplier))), 0, maxHealth * 2) if(updating_health) updatehealth() return amount @@ -189,7 +189,7 @@ /mob/living/proc/adjustFireLoss(amount, updating_health = TRUE, forced = FALSE) if(!forced && (status_flags & GODMODE)) return FALSE - fireloss = CLAMP((fireloss + (amount * CONFIG_GET(number/damage_multiplier))), 0, maxHealth * 2) + fireloss = clamp((fireloss + (amount * CONFIG_GET(number/damage_multiplier))), 0, maxHealth * 2) if(updating_health) updatehealth() return amount @@ -200,7 +200,7 @@ /mob/living/proc/adjustCloneLoss(amount, updating_health = TRUE, forced = FALSE) if(!forced && (status_flags & GODMODE)) return FALSE - cloneloss = CLAMP((cloneloss + (amount * CONFIG_GET(number/damage_multiplier))), 0, maxHealth * 2) + cloneloss = clamp((cloneloss + (amount * CONFIG_GET(number/damage_multiplier))), 0, maxHealth * 2) if(updating_health) updatehealth() return amount diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 22a0da2cf6..89f8381087 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -68,7 +68,7 @@ var/obj/O = A if(ObjBump(O)) return - if(ismovableatom(A)) + if(ismovable(A)) var/atom/movable/AM = A if(PushAM(AM, move_force)) return @@ -645,7 +645,7 @@ attempt_resist_grab(FALSE) // Return as we should only resist one thing at a time. Give clickdelay if the grab wasn't passive. return old_gs? TRUE : FALSE - + // unbuckling yourself. stops the chain if you try it. if(buckled && last_special <= world.time) log_combat(src, buckled, "resisted buckle") @@ -1030,7 +1030,7 @@ update_fire() /mob/living/proc/adjust_fire_stacks(add_fire_stacks) //Adjusting the amount of fire_stacks we have on person - fire_stacks = CLAMP(fire_stacks + add_fire_stacks, -20, 20) + fire_stacks = clamp(fire_stacks + add_fire_stacks, -20, 20) if(on_fire && fire_stacks <= 0) ExtinguishMob() diff --git a/code/modules/mob/living/living_block.dm b/code/modules/mob/living/living_block.dm index 22940b5846..d39abb1250 100644 --- a/code/modules/mob/living/living_block.dm +++ b/code/modules/mob/living/living_block.dm @@ -57,7 +57,7 @@ if(real_attack) for(var/obj/item/I in tocheck) // i don't like this too - var/final_block_chance = I.block_chance - (CLAMP((armour_penetration-I.armour_penetration)/2,0,100)) + block_chance_modifier //So armour piercing blades can still be parried by other blades, for example + var/final_block_chance = I.block_chance - (clamp((armour_penetration-I.armour_penetration)/2,0,100)) + block_chance_modifier //So armour piercing blades can still be parried by other blades, for example var/results = I.run_block(src, object, damage, attack_text, attack_type, armour_penetration, attacker, def_zone, final_block_chance, return_list) . |= results if((results & BLOCK_SUCCESS) && !(results & BLOCK_CONTINUE_CHAIN)) @@ -65,7 +65,7 @@ else for(var/obj/item/I in tocheck) // i don't like this too - var/final_block_chance = I.block_chance - (CLAMP((armour_penetration-I.armour_penetration)/2,0,100)) + block_chance_modifier //So armour piercing blades can still be parried by other blades, for example + var/final_block_chance = I.block_chance - (clamp((armour_penetration-I.armour_penetration)/2,0,100)) + block_chance_modifier //So armour piercing blades can still be parried by other blades, for example I.check_block(src, object, damage, attack_text, attack_type, armour_penetration, attacker, def_zone, final_block_chance, return_list) /// Gets an unsortedlist of objects to run block checks on. diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 7d220739d5..39a94232a3 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -88,9 +88,9 @@ /obj/item/proc/get_volume_by_throwforce_and_or_w_class() if(throwforce && w_class) - return CLAMP((throwforce + w_class) * 5, 30, 100)// Add the item's throwforce to its weight class and multiply by 5, then clamp the value between 30 and 100 + return clamp((throwforce + w_class) * 5, 30, 100)// Add the item's throwforce to its weight class and multiply by 5, then clamp the value between 30 and 100 else if(w_class) - return CLAMP(w_class * 8, 20, 100) // Multiply the item's weight class by 8, then clamp the value between 20 and 100 + return clamp(w_class * 8, 20, 100) // Multiply the item's weight class by 8, then clamp the value between 20 and 100 else return 0 diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index d178af9fb0..e959144ed5 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -869,7 +869,7 @@ if(istype(A, /obj/machinery/camera)) current = A if(client) - if(ismovableatom(A)) + if(ismovable(A)) if(A != GLOB.ai_camera_room_landmark) end_multicam() client.perspective = EYE_PERSPECTIVE @@ -1016,7 +1016,7 @@ if("Yes.") src.ghostize(FALSE, penalize = TRUE) var/announce_rank = "Artificial Intelligence," - if(GLOB.announcement_systems.len) + if(GLOB.announcement_systems.len) // Sends an announcement the AI has cryoed. var/obj/machinery/announcement_system/announcer = pick(GLOB.announcement_systems) announcer.announce("CRYOSTORAGE", src.real_name, announce_rank, list()) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 26fa3b505d..9eb1bbc9e4 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -154,7 +154,7 @@ /mob/living/silicon/pai/proc/process_hack() if(cable && cable.machine && istype(cable.machine, /obj/machinery/door) && cable.machine == hackdoor && get_dist(src, hackdoor) <= 1) - hackprogress = CLAMP(hackprogress + 4, 0, 100) + hackprogress = clamp(hackprogress + 4, 0, 100) else temp = "Door Jack: Connection to airlock has been lost. Hack aborted." hackprogress = 0 @@ -301,7 +301,7 @@ update_stat() /mob/living/silicon/pai/process() - emitterhealth = CLAMP((emitterhealth + emitterregen), -50, emittermaxhealth) + emitterhealth = clamp((emitterhealth + emitterregen), -50, emittermaxhealth) /obj/item/paicard/attackby(obj/item/W, mob/user, params) ..() diff --git a/code/modules/mob/living/silicon/pai/pai_defense.dm b/code/modules/mob/living/silicon/pai/pai_defense.dm index 0477492c0a..ba162ecf2c 100644 --- a/code/modules/mob/living/silicon/pai/pai_defense.dm +++ b/code/modules/mob/living/silicon/pai/pai_defense.dm @@ -69,7 +69,7 @@ return FALSE //No we're not flammable /mob/living/silicon/pai/proc/take_holo_damage(amount) - emitterhealth = CLAMP((emitterhealth - amount), -50, emittermaxhealth) + emitterhealth = clamp((emitterhealth - amount), -50, emittermaxhealth) if(emitterhealth < 0) fold_in(force = TRUE) if(amount > 0) diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index cf67517c52..e04943a8c5 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -21,7 +21,7 @@ if(cell && cell.charge) if(cell.charge <= 100) uneq_all() - var/amt = CLAMP((lamp_intensity - 2) * 2,1,cell.charge) //Always try to use at least one charge per tick, but allow it to completely drain the cell. + var/amt = clamp((lamp_intensity - 2) * 2,1,cell.charge) //Always try to use at least one charge per tick, but allow it to completely drain the cell. cell.use(amt) //Usage table: 1/tick if off/lowest setting, 4 = 4/tick, 6 = 8/tick, 8 = 12/tick, 10 = 16/tick else uneq_all() diff --git a/code/modules/mob/living/simple_animal/damage_procs.dm b/code/modules/mob/living/simple_animal/damage_procs.dm index 0cc097dc08..90fdeb0a62 100644 --- a/code/modules/mob/living/simple_animal/damage_procs.dm +++ b/code/modules/mob/living/simple_animal/damage_procs.dm @@ -2,7 +2,7 @@ /mob/living/simple_animal/proc/adjustHealth(amount, updating_health = TRUE, forced = FALSE) if(!forced && (status_flags & GODMODE)) return FALSE - bruteloss = round(CLAMP(bruteloss + amount, 0, maxHealth),DAMAGE_PRECISION) + bruteloss = round(clamp(bruteloss + amount, 0, maxHealth),DAMAGE_PRECISION) if(updating_health) updatehealth() return amount diff --git a/code/modules/mob/living/simple_animal/hostile/alien.dm b/code/modules/mob/living/simple_animal/hostile/alien.dm index 3b9700bb58..2045e194d2 100644 --- a/code/modules/mob/living/simple_animal/hostile/alien.dm +++ b/code/modules/mob/living/simple_animal/hostile/alien.dm @@ -175,7 +175,7 @@ AddElement(/datum/element/cleaning) /mob/living/simple_animal/hostile/alien/maid/AttackingTarget() - if(ismovableatom(target)) + if(ismovable(target)) if(istype(target, /obj/effect/decal/cleanable)) visible_message("[src] cleans up \the [target].") qdel(target) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm index 5e75088f53..d2680fbf61 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm @@ -65,10 +65,10 @@ Difficulty: Hard /mob/living/simple_animal/hostile/megafauna/bubblegum/Life() ..() - move_to_delay = CLAMP(round((health/maxHealth) * 10), 3, 10) + move_to_delay = clamp(round((health/maxHealth) * 10), 3, 10) /mob/living/simple_animal/hostile/megafauna/bubblegum/OpenFire() - anger_modifier = CLAMP(((maxHealth - health)/50),0,20) + anger_modifier = clamp(((maxHealth - health)/50),0,20) if(charging) return ranged_cooldown = world.time + ranged_cooldown_time diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index 83d27e7ea6..73fb9d4e48 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -56,7 +56,7 @@ Difficulty: Very Hard L.dust() /mob/living/simple_animal/hostile/megafauna/colossus/OpenFire() - anger_modifier = CLAMP(((maxHealth - health)/50),0,20) + anger_modifier = clamp(((maxHealth - health)/50),0,20) ranged_cooldown = world.time + 120 if(enrage(target)) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm index 4644992ad0..159f8a7f5c 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm @@ -105,7 +105,7 @@ Difficulty: Medium /mob/living/simple_animal/hostile/megafauna/dragon/OpenFire() if(swooping) return - anger_modifier = CLAMP(((maxHealth - health)/50),0,20) + anger_modifier = clamp(((maxHealth - health)/50),0,20) ranged_cooldown = world.time + ranged_cooldown_time if(prob(15 + anger_modifier) && !client) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm index a9d42373a2..477c2ce3aa 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm @@ -191,7 +191,7 @@ Difficulty: Normal /mob/living/simple_animal/hostile/megafauna/hierophant/proc/calculate_rage() //how angry we are overall did_reset = FALSE //oh hey we're doing SOMETHING, clearly we might need to heal if we recall - anger_modifier = CLAMP(((maxHealth - health) / 42),0,50) + anger_modifier = clamp(((maxHealth - health) / 42),0,50) burst_range = initial(burst_range) + round(anger_modifier * 0.08) beam_range = initial(beam_range) + round(anger_modifier * 0.12) diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 3feed2129b..230bb9ecb7 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -128,7 +128,7 @@ /mob/living/simple_animal/updatehealth() ..() - health = CLAMP(health, 0, maxHealth) + health = clamp(health, 0, maxHealth) /mob/living/simple_animal/update_stat() if(status_flags & GODMODE) diff --git a/code/modules/mob/living/simple_animal/slime/powers.dm b/code/modules/mob/living/simple_animal/slime/powers.dm index 4f8e271d6f..d5da6d76fc 100644 --- a/code/modules/mob/living/simple_animal/slime/powers.dm +++ b/code/modules/mob/living/simple_animal/slime/powers.dm @@ -190,7 +190,7 @@ step_away(M,src) M.Friends = Friends.Copy() babies += M - M.mutation_chance = CLAMP(mutation_chance+(rand(5,-5)),0,100) + M.mutation_chance = clamp(mutation_chance+(rand(5,-5)),0,100) SSblackbox.record_feedback("tally", "slime_babies_born", 1, M.colour) var/mob/living/simple_animal/slime/new_slime = pick(babies) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index fd786c8631..8fa1367aad 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -284,7 +284,7 @@ mob/visible_message(message, self_message, blind_message, vision_distance = DEFA /mob/proc/reset_perspective(atom/A) if(client) if(A) - if(ismovableatom(A)) + if(ismovable(A)) //Set the the thing unless it's us if(A != src) client.perspective = EYE_PERSPECTIVE diff --git a/code/modules/mob/status_procs.dm b/code/modules/mob/status_procs.dm index 10abf460c6..cf86e962bd 100644 --- a/code/modules/mob/status_procs.dm +++ b/code/modules/mob/status_procs.dm @@ -20,7 +20,7 @@ dizziness = max(amount, 0) /** - * Sets a mob's blindness to an amount if it was not above it already, similar to how status effects work + * Sets a mob's blindness to an amount if it was not above it already, similar to how status effects work */ /mob/proc/blind_eyes(amount) var/old_blind = eye_blind || HAS_TRAIT(src, TRAIT_BLIND) @@ -90,8 +90,8 @@ return var/obj/screen/plane_master/game_world/GW = locate(/obj/screen/plane_master/game_world) in client.screen var/obj/screen/plane_master/floor/F = locate(/obj/screen/plane_master/floor) in client.screen - GW.add_filter("blurry_eyes", 2, EYE_BLUR(CLAMP(eye_blurry*0.1,0.6,3))) - F.add_filter("blurry_eyes", 2, EYE_BLUR(CLAMP(eye_blurry*0.1,0.6,3))) + GW.add_filter("blurry_eyes", 2, EYE_BLUR(clamp(eye_blurry*0.1,0.6,3))) + F.add_filter("blurry_eyes", 2, EYE_BLUR(clamp(eye_blurry*0.1,0.6,3))) /mob/proc/remove_eyeblur() if(!client) @@ -120,4 +120,4 @@ ///Adjust the body temperature of a mob, with min/max settings /mob/proc/adjust_bodytemperature(amount,min_temp=0,max_temp=INFINITY) if(bodytemperature >= min_temp && bodytemperature <= max_temp) - bodytemperature = CLAMP(bodytemperature + amount,min_temp,max_temp) + bodytemperature = clamp(bodytemperature + amount,min_temp,max_temp) diff --git a/code/modules/photography/camera/camera.dm b/code/modules/photography/camera/camera.dm index b7b7bc36b7..f039dc32b2 100644 --- a/code/modules/photography/camera/camera.dm +++ b/code/modules/photography/camera/camera.dm @@ -53,8 +53,8 @@ return var/desired_x = input(user, "How high do you want the camera to shoot, between [picture_size_x_min] and [picture_size_x_max]?", "Zoom", picture_size_x) as num var/desired_y = input(user, "How wide do you want the camera to shoot, between [picture_size_y_min] and [picture_size_y_max]?", "Zoom", picture_size_y) as num - picture_size_x = min(CLAMP(desired_x, picture_size_x_min, picture_size_x_max), CAMERA_PICTURE_SIZE_HARD_LIMIT) - picture_size_y = min(CLAMP(desired_y, picture_size_y_min, picture_size_y_max), CAMERA_PICTURE_SIZE_HARD_LIMIT) + picture_size_x = min(clamp(desired_x, picture_size_x_min, picture_size_x_max), CAMERA_PICTURE_SIZE_HARD_LIMIT) + picture_size_y = min(clamp(desired_y, picture_size_y_min, picture_size_y_max), CAMERA_PICTURE_SIZE_HARD_LIMIT) return TRUE /obj/item/camera/attack(mob/living/carbon/human/M, mob/user) @@ -155,8 +155,8 @@ if(!isturf(target_turf)) blending = FALSE return FALSE - size_x = CLAMP(size_x, 0, CAMERA_PICTURE_SIZE_HARD_LIMIT) - size_y = CLAMP(size_y, 0, CAMERA_PICTURE_SIZE_HARD_LIMIT) + size_x = clamp(size_x, 0, CAMERA_PICTURE_SIZE_HARD_LIMIT) + size_y = clamp(size_y, 0, CAMERA_PICTURE_SIZE_HARD_LIMIT) var/list/desc = list("This is a photo of an area of [size_x+1] meters by [size_y+1] meters.") var/ai_user = isAI(user) var/list/seen diff --git a/code/modules/photography/camera/camera_image_capturing.dm b/code/modules/photography/camera/camera_image_capturing.dm index f25d80c050..5bd9c108d1 100644 --- a/code/modules/photography/camera/camera_image_capturing.dm +++ b/code/modules/photography/camera/camera_image_capturing.dm @@ -4,7 +4,7 @@ if(istype(A)) appearance = A.appearance dir = A.dir - if(ismovableatom(A)) + if(ismovable(A)) var/atom/movable/AM = A step_x = AM.step_x step_y = AM.step_y @@ -68,7 +68,7 @@ for(var/atom/A in sorted) var/xo = (A.x - center.x) * world.icon_size + A.pixel_x + xcomp var/yo = (A.y - center.y) * world.icon_size + A.pixel_y + ycomp - if(ismovableatom(A)) + if(ismovable(A)) var/atom/movable/AM = A xo += AM.step_x yo += AM.step_y diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 1b23b1bb5d..7eabeafcb1 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -208,7 +208,7 @@ GLOB.apcs_list -= src if(malfai && operating) - malfai.malf_picker.processing_time = CLAMP(malfai.malf_picker.processing_time - 10,0,1000) + malfai.malf_picker.processing_time = clamp(malfai.malf_picker.processing_time - 10,0,1000) area.power_light = FALSE area.power_equip = FALSE area.power_environ = FALSE @@ -1350,7 +1350,7 @@ lighting = autoset(lighting, 0) environ = autoset(environ, 0) area.poweralert(0, src) - + else if(cell_percent < 15 && longtermpower < 0) // <15%, turn off lighting & equipment equipment = autoset(equipment, 2) lighting = autoset(lighting, 2) @@ -1447,7 +1447,7 @@ /obj/machinery/power/apc/proc/set_broken() if(malfai && operating) - malfai.malf_picker.processing_time = CLAMP(malfai.malf_picker.processing_time - 10,0,1000) + malfai.malf_picker.processing_time = clamp(malfai.malf_picker.processing_time - 10,0,1000) stat |= BROKEN operating = FALSE if(occupier) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index ed90ed407f..aab38c8754 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -217,7 +217,7 @@ By design, d1 is the smallest direction and d2 is the highest /obj/structure/cable/proc/surplus() if(powernet) - return CLAMP(powernet.avail-powernet.load, 0, powernet.avail) + return clamp(powernet.avail-powernet.load, 0, powernet.avail) else return 0 @@ -233,7 +233,7 @@ By design, d1 is the smallest direction and d2 is the highest /obj/structure/cable/proc/delayed_surplus() if(powernet) - return CLAMP(powernet.newavail - powernet.delayedload, 0, powernet.newavail) + return clamp(powernet.newavail - powernet.delayedload, 0, powernet.newavail) else return 0 @@ -565,7 +565,7 @@ By design, d1 is the smallest direction and d2 is the highest return var/obj/item/restraints/handcuffs/cable/result = new(get_turf(user)) user.put_in_hands(result) - result.color = color + result.color = color to_chat(user, "You make some restraints out of cable") //add cables to the stack @@ -848,4 +848,4 @@ By design, d1 is the smallest direction and d2 is the highest . = ..() var/list/cable_colors = GLOB.cable_colors color = pick(cable_colors) - + diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 93fe7e8fa6..cc321fdb4d 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -157,7 +157,7 @@ /obj/item/stock_parts/cell/proc/get_electrocute_damage() if(charge >= 1000) - return CLAMP(round(charge/10000), 10, 90) + rand(-5,5) + return clamp(round(charge/10000), 10, 90) + rand(-5,5) else return 0 @@ -334,7 +334,7 @@ . = ..() if(. & EMP_PROTECT_SELF) return - charge = CLAMP((charge-(10000/severity)),0,maxcharge) + charge = clamp((charge-(10000/severity)),0,maxcharge) /obj/item/stock_parts/cell/emergency_light name = "miniature power cell" diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 02ff4127eb..7ad9f3a6ce 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -314,7 +314,7 @@ . = ..() SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) if(on && status == LIGHT_OK) - SSvis_overlays.add_vis_overlay(src, overlayicon, base_state, EMISSIVE_LAYER, EMISSIVE_PLANE, dir, CLAMP(light_power*250, 30, 200)) + SSvis_overlays.add_vis_overlay(src, overlayicon, base_state, EMISSIVE_LAYER, EMISSIVE_PLANE, dir, clamp(light_power*250, 30, 200)) // update the icon_state and luminosity of the light depending on its state diff --git a/code/modules/power/power.dm b/code/modules/power/power.dm index fba526edbd..4cec49945a 100644 --- a/code/modules/power/power.dm +++ b/code/modules/power/power.dm @@ -42,7 +42,7 @@ /obj/machinery/power/proc/surplus() if(powernet) - return CLAMP(powernet.avail-powernet.load, 0, powernet.avail) + return clamp(powernet.avail-powernet.load, 0, powernet.avail) else return 0 @@ -58,7 +58,7 @@ /obj/machinery/power/proc/delayed_surplus() if(powernet) - return CLAMP(powernet.newavail - powernet.delayedload, 0, powernet.newavail) + return clamp(powernet.newavail - powernet.delayedload, 0, powernet.newavail) else return 0 diff --git a/code/modules/power/powernet.dm b/code/modules/power/powernet.dm index 3b70383bee..65d5202ff4 100644 --- a/code/modules/power/powernet.dm +++ b/code/modules/power/powernet.dm @@ -96,6 +96,6 @@ /datum/powernet/proc/get_electrocute_damage() if(avail >= 1000) - return CLAMP(round(avail/10000), 10, 90) + rand(-5,5) + return clamp(round(avail/10000), 10, 90) + rand(-5,5) else return 0 \ No newline at end of file diff --git a/code/modules/power/singularity/narsie.dm b/code/modules/power/singularity/narsie.dm index c471047682..ed3a098dae 100644 --- a/code/modules/power/singularity/narsie.dm +++ b/code/modules/power/singularity/narsie.dm @@ -201,7 +201,7 @@ // if(defer_powernet_rebuild != 2) // defer_powernet_rebuild = 1 for(var/atom/X in urange(consume_range,src,1)) - if(isturf(X) || ismovableatom(X)) + if(isturf(X) || ismovable(X)) consume(X) // if(defer_powernet_rebuild != 2) // defer_powernet_rebuild = 0 diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index 47de07cd71..41ed28f0a5 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -220,7 +220,7 @@ . += "smes-og[clevel]" /obj/machinery/power/smes/proc/chargedisplay() - return CLAMP(round(5.5*charge/capacity),0,5) + return clamp(round(5.5*charge/capacity),0,5) /obj/machinery/power/smes/process() if(stat & BROKEN) @@ -372,7 +372,7 @@ target = text2num(target) . = TRUE if(.) - input_level = CLAMP(target, 0, input_level_max) + input_level = clamp(target, 0, input_level_max) log_smes(usr) if("output") var/target = params["target"] @@ -394,7 +394,7 @@ target = text2num(target) . = TRUE if(.) - output_level = CLAMP(target, 0, output_level_max) + output_level = clamp(target, 0, output_level_max) log_smes(usr) /obj/machinery/power/smes/proc/log_smes(mob/user) diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index 73ea3ccd59..89452affcb 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -28,10 +28,8 @@ /obj/machinery/power/solar/Initialize(mapload, obj/item/solar_assembly/S) . = ..() panel = new() -#if DM_VERSION >= 513 panel.vis_flags = VIS_INHERIT_ID|VIS_INHERIT_ICON|VIS_INHERIT_PLANE vis_contents += panel -#endif panel.icon = icon panel.icon_state = "solar_panel" panel.layer = FLY_LAYER @@ -170,7 +168,7 @@ else //dot product of sun and panel -- Lambert's Cosine Law . = cos(azimuth_current - sun_azimuth) - . = CLAMP(round(., 0.01), 0, 1) + . = clamp(round(., 0.01), 0, 1) sunfrac = . /obj/machinery/power/solar/process() @@ -385,7 +383,7 @@ if(adjust) value = azimuth_rate + adjust if(value != null) - azimuth_rate = round(CLAMP(value, -2 * SSsun.base_rotation, 2 * SSsun.base_rotation), 0.01) + azimuth_rate = round(clamp(value, -2 * SSsun.base_rotation, 2 * SSsun.base_rotation), 0.01) return TRUE return FALSE if(action == "tracking") @@ -464,7 +462,7 @@ ///Rotates the panel to the passed angles /obj/machinery/power/solar_control/proc/set_panels(azimuth) - azimuth = CLAMP(round(azimuth, 0.01), -360, 719.99) + azimuth = clamp(round(azimuth, 0.01), -360, 719.99) if(azimuth >= 360) azimuth -= 360 if(azimuth < 0) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 3ed1ad0e5a..92d97365b3 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -346,7 +346,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) else if(takes_damage) //causing damage - damage = max(damage + (max(CLAMP(removed.total_moles() / 200, 0.5, 1) * removed.temperature - ((T0C + HEAT_PENALTY_THRESHOLD)*dynamic_heat_resistance), 0) * mole_heat_penalty / 150 ) * DAMAGE_INCREASE_MULTIPLIER, 0) + damage = max(damage + (max(clamp(removed.total_moles() / 200, 0.5, 1) * removed.temperature - ((T0C + HEAT_PENALTY_THRESHOLD)*dynamic_heat_resistance), 0) * mole_heat_penalty / 150 ) * DAMAGE_INCREASE_MULTIPLIER, 0) damage = max(damage + (max(power - POWER_PENALTY_THRESHOLD, 0)/500) * DAMAGE_INCREASE_MULTIPLIER, 0) damage = max(damage + (max(combined_gas - MOLE_PENALTY_THRESHOLD, 0)/80) * DAMAGE_INCREASE_MULTIPLIER, 0) @@ -389,10 +389,10 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) mole_heat_penalty = max(combined_gas / MOLE_HEAT_PENALTY, 0.25) if (combined_gas > POWERLOSS_INHIBITION_MOLE_THRESHOLD && co2comp > POWERLOSS_INHIBITION_GAS_THRESHOLD) - powerloss_dynamic_scaling = CLAMP(powerloss_dynamic_scaling + CLAMP(co2comp - powerloss_dynamic_scaling, -0.02, 0.02), 0, 1) + powerloss_dynamic_scaling = clamp(powerloss_dynamic_scaling + clamp(co2comp - powerloss_dynamic_scaling, -0.02, 0.02), 0, 1) else - powerloss_dynamic_scaling = CLAMP(powerloss_dynamic_scaling - 0.05,0, 1) - powerloss_inhibitor = CLAMP(1-(powerloss_dynamic_scaling * CLAMP(combined_gas/POWERLOSS_INHIBITION_MOLE_BOOST_THRESHOLD,1 ,1.5)),0 ,1) + powerloss_dynamic_scaling = clamp(powerloss_dynamic_scaling - 0.05,0, 1) + powerloss_inhibitor = clamp(1-(powerloss_dynamic_scaling * clamp(combined_gas/POWERLOSS_INHIBITION_MOLE_BOOST_THRESHOLD,1 ,1.5)),0 ,1) if(matter_power) var/removed_matter = max(matter_power/MATTER_POWER_CONVERSION, 40) @@ -442,7 +442,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) if(!istype(l.glasses, /obj/item/clothing/glasses/meson)) var/D = sqrt(1 / max(1, get_dist(l, src))) l.hallucination += power_calc * config_hallucination_power * D - l.hallucination = CLAMP(0, 200, l.hallucination) + l.hallucination = clamp(0, 200, l.hallucination) for(var/mob/living/l in range(src, round((power / 100) ** 0.25))) var/rads = (power / 10) * sqrt( 1 / max(get_dist(l, src),1) ) @@ -466,7 +466,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) supermatter_zap(src, 5, min(power*2, 20000)) else if (damage > damage_penalty_point && prob(20)) playsound(src.loc, 'sound/weapons/emitter2.ogg', 100, 1, extrarange = 10) - supermatter_zap(src, 5, CLAMP(power*2, 4000, 20000)) + supermatter_zap(src, 5, clamp(power*2, 4000, 20000)) if(prob(15) && power > POWER_PENALTY_THRESHOLD) supermatter_pull(src, power/750) @@ -736,7 +736,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) /obj/machinery/power/supermatter_crystal/proc/supermatter_pull(turf/center, pull_range = 10) playsound(src.loc, 'sound/weapons/marauder.ogg', 100, 1, extrarange = 7) for(var/atom/P in orange(pull_range,center)) - if(ismovableatom(P)) + if(ismovable(P)) var/atom/movable/pulled_object = P if(ishuman(P)) var/mob/living/carbon/human/H = P diff --git a/code/modules/power/tesla/energy_ball.dm b/code/modules/power/tesla/energy_ball.dm index 1b08693d1c..e98fe3c88e 100644 --- a/code/modules/power/tesla/energy_ball.dm +++ b/code/modules/power/tesla/energy_ball.dm @@ -65,7 +65,7 @@ pixel_x = -32 pixel_y = -32 for (var/ball in orbiting_balls) - var/range = rand(1, CLAMP(orbiting_balls.len, 3, 7)) + var/range = rand(1, clamp(orbiting_balls.len, 3, 7)) tesla_zap(ball, range, TESLA_MINI_POWER/7*range) else energy = 0 // ensure we dont have miniballs of miniballs diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index e0c84e7047..ff3f127817 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -232,7 +232,7 @@ ..() if(!automatic_charge_overlays) return - var/ratio = can_shoot() ? CEILING(CLAMP(cell.charge / cell.maxcharge, 0, 1) * charge_sections, 1) : 0 + var/ratio = can_shoot() ? CEILING(clamp(cell.charge / cell.maxcharge, 0, 1) * charge_sections, 1) : 0 // Sets the ratio to 0 if the gun doesn't have enough charge to fire, or if it's power cell is removed. // TG issues #5361 & #47908 if(ratio == old_ratio && !force_update) diff --git a/code/modules/projectiles/guns/misc/beam_rifle.dm b/code/modules/projectiles/guns/misc/beam_rifle.dm index f230dc7fea..f8ddcb5aae 100644 --- a/code/modules/projectiles/guns/misc/beam_rifle.dm +++ b/code/modules/projectiles/guns/misc/beam_rifle.dm @@ -318,7 +318,7 @@ AC.sync_stats() /obj/item/gun/energy/beam_rifle/proc/delay_penalty(amount) - aiming_time_left = CLAMP(aiming_time_left + amount, 0, aiming_time) + aiming_time_left = clamp(aiming_time_left + amount, 0, aiming_time) /obj/item/ammo_casing/energy/beam_rifle name = "particle acceleration lens" @@ -369,11 +369,11 @@ HS_BB.stun = projectile_stun HS_BB.impact_structure_damage = impact_structure_damage HS_BB.aoe_mob_damage = aoe_mob_damage - HS_BB.aoe_mob_range = CLAMP(aoe_mob_range, 0, 15) //Badmin safety lock + HS_BB.aoe_mob_range = clamp(aoe_mob_range, 0, 15) //Badmin safety lock HS_BB.aoe_fire_chance = aoe_fire_chance HS_BB.aoe_fire_range = aoe_fire_range HS_BB.aoe_structure_damage = aoe_structure_damage - HS_BB.aoe_structure_range = CLAMP(aoe_structure_range, 0, 15) //Badmin safety lock + HS_BB.aoe_structure_range = clamp(aoe_structure_range, 0, 15) //Badmin safety lock HS_BB.wall_devastate = wall_devastate HS_BB.wall_pierce_amount = wall_pierce_amount HS_BB.structure_pierce_amount = structure_piercing @@ -465,7 +465,7 @@ else target.ex_act(EXPLODE_HEAVY) return TRUE - if(ismovableatom(target)) + if(ismovable(target)) var/atom/movable/AM = target if(AM.density && !AM.CanPass(src, get_turf(target)) && !ismob(AM)) if(structure_pierce < structure_pierce_amount) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 6094a7aa46..b4303dd5a0 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -224,7 +224,7 @@ /obj/item/projectile/proc/vol_by_damage() if(src.damage) - return CLAMP((src.damage) * 0.67, 30, 100)// Multiply projectile damage by 0.67, then CLAMP the value between 30 and 100 + return clamp((src.damage) * 0.67, 30, 100)// Multiply projectile damage by 0.67, then CLAMP the value between 30 and 100 else return 50 //if the projectile doesn't do damage, play its hitsound at 50% volume @@ -255,7 +255,7 @@ def_zone = ran_zone(def_zone, max(100-(7*distance), 5) * zone_accuracy_factor) //Lower accurancy/longer range tradeoff. 7 is a balanced number to use. if(isturf(A) && hitsound_wall) - var/volume = CLAMP(vol_by_damage() + 20, 0, 100) + var/volume = clamp(vol_by_damage() + 20, 0, 100) if(suppressed) volume = 5 playsound(loc, hitsound_wall, volume, 1, -1) @@ -392,7 +392,7 @@ stack_trace("WARNING: Projectile [type] deleted due to being unable to resolve a target after angle was null!") qdel(src) return - var/turf/target = locate(CLAMP(starting + xo, 1, world.maxx), CLAMP(starting + yo, 1, world.maxy), starting.z) + var/turf/target = locate(clamp(starting + xo, 1, world.maxx), clamp(starting + yo, 1, world.maxy), starting.z) setAngle(Get_Angle(src, target)) original_angle = Angle if(!nondirectional_sprite) @@ -525,10 +525,10 @@ if(!homing_target) return FALSE var/datum/point/PT = RETURN_PRECISE_POINT(homing_target) - PT.x += CLAMP(homing_offset_x, 1, world.maxx) - PT.y += CLAMP(homing_offset_y, 1, world.maxy) + PT.x += clamp(homing_offset_x, 1, world.maxx) + PT.y += clamp(homing_offset_y, 1, world.maxy) var/angle = closer_angle_difference(Angle, angle_between_points(RETURN_PRECISE_POINT(src), PT)) - setAngle(Angle + CLAMP(angle, -homing_turn_speed, homing_turn_speed)) + setAngle(Angle + clamp(angle, -homing_turn_speed, homing_turn_speed)) /obj/item/projectile/proc/set_homing_target(atom/A) if(!A || (!isturf(A) && !isturf(A.loc))) @@ -622,7 +622,7 @@ var/ox = round(screenviewX/2) - user.client.pixel_x //"origin" x var/oy = round(screenviewY/2) - user.client.pixel_y //"origin" y - angle = ATAN2(y - oy, x - ox) + angle = arctan(y - oy, x - ox) return list(angle, p_x, p_y) /obj/item/projectile/Crossed(atom/movable/AM) //A mob moving on a tile with a projectile is hit by it. diff --git a/code/modules/projectiles/projectile/bullets/dart_syringe.dm b/code/modules/projectiles/projectile/bullets/dart_syringe.dm index 06d94414be..25809cc7ca 100644 --- a/code/modules/projectiles/projectile/bullets/dart_syringe.dm +++ b/code/modules/projectiles/projectile/bullets/dart_syringe.dm @@ -60,11 +60,11 @@ if(R.overdose_threshold == 0 || emptrig == TRUE) //Is there a possible OD? M.reagents.add_reagent(R.type, R.volume) else - var/transVol = CLAMP(R.volume, 0, (R.overdose_threshold - M.reagents.get_reagent_amount(R.type)) -1) + var/transVol = clamp(R.volume, 0, (R.overdose_threshold - M.reagents.get_reagent_amount(R.type)) -1) M.reagents.add_reagent(R.type, transVol) else if(!R.overdose_threshold == 0) - var/transVol = CLAMP(R.volume, 0, R.overdose_threshold-1) + var/transVol = clamp(R.volume, 0, R.overdose_threshold-1) M.reagents.add_reagent(R.type, transVol) else M.reagents.add_reagent(R.type, R.volume) diff --git a/code/modules/projectiles/projectile/bullets/shotgun.dm b/code/modules/projectiles/projectile/bullets/shotgun.dm index 4411334883..ff95b65a49 100644 --- a/code/modules/projectiles/projectile/bullets/shotgun.dm +++ b/code/modules/projectiles/projectile/bullets/shotgun.dm @@ -51,7 +51,7 @@ /obj/item/projectile/bullet/shotgun_meteorslug/on_hit(atom/target, blocked = FALSE) . = ..() - if(ismovableatom(target)) + if(ismovable(target)) var/atom/movable/M = target var/atom/throw_target = get_edge_target_turf(M, get_dir(src, get_step_away(M, src))) M.safe_throw_at(throw_target, 3, 2) diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index 89dd229407..f4c06f39cc 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -728,7 +728,7 @@ return //Make sure things are limited, but superacids/bases can push forward the reaction - pH = CLAMP(pH, 0, 14) + pH = clamp(pH, 0, 14) //return said amount to compare for next step. return (reactedVol) @@ -849,7 +849,7 @@ /datum/reagents/proc/adjust_thermal_energy(J, min_temp = 2.7, max_temp = 1000) var/S = specific_heat() - chem_temp = CLAMP(chem_temp + (J / (S * total_volume)), min_temp, max_temp) + chem_temp = clamp(chem_temp + (J / (S * total_volume)), min_temp, max_temp) if(istype(my_atom, /obj/item/reagent_containers)) var/obj/item/reagent_containers/RC = my_atom RC.temp_check() @@ -877,7 +877,7 @@ for (var/datum/reagent/reagentgas in reagent_list) R.add_reagent(reagentgas, amount/5) remove_reagent(reagentgas, amount/5) - s.set_up(R, CLAMP(amount/10, 0, 2), T) + s.set_up(R, clamp(amount/10, 0, 2), T) s.start() return FALSE @@ -995,7 +995,7 @@ RC.pH_check()//checks beaker resilience) //clamp the removal amount to be between current reagent amount //and zero, to prevent removing more than the holder has stored - amount = CLAMP(amount, 0, R.volume) + amount = clamp(amount, 0, R.volume) R.volume -= amount update_total() if(!safety)//So it does not handle reactions when it need not to diff --git a/code/modules/reagents/chemistry/machinery/chem_heater.dm b/code/modules/reagents/chemistry/machinery/chem_heater.dm index 63e9d724a4..8572d30efe 100644 --- a/code/modules/reagents/chemistry/machinery/chem_heater.dm +++ b/code/modules/reagents/chemistry/machinery/chem_heater.dm @@ -151,7 +151,7 @@ target = text2num(target) . = TRUE if(.) - target_temperature = CLAMP(target, 0, 1000) + target_temperature = clamp(target, 0, 1000) if("eject") on = FALSE replace_beaker(usr) diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm index 5eb5b94de9..725b967a63 100644 --- a/code/modules/reagents/chemistry/reagents.dm +++ b/code/modules/reagents/chemistry/reagents.dm @@ -62,7 +62,7 @@ GLOBAL_LIST_INIT(name2reagent, build_name2reagent()) return 0 if(method == VAPOR) //smoke, foam, spray if(M.reagents) - var/modifier = CLAMP((1 - touch_protection), 0, 1) + var/modifier = clamp((1 - touch_protection), 0, 1) var/amount = round(reac_volume*modifier, 0.1) if(amount >= 0.5) M.reagents.add_reagent(type, amount) diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index bff9c8dcef..8194392871 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -1124,7 +1124,7 @@ All effects don't start immediately, but rather get worse over time; the rate is var/datum/antagonist/changeling/changeling = M.mind.has_antag_datum(/datum/antagonist/changeling) if(changeling) changeling.chem_charges += metabolization_rate - changeling.chem_charges = CLAMP(changeling.chem_charges, 0, changeling.chem_storage) + changeling.chem_charges = clamp(changeling.chem_charges, 0, changeling.chem_storage) return ..() /datum/reagent/consumable/ethanol/irishcarbomb diff --git a/code/modules/reagents/chemistry/reagents/drug_reagents.dm b/code/modules/reagents/chemistry/reagents/drug_reagents.dm index c96feec4e2..086515d9dd 100644 --- a/code/modules/reagents/chemistry/reagents/drug_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drug_reagents.dm @@ -196,7 +196,7 @@ . = 1 /datum/reagent/drug/methamphetamine/overdose_process(mob/living/M) - if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovableatom(M.loc)) + if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovable(M.loc)) for(var/i in 1 to 4) step(M, pick(GLOB.cardinals)) if(prob(20)) @@ -223,7 +223,7 @@ ..() /datum/reagent/drug/methamphetamine/addiction_act_stage3(mob/living/M) - if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovableatom(M.loc)) + if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovable(M.loc)) for(var/i = 0, i < 4, i++) step(M, pick(GLOB.cardinals)) M.Jitter(15) @@ -233,7 +233,7 @@ ..() /datum/reagent/drug/methamphetamine/addiction_act_stage4(mob/living/carbon/human/M) - if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovableatom(M.loc)) + if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovable(M.loc)) for(var/i = 0, i < 8, i++) step(M, pick(GLOB.cardinals)) M.Jitter(20) @@ -285,7 +285,7 @@ M.adjustStaminaLoss(-5, 0) M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 4) M.hallucination += 5 - if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovableatom(M.loc)) + if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovable(M.loc)) step(M, pick(GLOB.cardinals)) step(M, pick(GLOB.cardinals)) ..() @@ -293,7 +293,7 @@ /datum/reagent/drug/bath_salts/overdose_process(mob/living/M) M.hallucination += 5 - if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovableatom(M.loc)) + if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovable(M.loc)) for(var/i in 1 to 8) step(M, pick(GLOB.cardinals)) if(prob(20)) @@ -304,7 +304,7 @@ /datum/reagent/drug/bath_salts/addiction_act_stage1(mob/living/M) M.hallucination += 10 - if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovableatom(M.loc)) + if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovable(M.loc)) for(var/i = 0, i < 8, i++) step(M, pick(GLOB.cardinals)) M.Jitter(5) @@ -315,7 +315,7 @@ /datum/reagent/drug/bath_salts/addiction_act_stage2(mob/living/M) M.hallucination += 20 - if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovableatom(M.loc)) + if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovable(M.loc)) for(var/i = 0, i < 8, i++) step(M, pick(GLOB.cardinals)) M.Jitter(10) @@ -327,7 +327,7 @@ /datum/reagent/drug/bath_salts/addiction_act_stage3(mob/living/M) M.hallucination += 30 - if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovableatom(M.loc)) + if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovable(M.loc)) for(var/i = 0, i < 12, i++) step(M, pick(GLOB.cardinals)) M.Jitter(15) @@ -339,7 +339,7 @@ /datum/reagent/drug/bath_salts/addiction_act_stage4(mob/living/carbon/human/M) M.hallucination += 30 - if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovableatom(M.loc)) + if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovable(M.loc)) for(var/i = 0, i < 16, i++) step(M, pick(GLOB.cardinals)) M.Jitter(50) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index e66ebc5f20..af335359c3 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -2023,9 +2023,9 @@ /datum/reagent/peaceborg_confuse/on_mob_life(mob/living/carbon/M) if(M.confused < 6) - M.confused = CLAMP(M.confused + 3, 0, 5) + M.confused = clamp(M.confused + 3, 0, 5) if(M.dizziness < 6) - M.dizziness = CLAMP(M.dizziness + 3, 0, 5) + M.dizziness = clamp(M.dizziness + 3, 0, 5) if(prob(20)) to_chat(M, "You feel confused and disorientated.") ..() diff --git a/code/modules/reagents/chemistry/recipes/medicine.dm b/code/modules/reagents/chemistry/recipes/medicine.dm index 0b32952d20..9cf9acb424 100644 --- a/code/modules/reagents/chemistry/recipes/medicine.dm +++ b/code/modules/reagents/chemistry/recipes/medicine.dm @@ -105,7 +105,7 @@ if(St.purity < 1) St.volume *= St.purity St.purity = 1 - var/amount = CLAMP(0.002, 0, N.volume) + var/amount = clamp(0.002, 0, N.volume) N.volume -= amount St.data["grown_volume"] = St.data["grown_volume"] + added_volume St.name = "[initial(St.name)] [round(St.data["grown_volume"], 0.1)]u colony" diff --git a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm index 2c8be10ace..8782d65f76 100644 --- a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm +++ b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm @@ -195,7 +195,7 @@ return holder.remove_reagent(/datum/reagent/sorium, multiplier*4) var/turf/T = get_turf(holder.my_atom) - var/range = CLAMP(sqrt(multiplier*4), 1, 6) + var/range = clamp(sqrt(multiplier*4), 1, 6) goonchem_vortex(T, 1, range) /datum/chemical_reaction/sorium_vortex @@ -206,7 +206,7 @@ /datum/chemical_reaction/sorium_vortex/on_reaction(datum/reagents/holder, multiplier) var/turf/T = get_turf(holder.my_atom) - var/range = CLAMP(sqrt(multiplier), 1, 6) + var/range = clamp(sqrt(multiplier), 1, 6) goonchem_vortex(T, 1, range) /datum/chemical_reaction/liquid_dark_matter @@ -220,7 +220,7 @@ return holder.remove_reagent(/datum/reagent/liquid_dark_matter, multiplier*3) var/turf/T = get_turf(holder.my_atom) - var/range = CLAMP(sqrt(multiplier*3), 1, 6) + var/range = clamp(sqrt(multiplier*3), 1, 6) goonchem_vortex(T, 0, range) /datum/chemical_reaction/ldm_vortex @@ -231,7 +231,7 @@ /datum/chemical_reaction/ldm_vortex/on_reaction(datum/reagents/holder, multiplier) var/turf/T = get_turf(holder.my_atom) - var/range = CLAMP(sqrt(multiplier/2), 1, 6) + var/range = clamp(sqrt(multiplier/2), 1, 6) goonchem_vortex(T, 0, range) /datum/chemical_reaction/flash_powder diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index 89de7c409d..f326b94e44 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -185,7 +185,7 @@ START_PROCESSING(SSobj, src) else if((reagents.pH < -3) || (reagents.pH > 17)) visible_message("[icon2html(src, viewers(src))] \The [src] is damaged by the super pH and begins to deform!") - reagents.pH = CLAMP(reagents.pH, -3, 17) + reagents.pH = clamp(reagents.pH, -3, 17) container_HP -= 1 diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 62ca5d658e..7fea8250d9 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -66,7 +66,7 @@ /obj/item/reagent_containers/spray/proc/spray(atom/A) - var/range = CLAMP(get_dist(src, A), 1, current_range) + var/range = clamp(get_dist(src, A), 1, current_range) var/obj/effect/decal/chempuff/D = new /obj/effect/decal/chempuff(get_turf(src)) D.create_reagents(amount_per_transfer_from_this, NONE, NO_REAGENTS_VALUE) var/puff_reagent_left = range //how many turf, mob or dense objet we can react with before we consider the chem puff consumed diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index b8957775b1..1a2742d2a6 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -180,7 +180,7 @@ ///Used by update_icon() and update_overlays() /obj/item/reagent_containers/syringe/proc/get_rounded_vol() if(reagents && reagents.total_volume) - return CLAMP(round((reagents.total_volume / volume * 15),5), 1, 15) + return clamp(round((reagents.total_volume / volume * 15),5), 1, 15) else return 0 diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index d6ad1bf042..b47f0de032 100644 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -57,7 +57,7 @@ return ..() /obj/structure/bigDelivery/relay_container_resist(mob/living/user, obj/O) - if(ismovableatom(loc)) + if(ismovable(loc)) var/atom/movable/AM = loc //can't unwrap the wrapped container if it's inside something. AM.relay_container_resist(user, O) return diff --git a/code/modules/research/machinery/_production.dm b/code/modules/research/machinery/_production.dm index 41ed6a556e..bd571607d2 100644 --- a/code/modules/research/machinery/_production.dm +++ b/code/modules/research/machinery/_production.dm @@ -141,7 +141,7 @@ say("Mineral access is on hold, please contact the quartermaster.") return FALSE var/power = 1000 - amount = CLAMP(amount, 1, 50) + amount = clamp(amount, 1, 50) for(var/M in D.materials) power += round(D.materials[M] * amount / 35) power = min(3000, power) diff --git a/code/modules/research/nanites/extra_settings/number.dm b/code/modules/research/nanites/extra_settings/number.dm index 6e63ae067e..75489635f5 100644 --- a/code/modules/research/nanites/extra_settings/number.dm +++ b/code/modules/research/nanites/extra_settings/number.dm @@ -16,7 +16,7 @@ value = text2num(value) if(!value || !isnum(value)) return - src.value = CLAMP(value, min, max) + src.value = clamp(value, min, max) /datum/nanite_extra_setting/number/get_copy() return new /datum/nanite_extra_setting/number(value, min, max, unit) diff --git a/code/modules/research/nanites/nanite_chamber_computer.dm b/code/modules/research/nanites/nanite_chamber_computer.dm index 0750d3d268..4650af5c80 100644 --- a/code/modules/research/nanites/nanite_chamber_computer.dm +++ b/code/modules/research/nanites/nanite_chamber_computer.dm @@ -72,14 +72,14 @@ if("set_safety") var/threshold = text2num(params["value"]) if(!isnull(threshold)) - chamber.set_safety(CLAMP(round(threshold, 1),0,500)) + chamber.set_safety(clamp(round(threshold, 1),0,500)) playsound(src, "terminal_type", 25, FALSE) chamber.occupant.investigate_log("'s nanites' safety threshold was set to [threshold] by [key_name(usr)] via [src] at [AREACOORD(src)].", INVESTIGATE_NANITES) . = TRUE if("set_cloud") var/cloud_id = text2num(params["value"]) if(!isnull(cloud_id)) - chamber.set_cloud(CLAMP(round(cloud_id, 1),0,100)) + chamber.set_cloud(clamp(round(cloud_id, 1),0,100)) playsound(src, "terminal_type", 25, FALSE) chamber.occupant.investigate_log("'s nanites' cloud id was set to [cloud_id] by [key_name(usr)] via [src] at [AREACOORD(src)].", INVESTIGATE_NANITES) . = TRUE diff --git a/code/modules/research/nanites/nanite_cloud_controller.dm b/code/modules/research/nanites/nanite_cloud_controller.dm index 439d0c5750..f9d4d71b01 100644 --- a/code/modules/research/nanites/nanite_cloud_controller.dm +++ b/code/modules/research/nanites/nanite_cloud_controller.dm @@ -174,7 +174,7 @@ var/cloud_id = new_backup_id if(!isnull(cloud_id)) playsound(src, 'sound/machines/terminal_prompt.ogg', 50, FALSE) - cloud_id = CLAMP(round(cloud_id, 1),1,100) + cloud_id = clamp(round(cloud_id, 1),1,100) generate_backup(cloud_id, usr) . = TRUE if("delete_backup") diff --git a/code/modules/research/nanites/nanite_programmer.dm b/code/modules/research/nanites/nanite_programmer.dm index d81880c6d9..5315a7a507 100644 --- a/code/modules/research/nanites/nanite_programmer.dm +++ b/code/modules/research/nanites/nanite_programmer.dm @@ -86,13 +86,13 @@ var/target_code = params["target_code"] switch(target_code) if("activation") - program.activation_code = CLAMP(round(new_code, 1),0,9999) + program.activation_code = clamp(round(new_code, 1),0,9999) if("deactivation") - program.deactivation_code = CLAMP(round(new_code, 1),0,9999) + program.deactivation_code = clamp(round(new_code, 1),0,9999) if("kill") - program.kill_code = CLAMP(round(new_code, 1),0,9999) + program.kill_code = clamp(round(new_code, 1),0,9999) if("trigger") - program.trigger_code = CLAMP(round(new_code, 1),0,9999) + program.trigger_code = clamp(round(new_code, 1),0,9999) . = TRUE if("set_extra_setting") program.set_extra_setting(params["target_setting"], params["value"]) @@ -102,7 +102,7 @@ var/timer = text2num(params["delay"]) if(!isnull(timer)) playsound(src, "terminal_type", 25, FALSE) - timer = CLAMP(round(timer, 1), 0, 3600) + timer = clamp(round(timer, 1), 0, 3600) timer *= 10 //convert to deciseconds program.timer_restart = timer . = TRUE @@ -110,7 +110,7 @@ var/timer = text2num(params["delay"]) if(!isnull(timer)) playsound(src, "terminal_type", 25, FALSE) - timer = CLAMP(round(timer, 1), 0, 3600) + timer = clamp(round(timer, 1), 0, 3600) timer *= 10 //convert to deciseconds program.timer_shutdown = timer . = TRUE @@ -118,7 +118,7 @@ var/timer = text2num(params["delay"]) if(!isnull(timer)) playsound(src, "terminal_type", 25, FALSE) - timer = CLAMP(round(timer, 1), 0, 3600) + timer = clamp(round(timer, 1), 0, 3600) timer *= 10 //convert to deciseconds program.timer_trigger = timer . = TRUE @@ -126,7 +126,7 @@ var/timer = text2num(params["delay"]) if(!isnull(timer)) playsound(src, "terminal_type", 25, FALSE) - timer = CLAMP(round(timer, 1), 0, 3600) + timer = clamp(round(timer, 1), 0, 3600) timer *= 10 //convert to deciseconds program.timer_trigger_delay = timer . = TRUE diff --git a/code/modules/research/nanites/nanite_programs/weapon.dm b/code/modules/research/nanites/nanite_programs/weapon.dm index bd2b9618de..ae0d8d35aa 100644 --- a/code/modules/research/nanites/nanite_programs/weapon.dm +++ b/code/modules/research/nanites/nanite_programs/weapon.dm @@ -84,7 +84,7 @@ /datum/nanite_program/explosive/on_trigger(comm_message) host_mob.visible_message("[host_mob] starts emitting a high-pitched buzzing, and [host_mob.p_their()] skin begins to glow...",\ "You start emitting a high-pitched buzzing, and your skin begins to glow...") - addtimer(CALLBACK(src, .proc/boom), CLAMP((nanites.nanite_volume * 0.35), 25, 150)) + addtimer(CALLBACK(src, .proc/boom), clamp((nanites.nanite_volume * 0.35), 25, 150)) /datum/nanite_program/explosive/proc/boom() var/nanite_amount = nanites.nanite_volume diff --git a/code/modules/research/nanites/nanite_remote.dm b/code/modules/research/nanites/nanite_remote.dm index 71aecc8f2c..0d9361b534 100644 --- a/code/modules/research/nanites/nanite_remote.dm +++ b/code/modules/research/nanites/nanite_remote.dm @@ -106,7 +106,7 @@ return var/new_code = text2num(params["code"]) if(!isnull(new_code)) - new_code = CLAMP(round(new_code, 1),0,9999) + new_code = clamp(round(new_code, 1),0,9999) code = new_code . = TRUE if("set_relay_code") @@ -114,7 +114,7 @@ return var/new_code = text2num(params["code"]) if(!isnull(new_code)) - new_code = CLAMP(round(new_code, 1),0,9999) + new_code = clamp(round(new_code, 1),0,9999) relay_code = new_code . = TRUE if("update_name") diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index a346cd697f..dc821886c8 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -801,7 +801,7 @@ return to_chat(user, "You feed the slime the stabilizer. It is now less likely to mutate.") - M.mutation_chance = CLAMP(M.mutation_chance-15,0,100) + M.mutation_chance = clamp(M.mutation_chance-15,0,100) qdel(src) /obj/item/slimepotion/slime/mutator @@ -825,7 +825,7 @@ return to_chat(user, "You feed the slime the mutator. It is now more likely to mutate.") - M.mutation_chance = CLAMP(M.mutation_chance+12,0,100) + M.mutation_chance = clamp(M.mutation_chance+12,0,100) M.mutator_used = TRUE qdel(src) diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index 2c466564ff..665361af49 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -757,13 +757,13 @@ var/change_per_engine = (1 - ENGINE_COEFF_MIN) / ENGINE_DEFAULT_MAXSPEED_ENGINES // 5 by default if(initial_engines > 0) change_per_engine = (1 - ENGINE_COEFF_MIN) / initial_engines // or however many it had - return CLAMP(1 - delta * change_per_engine,ENGINE_COEFF_MIN,ENGINE_COEFF_MAX) + return clamp(1 - delta * change_per_engine,ENGINE_COEFF_MIN,ENGINE_COEFF_MAX) if(new_value < initial_engines) var/delta = initial_engines - new_value var/change_per_engine = 1 //doesn't really matter should not be happening for 0 engine shuttles if(initial_engines > 0) change_per_engine = (ENGINE_COEFF_MAX - 1) / initial_engines //just linear drop to max delay - return CLAMP(1 + delta * change_per_engine,ENGINE_COEFF_MIN,ENGINE_COEFF_MAX) + return clamp(1 + delta * change_per_engine,ENGINE_COEFF_MIN,ENGINE_COEFF_MAX) /obj/docking_port/mobile/proc/in_flight() diff --git a/code/modules/spells/spell_types/wizard.dm b/code/modules/spells/spell_types/wizard.dm index ace542126c..e9432e2f58 100644 --- a/code/modules/spells/spell_types/wizard.dm +++ b/code/modules/spells/spell_types/wizard.dm @@ -297,7 +297,7 @@ var/mob/living/M = AM M.DefaultCombatKnockdown(stun_amt, override_hardstun = stun_amt * 0.2) to_chat(M, "You're thrown back by [user]!") - AM.throw_at(throwtarget, ((CLAMP((maxthrow - (CLAMP(distfromcaster - 2, 0, distfromcaster))), 3, maxthrow))), 1,user)//So stuff gets tossed around at the same time. + AM.throw_at(throwtarget, ((clamp((maxthrow - (clamp(distfromcaster - 2, 0, distfromcaster))), 3, maxthrow))), 1,user)//So stuff gets tossed around at the same time. safety-- /obj/effect/proc_holder/spell/aoe_turf/repulse/xeno //i fixed conflicts only to find out that this is in the WIZARD file instead of the xeno file?! diff --git a/code/modules/surgery/bodyparts/bodyparts.dm b/code/modules/surgery/bodyparts/bodyparts.dm index d6f0866936..f5b0ed1a75 100644 --- a/code/modules/surgery/bodyparts/bodyparts.dm +++ b/code/modules/surgery/bodyparts/bodyparts.dm @@ -183,7 +183,7 @@ //We've dealt the physical damages, if there's room lets apply the stamina damage. var/current_damage = get_damage(TRUE) //This time around, count stamina loss too. var/available_damage = max_damage - current_damage - stamina_dam += round(CLAMP(stamina, 0, min(max_stamina_damage - stamina_dam, available_damage)), DAMAGE_PRECISION) + stamina_dam += round(clamp(stamina, 0, min(max_stamina_damage - stamina_dam, available_damage)), DAMAGE_PRECISION) if(disabled && stamina > 10) incoming_stam_mult = max(0.01, incoming_stam_mult/(stamina*0.1)) diff --git a/code/modules/surgery/bodyparts/dismemberment.dm b/code/modules/surgery/bodyparts/dismemberment.dm index 276d4893de..66bca919c4 100644 --- a/code/modules/surgery/bodyparts/dismemberment.dm +++ b/code/modules/surgery/bodyparts/dismemberment.dm @@ -16,7 +16,7 @@ return FALSE var/obj/item/bodypart/affecting = C.get_bodypart(BODY_ZONE_CHEST) - affecting.receive_damage(CLAMP(brute_dam/2 * affecting.body_damage_coeff, 15, 50), CLAMP(burn_dam/2 * affecting.body_damage_coeff, 0, 50)) //Damage the chest based on limb's existing damage + affecting.receive_damage(clamp(brute_dam/2 * affecting.body_damage_coeff, 15, 50), clamp(burn_dam/2 * affecting.body_damage_coeff, 0, 50)) //Damage the chest based on limb's existing damage C.visible_message("[C]'s [src.name] has been violently dismembered!") C.emote("scream") SEND_SIGNAL(C, COMSIG_ADD_MOOD_EVENT, "dismembered", /datum/mood_event/dismembered) diff --git a/code/modules/surgery/organs/eyes.dm b/code/modules/surgery/organs/eyes.dm index 6b93995e62..e5aac2a47d 100644 --- a/code/modules/surgery/organs/eyes.dm +++ b/code/modules/surgery/organs/eyes.dm @@ -259,7 +259,7 @@ if(!isnum(range)) return - set_distance(CLAMP(range, 0, max_light_beam_distance)) + set_distance(clamp(range, 0, max_light_beam_distance)) assume_rgb(C) /obj/item/organ/eyes/robotic/glow/proc/assume_rgb(newcolor) diff --git a/code/modules/surgery/organs/lungs.dm b/code/modules/surgery/organs/lungs.dm index ac2b34b855..1b66af6232 100644 --- a/code/modules/surgery/organs/lungs.dm +++ b/code/modules/surgery/organs/lungs.dm @@ -146,7 +146,7 @@ if(safe_oxygen_max) if((O2_pp > safe_oxygen_max) && safe_oxygen_max == 0) //I guess plasma men technically need to have a check. var/ratio = (breath_gases[/datum/gas/oxygen]/safe_oxygen_max) * 10 - H.apply_damage_type(CLAMP(ratio, oxy_breath_dam_min, oxy_breath_dam_max), oxy_damage_type) + H.apply_damage_type(clamp(ratio, oxy_breath_dam_min, oxy_breath_dam_max), oxy_damage_type) H.throw_alert("too_much_oxy", /obj/screen/alert/too_much_oxy) else if((O2_pp > safe_oxygen_max) && !(safe_oxygen_max == 0)) //Why yes, this is like too much CO2 and spahget. Dirty lizards. @@ -188,7 +188,7 @@ if(safe_nitro_max) if(N2_pp > safe_nitro_max) var/ratio = (breath_gases[/datum/gas/nitrogen]/safe_nitro_max) * 10 - H.apply_damage_type(CLAMP(ratio, nitro_breath_dam_min, nitro_breath_dam_max), nitro_damage_type) + H.apply_damage_type(clamp(ratio, nitro_breath_dam_min, nitro_breath_dam_max), nitro_damage_type) H.throw_alert("too_much_nitro", /obj/screen/alert/too_much_nitro) H.losebreath += 2 else @@ -255,7 +255,7 @@ if(safe_toxins_max) if(Toxins_pp > safe_toxins_max) var/ratio = (breath_gases[/datum/gas/plasma]/safe_toxins_max) * 10 - H.apply_damage_type(CLAMP(ratio, tox_breath_dam_min, tox_breath_dam_max), tox_damage_type) + H.apply_damage_type(clamp(ratio, tox_breath_dam_min, tox_breath_dam_max), tox_damage_type) H.throw_alert("too_much_tox", /obj/screen/alert/too_much_tox) else H.clear_alert("too_much_tox") diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index d95901bdbe..4e4268c5fe 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -209,7 +209,7 @@ return FALSE if(maximum < damage) return FALSE - damage = CLAMP(damage + d, 0, maximum) + damage = clamp(damage + d, 0, maximum) var/mess = check_damage_thresholds() prev_damage = damage if(mess && owner) diff --git a/code/modules/vehicles/secway.dm b/code/modules/vehicles/secway.dm index 868610a149..8ad8b5f1ee 100644 --- a/code/modules/vehicles/secway.dm +++ b/code/modules/vehicles/secway.dm @@ -22,7 +22,7 @@ /obj/vehicle/ridden/secway/process() var/diff = world.time - last_tick var/regen = chargerate * diff - charge = CLAMP(charge + regen, 0, chargemax) + charge = clamp(charge + regen, 0, chargemax) last_tick = world.time /obj/vehicle/ridden/secway/relaymove(mob/user, direction) diff --git a/modular_citadel/code/_onclick/hud/sprint.dm b/modular_citadel/code/_onclick/hud/sprint.dm index 89547c0feb..326bb81745 100644 --- a/modular_citadel/code/_onclick/hud/sprint.dm +++ b/modular_citadel/code/_onclick/hud/sprint.dm @@ -54,5 +54,5 @@ /obj/screen/sprint_buffer/proc/update_to_mob(mob/living/L) var/amount = 0 if(L.sprint_buffer_max > 0) - amount = round(CLAMP((L.sprint_buffer / L.sprint_buffer_max) * 100, 0, 100), 5) + amount = round(clamp((L.sprint_buffer / L.sprint_buffer_max) * 100, 0, 100), 5) icon_state = "prog_bar_[amount]" diff --git a/modular_citadel/code/_onclick/hud/stamina.dm b/modular_citadel/code/_onclick/hud/stamina.dm index a7b9a79ecd..5484014f8f 100644 --- a/modular_citadel/code/_onclick/hud/stamina.dm +++ b/modular_citadel/code/_onclick/hud/stamina.dm @@ -22,7 +22,7 @@ else if(user.hal_screwyhud == 5) icon_state = "stamina0" else - icon_state = "stamina[CLAMP(FLOOR(user.getStaminaLoss() /20, 1), 0, 6)]" + icon_state = "stamina[clamp(FLOOR(user.getStaminaLoss() /20, 1), 0, 6)]" //stam buffer /obj/screen/staminabuffer diff --git a/modular_citadel/code/modules/arousal/organs/breasts.dm b/modular_citadel/code/modules/arousal/organs/breasts.dm index c936eb9dc4..213ebb049a 100644 --- a/modular_citadel/code/modules/arousal/organs/breasts.dm +++ b/modular_citadel/code/modules/arousal/organs/breasts.dm @@ -54,7 +54,7 @@ desc += " They're leaking [lowertext(R.name)]." var/datum/sprite_accessory/S = GLOB.breasts_shapes_list[shape] var/icon_shape = S ? S.icon_state : "pair" - var/icon_size = CLAMP(breast_values[size], BREASTS_ICON_MIN_SIZE, BREASTS_ICON_MAX_SIZE) + var/icon_size = clamp(breast_values[size], BREASTS_ICON_MIN_SIZE, BREASTS_ICON_MAX_SIZE) icon_state = "breasts_[icon_shape]_[icon_size]" if(owner) if(owner.dna.species.use_skintones && owner.dna.features["genitals_use_skintone"]) @@ -73,7 +73,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, min, max) if(new_value == cached_size) return prev_size = cached_size diff --git a/modular_citadel/code/modules/arousal/organs/penis.dm b/modular_citadel/code/modules/arousal/organs/penis.dm index c05549aaa0..e1b8dc0dba 100644 --- a/modular_citadel/code/modules/arousal/organs/penis.dm +++ b/modular_citadel/code/modules/arousal/organs/penis.dm @@ -21,11 +21,11 @@ var/diameter_ratio = COCK_DIAMETER_RATIO_DEF //0.25; check citadel_defines.dm /obj/item/organ/genital/penis/modify_size(modifier, min = -INFINITY, max = INFINITY) - var/new_value = CLAMP(length + modifier, min, max) + var/new_value = clamp(length + modifier, min, max) if(new_value == length) return prev_length = length - length = CLAMP(length + modifier, min, max) + length = clamp(length + modifier, min, max) update() ..() @@ -60,7 +60,7 @@ else if(!enlargement && status_effect) owner.remove_status_effect(STATUS_EFFECT_PENIS_ENLARGEMENT) if(linked_organ) - linked_organ.size = CLAMP(size + new_size, BALLS_SIZE_MIN, BALLS_SIZE_MAX) + linked_organ.size = clamp(size + new_size, BALLS_SIZE_MIN, BALLS_SIZE_MAX) linked_organ.update() size = new_size diff --git a/modular_citadel/code/modules/mob/living/carbon/damage_procs.dm b/modular_citadel/code/modules/mob/living/carbon/damage_procs.dm index 2e8feb793a..6963714f04 100644 --- a/modular_citadel/code/modules/mob/living/carbon/damage_procs.dm +++ b/modular_citadel/code/modules/mob/living/carbon/damage_procs.dm @@ -6,7 +6,7 @@ var/directstamloss = (bufferedstam + amount) - stambuffer if(directstamloss > 0) adjustStaminaLoss(directstamloss) - bufferedstam = CLAMP(bufferedstam + amount, 0, stambuffer) + bufferedstam = clamp(bufferedstam + amount, 0, stambuffer) stambufferregentime = world.time + 10 if(updating_health) update_health_hud() diff --git a/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm b/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm index 742ef6c9aa..f59d18686a 100644 --- a/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm +++ b/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm @@ -438,7 +438,7 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! DefaultCombatKnockdown(15, 1, 1) else L.visible_message("[src] pounces on [L]!", "[src] pounces on you!") - L.DefaultCombatKnockdown(iscarbon(L) ? 60 : 45, override_stamdmg = CLAMP(pounce_stamloss, 0, pounce_stamloss_cap-L.getStaminaLoss())) // Temporary. If someone could rework how dogborg pounces work to accomodate for combat changes, that'd be nice. + L.DefaultCombatKnockdown(iscarbon(L) ? 60 : 45, override_stamdmg = clamp(pounce_stamloss, 0, pounce_stamloss_cap-L.getStaminaLoss())) // Temporary. If someone could rework how dogborg pounces work to accomodate for combat changes, that'd be nice. playsound(src, 'sound/weapons/Egloves.ogg', 50, 1) sleep(2)//Runtime prevention (infinite bump() calls on hulks) step_towards(src,L) diff --git a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm index eb93d273a7..837524d49f 100644 --- a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm +++ b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm @@ -95,7 +95,7 @@ if(!ImpureTot == 0) //If impure, v.small emp (0.6 or less) ImpureTot *= volume - var/empVol = CLAMP (volume/10, 0, 15) + var/empVol = clamp(volume/10, 0, 15) empulse(T, empVol, ImpureTot/10, 1) my_atom.reagents.clear_reagents() //just in case diff --git a/tgstation.dme b/tgstation.dme index 987b24c7c6..7bfbd2dde2 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -17,7 +17,6 @@ #include "_maps\_basemap.dm" #include "code\_compile_options.dm" #include "code\world.dm" -#include "code\__DEFINES\__513_compatibility.dm" #include "code\__DEFINES\_globals.dm" #include "code\__DEFINES\_protect.dm" #include "code\__DEFINES\_tick.dm" From b6a47a06edcb1670866d4f391dd38b8a7b417a37 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Wed, 22 Apr 2020 22:26:39 -0700 Subject: [PATCH 125/131] Update tacklers.dm --- code/modules/clothing/gloves/tacklers.dm | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/code/modules/clothing/gloves/tacklers.dm b/code/modules/clothing/gloves/tacklers.dm index 47f4aca974..ddbeeab7f6 100644 --- a/code/modules/clothing/gloves/tacklers.dm +++ b/code/modules/clothing/gloves/tacklers.dm @@ -33,10 +33,7 @@ /obj/item/clothing/gloves/tackler/dropped(mob/user) . = ..() - if(!ishuman(user)) - return - var/mob/living/carbon/human/H = user - if(H.get_item_by_slot(ITEM_SLOT_GLOVES) == src) + if(tackler) qdel(tackler) /obj/item/clothing/gloves/tackler/dolphin From af222768fe6fde7a898b25ea2a3e3a4dd8eff243 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Wed, 22 Apr 2020 22:27:17 -0700 Subject: [PATCH 126/131] Revert "Update tacklers.dm" This reverts commit b6a47a06edcb1670866d4f391dd38b8a7b417a37. --- code/modules/clothing/gloves/tacklers.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/modules/clothing/gloves/tacklers.dm b/code/modules/clothing/gloves/tacklers.dm index ddbeeab7f6..47f4aca974 100644 --- a/code/modules/clothing/gloves/tacklers.dm +++ b/code/modules/clothing/gloves/tacklers.dm @@ -33,7 +33,10 @@ /obj/item/clothing/gloves/tackler/dropped(mob/user) . = ..() - if(tackler) + if(!ishuman(user)) + return + var/mob/living/carbon/human/H = user + if(H.get_item_by_slot(ITEM_SLOT_GLOVES) == src) qdel(tackler) /obj/item/clothing/gloves/tackler/dolphin From c43f4e2e5ea1678fd06778e7678ca3d61bb7a094 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Wed, 22 Apr 2020 22:27:48 -0700 Subject: [PATCH 127/131] Update tacklers.dm --- code/modules/clothing/gloves/tacklers.dm | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/code/modules/clothing/gloves/tacklers.dm b/code/modules/clothing/gloves/tacklers.dm index 47f4aca974..6913f3e885 100644 --- a/code/modules/clothing/gloves/tacklers.dm +++ b/code/modules/clothing/gloves/tacklers.dm @@ -33,11 +33,7 @@ /obj/item/clothing/gloves/tackler/dropped(mob/user) . = ..() - if(!ishuman(user)) - return - var/mob/living/carbon/human/H = user - if(H.get_item_by_slot(ITEM_SLOT_GLOVES) == src) - qdel(tackler) + qdel(tackler) /obj/item/clothing/gloves/tackler/dolphin name = "dolphin gloves" From e4c6df71fc45727e75b2f7667c810014ff289018 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Thu, 23 Apr 2020 14:35:36 +0200 Subject: [PATCH 128/131] Update tacklers.dm --- code/modules/clothing/gloves/tacklers.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/clothing/gloves/tacklers.dm b/code/modules/clothing/gloves/tacklers.dm index 6913f3e885..ddbeeab7f6 100644 --- a/code/modules/clothing/gloves/tacklers.dm +++ b/code/modules/clothing/gloves/tacklers.dm @@ -33,7 +33,8 @@ /obj/item/clothing/gloves/tackler/dropped(mob/user) . = ..() - qdel(tackler) + if(tackler) + qdel(tackler) /obj/item/clothing/gloves/tackler/dolphin name = "dolphin gloves" From a621474ae71e76ed425a4cb2da061695e3fa092c Mon Sep 17 00:00:00 2001 From: MrJWhit <48370570+MrJWhit@users.noreply.github.com> Date: Thu, 23 Apr 2020 18:10:56 -0400 Subject: [PATCH 129/131] Adds a missing wire and a second SMES to the AI sat --- .../map_files/Deltastation/DeltaStation2.dmm | 51 +++++++++++++------ 1 file changed, 36 insertions(+), 15 deletions(-) diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 61ed3edba7..02e44d0a5a 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -52240,6 +52240,9 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/structure/cable/white{ + icon_state = "0-4" + }, /turf/open/floor/plasteel/dark, /area/engine/transit_tube) "bLJ" = ( @@ -52257,6 +52260,9 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/structure/cable/white{ + icon_state = "1-8" + }, /turf/open/floor/plasteel/dark, /area/engine/transit_tube) "bLK" = ( @@ -53546,9 +53552,6 @@ /turf/open/floor/plasteel/dark, /area/aisat) "bND" = ( -/obj/structure/cable/white{ - icon_state = "0-4" - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -53562,6 +53565,9 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/structure/cable/white{ + icon_state = "0-4" + }, /turf/open/floor/plasteel/dark, /area/aisat) "bNE" = ( @@ -56011,27 +56017,33 @@ /obj/effect/turf_decal/stripes/line{ dir = 1 }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, /turf/open/floor/plating, /area/ai_monitored/turret_protected/aisat_interior) "bRB" = ( -/obj/machinery/power/port_gen/pacman, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, /obj/structure/sign/warning/electricshock{ pixel_y = 32 }, /obj/effect/turf_decal/stripes/line{ dir = 1 }, +/obj/machinery/power/smes{ + charge = 5e+006 + }, +/obj/structure/cable/white{ + icon_state = "0-8" + }, /turf/open/floor/plating, /area/ai_monitored/turret_protected/aisat_interior) "bRC" = ( -/obj/machinery/cell_charger, -/obj/structure/table/reinforced, -/obj/item/stock_parts/cell/high, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 +/obj/machinery/power/port_gen/pacman, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, /turf/open/floor/plating, /area/ai_monitored/turret_protected/aisat_interior) @@ -57108,10 +57120,16 @@ /turf/open/floor/plating, /area/ai_monitored/turret_protected/aisat_interior) "bTr" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, /obj/effect/turf_decal/stripes/line, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, /turf/open/floor/plating, /area/ai_monitored/turret_protected/aisat_interior) "bTs" = ( @@ -57123,6 +57141,9 @@ start_active = 1 }, /obj/effect/turf_decal/stripes/line, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, /turf/open/floor/plating, /area/ai_monitored/turret_protected/aisat_interior) "bTt" = ( From 037ea6e07307cf5e6ae4b720d443f2124299cd1b Mon Sep 17 00:00:00 2001 From: MrJWhit <48370570+MrJWhit@users.noreply.github.com> Date: Thu, 23 Apr 2020 18:26:39 -0400 Subject: [PATCH 130/131] fixing up the engine --- _maps/map_files/PubbyStation/PubbyStation.dmm | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index dda8969b5a..d2f608acb6 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -53150,6 +53150,9 @@ dir = 1; pixel_y = -22 }, +/obj/structure/reflector/double/anchored{ + dir = 9 + }, /turf/open/floor/plasteel/dark, /area/engine/engineering) "dFJ" = ( @@ -56503,6 +56506,16 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) +"loL" = ( +/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ + dir = 4; + filter_type = "n2" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) "lqc" = ( /obj/item/toy/gun, /obj/effect/decal/cleanable/oil, @@ -58403,9 +58416,6 @@ /turf/open/space/basic, /area/space/nearstation) "pCo" = ( -/obj/structure/reflector/single/anchored{ - dir = 6 - }, /obj/machinery/light/small{ dir = 1 }, @@ -59921,10 +59931,10 @@ /turf/open/floor/engine, /area/engine/engineering) "tlV" = ( -/obj/structure/reflector/double/anchored{ - dir = 9 +/obj/structure/reflector/single/anchored{ + dir = 6 }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plating, /area/engine/engineering) "tnP" = ( /obj/machinery/seed_extractor, @@ -94076,7 +94086,7 @@ bXk pCo wcs wcs -tlV +wcs eyj qkM miw @@ -94330,7 +94340,7 @@ bZA cam mgz aac -cbX +tlV wcs wcs dEy @@ -94592,7 +94602,7 @@ oHa eWi cbX aac -vlC +loL cgx qeY fyO From 100d7cffd284b083489c5ce5c08fd57298f5aa43 Mon Sep 17 00:00:00 2001 From: MrJWhit <48370570+MrJWhit@users.noreply.github.com> Date: Thu, 23 Apr 2020 19:20:43 -0400 Subject: [PATCH 131/131] Also fix that one maint door to be a maint door --- _maps/map_files/PubbyStation/PubbyStation.dmm | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index d2f608acb6..64d4bd344a 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -60782,19 +60782,6 @@ }, /turf/open/floor/engine, /area/engine/engineering) -"vsG" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/door/airlock/maintenance{ - name = "Research Lab Maintenance"; - req_one_access_txt = "7;29" - }, -/turf/open/floor/plating, -/area/maintenance/department/engine) "vsJ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/tile/neutral{ @@ -94054,7 +94041,7 @@ jZG bpY bpY bpY -vsG +bNZ bva bva bva