From 7d45e045a3249a70449a1ee00e330ecf11fa6946 Mon Sep 17 00:00:00 2001 From: oranges Date: Sat, 28 Apr 2018 13:13:56 +1200 Subject: [PATCH 001/415] Uppercases slot defines. --- code/__DEFINES/flags.dm | 2 +- code/__DEFINES/inventory.dm | 124 +++--- code/__HELPERS/pronouns.dm | 16 +- code/__HELPERS/type2type.dm | 14 +- code/_onclick/hud/drones.dm | 4 +- code/_onclick/hud/guardian.dm | 2 +- code/_onclick/hud/hud.dm | 2 +- code/_onclick/hud/human.dm | 30 +- code/_onclick/hud/monkey.dm | 158 ++++++++ code/_onclick/telekinesis.dm | 2 +- code/datums/action.dm | 2 +- code/datums/diseases/_MobProcs.dm | 4 +- code/datums/diseases/wizarditis.dm | 6 +- code/datums/martial/boxing.dm | 4 +- code/datums/martial/krav_maga.dm | 4 +- code/datums/martial/sleeping_carp.dm | 2 +- code/datums/martial/wrestling.dm | 4 +- code/datums/outfit.dm | 32 +- code/datums/traits/_trait.dm | 2 +- code/datums/traits/negative.dm | 8 +- code/game/gamemodes/changeling/changeling.dm | 2 +- code/game/gamemodes/clock_cult/clock_cult.dm | 2 +- .../game/gamemodes/clown_ops/bananium_bomb.dm | 6 +- .../game/gamemodes/clown_ops/clown_weapons.dm | 2 +- code/game/gamemodes/nuclear/nuclear.dm | 7 +- code/game/gamemodes/objective.dm | 2 +- code/game/machinery/launch_pad.dm | 2 +- code/game/objects/items.dm | 28 +- code/game/objects/items/airlock_painter.dm | 2 +- code/game/objects/items/cards_ids.dm | 2 +- code/game/objects/items/chrono_eraser.dm | 4 +- code/game/objects/items/cigs_lighters.dm | 10 +- code/game/objects/items/defib.dm | 14 +- code/game/objects/items/devices/PDA/PDA.dm | 2 +- code/game/objects/items/devices/aicard.dm | 2 +- .../objects/items/devices/chameleonproj.dm | 2 +- code/game/objects/items/devices/flashlight.dm | 4 +- .../items/devices/forcefieldprojector.dm | 2 +- .../objects/items/devices/geiger_counter.dm | 2 +- code/game/objects/items/devices/gps.dm | 2 +- .../game/objects/items/devices/instruments.dm | 2 +- .../objects/items/devices/laserpointer.dm | 2 +- .../objects/items/devices/lightreplacer.dm | 2 +- code/game/objects/items/devices/paicard.dm | 2 +- .../items/devices/radio/electropack.dm | 2 +- .../objects/items/devices/radio/headset.dm | 5 + .../game/objects/items/devices/radio/radio.dm | 2 +- .../items/devices/reverse_bear_trap.dm | 15 +- code/game/objects/items/devices/scanners.dm | 6 +- .../objects/items/devices/sensor_device.dm | 2 +- .../objects/items/devices/taperecorder.dm | 2 +- .../objects/items/devices/traitordevices.dm | 19 +- code/game/objects/items/granters.dm | 2 +- .../game/objects/items/grenades/ghettobomb.dm | 2 +- code/game/objects/items/grenades/grenade.dm | 2 +- code/game/objects/items/grenades/smokebomb.dm | 34 ++ code/game/objects/items/handcuffs.dm | 2 +- code/game/objects/items/holy_weapons.dm | 32 +- code/game/objects/items/melee/misc.dm | 12 +- code/game/objects/items/pinpointer.dm | 2 +- code/game/objects/items/shields.dm | 4 +- code/game/objects/items/singularityhammer.dm | 4 +- code/game/objects/items/storage/backpack.dm | 2 +- code/game/objects/items/storage/bags.dm | 4 +- code/game/objects/items/storage/belt.dm | 2 +- code/game/objects/items/storage/book.dm | 2 +- code/game/objects/items/storage/boxes.dm | 2 +- code/game/objects/items/storage/fancy.dm | 6 +- code/game/objects/items/storage/toolbox.dm | 2 +- code/game/objects/items/storage/wallets.dm | 94 +++++ code/game/objects/items/stunbaton.dm | 7 +- code/game/objects/items/tanks/tank_types.dm | 4 +- code/game/objects/items/tanks/tanks.dm | 2 +- code/game/objects/items/tanks/watertank.dm | 10 +- code/game/objects/items/tools/crowbar.dm | 2 +- code/game/objects/items/tools/screwdriver.dm | 2 +- code/game/objects/items/tools/weldingtool.dm | 375 ++++++++++++++++++ code/game/objects/items/tools/wirecutters.dm | 2 +- code/game/objects/items/tools/wrench.dm | 2 +- code/game/objects/items/toys.dm | 6 +- code/game/objects/items/twohanded.dm | 12 +- code/game/objects/items/weaponry.dm | 8 +- code/game/objects/structures/bedsheet_bin.dm | 2 +- code/game/turfs/simulated/lava.dm | 4 +- code/modules/admin/secrets.dm | 2 +- code/modules/admin/topic.dm | 4 +- code/modules/admin/verbs/debug.dm | 2 +- .../abductor/equipment/abduction_gear.dm | 10 +- .../antagonists/abductor/machinery/console.dm | 2 +- .../changeling/powers/biodegrade.dm | 4 +- .../changeling/powers/mutations.dm | 4 +- .../clockcult/clock_items/clockwork_armor.dm | 8 +- .../clockcult/clock_items/clockwork_slab.dm | 2 +- .../clock_items/construct_chassis.dm | 2 +- .../clockcult/clock_items/judicial_visor.dm | 12 +- .../clock_items/wraith_spectacles.dm | 2 +- .../clock_scriptures/scripture_scripts.dm | 16 +- code/modules/antagonists/cult/blood_magic.dm | 10 +- code/modules/antagonists/cult/cult.dm | 6 +- code/modules/antagonists/cult/runes.dm | 2 +- code/modules/antagonists/devil/devil.dm | 8 +- .../antagonists/highlander/highlander.dm | 10 +- .../antagonists/revolution/revolution.dm | 6 +- .../antagonists/traitor/datum_traitor.dm | 6 +- .../antagonists/wizard/equipment/artefact.dm | 8 +- .../antagonists/wizard/equipment/soulstone.dm | 2 +- code/modules/antagonists/wizard/wizard.dm | 12 +- code/modules/assembly/flash.dm | 2 +- code/modules/awaymissions/capture_the_flag.dm | 8 +- code/modules/clothing/chameleon.dm | 4 +- code/modules/clothing/ears/_ears.dm | 49 +++ code/modules/clothing/glasses/_glasses.dm | 6 +- .../clothing/glasses/engine_goggles.dm | 2 +- code/modules/clothing/glasses/hud.dm | 2 +- code/modules/clothing/gloves/_gloves.dm | 2 +- code/modules/clothing/gloves/color.dm | 2 +- code/modules/clothing/head/_head.dm | 2 +- code/modules/clothing/head/misc_special.dm | 6 +- code/modules/clothing/masks/_masks.dm | 2 +- code/modules/clothing/masks/miscellaneous.dm | 4 +- code/modules/clothing/neck/_neck.dm | 2 +- code/modules/clothing/shoes/_shoes.dm | 2 +- code/modules/clothing/shoes/miscellaneous.dm | 2 +- .../modules/clothing/spacesuits/chronosuit.dm | 2 +- .../modules/clothing/spacesuits/flightsuit.dm | 22 +- code/modules/clothing/spacesuits/hardsuit.dm | 16 +- code/modules/clothing/suits/_suits.dm | 2 +- code/modules/clothing/suits/miscellaneous.dm | 2 +- code/modules/clothing/suits/toggles.dm | 12 +- code/modules/clothing/under/_under.dm | 4 +- code/modules/clothing/under/color.dm | 2 +- code/modules/detectivework/scanner.dm | 2 +- code/modules/events/wizard/curseditems.dm | 20 +- .../food_and_drinks/food/snacks_bread.dm | 2 +- code/modules/hydroponics/grown/ambrosia.dm | 2 +- code/modules/hydroponics/grown/flowers.dm | 10 +- code/modules/hydroponics/hydroitemdefines.dm | 4 +- code/modules/jobs/job_types/cargo_service.dm | 4 +- .../jobs/job_types/civilian_chaplain.dm | 4 +- code/modules/jobs/job_types/engineering.dm | 18 +- code/modules/jobs/job_types/job.dm | 2 +- code/modules/jobs/job_types/science.dm | 4 +- code/modules/jobs/job_types/security.dm | 2 +- code/modules/keybindings/bindings_human.dm | 8 +- .../mining/equipment/kinetic_crusher.dm | 2 +- .../mining/equipment/mineral_scanner.dm | 4 +- code/modules/mining/equipment/mining_tools.dm | 8 +- .../mining/equipment/wormhole_jaunter.dm | 9 +- .../mining/lavaland/necropolis_chests.dm | 8 +- code/modules/mob/inventory.dm | 8 +- .../living/carbon/alien/humanoid/humanoid.dm | 6 +- .../living/carbon/alien/special/facehugger.dm | 4 +- code/modules/mob/living/carbon/carbon.dm | 14 +- .../mob/living/carbon/human/examine.dm | 14 +- code/modules/mob/living/carbon/human/human.dm | 74 ++-- .../mob/living/carbon/human/inventory.dm | 56 +-- .../mob/living/carbon/human/species.dm | 70 ++-- .../carbon/human/species_types/angel.dm | 2 +- .../carbon/human/species_types/golems.dm | 2 +- .../carbon/human/species_types/mushpeople.dm | 2 +- .../human/species_types/shadowpeople.dm | 2 +- .../mob/living/carbon/human/update_icons.dm | 24 +- code/modules/mob/living/carbon/inventory.dm | 28 +- .../mob/living/carbon/monkey/inventory.dm | 37 ++ .../mob/living/carbon/monkey/monkey.dm | 2 +- .../mob/living/carbon/monkey/punpun.dm | 4 +- .../modules/mob/living/carbon/update_icons.dm | 16 +- .../mob/living/silicon/robot/inventory.dm | 2 +- .../simple_animal/friendly/drone/_drone.dm | 4 +- .../friendly/drone/drones_as_items.dm | 2 +- .../simple_animal/friendly/drone/inventory.dm | 18 +- .../simple_animal/guardian/types/dextrous.dm | 8 +- .../simple_animal/hostile/megafauna/legion.dm | 2 +- code/modules/mob/mob.dm | 16 +- .../computers/item/tablet.dm | 2 +- code/modules/ninja/energy_katana.dm | 4 +- code/modules/ninja/outfit.dm | 2 +- code/modules/paperwork/clipboard.dm | 2 +- code/modules/paperwork/paper.dm | 2 +- code/modules/paperwork/pen.dm | 2 +- code/modules/paperwork/photocopier.dm | 4 +- code/modules/paperwork/photography.dm | 2 +- code/modules/power/cable.dm | 2 +- .../projectiles/ammunition/_ammunition.dm | 2 +- .../boxes_magazines/_box_magazine.dm | 2 +- code/modules/projectiles/gun.dm | 2 +- code/modules/projectiles/guns/ballistic.dm | 4 +- .../projectiles/guns/ballistic/automatic.dm | 4 +- .../guns/ballistic/laser_gatling.dm | 4 +- .../projectiles/guns/ballistic/revolver.dm | 6 +- .../projectiles/guns/ballistic/shotgun.dm | 4 +- .../modules/projectiles/guns/ballistic/toy.dm | 2 +- code/modules/projectiles/guns/energy/laser.dm | 2 +- code/modules/projectiles/guns/energy/pulse.dm | 6 +- .../projectiles/guns/energy/special.dm | 4 +- code/modules/projectiles/guns/magic/staff.dm | 2 +- .../projectiles/guns/misc/beam_rifle.dm | 2 +- .../reagents/reagent_containers/glass.dm | 26 +- .../reagents/reagent_containers/hypospray.dm | 2 +- .../reagents/reagent_containers/medspray.dm | 2 +- .../reagents/reagent_containers/spray.dm | 2 +- code/modules/recycling/sortingmachinery.dm | 2 +- .../xenobiology/crossbreeding/burning.dm | 2 +- .../xenobiology/crossbreeding/regenerative.dm | 16 +- code/modules/spells/spell_types/barnyard.dm | 2 +- code/modules/spells/spell_types/lichdom.dm | 14 +- code/modules/vehicles/scooter.dm | 4 +- 207 files changed, 1507 insertions(+), 692 deletions(-) diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index 138bfbe44a..c819d5f3e8 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -11,7 +11,7 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 #define DF_VAR_EDITED (1<<1) //FLAGS BITMASK -#define STOPSPRESSUREDMAGE_1 (1<<0) //This flag is used on the flags_1 variable for SUIT and HEAD items which stop pressure damage. Note that the flag 1 was previous used as ONBACK, so it is possible for some code to use (flags & 1) when checking if something can be put on your back. Replace this code with (inv_flags & SLOT_BACK) if you see it anywhere +#define STOPSPRESSUREDMAGE_1 (1<<0) //This flag is used on the flags_1 variable for SUIT and HEAD items which stop pressure damage. Note that the flag 1 was previous used as ONBACK, so it is possible for some code to use (flags & 1) when checking if something can be put on your back. Replace this code with (inv_flags & ITEM_SLOT_BACK) if you see it anywhere //To successfully stop you taking all pressure damage you must have both a suit and head item with this flag. #define NODROP_1 (1<<1) // This flag makes it so that an item literally cannot be removed at all, or at least that's how it should be. Only deleted. diff --git a/code/__DEFINES/inventory.dm b/code/__DEFINES/inventory.dm index 4e2b591ea9..e515c56eed 100644 --- a/code/__DEFINES/inventory.dm +++ b/code/__DEFINES/inventory.dm @@ -14,76 +14,76 @@ #define STORAGE_VIEW_DEPTH 2 //ITEM INVENTORY SLOT BITMASKS -#define SLOT_OCLOTHING (1<<0) -#define SLOT_ICLOTHING (1<<1) -#define SLOT_GLOVES (1<<2) -#define SLOT_EYES (1<<3) -#define SLOT_EARS (1<<4) -#define SLOT_MASK (1<<5) -#define SLOT_HEAD (1<<6) -#define SLOT_FEET (1<<7) -#define SLOT_ID (1<<8) -#define SLOT_BELT (1<<9) -#define SLOT_BACK (1<<10) -#define SLOT_POCKET (1<<11) // this is to allow items with a w_class of WEIGHT_CLASS_NORMAL or WEIGHT_CLASS_BULKY to fit in pockets. -#define SLOT_DENYPOCKET (1<<12) // this is to deny items with a w_class of WEIGHT_CLASS_SMALL or WEIGHT_CLASS_TINY to fit in pockets. -#define SLOT_NECK (1<<13) +#define ITEM_SLOT_OCLOTHING (1<<0) +#define ITEM_SLOT_ICLOTHING (1<<1) +#define ITEM_SLOT_GLOVES (1<<2) +#define ITEM_SLOT_EYES (1<<3) +#define ITEM_SLOT_EARS (1<<4) +#define ITEM_SLOT_MASK (1<<5) +#define ITEM_SLOT_HEAD (1<<6) +#define ITEM_SLOT_FEET (1<<7) +#define ITEM_SLOT_ID (1<<8) +#define ITEM_SLOT_BELT (1<<9) +#define ITEM_SLOT_BACK (1<<10) +#define ITEM_SLOT_POCKET (1<<11) // this is to allow items with a w_class of WEIGHT_CLASS_NORMAL or WEIGHT_CLASS_BULKY to fit in pockets. +#define ITEM_SLOT_DENYPOCKET (1<<12) // this is to deny items with a w_class of WEIGHT_CLASS_SMALL or WEIGHT_CLASS_TINY to fit in pockets. +#define ITEM_SLOT_NECK (1<<13) //SLOTS -#define slot_back 1 -#define slot_wear_mask 2 -#define slot_handcuffed 3 -#define slot_hands 4 //wherever you provide a slot for hands you provide slot_hands - //slot_hands as a slot will pick ANY available hand -#define slot_belt 5 -#define slot_wear_id 6 -#define slot_ears 7 -#define slot_glasses 8 -#define slot_gloves 9 -#define slot_neck 10 -#define slot_head 11 -#define slot_shoes 12 -#define slot_wear_suit 13 -#define slot_w_uniform 14 -#define slot_l_store 15 -#define slot_r_store 16 -#define slot_s_store 17 -#define slot_in_backpack 18 -#define slot_legcuffed 19 -#define slot_generic_dextrous_storage 20 +#define SLOT_BACK 1 +#define SLOT_WEAR_MASK 2 +#define SLOT_HANDCUFFED 3 +#define SLOT_HANDS 4 //wherever you provide a slot for hands you provide SLOT_HANDS + //SLOT_HANDS as a slot will pick ANY available hand +#define SLOT_BELT 5 +#define SLOT_WEAR_ID 6 +#define SLOT_EARS 7 +#define SLOT_GLASSES 8 +#define SLOT_GLOVES 9 +#define SLOT_NECK 10 +#define SLOT_HEAD 11 +#define SLOT_SHOES 12 +#define SLOT_WEAR_SUIT 13 +#define SLOT_W_UNIFORM 14 +#define SLOT_L_STORE 15 +#define SLOT_R_STORE 16 +#define SLOT_S_STORE 17 +#define SLOT_IN_BACKPACK 18 +#define SLOT_LEGCUFFED 19 +#define SLOT_GENERC_DEXTROUS_STORAGE 20 -#define slots_amt 20 // Keep this up to date! +#define SLOTS_AMT 20 // Keep this up to date! //I hate that this has to exist /proc/slotdefine2slotbit(slotdefine) //Keep this up to date with the value of SLOT BITMASKS and SLOTS (the two define sections above) . = 0 switch(slotdefine) - if(slot_back) - . = SLOT_BACK - if(slot_wear_mask) - . = SLOT_MASK - if(slot_neck) - . = SLOT_NECK - if(slot_belt) - . = SLOT_BELT - if(slot_wear_id) - . = SLOT_ID - if(slot_ears) - . = SLOT_EARS - if(slot_glasses) - . = SLOT_EYES - if(slot_gloves) - . = SLOT_GLOVES - if(slot_head) - . = SLOT_HEAD - if(slot_shoes) - . = SLOT_FEET - if(slot_wear_suit) - . = SLOT_OCLOTHING - if(slot_w_uniform) - . = SLOT_ICLOTHING - if(slot_l_store, slot_r_store) - . = SLOT_POCKET + if(SLOT_BACK) + . = ITEM_SLOT_BACK + if(SLOT_WEAR_MASK) + . = ITEM_SLOT_MASK + if(SLOT_NECK) + . = ITEM_SLOT_NECK + if(SLOT_BELT) + . = ITEM_SLOT_BELT + if(SLOT_WEAR_ID) + . = ITEM_SLOT_ID + if(SLOT_EARS) + . = ITEM_SLOT_EARS + if(SLOT_GLASSES) + . = ITEM_SLOT_EYES + if(SLOT_GLOVES) + . = ITEM_SLOT_GLOVES + if(SLOT_HEAD) + . = ITEM_SLOT_HEAD + if(SLOT_SHOES) + . = ITEM_SLOT_FEET + if(SLOT_WEAR_SUIT) + . = ITEM_SLOT_OCLOTHING + if(SLOT_W_UNIFORM) + . = ITEM_SLOT_ICLOTHING + if(SLOT_L_STORE, SLOT_R_STORE) + . = ITEM_SLOT_POCKET //Bit flags for the flags_inv variable, which determine when a piece of clothing hides another. IE a helmet hiding glasses. diff --git a/code/__HELPERS/pronouns.dm b/code/__HELPERS/pronouns.dm index 3446a750ee..26af8b4489 100644 --- a/code/__HELPERS/pronouns.dm +++ b/code/__HELPERS/pronouns.dm @@ -188,55 +188,55 @@ /mob/living/carbon/human/p_they(capitalized, temp_gender) var/list/obscured = check_obscured_slots() var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE)) - if((slot_w_uniform in obscured) && skipface) + if((SLOT_W_UNIFORM in obscured) && skipface) temp_gender = PLURAL return ..() /mob/living/carbon/human/p_their(capitalized, temp_gender) var/list/obscured = check_obscured_slots() var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE)) - if((slot_w_uniform in obscured) && skipface) + if((SLOT_W_UNIFORM in obscured) && skipface) temp_gender = PLURAL return ..() /mob/living/carbon/human/p_them(capitalized, temp_gender) var/list/obscured = check_obscured_slots() var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE)) - if((slot_w_uniform in obscured) && skipface) + if((SLOT_W_UNIFORM in obscured) && skipface) temp_gender = PLURAL return ..() /mob/living/carbon/human/p_have(temp_gender) var/list/obscured = check_obscured_slots() var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE)) - if((slot_w_uniform in obscured) && skipface) + if((SLOT_W_UNIFORM in obscured) && skipface) temp_gender = PLURAL return ..() /mob/living/carbon/human/p_are(temp_gender) var/list/obscured = check_obscured_slots() var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE)) - if((slot_w_uniform in obscured) && skipface) + if((SLOT_W_UNIFORM in obscured) && skipface) temp_gender = PLURAL return ..() /mob/living/carbon/human/p_were(temp_gender) var/list/obscured = check_obscured_slots() var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE)) - if((slot_w_uniform in obscured) && skipface) + if((SLOT_W_UNIFORM in obscured) && skipface) temp_gender = PLURAL return ..() /mob/living/carbon/human/p_do(temp_gender) var/list/obscured = check_obscured_slots() var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE)) - if((slot_w_uniform in obscured) && skipface) + if((SLOT_W_UNIFORM in obscured) && skipface) temp_gender = PLURAL return ..() /mob/living/carbon/human/p_s(temp_gender) var/list/obscured = check_obscured_slots() var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE)) - if((slot_w_uniform in obscured) && skipface) + if((SLOT_W_UNIFORM in obscured) && skipface) temp_gender = PLURAL return ..() diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm index 79f6a2c007..1f788cf445 100644 --- a/code/__HELPERS/type2type.dm +++ b/code/__HELPERS/type2type.dm @@ -400,25 +400,25 @@ /proc/slot2body_zone(slot) switch(slot) - if(slot_back, slot_wear_suit, slot_w_uniform, slot_belt, slot_wear_id) + if(SLOT_BACK, SLOT_WEAR_SUIT, SLOT_W_UNIFORM, SLOT_BELT, SLOT_WEAR_ID) return BODY_ZONE_CHEST - if(slot_gloves, slot_hands, slot_handcuffed) + if(SLOT_GLOVES, SLOT_HANDS, SLOT_HANDCUFFED) return pick(BODY_ZONE_PRECISE_L_HAND, BODY_ZONE_PRECISE_R_HAND) - if(slot_head, slot_neck, slot_neck, slot_ears) + if(SLOT_HEAD, SLOT_NECK, SLOT_NECK, SLOT_EARS) return BODY_ZONE_HEAD - if(slot_wear_mask) + if(SLOT_WEAR_MASK) return BODY_ZONE_PRECISE_MOUTH - if(slot_glasses) + if(SLOT_GLASSES) return BODY_ZONE_PRECISE_EYES - if(slot_shoes) + if(SLOT_SHOES) return pick(BODY_ZONE_PRECISE_R_FOOT, BODY_ZONE_PRECISE_L_FOOT) - if(slot_legcuffed) + if(SLOT_LEGCUFFED) return pick(BODY_ZONE_L_LEG, BODY_ZONE_R_LEG) //adapted from http://www.tannerhelland.com/4435/convert-temperature-rgb-algorithm-code/ diff --git a/code/_onclick/hud/drones.dm b/code/_onclick/hud/drones.dm index b6708b266d..8e39d96bf6 100644 --- a/code/_onclick/hud/drones.dm +++ b/code/_onclick/hud/drones.dm @@ -8,7 +8,7 @@ inv_box.icon_state = "suit_storage" // inv_box.icon_full = "template" inv_box.screen_loc = ui_drone_storage - inv_box.slot_id = slot_generic_dextrous_storage + inv_box.slot_id = SLOT_GENERC_DEXTROUS_STORAGE static_inventory += inv_box inv_box = new /obj/screen/inventory() @@ -17,7 +17,7 @@ inv_box.icon_state = "mask" // inv_box.icon_full = "template" inv_box.screen_loc = ui_drone_head - inv_box.slot_id = slot_head + inv_box.slot_id = SLOT_HEAD static_inventory += inv_box for(var/obj/screen/inventory/inv in (static_inventory + toggleable_inventory)) diff --git a/code/_onclick/hud/guardian.dm b/code/_onclick/hud/guardian.dm index dc57c2b25c..628efbffe5 100644 --- a/code/_onclick/hud/guardian.dm +++ b/code/_onclick/hud/guardian.dm @@ -45,7 +45,7 @@ inv_box.icon = ui_style inv_box.icon_state = "suit_storage" inv_box.screen_loc = ui_id - inv_box.slot_id = slot_generic_dextrous_storage + inv_box.slot_id = SLOT_GENERC_DEXTROUS_STORAGE static_inventory += inv_box using = new /obj/screen/guardian/Communicate() diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index e5de695789..a17c07357e 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -33,7 +33,7 @@ var/list/obj/screen/hotkeybuttons = list() //the buttons that can be used via hotkeys var/list/infodisplay = list() //the screen objects that display mob info (health, alien plasma, etc...) var/list/screenoverlays = list() //the screen objects used as whole screen overlays (flash, damageoverlay, etc...) - var/list/inv_slots[slots_amt] // /obj/screen/inventory objects, ordered by their slot ID. + var/list/inv_slots[SLOTS_AMT] // /obj/screen/inventory objects, ordered by their slot ID. var/list/hand_slots // /obj/screen/inventory/hand objects, assoc list of "[held_index]" = object var/list/obj/screen/plane_master/plane_masters = list() // see "appearance_flags" in the ref, assoc list of "[plane]" = object diff --git a/code/_onclick/hud/human.dm b/code/_onclick/hud/human.dm index 501c5fb601..2ac0f14f95 100644 --- a/code/_onclick/hud/human.dm +++ b/code/_onclick/hud/human.dm @@ -139,7 +139,7 @@ inv_box = new /obj/screen/inventory() inv_box.name = "i_clothing" inv_box.icon = ui_style - inv_box.slot_id = slot_w_uniform + inv_box.slot_id = SLOT_W_UNIFORM inv_box.icon_state = "uniform" inv_box.screen_loc = ui_iclothing toggleable_inventory += inv_box @@ -147,7 +147,7 @@ inv_box = new /obj/screen/inventory() inv_box.name = "o_clothing" inv_box.icon = ui_style - inv_box.slot_id = slot_wear_suit + inv_box.slot_id = SLOT_WEAR_SUIT inv_box.icon_state = "suit" inv_box.screen_loc = ui_oclothing toggleable_inventory += inv_box @@ -171,7 +171,7 @@ inv_box.icon = ui_style inv_box.icon_state = "id" inv_box.screen_loc = ui_id - inv_box.slot_id = slot_wear_id + inv_box.slot_id = SLOT_WEAR_ID static_inventory += inv_box inv_box = new /obj/screen/inventory() @@ -179,7 +179,7 @@ inv_box.icon = ui_style inv_box.icon_state = "mask" inv_box.screen_loc = ui_mask - inv_box.slot_id = slot_wear_mask + inv_box.slot_id = SLOT_WEAR_MASK toggleable_inventory += inv_box inv_box = new /obj/screen/inventory() @@ -187,7 +187,7 @@ inv_box.icon = ui_style inv_box.icon_state = "neck" inv_box.screen_loc = ui_neck - inv_box.slot_id = slot_neck + inv_box.slot_id = SLOT_NECK toggleable_inventory += inv_box inv_box = new /obj/screen/inventory() @@ -195,7 +195,7 @@ inv_box.icon = ui_style inv_box.icon_state = "back" inv_box.screen_loc = ui_back - inv_box.slot_id = slot_back + inv_box.slot_id = SLOT_BACK static_inventory += inv_box inv_box = new /obj/screen/inventory() @@ -203,7 +203,7 @@ inv_box.icon = ui_style inv_box.icon_state = "pocket" inv_box.screen_loc = ui_storage1 - inv_box.slot_id = slot_l_store + inv_box.slot_id = SLOT_L_STORE static_inventory += inv_box inv_box = new /obj/screen/inventory() @@ -211,7 +211,7 @@ inv_box.icon = ui_style inv_box.icon_state = "pocket" inv_box.screen_loc = ui_storage2 - inv_box.slot_id = slot_r_store + inv_box.slot_id = SLOT_R_STORE static_inventory += inv_box inv_box = new /obj/screen/inventory() @@ -219,7 +219,7 @@ inv_box.icon = ui_style inv_box.icon_state = "suit_storage" inv_box.screen_loc = ui_sstore1 - inv_box.slot_id = slot_s_store + inv_box.slot_id = SLOT_S_STORE static_inventory += inv_box using = new /obj/screen/resist() @@ -254,7 +254,7 @@ inv_box.icon = ui_style inv_box.icon_state = "gloves" inv_box.screen_loc = ui_gloves - inv_box.slot_id = slot_gloves + inv_box.slot_id = SLOT_GLOVES toggleable_inventory += inv_box inv_box = new /obj/screen/inventory() @@ -262,7 +262,7 @@ inv_box.icon = ui_style inv_box.icon_state = "glasses" inv_box.screen_loc = ui_glasses - inv_box.slot_id = slot_glasses + inv_box.slot_id = SLOT_GLASSES toggleable_inventory += inv_box inv_box = new /obj/screen/inventory() @@ -270,7 +270,7 @@ inv_box.icon = ui_style inv_box.icon_state = "ears" inv_box.screen_loc = ui_ears - inv_box.slot_id = slot_ears + inv_box.slot_id = SLOT_EARS toggleable_inventory += inv_box inv_box = new /obj/screen/inventory() @@ -278,7 +278,7 @@ inv_box.icon = ui_style inv_box.icon_state = "head" inv_box.screen_loc = ui_head - inv_box.slot_id = slot_head + inv_box.slot_id = SLOT_HEAD toggleable_inventory += inv_box inv_box = new /obj/screen/inventory() @@ -286,7 +286,7 @@ inv_box.icon = ui_style inv_box.icon_state = "shoes" inv_box.screen_loc = ui_shoes - inv_box.slot_id = slot_shoes + inv_box.slot_id = SLOT_SHOES toggleable_inventory += inv_box inv_box = new /obj/screen/inventory() @@ -295,7 +295,7 @@ inv_box.icon_state = "belt" // inv_box.icon_full = "template_small" inv_box.screen_loc = ui_belt - inv_box.slot_id = slot_belt + inv_box.slot_id = SLOT_BELT static_inventory += inv_box throw_icon = new /obj/screen/throw_catch() diff --git a/code/_onclick/hud/monkey.dm b/code/_onclick/hud/monkey.dm index 06dbf15cd7..1adb196b85 100644 --- a/code/_onclick/hud/monkey.dm +++ b/code/_onclick/hud/monkey.dm @@ -1,3 +1,4 @@ +<<<<<<< HEAD /datum/hud/monkey/New(mob/living/carbon/monkey/owner, ui_style = 'icons/mob/screen_midnight.dmi') ..() var/obj/screen/using @@ -153,3 +154,160 @@ /mob/living/carbon/monkey/create_mob_hud() if(client && !hud_used) hud_used = new /datum/hud/monkey(src, ui_style2icon(client.prefs.UI_style)) +======= +/datum/hud/monkey/New(mob/living/carbon/monkey/owner, ui_style = 'icons/mob/screen_midnight.dmi') + ..() + var/obj/screen/using + var/obj/screen/inventory/inv_box + + action_intent = new /obj/screen/act_intent() + action_intent.icon = ui_style + action_intent.icon_state = mymob.a_intent + action_intent.screen_loc = ui_acti + static_inventory += action_intent + + using = new /obj/screen/mov_intent() + using.icon = ui_style + using.icon_state = (mymob.m_intent == MOVE_INTENT_RUN ? "running" : "walking") + using.screen_loc = ui_movi + static_inventory += using + + using = new/obj/screen/language_menu + using.icon = ui_style + static_inventory += using + + using = new /obj/screen/drop() + using.icon = ui_style + using.screen_loc = ui_drop_throw + static_inventory += using + + build_hand_slots(ui_style) + + using = new /obj/screen/swap_hand() + using.icon = ui_style + using.icon_state = "swap_1_m" //extra wide! + using.screen_loc = ui_swaphand_position(owner,1) + static_inventory += using + + using = new /obj/screen/swap_hand() + using.icon = ui_style + using.icon_state = "swap_2" + using.screen_loc = ui_swaphand_position(owner,2) + static_inventory += using + + inv_box = new /obj/screen/inventory() + inv_box.name = "mask" + inv_box.icon = ui_style + inv_box.icon_state = "mask" +// inv_box.icon_full = "template" + inv_box.screen_loc = ui_monkey_mask + inv_box.slot_id = SLOT_WEAR_MASK + static_inventory += inv_box + + inv_box = new /obj/screen/inventory() + inv_box.name = "neck" + inv_box.icon = ui_style + inv_box.icon_state = "neck" +// inv_box.icon_full = "template" + inv_box.screen_loc = ui_monkey_neck + inv_box.slot_id = SLOT_NECK + static_inventory += inv_box + + inv_box = new /obj/screen/inventory() + inv_box.name = "head" + inv_box.icon = ui_style + inv_box.icon_state = "head" +// inv_box.icon_full = "template" + inv_box.screen_loc = ui_monkey_head + inv_box.slot_id = SLOT_HEAD + static_inventory += inv_box + + inv_box = new /obj/screen/inventory() + inv_box.name = "back" + inv_box.icon = ui_style + inv_box.icon_state = "back" + inv_box.screen_loc = ui_monkey_back + inv_box.slot_id = SLOT_BACK + static_inventory += inv_box + + throw_icon = new /obj/screen/throw_catch() + throw_icon.icon = ui_style + throw_icon.screen_loc = ui_drop_throw + hotkeybuttons += throw_icon + + internals = new /obj/screen/internals() + infodisplay += internals + + healths = new /obj/screen/healths() + infodisplay += healths + + pull_icon = new /obj/screen/pull() + pull_icon.icon = ui_style + pull_icon.update_icon(mymob) + pull_icon.screen_loc = ui_pull_resist + static_inventory += pull_icon + + lingchemdisplay = new /obj/screen/ling/chems() + infodisplay += lingchemdisplay + + lingstingdisplay = new /obj/screen/ling/sting() + infodisplay += lingstingdisplay + + + zone_select = new /obj/screen/zone_sel() + zone_select.icon = ui_style + zone_select.update_icon(mymob) + static_inventory += zone_select + + mymob.client.screen = list() + + using = new /obj/screen/resist() + using.icon = ui_style + using.screen_loc = ui_pull_resist + hotkeybuttons += using + + for(var/obj/screen/inventory/inv in (static_inventory + toggleable_inventory)) + if(inv.slot_id) + inv.hud = src + inv_slots[inv.slot_id] = inv + inv.update_icon() + +/datum/hud/monkey/persistent_inventory_update() + if(!mymob) + return + var/mob/living/carbon/monkey/M = mymob + + if(hud_shown) + if(M.back) + M.back.screen_loc = ui_monkey_back + M.client.screen += M.back + if(M.wear_mask) + M.wear_mask.screen_loc = ui_monkey_mask + M.client.screen += M.wear_mask + if(M.wear_neck) + M.wear_neck.screen_loc = ui_monkey_neck + M.client.screen += M.wear_neck + if(M.head) + M.head.screen_loc = ui_monkey_head + M.client.screen += M.head + else + if(M.back) + M.back.screen_loc = null + if(M.wear_mask) + M.wear_mask.screen_loc = null + if(M.head) + M.head.screen_loc = null + + if(hud_version != HUD_STYLE_NOHUD) + for(var/obj/item/I in M.held_items) + I.screen_loc = ui_hand_position(M.get_held_index_of_item(I)) + M.client.screen += I + else + for(var/obj/item/I in M.held_items) + I.screen_loc = null + M.client.screen -= I + +/mob/living/carbon/monkey/create_mob_hud() + if(client && !hud_used) + hud_used = new /datum/hud/monkey(src, ui_style2icon(client.prefs.UI_style)) +>>>>>>> ecd0d8b... Merge pull request #37476 from AnturK/thisalwaysbuggedme diff --git a/code/_onclick/telekinesis.dm b/code/_onclick/telekinesis.dm index eb5f623035..a060cbb834 100644 --- a/code/_onclick/telekinesis.dm +++ b/code/_onclick/telekinesis.dm @@ -99,7 +99,7 @@ //stops TK grabs being equipped anywhere but into hands /obj/item/tk_grab/equipped(mob/user, slot) - if(slot == slot_hands) + if(slot == SLOT_HANDS) return qdel(src) return diff --git a/code/datums/action.dm b/code/datums/action.dm index c5563e9a34..0fd7f2f4bb 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -480,7 +480,7 @@ H.attack_self(owner) return var/obj/item/I = target - if(owner.can_equip(I, slot_hands)) + if(owner.can_equip(I, SLOT_HANDS)) owner.temporarilyRemoveItemFromInventory(I) owner.put_in_hands(I) I.attack_self(owner) diff --git a/code/datums/diseases/_MobProcs.dm b/code/datums/diseases/_MobProcs.dm index 74d4b90493..ba570eca06 100644 --- a/code/datums/diseases/_MobProcs.dm +++ b/code/datums/diseases/_MobProcs.dm @@ -79,8 +79,8 @@ if(isobj(H.wear_suit)) Cl = H.wear_suit passed = prob((Cl.permeability_coefficient*100) - 1) - if(passed && isobj(slot_w_uniform)) - Cl = slot_w_uniform + if(passed && isobj(SLOT_W_UNIFORM)) + Cl = SLOT_W_UNIFORM passed = prob((Cl.permeability_coefficient*100) - 1) if(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM) if(isobj(H.wear_suit) && H.wear_suit.body_parts_covered&HANDS) diff --git a/code/datums/diseases/wizarditis.dm b/code/datums/diseases/wizarditis.dm index cfc848000b..919eaa6e12 100644 --- a/code/datums/diseases/wizarditis.dm +++ b/code/datums/diseases/wizarditis.dm @@ -61,19 +61,19 @@ STI KALY - blind if(!istype(H.head, /obj/item/clothing/head/wizard)) if(!H.dropItemToGround(H.head)) qdel(H.head) - H.equip_to_slot_or_del(new /obj/item/clothing/head/wizard(H), slot_head) + H.equip_to_slot_or_del(new /obj/item/clothing/head/wizard(H), SLOT_HEAD) return if(prob(chance)) if(!istype(H.wear_suit, /obj/item/clothing/suit/wizrobe)) if(!H.dropItemToGround(H.wear_suit)) qdel(H.wear_suit) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/wizrobe(H), slot_wear_suit) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/wizrobe(H), SLOT_WEAR_SUIT) return if(prob(chance)) if(!istype(H.shoes, /obj/item/clothing/shoes/sandal/magic)) if(!H.dropItemToGround(H.shoes)) qdel(H.shoes) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal/magic(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal/magic(H), SLOT_SHOES) return else var/mob/living/carbon/H = affected_mob diff --git a/code/datums/martial/boxing.dm b/code/datums/martial/boxing.dm index 5f97db0827..68b021bc7d 100644 --- a/code/datums/martial/boxing.dm +++ b/code/datums/martial/boxing.dm @@ -53,7 +53,7 @@ /obj/item/clothing/gloves/boxing/equipped(mob/user, slot) if(!ishuman(user)) return - if(slot == slot_gloves) + if(slot == SLOT_GLOVES) var/mob/living/carbon/human/H = user style.teach(H,1) return @@ -62,6 +62,6 @@ if(!ishuman(user)) return var/mob/living/carbon/human/H = user - if(H.get_item_by_slot(slot_gloves) == src) + if(H.get_item_by_slot(SLOT_GLOVES) == src) style.remove(H) return diff --git a/code/datums/martial/krav_maga.dm b/code/datums/martial/krav_maga.dm index 82497adf45..21a82c7b7e 100644 --- a/code/datums/martial/krav_maga.dm +++ b/code/datums/martial/krav_maga.dm @@ -170,7 +170,7 @@ /obj/item/clothing/gloves/krav_maga/equipped(mob/user, slot) if(!ishuman(user)) return - if(slot == slot_gloves) + if(slot == SLOT_GLOVES) var/mob/living/carbon/human/H = user style.teach(H,1) @@ -178,7 +178,7 @@ if(!ishuman(user)) return var/mob/living/carbon/human/H = user - if(H.get_item_by_slot(slot_gloves) == src) + if(H.get_item_by_slot(SLOT_GLOVES) == src) style.remove(H) /obj/item/clothing/gloves/krav_maga/sec//more obviously named, given to sec diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index 845a7507bd..4c25db4e85 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -161,7 +161,7 @@ desc = "A long, tall staff made of polished wood. Traditionally used in ancient old-Earth martial arts. Can be wielded to both kill and incapacitate." force = 10 w_class = WEIGHT_CLASS_BULKY - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK force_unwielded = 10 force_wielded = 24 throwforce = 20 diff --git a/code/datums/martial/wrestling.dm b/code/datums/martial/wrestling.dm index 8ac7e76cdb..62a03af933 100644 --- a/code/datums/martial/wrestling.dm +++ b/code/datums/martial/wrestling.dm @@ -448,7 +448,7 @@ /obj/item/storage/belt/champion/wrestling/equipped(mob/user, slot) if(!ishuman(user)) return - if(slot == slot_belt) + if(slot == SLOT_BELT) var/mob/living/carbon/human/H = user style.teach(H,1) return @@ -457,6 +457,6 @@ if(!ishuman(user)) return var/mob/living/carbon/human/H = user - if(H.get_item_by_slot(slot_belt) == src) + if(H.get_item_by_slot(SLOT_BELT) == src) style.remove(H) return diff --git a/code/datums/outfit.dm b/code/datums/outfit.dm index e5e13f597f..90feeacb79 100755 --- a/code/datums/outfit.dm +++ b/code/datums/outfit.dm @@ -39,31 +39,31 @@ //Start with uniform,suit,backpack for additional slots if(uniform) - H.equip_to_slot_or_del(new uniform(H),slot_w_uniform) + H.equip_to_slot_or_del(new uniform(H),SLOT_W_UNIFORM) if(suit) - H.equip_to_slot_or_del(new suit(H),slot_wear_suit) + H.equip_to_slot_or_del(new suit(H),SLOT_WEAR_SUIT) if(back) - H.equip_to_slot_or_del(new back(H),slot_back) + H.equip_to_slot_or_del(new back(H),SLOT_BACK) if(belt) - H.equip_to_slot_or_del(new belt(H),slot_belt) + H.equip_to_slot_or_del(new belt(H),SLOT_BELT) if(gloves) - H.equip_to_slot_or_del(new gloves(H),slot_gloves) + H.equip_to_slot_or_del(new gloves(H),SLOT_GLOVES) if(shoes) - H.equip_to_slot_or_del(new shoes(H),slot_shoes) + H.equip_to_slot_or_del(new shoes(H),SLOT_SHOES) if(head) - H.equip_to_slot_or_del(new head(H),slot_head) + H.equip_to_slot_or_del(new head(H),SLOT_HEAD) if(mask) - H.equip_to_slot_or_del(new mask(H),slot_wear_mask) + H.equip_to_slot_or_del(new mask(H),SLOT_WEAR_MASK) if(neck) - H.equip_to_slot_or_del(new neck(H),slot_neck) + H.equip_to_slot_or_del(new neck(H),SLOT_NECK) if(ears) - H.equip_to_slot_or_del(new ears(H),slot_ears) + H.equip_to_slot_or_del(new ears(H),SLOT_EARS) if(glasses) - H.equip_to_slot_or_del(new glasses(H),slot_glasses) + H.equip_to_slot_or_del(new glasses(H),SLOT_GLASSES) if(id) - H.equip_to_slot_or_del(new id(H),slot_wear_id) + H.equip_to_slot_or_del(new id(H),SLOT_WEAR_ID) if(suit_store) - H.equip_to_slot_or_del(new suit_store(H),slot_s_store) + H.equip_to_slot_or_del(new suit_store(H),SLOT_S_STORE) if(accessory) var/obj/item/clothing/under/U = H.w_uniform @@ -79,16 +79,16 @@ if(!visualsOnly) // Items in pockets or backpack don't show up on mob's icon. if(l_pocket) - H.equip_to_slot_or_del(new l_pocket(H),slot_l_store) + H.equip_to_slot_or_del(new l_pocket(H),SLOT_L_STORE) if(r_pocket) - H.equip_to_slot_or_del(new r_pocket(H),slot_r_store) + H.equip_to_slot_or_del(new r_pocket(H),SLOT_R_STORE) if(backpack_contents) for(var/path in backpack_contents) var/number = backpack_contents[path] if(!isnum(number))//Default to 1 number = 1 for(var/i in 1 to number) - H.equip_to_slot_or_del(new path(H),slot_in_backpack) + H.equip_to_slot_or_del(new path(H),SLOT_IN_BACKPACK) if(!H.head && toggle_helmet && istype(H.wear_suit, /obj/item/clothing/suit/space/hardsuit)) var/obj/item/clothing/suit/space/hardsuit/HS = H.wear_suit diff --git a/code/datums/traits/_trait.dm b/code/datums/traits/_trait.dm index 96f6857970..0420cd4317 100644 --- a/code/datums/traits/_trait.dm +++ b/code/datums/traits/_trait.dm @@ -120,7 +120,7 @@ Use this as a guideline var/mob/living/carbon/human/H = trait_holder var/obj/item/clothing/glasses/regular/glasses = new(get_turf(H)) H.put_in_hands(glasses) - H.equip_to_slot(glasses, slot_glasses) + H.equip_to_slot(glasses, SLOT_GLASSES) H.regenerate_icons() //This whole proc is called automatically diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm index 57284a2558..94a8a7e33d 100644 --- a/code/datums/traits/negative.dm +++ b/code/datums/traits/negative.dm @@ -58,9 +58,9 @@ /obj/item/dice/d20) heirloom = new heirloom_type(get_turf(trait_holder)) var/list/slots = list( - "in your backpack" = slot_in_backpack, - "in your left pocket" = slot_l_store, - "in your right pocket" = slot_r_store + "in your backpack" = SLOT_IN_BACKPACK, + "in your left pocket" = SLOT_L_STORE, + "in your right pocket" = SLOT_R_STORE ) var/where = H.equip_in_one_of_slots(heirloom, slots) if(!where) @@ -121,7 +121,7 @@ var/mob/living/carbon/human/H = trait_holder var/obj/item/clothing/glasses/regular/glasses = new(get_turf(H)) H.put_in_hands(glasses) - H.equip_to_slot(glasses, slot_glasses) + H.equip_to_slot(glasses, SLOT_GLASSES) H.regenerate_icons() //this is to remove the inhand icon, which persists even if it's not in their hands diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm index a77bf196c2..93d77209e0 100644 --- a/code/game/gamemodes/changeling/changeling.dm +++ b/code/game/gamemodes/changeling/changeling.dm @@ -1,6 +1,6 @@ GLOBAL_LIST_INIT(possible_changeling_IDs, list("Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Pi","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega")) GLOBAL_LIST_INIT(slots, list("head", "wear_mask", "back", "wear_suit", "w_uniform", "shoes", "belt", "gloves", "glasses", "ears", "wear_id", "s_store")) -GLOBAL_LIST_INIT(slot2slot, list("head" = slot_head, "wear_mask" = slot_wear_mask, "neck" = slot_neck, "back" = slot_back, "wear_suit" = slot_wear_suit, "w_uniform" = slot_w_uniform, "shoes" = slot_shoes, "belt" = slot_belt, "gloves" = slot_gloves, "glasses" = slot_glasses, "ears" = slot_ears, "wear_id" = slot_wear_id, "s_store" = slot_s_store)) +GLOBAL_LIST_INIT(slot2slot, list("head" = SLOT_HEAD, "wear_mask" = SLOT_WEAR_MASK, "neck" = SLOT_NECK, "back" = SLOT_BACK, "wear_suit" = SLOT_WEAR_SUIT, "w_uniform" = SLOT_W_UNIFORM, "shoes" = SLOT_SHOES, "belt" = SLOT_BELT, "gloves" = SLOT_GLOVES, "glasses" = SLOT_GLASSES, "ears" = SLOT_EARS, "wear_id" = SLOT_WEAR_ID, "s_store" = SLOT_S_STORE)) GLOBAL_LIST_INIT(slot2type, list("head" = /obj/item/clothing/head/changeling, "wear_mask" = /obj/item/clothing/mask/changeling, "back" = /obj/item/changeling, "wear_suit" = /obj/item/clothing/suit/changeling, "w_uniform" = /obj/item/clothing/under/changeling, "shoes" = /obj/item/clothing/shoes/changeling, "belt" = /obj/item/changeling, "gloves" = /obj/item/clothing/gloves/changeling, "glasses" = /obj/item/clothing/glasses/changeling, "ears" = /obj/item/changeling, "wear_id" = /obj/item/changeling, "s_store" = /obj/item/changeling)) GLOBAL_VAR(changeling_team_objective_type) //If this is not null, we hand our this objective to all lings diff --git a/code/game/gamemodes/clock_cult/clock_cult.dm b/code/game/gamemodes/clock_cult/clock_cult.dm index f403908f67..397016e377 100644 --- a/code/game/gamemodes/clock_cult/clock_cult.dm +++ b/code/game/gamemodes/clock_cult/clock_cult.dm @@ -198,7 +198,7 @@ Credit where due: L.equipOutfit(/datum/outfit/servant_of_ratvar) var/obj/item/clockwork/slab/S = new var/slot = "At your feet" - var/list/slots = list("In your left pocket" = slot_l_store, "In your right pocket" = slot_r_store, "In your backpack" = slot_in_backpack, "On your belt" = slot_belt) + var/list/slots = list("In your left pocket" = SLOT_L_STORE, "In your right pocket" = SLOT_R_STORE, "In your backpack" = SLOT_IN_BACKPACK, "On your belt" = SLOT_BELT) if(ishuman(L)) var/mob/living/carbon/human/H = L slot = H.equip_in_one_of_slots(S, slots) diff --git a/code/game/gamemodes/clown_ops/bananium_bomb.dm b/code/game/gamemodes/clown_ops/bananium_bomb.dm index 86db2e94f9..c7212a671c 100644 --- a/code/game/gamemodes/clown_ops/bananium_bomb.dm +++ b/code/game/gamemodes/clown_ops/bananium_bomb.dm @@ -43,17 +43,17 @@ if(!H.w_uniform || H.dropItemToGround(H.w_uniform)) C = new /obj/item/clothing/under/rank/clown(H) C.flags_1 |= NODROP_1 //mwahaha - H.equip_to_slot_or_del(C, slot_w_uniform) + H.equip_to_slot_or_del(C, SLOT_W_UNIFORM) if(!H.shoes || H.dropItemToGround(H.shoes)) C = new /obj/item/clothing/shoes/clown_shoes(H) C.flags_1 |= NODROP_1 - H.equip_to_slot_or_del(C, slot_shoes) + H.equip_to_slot_or_del(C, SLOT_SHOES) if(!H.wear_mask || H.dropItemToGround(H.wear_mask)) C = new /obj/item/clothing/mask/gas/clown_hat(H) C.flags_1 |= NODROP_1 - H.equip_to_slot_or_del(C, slot_wear_mask) + H.equip_to_slot_or_del(C, SLOT_WEAR_MASK) H.dna.add_mutation(CLOWNMUT) H.gain_trauma(/datum/brain_trauma/mild/phobia, TRAUMA_RESILIENCE_LOBOTOMY, "clowns") //MWA HA HA diff --git a/code/game/gamemodes/clown_ops/clown_weapons.dm b/code/game/gamemodes/clown_ops/clown_weapons.dm index 6488a98d7d..594fa5a38f 100644 --- a/code/game/gamemodes/clown_ops/clown_weapons.dm +++ b/code/game/gamemodes/clown_ops/clown_weapons.dm @@ -209,7 +209,7 @@ if(!istype(M.wear_mask, /obj/item/clothing/mask/gas/clown_hat) && !istype(M.wear_mask, /obj/item/clothing/mask/gas/mime) ) if(!M.wear_mask || M.dropItemToGround(M.wear_mask)) var/obj/item/clothing/mask/fakemoustache/sticky/the_stash = new /obj/item/clothing/mask/fakemoustache/sticky() - M.equip_to_slot_or_del(the_stash, slot_wear_mask, TRUE, TRUE, TRUE, TRUE) + M.equip_to_slot_or_del(the_stash, SLOT_WEAR_MASK, TRUE, TRUE, TRUE, TRUE) /obj/item/clothing/mask/fakemoustache/sticky var/unstick_time = 600 diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index 11e4815722..68c9fd2b01 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -154,8 +154,13 @@ R.command = TRUE if(tc) +<<<<<<< HEAD var/obj/item/device/radio/uplink/U = new uplink_type(H, H.key, tc) H.equip_to_slot_or_del(U, slot_in_backpack) +======= + var/obj/item/radio/uplink/U = new uplink_type(H, H.key, tc) + H.equip_to_slot_or_del(U, SLOT_IN_BACKPACK) +>>>>>>> ecd0d8b... Merge pull request #37476 from AnturK/thisalwaysbuggedme var/obj/item/implant/weapons_auth/W = new/obj/item/implant/weapons_auth(H) W.implant(H) @@ -171,7 +176,7 @@ mask = /obj/item/clothing/mask/gas/syndicate suit = /obj/item/clothing/suit/space/hardsuit/syndi r_pocket = /obj/item/tank/internals/emergency_oxygen/engi - internals_slot = slot_r_store + internals_slot = SLOT_R_STORE belt = /obj/item/storage/belt/military r_hand = /obj/item/gun/ballistic/automatic/shotgun/bulldog backpack_contents = list(/obj/item/storage/box/syndie=1,\ diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 8c162c600e..14dca48b27 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -114,7 +114,7 @@ GLOBAL_LIST_EMPTY(objectives) if(receiver && receiver.current) if(ishuman(receiver.current)) var/mob/living/carbon/human/H = receiver.current - var/list/slots = list("backpack" = slot_in_backpack) + var/list/slots = list("backpack" = SLOT_IN_BACKPACK) for(var/eq_path in special_equipment) var/obj/O = new eq_path H.equip_in_one_of_slots(O, slots) diff --git a/code/game/machinery/launch_pad.dm b/code/game/machinery/launch_pad.dm index f50f409463..12163c7fd7 100644 --- a/code/game/machinery/launch_pad.dm +++ b/code/game/machinery/launch_pad.dm @@ -245,7 +245,7 @@ icon = 'icons/obj/telescience.dmi' icon_state = "blpad-remote" w_class = WEIGHT_CLASS_SMALL - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT var/sending = TRUE var/obj/machinery/launchpad/briefcase/pad diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 46a6d961d4..072c5da877 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -385,7 +385,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) //sometimes we only want to grant the item's action if it's equipped in a specific slot. /obj/item/proc/item_action_slot_check(slot, mob/user) - if(slot == slot_in_backpack || slot == slot_legcuffed) //these aren't true slots, so avoid granting actions there + if(slot == SLOT_IN_BACKPACK || slot == SLOT_LEGCUFFED) //these aren't true slots, so avoid granting actions there return FALSE return TRUE @@ -549,29 +549,29 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) return var/mob/owner = loc var/flags = slot_flags - if(flags & SLOT_OCLOTHING) + if(flags & ITEM_SLOT_OCLOTHING) owner.update_inv_wear_suit() - if(flags & SLOT_ICLOTHING) + if(flags & ITEM_SLOT_ICLOTHING) owner.update_inv_w_uniform() - if(flags & SLOT_GLOVES) + if(flags & ITEM_SLOT_GLOVES) owner.update_inv_gloves() - if(flags & SLOT_EYES) + if(flags & ITEM_SLOT_EYES) owner.update_inv_glasses() - if(flags & SLOT_EARS) + if(flags & ITEM_SLOT_EARS) owner.update_inv_ears() - if(flags & SLOT_MASK) + if(flags & ITEM_SLOT_MASK) owner.update_inv_wear_mask() - if(flags & SLOT_HEAD) + if(flags & ITEM_SLOT_HEAD) owner.update_inv_head() - if(flags & SLOT_FEET) + if(flags & ITEM_SLOT_FEET) owner.update_inv_shoes() - if(flags & SLOT_ID) + if(flags & ITEM_SLOT_ID) owner.update_inv_wear_id() - if(flags & SLOT_BELT) + if(flags & ITEM_SLOT_BELT) owner.update_inv_belt() - if(flags & SLOT_BACK) + if(flags & ITEM_SLOT_BACK) owner.update_inv_back() - if(flags & SLOT_NECK) + if(flags & ITEM_SLOT_NECK) owner.update_inv_neck() /obj/item/proc/is_hot() @@ -596,7 +596,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) if(ismob(location)) var/mob/M = location var/success = FALSE - if(src == M.get_item_by_slot(slot_wear_mask)) + if(src == M.get_item_by_slot(SLOT_WEAR_MASK)) success = TRUE if(success) location = get_turf(M) diff --git a/code/game/objects/items/airlock_painter.dm b/code/game/objects/items/airlock_painter.dm index 36d2c068c6..2626b9f0ba 100644 --- a/code/game/objects/items/airlock_painter.dm +++ b/code/game/objects/items/airlock_painter.dm @@ -10,7 +10,7 @@ materials = list(MAT_METAL=50, MAT_GLASS=50) flags_1 = CONDUCT_1 | NOBLUDGEON_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT usesound = 'sound/effects/spray2.ogg' var/obj/item/device/toner/ink = null diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index 08e6204c63..ea332c77de 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -97,7 +97,7 @@ item_state = "card-id" lefthand_file = 'icons/mob/inhands/equipment/idcards_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/idcards_righthand.dmi' - slot_flags = SLOT_ID + slot_flags = ITEM_SLOT_ID armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) resistance_flags = FIRE_PROOF | ACID_PROOF var/mining_points = 0 //For redeeming at mining equipment vendors diff --git a/code/game/objects/items/chrono_eraser.dm b/code/game/objects/items/chrono_eraser.dm index 107e4eb5db..d861b515f8 100644 --- a/code/game/objects/items/chrono_eraser.dm +++ b/code/game/objects/items/chrono_eraser.dm @@ -9,7 +9,7 @@ lefthand_file = 'icons/mob/inhands/equipment/backpack_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/backpack_righthand.dmi' w_class = WEIGHT_CLASS_BULKY - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK slowdown = 1 actions_types = list(/datum/action/item_action/equip_unequip_TED_Gun) var/obj/item/gun/energy/chrono_gun/PA = null @@ -38,7 +38,7 @@ user.put_in_hands(PA) /obj/item/chrono_eraser/item_action_slot_check(slot, mob/user) - if(slot == slot_back) + if(slot == SLOT_BACK) return 1 /obj/item/gun/energy/chrono_gun diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index 9ecafd7a8a..14a6440371 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -86,7 +86,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM ..() /obj/item/proc/help_light_cig(mob/living/M) - var/mask_item = M.get_item_by_slot(slot_wear_mask) + var/mask_item = M.get_item_by_slot(SLOT_WEAR_MASK) if(istype(mask_item, /obj/item/clothing/mask/cigarette)) return mask_item @@ -129,7 +129,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM reagents.add_reagent_list(list_reagents) if(starts_lit) light() - AddComponent(/datum/component/knockoff,90,list(BODY_ZONE_PRECISE_MOUTH),list(slot_wear_mask))//90% to knock off when wearing a mask + AddComponent(/datum/component/knockoff,90,list(BODY_ZONE_PRECISE_MOUTH),list(SLOT_WEAR_MASK))//90% to knock off when wearing a mask /obj/item/clothing/mask/cigarette/Destroy() STOP_PROCESSING(SSobj, src) @@ -486,7 +486,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM item_state = "zippo" w_class = WEIGHT_CLASS_TINY flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT var/lit = 0 var/fancy = TRUE heat = 1500 @@ -746,7 +746,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM return /obj/item/clothing/mask/vape/equipped(mob/user, slot) - if(slot == slot_wear_mask) + if(slot == SLOT_WEAR_MASK) if(!screw) to_chat(user, "You start puffing on the vape.") reagents.set_reacting(TRUE) @@ -756,7 +756,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/clothing/mask/vape/dropped(mob/user) var/mob/living/carbon/C = user - if(C.get_item_by_slot(slot_wear_mask) == src) + if(C.get_item_by_slot(SLOT_WEAR_MASK) == src) reagents.set_reacting(FALSE) STOP_PROCESSING(SSobj, src) diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index 47d7b1e525..c5f991192d 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -9,7 +9,7 @@ item_state = "defibunit" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK force = 5 throwforce = 6 w_class = WEIGHT_CLASS_BULKY @@ -83,14 +83,14 @@ //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/item/defibrillator/attack_hand(mob/user) if(loc == user) - if(slot_flags == SLOT_BACK) - if(user.get_item_by_slot(slot_back) == src) + if(slot_flags == ITEM_SLOT_BACK) + if(user.get_item_by_slot(SLOT_BACK) == src) ui_action_click() else to_chat(user, "Put the defibrillator on your back first!") - else if(slot_flags == SLOT_BELT) - if(user.get_item_by_slot(slot_belt) == src) + else if(slot_flags == ITEM_SLOT_BELT) + if(user.get_item_by_slot(SLOT_BELT) == src) ui_action_click() else to_chat(user, "Strap the defibrillator's belt on first!") @@ -186,7 +186,7 @@ /obj/item/defibrillator/equipped(mob/user, slot) ..() - if((slot_flags == SLOT_BACK && slot != slot_back) || (slot_flags == SLOT_BELT && slot != slot_belt)) + if((slot_flags == ITEM_SLOT_BACK && slot != SLOT_BACK) || (slot_flags == ITEM_SLOT_BELT && slot != SLOT_BELT)) remove_paddles(user) update_icon() @@ -239,7 +239,7 @@ icon_state = "defibcompact" item_state = "defibcompact" w_class = WEIGHT_CLASS_NORMAL - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT /obj/item/defibrillator/compact/item_action_slot_check(slot, mob/user) if(slot == user.getBeltSlot()) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index c6065cdd8c..8b786cc6a3 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -20,7 +20,7 @@ GLOBAL_LIST_EMPTY(PDAs) righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' flags_1 = NOBLUDGEON_1 w_class = WEIGHT_CLASS_TINY - slot_flags = SLOT_ID | SLOT_BELT + slot_flags = ITEM_SLOT_ID | ITEM_SLOT_BELT armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) resistance_flags = FIRE_PROOF | ACID_PROOF diff --git a/code/game/objects/items/devices/aicard.dm b/code/game/objects/items/devices/aicard.dm index f9e510bbea..1f4fe7d471 100644 --- a/code/game/objects/items/devices/aicard.dm +++ b/code/game/objects/items/devices/aicard.dm @@ -7,7 +7,7 @@ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' w_class = WEIGHT_CLASS_SMALL - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT flags_1 = NOBLUDGEON_1 var/flush = FALSE var/mob/living/silicon/ai/AI diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm index c759eecc82..f9e6239726 100644 --- a/code/game/objects/items/devices/chameleonproj.dm +++ b/code/game/objects/items/devices/chameleonproj.dm @@ -2,7 +2,7 @@ name = "chameleon-projector" icon_state = "shield0" flags_1 = CONDUCT_1 | NOBLUDGEON_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT item_state = "electronic" lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 13ceeaedeb..a21c614ea1 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -8,7 +8,7 @@ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' w_class = WEIGHT_CLASS_SMALL flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT materials = list(MAT_METAL=50, MAT_GLASS=20) actions_types = list(/datum/action/item_action/toggle_light) var/on = FALSE @@ -348,7 +348,7 @@ icon_state = "slime" item_state = "slime" w_class = WEIGHT_CLASS_SMALL - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT materials = list() brightness_on = 6 //luminosity when on diff --git a/code/game/objects/items/devices/forcefieldprojector.dm b/code/game/objects/items/devices/forcefieldprojector.dm index c0b32883e8..24d3b9103f 100644 --- a/code/game/objects/items/devices/forcefieldprojector.dm +++ b/code/game/objects/items/devices/forcefieldprojector.dm @@ -2,7 +2,7 @@ name = "forcefield projector" desc = "An experimental device that can create several forcefields at a distance." icon_state = "signmaker_engi" - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL flags_1 = NOBLUDGEON_1 item_state = "electronic" diff --git a/code/game/objects/items/devices/geiger_counter.dm b/code/game/objects/items/devices/geiger_counter.dm index 83cec3c258..3fe1d73e9c 100644 --- a/code/game/objects/items/devices/geiger_counter.dm +++ b/code/game/objects/items/devices/geiger_counter.dm @@ -16,7 +16,7 @@ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' w_class = WEIGHT_CLASS_SMALL - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT materials = list(MAT_METAL = 150, MAT_GLASS = 150) var/grace = RAD_GRACE_PERIOD diff --git a/code/game/objects/items/devices/gps.dm b/code/game/objects/items/devices/gps.dm index b3e33ec8ba..11de96e0bb 100644 --- a/code/game/objects/items/devices/gps.dm +++ b/code/game/objects/items/devices/gps.dm @@ -5,7 +5,7 @@ GLOBAL_LIST_EMPTY(GPS_list) icon = 'icons/obj/telescience.dmi' icon_state = "gps-c" w_class = WEIGHT_CLASS_SMALL - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT obj_flags = UNIQUE_RENAME var/gpstag = "COM0" var/emped = FALSE diff --git a/code/game/objects/items/devices/instruments.dm b/code/game/objects/items/devices/instruments.dm index 4124f77aeb..06047acad5 100644 --- a/code/game/objects/items/devices/instruments.dm +++ b/code/game/objects/items/devices/instruments.dm @@ -198,7 +198,7 @@ icon_state = "harmonica" item_state = "harmonica" instrumentId = "harmonica" - slot_flags = SLOT_MASK + slot_flags = ITEM_SLOT_MASK force = 5 w_class = WEIGHT_CLASS_SMALL actions_types = list(/datum/action/item_action/instrument) diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm index 098643e87f..d7545c8b53 100644 --- a/code/game/objects/items/devices/laserpointer.dm +++ b/code/game/objects/items/devices/laserpointer.dm @@ -6,7 +6,7 @@ item_state = "pen" var/pointer_icon_state flags_1 = CONDUCT_1 | NOBLUDGEON_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT materials = list(MAT_METAL=500, MAT_GLASS=500) w_class = WEIGHT_CLASS_SMALL var/turf/pointer_loc diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index a1cdfe4a9b..792d7e2e16 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -50,7 +50,7 @@ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT force = 8 var/max_uses = 20 diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm index b96c32f53f..bc6819a7db 100644 --- a/code/game/objects/items/devices/paicard.dm +++ b/code/game/objects/items/devices/paicard.dm @@ -6,7 +6,7 @@ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' w_class = WEIGHT_CLASS_SMALL - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT var/mob/living/silicon/pai/pai resistance_flags = FIRE_PROOF | ACID_PROOF | INDESTRUCTIBLE diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm index 3e3a760fb3..2e2ace233e 100644 --- a/code/game/objects/items/devices/radio/electropack.dm +++ b/code/game/objects/items/devices/radio/electropack.dm @@ -7,7 +7,7 @@ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' flags_1 = CONDUCT_1 - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK w_class = WEIGHT_CLASS_HUGE materials = list(MAT_METAL=10000, MAT_GLASS=2500) var/on = TRUE diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index 1362721e1d..2f0b6dc021 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -7,8 +7,13 @@ subspace_transmission = TRUE canhear_range = 0 // can't hear headsets from very far away +<<<<<<< HEAD slot_flags = SLOT_EARS var/obj/item/device/encryptionkey/keyslot2 = null +======= + slot_flags = ITEM_SLOT_EARS + var/obj/item/encryptionkey/keyslot2 = null +>>>>>>> ecd0d8b... Merge pull request #37476 from AnturK/thisalwaysbuggedme dog_fashion = null /obj/item/device/radio/headset/suicide_act(mob/living/carbon/user) diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 1f6f97284b..6d6a749f7d 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -8,7 +8,7 @@ flags_1 = CONDUCT_1 | HEAR_1 flags_2 = NO_EMP_WIRES_2 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT throw_speed = 3 throw_range = 7 w_class = WEIGHT_CLASS_SMALL diff --git a/code/game/objects/items/devices/reverse_bear_trap.dm b/code/game/objects/items/devices/reverse_bear_trap.dm index 0d41b12ccd..088be968c5 100644 --- a/code/game/objects/items/devices/reverse_bear_trap.dm +++ b/code/game/objects/items/devices/reverse_bear_trap.dm @@ -2,7 +2,7 @@ name = "reverse bear trap" desc = "A horrifying set of shut metal jaws, rigged to a kitchen timer and secured by padlock to a head-mounted clamp. To apply, hit someone with it." icon_state = "reverse_bear_trap" - slot_flags = SLOT_HEAD + slot_flags = ITEM_SLOT_HEAD flags_1 = CONDUCT_1 resistance_flags = FIRE_PROOF | UNACIDABLE w_class = WEIGHT_CLASS_NORMAL @@ -47,7 +47,7 @@ /obj/item/device/reverse_bear_trap/attack_hand(mob/user) if(iscarbon(user)) var/mob/living/carbon/C = user - if(C.get_item_by_slot(slot_head) == src) + if(C.get_item_by_slot(SLOT_HEAD) == src) if(flags_1 & NODROP_1 && !struggling) struggling = TRUE var/fear_string @@ -80,27 +80,32 @@ return ..() +<<<<<<< HEAD /obj/item/device/reverse_bear_trap/attack(mob/living/target, mob/living/user) if(target.get_item_by_slot(slot_head)) +======= +/obj/item/reverse_bear_trap/attack(mob/living/target, mob/living/user) + if(target.get_item_by_slot(SLOT_HEAD)) +>>>>>>> ecd0d8b... Merge pull request #37476 from AnturK/thisalwaysbuggedme to_chat(user, "Remove their headgear first!") return target.visible_message("[user] starts forcing [src] onto [target]'s head!", \ "[target] starts forcing [src] onto your head!", "You hear clanking.") to_chat(user, "You start forcing [src] onto [target]'s head...") - if(!do_after(user, 30, target = target) || target.get_item_by_slot(slot_head)) + if(!do_after(user, 30, target = target) || target.get_item_by_slot(SLOT_HEAD)) return target.visible_message("[user] forces and locks [src] onto [target]'s head!", \ "[target] locks [src] onto your head!", "You hear a click, and then a timer ticking down.") to_chat(user, "You force [src] onto [target]'s head and click the padlock shut.") user.dropItemToGround(src) - target.equip_to_slot_if_possible(src, slot_head) + target.equip_to_slot_if_possible(src, SLOT_HEAD) arm() notify_ghosts("[user] put a reverse bear trap on [target]!", source = src, action = NOTIFY_ORBIT, ghost_sound = 'sound/machines/beep.ogg') /obj/item/device/reverse_bear_trap/proc/snap() reset() var/mob/living/carbon/human/H = loc - if(!istype(H) || H.get_item_by_slot(slot_head) != src) + if(!istype(H) || H.get_item_by_slot(SLOT_HEAD) != src) visible_message("[src]'s jaws snap open with an ear-piercing crack!") playsound(src, 'sound/effects/snap.ogg', 75, TRUE) else diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 2a954302a0..764ab8311c 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -11,7 +11,7 @@ GAS ANALYZER desc = "A terahertz-ray emitter and scanner used to detect underfloor objects such as cables and pipes." icon_state = "t-ray0" var/on = FALSE - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL item_state = "electronic" lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' @@ -65,7 +65,7 @@ GAS ANALYZER righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' desc = "A hand-held body scanner able to distinguish vital signs of the subject." flags_1 = CONDUCT_1 | NOBLUDGEON_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT throwforce = 3 w_class = WEIGHT_CLASS_TINY throw_speed = 3 @@ -344,7 +344,7 @@ GAS ANALYZER righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' w_class = WEIGHT_CLASS_SMALL flags_1 = CONDUCT_1 | NOBLUDGEON_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT throwforce = 0 throw_speed = 3 throw_range = 7 diff --git a/code/game/objects/items/devices/sensor_device.dm b/code/game/objects/items/devices/sensor_device.dm index edfd4368ff..8aed0ea547 100644 --- a/code/game/objects/items/devices/sensor_device.dm +++ b/code/game/objects/items/devices/sensor_device.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/device.dmi' icon_state = "scanner" w_class = WEIGHT_CLASS_SMALL - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT /obj/item/device/sensor_device/attack_self(mob/user) GLOB.crewmonitor.show(user,src) //Proc already exists, just had to call it diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm index bf7a0b8ee8..62fdf62490 100644 --- a/code/game/objects/items/devices/taperecorder.dm +++ b/code/game/objects/items/devices/taperecorder.dm @@ -7,7 +7,7 @@ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' w_class = WEIGHT_CLASS_SMALL flags_1 = HEAR_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT materials = list(MAT_METAL=60, MAT_GLASS=30) force = 2 throwforce = 0 diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm index 2c0e7bd7c4..78bdbfe7dd 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -176,7 +176,7 @@ effective or pretty fucking useless. icon = 'icons/obj/clothing/belts.dmi' icon_state = "utilitybelt" item_state = "utility" - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT attack_verb = list("whipped", "lashed", "disciplined") var/mob/living/carbon/human/user = null @@ -186,16 +186,26 @@ effective or pretty fucking useless. var/old_alpha = 0 actions_types = list(/datum/action/item_action/toggle) +<<<<<<< HEAD /obj/item/device/shadowcloak/ui_action_click(mob/user) if(user.get_item_by_slot(slot_belt) == src) +======= +/obj/item/shadowcloak/ui_action_click(mob/user) + if(user.get_item_by_slot(SLOT_BELT) == src) +>>>>>>> ecd0d8b... Merge pull request #37476 from AnturK/thisalwaysbuggedme if(!on) Activate(usr) else Deactivate() return +<<<<<<< HEAD /obj/item/device/shadowcloak/item_action_slot_check(slot, mob/user) if(slot == slot_belt) +======= +/obj/item/shadowcloak/item_action_slot_check(slot, mob/user) + if(slot == SLOT_BELT) +>>>>>>> ecd0d8b... Merge pull request #37476 from AnturK/thisalwaysbuggedme return 1 /obj/item/device/shadowcloak/proc/Activate(mob/living/carbon/human/user) @@ -217,11 +227,16 @@ effective or pretty fucking useless. /obj/item/device/shadowcloak/dropped(mob/user) ..() - if(user && user.get_item_by_slot(slot_belt) != src) + if(user && user.get_item_by_slot(SLOT_BELT) != src) Deactivate() +<<<<<<< HEAD /obj/item/device/shadowcloak/process() if(user.get_item_by_slot(slot_belt) != src) +======= +/obj/item/shadowcloak/process() + if(user.get_item_by_slot(SLOT_BELT) != src) +>>>>>>> ecd0d8b... Merge pull request #37476 from AnturK/thisalwaysbuggedme Deactivate() return var/turf/T = get_turf(src) diff --git a/code/game/objects/items/granters.dm b/code/game/objects/items/granters.dm index cf11ac7640..13fef58927 100644 --- a/code/game/objects/items/granters.dm +++ b/code/game/objects/items/granters.dm @@ -257,7 +257,7 @@ magichead.voicechange = TRUE //NEEEEIIGHH if(!user.dropItemToGround(user.wear_mask)) qdel(user.wear_mask) - user.equip_to_slot_if_possible(magichead, slot_wear_mask, TRUE, TRUE) + user.equip_to_slot_if_possible(magichead, SLOT_WEAR_MASK, TRUE, TRUE) qdel(src) else to_chat(user,"I say thee neigh") //It still lives here diff --git a/code/game/objects/items/grenades/ghettobomb.dm b/code/game/objects/items/grenades/ghettobomb.dm index 5b96b74f41..d450764702 100644 --- a/code/game/objects/items/grenades/ghettobomb.dm +++ b/code/game/objects/items/grenades/ghettobomb.dm @@ -12,7 +12,7 @@ throw_speed = 3 throw_range = 7 flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT active = 0 det_time = 50 display_timer = 0 diff --git a/code/game/objects/items/grenades/grenade.dm b/code/game/objects/items/grenades/grenade.dm index 929c649e4d..6a08777e61 100644 --- a/code/game/objects/items/grenades/grenade.dm +++ b/code/game/objects/items/grenades/grenade.dm @@ -10,7 +10,7 @@ throw_speed = 3 throw_range = 7 flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT resistance_flags = FLAMMABLE max_integrity = 40 var/active = 0 diff --git a/code/game/objects/items/grenades/smokebomb.dm b/code/game/objects/items/grenades/smokebomb.dm index f5a27cf5c8..5b2ab3aede 100644 --- a/code/game/objects/items/grenades/smokebomb.dm +++ b/code/game/objects/items/grenades/smokebomb.dm @@ -1,3 +1,4 @@ +<<<<<<< HEAD /obj/item/grenade/smokebomb name = "smoke grenade" desc = "The word 'Dank' is scribbled on it in crayon." @@ -29,3 +30,36 @@ B.take_damage(damage, BURN, "melee", 0) sleep(80) qdel(src) +======= +/obj/item/grenade/smokebomb + name = "smoke grenade" + desc = "The word 'Dank' is scribbled on it in crayon." + icon = 'icons/obj/grenade.dmi' + icon_state = "smokewhite" + det_time = 20 + item_state = "flashbang" + slot_flags = ITEM_SLOT_BELT + var/datum/effect_system/smoke_spread/bad/smoke + +/obj/item/grenade/smokebomb/New() + ..() + src.smoke = new /datum/effect_system/smoke_spread/bad + src.smoke.attach(src) + +/obj/item/grenade/smokebomb/Destroy() + qdel(smoke) + return ..() + +/obj/item/grenade/smokebomb/prime() + update_mob() + playsound(src.loc, 'sound/effects/smoke.ogg', 50, 1, -3) + smoke.set_up(4, src) + smoke.start() + + + for(var/obj/structure/blob/B in view(8,src)) + var/damage = round(30/(get_dist(B,src)+1)) + B.take_damage(damage, BURN, "melee", 0) + sleep(80) + qdel(src) +>>>>>>> ecd0d8b... Merge pull request #37476 from AnturK/thisalwaysbuggedme diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index 09abc25cc1..735bcaeb27 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -29,7 +29,7 @@ lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT throwforce = 0 w_class = WEIGHT_CLASS_SMALL throw_speed = 3 diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index 13ca2b35d6..560a972ee8 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -75,7 +75,7 @@ desc = "It has a mysterious, protective aura." w_class = WEIGHT_CLASS_HUGE force = 5 - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK block_chance = 50 var/shield_icon = "shield-red" @@ -98,7 +98,7 @@ name = "holy claymore" desc = "A weapon fit for a crusade!" w_class = WEIGHT_CLASS_HUGE - slot_flags = SLOT_BACK|SLOT_BELT + slot_flags = ITEM_SLOT_BACK|ITEM_SLOT_BELT block_chance = 30 sharpness = IS_SHARP hitsound = 'sound/weapons/bladeslice.ogg' @@ -118,7 +118,7 @@ inhand_y_dimension = 64 name = "dark blade" desc = "Spread the glory of the dark gods!" - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT hitsound = 'sound/hallucinations/growl1.ogg' /obj/item/nullrod/claymore/chainsaw_sword @@ -126,7 +126,7 @@ item_state = "chainswordon" name = "sacred chainsaw sword" desc = "Suffer not a heretic to live." - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT attack_verb = list("sawed", "torn", "cut", "chopped", "diced") hitsound = 'sound/weapons/chainsawhit.ogg' @@ -135,21 +135,21 @@ item_state = "swordon" name = "force weapon" desc = "The blade glows with the power of faith. Or possibly a battery." - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT /obj/item/nullrod/claymore/katana name = "hanzo steel" desc = "Capable of cutting clean through a holy claymore." icon_state = "katana" item_state = "katana" - slot_flags = SLOT_BELT | SLOT_BACK + slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK /obj/item/nullrod/claymore/multiverse name = "extradimensional blade" desc = "Once the harbinger of an interdimensional war, its sharpness fluctuates wildly." icon_state = "multiverse" item_state = "multiverse" - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT /obj/item/nullrod/claymore/multiverse/attack(mob/living/carbon/M, mob/living/carbon/user) force = rand(1, 30) @@ -161,7 +161,7 @@ icon_state = "swordblue" item_state = "swordblue" desc = "If you strike me down, I shall become more robust than you can possibly imagine." - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT /obj/item/nullrod/claymore/saber/red name = "dark energy sword" @@ -182,7 +182,7 @@ item_state = "sord" lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT force = 4.13 throwforce = 1 hitsound = 'sound/weapons/bladeslice.ogg' @@ -197,7 +197,7 @@ desc = "Ask not for whom the bell tolls..." w_class = WEIGHT_CLASS_BULKY armour_penetration = 35 - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK sharpness = IS_SHARP attack_verb = list("chopped", "sliced", "cut", "reaped") @@ -279,7 +279,7 @@ item_state = "chainswordon" name = "possessed chainsaw sword" desc = "Suffer not a heretic to live." - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT force = 30 attack_verb = list("sawed", "torn", "cut", "chopped", "diced") hitsound = 'sound/weapons/chainsawhit.ogg' @@ -292,7 +292,7 @@ righthand_file = 'icons/mob/inhands/weapons/hammers_righthand.dmi' name = "relic war hammer" desc = "This war hammer cost the chaplain forty thousand space dollars." - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_HUGE attack_verb = list("smashed", "bashed", "hammered", "crunched") @@ -330,7 +330,7 @@ force = 16 throwforce = 15 w_class = 4 - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK attack_verb = list("attacked", "smashed", "crushed", "splattered", "cracked") hitsound = 'sound/weapons/blade1.ogg' @@ -350,7 +350,7 @@ item_state = "chain" lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT attack_verb = list("whipped", "lashed") hitsound = 'sound/weapons/chainhit.ogg' @@ -359,7 +359,7 @@ desc = "The brim of the hat is as sharp as your wit. The edge would hurt almost as much as disproving the existence of God." icon_state = "fedora" item_state = "fedora" - slot_flags = SLOT_HEAD + slot_flags = ITEM_SLOT_HEAD icon = 'icons/obj/clothing/hats.dmi' force = 0 throw_speed = 4 @@ -414,7 +414,7 @@ w_class = WEIGHT_CLASS_BULKY force = 15 block_chance = 40 - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK sharpness = IS_BLUNT hitsound = "swing_hit" attack_verb = list("smashed", "slammed", "whacked", "thwacked") diff --git a/code/game/objects/items/melee/misc.dm b/code/game/objects/items/melee/misc.dm index 0016bf981f..2df0efd12d 100644 --- a/code/game/objects/items/melee/misc.dm +++ b/code/game/objects/items/melee/misc.dm @@ -17,7 +17,7 @@ lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT force = 10 throwforce = 7 w_class = WEIGHT_CLASS_NORMAL @@ -96,7 +96,7 @@ item_state = "classic_baton" lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT force = 12 //9 hit crit w_class = WEIGHT_CLASS_NORMAL var/cooldown = 0 @@ -159,7 +159,7 @@ lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' item_state = null - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL item_flags = NONE force = 0 @@ -196,7 +196,7 @@ to_chat(user, "You collapse the baton.") icon_state = "telebaton_0" item_state = null //no sprite for concealment even when in hand - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL force = 0 //not so robust now attack_verb = list("hit", "poked") @@ -308,7 +308,7 @@ item_state = "chain" lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT force = 15 w_class = WEIGHT_CLASS_NORMAL attack_verb = list("flogged", "whipped", "lashed", "disciplined") @@ -326,7 +326,7 @@ desc = "A telescopic roasting stick with a miniature shield generator designed to ensure entry into various high-tech shielded cooking ovens and firepits." icon_state = "roastingstick_0" item_state = "null" - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL item_flags = NONE force = 0 diff --git a/code/game/objects/items/pinpointer.dm b/code/game/objects/items/pinpointer.dm index a6d0d285bf..3ca17b01af 100644 --- a/code/game/objects/items/pinpointer.dm +++ b/code/game/objects/items/pinpointer.dm @@ -5,7 +5,7 @@ icon = 'icons/obj/device.dmi' icon_state = "pinpointer" flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL item_state = "electronic" lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index dd8d8f8a10..fb55d92301 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -10,7 +10,7 @@ icon_state = "riot" lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi' - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK force = 10 throwforce = 5 throw_speed = 2 @@ -138,7 +138,7 @@ throwforce = 5 throw_speed = 2 w_class = WEIGHT_CLASS_BULKY - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK to_chat(user, "You extend \the [src].") else force = 3 diff --git a/code/game/objects/items/singularityhammer.dm b/code/game/objects/items/singularityhammer.dm index 5d96213934..11248aad50 100644 --- a/code/game/objects/items/singularityhammer.dm +++ b/code/game/objects/items/singularityhammer.dm @@ -5,7 +5,7 @@ lefthand_file = 'icons/mob/inhands/weapons/hammers_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/hammers_righthand.dmi' flags_1 = CONDUCT_1 - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK force = 5 force_unwielded = 5 force_wielded = 20 @@ -76,7 +76,7 @@ lefthand_file = 'icons/mob/inhands/weapons/hammers_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/hammers_righthand.dmi' flags_1 = CONDUCT_1 - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK force = 5 force_unwielded = 5 force_wielded = 25 diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index a236ebeff6..25606d16d5 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -17,7 +17,7 @@ lefthand_file = 'icons/mob/inhands/equipment/backpack_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/backpack_righthand.dmi' w_class = WEIGHT_CLASS_BULKY - slot_flags = SLOT_BACK //ERROOOOO + slot_flags = ITEM_SLOT_BACK //ERROOOOO resistance_flags = NONE max_integrity = 300 diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index 5c6a354356..a75d0aa0d9 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -17,7 +17,7 @@ // Generic non-item /obj/item/storage/bag - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT /obj/item/storage/bag/ComponentInitialize() . = ..() @@ -94,7 +94,7 @@ desc = "This little bugger can be used to store and transport ores." icon = 'icons/obj/mining.dmi' icon_state = "satchel" - slot_flags = SLOT_BELT | SLOT_POCKET + slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_POCKET w_class = WEIGHT_CLASS_NORMAL component_type = /datum/component/storage/concrete/stack var/spam_protection = FALSE //If this is TRUE, the holder won't receive any messages when they fail to pick up ore through crossing it diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index a4cd9cc739..7b5a30441e 100755 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -6,7 +6,7 @@ item_state = "utility" lefthand_file = 'icons/mob/inhands/equipment/belt_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/belt_righthand.dmi' - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT attack_verb = list("whipped", "lashed", "disciplined") max_integrity = 300 var/content_overlays = FALSE //If this is true, the belt will gain overlays based on what it's holding diff --git a/code/game/objects/items/storage/book.dm b/code/game/objects/items/storage/book.dm index 41f2a4bf47..7a44282d77 100644 --- a/code/game/objects/items/storage/book.dm +++ b/code/game/objects/items/storage/book.dm @@ -74,7 +74,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible", if(B.icon_state == "honk1" || B.icon_state == "honk2") var/mob/living/carbon/human/H = usr H.dna.add_mutation(CLOWNMUT) - H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/clown_hat(H), slot_wear_mask) + H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/clown_hat(H), SLOT_WEAR_MASK) SSreligion.bible_icon_state = B.icon_state SSreligion.bible_item_state = B.item_state diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index d244e512c3..12e851a4a4 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -544,7 +544,7 @@ icon_state = "matchbox" item_state = "zippo" w_class = WEIGHT_CLASS_TINY - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT /obj/item/storage/box/matches/ComponentInitialize() . = ..() diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm index d669431be5..6337709eaa 100644 --- a/code/game/objects/items/storage/fancy.dm +++ b/code/game/objects/items/storage/fancy.dm @@ -109,7 +109,7 @@ icon_type = "candle" item_state = "candlebox5" throwforce = 2 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT spawn_type = /obj/item/candle fancy_open = TRUE @@ -132,7 +132,7 @@ item_state = "cigpacket" w_class = WEIGHT_CLASS_TINY throwforce = 0 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT icon_type = "cigarette" spawn_type = /obj/item/clothing/mask/cigarette/space_cigarette @@ -189,7 +189,7 @@ if(M == user && contents.len > 0 && !user.wear_mask) var/obj/item/clothing/mask/cigarette/W = cig SendSignal(COMSIG_TRY_STORAGE_TAKE, W, M) - M.equip_to_slot_if_possible(W, slot_wear_mask) + M.equip_to_slot_if_possible(W, SLOT_WEAR_MASK) contents -= W to_chat(user, "You take a [icon_type] out of the pack.") else diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index bea6b6de47..541c441500 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -168,7 +168,7 @@ new /obj/item/weldingtool/experimental/brass(src) /obj/item/storage/toolbox/brass/prefilled/servant - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT fabricator_type = null /obj/item/storage/toolbox/brass/prefilled/ratvar diff --git a/code/game/objects/items/storage/wallets.dm b/code/game/objects/items/storage/wallets.dm index fa649fddc6..8569697a50 100644 --- a/code/game/objects/items/storage/wallets.dm +++ b/code/game/objects/items/storage/wallets.dm @@ -1,3 +1,4 @@ +<<<<<<< HEAD /obj/item/storage/wallet name = "wallet" desc = "It can hold a few small and personal things." @@ -89,3 +90,96 @@ if(item3_type) new item3_type(src) update_icon() +======= +/obj/item/storage/wallet + name = "wallet" + desc = "It can hold a few small and personal things." + icon_state = "wallet" + w_class = WEIGHT_CLASS_SMALL + resistance_flags = FLAMMABLE + slot_flags = ITEM_SLOT_ID + + var/obj/item/card/id/front_id = null + var/list/combined_access + +/obj/item/storage/wallet/ComponentInitialize() + . = ..() + GET_COMPONENT(STR, /datum/component/storage) + STR.max_items = 4 + STR.can_hold = typecacheof(list( + /obj/item/stack/spacecash, + /obj/item/card, + /obj/item/clothing/mask/cigarette, + /obj/item/flashlight/pen, + /obj/item/seeds, + /obj/item/stack/medical, + /obj/item/toy/crayon, + /obj/item/coin, + /obj/item/dice, + /obj/item/disk, + /obj/item/implanter, + /obj/item/lighter, + /obj/item/lipstick, + /obj/item/match, + /obj/item/paper, + /obj/item/pen, + /obj/item/photo, + /obj/item/reagent_containers/dropper, + /obj/item/reagent_containers/syringe, + /obj/item/screwdriver, + /obj/item/stamp)) + +/obj/item/storage/wallet/Exited(atom/movable/AM) + . = ..() + refreshID() + +/obj/item/storage/wallet/proc/refreshID() + if(!(front_id in src)) + front_id = null + for(var/obj/item/card/id/I in contents) + LAZYINITLIST(combined_access) + LAZYCLEARLIST(combined_access) + if(!front_id) + front_id = I + combined_access |= I.access + update_icon() + +/obj/item/storage/wallet/Entered(atom/movable/AM) + . = ..() + refreshID() + +/obj/item/storage/wallet/update_icon() + var/new_state = "wallet" + if(front_id) + new_state = "wallet_[front_id.icon_state]" + if(new_state != icon_state) //avoid so many icon state changes. + icon_state = new_state + +/obj/item/storage/wallet/GetID() + return front_id + +/obj/item/storage/wallet/GetAccess() + if(LAZYLEN(combined_access)) + return combined_access + else + return ..() + +/obj/item/storage/wallet/random + icon_state = "random_wallet" + +/obj/item/storage/wallet/random/PopulateContents() + var/item1_type = pick( /obj/item/stack/spacecash/c10, /obj/item/stack/spacecash/c100, /obj/item/stack/spacecash/c1000, /obj/item/stack/spacecash/c20, /obj/item/stack/spacecash/c200, /obj/item/stack/spacecash/c50, /obj/item/stack/spacecash/c500) + var/item2_type + if(prob(50)) + item2_type = pick( /obj/item/stack/spacecash/c10, /obj/item/stack/spacecash/c100, /obj/item/stack/spacecash/c1000, /obj/item/stack/spacecash/c20, /obj/item/stack/spacecash/c200, /obj/item/stack/spacecash/c50, /obj/item/stack/spacecash/c500) + var/item3_type = pick( /obj/item/coin/silver, /obj/item/coin/silver, /obj/item/coin/gold, /obj/item/coin/iron, /obj/item/coin/iron, /obj/item/coin/iron ) + + spawn(2) + if(item1_type) + new item1_type(src) + if(item2_type) + new item2_type(src) + if(item3_type) + new item3_type(src) + update_icon() +>>>>>>> ecd0d8b... Merge pull request #37476 from AnturK/thisalwaysbuggedme diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index 95c68109bb..ee46147a10 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -5,7 +5,7 @@ item_state = "baton" lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT force = 10 throwforce = 7 w_class = WEIGHT_CLASS_NORMAL @@ -195,8 +195,13 @@ stunforce = 100 hitcost = 2000 throw_hit_chance = 10 +<<<<<<< HEAD slot_flags = SLOT_BACK var/obj/item/device/assembly/igniter/sparkler = 0 +======= + slot_flags = ITEM_SLOT_BACK + var/obj/item/assembly/igniter/sparkler = 0 +>>>>>>> ecd0d8b... Merge pull request #37476 from AnturK/thisalwaysbuggedme /obj/item/melee/baton/cattleprod/Initialize() . = ..() diff --git a/code/game/objects/items/tanks/tank_types.dm b/code/game/objects/items/tanks/tank_types.dm index 4a687b458d..f4eb763847 100644 --- a/code/game/objects/items/tanks/tank_types.dm +++ b/code/game/objects/items/tanks/tank_types.dm @@ -137,7 +137,7 @@ /obj/item/tank/internals/plasmaman/belt icon_state = "plasmaman_tank_belt" item_state = "plasmaman_tank_belt" - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT force = 5 volume = 6 w_class = WEIGHT_CLASS_SMALL //thanks i forgot this @@ -157,7 +157,7 @@ desc = "Used for emergencies. Contains very little oxygen, so try to conserve it until you actually need it." icon_state = "emergency" flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL force = 4 distribute_pressure = TANK_DEFAULT_RELEASE_PRESSURE diff --git a/code/game/objects/items/tanks/tanks.dm b/code/game/objects/items/tanks/tanks.dm index 2e512c3ec4..f3f0ad4825 100644 --- a/code/game/objects/items/tanks/tanks.dm +++ b/code/game/objects/items/tanks/tanks.dm @@ -4,7 +4,7 @@ lefthand_file = 'icons/mob/inhands/equipment/tanks_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tanks_righthand.dmi' flags_1 = CONDUCT_1 - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK hitsound = 'sound/weapons/smash.ogg' pressure_resistance = ONE_ATMOSPHERE * 5 force = 5 diff --git a/code/game/objects/items/tanks/watertank.dm b/code/game/objects/items/tanks/watertank.dm index 5c7df452f0..0b1c2fba5c 100644 --- a/code/game/objects/items/tanks/watertank.dm +++ b/code/game/objects/items/tanks/watertank.dm @@ -6,7 +6,7 @@ icon_state = "waterbackpack" item_state = "waterbackpack" w_class = WEIGHT_CLASS_BULKY - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK slowdown = 1 actions_types = list(/datum/action/item_action/toggle_mister) max_integrity = 200 @@ -60,7 +60,7 @@ /obj/item/watertank/equipped(mob/user, slot) ..() - if(slot != slot_back) + if(slot != SLOT_BACK) remove_noz() /obj/item/watertank/proc/remove_noz() @@ -344,7 +344,7 @@ icon_state = "waterbackpackatmos" item_state = "waterbackpackatmos" w_class = WEIGHT_CLASS_BULKY - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK slowdown = 1 actions_types = list(/datum/action/item_action/activate_injector) @@ -361,14 +361,14 @@ toggle_injection() /obj/item/reagent_containers/chemtank/item_action_slot_check(slot, mob/user) - if(slot == slot_back) + if(slot == SLOT_BACK) return 1 /obj/item/reagent_containers/chemtank/proc/toggle_injection() var/mob/living/carbon/human/user = usr if(!istype(user)) return - if (user.get_item_by_slot(slot_back) != src) + if (user.get_item_by_slot(SLOT_BACK) != src) to_chat(user, "The chemtank needs to be on your back before you can activate it!") return if(on) diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm index ed6233a0b6..0684da08b2 100644 --- a/code/game/objects/items/tools/crowbar.dm +++ b/code/game/objects/items/tools/crowbar.dm @@ -7,7 +7,7 @@ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' usesound = 'sound/items/crowbar.ogg' flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT force = 5 throwforce = 7 w_class = WEIGHT_CLASS_SMALL diff --git a/code/game/objects/items/tools/screwdriver.dm b/code/game/objects/items/tools/screwdriver.dm index 56537e703a..a29c103fda 100644 --- a/code/game/objects/items/tools/screwdriver.dm +++ b/code/game/objects/items/tools/screwdriver.dm @@ -7,7 +7,7 @@ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT force = 5 w_class = WEIGHT_CLASS_TINY throwforce = 5 diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index dc496187bc..133cbfaccb 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -1,3 +1,4 @@ +<<<<<<< HEAD #define WELDER_FUEL_BURN_INTERVAL 13 /obj/item/weldingtool name = "welding tool" @@ -370,3 +371,377 @@ reagents.add_reagent("welding_fuel", 1) #undef WELDER_FUEL_BURN_INTERVAL +======= +#define WELDER_FUEL_BURN_INTERVAL 13 +/obj/item/weldingtool + name = "welding tool" + desc = "A standard edition welder provided by Nanotrasen." + icon = 'icons/obj/tools.dmi' + icon_state = "welder" + item_state = "welder" + lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' + flags_1 = CONDUCT_1 + slot_flags = ITEM_SLOT_BELT + force = 3 + throwforce = 5 + hitsound = "swing_hit" + usesound = list('sound/items/welder.ogg', 'sound/items/welder2.ogg') + var/acti_sound = 'sound/items/welderactivate.ogg' + var/deac_sound = 'sound/items/welderdeactivate.ogg' + throw_speed = 3 + throw_range = 5 + w_class = WEIGHT_CLASS_SMALL + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 30) + resistance_flags = FIRE_PROOF + + materials = list(MAT_METAL=70, MAT_GLASS=30) + var/welding = 0 //Whether or not the welding tool is off(0), on(1) or currently welding(2) + var/status = TRUE //Whether the welder is secured or unsecured (able to attach rods to it to make a flamethrower) + var/max_fuel = 20 //The max amount of fuel the welder can hold + var/change_icons = 1 + var/can_off_process = 0 + var/light_intensity = 2 //how powerful the emitted light is when used. + var/progress_flash_divisor = 10 + var/burned_fuel_for = 0 //when fuel was last removed + heat = 3800 + tool_behaviour = TOOL_WELDER + toolspeed = 1 + +/obj/item/weldingtool/Initialize() + . = ..() + create_reagents(max_fuel) + reagents.add_reagent("welding_fuel", max_fuel) + update_icon() + + +/obj/item/weldingtool/proc/update_torch() + if(welding) + add_overlay("[initial(icon_state)]-on") + item_state = "[initial(item_state)]1" + else + item_state = "[initial(item_state)]" + + +/obj/item/weldingtool/update_icon() + cut_overlays() + if(change_icons) + var/ratio = get_fuel() / max_fuel + ratio = CEILING(ratio*4, 1) * 25 + add_overlay("[initial(icon_state)][ratio]") + update_torch() + return + + +/obj/item/weldingtool/process() + switch(welding) + if(0) + force = 3 + damtype = "brute" + update_icon() + if(!can_off_process) + STOP_PROCESSING(SSobj, src) + return + //Welders left on now use up fuel, but lets not have them run out quite that fast + if(1) + force = 15 + damtype = "fire" + ++burned_fuel_for + if(burned_fuel_for >= WELDER_FUEL_BURN_INTERVAL) + use(1) + update_icon() + + //This is to start fires. process() is only called if the welder is on. + open_flame() + + +/obj/item/weldingtool/suicide_act(mob/user) + user.visible_message("[user] welds [user.p_their()] every orifice closed! It looks like [user.p_theyre()] trying to commit suicide!") + return (FIRELOSS) + + +/obj/item/weldingtool/attackby(obj/item/I, mob/user, params) + if(istype(I, /obj/item/screwdriver)) + flamethrower_screwdriver(I, user) + else if(istype(I, /obj/item/stack/rods)) + flamethrower_rods(I, user) + else + . = ..() + update_icon() + +/obj/item/weldingtool/proc/explode() + var/turf/T = get_turf(loc) + var/plasmaAmount = reagents.get_reagent_amount("plasma") + dyn_explosion(T, plasmaAmount/5)//20 plasma in a standard welder has a 4 power explosion. no breaches, but enough to kill/dismember holder + qdel(src) + +/obj/item/weldingtool/attack(mob/living/carbon/human/H, mob/user) + if(!istype(H)) + return ..() + + var/obj/item/bodypart/affecting = H.get_bodypart(check_zone(user.zone_selected)) + + if(affecting && affecting.status == BODYPART_ROBOTIC && user.a_intent != INTENT_HARM) + if(src.use_tool(H, user, 0, volume=50, amount=1)) + if(user == H) + user.visible_message("[user] starts to fix some of the dents on [H]'s [affecting.name].", + "You start fixing some of the dents on [H]'s [affecting.name].") + if(!do_mob(user, H, 50)) + return + item_heal_robotic(H, user, 15, 0) + else + return ..() + + +/obj/item/weldingtool/afterattack(atom/O, mob/user, proximity) + if(!proximity) + return + if(!status && O.is_refillable()) + reagents.trans_to(O, reagents.total_volume) + to_chat(user, "You empty [src]'s fuel tank into [O].") + update_icon() + if(isOn()) + use(1) + var/turf/location = get_turf(user) + location.hotspot_expose(700, 50, 1) + if(get_fuel() <= 0) + set_light(0) + + if(isliving(O)) + var/mob/living/L = O + if(L.IgniteMob()) + message_admins("[key_name_admin(user)] set [key_name_admin(L)] on fire") + log_game("[key_name(user)] set [key_name(L)] on fire") + + +/obj/item/weldingtool/attack_self(mob/user) + if(src.reagents.has_reagent("plasma")) + message_admins("[key_name_admin(user)] activated a rigged welder.") + explode() + switched_on(user) + if(welding) + set_light(light_intensity) + + update_icon() + + +// Returns the amount of fuel in the welder +/obj/item/weldingtool/proc/get_fuel() + return reagents.get_reagent_amount("welding_fuel") + + +// Uses fuel from the welding tool. +/obj/item/weldingtool/use(used = 0) + if(!isOn() || !check_fuel()) + return FALSE + + if(used) + burned_fuel_for = 0 + if(get_fuel() >= used) + reagents.remove_reagent("welding_fuel", used) + check_fuel() + return TRUE + else + return FALSE + + +//Turns off the welder if there is no more fuel (does this really need to be its own proc?) +/obj/item/weldingtool/proc/check_fuel(mob/user) + if(get_fuel() <= 0 && welding) + switched_on(user) + update_icon() + //mob icon update + if(ismob(loc)) + var/mob/M = loc + M.update_inv_hands(0) + + return 0 + return 1 + +//Switches the welder on +/obj/item/weldingtool/proc/switched_on(mob/user) + if(!status) + to_chat(user, "[src] can't be turned on while unsecured!") + return + welding = !welding + if(welding) + if(get_fuel() >= 1) + to_chat(user, "You switch [src] on.") + playsound(loc, acti_sound, 50, 1) + force = 15 + damtype = "fire" + hitsound = 'sound/items/welder.ogg' + update_icon() + START_PROCESSING(SSobj, src) + else + to_chat(user, "You need more fuel!") + switched_off(user) + else + to_chat(user, "You switch [src] off.") + playsound(loc, deac_sound, 50, 1) + switched_off(user) + +//Switches the welder off +/obj/item/weldingtool/proc/switched_off(mob/user) + welding = 0 + set_light(0) + + force = 3 + damtype = "brute" + hitsound = "swing_hit" + update_icon() + + +/obj/item/weldingtool/examine(mob/user) + ..() + to_chat(user, "It contains [get_fuel()] unit\s of fuel out of [max_fuel].") + +/obj/item/weldingtool/is_hot() + return welding * heat + +//Returns whether or not the welding tool is currently on. +/obj/item/weldingtool/proc/isOn() + return welding + +// When welding is about to start, run a normal tool_use_check, then flash a mob if it succeeds. +/obj/item/weldingtool/tool_start_check(mob/living/user, amount=0) + . = tool_use_check(user, amount) + if(. && user) + user.flash_act(light_intensity) + +// Flash the user during welding progress +/obj/item/weldingtool/tool_check_callback(mob/living/user, amount, datum/callback/extra_checks) + . = ..() + if(. && user) + if (progress_flash_divisor == 0) + user.flash_act(min(light_intensity,1)) + progress_flash_divisor = initial(progress_flash_divisor) + else + progress_flash_divisor-- + +// If welding tool ran out of fuel during a construction task, construction fails. +/obj/item/weldingtool/tool_use_check(mob/living/user, amount) + if(!isOn() || !check_fuel()) + to_chat(user, "[src] has to be on to complete this task!") + return FALSE + + if(get_fuel() >= amount) + return TRUE + else + to_chat(user, "You need more welding fuel to complete this task!") + return FALSE + + +/obj/item/weldingtool/proc/flamethrower_screwdriver(obj/item/I, mob/user) + if(welding) + to_chat(user, "Turn it off first!") + return + status = !status + if(status) + to_chat(user, "You resecure [src] and close the fuel tank.") + container_type = NONE + else + to_chat(user, "[src] can now be attached, modified, and refuelled.") + container_type = OPENCONTAINER + add_fingerprint(user) + +/obj/item/weldingtool/proc/flamethrower_rods(obj/item/I, mob/user) + if(!status) + var/obj/item/stack/rods/R = I + if (R.use(1)) + var/obj/item/flamethrower/F = new /obj/item/flamethrower(user.loc) + if(!remove_item_from_storage(F)) + user.transferItemToLoc(src, F, TRUE) + F.weldtool = src + add_fingerprint(user) + to_chat(user, "You add a rod to a welder, starting to build a flamethrower.") + user.put_in_hands(F) + else + to_chat(user, "You need one rod to start building a flamethrower!") + +/obj/item/weldingtool/ignition_effect(atom/A, mob/user) + if(use_tool(A, user, 0, amount=1)) + return "[user] casually lights [A] with [src], what a badass." + else + return "" + +/obj/item/weldingtool/largetank + name = "industrial welding tool" + desc = "A slightly larger welder with a larger tank." + icon_state = "indwelder" + max_fuel = 40 + materials = list(MAT_GLASS=60) + +/obj/item/weldingtool/largetank/cyborg + name = "integrated welding tool" + desc = "An advanced welder designed to be used in robotic systems." + toolspeed = 0.5 + +/obj/item/weldingtool/largetank/flamethrower_screwdriver() + return + + +/obj/item/weldingtool/mini + name = "emergency welding tool" + desc = "A miniature welder used during emergencies." + icon_state = "miniwelder" + max_fuel = 10 + w_class = WEIGHT_CLASS_TINY + materials = list(MAT_METAL=30, MAT_GLASS=10) + change_icons = 0 + +/obj/item/weldingtool/mini/flamethrower_screwdriver() + return + +/obj/item/weldingtool/abductor + name = "alien welding tool" + desc = "An alien welding tool. Whatever fuel it uses, it never runs out." + icon = 'icons/obj/abductor.dmi' + icon_state = "welder" + toolspeed = 0.1 + light_intensity = 0 + change_icons = 0 + +/obj/item/weldingtool/abductor/process() + if(get_fuel() <= max_fuel) + reagents.add_reagent("welding_fuel", 1) + ..() + +/obj/item/weldingtool/hugetank + name = "upgraded industrial welding tool" + desc = "An upgraded welder based of the industrial welder." + icon_state = "upindwelder" + item_state = "upindwelder" + max_fuel = 80 + materials = list(MAT_METAL=70, MAT_GLASS=120) + +/obj/item/weldingtool/experimental + name = "experimental welding tool" + desc = "An experimental welder capable of self-fuel generation and less harmful to the eyes." + icon_state = "exwelder" + item_state = "exwelder" + max_fuel = 40 + materials = list(MAT_METAL=70, MAT_GLASS=120) + var/last_gen = 0 + change_icons = 0 + can_off_process = 1 + light_intensity = 1 + toolspeed = 0.5 + var/nextrefueltick = 0 + +/obj/item/weldingtool/experimental/brass + name = "brass welding tool" + desc = "A brass welder that seems to constantly refuel itself. It is faintly warm to the touch." + resistance_flags = FIRE_PROOF | ACID_PROOF + icon_state = "brasswelder" + item_state = "brasswelder" + + +/obj/item/weldingtool/experimental/process() + ..() + if(get_fuel() < max_fuel && nextrefueltick < world.time) + nextrefueltick = world.time + 10 + reagents.add_reagent("welding_fuel", 1) + +#undef WELDER_FUEL_BURN_INTERVAL +>>>>>>> ecd0d8b... Merge pull request #37476 from AnturK/thisalwaysbuggedme diff --git a/code/game/objects/items/tools/wirecutters.dm b/code/game/objects/items/tools/wirecutters.dm index f189c26bb2..33c7be5dfd 100644 --- a/code/game/objects/items/tools/wirecutters.dm +++ b/code/game/objects/items/tools/wirecutters.dm @@ -7,7 +7,7 @@ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT force = 6 throw_speed = 3 throw_range = 7 diff --git a/code/game/objects/items/tools/wrench.dm b/code/game/objects/items/tools/wrench.dm index 6e399c0909..9a9a3684c3 100644 --- a/code/game/objects/items/tools/wrench.dm +++ b/code/game/objects/items/tools/wrench.dm @@ -6,7 +6,7 @@ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT force = 5 throwforce = 7 w_class = WEIGHT_CLASS_SMALL diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 4554441cf0..754cc40982 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -143,7 +143,7 @@ lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_NORMAL materials = list(MAT_METAL=10, MAT_GLASS=10) attack_verb = list("struck", "pistol whipped", "hit", "bashed") @@ -341,7 +341,7 @@ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT | SLOT_BACK + slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK force = 5 throwforce = 5 w_class = WEIGHT_CLASS_NORMAL @@ -1064,7 +1064,7 @@ desc = "A stylish steampunk watch made out of thousands of tiny cogwheels." icon = 'icons/obj/clockwork_objects.dmi' icon_state = "dread_ipad" - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL var/cooldown = 0 diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm index 34a40b32a8..936ca22243 100644 --- a/code/game/objects/items/twohanded.dm +++ b/code/game/objects/items/twohanded.dm @@ -41,7 +41,7 @@ else //something wrong name = "[initial(name)]" update_icon() - if(user.get_item_by_slot(slot_back) == src) + if(user.get_item_by_slot(SLOT_BACK) == src) user.update_inv_back() else user.update_inv_hands() @@ -191,7 +191,7 @@ return qdel(O) return - if(slot == slot_hands) + if(slot == SLOT_HANDS) wield(user) else unwield(user) @@ -224,7 +224,7 @@ force = 5 throwforce = 15 w_class = WEIGHT_CLASS_BULKY - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK force_unwielded = 5 force_wielded = 24 attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut") @@ -458,7 +458,7 @@ desc = "A haphazardly-constructed yet still deadly weapon of ancient design." force = 10 w_class = WEIGHT_CLASS_BULKY - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK force_unwielded = 10 force_wielded = 18 throwforce = 20 @@ -744,7 +744,7 @@ sharpness = IS_SHARP attack_verb = list("cut", "sliced", "diced") w_class = WEIGHT_CLASS_BULKY - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK hitsound = 'sound/weapons/bladeslice.ogg' /obj/item/twohanded/vibro_weapon/Initialize() @@ -791,7 +791,7 @@ desc = "A haphazardly-constructed yet still deadly weapon. The pinnacle of modern technology." force = 11 w_class = WEIGHT_CLASS_BULKY - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK force_unwielded = 11 force_wielded = 20 //I have no idea how to balance throwforce = 22 diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index bf67efa6c7..8f9b9bee4c 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -3,7 +3,7 @@ name = "banhammer" icon = 'icons/obj/items_and_weapons.dmi' icon_state = "toyhammer" - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT throwforce = 0 force = 1 w_class = WEIGHT_CLASS_TINY @@ -34,7 +34,7 @@ item_state = "sord" lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT force = 2 throwforce = 1 w_class = WEIGHT_CLASS_NORMAL @@ -55,7 +55,7 @@ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' hitsound = 'sound/weapons/bladeslice.ogg' flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT | SLOT_BACK + slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK force = 40 throwforce = 10 w_class = WEIGHT_CLASS_NORMAL @@ -206,7 +206,7 @@ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT | SLOT_BACK + slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK force = 40 throwforce = 10 w_class = WEIGHT_CLASS_HUGE diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm index cc447a19ad..85e498e9e4 100644 --- a/code/game/objects/structures/bedsheet_bin.dm +++ b/code/game/objects/structures/bedsheet_bin.dm @@ -10,7 +10,7 @@ LINEN BINS icon = 'icons/obj/bedsheets.dmi' icon_state = "sheetwhite" item_state = "bedsheet" - slot_flags = SLOT_NECK + slot_flags = ITEM_SLOT_NECK layer = MOB_LAYER throwforce = 0 throw_speed = 1 diff --git a/code/game/turfs/simulated/lava.dm b/code/game/turfs/simulated/lava.dm index f8ab060853..60b3202ffe 100644 --- a/code/game/turfs/simulated/lava.dm +++ b/code/game/turfs/simulated/lava.dm @@ -127,8 +127,8 @@ continue if(iscarbon(L)) var/mob/living/carbon/C = L - var/obj/item/clothing/S = C.get_item_by_slot(slot_wear_suit) - var/obj/item/clothing/H = C.get_item_by_slot(slot_head) + var/obj/item/clothing/S = C.get_item_by_slot(SLOT_WEAR_SUIT) + var/obj/item/clothing/H = C.get_item_by_slot(SLOT_HEAD) if(S && H && S.flags_2 & LAVA_PROTECT_2 && H.flags_2 & LAVA_PROTECT_2) return diff --git a/code/modules/admin/secrets.dm b/code/modules/admin/secrets.dm index a8e92db53a..5138089a6c 100644 --- a/code/modules/admin/secrets.dm +++ b/code/modules/admin/secrets.dm @@ -430,7 +430,7 @@ var/obj/item/clothing/under/schoolgirl/I = new seifuku var/olduniform = H.w_uniform H.temporarilyRemoveItemFromInventory(H.w_uniform, TRUE, FALSE) - H.equip_to_slot_or_del(I, slot_w_uniform) + H.equip_to_slot_or_del(I, SLOT_W_UNIFORM) qdel(olduniform) if(droptype == "Yes") I.flags_1 |= NODROP_1 diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index a9b1b10606..d5e24c22e1 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1493,8 +1493,8 @@ if(ishuman(L)) var/mob/living/carbon/human/observer = L - observer.equip_to_slot_or_del(new /obj/item/clothing/under/suit_jacket(observer), slot_w_uniform) - observer.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/black(observer), slot_shoes) + observer.equip_to_slot_or_del(new /obj/item/clothing/under/suit_jacket(observer), SLOT_W_UNIFORM) + observer.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/black(observer), SLOT_SHOES) L.Unconscious(100) sleep(5) L.forceMove(pick(GLOB.tdomeobserve)) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 9460e71ea0..c9864cab1b 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -476,7 +476,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention) id.forceMove(W) W.update_icon() else - H.equip_to_slot(id,slot_wear_id) + H.equip_to_slot(id,SLOT_WEAR_ID) else alert("Invalid mob") diff --git a/code/modules/antagonists/abductor/equipment/abduction_gear.dm b/code/modules/antagonists/abductor/equipment/abduction_gear.dm index 72049ad7d1..78538ba00c 100644 --- a/code/modules/antagonists/abductor/equipment/abduction_gear.dm +++ b/code/modules/antagonists/abductor/equipment/abduction_gear.dm @@ -53,7 +53,7 @@ A.UpdateButtonIcon() /obj/item/clothing/suit/armor/abductor/vest/item_action_slot_check(slot, mob/user) - if(slot == slot_wear_suit) //we only give the mob the ability to activate the vest if he's actually wearing it. + if(slot == SLOT_WEAR_SUIT) //we only give the mob the ability to activate the vest if he's actually wearing it. return 1 /obj/item/clothing/suit/armor/abductor/vest/proc/SetDisguise(datum/icon_snapshot/entry) @@ -338,7 +338,7 @@ if(QDELETED(G)) return - if(istype(C.get_item_by_slot(slot_head), /obj/item/clothing/head/foilhat)) + if(istype(C.get_item_by_slot(SLOT_HEAD), /obj/item/clothing/head/foilhat)) to_chat(user, "Your target seems to have some sort of protective headgear on, blocking the message from being sent!") return @@ -425,7 +425,7 @@ Congratulations! You are now trained for invasive xenobiology research!"} item_state = "wonderprod" lefthand_file = 'icons/mob/inhands/antag/abductor_lefthand.dmi' righthand_file = 'icons/mob/inhands/antag/abductor_righthand.dmi' - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT force = 7 w_class = WEIGHT_CLASS_NORMAL actions_types = list(/datum/action/item_action/toggle_mode) @@ -515,7 +515,7 @@ Congratulations! You are now trained for invasive xenobiology research!"} /obj/item/abductor_baton/proc/SleepAttack(mob/living/L,mob/living/user) if(L.incapacitated(TRUE, TRUE)) - if(istype(L.get_item_by_slot(slot_head), /obj/item/clothing/head/foilhat)) + if(istype(L.get_item_by_slot(SLOT_HEAD), /obj/item/clothing/head/foilhat)) to_chat(user, "The specimen's protective headgear is interfering with the sleep inducement!") L.visible_message("[user] tried to induced sleep in [L] with [src], but their headgear protected them!", \ "You feel a strange wave of heavy drowsiness wash over you, but your headgear deflects most of it!") @@ -527,7 +527,7 @@ Congratulations! You are now trained for invasive xenobiology research!"} L.Sleeping(1200) add_logs(user, L, "put to sleep") else - if(istype(L.get_item_by_slot(slot_head), /obj/item/clothing/head/foilhat)) + if(istype(L.get_item_by_slot(SLOT_HEAD), /obj/item/clothing/head/foilhat)) to_chat(user, "The specimen's protective headgear is completely blocking our sleep inducement methods!") L.visible_message("[user] tried to induce sleep in [L] with [src], but their headgear completely protected them!", \ "Any sense of drowsiness is quickly diminished as your headgear deflects the effects!") diff --git a/code/modules/antagonists/abductor/machinery/console.dm b/code/modules/antagonists/abductor/machinery/console.dm index 1b11094d43..d35582f730 100644 --- a/code/modules/antagonists/abductor/machinery/console.dm +++ b/code/modules/antagonists/abductor/machinery/console.dm @@ -167,7 +167,7 @@ c.console = src /obj/machinery/abductor/console/proc/AddSnapshot(mob/living/carbon/human/target) - if(istype(target.get_item_by_slot(slot_head), /obj/item/clothing/head/foilhat)) + if(istype(target.get_item_by_slot(SLOT_HEAD), /obj/item/clothing/head/foilhat)) say("Subject wearing specialized protective headgear, unable to get a proper scan!") return var/datum/icon_snapshot/entry = new diff --git a/code/modules/antagonists/changeling/powers/biodegrade.dm b/code/modules/antagonists/changeling/powers/biodegrade.dm index dbb0e3a88a..1e8eaed383 100644 --- a/code/modules/antagonists/changeling/powers/biodegrade.dm +++ b/code/modules/antagonists/changeling/powers/biodegrade.dm @@ -13,7 +13,7 @@ return 0 if(user.handcuffed) - var/obj/O = user.get_item_by_slot(slot_handcuffed) + var/obj/O = user.get_item_by_slot(SLOT_HANDCUFFED) if(!istype(O)) return 0 user.visible_message("[user] vomits a glob of acid on [user.p_their()] [O]!", \ @@ -23,7 +23,7 @@ used = TRUE if(user.wear_suit && user.wear_suit.breakouttime && !used) - var/obj/item/clothing/suit/S = user.get_item_by_slot(slot_wear_suit) + var/obj/item/clothing/suit/S = user.get_item_by_slot(SLOT_WEAR_SUIT) if(!istype(S)) return 0 user.visible_message("[user] vomits a glob of acid across the front of [user.p_their()] [S]!", \ diff --git a/code/modules/antagonists/changeling/powers/mutations.dm b/code/modules/antagonists/changeling/powers/mutations.dm index e3fb55fa42..89d3c54161 100644 --- a/code/modules/antagonists/changeling/powers/mutations.dm +++ b/code/modules/antagonists/changeling/powers/mutations.dm @@ -119,8 +119,8 @@ user.dropItemToGround(user.head) user.dropItemToGround(user.wear_suit) - user.equip_to_slot_if_possible(new suit_type(user), slot_wear_suit, 1, 1, 1) - user.equip_to_slot_if_possible(new helmet_type(user), slot_head, 1, 1, 1) + user.equip_to_slot_if_possible(new suit_type(user), SLOT_WEAR_SUIT, 1, 1, 1) + user.equip_to_slot_if_possible(new helmet_type(user), SLOT_HEAD, 1, 1, 1) var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) changeling.chem_recharge_slowdown += recharge_slowdown diff --git a/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm b/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm index 8b018fa6d3..6e7d081589 100644 --- a/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm +++ b/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm @@ -37,7 +37,7 @@ /obj/item/clothing/head/helmet/clockwork/equipped(mob/living/user, slot) ..() - if(slot == slot_head && !is_servant_of_ratvar(user)) + if(slot == SLOT_HEAD && !is_servant_of_ratvar(user)) if(!iscultist(user)) to_chat(user, "\"Now now, this is for my servants, not you.\"") user.visible_message("As [user] puts [src] on, it flickers off their head!", "The helmet flickers off your head, leaving only nausea!") @@ -103,7 +103,7 @@ /obj/item/clothing/suit/armor/clockwork/equipped(mob/living/user, slot) ..() - if(slot == slot_wear_suit && !is_servant_of_ratvar(user)) + if(slot == SLOT_WEAR_SUIT && !is_servant_of_ratvar(user)) if(!iscultist(user)) to_chat(user, "\"Now now, this is for my servants, not you.\"") user.visible_message("As [user] puts [src] on, it flickers off their body!", "The curiass flickers off your body, leaving only nausea!") @@ -164,7 +164,7 @@ /obj/item/clothing/gloves/clockwork/equipped(mob/living/user, slot) ..() - if(slot == slot_gloves && !is_servant_of_ratvar(user)) + if(slot == SLOT_GLOVES && !is_servant_of_ratvar(user)) if(!iscultist(user)) to_chat(user, "\"Now now, this is for my servants, not you.\"") user.visible_message("As [user] puts [src] on, it flickers off their arms!", "The gauntlets flicker off your arms, leaving only nausea!") @@ -214,7 +214,7 @@ /obj/item/clothing/shoes/clockwork/equipped(mob/living/user, slot) ..() - if(slot == slot_shoes && !is_servant_of_ratvar(user)) + if(slot == SLOT_SHOES && !is_servant_of_ratvar(user)) if(!iscultist(user)) to_chat(user, "\"Now now, this is for my servants, not you.\"") user.visible_message("As [user] puts [src] on, it flickers off their feet!", "The treads flicker off your feet, leaving only nausea!") diff --git a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm index 5f5bc1b58a..c464656150 100644 --- a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm +++ b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm @@ -9,7 +9,7 @@ righthand_file = 'icons/mob/inhands/antag/clockwork_righthand.dmi' var/inhand_overlay //If applicable, this overlay will be applied to the slab's inhand - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL var/busy //If the slab is currently being used by something diff --git a/code/modules/antagonists/clockcult/clock_items/construct_chassis.dm b/code/modules/antagonists/clockcult/clock_items/construct_chassis.dm index ca5fe74f2e..3f3bb58598 100644 --- a/code/modules/antagonists/clockcult/clock_items/construct_chassis.dm +++ b/code/modules/antagonists/clockcult/clock_items/construct_chassis.dm @@ -115,4 +115,4 @@ S.no_cost = TRUE if(seasonal_hat && seasonal_hat != "none") var/obj/item/hat = new seasonal_hat(construct) - construct.equip_to_slot_or_del(hat, slot_head) + construct.equip_to_slot_or_del(hat, SLOT_HEAD) diff --git a/code/modules/antagonists/clockcult/clock_items/judicial_visor.dm b/code/modules/antagonists/clockcult/clock_items/judicial_visor.dm index a16a52d7aa..cb69d395b4 100644 --- a/code/modules/antagonists/clockcult/clock_items/judicial_visor.dm +++ b/code/modules/antagonists/clockcult/clock_items/judicial_visor.dm @@ -28,13 +28,13 @@ return ..() /obj/item/clothing/glasses/judicial_visor/item_action_slot_check(slot, mob/user) - if(slot != slot_glasses) + if(slot != SLOT_GLASSES) return 0 return ..() /obj/item/clothing/glasses/judicial_visor/equipped(mob/living/user, slot) ..() - if(slot != slot_glasses) + if(slot != SLOT_GLASSES) update_status(FALSE) if(blaster.ranged_ability_user) blaster.remove_ranged_ability() @@ -55,13 +55,13 @@ addtimer(CALLBACK(src, .proc/check_on_mob, user), 1) //dropped is called before the item is out of the slot, so we need to check slightly later /obj/item/clothing/glasses/judicial_visor/proc/check_on_mob(mob/user) - if(user && src != user.get_item_by_slot(slot_glasses)) //if we happen to check and we AREN'T in the slot, we need to remove our shit from whoever we got dropped from + if(user && src != user.get_item_by_slot(SLOT_GLASSES)) //if we happen to check and we AREN'T in the slot, we need to remove our shit from whoever we got dropped from update_status(FALSE) if(blaster.ranged_ability_user) blaster.remove_ranged_ability() /obj/item/clothing/glasses/judicial_visor/attack_self(mob/user) - if(is_servant_of_ratvar(user) && src == user.get_item_by_slot(slot_glasses)) + if(is_servant_of_ratvar(user) && src == user.get_item_by_slot(SLOT_GLASSES)) blaster.toggle(user) /obj/item/clothing/glasses/judicial_visor/proc/update_status(change_to) @@ -89,7 +89,7 @@ if(!src) return 0 recharging = FALSE - if(user && src == user.get_item_by_slot(slot_glasses)) + if(user && src == user.get_item_by_slot(SLOT_GLASSES)) to_chat(user, "Your [name] hums. It is ready.") else active = FALSE @@ -115,7 +115,7 @@ /obj/effect/proc_holder/judicial_visor/InterceptClickOn(mob/living/caller, params, atom/target) if(..()) return - if(ranged_ability_user.incapacitated() || !visor || visor != ranged_ability_user.get_item_by_slot(slot_glasses)) + if(ranged_ability_user.incapacitated() || !visor || visor != ranged_ability_user.get_item_by_slot(SLOT_GLASSES)) remove_ranged_ability() return diff --git a/code/modules/antagonists/clockcult/clock_items/wraith_spectacles.dm b/code/modules/antagonists/clockcult/clock_items/wraith_spectacles.dm index c1bf94842d..dab12dc304 100644 --- a/code/modules/antagonists/clockcult/clock_items/wraith_spectacles.dm +++ b/code/modules/antagonists/clockcult/clock_items/wraith_spectacles.dm @@ -74,7 +74,7 @@ /obj/item/clothing/glasses/wraith_spectacles/equipped(mob/living/user, slot) ..() - if(slot != slot_glasses || up) + if(slot != SLOT_GLASSES || up) return if(user.has_trait(TRAIT_BLIND)) to_chat(user, "\"You're blind, idiot. Stop embarrassing yourself.\"" ) diff --git a/code/modules/antagonists/clockcult/clock_scriptures/scripture_scripts.dm b/code/modules/antagonists/clockcult/clock_scriptures/scripture_scripts.dm index 9a78c64942..4e1a5b42cb 100644 --- a/code/modules/antagonists/clockcult/clock_scriptures/scripture_scripts.dm +++ b/code/modules/antagonists/clockcult/clock_scriptures/scripture_scripts.dm @@ -160,18 +160,18 @@ /datum/action/innate/clockwork_armaments/Activate() var/do_message = 0 - var/obj/item/I = owner.get_item_by_slot(slot_wear_suit) + var/obj/item/I = owner.get_item_by_slot(SLOT_WEAR_SUIT) if(remove_item_if_better(I, owner)) - do_message += owner.equip_to_slot_or_del(new/obj/item/clothing/suit/armor/clockwork(null), slot_wear_suit) - I = owner.get_item_by_slot(slot_head) + do_message += owner.equip_to_slot_or_del(new/obj/item/clothing/suit/armor/clockwork(null), SLOT_WEAR_SUIT) + I = owner.get_item_by_slot(SLOT_HEAD) if(remove_item_if_better(I, owner)) - do_message += owner.equip_to_slot_or_del(new/obj/item/clothing/head/helmet/clockwork(null), slot_head) - I = owner.get_item_by_slot(slot_gloves) + do_message += owner.equip_to_slot_or_del(new/obj/item/clothing/head/helmet/clockwork(null), SLOT_HEAD) + I = owner.get_item_by_slot(SLOT_GLOVES) if(remove_item_if_better(I, owner)) - do_message += owner.equip_to_slot_or_del(new/obj/item/clothing/gloves/clockwork(null), slot_gloves) - I = owner.get_item_by_slot(slot_shoes) + do_message += owner.equip_to_slot_or_del(new/obj/item/clothing/gloves/clockwork(null), SLOT_GLOVES) + I = owner.get_item_by_slot(SLOT_SHOES) if(remove_item_if_better(I, owner)) - do_message += owner.equip_to_slot_or_del(new/obj/item/clothing/shoes/clockwork(null), slot_shoes) + do_message += owner.equip_to_slot_or_del(new/obj/item/clothing/shoes/clockwork(null), SLOT_SHOES) if(do_message) owner.visible_message("Strange armor appears on [owner]!", "A bright shimmer runs down your body, equipping you with Ratvarian armor.") playsound(owner, 'sound/magic/clockwork/fellowship_armory.ogg', 15 * do_message, TRUE) //get sound loudness based on how much we equipped diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm index bb2ce1db2a..8a71af3b7d 100644 --- a/code/modules/antagonists/cult/blood_magic.dm +++ b/code/modules/antagonists/cult/blood_magic.dm @@ -605,11 +605,11 @@ uses-- var/mob/living/carbon/C = target C.visible_message("Otherworldly armor suddenly appears on [C]!") - C.equip_to_slot_or_del(new /obj/item/clothing/under/color/black,slot_w_uniform) - C.equip_to_slot_or_del(new /obj/item/clothing/head/culthood/alt(user), slot_head) - C.equip_to_slot_or_del(new /obj/item/clothing/suit/cultrobes/alt(user), slot_wear_suit) - C.equip_to_slot_or_del(new /obj/item/clothing/shoes/cult/alt(user), slot_shoes) - C.equip_to_slot_or_del(new /obj/item/storage/backpack/cultpack(user), slot_back) + C.equip_to_slot_or_del(new /obj/item/clothing/under/color/black,SLOT_W_UNIFORM) + C.equip_to_slot_or_del(new /obj/item/clothing/head/culthood/alt(user), SLOT_HEAD) + C.equip_to_slot_or_del(new /obj/item/clothing/suit/cultrobes/alt(user), SLOT_WEAR_SUIT) + C.equip_to_slot_or_del(new /obj/item/clothing/shoes/cult/alt(user), SLOT_SHOES) + C.equip_to_slot_or_del(new /obj/item/storage/backpack/cultpack(user), SLOT_BACK) if(C == user) qdel(src) //Clears the hands C.put_in_hands(new /obj/item/melee/cultblade(user)) diff --git a/code/modules/antagonists/cult/cult.dm b/code/modules/antagonists/cult/cult.dm index b7f0b002ec..2574c8af63 100644 --- a/code/modules/antagonists/cult/cult.dm +++ b/code/modules/antagonists/cult/cult.dm @@ -81,9 +81,9 @@ /datum/antagonist/cult/proc/cult_give_item(obj/item/item_path, mob/living/carbon/human/mob) var/list/slots = list( - "backpack" = slot_in_backpack, - "left pocket" = slot_l_store, - "right pocket" = slot_r_store + "backpack" = SLOT_IN_BACKPACK, + "left pocket" = SLOT_L_STORE, + "right pocket" = SLOT_R_STORE ) var/T = new item_path(mob) diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm index 763d9adaa8..b2f62d55c8 100644 --- a/code/modules/antagonists/cult/runes.dm +++ b/code/modules/antagonists/cult/runes.dm @@ -1056,7 +1056,7 @@ structure_check() searches for nearby cultist structures required for the invoca /proc/hudFix(mob/living/carbon/human/target) if(!target || !target.client) return - var/obj/O = target.get_item_by_slot(slot_glasses) + var/obj/O = target.get_item_by_slot(SLOT_GLASSES) if(istype(O, /obj/item/clothing/glasses/hud/security)) var/datum/atom_hud/AH = GLOB.huds[DATA_HUD_SECURITY_ADVANCED] AH.add_hud_to(target) diff --git a/code/modules/antagonists/devil/devil.dm b/code/modules/antagonists/devil/devil.dm index 55a33820f0..3852eb6de1 100644 --- a/code/modules/antagonists/devil/devil.dm +++ b/code/modules/antagonists/devil/devil.dm @@ -456,10 +456,10 @@ GLOBAL_LIST_INIT(devil_suffix, list(" the Red", " the Soulless", " the Master", return -1 currentMob.change_mob_type( /mob/living/carbon/human, targetturf, null, 1) var/mob/living/carbon/human/H = owner.current - H.equip_to_slot_or_del(new /obj/item/clothing/under/lawyer/black(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/storage/briefcase(H), slot_hands) - H.equip_to_slot_or_del(new /obj/item/pen(H), slot_l_store) + H.equip_to_slot_or_del(new /obj/item/clothing/under/lawyer/black(H), SLOT_W_UNIFORM) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(H), SLOT_SHOES) + H.equip_to_slot_or_del(new /obj/item/storage/briefcase(H), SLOT_HANDS) + H.equip_to_slot_or_del(new /obj/item/pen(H), SLOT_L_STORE) if(SOULVALUE >= BLOOD_THRESHOLD) H.set_species(/datum/species/lizard, 1) H.underwear = "Nude" diff --git a/code/modules/antagonists/highlander/highlander.dm b/code/modules/antagonists/highlander/highlander.dm index 012527ff7b..a2b87c576e 100644 --- a/code/modules/antagonists/highlander/highlander.dm +++ b/code/modules/antagonists/highlander/highlander.dm @@ -46,11 +46,19 @@ qdel(I) for(var/obj/item/I in H.held_items) qdel(I) +<<<<<<< HEAD H.equip_to_slot_or_del(new /obj/item/clothing/under/kilt/highlander(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(H), slot_ears) H.equip_to_slot_or_del(new /obj/item/clothing/head/beret/highlander(H), slot_head) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/pinpointer/nuke(H), slot_l_store) +======= + H.equip_to_slot_or_del(new /obj/item/clothing/under/kilt/highlander(H), SLOT_W_UNIFORM) + H.equip_to_slot_or_del(new /obj/item/radio/headset/heads/captain(H), SLOT_EARS) + H.equip_to_slot_or_del(new /obj/item/clothing/head/beret/highlander(H), SLOT_HEAD) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat(H), SLOT_SHOES) + H.equip_to_slot_or_del(new /obj/item/pinpointer/nuke(H), SLOT_L_STORE) +>>>>>>> ecd0d8b... Merge pull request #37476 from AnturK/thisalwaysbuggedme for(var/obj/item/pinpointer/nuke/P in H) P.attack_self(H) var/obj/item/card/id/W = new(H) @@ -61,7 +69,7 @@ W.registered_name = H.real_name W.flags_1 |= NODROP_1 W.update_label(H.real_name) - H.equip_to_slot_or_del(W, slot_wear_id) + H.equip_to_slot_or_del(W, SLOT_WEAR_ID) sword = new(H) if(!GLOB.highlander) diff --git a/code/modules/antagonists/revolution/revolution.dm b/code/modules/antagonists/revolution/revolution.dm index dae760933e..a26639d8ab 100644 --- a/code/modules/antagonists/revolution/revolution.dm +++ b/code/modules/antagonists/revolution/revolution.dm @@ -234,9 +234,9 @@ if(give_flash) var/obj/item/device/assembly/flash/T = new(H) var/list/slots = list ( - "backpack" = slot_in_backpack, - "left pocket" = slot_l_store, - "right pocket" = slot_r_store + "backpack" = SLOT_IN_BACKPACK, + "left pocket" = SLOT_L_STORE, + "right pocket" = SLOT_R_STORE ) var/where = H.equip_in_one_of_slots(T, slots) if (!where) diff --git a/code/modules/antagonists/traitor/datum_traitor.dm b/code/modules/antagonists/traitor/datum_traitor.dm index e09b92a083..f3ea4ef2ea 100644 --- a/code/modules/antagonists/traitor/datum_traitor.dm +++ b/code/modules/antagonists/traitor/datum_traitor.dm @@ -296,9 +296,9 @@ folder = new/obj/item/folder/syndicate/blue(mob.loc) var/list/slots = list ( - "backpack" = slot_in_backpack, - "left pocket" = slot_l_store, - "right pocket" = slot_r_store + "backpack" = SLOT_IN_BACKPACK, + "left pocket" = SLOT_L_STORE, + "right pocket" = SLOT_R_STORE ) var/where = "At your feet" diff --git a/code/modules/antagonists/wizard/equipment/artefact.dm b/code/modules/antagonists/wizard/equipment/artefact.dm index a2b885f777..c194719e8e 100644 --- a/code/modules/antagonists/wizard/equipment/artefact.dm +++ b/code/modules/antagonists/wizard/equipment/artefact.dm @@ -204,12 +204,12 @@ H.dropItemToGround(I) var/hat = pick(/obj/item/clothing/head/helmet/roman, /obj/item/clothing/head/helmet/roman/legionaire) - H.equip_to_slot_or_del(new hat(H), slot_head) - H.equip_to_slot_or_del(new /obj/item/clothing/under/roman(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/roman(H), slot_shoes) + H.equip_to_slot_or_del(new hat(H), SLOT_HEAD) + H.equip_to_slot_or_del(new /obj/item/clothing/under/roman(H), SLOT_W_UNIFORM) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/roman(H), SLOT_SHOES) H.put_in_hands(new /obj/item/shield/riot/roman(H), TRUE) H.put_in_hands(new /obj/item/claymore(H), TRUE) - H.equip_to_slot_or_del(new /obj/item/twohanded/spear(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/twohanded/spear(H), SLOT_BACK) /obj/item/voodoo diff --git a/code/modules/antagonists/wizard/equipment/soulstone.dm b/code/modules/antagonists/wizard/equipment/soulstone.dm index bea6d41685..6a8de000da 100644 --- a/code/modules/antagonists/wizard/equipment/soulstone.dm +++ b/code/modules/antagonists/wizard/equipment/soulstone.dm @@ -8,7 +8,7 @@ layer = HIGH_OBJ_LAYER desc = "A fragment of the legendary treasure known simply as the 'Soul Stone'. The shard still flickers with a fraction of the full artefact's power." w_class = WEIGHT_CLASS_TINY - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT var/usability = 0 var/old_shard = FALSE diff --git a/code/modules/antagonists/wizard/wizard.dm b/code/modules/antagonists/wizard/wizard.dm index 146d79d413..819e51a77a 100644 --- a/code/modules/antagonists/wizard/wizard.dm +++ b/code/modules/antagonists/wizard/wizard.dm @@ -238,17 +238,17 @@ if(!istype(master_mob) || !istype(H)) return if(master_mob.ears) - H.equip_to_slot_or_del(new master_mob.ears.type, slot_ears) + H.equip_to_slot_or_del(new master_mob.ears.type, SLOT_EARS) if(master_mob.w_uniform) - H.equip_to_slot_or_del(new master_mob.w_uniform.type, slot_w_uniform) + H.equip_to_slot_or_del(new master_mob.w_uniform.type, SLOT_W_UNIFORM) if(master_mob.shoes) - H.equip_to_slot_or_del(new master_mob.shoes.type, slot_shoes) + H.equip_to_slot_or_del(new master_mob.shoes.type, SLOT_SHOES) if(master_mob.wear_suit) - H.equip_to_slot_or_del(new master_mob.wear_suit.type, slot_wear_suit) + H.equip_to_slot_or_del(new master_mob.wear_suit.type, SLOT_WEAR_SUIT) if(master_mob.head) - H.equip_to_slot_or_del(new master_mob.head.type, slot_head) + H.equip_to_slot_or_del(new master_mob.head.type, SLOT_HEAD) if(master_mob.back) - H.equip_to_slot_or_del(new master_mob.back.type, slot_back) + H.equip_to_slot_or_del(new master_mob.back.type, SLOT_BACK) //Operation: Fuck off and scare people owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/area_teleport/teleport(null)) diff --git a/code/modules/assembly/flash.dm b/code/modules/assembly/flash.dm index 2b0e3af514..fb225d3999 100644 --- a/code/modules/assembly/flash.dm +++ b/code/modules/assembly/flash.dm @@ -241,7 +241,7 @@ item_state = "flashshield" lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi' - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK force = 10 throwforce = 5 throw_speed = 2 diff --git a/code/modules/awaymissions/capture_the_flag.dm b/code/modules/awaymissions/capture_the_flag.dm index c864469783..6653941d29 100644 --- a/code/modules/awaymissions/capture_the_flag.dm +++ b/code/modules/awaymissions/capture_the_flag.dm @@ -496,10 +496,10 @@ W.update_label(W.registered_name, W.assignment) // The shielded hardsuit is already NODROP_1 - no_drops += H.get_item_by_slot(slot_gloves) - no_drops += H.get_item_by_slot(slot_shoes) - no_drops += H.get_item_by_slot(slot_w_uniform) - no_drops += H.get_item_by_slot(slot_ears) + no_drops += H.get_item_by_slot(SLOT_GLOVES) + no_drops += H.get_item_by_slot(SLOT_SHOES) + no_drops += H.get_item_by_slot(SLOT_W_UNIFORM) + no_drops += H.get_item_by_slot(SLOT_EARS) for(var/i in no_drops) var/obj/item/I = i I.flags_1 |= NODROP_1 diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index 03bb1eeb13..61285bfeca 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -63,8 +63,8 @@ // it's NODROP_1 D.dropItemToGround(target, TRUE) qdel(old_headgear) - // where is `slot_head` defined? WHO KNOWS - D.equip_to_slot(new_headgear, slot_head) + // where is `SLOT_HEAD` defined? WHO KNOWS + D.equip_to_slot(new_headgear, SLOT_HEAD) return 1 diff --git a/code/modules/clothing/ears/_ears.dm b/code/modules/clothing/ears/_ears.dm index 0ff1bdefe3..cdd25cf436 100644 --- a/code/modules/clothing/ears/_ears.dm +++ b/code/modules/clothing/ears/_ears.dm @@ -1,3 +1,4 @@ +<<<<<<< HEAD //Ears: currently only used for headsets and earmuffs /obj/item/clothing/ears @@ -44,3 +45,51 @@ H.update_inv_neck() H.update_inv_head() to_chat(owner, "You turn the music [headphones_on? "on. Untz Untz Untz!" : "off."]") +======= + +//Ears: currently only used for headsets and earmuffs +/obj/item/clothing/ears + name = "ears" + w_class = WEIGHT_CLASS_TINY + throwforce = 0 + slot_flags = ITEM_SLOT_EARS + resistance_flags = NONE + +/obj/item/clothing/ears/earmuffs + name = "earmuffs" + desc = "Protects your hearing from loud noises, and quiet ones as well." + icon_state = "earmuffs" + item_state = "earmuffs" + strip_delay = 15 + equip_delay_other = 25 + resistance_flags = FLAMMABLE + flags_2 = BANG_PROTECT_2|HEALS_EARS_2 + +/obj/item/clothing/ears/headphones + name = "headphones" + desc = "Unce unce unce unce. Boop!" + icon = 'icons/obj/clothing/accessories.dmi' + icon_state = "headphones" + item_state = "headphones" + slot_flags = ITEM_SLOT_EARS | ITEM_SLOT_HEAD | ITEM_SLOT_NECK //Fluff item, put it whereever you want! + actions_types = list(/datum/action/item_action/toggle_headphones) + var/headphones_on = FALSE + +/obj/item/clothing/ears/headphones/Initialize() + . = ..() + update_icon() + +/obj/item/clothing/ears/headphones/update_icon() + icon_state = "[initial(icon_state)]_[headphones_on? "on" : "off"]" + item_state = "[initial(item_state)]_[headphones_on? "on" : "off"]" + +/obj/item/clothing/ears/headphones/proc/toggle(owner) + headphones_on = !headphones_on + update_icon() + var/mob/living/carbon/human/H = owner + if(istype(H)) + H.update_inv_ears() + H.update_inv_neck() + H.update_inv_head() + to_chat(owner, "You turn the music [headphones_on? "on. Untz Untz Untz!" : "off."]") +>>>>>>> ecd0d8b... Merge pull request #37476 from AnturK/thisalwaysbuggedme diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm index eaeedee36c..f9be63420f 100644 --- a/code/modules/clothing/glasses/_glasses.dm +++ b/code/modules/clothing/glasses/_glasses.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/clothing/glasses.dmi' w_class = WEIGHT_CLASS_SMALL flags_cover = GLASSESCOVERSEYES - slot_flags = SLOT_EYES + slot_flags = ITEM_SLOT_EYES strip_delay = 20 equip_delay_other = 25 resistance_flags = NONE @@ -100,7 +100,7 @@ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100) /obj/item/clothing/glasses/science/item_action_slot_check(slot) - if(slot == slot_glasses) + if(slot == SLOT_GLASSES) return 1 /obj/item/clothing/glasses/night @@ -263,7 +263,7 @@ /obj/item/clothing/glasses/sunglasses/blindfold/equipped(mob/living/carbon/human/user, slot) . = ..() - if(slot == slot_glasses) + if(slot == SLOT_GLASSES) user.become_blind("blindfold_[REF(src)]") /obj/item/clothing/glasses/sunglasses/blindfold/dropped(mob/living/carbon/human/user) diff --git a/code/modules/clothing/glasses/engine_goggles.dm b/code/modules/clothing/glasses/engine_goggles.dm index 439197f285..5e5e7a9c55 100644 --- a/code/modules/clothing/glasses/engine_goggles.dm +++ b/code/modules/clothing/glasses/engine_goggles.dm @@ -123,7 +123,7 @@ item_state = icon_state if(isliving(loc)) var/mob/living/user = loc - if(user.get_item_by_slot(slot_glasses) == src) + if(user.get_item_by_slot(SLOT_GLASSES) == src) user.update_inv_glasses() else user.update_inv_hands() diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm index 626bf4f542..6364826942 100644 --- a/code/modules/clothing/glasses/hud.dm +++ b/code/modules/clothing/glasses/hud.dm @@ -6,7 +6,7 @@ /obj/item/clothing/glasses/hud/equipped(mob/living/carbon/human/user, slot) ..() - if(hud_type && slot == slot_glasses) + if(hud_type && slot == SLOT_GLASSES) var/datum/atom_hud/H = GLOB.huds[hud_type] H.add_hud_to(user) diff --git a/code/modules/clothing/gloves/_gloves.dm b/code/modules/clothing/gloves/_gloves.dm index ca534f5a58..0e9be23aed 100644 --- a/code/modules/clothing/gloves/_gloves.dm +++ b/code/modules/clothing/gloves/_gloves.dm @@ -5,7 +5,7 @@ icon = 'icons/obj/clothing/gloves.dmi' siemens_coefficient = 0.5 body_parts_covered = HANDS - slot_flags = SLOT_GLOVES + slot_flags = ITEM_SLOT_GLOVES attack_verb = list("challenged") var/transfer_prints = FALSE strip_delay = 20 diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index 09f5993cb4..1b20501f21 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -209,7 +209,7 @@ var/obj/item/clothing/gloves/color/selected = pick(gloves) if(ishuman(loc)) var/mob/living/carbon/human/H = loc - H.equip_to_slot_or_del(new selected(H), slot_gloves) + H.equip_to_slot_or_del(new selected(H), SLOT_GLOVES) else new selected(loc) return INITIALIZE_HINT_QDEL diff --git a/code/modules/clothing/head/_head.dm b/code/modules/clothing/head/_head.dm index d3dfa189d8..6a3082b558 100644 --- a/code/modules/clothing/head/_head.dm +++ b/code/modules/clothing/head/_head.dm @@ -4,7 +4,7 @@ icon_state = "top_hat" item_state = "that" body_parts_covered = HEAD - slot_flags = SLOT_HEAD + slot_flags = ITEM_SLOT_HEAD var/blockTracking = 0 //For AI tracking var/can_toggle = null dynamic_hair_suffix = "+generic" diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index b58c9fc414..86763e060b 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -131,7 +131,7 @@ dog_fashion = /datum/dog_fashion/head/kitty /obj/item/clothing/head/kitty/equipped(mob/living/carbon/human/user, slot) - if(ishuman(user) && slot == slot_head) + if(ishuman(user) && slot == SLOT_HEAD) update_icon(user) user.update_inv_head() //Color might have been changed by update_icon. ..() @@ -169,7 +169,7 @@ /obj/item/clothing/head/cardborg/equipped(mob/living/user, slot) ..() - if(ishuman(user) && slot == slot_head) + if(ishuman(user) && slot == SLOT_HEAD) var/mob/living/carbon/human/H = user if(istype(H.wear_suit, /obj/item/clothing/suit/cardborg)) var/obj/item/clothing/suit/cardborg/CB = H.wear_suit @@ -240,7 +240,7 @@ /obj/item/clothing/head/foilhat/equipped(mob/living/carbon/human/user, slot) ..() - if(slot == slot_head) + if(slot == SLOT_HEAD) if(paranoia) QDEL_NULL(paranoia) paranoia = new() diff --git a/code/modules/clothing/masks/_masks.dm b/code/modules/clothing/masks/_masks.dm index 562375e897..b738b82589 100644 --- a/code/modules/clothing/masks/_masks.dm +++ b/code/modules/clothing/masks/_masks.dm @@ -2,7 +2,7 @@ name = "mask" icon = 'icons/obj/clothing/masks.dmi' body_parts_covered = HEAD - slot_flags = SLOT_MASK + slot_flags = ITEM_SLOT_MASK strip_delay = 40 equip_delay_other = 40 var/mask_adjusted = 0 diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm index 53bd5f32a4..285639d64a 100644 --- a/code/modules/clothing/masks/miscellaneous.dm +++ b/code/modules/clothing/masks/miscellaneous.dm @@ -222,8 +222,8 @@ obj/item/clothing/mask/frog/cursed flags_inv = HIDEFACE|HIDEFACIALHAIR visor_flags_inv = HIDEFACE|HIDEFACIALHAIR visor_flags_cover = MASKCOVERSMOUTH - slot_flags = SLOT_MASK - adjusted_flags = SLOT_HEAD + slot_flags = ITEM_SLOT_MASK + adjusted_flags = ITEM_SLOT_HEAD icon_state = "bandbotany" /obj/item/clothing/mask/bandana/attack_self(mob/user) diff --git a/code/modules/clothing/neck/_neck.dm b/code/modules/clothing/neck/_neck.dm index 1d92ab6e62..cb797c34d4 100644 --- a/code/modules/clothing/neck/_neck.dm +++ b/code/modules/clothing/neck/_neck.dm @@ -2,7 +2,7 @@ name = "necklace" icon = 'icons/obj/clothing/neck.dmi' body_parts_covered = NECK - slot_flags = SLOT_NECK + slot_flags = ITEM_SLOT_NECK strip_delay = 40 equip_delay_other = 40 diff --git a/code/modules/clothing/shoes/_shoes.dm b/code/modules/clothing/shoes/_shoes.dm index 0758013698..e3c32cd26c 100644 --- a/code/modules/clothing/shoes/_shoes.dm +++ b/code/modules/clothing/shoes/_shoes.dm @@ -6,7 +6,7 @@ var/chained = 0 body_parts_covered = FEET - slot_flags = SLOT_FEET + slot_flags = ITEM_SLOT_FEET permeability_coefficient = 0.5 slowdown = SHOES_SLOWDOWN diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index 3dad0d464e..539ee7b23d 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -264,7 +264,7 @@ /obj/item/clothing/shoes/wheelys/ui_action_click(mob/user, action) if(!isliving(user)) return - if(!istype(user.get_item_by_slot(slot_shoes), /obj/item/clothing/shoes/wheelys)) + if(!istype(user.get_item_by_slot(SLOT_SHOES), /obj/item/clothing/shoes/wheelys)) to_chat(user, "You must be wearing the wheely-heels to use them!") return if(!(W.is_occupant(user))) diff --git a/code/modules/clothing/spacesuits/chronosuit.dm b/code/modules/clothing/spacesuits/chronosuit.dm index 94553b3964..3040af756e 100644 --- a/code/modules/clothing/spacesuits/chronosuit.dm +++ b/code/modules/clothing/spacesuits/chronosuit.dm @@ -115,7 +115,7 @@ teleport_now.UpdateButtonIcon() - var/list/nonsafe_slots = list(slot_belt, slot_back) + var/list/nonsafe_slots = list(SLOT_BELT, SLOT_BACK) var/list/exposed = list() for(var/slot in nonsafe_slots) var/obj/item/slot_item = user.get_item_by_slot(slot) diff --git a/code/modules/clothing/spacesuits/flightsuit.dm b/code/modules/clothing/spacesuits/flightsuit.dm index 3a5198080f..2d836fbb12 100644 --- a/code/modules/clothing/spacesuits/flightsuit.dm +++ b/code/modules/clothing/spacesuits/flightsuit.dm @@ -21,7 +21,7 @@ actions_types = list(/datum/action/item_action/flightpack/toggle_flight, /datum/action/item_action/flightpack/engage_boosters, /datum/action/item_action/flightpack/toggle_stabilizers, /datum/action/item_action/flightpack/change_power, /datum/action/item_action/flightpack/toggle_airbrake) armor = list("melee" = 20, "bullet" = 20, "laser" = 20, "energy" = 10, "bomb" = 30, "bio" = 100, "rad" = 75, "fire" = 100, "acid" = 75) w_class = WEIGHT_CLASS_BULKY - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK resistance_flags = FIRE_PROOF var/processing_mode = FLIGHTSUIT_PROCESSING_FULL @@ -544,8 +544,13 @@ changeWearer() ..() +<<<<<<< HEAD /obj/item/device/flightpack/item_action_slot_check(slot) if(slot == SLOT_BACK) +======= +/obj/item/flightpack/item_action_slot_check(slot) + if(slot == ITEM_SLOT_BACK) +>>>>>>> ecd0d8b... Merge pull request #37476 from AnturK/thisalwaysbuggedme return TRUE /obj/item/device/flightpack/equipped(mob/user, slot) @@ -571,8 +576,13 @@ momentum_speed_y = 0 momentum_speed = max(momentum_speed_x, momentum_speed_y) +<<<<<<< HEAD /obj/item/device/flightpack/item_action_slot_check(slot) return slot == slot_back +======= +/obj/item/flightpack/item_action_slot_check(slot) + return slot == SLOT_BACK +>>>>>>> ecd0d8b... Merge pull request #37476 from AnturK/thisalwaysbuggedme /obj/item/device/flightpack/proc/enable_stabilizers() if(requires_suit && suit && !suit.deployedshoes) @@ -728,7 +738,7 @@ src.flags_1 &= ~NOSLIP_1 /obj/item/clothing/shoes/flightshoes/item_action_slot_check(slot) - return slot == slot_shoes + return slot == SLOT_SHOES /obj/item/clothing/shoes/flightshoes/proc/delink_suit() if(suit) @@ -893,7 +903,7 @@ if(user.back) usermessage("You're already wearing something on your back!", "boldwarning") return FALSE - user.equip_to_slot_if_possible(pack,slot_back,0,0,1) + user.equip_to_slot_if_possible(pack,SLOT_BACK,0,0,1) pack.flags_1 |= NODROP_1 resync() user.visible_message("A [pack.name] extends from [user]'s [name] and clamps to their back!") @@ -931,7 +941,7 @@ if(user.shoes) usermessage("You're already wearing something on your feet!", "boldwarning") return FALSE - user.equip_to_slot_if_possible(shoes,slot_shoes,0,0,1) + user.equip_to_slot_if_possible(shoes,SLOT_SHOES,0,0,1) shoes.flags_1 |= NODROP_1 user.visible_message("[user]'s [name] extends a pair of [shoes.name] over their feet!") user.update_inv_wear_suit() @@ -962,7 +972,7 @@ /obj/item/clothing/suit/space/hardsuit/flightsuit/equipped(mob/M, slot) if(ishuman(M)) user = M - if(slot != slot_wear_suit) + if(slot != SLOT_WEAR_SUIT) if(deployedpack) retract_flightpack(TRUE) if(deployedshoes) @@ -997,7 +1007,7 @@ /obj/item/clothing/suit/space/hardsuit/flightsuit/attackby(obj/item/I, mob/wearer, params) user = wearer - if(src == user.get_item_by_slot(slot_wear_suit)) + if(src == user.get_item_by_slot(SLOT_WEAR_SUIT)) usermessage("You can not perform any service without taking the suit off!", "boldwarning") return FALSE else if(locked) diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 41b2334f94..9ce1a77868 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -48,12 +48,12 @@ soundloop.stop(user) /obj/item/clothing/head/helmet/space/hardsuit/item_action_slot_check(slot) - if(slot == slot_head) + if(slot == SLOT_HEAD) return 1 /obj/item/clothing/head/helmet/space/hardsuit/equipped(mob/user, slot) ..() - if(slot != slot_head) + if(slot != SLOT_HEAD) if(suit) suit.RemoveHelmet() soundloop.stop(user) @@ -119,7 +119,7 @@ if(jetpack) to_chat(user, "[src] already has a jetpack installed.") return - if(src == user.get_item_by_slot(slot_wear_suit)) //Make sure the player is not wearing the suit before applying the upgrade. + if(src == user.get_item_by_slot(SLOT_WEAR_SUIT)) //Make sure the player is not wearing the suit before applying the upgrade. to_chat(user, "You cannot install the upgrade to [src] while wearing it.") return @@ -131,7 +131,7 @@ if(!jetpack) to_chat(user, "[src] has no jetpack installed.") return - if(src == user.get_item_by_slot(slot_wear_suit)) + if(src == user.get_item_by_slot(SLOT_WEAR_SUIT)) to_chat(user, "You cannot remove the jetpack from [src] while wearing it.") return @@ -144,7 +144,7 @@ /obj/item/clothing/suit/space/hardsuit/equipped(mob/user, slot) ..() if(jetpack) - if(slot == slot_wear_suit) + if(slot == SLOT_WEAR_SUIT) for(var/X in jetpack.actions) var/datum/action/A = X A.Grant(user) @@ -157,7 +157,7 @@ A.Remove(user) /obj/item/clothing/suit/space/hardsuit/item_action_slot_check(slot) - if(slot == slot_wear_suit) //we only give the mob the ability to toggle the helmet if he's wearing the hardsuit. + if(slot == SLOT_WEAR_SUIT) //we only give the mob the ability to toggle the helmet if he's wearing the hardsuit. return 1 //Engineering @@ -460,7 +460,7 @@ /obj/item/clothing/head/helmet/space/hardsuit/rd/equipped(mob/living/carbon/human/user, slot) ..() - if (slot == slot_head) + if (slot == SLOT_HEAD) var/datum/atom_hud/DHUD = GLOB.huds[DATA_HUD_DIAGNOSTIC_BASIC] DHUD.add_hud_to(user) @@ -615,7 +615,7 @@ /obj/item/clothing/suit/space/hardsuit/ancient/equipped(mob/user, slot) . = ..() - if (slot == slot_wear_suit) + if (slot == SLOT_WEAR_SUIT) if (mobhook && mobhook.parent != user) QDEL_NULL(mobhook) if (!mobhook) diff --git a/code/modules/clothing/suits/_suits.dm b/code/modules/clothing/suits/_suits.dm index 1cf1d4640d..6aabee0c81 100644 --- a/code/modules/clothing/suits/_suits.dm +++ b/code/modules/clothing/suits/_suits.dm @@ -4,7 +4,7 @@ var/fire_resist = T0C+100 allowed = list(/obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman) armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) - slot_flags = SLOT_OCLOTHING + slot_flags = ITEM_SLOT_OCLOTHING var/blood_overlay_type = "suit" var/togglename = null var/suittoggled = FALSE diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index 90ae827957..9415c093fc 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -173,7 +173,7 @@ /obj/item/clothing/suit/cardborg/equipped(mob/living/user, slot) ..() - if(slot == slot_wear_suit) + if(slot == SLOT_WEAR_SUIT) disguise(user) /obj/item/clothing/suit/cardborg/dropped(mob/living/user) diff --git a/code/modules/clothing/suits/toggles.dm b/code/modules/clothing/suits/toggles.dm index d09db447a8..c7d91604cf 100644 --- a/code/modules/clothing/suits/toggles.dm +++ b/code/modules/clothing/suits/toggles.dm @@ -24,11 +24,11 @@ ToggleHood() /obj/item/clothing/suit/hooded/item_action_slot_check(slot, mob/user) - if(slot == slot_wear_suit) + if(slot == SLOT_WEAR_SUIT) return 1 /obj/item/clothing/suit/hooded/equipped(mob/user, slot) - if(slot != slot_wear_suit) + if(slot != SLOT_WEAR_SUIT) RemoveHood() ..() @@ -59,7 +59,7 @@ if(H.head) to_chat(H, "You're already wearing something on your head!") return - else if(H.equip_to_slot_if_possible(hood,slot_head,0,0,1)) + else if(H.equip_to_slot_if_possible(hood,SLOT_HEAD,0,0,1)) suittoggled = TRUE src.icon_state = "[initial(icon_state)]_t" H.update_inv_wear_suit() @@ -83,7 +83,7 @@ /obj/item/clothing/head/hooded/equipped(mob/user, slot) ..() - if(slot != slot_head) + if(slot != SLOT_HEAD) if(suit) suit.RemoveHood() else @@ -155,7 +155,7 @@ /obj/item/clothing/suit/space/hardsuit/equipped(mob/user, slot) if(!helmettype) return - if(slot != slot_wear_suit) + if(slot != SLOT_WEAR_SUIT) RemoveHelmet() ..() @@ -192,7 +192,7 @@ if(H.head) to_chat(H, "You're already wearing something on your head!") return - else if(H.equip_to_slot_if_possible(helmet,slot_head,0,0,1)) + else if(H.equip_to_slot_if_possible(helmet,SLOT_HEAD,0,0,1)) to_chat(H, "You engage the helmet on the hardsuit.") suittoggled = TRUE H.update_inv_wear_suit() diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm index dd290fdaa2..4d037d652b 100644 --- a/code/modules/clothing/under/_under.dm +++ b/code/modules/clothing/under/_under.dm @@ -3,7 +3,7 @@ name = "under" body_parts_covered = CHEST|GROIN|LEGS|ARMS permeability_coefficient = 0.9 - slot_flags = SLOT_ICLOTHING + slot_flags = ITEM_SLOT_ICLOTHING armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) var/fitted = FEMALE_UNIFORM_FULL // For use in alternate clothing styles for women var/has_sensor = HAS_SENSORS // For the crew computer @@ -65,7 +65,7 @@ adjusted = DIGITIGRADE_STYLE H.update_inv_w_uniform() - if(attached_accessory && slot != slot_hands && ishuman(user)) + if(attached_accessory && slot != SLOT_HANDS && ishuman(user)) var/mob/living/carbon/human/H = user attached_accessory.on_uniform_equip(src, user) if(attached_accessory.above_suit) diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm index 3a12f00a05..afb9bff1c1 100644 --- a/code/modules/clothing/under/color.dm +++ b/code/modules/clothing/under/color.dm @@ -9,7 +9,7 @@ var/obj/item/clothing/under/color/C = pick(subtypesof(/obj/item/clothing/under/color) - /obj/item/clothing/under/color/random - /obj/item/clothing/under/color/grey/glorf - /obj/item/clothing/under/color/black/ghost) if(ishuman(loc)) var/mob/living/carbon/human/H = loc - H.equip_to_slot_or_del(new C(H), slot_w_uniform) //or else you end up with naked assistants running around everywhere... + H.equip_to_slot_or_del(new C(H), SLOT_W_UNIFORM) //or else you end up with naked assistants running around everywhere... else new C(loc) return INITIALIZE_HINT_QDEL diff --git a/code/modules/detectivework/scanner.dm b/code/modules/detectivework/scanner.dm index e7589aa15f..87f7d6d8f3 100644 --- a/code/modules/detectivework/scanner.dm +++ b/code/modules/detectivework/scanner.dm @@ -11,7 +11,7 @@ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' flags_1 = CONDUCT_1 | NOBLUDGEON_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT var/scanning = 0 var/list/log = list() var/range = 8 diff --git a/code/modules/events/wizard/curseditems.dm b/code/modules/events/wizard/curseditems.dm index 9de5a93292..180589b4f1 100644 --- a/code/modules/events/wizard/curseditems.dm +++ b/code/modules/events/wizard/curseditems.dm @@ -11,29 +11,29 @@ /datum/round_event/wizard/cursed_items/start() var/item_set = pick("wizardmimic", "swords", "bigfatdoobie", "boxing", "voicemodulators", "catgirls2015") - var/list/loadout[slots_amt] + var/list/loadout[SLOTS_AMT] var/ruins_spaceworthiness var/ruins_wizard_loadout switch(item_set) if("wizardmimic") - loadout[slot_wear_suit] = /obj/item/clothing/suit/wizrobe - loadout[slot_shoes] = /obj/item/clothing/shoes/sandal/magic - loadout[slot_head] = /obj/item/clothing/head/wizard + loadout[SLOT_WEAR_SUIT] = /obj/item/clothing/suit/wizrobe + loadout[SLOT_SHOES] = /obj/item/clothing/shoes/sandal/magic + loadout[SLOT_HEAD] = /obj/item/clothing/head/wizard ruins_spaceworthiness = 1 if("swords") - loadout[slot_hands] = /obj/item/katana/cursed + loadout[SLOT_HANDS] = /obj/item/katana/cursed if("bigfatdoobie") - loadout[slot_wear_mask] = /obj/item/clothing/mask/cigarette/rollie/trippy + loadout[SLOT_WEAR_MASK] = /obj/item/clothing/mask/cigarette/rollie/trippy ruins_spaceworthiness = 1 if("boxing") - loadout[slot_wear_mask] = /obj/item/clothing/mask/luchador - loadout[slot_gloves] = /obj/item/clothing/gloves/boxing + loadout[SLOT_WEAR_MASK] = /obj/item/clothing/mask/luchador + loadout[SLOT_GLOVES] = /obj/item/clothing/gloves/boxing ruins_spaceworthiness = 1 if("voicemodulators") - loadout[slot_wear_mask] = /obj/item/clothing/mask/chameleon + loadout[SLOT_WEAR_MASK] = /obj/item/clothing/mask/chameleon if("catgirls2015") - loadout[slot_head] = /obj/item/clothing/head/kitty + loadout[SLOT_HEAD] = /obj/item/clothing/head/kitty ruins_spaceworthiness = 1 ruins_wizard_loadout = 1 diff --git a/code/modules/food_and_drinks/food/snacks_bread.dm b/code/modules/food_and_drinks/food/snacks_bread.dm index c29ed30b22..d59025dca6 100644 --- a/code/modules/food_and_drinks/food/snacks_bread.dm +++ b/code/modules/food_and_drinks/food/snacks_bread.dm @@ -13,7 +13,7 @@ custom_food_type = /obj/item/reagent_containers/food/snacks/customizable/sandwich filling_color = "#FFA500" list_reagents = list("nutriment" = 2) - slot_flags = SLOT_HEAD + slot_flags = ITEM_SLOT_HEAD customfoodfilling = 0 //to avoid infinite bread-ception foodtype = GRAIN diff --git a/code/modules/hydroponics/grown/ambrosia.dm b/code/modules/hydroponics/grown/ambrosia.dm index 05cd54a9f0..5883b4dd64 100644 --- a/code/modules/hydroponics/grown/ambrosia.dm +++ b/code/modules/hydroponics/grown/ambrosia.dm @@ -4,7 +4,7 @@ name = "ambrosia branch" desc = "This is a plant." icon_state = "ambrosiavulgaris" - slot_flags = SLOT_HEAD + slot_flags = ITEM_SLOT_HEAD filling_color = "#008000" bitesize_mod = 2 foodtype = VEGETABLES diff --git a/code/modules/hydroponics/grown/flowers.dm b/code/modules/hydroponics/grown/flowers.dm index 18eae2f4fd..8455df887e 100644 --- a/code/modules/hydroponics/grown/flowers.dm +++ b/code/modules/hydroponics/grown/flowers.dm @@ -22,7 +22,7 @@ name = "poppy" desc = "Long-used as a symbol of rest, peace, and death." icon_state = "poppy" - slot_flags = SLOT_HEAD + slot_flags = ITEM_SLOT_HEAD filling_color = "#FF6347" bitesize_mod = 3 foodtype = VEGETABLES | GROSS @@ -86,7 +86,7 @@ name = "harebell" desc = "\"I'll sweeten thy sad grave: thou shalt not lack the flower that's like thy face, pale primrose, nor the azured hare-bell, like thy veins; no, nor the leaf of eglantine, whom not to slander, out-sweeten'd not thy breath.\"" icon_state = "harebell" - slot_flags = SLOT_HEAD + slot_flags = ITEM_SLOT_HEAD filling_color = "#E6E6FA" bitesize_mod = 3 @@ -118,7 +118,7 @@ righthand_file = 'icons/mob/inhands/weapons/plants_righthand.dmi' damtype = "fire" force = 0 - slot_flags = SLOT_HEAD + slot_flags = ITEM_SLOT_HEAD throwforce = 0 w_class = WEIGHT_CLASS_TINY throw_speed = 1 @@ -149,7 +149,7 @@ name = "moonflower" desc = "Store in a location at least 50 yards away from werewolves." icon_state = "moonflower" - slot_flags = SLOT_HEAD + slot_flags = ITEM_SLOT_HEAD filling_color = "#E6E6FA" bitesize_mod = 2 @@ -176,7 +176,7 @@ righthand_file = 'icons/mob/inhands/weapons/plants_righthand.dmi' damtype = "fire" force = 0 - slot_flags = SLOT_HEAD + slot_flags = ITEM_SLOT_HEAD throwforce = 0 w_class = WEIGHT_CLASS_TINY throw_speed = 1 diff --git a/code/modules/hydroponics/hydroitemdefines.dm b/code/modules/hydroponics/hydroitemdefines.dm index 1c3509fa4e..6c45d21dad 100644 --- a/code/modules/hydroponics/hydroitemdefines.dm +++ b/code/modules/hydroponics/hydroitemdefines.dm @@ -8,7 +8,7 @@ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' w_class = WEIGHT_CLASS_TINY - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT materials = list(MAT_METAL=30, MAT_GLASS=20) // ************************************* @@ -112,7 +112,7 @@ w_class = WEIGHT_CLASS_BULKY flags_1 = CONDUCT_1 armour_penetration = 20 - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK attack_verb = list("chopped", "sliced", "cut", "reaped") hitsound = 'sound/weapons/bladeslice.ogg' var/swiping = FALSE diff --git a/code/modules/jobs/job_types/cargo_service.dm b/code/modules/jobs/job_types/cargo_service.dm index 5c761cec25..10e1ca4bb3 100644 --- a/code/modules/jobs/job_types/cargo_service.dm +++ b/code/modules/jobs/job_types/cargo_service.dm @@ -111,7 +111,7 @@ Shaft Miner mask = /obj/item/clothing/mask/gas/explorer glasses = /obj/item/clothing/glasses/meson suit_store = /obj/item/tank/internals/oxygen - internals_slot = slot_s_store + internals_slot = SLOT_S_STORE backpack_contents = list( /obj/item/storage/bag/ore=1, /obj/item/kitchen/knife/combat/survival=1, @@ -220,7 +220,7 @@ Cook var/list/possible_boxes = subtypesof(/obj/item/storage/box/ingredients) var/chosen_box = pick(possible_boxes) var/obj/item/storage/box/I = new chosen_box(src) - H.equip_to_slot_or_del(I,slot_in_backpack) + H.equip_to_slot_or_del(I,SLOT_IN_BACKPACK) var/datum/martial_art/cqc/under_siege/justacook = new justacook.teach(H) diff --git a/code/modules/jobs/job_types/civilian_chaplain.dm b/code/modules/jobs/job_types/civilian_chaplain.dm index 5e56fe5b4f..2f94d4d3b8 100644 --- a/code/modules/jobs/job_types/civilian_chaplain.dm +++ b/code/modules/jobs/job_types/civilian_chaplain.dm @@ -31,7 +31,7 @@ Chaplain B.icon_state = SSreligion.bible_icon_state B.item_state = SSreligion.bible_item_state to_chat(H, "There is already an established religion onboard the station. You are an acolyte of [SSreligion.deity]. Defer to the Chaplain.") - H.equip_to_slot_or_del(B, slot_in_backpack) + H.equip_to_slot_or_del(B, SLOT_IN_BACKPACK) var/nrt = SSreligion.holy_weapon_type || /obj/item/nullrod var/obj/item/nullrod/N = new nrt(H) H.put_in_hands(N) @@ -79,7 +79,7 @@ Chaplain SSreligion.bible_name = B.name SSreligion.deity = B.deity_name - H.equip_to_slot_or_del(B, slot_in_backpack) + H.equip_to_slot_or_del(B, SLOT_IN_BACKPACK) SSblackbox.record_feedback("text", "religion_name", 1, "[new_religion]", 1) SSblackbox.record_feedback("text", "religion_deity", 1, "[new_deity]", 1) diff --git a/code/modules/jobs/job_types/engineering.dm b/code/modules/jobs/job_types/engineering.dm index 82a6fe1382..3d92b8a772 100644 --- a/code/modules/jobs/job_types/engineering.dm +++ b/code/modules/jobs/job_types/engineering.dm @@ -48,7 +48,7 @@ Chief Engineer satchel = /obj/item/storage/backpack/satchel/eng duffelbag = /obj/item/storage/backpack/duffelbag/engineering box = /obj/item/storage/box/engineer - pda_slot = slot_l_store + pda_slot = SLOT_L_STORE /datum/outfit/job/ce/rig name = "Chief Engineer (Hardsuit)" @@ -59,7 +59,7 @@ Chief Engineer suit_store = /obj/item/tank/internals/oxygen gloves = /obj/item/clothing/gloves/color/yellow head = null - internals_slot = slot_s_store + internals_slot = SLOT_S_STORE /* @@ -102,8 +102,13 @@ Station Engineer satchel = /obj/item/storage/backpack/satchel/eng duffelbag = /obj/item/storage/backpack/duffelbag/engineering box = /obj/item/storage/box/engineer +<<<<<<< HEAD pda_slot = slot_l_store backpack_contents = list(/obj/item/device/modular_computer/tablet/preset/advanced=1) +======= + pda_slot = SLOT_L_STORE + backpack_contents = list(/obj/item/modular_computer/tablet/preset/advanced=1) +>>>>>>> ecd0d8b... Merge pull request #37476 from AnturK/thisalwaysbuggedme /datum/outfit/job/engineer/gloved name = "Station Engineer (Gloves)" @@ -116,7 +121,7 @@ Station Engineer suit = /obj/item/clothing/suit/space/hardsuit/engine suit_store = /obj/item/tank/internals/oxygen head = null - internals_slot = slot_s_store + internals_slot = SLOT_S_STORE /* @@ -156,8 +161,13 @@ Atmospheric Technician satchel = /obj/item/storage/backpack/satchel/eng duffelbag = /obj/item/storage/backpack/duffelbag/engineering box = /obj/item/storage/box/engineer +<<<<<<< HEAD pda_slot = slot_l_store backpack_contents = list(/obj/item/device/modular_computer/tablet/preset/advanced=1) +======= + pda_slot = SLOT_L_STORE + backpack_contents = list(/obj/item/modular_computer/tablet/preset/advanced=1) +>>>>>>> ecd0d8b... Merge pull request #37476 from AnturK/thisalwaysbuggedme /datum/outfit/job/atmos/rig name = "Atmospheric Technician (Hardsuit)" @@ -165,4 +175,4 @@ Atmospheric Technician mask = /obj/item/clothing/mask/gas suit = /obj/item/clothing/suit/space/hardsuit/engine/atmos suit_store = /obj/item/tank/internals/oxygen - internals_slot = slot_s_store + internals_slot = SLOT_S_STORE diff --git a/code/modules/jobs/job_types/job.dm b/code/modules/jobs/job_types/job.dm index c384d21e97..d381c85b8d 100644 --- a/code/modules/jobs/job_types/job.dm +++ b/code/modules/jobs/job_types/job.dm @@ -151,7 +151,7 @@ var/duffelbag = /obj/item/storage/backpack/duffelbag var/box = /obj/item/storage/box/survival - var/pda_slot = slot_belt + var/pda_slot = SLOT_BELT /datum/outfit/job/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE) switch(H.backbag) diff --git a/code/modules/jobs/job_types/science.dm b/code/modules/jobs/job_types/science.dm index 2648bd2516..5ce6b1e967 100644 --- a/code/modules/jobs/job_types/science.dm +++ b/code/modules/jobs/job_types/science.dm @@ -56,7 +56,7 @@ Research Director mask = /obj/item/clothing/mask/breath suit = /obj/item/clothing/suit/space/hardsuit/rd suit_store = /obj/item/tank/internals/oxygen - internals_slot = slot_s_store + internals_slot = SLOT_S_STORE /* Scientist @@ -128,4 +128,4 @@ Roboticist backpack = /obj/item/storage/backpack/science satchel = /obj/item/storage/backpack/satchel/tox - pda_slot = slot_l_store + pda_slot = SLOT_L_STORE diff --git a/code/modules/jobs/job_types/security.dm b/code/modules/jobs/job_types/security.dm index 3cfd5ef73d..22a229e6b2 100644 --- a/code/modules/jobs/job_types/security.dm +++ b/code/modules/jobs/job_types/security.dm @@ -244,7 +244,7 @@ GLOBAL_LIST_INIT(available_depts, list(SEC_DEPT_ENGINEERING, SEC_DEPT_MEDICAL, S if(ears) if(H.ears) qdel(H.ears) - H.equip_to_slot_or_del(new ears(H),slot_ears) + H.equip_to_slot_or_del(new ears(H),SLOT_EARS) var/obj/item/card/id/W = H.wear_id W.access |= dep_access diff --git a/code/modules/keybindings/bindings_human.dm b/code/modules/keybindings/bindings_human.dm index 7c52917386..14890cc7e2 100644 --- a/code/modules/keybindings/bindings_human.dm +++ b/code/modules/keybindings/bindings_human.dm @@ -3,12 +3,12 @@ switch(_key) if("E") // Put held thing in belt or take out most recent thing from belt var/obj/item/thing = get_active_held_item() - var/obj/item/storage/equipped_belt = get_item_by_slot(slot_belt) + var/obj/item/storage/equipped_belt = get_item_by_slot(SLOT_BELT) if(!equipped_belt) // We also let you equip a belt like this if(!thing) to_chat(user, "You have no belt to take something out of.") return - equip_to_slot_if_possible(thing, slot_belt) + equip_to_slot_if_possible(thing, SLOT_BELT) return if(!istype(equipped_belt)) // not a storage item if(!thing) @@ -31,12 +31,12 @@ if("B") // Put held thing in backpack or take out most recent thing from backpack var/obj/item/thing = get_active_held_item() - var/obj/item/storage/equipped_backpack = get_item_by_slot(slot_back) + var/obj/item/storage/equipped_backpack = get_item_by_slot(SLOT_BACK) if(!equipped_backpack) // We also let you equip a backpack like this if(!thing) to_chat(user, "You have no backpack to take something out of.") return - equip_to_slot_if_possible(thing, slot_back) + equip_to_slot_if_possible(thing, SLOT_BACK) return if(!istype(equipped_backpack)) // not a storage item if(!thing) diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index 5b86a2d340..558147af23 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -10,7 +10,7 @@ While it is an effective mining tool, it did little to aid any but the most skilled and/or suicidal miners against local fauna." force = 20 //As much as a bone spear, but this is significantly more annoying to carry around due to requiring the use of both hands at all times w_class = WEIGHT_CLASS_BULKY - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK force_unwielded = 20 //It's never not wielded so these are the same force_wielded = 20 throwforce = 5 diff --git a/code/modules/mining/equipment/mineral_scanner.dm b/code/modules/mining/equipment/mineral_scanner.dm index ec3dda28a0..cf14184a0c 100644 --- a/code/modules/mining/equipment/mineral_scanner.dm +++ b/code/modules/mining/equipment/mineral_scanner.dm @@ -8,7 +8,7 @@ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' w_class = WEIGHT_CLASS_SMALL flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT var/cooldown = 35 var/current_cooldown = 0 @@ -37,7 +37,7 @@ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' w_class = WEIGHT_CLASS_SMALL flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT var/cooldown = 35 var/current_cooldown = 0 var/range = 7 diff --git a/code/modules/mining/equipment/mining_tools.dm b/code/modules/mining/equipment/mining_tools.dm index e73349198b..cbd8717869 100644 --- a/code/modules/mining/equipment/mining_tools.dm +++ b/code/modules/mining/equipment/mining_tools.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/mining.dmi' icon_state = "pickaxe" flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT | SLOT_BACK + slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK force = 15 throwforce = 10 item_state = "pickaxe" @@ -30,7 +30,7 @@ icon_state = "minipick" force = 10 throwforce = 7 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_NORMAL materials = list(MAT_METAL=1000) @@ -54,7 +54,7 @@ name = "mining drill" icon_state = "handdrill" item_state = "jackhammer" - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT toolspeed = 0.6 //available from roundstart, faster than a pickaxe. usesound = 'sound/weapons/drill.ogg' hitsound = 'sound/weapons/drill.ogg' @@ -93,7 +93,7 @@ lefthand_file = 'icons/mob/inhands/equipment/mining_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/mining_righthand.dmi' flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT force = 8 tool_behaviour = TOOL_SHOVEL toolspeed = 1 diff --git a/code/modules/mining/equipment/wormhole_jaunter.dm b/code/modules/mining/equipment/wormhole_jaunter.dm index 42e69f8fb2..03c46086c4 100644 --- a/code/modules/mining/equipment/wormhole_jaunter.dm +++ b/code/modules/mining/equipment/wormhole_jaunter.dm @@ -11,7 +11,7 @@ w_class = WEIGHT_CLASS_SMALL throw_speed = 3 throw_range = 5 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT /obj/item/device/wormhole_jaunter/attack_self(mob/user) user.visible_message("[user.name] activates the [src.name]!") @@ -53,7 +53,7 @@ /obj/item/device/wormhole_jaunter/emp_act(power) var/triggered = FALSE - if(usr.get_item_by_slot(slot_belt) == src) + if(usr.get_item_by_slot(SLOT_BELT) == src) if(power == 1) triggered = TRUE else if(power == 2 && prob(50)) @@ -64,8 +64,13 @@ SSblackbox.record_feedback("tally", "jaunter", 1, "EMP") // EMP accidental activation activate(usr) +<<<<<<< HEAD /obj/item/device/wormhole_jaunter/proc/chasm_react(mob/user) if(user.get_item_by_slot(slot_belt) == src) +======= +/obj/item/wormhole_jaunter/proc/chasm_react(mob/user) + if(user.get_item_by_slot(SLOT_BELT) == src) +>>>>>>> ecd0d8b... Merge pull request #37476 from AnturK/thisalwaysbuggedme to_chat(user, "Your [src] activates, saving you from the chasm!") SSblackbox.record_feedback("tally", "jaunter", 1, "Chasm") // chasm automatic activation activate(user, FALSE) diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index 45ede2d337..8dc95d54e2 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -438,7 +438,7 @@ desc = "Somehow, it's in two places at once." icon = 'icons/obj/storage.dmi' icon_state = "cultpack" - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK resistance_flags = INDESTRUCTIBLE /obj/item/device/shared_storage/red @@ -558,7 +558,7 @@ inhand_y_dimension = 64 icon_state = "cleaving_saw" icon_state_on = "cleaving_saw_open" - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT attack_verb_off = list("attacked", "sawed", "sliced", "torn", "ripped", "diced", "cut") attack_verb_on = list("cleaved", "swiped", "slashed", "chopped") hitsound = 'sound/weapons/bladeslice.ogg' @@ -816,7 +816,7 @@ lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi' icon = 'icons/obj/guns/magic.dmi' - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK w_class = WEIGHT_CLASS_BULKY force = 25 damtype = BURN @@ -993,7 +993,7 @@ righthand_file = 'icons/mob/inhands/64x64_righthand.dmi' inhand_x_dimension = 64 inhand_y_dimension = 64 - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK w_class = WEIGHT_CLASS_BULKY force = 15 attack_verb = list("clubbed", "beat", "pummeled") diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index a7b28dd658..226b5e3492 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -180,7 +180,7 @@ held_items[hand_index] = I I.layer = ABOVE_HUD_LAYER I.plane = ABOVE_HUD_PLANE - I.equipped(src, slot_hands) + I.equipped(src, SLOT_HANDS) if(I.pulledby) I.pulledby.stop_pulling() update_inv_hands() @@ -396,7 +396,7 @@ if(M.active_storage && M.active_storage.parent && M.active_storage.parent.SendSignal(COMSIG_TRY_STORAGE_INSERT, src,M)) return TRUE - var/list/obj/item/possible = list(M.get_inactive_held_item(), M.get_item_by_slot(slot_belt), M.get_item_by_slot(slot_generic_dextrous_storage), M.get_item_by_slot(slot_back)) + var/list/obj/item/possible = list(M.get_inactive_held_item(), M.get_item_by_slot(SLOT_BELT), M.get_item_by_slot(SLOT_GENERC_DEXTROUS_STORAGE), M.get_item_by_slot(SLOT_BACK)) for(var/i in possible) if(!i) continue @@ -418,10 +418,10 @@ //used in code for items usable by both carbon and drones, this gives the proper back slot for each mob.(defibrillator, backpack watertank, ...) /mob/proc/getBackSlot() - return slot_back + return SLOT_BACK /mob/proc/getBeltSlot() - return slot_belt + return SLOT_BELT diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm index 24dd3a7965..2216d955c0 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm @@ -45,13 +45,13 @@
"} for(var/i in 1 to held_items.len) var/obj/item/I = get_item_for_held_index(i) - dat += "
[get_held_index_name(i)]:[(I && !(I.flags_1 & ABSTRACT_1)) ? I : "Empty"]" + dat += "
[get_held_index_name(i)]:[(I && !(I.flags_1 & ABSTRACT_1)) ? I : "Empty"]" dat += "
Empty Pouches" if(handcuffed) - dat += "
Handcuffed" + dat += "
Handcuffed" if(legcuffed) - dat += "
Legcuffed" + dat += "
Legcuffed" dat += {"
diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index a5368fc7c0..50dceac0c5 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -169,7 +169,7 @@ if(target.dropItemToGround(W)) target.visible_message("[src] tears [W] off of [target]'s face!", \ "[src] tears [W] off of [target]'s face!") - target.equip_to_slot_if_possible(src, slot_wear_mask, 0, 1, 1) + target.equip_to_slot_if_possible(src, SLOT_WEAR_MASK, 0, 1, 1) return TRUE // time for a smoke /obj/item/clothing/mask/facehugger/proc/Attach(mob/living/M) @@ -254,7 +254,7 @@ return 1 var/mob/living/carbon/C = M - if(ishuman(C) && !(slot_wear_mask in C.dna.species.no_equip)) + if(ishuman(C) && !(SLOT_WEAR_MASK in C.dna.species.no_equip)) var/mob/living/carbon/human/H = C if(H.is_mouth_covered(head_only = 1)) return 0 diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index ebf66a675e..df1a90a868 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -202,23 +202,23 @@
[name]
-
Head: [(head && !(head.flags_1&ABSTRACT_1)) ? head : "Nothing"] -
Mask: [(wear_mask && !(wear_mask.flags_1&ABSTRACT_1)) ? wear_mask : "Nothing"] -
Neck: [(wear_neck && !(wear_neck.flags_1&ABSTRACT_1)) ? wear_neck : "Nothing"]"} +
Head: [(head && !(head.flags_1&ABSTRACT_1)) ? head : "Nothing"] +
Mask: [(wear_mask && !(wear_mask.flags_1&ABSTRACT_1)) ? wear_mask : "Nothing"] +
Neck: [(wear_neck && !(wear_neck.flags_1&ABSTRACT_1)) ? wear_neck : "Nothing"]"} for(var/i in 1 to held_items.len) var/obj/item/I = get_item_for_held_index(i) - dat += "
[get_held_index_name(i)]:[(I && !(I.flags_1 & ABSTRACT_1)) ? I : "Nothing"]" + dat += "
[get_held_index_name(i)]:[(I && !(I.flags_1 & ABSTRACT_1)) ? I : "Nothing"]" - dat += "
Back: [back ? back : "Nothing"]" + dat += "
Back: [back ? back : "Nothing"]" if(istype(wear_mask, /obj/item/clothing/mask) && istype(back, /obj/item/tank)) dat += "
[internal ? "Disable Internals" : "Set Internals"]" if(handcuffed) - dat += "
Handcuffed" + dat += "
Handcuffed" if(legcuffed) - dat += "
Legcuffed" + dat += "
Legcuffed" dat += {"
diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 7672b7f8dc..e569766542 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -19,7 +19,7 @@ var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE)) //uniform - if(w_uniform && !(slot_w_uniform in obscured)) + if(w_uniform && !(SLOT_W_UNIFORM in obscured)) //accessory var/accessory_msg if(istype(w_uniform, /obj/item/clothing/under)) @@ -48,7 +48,7 @@ GET_COMPONENT(FR, /datum/component/forensics) //gloves - if(gloves && !(slot_gloves in obscured)) + if(gloves && !(SLOT_GLOVES in obscured)) msg += "[t_He] [t_has] [gloves.get_examine_string(user)] on [t_his] hands.\n" else if(FR && length(FR.blood_DNA)) var/hand_number = get_num_arms() @@ -69,22 +69,22 @@ msg += "[t_He] [t_has] [belt.get_examine_string(user)] about [t_his] waist.\n" //shoes - if(shoes && !(slot_shoes in obscured)) + if(shoes && !(SLOT_SHOES in obscured)) msg += "[t_He] [t_is] wearing [shoes.get_examine_string(user)] on [t_his] feet.\n" //mask - if(wear_mask && !(slot_wear_mask in obscured)) + if(wear_mask && !(SLOT_WEAR_MASK in obscured)) msg += "[t_He] [t_has] [wear_mask.get_examine_string(user)] on [t_his] face.\n" - if (wear_neck && !(slot_neck in obscured)) + if (wear_neck && !(SLOT_NECK in obscured)) msg += "[t_He] [t_is] wearing [wear_neck.get_examine_string(user)] around [t_his] neck.\n" //eyes - if(glasses && !(slot_glasses in obscured)) + if(glasses && !(SLOT_GLASSES in obscured)) msg += "[t_He] [t_has] [glasses.get_examine_string(user)] covering [t_his] eyes.\n" //ears - if(ears && !(slot_ears in obscured)) + if(ears && !(SLOT_EARS in obscured)) msg += "[t_He] [t_has] [ears.get_examine_string(user)] on [t_his] ears.\n" //ID diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 6c63c32904..cba1b4728f 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -115,80 +115,80 @@ dat += "" for(var/i in 1 to held_items.len) var/obj/item/I = get_item_for_held_index(i) - dat += "" + dat += "" dat += "" - dat += "" - dat += "" + dat += "" - if(slot_wear_mask in obscured) + if(SLOT_WEAR_MASK in obscured) dat += "" else - dat += "" + dat += "" - if(slot_neck in obscured) + if(SLOT_NECK in obscured) dat += "" else - dat += "" + dat += "" - if(slot_glasses in obscured) + if(SLOT_GLASSES in obscured) dat += "" else - dat += "" + dat += "" - if(slot_ears in obscured) + if(SLOT_EARS in obscured) dat += "" else - dat += "" + dat += "" dat += "" - dat += "" + dat += "" if(wear_suit) - dat += "" else dat += "" - if(slot_shoes in obscured) + if(SLOT_SHOES in obscured) dat += "" else - dat += "" + dat += "" - if(slot_gloves in obscured) + if(SLOT_GLOVES in obscured) dat += "" else - dat += "" + dat += "" - if(slot_w_uniform in obscured) + if(SLOT_W_UNIFORM in obscured) dat += "" else - dat += "" + dat += "" - if((w_uniform == null && !(dna && dna.species.nojumpsuit)) || (slot_w_uniform in obscured)) + if((w_uniform == null && !(dna && dna.species.nojumpsuit)) || (SLOT_W_UNIFORM in obscured)) dat += "" dat += "" dat += "" else - dat += "" dat += "" - dat += "" + dat += "" if(handcuffed) - dat += "" + dat += "" if(legcuffed) - dat += "" + dat += "" dat += {"
[get_held_index_name(i)]:[(I && !(I.flags_1 & ABSTRACT_1)) ? I : "Empty"]
[get_held_index_name(i)]:[(I && !(I.flags_1 & ABSTRACT_1)) ? I : "Empty"]
 
Back:[(back && !(back.flags_1&ABSTRACT_1)) ? back : "Empty"]" + dat += "
Back:[(back && !(back.flags_1&ABSTRACT_1)) ? back : "Empty"]" if(has_breathable_mask && istype(back, /obj/item/tank)) - dat += " [internal ? "Disable Internals" : "Set Internals"]" + dat += " [internal ? "Disable Internals" : "Set Internals"]" dat += "
 
Head:[(head && !(head.flags_1&ABSTRACT_1)) ? head : "Empty"]
Head:[(head && !(head.flags_1&ABSTRACT_1)) ? head : "Empty"]
Mask:Obscured
Mask:[(wear_mask && !(wear_mask.flags_1&ABSTRACT_1)) ? wear_mask : "Empty"]
Mask:[(wear_mask && !(wear_mask.flags_1&ABSTRACT_1)) ? wear_mask : "Empty"]
Neck:Obscured
Neck:[(wear_neck && !(wear_neck.flags_1&ABSTRACT_1)) ? wear_neck : "Empty"]
Neck:[(wear_neck && !(wear_neck.flags_1&ABSTRACT_1)) ? wear_neck : "Empty"]
Eyes:Obscured
Eyes:[(glasses && !(glasses.flags_1&ABSTRACT_1)) ? glasses : "Empty"]
Eyes:[(glasses && !(glasses.flags_1&ABSTRACT_1)) ? glasses : "Empty"]
Ears:Obscured
Ears:[(ears && !(ears.flags_1&ABSTRACT_1)) ? ears : "Empty"]
Ears:[(ears && !(ears.flags_1&ABSTRACT_1)) ? ears : "Empty"]
 
Exosuit:[(wear_suit && !(wear_suit.flags_1&ABSTRACT_1)) ? wear_suit : "Empty"]
Exosuit:[(wear_suit && !(wear_suit.flags_1&ABSTRACT_1)) ? wear_suit : "Empty"]
 ↳Suit Storage:[(s_store && !(s_store.flags_1&ABSTRACT_1)) ? s_store : "Empty"]" + dat += "
 ↳Suit Storage:[(s_store && !(s_store.flags_1&ABSTRACT_1)) ? s_store : "Empty"]" if(has_breathable_mask && istype(s_store, /obj/item/tank)) - dat += " [internal ? "Disable Internals" : "Set Internals"]" + dat += " [internal ? "Disable Internals" : "Set Internals"]" dat += "
 ↳Suit Storage:
Shoes:Obscured
Shoes:[(shoes && !(shoes.flags_1&ABSTRACT_1)) ? shoes : "Empty"]
Shoes:[(shoes && !(shoes.flags_1&ABSTRACT_1)) ? shoes : "Empty"]
Gloves:Obscured
Gloves:[(gloves && !(gloves.flags_1&ABSTRACT_1)) ? gloves : "Empty"]
Gloves:[(gloves && !(gloves.flags_1&ABSTRACT_1)) ? gloves : "Empty"]
Uniform:Obscured
Uniform:[(w_uniform && !(w_uniform.flags_1&ABSTRACT_1)) ? w_uniform : "Empty"]
Uniform:[(w_uniform && !(w_uniform.flags_1&ABSTRACT_1)) ? w_uniform : "Empty"]
 ↳Pockets:
 ↳ID:
 ↳Belt:
 ↳Belt:[(belt && !(belt.flags_1&ABSTRACT_1)) ? belt : "Empty"]" + dat += "
 ↳Belt:[(belt && !(belt.flags_1&ABSTRACT_1)) ? belt : "Empty"]" if(has_breathable_mask && istype(belt, /obj/item/tank)) - dat += " [internal ? "Disable Internals" : "Set Internals"]" + dat += " [internal ? "Disable Internals" : "Set Internals"]" dat += "
 ↳Pockets:[(l_store && !(l_store.flags_1&ABSTRACT_1)) ? "Left (Full)" : "Left (Empty)"]" dat += " [(r_store && !(r_store.flags_1&ABSTRACT_1)) ? "Right (Full)" : "Right (Empty)"]
 ↳ID:[(wear_id && !(wear_id.flags_1&ABSTRACT_1)) ? wear_id : "Empty"]
 ↳ID:[(wear_id && !(wear_id.flags_1&ABSTRACT_1)) ? wear_id : "Empty"]
Handcuffed: Remove
Handcuffed: Remove
Legcuffed
Legcuffed
Close @@ -241,8 +241,8 @@ if(href_list["pockets"]) var/pocket_side = href_list["pockets"] - var/pocket_id = (pocket_side == "right" ? slot_r_store : slot_l_store) - var/obj/item/pocket_item = (pocket_id == slot_r_store ? r_store : l_store) + var/pocket_id = (pocket_side == "right" ? SLOT_R_STORE : SLOT_L_STORE) + var/obj/item/pocket_item = (pocket_id == SLOT_R_STORE ? r_store : l_store) var/obj/item/place_item = usr.get_active_held_item() // Item to place in the pocket, if it's empty var/delay_denominator = 1 @@ -258,7 +258,7 @@ if(do_mob(usr, src, POCKET_STRIP_DELAY/delay_denominator)) //placing an item into the pocket is 4 times faster if(pocket_item) - if(pocket_item == (pocket_id == slot_r_store ? r_store : l_store)) //item still in the pocket we search + if(pocket_item == (pocket_id == SLOT_R_STORE ? r_store : l_store)) //item still in the pocket we search dropItemToGround(pocket_item) else if(place_item) @@ -510,23 +510,23 @@ if(wear_suit) if(wear_suit.flags_inv & HIDEGLOVES) - obscured |= slot_gloves + obscured |= SLOT_GLOVES if(wear_suit.flags_inv & HIDEJUMPSUIT) - obscured |= slot_w_uniform + obscured |= SLOT_W_UNIFORM if(wear_suit.flags_inv & HIDESHOES) - obscured |= slot_shoes + obscured |= SLOT_SHOES if(head) if(head.flags_inv & HIDEMASK) - obscured |= slot_wear_mask + obscured |= SLOT_WEAR_MASK if(head.flags_inv & HIDEEYES) - obscured |= slot_glasses + obscured |= SLOT_GLASSES if(head.flags_inv & HIDEEARS) - obscured |= slot_ears + obscured |= SLOT_EARS if(wear_mask) if(wear_mask.flags_inv & HIDEEYES) - obscured |= slot_glasses + obscured |= SLOT_GLASSES if(obscured.len) return obscured diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index abd86e7bfc..7e2545f93e 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -4,39 +4,39 @@ // Return the item currently in the slot ID /mob/living/carbon/human/get_item_by_slot(slot_id) switch(slot_id) - if(slot_back) + if(SLOT_BACK) return back - if(slot_wear_mask) + if(SLOT_WEAR_MASK) return wear_mask - if(slot_neck) + if(SLOT_NECK) return wear_neck - if(slot_handcuffed) + if(SLOT_HANDCUFFED) return handcuffed - if(slot_legcuffed) + if(SLOT_LEGCUFFED) return legcuffed - if(slot_belt) + if(SLOT_BELT) return belt - if(slot_wear_id) + if(SLOT_WEAR_ID) return wear_id - if(slot_ears) + if(SLOT_EARS) return ears - if(slot_glasses) + if(SLOT_GLASSES) return glasses - if(slot_gloves) + if(SLOT_GLOVES) return gloves - if(slot_head) + if(SLOT_HEAD) return head - if(slot_shoes) + if(SLOT_SHOES) return shoes - if(slot_wear_suit) + if(SLOT_WEAR_SUIT) return wear_suit - if(slot_w_uniform) + if(SLOT_W_UNIFORM) return w_uniform - if(slot_l_store) + if(SLOT_L_STORE) return l_store - if(slot_r_store) + if(SLOT_R_STORE) return r_store - if(slot_s_store) + if(SLOT_S_STORE) return s_store return null @@ -84,17 +84,17 @@ var/not_handled = FALSE //Added in case we make this type path deeper one day switch(slot) - if(slot_belt) + if(SLOT_BELT) belt = I update_inv_belt() - if(slot_wear_id) + if(SLOT_WEAR_ID) wear_id = I sec_hud_set_ID() update_inv_wear_id() - if(slot_ears) + if(SLOT_EARS) ears = I update_inv_ears() - if(slot_glasses) + if(SLOT_GLASSES) glasses = I var/obj/item/clothing/glasses/G = I if(G.glass_colour_type) @@ -107,13 +107,13 @@ if(G.vision_flags || G.darkness_view || G.invis_override || G.invis_view || !isnull(G.lighting_alpha)) update_sight() update_inv_glasses() - if(slot_gloves) + if(SLOT_GLOVES) gloves = I update_inv_gloves() - if(slot_shoes) + if(SLOT_SHOES) shoes = I update_inv_shoes() - if(slot_wear_suit) + if(SLOT_WEAR_SUIT) wear_suit = I if(I.flags_inv & HIDEJUMPSUIT) update_inv_w_uniform() @@ -121,17 +121,17 @@ stop_pulling() //can't pull if restrained update_action_buttons_icon() //certain action buttons will no longer be usable. update_inv_wear_suit() - if(slot_w_uniform) + if(SLOT_W_UNIFORM) w_uniform = I update_suit_sensors() update_inv_w_uniform() - if(slot_l_store) + if(SLOT_L_STORE) l_store = I update_inv_pockets() - if(slot_r_store) + if(SLOT_R_STORE) r_store = I update_inv_pockets() - if(slot_s_store) + if(SLOT_S_STORE) s_store = I update_inv_s_store() else diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 83b22c7e15..02b2c33044 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -864,48 +864,48 @@ GLOBAL_LIST_EMPTY(roundstart_races) var/num_legs = H.get_num_legs() switch(slot) - if(slot_hands) + if(SLOT_HANDS) if(H.get_empty_held_indexes()) return TRUE return FALSE - if(slot_wear_mask) + if(SLOT_WEAR_MASK) if(H.wear_mask) return FALSE - if(!(I.slot_flags & SLOT_MASK)) + if(!(I.slot_flags & ITEM_SLOT_MASK)) return FALSE if(!H.get_bodypart(BODY_ZONE_HEAD)) return FALSE return equip_delay_self_check(I, H, bypass_equip_delay_self) - if(slot_neck) + if(SLOT_NECK) if(H.wear_neck) return FALSE - if( !(I.slot_flags & SLOT_NECK) ) + if( !(I.slot_flags & ITEM_SLOT_NECK) ) return FALSE return TRUE - if(slot_back) + if(SLOT_BACK) if(H.back) return FALSE - if( !(I.slot_flags & SLOT_BACK) ) + if( !(I.slot_flags & ITEM_SLOT_BACK) ) return FALSE return equip_delay_self_check(I, H, bypass_equip_delay_self) - if(slot_wear_suit) + if(SLOT_WEAR_SUIT) if(H.wear_suit) return FALSE - if( !(I.slot_flags & SLOT_OCLOTHING) ) + if( !(I.slot_flags & ITEM_SLOT_OCLOTHING) ) return FALSE return equip_delay_self_check(I, H, bypass_equip_delay_self) - if(slot_gloves) + if(SLOT_GLOVES) if(H.gloves) return FALSE - if( !(I.slot_flags & SLOT_GLOVES) ) + if( !(I.slot_flags & ITEM_SLOT_GLOVES) ) return FALSE if(num_arms < 2) return FALSE return equip_delay_self_check(I, H, bypass_equip_delay_self) - if(slot_shoes) + if(SLOT_SHOES) if(H.shoes) return FALSE - if( !(I.slot_flags & SLOT_FEET) ) + if( !(I.slot_flags & ITEM_SLOT_FEET) ) return FALSE if(num_legs < 2) return FALSE @@ -914,7 +914,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) to_chat(H, "The footwear around here isn't compatible with your feet!") return FALSE return equip_delay_self_check(I, H, bypass_equip_delay_self) - if(slot_belt) + if(SLOT_BELT) if(H.belt) return FALSE @@ -924,40 +924,40 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(!disable_warning) to_chat(H, "You need a jumpsuit before you can attach this [I.name]!") return FALSE - if(!(I.slot_flags & SLOT_BELT)) + if(!(I.slot_flags & ITEM_SLOT_BELT)) return return equip_delay_self_check(I, H, bypass_equip_delay_self) - if(slot_glasses) + if(SLOT_GLASSES) if(H.glasses) return FALSE - if(!(I.slot_flags & SLOT_EYES)) + if(!(I.slot_flags & ITEM_SLOT_EYES)) return FALSE if(!H.get_bodypart(BODY_ZONE_HEAD)) return FALSE return equip_delay_self_check(I, H, bypass_equip_delay_self) - if(slot_head) + if(SLOT_HEAD) if(H.head) return FALSE - if(!(I.slot_flags & SLOT_HEAD)) + if(!(I.slot_flags & ITEM_SLOT_HEAD)) return FALSE if(!H.get_bodypart(BODY_ZONE_HEAD)) return FALSE return equip_delay_self_check(I, H, bypass_equip_delay_self) - if(slot_ears) + if(SLOT_EARS) if(H.ears) return FALSE - if(!(I.slot_flags & SLOT_EARS)) + if(!(I.slot_flags & ITEM_SLOT_EARS)) return FALSE if(!H.get_bodypart(BODY_ZONE_HEAD)) return FALSE return equip_delay_self_check(I, H, bypass_equip_delay_self) - if(slot_w_uniform) + if(SLOT_W_UNIFORM) if(H.w_uniform) return FALSE - if( !(I.slot_flags & SLOT_ICLOTHING) ) + if( !(I.slot_flags & ITEM_SLOT_ICLOTHING) ) return FALSE return equip_delay_self_check(I, H, bypass_equip_delay_self) - if(slot_wear_id) + if(SLOT_WEAR_ID) if(H.wear_id) return FALSE @@ -966,10 +966,10 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(!disable_warning) to_chat(H, "You need a jumpsuit before you can attach this [I.name]!") return FALSE - if( !(I.slot_flags & SLOT_ID) ) + if( !(I.slot_flags & ITEM_SLOT_ID) ) return FALSE return equip_delay_self_check(I, H, bypass_equip_delay_self) - if(slot_l_store) + if(SLOT_L_STORE) if(I.flags_1 & NODROP_1) //Pockets aren't visible, so you can't move NODROP_1 items into them. return FALSE if(H.l_store) @@ -981,11 +981,11 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(!disable_warning) to_chat(H, "You need a jumpsuit before you can attach this [I.name]!") return FALSE - if(I.slot_flags & SLOT_DENYPOCKET) + if(I.slot_flags & ITEM_SLOT_DENYPOCKET) return FALSE - if( I.w_class <= WEIGHT_CLASS_SMALL || (I.slot_flags & SLOT_POCKET) ) + if( I.w_class <= WEIGHT_CLASS_SMALL || (I.slot_flags & ITEM_SLOT_POCKET) ) return TRUE - if(slot_r_store) + if(SLOT_R_STORE) if(I.flags_1 & NODROP_1) return FALSE if(H.r_store) @@ -997,12 +997,12 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(!disable_warning) to_chat(H, "You need a jumpsuit before you can attach this [I.name]!") return FALSE - if(I.slot_flags & SLOT_DENYPOCKET) + if(I.slot_flags & ITEM_SLOT_DENYPOCKET) return FALSE - if( I.w_class <= WEIGHT_CLASS_SMALL || (I.slot_flags & SLOT_POCKET) ) + if( I.w_class <= WEIGHT_CLASS_SMALL || (I.slot_flags & ITEM_SLOT_POCKET) ) return TRUE return FALSE - if(slot_s_store) + if(SLOT_S_STORE) if(I.flags_1 & NODROP_1) return FALSE if(H.s_store) @@ -1022,7 +1022,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) if( istype(I, /obj/item/device/pda) || istype(I, /obj/item/pen) || is_type_in_list(I, H.wear_suit.allowed) ) return TRUE return FALSE - if(slot_handcuffed) + if(SLOT_HANDCUFFED) if(H.handcuffed) return FALSE if(!istype(I, /obj/item/restraints/handcuffs)) @@ -1030,7 +1030,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(num_arms < 2) return FALSE return TRUE - if(slot_legcuffed) + if(SLOT_LEGCUFFED) if(H.legcuffed) return FALSE if(!istype(I, /obj/item/restraints/legcuffs)) @@ -1038,7 +1038,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(num_legs < 2) return FALSE return TRUE - if(slot_in_backpack) + if(SLOT_IN_BACKPACK) if(H.back) if(H.back.SendSignal(COMSIG_TRY_STORAGE_CAN_INSERT, I, H, TRUE)) return TRUE diff --git a/code/modules/mob/living/carbon/human/species_types/angel.dm b/code/modules/mob/living/carbon/human/species_types/angel.dm index 0cb18a29c6..5122294956 100644 --- a/code/modules/mob/living/carbon/human/species_types/angel.dm +++ b/code/modules/mob/living/carbon/human/species_types/angel.dm @@ -6,7 +6,7 @@ mutant_bodyparts = list("wings") default_features = list("mcolor" = "FFF", "tail_human" = "None", "ears" = "None", "wings" = "Angel") use_skintones = 1 - no_equip = list(slot_back) + no_equip = list(SLOT_BACK) blacklisted = 1 limbs_id = "human" skinned_type = /obj/item/stack/sheet/animalhide/human 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 72a92f907b..538d0860ab 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -12,7 +12,7 @@ punchdamagelow = 5 punchdamagehigh = 14 punchstunthreshold = 11 //about 40% chance to stun - no_equip = list(slot_wear_mask, slot_wear_suit, slot_gloves, slot_shoes, slot_w_uniform, slot_s_store) + no_equip = list(SLOT_WEAR_MASK, SLOT_WEAR_SUIT, SLOT_GLOVES, SLOT_SHOES, SLOT_W_UNIFORM, SLOT_S_STORE) nojumpsuit = 1 sexes = 1 damage_overlay_type = "" diff --git a/code/modules/mob/living/carbon/human/species_types/mushpeople.dm b/code/modules/mob/living/carbon/human/species_types/mushpeople.dm index b6c20b9401..67005fad31 100644 --- a/code/modules/mob/living/carbon/human/species_types/mushpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/mushpeople.dm @@ -17,7 +17,7 @@ punchdamagehigh = 14 punchstunthreshold = 14 //about 44% chance to stun - no_equip = list(slot_wear_mask, slot_wear_suit, slot_gloves, slot_shoes, slot_w_uniform) + no_equip = list(SLOT_WEAR_MASK, SLOT_WEAR_SUIT, SLOT_GLOVES, SLOT_SHOES, SLOT_W_UNIFORM) burnmod = 1.25 heatmod = 1.5 diff --git a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm index 3bed07a919..ce22004f43 100644 --- a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm @@ -37,7 +37,7 @@ limbs_id = "shadow" burnmod = 1.5 blacklisted = TRUE - no_equip = list(slot_wear_mask, slot_wear_suit, slot_gloves, slot_shoes, slot_w_uniform, slot_s_store) + no_equip = list(SLOT_WEAR_MASK, SLOT_WEAR_SUIT, SLOT_GLOVES, SLOT_SHOES, SLOT_W_UNIFORM, SLOT_S_STORE) species_traits = list(NOBLOOD,NO_UNDERWEAR,NO_DNA_COPY,NOTRANSSTING,NOEYES) inherent_traits = list(TRAIT_RESISTCOLD,TRAIT_NOBREATH,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_NOGUNS,TRAIT_RADIMMUNE,TRAIT_VIRUSIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER,TRAIT_NOHUNGER) mutanteyes = /obj/item/organ/eyes/night_vision/nightmare diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 75a2e5625d..6572cf4e27 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -101,7 +101,7 @@ There are several things that need to be remembered: remove_overlay(UNIFORM_LAYER) if(client && hud_used) - var/obj/screen/inventory/inv = hud_used.inv_slots[slot_w_uniform] + var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_W_UNIFORM] inv.update_icon() if(istype(w_uniform, /obj/item/clothing/under)) @@ -148,7 +148,7 @@ There are several things that need to be remembered: remove_overlay(ID_LAYER) if(client && hud_used) - var/obj/screen/inventory/inv = hud_used.inv_slots[slot_wear_id] + var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_WEAR_ID] inv.update_icon() var/mutable_appearance/id_overlay = overlays_standing[ID_LAYER] @@ -171,8 +171,8 @@ There are several things that need to be remembered: /mob/living/carbon/human/update_inv_gloves() remove_overlay(GLOVES_LAYER) - if(client && hud_used && hud_used.inv_slots[slot_gloves]) - var/obj/screen/inventory/inv = hud_used.inv_slots[slot_gloves] + if(client && hud_used && hud_used.inv_slots[SLOT_GLOVES]) + var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_GLOVES] inv.update_icon() if(!gloves && bloody_hands) @@ -211,7 +211,7 @@ There are several things that need to be remembered: return if(client && hud_used) - var/obj/screen/inventory/inv = hud_used.inv_slots[slot_glasses] + var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_GLASSES] inv.update_icon() if(glasses) @@ -238,7 +238,7 @@ There are several things that need to be remembered: return if(client && hud_used) - var/obj/screen/inventory/inv = hud_used.inv_slots[slot_ears] + var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_EARS] inv.update_icon() if(ears) @@ -264,7 +264,7 @@ There are several things that need to be remembered: return if(client && hud_used) - var/obj/screen/inventory/inv = hud_used.inv_slots[slot_shoes] + var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_SHOES] inv.update_icon() if(shoes) @@ -286,7 +286,7 @@ There are several things that need to be remembered: remove_overlay(SUIT_STORE_LAYER) if(client && hud_used) - var/obj/screen/inventory/inv = hud_used.inv_slots[slot_s_store] + var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_S_STORE] inv.update_icon() if(s_store) @@ -322,7 +322,7 @@ There are several things that need to be remembered: remove_overlay(BELT_LAYER) if(client && hud_used) - var/obj/screen/inventory/inv = hud_used.inv_slots[slot_belt] + var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_BELT] inv.update_icon() if(belt) @@ -349,7 +349,7 @@ There are several things that need to be remembered: remove_overlay(SUIT_LAYER) if(client && hud_used) - var/obj/screen/inventory/inv = hud_used.inv_slots[slot_wear_suit] + var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_WEAR_SUIT] inv.update_icon() if(istype(wear_suit, /obj/item/clothing/suit)) @@ -375,10 +375,10 @@ There are several things that need to be remembered: if(client && hud_used) var/obj/screen/inventory/inv - inv = hud_used.inv_slots[slot_l_store] + inv = hud_used.inv_slots[SLOT_L_STORE] inv.update_icon() - inv = hud_used.inv_slots[slot_r_store] + inv = hud_used.inv_slots[SLOT_R_STORE] inv.update_icon() if(l_store) diff --git a/code/modules/mob/living/carbon/inventory.dm b/code/modules/mob/living/carbon/inventory.dm index 7f0e12e0a3..bca70c053c 100644 --- a/code/modules/mob/living/carbon/inventory.dm +++ b/code/modules/mob/living/carbon/inventory.dm @@ -1,16 +1,16 @@ /mob/living/carbon/get_item_by_slot(slot_id) switch(slot_id) - if(slot_back) + if(SLOT_BACK) return back - if(slot_wear_mask) + if(SLOT_WEAR_MASK) return wear_mask - if(slot_neck) + if(SLOT_NECK) return wear_neck - if(slot_head) + if(SLOT_HEAD) return head - if(slot_handcuffed) + if(SLOT_HANDCUFFED) return handcuffed - if(slot_legcuffed) + if(SLOT_LEGCUFFED) return legcuffed return null @@ -50,28 +50,28 @@ I.appearance_flags |= NO_CLIENT_COLOR var/not_handled = FALSE switch(slot) - if(slot_back) + if(SLOT_BACK) back = I update_inv_back() - if(slot_wear_mask) + if(SLOT_WEAR_MASK) wear_mask = I wear_mask_update(I, toggle_off = 0) - if(slot_head) + if(SLOT_HEAD) head = I head_update(I) - if(slot_neck) + if(SLOT_NECK) wear_neck = I update_inv_neck(I) - if(slot_handcuffed) + if(SLOT_HANDCUFFED) handcuffed = I update_handcuffed() - if(slot_legcuffed) + if(SLOT_LEGCUFFED) legcuffed = I update_inv_legcuffed() - if(slot_hands) + if(SLOT_HANDS) put_in_hands(I) update_inv_hands() - if(slot_in_backpack) + if(SLOT_IN_BACKPACK) if(!back.SendSignal(COMSIG_TRY_STORAGE_INSERT, I, src, TRUE)) not_handled = TRUE else diff --git a/code/modules/mob/living/carbon/monkey/inventory.dm b/code/modules/mob/living/carbon/monkey/inventory.dm index 46de68dddf..b2ed3e8c74 100644 --- a/code/modules/mob/living/carbon/monkey/inventory.dm +++ b/code/modules/mob/living/carbon/monkey/inventory.dm @@ -1,3 +1,4 @@ +<<<<<<< HEAD /mob/living/carbon/monkey/can_equip(obj/item/I, slot, disable_warning = 0) switch(slot) if(slot_hands) @@ -32,3 +33,39 @@ +======= +/mob/living/carbon/monkey/can_equip(obj/item/I, slot, disable_warning = 0) + switch(slot) + if(SLOT_HANDS) + if(get_empty_held_indexes()) + return TRUE + return FALSE + if(SLOT_WEAR_MASK) + if(wear_mask) + return FALSE + if( !(I.slot_flags & ITEM_SLOT_MASK) ) + return FALSE + return TRUE + if(SLOT_NECK) + if(wear_neck) + return FALSE + if( !(I.slot_flags & ITEM_SLOT_NECK) ) + return FALSE + return TRUE + if(SLOT_HEAD) + if(head) + return FALSE + if( !(I.slot_flags & ITEM_SLOT_HEAD) ) + return FALSE + return TRUE + if(SLOT_BACK) + if(back) + return FALSE + if( !(I.slot_flags & ITEM_SLOT_BACK) ) + return FALSE + return TRUE + return FALSE //Unsupported slot + + + +>>>>>>> ecd0d8b... Merge pull request #37476 from AnturK/thisalwaysbuggedme diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm index 52504235fe..b57211d194 100644 --- a/code/modules/mob/living/carbon/monkey/monkey.dm +++ b/code/modules/mob/living/carbon/monkey/monkey.dm @@ -168,5 +168,5 @@ . = ..() if(prob(10)) var/obj/item/clothing/head/helmet/justice/escape/helmet = new(src) - equip_to_slot_or_del(helmet,slot_head) + equip_to_slot_or_del(helmet,SLOT_HEAD) helmet.attack_self(src) // todo encapsulate toggle diff --git a/code/modules/mob/living/carbon/monkey/punpun.dm b/code/modules/mob/living/carbon/monkey/punpun.dm index fc0d97e3cb..fbe4bc9900 100644 --- a/code/modules/mob/living/carbon/monkey/punpun.dm +++ b/code/modules/mob/living/carbon/monkey/punpun.dm @@ -27,9 +27,9 @@ //bodyparts are actually created before we try to equip things to //those slots if(relic_hat) - equip_to_slot_or_del(new relic_hat, slot_head) + equip_to_slot_or_del(new relic_hat, SLOT_HEAD) if(relic_mask) - equip_to_slot_or_del(new relic_mask, slot_wear_mask) + equip_to_slot_or_del(new relic_mask, SLOT_WEAR_MASK) /mob/living/carbon/monkey/punpun/Life() if(!stat && SSticker.current_state == GAME_STATE_FINISHED && !memory_saved) diff --git a/code/modules/mob/living/carbon/update_icons.dm b/code/modules/mob/living/carbon/update_icons.dm index abd02de061..af685e91cb 100644 --- a/code/modules/mob/living/carbon/update_icons.dm +++ b/code/modules/mob/living/carbon/update_icons.dm @@ -118,8 +118,8 @@ if(!get_bodypart(BODY_ZONE_HEAD)) //Decapitated return - if(client && hud_used && hud_used.inv_slots[slot_wear_mask]) - var/obj/screen/inventory/inv = hud_used.inv_slots[slot_wear_mask] + if(client && hud_used && hud_used.inv_slots[SLOT_WEAR_MASK]) + var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_WEAR_MASK] inv.update_icon() if(wear_mask) @@ -132,8 +132,8 @@ /mob/living/carbon/update_inv_neck() remove_overlay(NECK_LAYER) - if(client && hud_used && hud_used.inv_slots[slot_neck]) - var/obj/screen/inventory/inv = hud_used.inv_slots[slot_neck] + if(client && hud_used && hud_used.inv_slots[SLOT_NECK]) + var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_NECK] inv.update_icon() if(wear_neck) @@ -146,8 +146,8 @@ /mob/living/carbon/update_inv_back() remove_overlay(BACK_LAYER) - if(client && hud_used && hud_used.inv_slots[slot_back]) - var/obj/screen/inventory/inv = hud_used.inv_slots[slot_back] + if(client && hud_used && hud_used.inv_slots[SLOT_BACK]) + var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_BACK] inv.update_icon() if(back) @@ -162,8 +162,8 @@ if(!get_bodypart(BODY_ZONE_HEAD)) //Decapitated return - if(client && hud_used && hud_used.inv_slots[slot_back]) - var/obj/screen/inventory/inv = hud_used.inv_slots[slot_head] + if(client && hud_used && hud_used.inv_slots[SLOT_BACK]) + var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_HEAD] inv.update_icon() if(head) diff --git a/code/modules/mob/living/silicon/robot/inventory.dm b/code/modules/mob/living/silicon/robot/inventory.dm index 5bb9d4d111..2db2baed13 100644 --- a/code/modules/mob/living/silicon/robot/inventory.dm +++ b/code/modules/mob/living/silicon/robot/inventory.dm @@ -85,7 +85,7 @@ else to_chat(src, "You need to disable a module first!") if(.) - O.equipped(src, slot_hands) + O.equipped(src, SLOT_HANDS) O.mouse_opacity = initial(O.mouse_opacity) O.layer = ABOVE_HUD_LAYER O.plane = ABOVE_HUD_PLANE diff --git a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm index 3ebf5b97d8..40aaf83cc4 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm @@ -89,10 +89,10 @@ if(default_storage) var/obj/item/I = new default_storage(src) - equip_to_slot_or_del(I, slot_generic_dextrous_storage) + equip_to_slot_or_del(I, SLOT_GENERC_DEXTROUS_STORAGE) if(default_hatmask) var/obj/item/I = new default_hatmask(src) - equip_to_slot_or_del(I, slot_head) + equip_to_slot_or_del(I, SLOT_HEAD) access_card.flags_1 |= NODROP_1 diff --git a/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm b/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm index c5dd5375d0..49fd54d9f8 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm @@ -59,7 +59,7 @@ if(!D.default_hatmask && seasonal_hats && possible_seasonal_hats.len) var/hat_type = pick(possible_seasonal_hats) var/obj/item/new_hat = new hat_type(D) - D.equip_to_slot_or_del(new_hat, slot_head) + D.equip_to_slot_or_del(new_hat, SLOT_HEAD) D.admin_spawned = admin_spawned D.key = user.key qdel(src) diff --git a/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm b/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm index aac87829bc..3f344c2936 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm @@ -21,13 +21,13 @@ /mob/living/simple_animal/drone/can_equip(obj/item/I, slot) switch(slot) - if(slot_head) + if(SLOT_HEAD) if(head) return 0 - if(!((I.slot_flags & SLOT_HEAD) || (I.slot_flags & SLOT_MASK))) + if(!((I.slot_flags & ITEM_SLOT_HEAD) || (I.slot_flags & ITEM_SLOT_MASK))) return 0 return 1 - if(slot_generic_dextrous_storage) + if(SLOT_GENERC_DEXTROUS_STORAGE) if(internal_storage) return 0 return 1 @@ -36,9 +36,9 @@ /mob/living/simple_animal/drone/get_item_by_slot(slot_id) switch(slot_id) - if(slot_head) + if(SLOT_HEAD) return head - if(slot_generic_dextrous_storage) + if(SLOT_GENERC_DEXTROUS_STORAGE) return internal_storage return ..() @@ -63,10 +63,10 @@ I.plane = ABOVE_HUD_PLANE switch(slot) - if(slot_head) + if(SLOT_HEAD) head = I update_inv_head() - if(slot_generic_dextrous_storage) + if(SLOT_GENERC_DEXTROUS_STORAGE) internal_storage = I update_inv_internal_storage() else @@ -77,7 +77,7 @@ I.equipped(src, slot) /mob/living/simple_animal/drone/getBackSlot() - return slot_generic_dextrous_storage + return SLOT_GENERC_DEXTROUS_STORAGE /mob/living/simple_animal/drone/getBeltSlot() - return slot_generic_dextrous_storage + return SLOT_GENERC_DEXTROUS_STORAGE diff --git a/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm b/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm index 94edad2728..caa1b0112e 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm @@ -54,7 +54,7 @@ /mob/living/simple_animal/hostile/guardian/dextrous/can_equip(obj/item/I, slot) switch(slot) - if(slot_generic_dextrous_storage) + if(SLOT_GENERC_DEXTROUS_STORAGE) if(internal_storage) return 0 return 1 @@ -65,17 +65,17 @@ return switch(slot) - if(slot_generic_dextrous_storage) + if(SLOT_GENERC_DEXTROUS_STORAGE) internal_storage = I update_inv_internal_storage() else to_chat(src, "You are trying to equip this item to an unsupported inventory slot. Report this to a coder!") /mob/living/simple_animal/hostile/guardian/dextrous/getBackSlot() - return slot_generic_dextrous_storage + return SLOT_GENERC_DEXTROUS_STORAGE /mob/living/simple_animal/hostile/guardian/dextrous/getBeltSlot() - return slot_generic_dextrous_storage + return SLOT_GENERC_DEXTROUS_STORAGE /mob/living/simple_animal/hostile/guardian/dextrous/proc/update_inv_internal_storage() if(internal_storage && client && hud_used && hud_used.hud_shown) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm index 351a5ab289..0880b62708 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm @@ -153,7 +153,7 @@ Difficulty: Medium icon_state = "staffofstorms" item_state = "staffofstorms" icon = 'icons/obj/guns/magic.dmi' - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK w_class = WEIGHT_CLASS_BULKY force = 25 damtype = BURN diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 205eeb4b28..8c8bcc0e3b 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -237,14 +237,14 @@ if(!slot_priority) slot_priority = list( \ - slot_back, slot_wear_id,\ - slot_w_uniform, slot_wear_suit,\ - slot_wear_mask, slot_head, slot_neck,\ - slot_shoes, slot_gloves,\ - slot_ears, slot_glasses,\ - slot_belt, slot_s_store,\ - slot_l_store, slot_r_store,\ - slot_generic_dextrous_storage\ + SLOT_BACK, SLOT_WEAR_ID,\ + SLOT_W_UNIFORM, SLOT_WEAR_SUIT,\ + SLOT_WEAR_MASK, SLOT_HEAD, SLOT_NECK,\ + SLOT_SHOES, SLOT_GLOVES,\ + SLOT_EARS, SLOT_GLASSES,\ + SLOT_BELT, SLOT_S_STORE,\ + SLOT_L_STORE, SLOT_R_STORE,\ + SLOT_GENERC_DEXTROUS_STORAGE\ ) for(var/slot in slot_priority) diff --git a/code/modules/modular_computers/computers/item/tablet.dm b/code/modules/modular_computers/computers/item/tablet.dm index e4cecbcb64..9f4fc7234c 100644 --- a/code/modules/modular_computers/computers/item/tablet.dm +++ b/code/modules/modular_computers/computers/item/tablet.dm @@ -9,7 +9,7 @@ max_hardware_size = 1 w_class = WEIGHT_CLASS_SMALL steel_sheet_cost = 1 - slot_flags = SLOT_ID | SLOT_BELT + slot_flags = ITEM_SLOT_ID | ITEM_SLOT_BELT has_light = TRUE //LED flashlight! comp_light_luminosity = 2.3 //Same as the PDA var/finish_color = null diff --git a/code/modules/ninja/energy_katana.dm b/code/modules/ninja/energy_katana.dm index 29552c8a47..2943dde559 100644 --- a/code/modules/ninja/energy_katana.dm +++ b/code/modules/ninja/energy_katana.dm @@ -13,7 +13,7 @@ hitsound = 'sound/weapons/bladeslice.ogg' attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") block_chance = 50 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT sharpness = IS_SHARP max_integrity = 200 resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF @@ -79,7 +79,7 @@ if(user.put_in_hands(src)) msg = "Your Energy Katana teleports into your hand!" - else if(user.equip_to_slot_if_possible(src, slot_belt, 0, 1, 1)) + else if(user.equip_to_slot_if_possible(src, SLOT_BELT, 0, 1, 1)) msg = "Your Energy Katana teleports back to you, sheathing itself as it does so!" else msg = "Your Energy Katana teleports to your location!" diff --git a/code/modules/ninja/outfit.dm b/code/modules/ninja/outfit.dm index 2fd732f0ce..b166c1b262 100644 --- a/code/modules/ninja/outfit.dm +++ b/code/modules/ninja/outfit.dm @@ -11,7 +11,7 @@ back = /obj/item/tank/jetpack/carbondioxide l_pocket = /obj/item/grenade/plastic/x4 r_pocket = /obj/item/tank/internals/emergency_oxygen - internals_slot = slot_r_store + internals_slot = SLOT_R_STORE belt = /obj/item/energy_katana implants = list(/obj/item/implant/explosive) diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm index 80f04c39d2..137a87d1e7 100644 --- a/code/modules/paperwork/clipboard.dm +++ b/code/modules/paperwork/clipboard.dm @@ -9,7 +9,7 @@ throw_range = 7 var/obj/item/pen/haspen //The stored pen. var/obj/item/paper/toppaper //The topmost piece of paper. - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT resistance_flags = FLAMMABLE /obj/item/clipboard/suicide_act(mob/living/carbon/user) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index b9c21e1090..c425ab8c61 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -16,7 +16,7 @@ throw_range = 1 throw_speed = 1 pressure_resistance = 0 - slot_flags = SLOT_HEAD + slot_flags = ITEM_SLOT_HEAD body_parts_covered = HEAD resistance_flags = FLAMMABLE max_integrity = 50 diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index f54b1742fe..7f5307f17f 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -16,7 +16,7 @@ icon = 'icons/obj/bureaucracy.dmi' icon_state = "pen" item_state = "pen" - slot_flags = SLOT_BELT | SLOT_EARS + slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_EARS throwforce = 0 w_class = WEIGHT_CLASS_TINY throw_speed = 3 diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index 5c63c559e3..bc9a181cf3 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -138,7 +138,7 @@ else if(ass) //ASS COPY. By Miauw for(var/i = 0, i < copies, i++) var/icon/temp_img - if(ishuman(ass) && (ass.get_item_by_slot(slot_w_uniform) || ass.get_item_by_slot(slot_wear_suit))) + if(ishuman(ass) && (ass.get_item_by_slot(SLOT_W_UNIFORM) || ass.get_item_by_slot(SLOT_WEAR_SUIT))) to_chat(usr, "You feel kind of silly, copying [ass == usr ? "your" : ass][ass == usr ? "" : "\'s"] ass with [ass == usr ? "your" : "their"] clothes on." ) break else if(toner >= 5 && !busy && check_ass()) //You have to be sitting on the copier and either be a xeno or a human without clothes on. @@ -345,7 +345,7 @@ updateUsrDialog() return 0 else if(ishuman(ass)) - if(!ass.get_item_by_slot(slot_w_uniform) && !ass.get_item_by_slot(slot_wear_suit)) + if(!ass.get_item_by_slot(SLOT_W_UNIFORM) && !ass.get_item_by_slot(SLOT_WEAR_SUIT)) return 1 else return 0 diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index dac5ba3b52..873e41ffc8 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -130,7 +130,7 @@ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' w_class = WEIGHT_CLASS_SMALL flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT materials = list(MAT_METAL = 50, MAT_GLASS = 150) var/pictures_max = 10 var/pictures_left = 10 diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 94e5f4a28e..9a8a434593 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -466,7 +466,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai throw_range = 5 materials = list(MAT_METAL=10, MAT_GLASS=5) flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT attack_verb = list("whipped", "lashed", "disciplined", "flogged") singular_name = "cable piece" full_w_class = WEIGHT_CLASS_SMALL diff --git a/code/modules/projectiles/ammunition/_ammunition.dm b/code/modules/projectiles/ammunition/_ammunition.dm index c2c477f49b..3644b616a3 100644 --- a/code/modules/projectiles/ammunition/_ammunition.dm +++ b/code/modules/projectiles/ammunition/_ammunition.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/ammo.dmi' icon_state = "s-casing" flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT throwforce = 0 w_class = WEIGHT_CLASS_TINY var/fire_sound = null //What sound should play when this ammo is fired diff --git a/code/modules/projectiles/boxes_magazines/_box_magazine.dm b/code/modules/projectiles/boxes_magazines/_box_magazine.dm index 1c5a2b1199..f7bcc0129f 100644 --- a/code/modules/projectiles/boxes_magazines/_box_magazine.dm +++ b/code/modules/projectiles/boxes_magazines/_box_magazine.dm @@ -5,7 +5,7 @@ icon_state = "357" icon = 'icons/obj/ammo.dmi' flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT item_state = "syringe_kit" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 8c621dab82..c10c6cc376 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -8,7 +8,7 @@ icon_state = "detective" item_state = "gun" flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT materials = list(MAT_METAL=2000) w_class = WEIGHT_CLASS_NORMAL throwforce = 5 diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm index 2c36f14245..61d2c81ea7 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -204,8 +204,8 @@ desc = sawn_desc w_class = WEIGHT_CLASS_NORMAL item_state = "gun" - slot_flags &= ~SLOT_BACK //you can't sling it on your back - slot_flags |= SLOT_BELT //but you can wear it on your belt (poorly concealed under a trenchcoat, ideally) + slot_flags &= ~ITEM_SLOT_BACK //you can't sling it on your back + slot_flags |= ITEM_SLOT_BELT //but you can wear it on your belt (poorly concealed under a trenchcoat, ideally) sawn_off = TRUE update_icon() return 1 diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm index a174874686..2951848c36 100644 --- a/code/modules/projectiles/guns/ballistic/automatic.dm +++ b/code/modules/projectiles/guns/ballistic/automatic.dm @@ -363,7 +363,7 @@ zoomable = TRUE zoom_amt = 10 //Long range, enough to see in front of you, but no tiles behind you. zoom_out_amt = 13 - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK actions_types = list() @@ -393,7 +393,7 @@ can_unsuppress = TRUE can_suppress = TRUE w_class = WEIGHT_CLASS_HUGE - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK actions_types = list() /obj/item/gun/ballistic/automatic/surplus/update_icon() diff --git a/code/modules/projectiles/guns/ballistic/laser_gatling.dm b/code/modules/projectiles/guns/ballistic/laser_gatling.dm index cc719f98ee..995fe2d2b1 100644 --- a/code/modules/projectiles/guns/ballistic/laser_gatling.dm +++ b/code/modules/projectiles/guns/ballistic/laser_gatling.dm @@ -9,7 +9,7 @@ item_state = "backpack" lefthand_file = 'icons/mob/inhands/equipment/backpack_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/backpack_righthand.dmi' - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK w_class = WEIGHT_CLASS_HUGE var/obj/item/gun/ballistic/minigun/gun var/armed = 0 //whether the gun is attached, 0 is attached, 1 is the gun is wielded. @@ -33,7 +33,7 @@ /obj/item/minigunpack/attack_hand(var/mob/living/carbon/user) if(src.loc == user) if(!armed) - if(user.get_item_by_slot(slot_back) == src) + if(user.get_item_by_slot(SLOT_BACK) == src) armed = 1 if(!user.put_in_hands(gun)) armed = 0 diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index 3cbff78aee..06b5551f2b 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -257,7 +257,7 @@ weapon_weight = WEAPON_MEDIUM force = 10 flags_1 = CONDUCT_1 - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK mag_type = /obj/item/ammo_box/magazine/internal/shot/dual sawn_desc = "Omar's coming!" obj_flags = UNIQUE_RENAME @@ -314,7 +314,7 @@ if(istype(A, /obj/item/stack/cable_coil) && !sawn_off) var/obj/item/stack/cable_coil/C = A if(C.use(10)) - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK to_chat(user, "You tie the lengths of cable to the shotgun, making a sling.") slung = TRUE update_icon() @@ -340,7 +340,7 @@ item_state = "gun" w_class = WEIGHT_CLASS_NORMAL sawn_off = TRUE - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT /obj/item/gun/ballistic/revolver/reverse //Fires directly at its user... unless the user is a clown, of course. diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm index 03f16e4b01..6634d64483 100644 --- a/code/modules/projectiles/guns/ballistic/shotgun.dm +++ b/code/modules/projectiles/guns/ballistic/shotgun.dm @@ -6,7 +6,7 @@ w_class = WEIGHT_CLASS_BULKY force = 10 flags_1 = CONDUCT_1 - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK mag_type = /obj/item/ammo_box/magazine/internal/shot casing_ejector = FALSE var/recentpump = 0 // to prevent spammage @@ -107,7 +107,7 @@ desc = "This piece of junk looks like something that could have been used 700 years ago. It feels slightly moist." icon_state = "moistnugget" item_state = "moistnugget" - slot_flags = 0 //no SLOT_BACK sprite, alas + slot_flags = 0 //no ITEM_SLOT_BACK sprite, alas mag_type = /obj/item/ammo_box/magazine/internal/boltaction var/bolt_open = FALSE can_bayonet = TRUE diff --git a/code/modules/projectiles/guns/ballistic/toy.dm b/code/modules/projectiles/guns/ballistic/toy.dm index 2089354e4f..23916da46a 100644 --- a/code/modules/projectiles/guns/ballistic/toy.dm +++ b/code/modules/projectiles/guns/ballistic/toy.dm @@ -73,7 +73,7 @@ item_state = "crossbow" mag_type = /obj/item/ammo_box/magazine/internal/shot/toy/crossbow fire_sound = 'sound/items/syringeproj.ogg' - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL /obj/item/gun/ballistic/automatic/c20r/toy //This is the syndicate variant with syndicate firing pin and riot darts. diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 29d0ee0958..a28ddf7943 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -79,7 +79,7 @@ w_class = WEIGHT_CLASS_BULKY force = 10 flags_1 = CONDUCT_1 - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK ammo_type = list(/obj/item/ammo_casing/energy/laser/accelerator) pin = null ammo_x_offset = 3 diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index 4dbb9e31f7..efdf22313a 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -7,7 +7,7 @@ force = 10 modifystate = TRUE flags_1 = CONDUCT_1 - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse, /obj/item/ammo_casing/energy/electrode, /obj/item/ammo_casing/energy/laser) cell_type = "/obj/item/stock_parts/cell/pulse" @@ -39,7 +39,7 @@ name = "pulse carbine" desc = "A compact variant of the pulse rifle with less firepower but easier storage." w_class = WEIGHT_CLASS_NORMAL - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT icon_state = "pulse_carbine" item_state = null cell_type = "/obj/item/stock_parts/cell/pulse/carbine" @@ -54,7 +54,7 @@ name = "pulse pistol" desc = "A pulse rifle in an easily concealed handgun package with low capacity." w_class = WEIGHT_CLASS_SMALL - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT icon_state = "pulse_pistol" item_state = "gun" cell_type = "/obj/item/stock_parts/cell/pulse/pistol" diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 547e49cbdf..5e7ab49386 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -6,7 +6,7 @@ can_flashlight = 1 w_class = WEIGHT_CLASS_HUGE flags_1 = CONDUCT_1 - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK ammo_type = list(/obj/item/ammo_casing/energy/ion) ammo_x_offset = 3 flight_x_offset = 17 @@ -20,7 +20,7 @@ desc = "The MK.II Prototype Ion Projector is a lightweight carbine version of the larger ion rifle, built to be ergonomic and efficient." icon_state = "ioncarbine" w_class = WEIGHT_CLASS_NORMAL - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT pin = null ammo_x_offset = 2 flight_x_offset = 18 diff --git a/code/modules/projectiles/guns/magic/staff.dm b/code/modules/projectiles/guns/magic/staff.dm index c268c15272..c58d452043 100644 --- a/code/modules/projectiles/guns/magic/staff.dm +++ b/code/modules/projectiles/guns/magic/staff.dm @@ -1,5 +1,5 @@ /obj/item/gun/magic/staff - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi' flags_2 = NO_MAT_REDEMPTION_2 diff --git a/code/modules/projectiles/guns/misc/beam_rifle.dm b/code/modules/projectiles/guns/misc/beam_rifle.dm index 2ec645df2e..89d8e18cd3 100644 --- a/code/modules/projectiles/guns/misc/beam_rifle.dm +++ b/code/modules/projectiles/guns/misc/beam_rifle.dm @@ -17,7 +17,7 @@ icon_state = "esniper" item_state = "esniper" fire_sound = 'sound/weapons/beam_sniper.ogg' - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK force = 15 materials = list() recoil = 4 diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 1be1afccdd..7dfe095a6d 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -254,18 +254,18 @@ possible_transfer_amounts = list(10,15,20,25,30,50,70) volume = 70 flags_inv = HIDEHAIR - slot_flags = SLOT_HEAD + slot_flags = ITEM_SLOT_HEAD resistance_flags = NONE armor = list("melee" = 10, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 75, "acid" = 50) //Weak melee protection, because you can wear it on your head slot_equipment_priority = list( \ - slot_back, slot_wear_id,\ - slot_w_uniform, slot_wear_suit,\ - slot_wear_mask, slot_head, slot_neck,\ - slot_shoes, slot_gloves,\ - slot_ears, slot_glasses,\ - slot_belt, slot_s_store,\ - slot_l_store, slot_r_store,\ - slot_generic_dextrous_storage + SLOT_BACK, SLOT_WEAR_ID,\ + SLOT_W_UNIFORM, SLOT_WEAR_SUIT,\ + SLOT_WEAR_MASK, SLOT_HEAD, SLOT_NECK,\ + SLOT_SHOES, SLOT_GLOVES,\ + SLOT_EARS, SLOT_GLASSES,\ + SLOT_BELT, SLOT_S_STORE,\ + SLOT_L_STORE, SLOT_R_STORE,\ + SLOT_GENERC_DEXTROUS_STORAGE ) /obj/item/reagent_containers/glass/bucket/attackby(obj/O, mob/user, params) @@ -286,17 +286,17 @@ /obj/item/reagent_containers/glass/bucket/equipped(mob/user, slot) ..() - if(slot == slot_head && reagents.total_volume) + if(slot == SLOT_HEAD && reagents.total_volume) to_chat(user, "[src]'s contents spill all over you!") reagents.reaction(user, TOUCH) reagents.clear_reagents() /obj/item/reagent_containers/glass/bucket/equip_to_best_slot(var/mob/M) if(reagents.total_volume) //If there is water in a bucket, don't quick equip it to the head - var/index = slot_equipment_priority.Find(slot_head) - slot_equipment_priority.Remove(slot_head) + var/index = slot_equipment_priority.Find(SLOT_HEAD) + slot_equipment_priority.Remove(SLOT_HEAD) . = ..() - slot_equipment_priority.Insert(index, slot_head) + slot_equipment_priority.Insert(index, SLOT_HEAD) return return ..() diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 5ae253022f..8d4e2d88f9 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -11,7 +11,7 @@ possible_transfer_amounts = list() resistance_flags = ACID_PROOF container_type = OPENCONTAINER - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT var/ignore_flags = 0 var/infinite = FALSE diff --git a/code/modules/reagents/reagent_containers/medspray.dm b/code/modules/reagents/reagent_containers/medspray.dm index 2f715084ad..83d8936640 100644 --- a/code/modules/reagents/reagent_containers/medspray.dm +++ b/code/modules/reagents/reagent_containers/medspray.dm @@ -9,7 +9,7 @@ flags_1 = NOBLUDGEON_1 obj_flags = UNIQUE_RENAME container_type = OPENCONTAINER - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT throwforce = 0 w_class = WEIGHT_CLASS_SMALL throw_speed = 3 diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 4b2e3f128c..9a492d9a33 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -8,7 +8,7 @@ righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi' flags_1 = NOBLUDGEON_1 container_type = OPENCONTAINER - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT throwforce = 0 w_class = WEIGHT_CLASS_SMALL throw_speed = 3 diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index a669f23dde..9e0c8fce69 100644 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -157,7 +157,7 @@ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT + slot_flags = ITEM_SLOT_BELT /obj/item/device/destTagger/suicide_act(mob/living/user) user.visible_message("[user] begins tagging [user.p_their()] final destination! It looks like [user.p_theyre()] trying to commit suicide!") diff --git a/code/modules/research/xenobiology/crossbreeding/burning.dm b/code/modules/research/xenobiology/crossbreeding/burning.dm index ab0000626c..a63118a6fa 100644 --- a/code/modules/research/xenobiology/crossbreeding/burning.dm +++ b/code/modules/research/xenobiology/crossbreeding/burning.dm @@ -386,7 +386,7 @@ Burning extracts: item_state = "adamshield" w_class = WEIGHT_CLASS_HUGE armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 0, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 70) - slot_flags = SLOT_BACK + slot_flags = ITEM_SLOT_BACK block_chance = 75 throw_range = 1 //How far do you think you're gonna throw a solid crystalline shield...? throw_speed = 2 diff --git a/code/modules/research/xenobiology/crossbreeding/regenerative.dm b/code/modules/research/xenobiology/crossbreeding/regenerative.dm index 3d3c35b4de..7c8d8fa78f 100644 --- a/code/modules/research/xenobiology/crossbreeding/regenerative.dm +++ b/code/modules/research/xenobiology/crossbreeding/regenerative.dm @@ -89,10 +89,10 @@ Regenerative extracts: /obj/item/slimecross/regenerative/darkpurple/core_effect(mob/living/target, mob/user) var/equipped = 0 - equipped += target.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/purple(null), slot_shoes) - equipped += target.equip_to_slot_or_del(new /obj/item/clothing/under/color/lightpurple(null), slot_w_uniform) - equipped += target.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/purple(null), slot_gloves) - equipped += target.equip_to_slot_or_del(new /obj/item/clothing/head/soft/purple(null), slot_head) + equipped += target.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/purple(null), SLOT_SHOES) + equipped += target.equip_to_slot_or_del(new /obj/item/clothing/under/color/lightpurple(null), SLOT_W_UNIFORM) + equipped += target.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/purple(null), SLOT_GLOVES) + equipped += target.equip_to_slot_or_del(new /obj/item/clothing/head/soft/purple(null), SLOT_HEAD) if(equipped > 0) target.visible_message("The milky goo congeals into clothing!") @@ -104,13 +104,13 @@ Regenerative extracts: return var/mob/living/carbon/human/H = target var/fireproofed = FALSE - if(H.get_item_by_slot(slot_wear_suit)) + if(H.get_item_by_slot(SLOT_WEAR_SUIT)) fireproofed = TRUE - var/obj/item/clothing/C = H.get_item_by_slot(slot_wear_suit) + var/obj/item/clothing/C = H.get_item_by_slot(SLOT_WEAR_SUIT) fireproof(C) - if(H.get_item_by_slot(slot_head)) + if(H.get_item_by_slot(SLOT_HEAD)) fireproofed = TRUE - var/obj/item/clothing/C = H.get_item_by_slot(slot_head) + var/obj/item/clothing/C = H.get_item_by_slot(SLOT_HEAD) fireproof(C) if(fireproofed) target.visible_message("Some of [target]'s clothing gets coated in the goo, and turns blue!") diff --git a/code/modules/spells/spell_types/barnyard.dm b/code/modules/spells/spell_types/barnyard.dm index f183f0420e..8411b5f86f 100644 --- a/code/modules/spells/spell_types/barnyard.dm +++ b/code/modules/spells/spell_types/barnyard.dm @@ -50,7 +50,7 @@ "Your face burns up, and shortly after the fire you realise you have the face of a barnyard animal!") if(!target.dropItemToGround(target.wear_mask)) qdel(target.wear_mask) - target.equip_to_slot_if_possible(magichead, slot_wear_mask, 1, 1) + target.equip_to_slot_if_possible(magichead, SLOT_WEAR_MASK, 1, 1) playsound(get_turf(target), mSounds[randM], 50, 1) target.flash_act() diff --git a/code/modules/spells/spell_types/lichdom.dm b/code/modules/spells/spell_types/lichdom.dm index d991a3df9c..8d6a4c18e6 100644 --- a/code/modules/spells/spell_types/lichdom.dm +++ b/code/modules/spells/spell_types/lichdom.dm @@ -63,9 +63,9 @@ H.dropItemToGround(H.w_uniform) H.dropItemToGround(H.wear_suit) H.dropItemToGround(H.head) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/wizrobe/black(H), slot_wear_suit) - H.equip_to_slot_or_del(new /obj/item/clothing/head/wizard/black(H), slot_head) - H.equip_to_slot_or_del(new /obj/item/clothing/under/color/black(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/wizrobe/black(H), SLOT_WEAR_SUIT) + H.equip_to_slot_or_del(new /obj/item/clothing/head/wizard/black(H), SLOT_HEAD) + H.equip_to_slot_or_del(new /obj/item/clothing/under/color/black(H), SLOT_W_UNIFORM) // you only get one phylactery. M.mind.RemoveSpell(src) @@ -124,10 +124,10 @@ var/mob/old_body = mind.current var/mob/living/carbon/human/lich = new(item_turf) - lich.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal/magic(lich), slot_shoes) - lich.equip_to_slot_or_del(new /obj/item/clothing/under/color/black(lich), slot_w_uniform) - lich.equip_to_slot_or_del(new /obj/item/clothing/suit/wizrobe/black(lich), slot_wear_suit) - lich.equip_to_slot_or_del(new /obj/item/clothing/head/wizard/black(lich), slot_head) + lich.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal/magic(lich), SLOT_SHOES) + lich.equip_to_slot_or_del(new /obj/item/clothing/under/color/black(lich), SLOT_W_UNIFORM) + lich.equip_to_slot_or_del(new /obj/item/clothing/suit/wizrobe/black(lich), SLOT_WEAR_SUIT) + lich.equip_to_slot_or_del(new /obj/item/clothing/head/wizard/black(lich), SLOT_HEAD) lich.real_name = mind.name mind.transfer_to(lich) diff --git a/code/modules/vehicles/scooter.dm b/code/modules/vehicles/scooter.dm index a5c1082780..2daf3897c5 100644 --- a/code/modules/vehicles/scooter.dm +++ b/code/modules/vehicles/scooter.dm @@ -72,7 +72,7 @@ H.throw_at(throw_target, 4, 3) H.Knockdown(100) H.adjustStaminaLoss(40) - var/head_slot = H.get_item_by_slot(slot_head) + var/head_slot = H.get_item_by_slot(SLOT_HEAD) if(!head_slot || !(istype(head_slot,/obj/item/clothing/head/helmet) || istype(head_slot,/obj/item/clothing/head/hardhat))) H.adjustBrainLoss(3) H.updatehealth() @@ -185,7 +185,7 @@ H.throw_at(throw_target, 4, 3) H.Knockdown(30) H.adjustStaminaLoss(10) - var/head_slot = H.get_item_by_slot(slot_head) + var/head_slot = H.get_item_by_slot(SLOT_HEAD) if(!head_slot || !(istype(head_slot,/obj/item/clothing/head/helmet) || istype(head_slot,/obj/item/clothing/head/hardhat))) H.adjustBrainLoss(1) H.updatehealth() From 48ef6d23499be27a3d1961e102aaf3845dc7e938 Mon Sep 17 00:00:00 2001 From: oranges Date: Sat, 28 Apr 2018 13:25:56 +1200 Subject: [PATCH 002/415] Adds log and management tabs to permissions panel --- SQL/database_changelog.txt | 13 +- SQL/tgstation_schema.sql | 2 + SQL/tgstation_schema_prefixed.sql | 2 + code/__DEFINES/subsystems.dm | 2 +- code/modules/admin/admin_ranks.dm | 1 - code/modules/admin/permissionedit.dm | 196 +++++++++++++++++++-------- code/modules/admin/topic.dm | 15 ++ html/panels.css | 13 ++ 8 files changed, 185 insertions(+), 59 deletions(-) diff --git a/SQL/database_changelog.txt b/SQL/database_changelog.txt index 6e6bd7f7ca..83bc78050d 100644 --- a/SQL/database_changelog.txt +++ b/SQL/database_changelog.txt @@ -2,14 +2,22 @@ Any time you make a change to the schema files, remember to increment the databa The latest database version is 4.1; The query to update the schema revision table is: -INSERT INTO `schema_revision` (`major`, `minor`) VALUES (4, 1); +INSERT INTO `schema_revision` (`major`, `minor`) VALUES (4, 2); or -INSERT INTO `SS13_schema_revision` (`major`, `minor`) VALUES (4, 1); +INSERT INTO `SS13_schema_revision` (`major`, `minor`) VALUES (4, 2); In any query remember to add a prefix to the table names if you use one. ---------------------------------------------------- +Version 4.2, 17 April 2018, by Jordie0608 +Modified table 'admin', adding the columns 'round_id' and 'target' +ALTER TABLE `admin_log` + ADD COLUMN `round_id` INT UNSIGNED NOT NULL AFTER `datetime`, + ADD COLUMN `target` VARCHAR(32) NOT NULL AFTER `operation`; + +---------------------------------------------------- + Version 4.1, 3 February 2018, by Jordie0608 Modified tables 'admin', 'admin_log' and 'admin_rank', removing unnecessary columns and adding support for excluding rights flags from admin ranks. This change was made to enable use of sql-based admin loading. @@ -41,7 +49,6 @@ ALTER TABLE `admin_ranks` DROP PRIMARY KEY, ADD PRIMARY KEY (`rank`); - ---------------------------------------------------- Version 4.0, 12 November 2017, by Jordie0608 diff --git a/SQL/tgstation_schema.sql b/SQL/tgstation_schema.sql index ddd31a7e80..92411ea895 100644 --- a/SQL/tgstation_schema.sql +++ b/SQL/tgstation_schema.sql @@ -33,9 +33,11 @@ DROP TABLE IF EXISTS `admin_log`; CREATE TABLE `admin_log` ( `id` int(11) NOT NULL AUTO_INCREMENT, `datetime` datetime NOT NULL, + `round_id` int(11) unsigned NOT NULL, `adminckey` varchar(32) NOT NULL, `adminip` int(10) unsigned NOT NULL, `operation` enum('add admin','remove admin','change admin rank','add rank','remove rank','change rank flags') NOT NULL, + `target` varchar(32) NOT NULL, `log` varchar(1000) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; diff --git a/SQL/tgstation_schema_prefixed.sql b/SQL/tgstation_schema_prefixed.sql index 01e0ed150b..de9d67e335 100644 --- a/SQL/tgstation_schema_prefixed.sql +++ b/SQL/tgstation_schema_prefixed.sql @@ -33,9 +33,11 @@ DROP TABLE IF EXISTS `SS13_admin_log`; CREATE TABLE `SS13_admin_log` ( `id` int(11) NOT NULL AUTO_INCREMENT, `datetime` datetime NOT NULL, + `round_id` int(11) unsigned NOT NULL, `adminckey` varchar(32) NOT NULL, `adminip` int(10) unsigned NOT NULL, `operation` enum('add admin','remove admin','change admin rank','add rank','remove rank','change rank flags') NOT NULL, + `target` varchar(32) NOT NULL, `log` varchar(1000) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index 3cec4248d2..3740a542e9 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -1,7 +1,7 @@ //Update this whenever the db schema changes //make sure you add an update to the schema_version stable in the db changelog #define DB_MAJOR_VERSION 4 -#define DB_MINOR_VERSION 1 +#define DB_MINOR_VERSION 2 //Timing subsystem //Don't run if there is an identical unique timer active diff --git a/code/modules/admin/admin_ranks.dm b/code/modules/admin/admin_ranks.dm index dee4787753..7873a97f7c 100644 --- a/code/modules/admin/admin_ranks.dm +++ b/code/modules/admin/admin_ranks.dm @@ -242,7 +242,6 @@ GLOBAL_PROTECT(protected_ranks) var/skip if(rank_names[admin_rank] == null) message_admins("[admin_ckey] loaded with invalid admin rank [admin_rank].") - log_sql("[admin_ckey] loaded with invalid admin rank [admin_rank].") skip = 1 if(GLOB.admin_datums[admin_ckey] || GLOB.deadmins[admin_ckey]) skip = 1 diff --git a/code/modules/admin/permissionedit.dm b/code/modules/admin/permissionedit.dm index f7bb770079..1d0bdddf03 100644 --- a/code/modules/admin/permissionedit.dm +++ b/code/modules/admin/permissionedit.dm @@ -6,56 +6,106 @@ return usr.client.holder.edit_admin_permissions() -/datum/admins/proc/edit_admin_permissions() +/datum/admins/proc/edit_admin_permissions(action, target, operation, page) if(!check_rights(R_PERMISSIONS)) return - - var/list/output = list({" - - -Permissions Panel - - - - -
- - - - - - - -"}) - - for(var/adm_ckey in GLOB.admin_datums+GLOB.deadmins) - var/datum/admins/D = GLOB.admin_datums[adm_ckey] - if(!D) - D = GLOB.deadmins[adm_ckey] - if (!D) - continue - - var/deadminlink = "" - if (D.deadmined) - deadminlink = " \[RA\]" - else - deadminlink = " \[DA\]" - - output += "" - output += "" - output += "" - output += "" - output += "" - output += "" - output += "" - - output += {" -
CKEY \[+\]RANKPERMISSIONSDENIEDALLOWED TO EDIT
[adm_ckey]
[deadminlink]\[-\]\[SYNC TGDB\]
[D.rank.name][rights2text(D.rank.include_rights," ")][rights2text(D.rank.exclude_rights," ", "-")][rights2text(D.rank.can_edit_rights," ", "*")]
-
Search:
- -"} - - usr << browse(jointext(output, ""),"window=editrights;size=1000x650") + var/list/output = list("\[Permissions\]") + if(action) + output += " | \[Log\] | \[Management\]
" + else + output += "
\[Log\]
\[Management\]" + if(action == 1) + var/list/searchlist = list(" WHERE ") + if(target) + searchlist += "ckey = '[sanitizeSQL(target)]'" + if(operation) + if(target) + searchlist += " AND " + searchlist += "operation = '[sanitizeSQL(operation)]'" + var/search + if(searchlist.len > 1) + search = searchlist.Join("") + var/logcount = 0 + var/logssperpage = 20 + var/pagecount = 0 + page = text2num(page) + var/datum/DBQuery/query_count_admin_logs = SSdbcore.NewQuery("SELECT COUNT(id) FROM [format_table_name("admin_log")][search]") + if(!query_count_admin_logs.warn_execute()) + return + if(query_count_admin_logs.NextRow()) + logcount = text2num(query_count_admin_logs.item[1]) + if(logcount > logssperpage) + output += "
Page: " + while(logcount > 0) + output += "|[pagecount == page ? "\[[pagecount]\]" : "\[[pagecount]\]"]" + logcount -= logssperpage + pagecount++ + output += "|" + var/limit = " LIMIT [logssperpage * page], [logssperpage]" + var/datum/DBQuery/query_search_admin_logs = SSdbcore.NewQuery("SELECT datetime, round_id, adminckey, operation, target, log FROM [format_table_name("admin_log")][search] ORDER BY datetime DESC[limit]") + if(!query_search_admin_logs.warn_execute()) + return + while(query_search_admin_logs.NextRow()) + var/datetime = query_search_admin_logs.item[1] + var/round_id = query_search_admin_logs.item[2] + var/admin_ckey = query_search_admin_logs.item[3] + operation = query_search_admin_logs.item[4] + target = query_search_admin_logs.item[5] + var/log = query_search_admin_logs.item[6] + output += "

[datetime] | Round ID [round_id] | Admin [admin_ckey] | Operation [operation] on [target]
[log]


" + if(action == 2) + output += "

Admin ckeys with invalid ranks

" + var/datum/DBQuery/query_check_admin_errors = SSdbcore.NewQuery("SELECT ckey, [format_table_name("admin")].rank FROM [format_table_name("admin")] LEFT JOIN [format_table_name("admin_ranks")] ON [format_table_name("admin_ranks")].rank = [format_table_name("admin")].rank WHERE [format_table_name("admin_ranks")].rank IS NULL") + if(!query_check_admin_errors.warn_execute()) + return + while(query_check_admin_errors.NextRow()) + var/admin_ckey = query_check_admin_errors.item[1] + var/admin_rank = query_check_admin_errors.item[2] + output += "[admin_ckey] has non-existant rank [admin_rank] | \[Change Rank\] | \[Remove\]" + output += "
" + output += "

Unused ranks

" + var/datum/DBQuery/query_check_unused_rank = SSdbcore.NewQuery("SELECT [format_table_name("admin_ranks")].rank FROM [format_table_name("admin_ranks")] LEFT JOIN [format_table_name("admin")] ON [format_table_name("admin")].rank = [format_table_name("admin_ranks")].rank WHERE [format_table_name("admin")].rank IS NULL") + if(!query_check_unused_rank.warn_execute()) + return + while(query_check_unused_rank.NextRow()) + var/admin_rank = query_check_unused_rank.item[1] + output += "Rank [admin_rank] is not held by any admin | \[Remove\]" + output += "
" + else if(!action) + output += {" + Permissions Panel + + + +
+ + + + + + + + "} + for(var/adm_ckey in GLOB.admin_datums+GLOB.deadmins) + var/datum/admins/D = GLOB.admin_datums[adm_ckey] + if(!D) + D = GLOB.deadmins[adm_ckey] + if (!D) + continue + var/deadminlink = "" + if (D.deadmined) + deadminlink = " \[RA\]" + else + deadminlink = " \[DA\]" + output += "" + output += "" + output += "" + output += "" + output += "" + output += "" + output += "" + output += "
CKEY \[+\]RANKPERMISSIONSDENIEDALLOWED TO EDIT
[adm_ckey]
[deadminlink]\[-\]\[SYNC TGDB\]
[D.rank.name][rights2text(D.rank.include_rights," ")][rights2text(D.rank.exclude_rights," ", "-")][rights2text(D.rank.can_edit_rights," ", "*")]
Search:
" + usr << browse("[jointext(output, "")]","window=editrights;size=1000x650") /datum/admins/proc/edit_rights_topic(list/href_list) if(!check_rights(R_PERMISSIONS)) @@ -142,10 +192,17 @@ return FALSE if(use_db) . = sanitizeSQL(.) + //if an admin exists without a datum they won't be caught by the above + var/datum/DBQuery/query_admin_in_db = SSdbcore.NewQuery("SELECT 1 FROM [format_table_name("admin_ranks")] WHERE ckey = '[.]'") + if(!query_admin_in_db.warn_execute()) + return FALSE + if(query_admin_in_db.NextRow()) + to_chat(usr, "[.] already listed in admin database. Check the Management tab if they don't appear in the list of admins.") + return FALSE var/datum/DBQuery/query_add_admin = SSdbcore.NewQuery("INSERT INTO [format_table_name("admin")] (ckey, rank) VALUES ('[.]', 'NEW ADMIN')") if(!query_add_admin.warn_execute()) return FALSE - var/datum/DBQuery/query_add_admin_log = SSdbcore.NewQuery("INSERT INTO [format_table_name("admin_log")] (datetime, adminckey, adminip, operation, log) VALUES ('[SQLtime()]', '[sanitizeSQL(usr.ckey)]', INET_ATON('[sanitizeSQL(usr.client.address)]'), 'add admin', 'New admin added: [.]')") + var/datum/DBQuery/query_add_admin_log = SSdbcore.NewQuery("INSERT INTO [format_table_name("admin_log")] (datetime, round_id, adminckey, adminip, operation, target, log) VALUES ('[SQLtime()]', '[GLOB.round_id]', '[sanitizeSQL(usr.ckey)]', INET_ATON('[sanitizeSQL(usr.client.address)]'), 'add admin', '[.]', 'New admin added: [.]')") if(!query_add_admin_log.warn_execute()) return FALSE @@ -153,12 +210,13 @@ if(alert("Are you sure you want to remove [admin_ckey]?","Confirm Removal","Do it","Cancel") == "Do it") GLOB.admin_datums -= admin_ckey GLOB.deadmins -= admin_ckey - D.disassociate() + if(D) + D.disassociate() if(use_db) var/datum/DBQuery/query_add_rank = SSdbcore.NewQuery("DELETE FROM [format_table_name("admin")] WHERE ckey = '[admin_ckey]'") if(!query_add_rank.warn_execute()) return - var/datum/DBQuery/query_add_rank_log = SSdbcore.NewQuery("INSERT INTO [format_table_name("admin_log")] (datetime, adminckey, adminip, operation, log) VALUES ('[SQLtime()]', '[sanitizeSQL(usr.ckey)]', INET_ATON('[sanitizeSQL(usr.client.address)]'), 'remove admin', 'Admin removed: [admin_ckey]')") + var/datum/DBQuery/query_add_rank_log = SSdbcore.NewQuery("INSERT INTO [format_table_name("admin_log")] (datetime, round_id, adminckey, adminip, operation, target, log) VALUES ('[SQLtime()]', '[GLOB.round_id]', '[sanitizeSQL(usr.ckey)]', INET_ATON('[sanitizeSQL(usr.client.address)]'), 'remove admin', '[admin_ckey]', 'Admin removed: [admin_ckey]')") if(!query_add_rank_log.warn_execute()) return message_admins("[key_name_admin(usr)] removed [admin_ckey] from the admins list [use_db ? "permanently" : "temporarily"]") @@ -216,13 +274,13 @@ var/datum/DBQuery/query_add_rank = SSdbcore.NewQuery("INSERT INTO [format_table_name("admin_ranks")] (rank, flags, exclude_flags, can_edit_flags) VALUES ('[new_rank]', '0', '0', '0')") if(!query_add_rank.warn_execute()) return - var/datum/DBQuery/query_add_rank_log = SSdbcore.NewQuery("INSERT INTO [format_table_name("admin_log")] (datetime, adminckey, adminip, operation, log) VALUES ('[SQLtime()]', '[sanitizeSQL(usr.ckey)]', INET_ATON('[sanitizeSQL(usr.client.address)]'), 'add rank', 'New rank added: [admin_ckey]')") + var/datum/DBQuery/query_add_rank_log = SSdbcore.NewQuery("INSERT INTO [format_table_name("admin_log")] (datetime, round_id, adminckey, adminip, operation, target, log) VALUES ('[SQLtime()]', '[GLOB.round_id]', '[sanitizeSQL(usr.ckey)]', INET_ATON('[sanitizeSQL(usr.client.address)]'), 'add rank', '[new_rank]', 'New rank added: [new_rank]')") if(!query_add_rank_log.warn_execute()) return var/datum/DBQuery/query_change_rank = SSdbcore.NewQuery("UPDATE [format_table_name("admin")] SET rank = '[new_rank]' WHERE ckey = '[admin_ckey]'") if(!query_change_rank.warn_execute()) return - var/datum/DBQuery/query_change_rank_log = SSdbcore.NewQuery("INSERT INTO [format_table_name("admin_log")] (datetime, adminckey, adminip, operation, log) VALUES ('[SQLtime()]', '[sanitizeSQL(usr.ckey)]', INET_ATON('[sanitizeSQL(usr.client.address)]'), 'change admin rank', 'Rank of [admin_ckey] changed from [old_rank] to [new_rank]')") + var/datum/DBQuery/query_change_rank_log = SSdbcore.NewQuery("INSERT INTO [format_table_name("admin_log")] (datetime, round_id, adminckey, adminip, operation, target, log) VALUES ('[SQLtime()]', '[GLOB.round_id]', '[sanitizeSQL(usr.ckey)]', INET_ATON('[sanitizeSQL(usr.client.address)]'), 'change admin rank', '[admin_ckey]', 'Rank of [admin_ckey] changed from [old_rank] to [new_rank]')") if(!query_change_rank_log.warn_execute()) return if(D) //they were previously an admin @@ -259,7 +317,7 @@ var/datum/DBQuery/query_change_rank_flags = SSdbcore.NewQuery("UPDATE [format_table_name("admin_ranks")] SET flags = '[new_flags]', exclude_flags = '[new_exclude_flags]', can_edit_flags = '[new_can_edit_flags]' WHERE rank = '[D.rank.name]'") if(!query_change_rank_flags.warn_execute()) return - var/datum/DBQuery/query_change_rank_flags_log = SSdbcore.NewQuery("INSERT INTO [format_table_name("admin_log")] (datetime, adminckey, adminip, operation, log) VALUES ('[SQLtime()]', '[sanitizeSQL(usr.ckey)]', INET_ATON('[sanitizeSQL(usr.client.address)]'), 'change rank flags', 'Permissions of [admin_ckey] changed from[rights2text(old_flags," ")][rights2text(old_exclude_flags," ", "-")][rights2text(old_can_edit_flags," ", "*")] to[rights2text(new_flags," ")][rights2text(new_exclude_flags," ", "-")][rights2text(new_can_edit_flags," ", "*")]')") + var/datum/DBQuery/query_change_rank_flags_log = SSdbcore.NewQuery("INSERT INTO [format_table_name("admin_log")] (datetime, round_id, adminckey, adminip, operation, target, log) VALUES ('[SQLtime()]', '[GLOB.round_id]', '[sanitizeSQL(usr.ckey)]', INET_ATON('[sanitizeSQL(usr.client.address)]'), 'change rank flags', '[D.rank.name]', 'Permissions of [D.rank.name] changed from[rights2text(old_flags," ")][rights2text(old_exclude_flags," ", "-")][rights2text(old_can_edit_flags," ", "*")] to[rights2text(new_flags," ")][rights2text(new_exclude_flags," ", "-")][rights2text(new_can_edit_flags," ", "*")]')") if(!query_change_rank_flags_log.warn_execute()) return for(var/datum/admin_rank/R in GLOB.admin_ranks) @@ -294,6 +352,36 @@ message_admins("[key_name_admin(usr)] edited the permissions of [use_db ? " rank [D.rank.name] permanently" : "[admin_ckey] temporarily"]") log_admin("[key_name(usr)] edited the permissions of [use_db ? " rank [D.rank.name] permanently" : "[admin_ckey] temporarily"]") +/datum/admins/proc/remove_rank(admin_rank) + if(!admin_rank) + return + for(var/datum/admin_rank/R in GLOB.admin_ranks) + if(R.name == admin_rank && (!(R.rights & usr.client.holder.rank.can_edit_rights) == R.rights)) + to_chat(usr, "You don't have edit rights to all the rights this rank has, rank deletion not permitted.") + return + if(!CONFIG_GET(flag/admin_legacy_system) && CONFIG_GET(flag/protect_legacy_ranks) && (admin_rank in GLOB.protected_ranks)) + to_chat(usr, "Deletion of protected ranks is not permitted, it must be removed from admin_ranks.txt.") + return + if(CONFIG_GET(flag/load_legacy_ranks_only)) + to_chat(usr, "Rank deletion not permitted while database rank loading is disabled.") + return + admin_rank = sanitizeSQL(admin_rank) + var/datum/DBQuery/query_admins_with_rank = SSdbcore.NewQuery("SELECT 1 FROM [format_table_name("admin")] WHERE rank = '[admin_rank]'") + if(!query_admins_with_rank.warn_execute()) + return + if(query_admins_with_rank.NextRow()) + to_chat(usr, "Error: Rank deletion attempted while rank still used; Tell a coder, this shouldn't happen.") + return + if(alert("Are you sure you want to remove [admin_rank]?","Confirm Removal","Do it","Cancel") == "Do it") + var/datum/DBQuery/query_add_rank = SSdbcore.NewQuery("DELETE FROM [format_table_name("admin_ranks")] WHERE rank = '[admin_rank]'") + if(!query_add_rank.warn_execute()) + return + var/datum/DBQuery/query_add_rank_log = SSdbcore.NewQuery("INSERT INTO [format_table_name("admin_log")] (datetime, round_id, adminckey, adminip, operation, target, log) VALUES ('[SQLtime()]', '[GLOB.round_id]', '[sanitizeSQL(usr.ckey)]', INET_ATON('[sanitizeSQL(usr.client.address)]'), 'remove rank', '[admin_rank]', 'Rank removed: [admin_rank]')") + if(!query_add_rank_log.warn_execute()) + return + message_admins("[key_name_admin(usr)] removed rank [admin_rank] permanently") + log_admin("[key_name(usr)] removed rank [admin_rank] permanently") + /datum/admins/proc/sync_lastadminrank(admin_ckey, datum/admins/D) var/sqlrank = sanitizeSQL(D.rank.name) admin_ckey = sanitizeSQL(admin_ckey) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index a9b1b10606..2d4388cce2 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -273,6 +273,21 @@ return create_message("note", banckey, null, banreason, null, null, 0, 0) + else if(href_list["editrightsbrowser"]) + edit_admin_permissions(0) + + else if(href_list["editrightsbrowserlog"]) + edit_admin_permissions(1, href_list["editrightstarget"], href_list["editrightsoperation"], href_list["editrightspage"]) + + if(href_list["editrightsbrowsermanage"]) + if(href_list["editrightschange"]) + change_admin_rank(href_list["editrightschange"], TRUE) + else if(href_list["editrightsremove"]) + remove_admin(href_list["editrightsremove"], TRUE) + else if(href_list["editrightsremoverank"]) + remove_rank(href_list["editrightsremoverank"]) + edit_admin_permissions(2) + else if(href_list["editrights"]) edit_rights_topic(href_list) diff --git a/html/panels.css b/html/panels.css index ac44cf5487..5e2edab67a 100644 --- a/html/panels.css +++ b/html/panels.css @@ -1,3 +1,4 @@ +<<<<<<< HEAD body {padding:0px;margin:0px;} #top {position:fixed;top:5px;left:10%;width:80%;text-align:center;background-color:#fff;border:2px solid #ccc;} #main {position:relative;top:50px;left:3%;width:96%;text-align:center;z-index:0;} @@ -8,3 +9,15 @@ tr.alt {background-color:#e7e7e7;} .small {font-size:80%;} a {text-decoration:none;color:#a0a;} a:hover {color:#d3d;} +======= +body {padding:0px;margin:0px;} +#top {position:fixed;top:5px;left:10%;width:80%;text-align:center;background-color:#fff;border:2px solid #ccc;} +#main {position:relative;top:10px;left:3%;width:96%;text-align:center;z-index:0;} +#searchable {table-layout:fixed;width:100%;text-align:center;"#f4f4f4";} +tr.norm {background-color:#f4f4f4;} +tr.title {background-color:#ccc;} +tr.alt {background-color:#e7e7e7;} +.small {font-size:80%;} +a {text-decoration:none;} +a:hover {color:#d3d;} +>>>>>>> 4b455e8... Merge pull request #37267 from Jordie0608/iwasgoingtolaughatcitrusfordoingthisbutthenimadethesamemistake From 2b2ff05b737fe574a33c25f7b450b26e9c902c3b Mon Sep 17 00:00:00 2001 From: pigeons Date: Fri, 27 Apr 2018 21:28:13 -0400 Subject: [PATCH 003/415] Modified bomb and syndicate bomb spawner so Cuban Pete bombs maxcap and work again --- code/__DEFINES/atmospherics.dm | 2 + .../objects/effects/spawners/bombspawner.dm | 49 +++++++++++++++---- .../atmospherics/gasmixtures/reactions.dm | 4 -- 3 files changed, 42 insertions(+), 13 deletions(-) diff --git a/code/__DEFINES/atmospherics.dm b/code/__DEFINES/atmospherics.dm index 3c25547ce6..aafc89f356 100644 --- a/code/__DEFINES/atmospherics.dm +++ b/code/__DEFINES/atmospherics.dm @@ -56,6 +56,8 @@ #define FIRE_SPREAD_RADIOSITY_SCALE 0.85 #define FIRE_GROWTH_RATE 40000 //For small fires #define PLASMA_MINIMUM_BURN_TEMPERATURE (100+T0C) +#define PLASMA_UPPER_TEMPERATURE (1370+T0C) +#define PLASMA_OXYGEN_FULLBURN 10 //GASES #define MIN_TOXIC_GAS_DAMAGE 1 diff --git a/code/game/objects/effects/spawners/bombspawner.dm b/code/game/objects/effects/spawners/bombspawner.dm index e376795704..a69bfc7f1d 100644 --- a/code/game/objects/effects/spawners/bombspawner.dm +++ b/code/game/objects/effects/spawners/bombspawner.dm @@ -1,46 +1,77 @@ +#define CELSIUS_TO_KELVIN(T_K) ((T_K) + T0C) + +#define OPTIMAL_TEMP_K_PLA_BURN_SCALE(PRESSURE_P,PRESSURE_O,TEMP_O) (((PRESSURE_P) * GLOB.meta_gas_info[/datum/gas/plasma][META_GAS_SPECIFIC_HEAT]) / (((PRESSURE_P) * GLOB.meta_gas_info[/datum/gas/plasma][META_GAS_SPECIFIC_HEAT] + (PRESSURE_O) * GLOB.meta_gas_info[/datum/gas/oxygen][META_GAS_SPECIFIC_HEAT]) / PLASMA_UPPER_TEMPERATURE - (PRESSURE_O) * GLOB.meta_gas_info[/datum/gas/oxygen][META_GAS_SPECIFIC_HEAT] / CELSIUS_TO_KELVIN(TEMP_O))) +#define OPTIMAL_TEMP_K_PLA_BURN_RATIO(PRESSURE_P,PRESSURE_O,TEMP_O) (CELSIUS_TO_KELVIN(TEMP_O) * PLASMA_OXYGEN_FULLBURN * (PRESSURE_P) / (PRESSURE_O)) + /obj/effect/spawner/newbomb name = "bomb" icon = 'icons/mob/screen_gen.dmi' icon_state = "x" - var/btemp1 = 1500 - var/btemp2 = 1000 // tank temperatures + var/temp_p = 1500 + var/temp_o = 1000 // tank temperatures + var/pressure_p = 10 * ONE_ATMOSPHERE + var/pressure_o = 10 * ONE_ATMOSPHERE //tank pressures var/assembly_type /obj/effect/spawner/newbomb/Initialize() . = ..() +<<<<<<< HEAD var/obj/item/device/transfer_valve/V = new(src.loc) var/obj/item/tank/internals/plasma/full/PT = new(V) +======= + var/obj/item/transfer_valve/V = new(src.loc) + var/obj/item/tank/internals/plasma/PT = new(V) +>>>>>>> c0b7f77... Modified bomb and syndicate bomb spawner so Cuban Pete bombs maxcap and work again (#37293) var/obj/item/tank/internals/oxygen/OT = new(V) - PT.air_contents.temperature = btemp1 + T0C - OT.air_contents.temperature = btemp2 + T0C + PT.air_contents.assert_gas(/datum/gas/plasma) + PT.air_contents.gases[/datum/gas/plasma][MOLES] = pressure_p*PT.volume/(R_IDEAL_GAS_EQUATION*CELSIUS_TO_KELVIN(temp_p)) + PT.air_contents.temperature = CELSIUS_TO_KELVIN(temp_p) + + OT.air_contents.assert_gas(/datum/gas/oxygen) + OT.air_contents.gases[/datum/gas/oxygen][MOLES] = pressure_o*OT.volume/(R_IDEAL_GAS_EQUATION*CELSIUS_TO_KELVIN(temp_o)) + OT.air_contents.temperature = CELSIUS_TO_KELVIN(temp_o) V.tank_one = PT V.tank_two = OT PT.master = V OT.master = V - + if(assembly_type) var/obj/item/device/assembly/A = new assembly_type(V) V.attached_device = A A.holder = V - A.toggle_secure() V.update_icon() - + return INITIALIZE_HINT_QDEL +/obj/effect/spawner/newbomb/timer/syndicate/Initialize() + temp_p = (OPTIMAL_TEMP_K_PLA_BURN_SCALE(pressure_p, pressure_o, temp_o)/2 + OPTIMAL_TEMP_K_PLA_BURN_RATIO(pressure_p, pressure_o, temp_o)/2) - T0C + . = ..() + /obj/effect/spawner/newbomb/timer assembly_type = /obj/item/device/assembly/timer /obj/effect/spawner/newbomb/timer/syndicate - btemp1 = 150 - btemp2 = 20 + pressure_o = TANK_LEAK_PRESSURE - 1 + temp_o = 20 + + pressure_p = TANK_LEAK_PRESSURE - 1 /obj/effect/spawner/newbomb/proximity assembly_type = /obj/item/device/assembly/prox_sensor /obj/effect/spawner/newbomb/radio +<<<<<<< HEAD assembly_type = /obj/item/device/assembly/signaler +======= + assembly_type = /obj/item/assembly/signaler +>>>>>>> c0b7f77... Modified bomb and syndicate bomb spawner so Cuban Pete bombs maxcap and work again (#37293) + +#undef CELSIUS_TO_KELVIN + +#undef OPTIMAL_TEMP_K_PLA_BURN_SCALE +#undef OPTIMAL_TEMP_K_PLA_BURN_RATIO diff --git a/code/modules/atmospherics/gasmixtures/reactions.dm b/code/modules/atmospherics/gasmixtures/reactions.dm index d2a12f0f9e..4cd2a30976 100644 --- a/code/modules/atmospherics/gasmixtures/reactions.dm +++ b/code/modules/atmospherics/gasmixtures/reactions.dm @@ -1,10 +1,8 @@ //Plasma fire properties #define OXYGEN_BURN_RATE_BASE 1.4 #define PLASMA_BURN_RATE_DELTA 9 -#define PLASMA_UPPER_TEMPERATURE (1370+T0C) #define PLASMA_MINIMUM_OXYGEN_NEEDED 2 #define PLASMA_MINIMUM_OXYGEN_PLASMA_RATIO 30 -#define PLASMA_OXYGEN_FULLBURN 10 #define FIRE_CARBON_ENERGY_RELEASED 100000 //Amount of heat released per mole of burnt carbon into the tile #define FIRE_HYDROGEN_ENERGY_RELEASED 280000 // Amount of heat released per mole of burnt hydrogen and/or tritium(hydrogen isotope) #define FIRE_PLASMA_ENERGY_RELEASED 3000000 //Amount of heat released per mole of burnt plasma into the tile @@ -362,10 +360,8 @@ #undef OXYGEN_BURN_RATE_BASE #undef PLASMA_BURN_RATE_DELTA -#undef PLASMA_UPPER_TEMPERATURE #undef PLASMA_MINIMUM_OXYGEN_NEEDED #undef PLASMA_MINIMUM_OXYGEN_PLASMA_RATIO -#undef PLASMA_OXYGEN_FULLBURN #undef FIRE_CARBON_ENERGY_RELEASED #undef FIRE_PLASMA_ENERGY_RELEASED #undef WATER_VAPOR_FREEZE From 3f6167d08e7235896bb4196cabd88f80b8302aa1 Mon Sep 17 00:00:00 2001 From: vuonojenmustaturska Date: Sat, 28 Apr 2018 21:22:28 +0300 Subject: [PATCH 004/415] Moves several clothing-specific flags from /atom to their proper type --- code/__DEFINES/flags.dm | 13 ++++------- code/__DEFINES/obj_flags.dm | 9 ++++++++ code/_globalvars/bitfields.dm | 17 +++++++++----- code/_globalvars/lists/typecache.dm | 2 ++ code/_onclick/hud/screen_objects.dm | 2 +- .../game/gamemodes/clown_ops/clown_weapons.dm | 2 +- code/game/objects/items/religion.dm | 2 +- code/game/objects/items/tanks/tanks.dm | 2 +- code/game/turfs/simulated/lava.dm | 2 +- .../changeling/powers/mutations.dm | 9 +++++++- .../clockcult/clock_items/clockwork_armor.dm | 20 ++++++++-------- code/modules/clothing/chameleon.dm | 6 ++--- code/modules/clothing/clothing.dm | 23 +++++++++++-------- code/modules/clothing/head/hardhat.dm | 6 ++--- code/modules/clothing/head/helmet.dm | 2 +- code/modules/clothing/masks/_masks.dm | 6 ++--- code/modules/clothing/masks/breath.dm | 4 ++-- code/modules/clothing/masks/gasmask.dm | 14 +++++------ code/modules/clothing/masks/hailer.dm | 4 ++-- code/modules/clothing/shoes/bananashoes.dm | 8 +++---- code/modules/clothing/shoes/magboots.dm | 12 +++++----- code/modules/clothing/shoes/miscellaneous.dm | 6 ++--- .../clothing/spacesuits/_spacesuits.dm | 6 ++--- .../modules/clothing/spacesuits/flightsuit.dm | 4 ++-- code/modules/clothing/spacesuits/hardsuit.dm | 12 +++++----- .../clothing/spacesuits/miscellaneous.dm | 18 +++++---------- code/modules/clothing/suits/armor.dm | 6 ++--- code/modules/clothing/suits/bio.dm | 4 ++-- code/modules/clothing/suits/miscellaneous.dm | 4 ++-- code/modules/clothing/suits/utility.dm | 12 +++++----- code/modules/hydroponics/beekeeping/beebox.dm | 7 ++++-- .../hydroponics/beekeeping/beekeeper_suit.dm | 5 ++-- .../modules/mining/equipment/explorer_gear.dm | 7 +++--- .../living/carbon/alien/special/facehugger.dm | 2 +- code/modules/mob/living/carbon/carbon.dm | 4 ++-- code/modules/mob/living/carbon/human/human.dm | 17 +++++++++----- .../mob/living/carbon/human/human_movement.dm | 15 ++++++++---- code/modules/mob/living/carbon/human/life.dm | 18 +++++++++++---- .../carbon/human/species_types/plasmamen.dm | 7 +++++- code/modules/mob/living/carbon/life.dm | 2 +- code/modules/mob/living/carbon/monkey/life.dm | 7 +++++- .../mob/living/simple_animal/bot/medbot.dm | 7 ++++-- code/modules/ninja/suit/shoes.dm | 4 ++-- .../xenobiology/crossbreeding/charged.dm | 10 ++++++-- 44 files changed, 202 insertions(+), 147 deletions(-) diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index f871ac6a44..2d2b2704c0 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -11,12 +11,15 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 #define DF_VAR_EDITED (1<<1) //FLAGS BITMASK +<<<<<<< HEAD #define STOPSPRESSUREDMAGE_1 (1<<0) //This flag is used on the flags_1 variable for SUIT and HEAD items which stop pressure damage. Note that the flag 1 was previous used as ONBACK, so it is possible for some code to use (flags & 1) when checking if something can be put on your back. Replace this code with (inv_flags & SLOT_BACK) if you see it anywhere //To successfully stop you taking all pressure damage you must have both a suit and head item with this flag. +======= +>>>>>>> 98f8ca7... Moves several clothing-specific flags from /atom to their proper type (#37486) #define NODROP_1 (1<<1) // This flag makes it so that an item literally cannot be removed at all, or at least that's how it should be. Only deleted. #define NOBLUDGEON_1 (1<<2) // when an item has this it produces no "X has been hit by Y with Z" message in the default attackby() -#define MASKINTERNALS_1 (1<<3) // mask allows internals + #define HEAR_1 (1<<4) // This flag is what recursive_hear_check() uses to determine wether to add an item to the hearer list or not. #define CHECK_RICOCHET_1 (1<<5) // Projectiels will check ricochet on things impacted that have this. #define CONDUCT_1 (1<<6) // conducts electricity (metal etc.) @@ -25,11 +28,6 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 #define OVERLAY_QUEUED_1 (1<<8) // atom queued to SSoverlay #define ON_BORDER_1 (1<<9) // item has priority to check when entering or leaving -#define NOSLIP_1 (1<<10) //prevents from slipping on wet floors, in space etc - -// BLOCK_GAS_SMOKE_EFFECT_1 only used in masks at the moment. -#define BLOCK_GAS_SMOKE_EFFECT_1 (1<<12) // blocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY! -#define THICKMATERIAL_1 (1<<13) //prevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. Example: space suits, biosuit, bombsuits, thick suits that cover your body. #define DROPDEL_1 (1<<14) // When dropped, it calls qdel on itself #define PREVENT_CLICK_UNDER_1 (1<<15) //Prevent clicking things below it on the same turf eg. doors/ fulltile windows @@ -57,9 +55,6 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 // Stops you from putting things like an RCD or other items into an ORM or protolathe for materials. #define NO_MAT_REDEMPTION_2 (1<<10) -// LAVA_PROTECT used on the flags_2 variable for both SUIT and HEAD items, and stops lava damage. Must be present in both to stop lava damage. -#define LAVA_PROTECT_2 (1<<11) - //turf-only flags #define NOJAUNT_1 (1<<0) #define UNUSED_TRANSIT_TURF_1 (1<<1) diff --git a/code/__DEFINES/obj_flags.dm b/code/__DEFINES/obj_flags.dm index bfbf6f866a..1f4739491a 100644 --- a/code/__DEFINES/obj_flags.dm +++ b/code/__DEFINES/obj_flags.dm @@ -18,3 +18,12 @@ #define IN_INVENTORY (1<<1) //is this item equipped into an inventory slot or hand of a mob? used for tooltips #define FORCE_STRING_OVERRIDE (1<<2) // used for tooltips #define NEEDS_PERMIT (1<<3) //Used by security bots to determine if this item is safe for public use. + +// Flags for the clothing_flags var on /obj/item/clothing + +#define LAVAPROTECT (1<<0) +#define STOPSPRESSUREDAMAGE (1<<1) //SUIT and HEAD items which stop pressure damage. To stop you taking all pressure damage you must have both a suit and head item with this flag. +#define BLOCK_GAS_SMOKE_EFFECT (1<<2) // blocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY! +#define MASKINTERNALS (1<<3) // mask allows internals +#define NOSLIP (1<<4) //prevents from slipping on wet floors, in space etc +#define THICKMATERIAL (1<<5) //prevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. Example: space suits, biosuit, bombsuits, thick suits that cover your body. diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index 168863708c..aad1622a52 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -106,17 +106,15 @@ GLOBAL_LIST_INIT(bitfields, list( "REAGENT_NOREACT" = REAGENT_NOREACT ), "flags_1" = list( - "STOPSPRESSUREDMAGE_1 / NOJAUNT_1 (turfs)" = STOPSPRESSUREDMAGE_1, + "NOJAUNT_1" = NOJAUNT_1, "NODROP_1 / UNUSED_TRANSIT_TURF_1 (turfs)" = NODROP_1, "NOBLUDGEON_1 / CAN_BE_DIRTY_1 (turfs)" = NOBLUDGEON_1, - "MASKINTERNALS_1" = MASKINTERNALS_1, "HEAR_1 / NO_DEATHRATTLE_1 (turfs)" = HEAR_1, "CHECK_RICOCHET_1 / NO_RUINS_1 (turfs)" = CHECK_RICOCHET_1, "CONDUCT_1 / NO_LAVA_GEN_1" = CONDUCT_1, "ABSTRACT_1" = ABSTRACT_1, "NODECONSTRUCT_1" = NODECONSTRUCT_1, "OVERLAY_QUEUED_1" = OVERLAY_QUEUED_1, - "NOSLIP_1" = NOSLIP_1 ), "flags_2" = list( "SLOWS_WHILE_IN_HAND_2" = SLOWS_WHILE_IN_HAND_2, @@ -127,7 +125,14 @@ GLOBAL_LIST_INIT(bitfields, list( "HEALS_EARS_2" = HEALS_EARS_2, "OMNITONGUE_2" = OMNITONGUE_2, "TESLA_IGNORE_2" = TESLA_IGNORE_2, - "NO_MAT_REDEMPTION_2" = NO_MAT_REDEMPTION_2, - "LAVA_PROTECT_2" = LAVA_PROTECT_2 - ) + "NO_MAT_REDEMPTION_2" = NO_MAT_REDEMPTION_2 + ), + "clothing_flags" = list( + "LAVAPROTECT" = LAVAPROTECT, + "STOPSPRESSUREDAMAGE" = STOPSPRESSUREDAMAGE, + "BLOCK_GAS_SMOKE_EFFECT" = BLOCK_GAS_SMOKE_EFFECT, + "MASKINTERNALS" = MASKINTERNALS, + "NOSLIP" = NOSLIP, + "THICKMATERIAL" = THICKMATERIAL, + ) )) diff --git a/code/_globalvars/lists/typecache.dm b/code/_globalvars/lists/typecache.dm index f1e2b03790..f4e73f2994 100644 --- a/code/_globalvars/lists/typecache.dm +++ b/code/_globalvars/lists/typecache.dm @@ -10,3 +10,5 @@ GLOBAL_LIST_INIT(typecache_living, typecacheof(/mob/living)) GLOBAL_LIST_INIT(typecache_machine_or_structure, typecacheof(list(/obj/machinery, /obj/structure))) GLOBAL_LIST_INIT(typecache_shuttle_area, typecacheof(/area/shuttle)) + +GLOBAL_LIST_INIT(typecache_clothing, typecacheof(/obj/item/clothing)) diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index 865061eb3a..f90b7045b0 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -264,7 +264,7 @@ var/obj/item/clothing/mask/M = C.wear_mask if(M.mask_adjusted) // if mask on face but pushed down M.adjustmask(C) // adjust it back - if( !(M.flags_1 & MASKINTERNALS_1) ) + if( !(M.clothing_flags & MASKINTERNALS) ) to_chat(C, "You are not wearing an internals mask!") return diff --git a/code/game/gamemodes/clown_ops/clown_weapons.dm b/code/game/gamemodes/clown_ops/clown_weapons.dm index 6488a98d7d..6488701055 100644 --- a/code/game/gamemodes/clown_ops/clown_weapons.dm +++ b/code/game/gamemodes/clown_ops/clown_weapons.dm @@ -15,7 +15,7 @@ /obj/item/clothing/shoes/clown_shoes/combat name = "combat clown shoes" desc = "advanced clown shoes that protect the wearer and render them nearly immune to slipping on their own peels. They also squeek at 100% capacity." - flags_1 = NOSLIP_1 + clothing_flags = NOSLIP slowdown = SHOES_SLOWDOWN armor = list("melee" = 25, "bullet" = 25, "laser" = 25, "energy" = 25, "bomb" = 50, "bio" = 10, "rad" = 0, "fire" = 70, "acid" = 50) strip_delay = 70 diff --git a/code/game/objects/items/religion.dm b/code/game/objects/items/religion.dm index 0f926b4ee3..060448946a 100644 --- a/code/game/objects/items/religion.dm +++ b/code/game/objects/items/religion.dm @@ -325,7 +325,7 @@ icon_state = "crusader" w_class = WEIGHT_CLASS_NORMAL armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 40, "bomb" = 60, "bio" = 0, "rad" = 0, "fire" = 60, "acid" = 60) //does this even do anything on boots? - flags_1 = NOSLIP_1 + clothing_flags = NOSLIP cold_protection = FEET min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT heat_protection = FEET diff --git a/code/game/objects/items/tanks/tanks.dm b/code/game/objects/items/tanks/tanks.dm index 2e512c3ec4..8d8d2870e2 100644 --- a/code/game/objects/items/tanks/tanks.dm +++ b/code/game/objects/items/tanks/tanks.dm @@ -38,7 +38,7 @@ return if(H.wear_mask.mask_adjusted) H.wear_mask.adjustmask(H) - if(!(H.wear_mask.flags_1 & MASKINTERNALS_1)) + if(!(H.wear_mask.clothing_flags & MASKINTERNALS)) to_chat(H, "[H.wear_mask] can't use [src]!") return diff --git a/code/game/turfs/simulated/lava.dm b/code/game/turfs/simulated/lava.dm index f8ab060853..fd83dd0113 100644 --- a/code/game/turfs/simulated/lava.dm +++ b/code/game/turfs/simulated/lava.dm @@ -130,7 +130,7 @@ var/obj/item/clothing/S = C.get_item_by_slot(slot_wear_suit) var/obj/item/clothing/H = C.get_item_by_slot(slot_head) - if(S && H && S.flags_2 & LAVA_PROTECT_2 && H.flags_2 & LAVA_PROTECT_2) + if(S && H && S.clothing_flags & LAVAPROTECT && H.clothing_flags & LAVAPROTECT) return L.adjustFireLoss(20) diff --git a/code/modules/antagonists/changeling/powers/mutations.dm b/code/modules/antagonists/changeling/powers/mutations.dm index e3fb55fa42..1d08860b93 100644 --- a/code/modules/antagonists/changeling/powers/mutations.dm +++ b/code/modules/antagonists/changeling/powers/mutations.dm @@ -445,8 +445,14 @@ name = "flesh mass" icon_state = "lingspacesuit" desc = "A huge, bulky mass of pressure and temperature-resistant organic tissue, evolved to facilitate space travel." +<<<<<<< HEAD flags_1 = STOPSPRESSUREDMAGE_1 | NODROP_1 | DROPDEL_1 //Not THICKMATERIAL_1 because it's organic tissue, so if somebody tries to inject something into it, it still ends up in your blood. (also balance but muh fluff) allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/oxygen) +======= + flags_1 = NODROP_1 | DROPDEL_1 + clothing_flags = STOPSPRESSUREDAMAGE //Not THICKMATERIAL because it's organic tissue, so if somebody tries to inject something into it, it still ends up in your blood. (also balance but muh fluff) + allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/oxygen) +>>>>>>> 98f8ca7... Moves several clothing-specific flags from /atom to their proper type (#37486) armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 90) //No armor at all. /obj/item/clothing/suit/space/changeling/Initialize() @@ -464,7 +470,8 @@ name = "flesh mass" icon_state = "lingspacehelmet" desc = "A covering of pressure and temperature-resistant organic tissue with a glass-like chitin front." - flags_1 = STOPSPRESSUREDMAGE_1 | NODROP_1 | DROPDEL_1 //Again, no THICKMATERIAL_1. + flags_1 = NODROP_1 | DROPDEL_1 + clothing_flags = STOPSPRESSUREDAMAGE armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 90) flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH diff --git a/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm b/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm index 8b018fa6d3..963a90ffb1 100644 --- a/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm +++ b/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm @@ -21,17 +21,17 @@ /obj/item/clothing/head/helmet/clockwork/ratvar_act() if(GLOB.ratvar_awakens) armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 100, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100) - flags_1 |= STOPSPRESSUREDMAGE_1 + clothing_flags |= STOPSPRESSUREDAMAGE max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT else if(GLOB.ratvar_approaches) armor = list("melee" = 70, "bullet" = 80, "laser" = -15, "energy" = 25, "bomb" = 70, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) - flags_1 |= STOPSPRESSUREDMAGE_1 + clothing_flags |= STOPSPRESSUREDAMAGE max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT else armor = list("melee" = 60, "bullet" = 70, "laser" = -25, "energy" = 0, "bomb" = 60, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) - flags_1 &= ~STOPSPRESSUREDMAGE_1 + clothing_flags &= ~STOPSPRESSUREDAMAGE max_heat_protection_temperature = initial(max_heat_protection_temperature) min_cold_protection_temperature = initial(min_cold_protection_temperature) @@ -82,17 +82,17 @@ /obj/item/clothing/suit/armor/clockwork/ratvar_act() if(GLOB.ratvar_awakens) armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 100, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100) - flags_1 |= STOPSPRESSUREDMAGE_1 + clothing_flags |= STOPSPRESSUREDAMAGE max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT else if(GLOB.ratvar_approaches) armor = list("melee" = 70, "bullet" = 80, "laser" = -15, "energy" = 25, "bomb" = 70, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) - flags_1 |= STOPSPRESSUREDMAGE_1 + clothing_flags |= STOPSPRESSUREDAMAGE max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT else armor = list("melee" = 60, "bullet" = 70, "laser" = -25, "energy" = 0, "bomb" = 60, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) - flags_1 &= ~STOPSPRESSUREDMAGE_1 + clothing_flags &= ~STOPSPRESSUREDAMAGE max_heat_protection_temperature = initial(max_heat_protection_temperature) min_cold_protection_temperature = initial(min_cold_protection_temperature) @@ -148,12 +148,12 @@ /obj/item/clothing/gloves/clockwork/ratvar_act() if(GLOB.ratvar_awakens) armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 100, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100) - flags_1 |= STOPSPRESSUREDMAGE_1 + clothing_flags |= STOPSPRESSUREDAMAGE max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT else armor = list("melee" = 80, "bullet" = 70, "laser" = -25, "energy" = 0, "bomb" = 60, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) - flags_1 &= ~STOPSPRESSUREDMAGE_1 + clothing_flags &= ~STOPSPRESSUREDAMAGE max_heat_protection_temperature = initial(max_heat_protection_temperature) min_cold_protection_temperature = initial(min_cold_protection_temperature) @@ -203,9 +203,9 @@ /obj/item/clothing/shoes/clockwork/ratvar_act() if(GLOB.ratvar_awakens) - flags_1 |= NOSLIP_1 + clothing_flags |= NOSLIP else - flags_1 &= ~NOSLIP_1 + clothing_flags &= ~NOSLIP /obj/item/clothing/shoes/clockwork/mob_can_equip(mob/M, mob/equipper, slot, disable_warning = 0) if(equipper && !is_servant_of_ratvar(equipper)) diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index 03bb1eeb13..abc5d86bb1 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -331,8 +331,7 @@ item_state = "gas_alt" resistance_flags = NONE armor = list("melee" = 5, "bullet" = 5, "laser" = 5, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) - - flags_1 = BLOCK_GAS_SMOKE_EFFECT_1 | MASKINTERNALS_1 + clothing_flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS flags_inv = HIDEEARS|HIDEEYES|HIDEFACE|HIDEFACIALHAIR gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 @@ -408,7 +407,7 @@ icon_state = "black" item_color = "black" desc = "A pair of black shoes." - flags_1 = NOSLIP_1 + clothing_flags = NOSLIP /obj/item/clothing/shoes/chameleon/noslip/broken/Initialize() . = ..() @@ -637,4 +636,3 @@ /obj/item/device/pda/chameleon/broken/Initialize() . = ..() chameleon_action.emp_randomise(INFINITY) - diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 9c7a86cfc2..45babaa762 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -24,9 +24,11 @@ var/can_flashlight = 0 var/scan_reagents = 0 //Can the wearer see reagents while it's equipped? + var/clothing_flags = NONE + //Var modification - PLEASE be careful with this I know who you are and where you live - var/list/user_vars_to_edit = list() //VARNAME = VARVALUE eg: "name" = "butts" - var/list/user_vars_remembered = list() //Auto built by the above + dropped() + equipped() + var/list/user_vars_to_edit //VARNAME = VARVALUE eg: "name" = "butts" + var/list/user_vars_remembered //Auto built by the above + dropped() + equipped() var/pocket_storage_component_path @@ -72,21 +74,22 @@ ..() if(!istype(user)) return - if(user_vars_remembered && user_vars_remembered.len) + if(LAZYLEN(user_vars_remembered)) for(var/variable in user_vars_remembered) if(variable in user.vars) if(user.vars[variable] == user_vars_to_edit[variable]) //Is it still what we set it to? (if not we best not change it) user.vars[variable] = user_vars_remembered[variable] - user_vars_remembered = list() + user_vars_remembered = initial(user_vars_remembered) // Effectively this sets it to null. /obj/item/clothing/equipped(mob/user, slot) ..() if(slot_flags & slotdefine2slotbit(slot)) //Was equipped to a valid slot for this item? - for(var/variable in user_vars_to_edit) - if(variable in user.vars) - user_vars_remembered[variable] = user.vars[variable] - user.vars[variable] = user_vars_to_edit[variable] + if (LAZYLEN(user_vars_to_edit)) + for(var/variable in user_vars_to_edit) + if(variable in user.vars) + LAZYSET(user_vars_remembered, variable, user.vars[variable]) + user.vars[variable] = user_vars_to_edit[variable] /obj/item/clothing/examine(mob/user) ..() @@ -260,7 +263,7 @@ BLIND // can't see anything /obj/item/clothing/proc/visor_toggling() //handles all the actual toggling of flags up = !up - flags_1 ^= visor_flags + clothing_flags ^= visor_flags flags_inv ^= visor_flags_inv flags_cover ^= initial(flags_cover) icon_state = "[initial(icon_state)][up ? "up" : ""]" @@ -285,4 +288,4 @@ BLIND // can't see anything Shreds.desc = "The sad remains of what used to be [name]." deconstruct(FALSE) else - ..() \ No newline at end of file + ..() diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index db3dda1dd2..ae4d80a0e4 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -46,7 +46,7 @@ item_color = "red" dog_fashion = null name = "firefighter helmet" - flags_1 = STOPSPRESSUREDMAGE_1 + clothing_flags = STOPSPRESSUREDAMAGE heat_protection = HEAD max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT cold_protection = HEAD @@ -56,7 +56,7 @@ icon_state = "hardhat0_white" item_state = "hardhat0_white" item_color = "white" - flags_1 = STOPSPRESSUREDMAGE_1 + clothing_flags = STOPSPRESSUREDAMAGE heat_protection = HEAD max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT cold_protection = HEAD @@ -76,7 +76,7 @@ dog_fashion = null name = "atmospheric technician's firefighting helmet" desc = "A firefighter's helmet, able to keep the user cool in any situation." - flags_1 = STOPSPRESSUREDMAGE_1 | THICKMATERIAL_1 + clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | BLOCK_GAS_SMOKE_EFFECT flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR heat_protection = HEAD max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index b231ac9df6..12a741e0d0 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -122,7 +122,7 @@ min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT heat_protection = HEAD max_heat_protection_temperature = SPACE_HELM_MAX_TEMP_PROTECT - flags_1 = STOPSPRESSUREDMAGE_1 + clothing_flags = STOPSPRESSUREDAMAGE strip_delay = 80 dog_fashion = null diff --git a/code/modules/clothing/masks/_masks.dm b/code/modules/clothing/masks/_masks.dm index 562375e897..b99d5e66ed 100644 --- a/code/modules/clothing/masks/_masks.dm +++ b/code/modules/clothing/masks/_masks.dm @@ -33,7 +33,7 @@ src.icon_state = initial(icon_state) gas_transfer_coefficient = initial(gas_transfer_coefficient) permeability_coefficient = initial(permeability_coefficient) - flags_1 |= visor_flags + clothing_flags |= visor_flags flags_inv |= visor_flags_inv flags_cover |= visor_flags_cover to_chat(user, "You push \the [src] back into place.") @@ -43,11 +43,11 @@ to_chat(user, "You push \the [src] out of the way.") gas_transfer_coefficient = null permeability_coefficient = null - flags_1 &= ~visor_flags + clothing_flags &= ~visor_flags flags_inv &= ~visor_flags_inv flags_cover &= ~visor_flags_cover if(adjusted_flags) slot_flags = adjusted_flags if(user) user.wear_mask_update(src, toggle_off = mask_adjusted) - user.update_action_buttons_icon() //when mask is adjusted out, we update all buttons icon so the user's potential internal tank correctly shows as off. \ No newline at end of file + user.update_action_buttons_icon() //when mask is adjusted out, we update all buttons icon so the user's potential internal tank correctly shows as off. diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm index f7c99a24d3..29aab0c1a2 100644 --- a/code/modules/clothing/masks/breath.dm +++ b/code/modules/clothing/masks/breath.dm @@ -4,8 +4,8 @@ icon_state = "breath" item_state = "m_mask" body_parts_covered = 0 - flags_1 = MASKINTERNALS_1 - visor_flags = MASKINTERNALS_1 + clothing_flags = MASKINTERNALS + visor_flags = MASKINTERNALS w_class = WEIGHT_CLASS_SMALL gas_transfer_coefficient = 0.1 permeability_coefficient = 0.5 diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index 694c290f4b..726670762e 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -2,7 +2,7 @@ name = "gas mask" desc = "A face-covering mask that can be connected to an air supply. While good for concealing your identity, it isn't good for blocking gas flow." //More accurate icon_state = "gas_alt" - flags_1 = BLOCK_GAS_SMOKE_EFFECT_1 | MASKINTERNALS_1 + clothing_flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS flags_inv = HIDEEARS|HIDEEYES|HIDEFACE|HIDEFACIALHAIR w_class = WEIGHT_CLASS_NORMAL item_state = "gas_alt" @@ -51,7 +51,7 @@ /obj/item/clothing/mask/gas/clown_hat name = "clown wig and mask" desc = "A true prankster's facial attire. A clown is incomplete without his wig and mask." - flags_1 = MASKINTERNALS_1 + clothing_flags = MASKINTERNALS icon_state = "clown" item_state = "clown_hat" flags_cover = MASKCOVERSEYES @@ -83,7 +83,7 @@ /obj/item/clothing/mask/gas/sexyclown name = "sexy-clown wig and mask" desc = "A feminine clown mask for the dabbling crossdressers or female entertainers." - flags_1 = MASKINTERNALS_1 + clothing_flags = MASKINTERNALS icon_state = "sexyclown" item_state = "sexyclown" flags_cover = MASKCOVERSEYES @@ -92,7 +92,7 @@ /obj/item/clothing/mask/gas/mime name = "mime mask" desc = "The traditional mime's mask. It has an eerie facial posture." - flags_1 = MASKINTERNALS_1 + clothing_flags = MASKINTERNALS icon_state = "mime" item_state = "mime" flags_cover = MASKCOVERSEYES @@ -124,7 +124,7 @@ /obj/item/clothing/mask/gas/monkeymask name = "monkey mask" desc = "A mask used when acting as a monkey." - flags_1 = MASKINTERNALS_1 + clothing_flags = MASKINTERNALS icon_state = "monkeymask" item_state = "monkeymask" flags_cover = MASKCOVERSEYES @@ -133,7 +133,7 @@ /obj/item/clothing/mask/gas/sexymime name = "sexy mime mask" desc = "A traditional female mime's mask." - flags_1 = MASKINTERNALS_1 + clothing_flags = MASKINTERNALS icon_state = "sexymime" item_state = "sexymime" flags_cover = MASKCOVERSEYES @@ -154,7 +154,7 @@ name = "owl mask" desc = "Twoooo!" icon_state = "owl" - flags_1 = MASKINTERNALS_1 + clothing_flags = MASKINTERNALS flags_cover = MASKCOVERSEYES resistance_flags = FLAMMABLE diff --git a/code/modules/clothing/masks/hailer.dm b/code/modules/clothing/masks/hailer.dm index 51caf8335e..0d78e11874 100644 --- a/code/modules/clothing/masks/hailer.dm +++ b/code/modules/clothing/masks/hailer.dm @@ -7,10 +7,10 @@ actions_types = list(/datum/action/item_action/halt, /datum/action/item_action/adjust) icon_state = "sechailer" item_state = "sechailer" - flags_1 = BLOCK_GAS_SMOKE_EFFECT_1 | MASKINTERNALS_1 + clothing_flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS flags_inv = HIDEFACIALHAIR|HIDEFACE w_class = WEIGHT_CLASS_SMALL - visor_flags = BLOCK_GAS_SMOKE_EFFECT_1 | MASKINTERNALS_1 + visor_flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS visor_flags_inv = HIDEFACE flags_cover = MASKCOVERSMOUTH visor_flags_cover = MASKCOVERSMOUTH diff --git a/code/modules/clothing/shoes/bananashoes.dm b/code/modules/clothing/shoes/bananashoes.dm index 7ffd9c1f40..46f84c2a91 100644 --- a/code/modules/clothing/shoes/bananashoes.dm +++ b/code/modules/clothing/shoes/bananashoes.dm @@ -13,7 +13,7 @@ AddComponent(/datum/component/material_container, list(MAT_BANANIUM), 200000, TRUE) AddComponent(/datum/component/squeak, list('sound/items/bikehorn.ogg'=1), 75) if(always_noslip) - flags_1 |= NOSLIP_1 + clothing_flags |= NOSLIP /obj/item/clothing/shoes/clown_shoes/banana_shoes/step_action() . = ..() @@ -22,7 +22,7 @@ if(bananium.amount(MAT_BANANIUM) < 100) on = !on if(!always_noslip) - flags_1 &= ~NOSLIP_1 + clothing_flags &= ~NOSLIP update_icon() to_chat(loc, "You ran out of bananium!") else @@ -49,9 +49,9 @@ to_chat(user, "You [on ? "activate" : "deactivate"] the prototype shoes.") if(!always_noslip) if(on) - flags_1 |= NOSLIP_1 + clothing_flags |= NOSLIP else - flags_1 &= ~NOSLIP_1 + clothing_flags &= ~NOSLIP else to_chat(user, "You need bananium to turn the prototype shoes on!") diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index e669ce3826..0f5b381326 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -21,12 +21,12 @@ /obj/item/clothing/shoes/magboots/attack_self(mob/user) - if(src.magpulse) - src.flags_1 &= ~NOSLIP_1 - src.slowdown = SHOES_SLOWDOWN + if(magpulse) + clothing_flags &= ~NOSLIP + slowdown = SHOES_SLOWDOWN else - src.flags_1 |= NOSLIP_1 - src.slowdown = slowdown_active + clothing_flags |= NOSLIP + slowdown = slowdown_active magpulse = !magpulse icon_state = "[magboot_state][magpulse]" to_chat(user, "You [magpulse ? "enable" : "disable"] the mag-pulse traction system.") @@ -37,7 +37,7 @@ A.UpdateButtonIcon() /obj/item/clothing/shoes/magboots/negates_gravity() - return flags_1 & NOSLIP_1 + return clothing_flags & NOSLIP /obj/item/clothing/shoes/magboots/examine(mob/user) ..() diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index 3dad0d464e..8d549512dd 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -23,7 +23,7 @@ name = "\improper SWAT boots" desc = "High speed, no drag combat boots." permeability_coefficient = 0.01 - flags_1 = NOSLIP_1 + clothing_flags = NOSLIP armor = list("melee" = 40, "bullet" = 30, "laser" = 25, "energy" = 25, "bomb" = 50, "bio" = 30, "rad" = 30, "fire" = 90, "acid" = 50) /obj/item/clothing/shoes/sandal @@ -50,7 +50,7 @@ name = "galoshes" icon_state = "galoshes" permeability_coefficient = 0.01 - flags_1 = NOSLIP_1 + clothing_flags = NOSLIP slowdown = SHOES_SLOWDOWN+1 strip_delay = 50 equip_delay_other = 50 @@ -311,4 +311,4 @@ else set_light(0) lightCycle = 0 - active = FALSE \ No newline at end of file + active = FALSE diff --git a/code/modules/clothing/spacesuits/_spacesuits.dm b/code/modules/clothing/spacesuits/_spacesuits.dm index a2cd5bce75..69109de2f7 100644 --- a/code/modules/clothing/spacesuits/_spacesuits.dm +++ b/code/modules/clothing/spacesuits/_spacesuits.dm @@ -4,7 +4,7 @@ name = "space helmet" icon_state = "spaceold" desc = "A special helmet with solar UV shielding to protect your eyes from harmful rays." - flags_1 = STOPSPRESSUREDMAGE_1 | THICKMATERIAL_1 + clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL item_state = "spaceold" permeability_coefficient = 0.01 armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 50, "fire" = 80, "acid" = 70) @@ -30,7 +30,7 @@ w_class = WEIGHT_CLASS_BULKY gas_transfer_coefficient = 0.01 permeability_coefficient = 0.02 - flags_1 = STOPSPRESSUREDMAGE_1 | THICKMATERIAL_1 + clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals) slowdown = 1 @@ -42,4 +42,4 @@ max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT strip_delay = 80 equip_delay_other = 80 - resistance_flags = NONE \ No newline at end of file + resistance_flags = NONE diff --git a/code/modules/clothing/spacesuits/flightsuit.dm b/code/modules/clothing/spacesuits/flightsuit.dm index 3a5198080f..6f12d99752 100644 --- a/code/modules/clothing/spacesuits/flightsuit.dm +++ b/code/modules/clothing/spacesuits/flightsuit.dm @@ -723,9 +723,9 @@ if(suit) active = toggle if(active) - src.flags_1 |= NOSLIP_1 + clothing_flags |= NOSLIP if(!active) - src.flags_1 &= ~NOSLIP_1 + clothing_flags &= ~NOSLIP /obj/item/clothing/shoes/flightshoes/item_action_slot_check(slot) return slot == slot_shoes diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 41b2334f94..b39c736aa1 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -263,7 +263,7 @@ var/obj/item/clothing/suit/space/hardsuit/syndi/linkedsuit = null actions_types = list(/datum/action/item_action/toggle_helmet_mode) visor_flags_inv = HIDEMASK|HIDEEYES|HIDEFACE|HIDEFACIALHAIR - visor_flags = STOPSPRESSUREDMAGE_1 + visor_flags = STOPSPRESSUREDAMAGE /obj/item/clothing/head/helmet/space/hardsuit/syndi/update_icon() icon_state = "hardsuit[on]-[item_color]" @@ -283,7 +283,7 @@ name = initial(name) desc = initial(desc) set_light(brightness_on) - flags_1 |= visor_flags + clothing_flags |= visor_flags flags_cover |= HEADCOVERSEYES | HEADCOVERSMOUTH flags_inv |= visor_flags_inv cold_protection |= HEAD @@ -292,7 +292,7 @@ name += " (combat)" desc = alt_desc set_light(0) - flags_1 &= ~visor_flags + clothing_flags &= ~visor_flags flags_cover &= ~(HEADCOVERSEYES | HEADCOVERSMOUTH) flags_inv &= ~visor_flags_inv cold_protection &= ~HEAD @@ -313,13 +313,13 @@ linkedsuit.name = initial(linkedsuit.name) linkedsuit.desc = initial(linkedsuit.desc) linkedsuit.slowdown = 1 - linkedsuit.flags_1 |= STOPSPRESSUREDMAGE_1 + linkedsuit.clothing_flags |= STOPSPRESSUREDAMAGE linkedsuit.cold_protection |= CHEST | GROIN | LEGS | FEET | ARMS | HANDS else linkedsuit.name += " (combat)" linkedsuit.desc = linkedsuit.alt_desc linkedsuit.slowdown = 0 - linkedsuit.flags_1 &= ~(STOPSPRESSUREDMAGE_1) + linkedsuit.clothing_flags &= ~STOPSPRESSUREDAMAGE linkedsuit.cold_protection &= ~(CHEST | GROIN | LEGS | FEET | ARMS | HANDS) linkedsuit.icon_state = "hardsuit[on]-[item_color]" @@ -704,7 +704,7 @@ icon_state = "ert_medical" item_state = "ert_medical" item_color = "ert_medical" - flags_1 = STOPSPRESSUREDMAGE_1 | THICKMATERIAL_1 | NODROP_1 //Dont want people changing into the other teams gear + flags_1 = NODROP_1 //Dont want people changing into the other teams gear helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/ctf armor = list("melee" = 0, "bullet" = 30, "laser" = 30, "energy" = 30, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 95, "acid" = 95) slowdown = 0 diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index 738d298f72..b80015ecf0 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -59,7 +59,6 @@ Contains: icon_state = "beret_badge" dynamic_hair_suffix = "+generic" dynamic_fhair_suffix = "+generic" - flags_1 = STOPSPRESSUREDMAGE_1 flags_inv = 0 armor = list("melee" = 80, "bullet" = 80, "laser" = 50, "energy" = 50, "bomb" = 100, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100) strip_delay = 130 @@ -114,7 +113,6 @@ Contains: name = "Santa's hat" desc = "Ho ho ho. Merrry X-mas!" icon_state = "santahat" - flags_1 = STOPSPRESSUREDMAGE_1 flags_cover = HEADCOVERSEYES dog_fashion = /datum/dog_fashion/head/santa @@ -125,7 +123,6 @@ Contains: icon_state = "santa" item_state = "santa" slowdown = 0 - flags_1 = STOPSPRESSUREDMAGE_1 allowed = list(/obj/item) //for stuffing exta special presents @@ -136,7 +133,6 @@ Contains: icon_state = "pirate" item_state = "pirate" armor = list("melee" = 30, "bullet" = 50, "laser" = 30,"energy" = 15, "bomb" = 30, "bio" = 30, "rad" = 30, "fire" = 60, "acid" = 75) - flags_1 = STOPSPRESSUREDMAGE_1 flags_inv = HIDEHAIR strip_delay = 40 equip_delay_other = 20 @@ -169,7 +165,7 @@ Contains: item_color = "ert_commander" armor = list("melee" = 65, "bullet" = 50, "laser" = 50, "energy" = 50, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 80, "acid" = 80) strip_delay = 130 - flags_1 = STOPSPRESSUREDMAGE_1 | THICKMATERIAL_1 | NODROP_1 + flags_1 = NODROP_1 brightness_on = 7 /obj/item/clothing/suit/space/hardsuit/ert @@ -269,7 +265,7 @@ Contains: armor = list("melee" = -20, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 75, "fire" = 60, "acid" = 75) //As whimpy as a space carp brightness_on = 0 //luminosity when on actions_types = list() - flags_1 = STOPSPRESSUREDMAGE_1 | THICKMATERIAL_1 | NODROP_1 + flags_1 = NODROP_1 /obj/item/clothing/suit/space/hardsuit/carp @@ -351,11 +347,9 @@ Contains: /obj/item/clothing/suit/space/fragile/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) if(!torn && prob(50)) to_chat(owner, "[src] tears from the damage, breaking the air-tight seal!") - src.flags_1 &= ~STOPSPRESSUREDMAGE_1 - src.name = "torn [src]." - src.desc = "A bulky suit meant to protect the user during emergency situations, at least until someone tore a hole in the suit." - src.torn = TRUE + clothing_flags &= ~STOPSPRESSUREDAMAGE + name = "torn [src]." + desc = "A bulky suit meant to protect the user during emergency situations, at least until someone tore a hole in the suit." + torn = TRUE playsound(loc, 'sound/weapons/slashmiss.ogg', 50, 1) playsound(loc, 'sound/effects/refill.ogg', 50, 1) - - diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 37d48b484e..0f261ccdd9 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -355,7 +355,7 @@ w_class = WEIGHT_CLASS_BULKY body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS allowed = list(/obj/item/gun/energy, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman) - flags_1 = THICKMATERIAL_1 + clothing_flags = THICKMATERIAL flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT cold_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT @@ -370,7 +370,7 @@ item_state = "swat_suit" w_class = WEIGHT_CLASS_BULKY gas_transfer_coefficient = 0.9 - flags_1 = THICKMATERIAL_1 + clothing_flags = THICKMATERIAL body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS slowdown = 3 flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT @@ -379,7 +379,7 @@ /obj/item/clothing/suit/armor/tdome body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT - flags_1 = THICKMATERIAL_1 + clothing_flags = THICKMATERIAL cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS armor = list("melee" = 80, "bullet" = 80, "laser" = 50, "energy" = 50, "bomb" = 100, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 90) diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm index bb6a6ca070..f21efbdef7 100644 --- a/code/modules/clothing/suits/bio.dm +++ b/code/modules/clothing/suits/bio.dm @@ -4,7 +4,7 @@ icon_state = "bio" desc = "A hood that protects the head and face from biological comtaminants." permeability_coefficient = 0.01 - flags_1 = THICKMATERIAL_1 + clothing_flags = THICKMATERIAL | BLOCK_GAS_SMOKE_EFFECT armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 80, "fire" = 30, "acid" = 100) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEHAIR|HIDEFACIALHAIR|HIDEFACE resistance_flags = ACID_PROOF @@ -18,7 +18,7 @@ w_class = WEIGHT_CLASS_BULKY gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 - flags_1 = THICKMATERIAL_1 + clothing_flags = THICKMATERIAL body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS slowdown = 1 allowed = list(/obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/pen, /obj/item/device/flashlight/pen, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray) diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index 90ae827957..deb48e5667 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -279,7 +279,7 @@ icon_state = "bee" item_state = "labcoat" body_parts_covered = CHEST|GROIN|ARMS - flags_1 = THICKMATERIAL_1 + clothing_flags = THICKMATERIAL hoodtype = /obj/item/clothing/head/hooded/bee_hood /obj/item/clothing/head/hooded/bee_hood @@ -287,7 +287,7 @@ desc = "A hood attached to a bee costume." icon_state = "bee" body_parts_covered = HEAD - flags_1 = THICKMATERIAL_1 + clothing_flags = THICKMATERIAL flags_inv = HIDEHAIR|HIDEEARS dynamic_hair_suffix = "" diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm index 9fce4145b7..29c811246b 100644 --- a/code/modules/clothing/suits/utility.dm +++ b/code/modules/clothing/suits/utility.dm @@ -21,7 +21,7 @@ allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/extinguisher, /obj/item/crowbar) slowdown = 1 flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT - flags_1 = STOPSPRESSUREDMAGE_1 | THICKMATERIAL_1 + clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS @@ -56,7 +56,7 @@ name = "bomb hood" desc = "Use in case of bomb." icon_state = "bombsuit" - flags_1 = THICKMATERIAL_1 + clothing_flags = THICKMATERIAL armor = list("melee" = 20, "bullet" = 0, "laser" = 20,"energy" = 10, "bomb" = 100, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 50) flags_inv = HIDEFACE|HIDEMASK|HIDEEARS|HIDEEYES|HIDEHAIR|HIDEFACIALHAIR dynamic_hair_suffix = "" @@ -79,7 +79,7 @@ w_class = WEIGHT_CLASS_BULKY gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 - flags_1 = THICKMATERIAL_1 + clothing_flags = THICKMATERIAL body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS slowdown = 2 armor = list("melee" = 20, "bullet" = 0, "laser" = 20,"energy" = 10, "bomb" = 100, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 50) @@ -119,7 +119,7 @@ name = "radiation hood" icon_state = "rad" desc = "A hood with radiation protective properties. The label reads, 'Made with lead. Please do not consume insulation.'" - flags_1 = THICKMATERIAL_1 + clothing_flags = THICKMATERIAL flags_inv = HIDEMASK|HIDEEARS|HIDEFACE|HIDEEYES|HIDEHAIR|HIDEFACIALHAIR armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 60, "rad" = 100, "fire" = 30, "acid" = 30) strip_delay = 60 @@ -139,7 +139,7 @@ w_class = WEIGHT_CLASS_BULKY gas_transfer_coefficient = 0.9 permeability_coefficient = 0.5 - flags_1 = THICKMATERIAL_1 + clothing_flags = THICKMATERIAL body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/device/geiger_counter) slowdown = 1.5 @@ -153,4 +153,4 @@ . = ..() AddComponent(/datum/component/rad_insulation, RAD_NO_INSULATION, TRUE, FALSE) // Just don't want things to be irradiated inside this - // Except things on the mob aren't even inside the suit so ehhhhhh \ No newline at end of file + // Except things on the mob aren't even inside the suit so ehhhhhh diff --git a/code/modules/hydroponics/beekeeping/beebox.dm b/code/modules/hydroponics/beekeeping/beebox.dm index 7075b8502e..5a35597a34 100644 --- a/code/modules/hydroponics/beekeeping/beebox.dm +++ b/code/modules/hydroponics/beekeeping/beebox.dm @@ -18,8 +18,11 @@ /mob/living/carbon/human/bee_friendly() if(dna && dna.species && dna.species.id == "pod") //bees pollinate plants, duh. return 1 - if((wear_suit && (wear_suit.flags_1 & THICKMATERIAL_1)) && (head && (head.flags_1 & THICKMATERIAL_1))) - return 1 + if (wear_suit && head && is_type_in_typecache(wear_suit, GLOB.typecache_clothing) && is_type_in_typecache(wear_suit, GLOB.typecache_clothing)) + var/obj/item/clothing/CS = wear_suit + var/obj/item/clothing/CH = head + if (CS.clothing_flags & CH.clothing_flags & THICKMATERIAL) + return 1 return 0 diff --git a/code/modules/hydroponics/beekeeping/beekeeper_suit.dm b/code/modules/hydroponics/beekeeping/beekeeper_suit.dm index b871951b0f..7fa1a0dd2c 100644 --- a/code/modules/hydroponics/beekeeping/beekeeper_suit.dm +++ b/code/modules/hydroponics/beekeeping/beekeeper_suit.dm @@ -4,7 +4,7 @@ desc = "Keeps the lil buzzing buggers out of your eyes." icon_state = "beekeeper" item_state = "beekeeper" - flags_1 = THICKMATERIAL_1 + clothing_flags = THICKMATERIAL /obj/item/clothing/suit/beekeeper_suit @@ -12,5 +12,4 @@ desc = "Keeps the lil buzzing buggers away from your squishy bits." icon_state = "beekeeper" item_state = "beekeeper" - flags_1 = THICKMATERIAL_1 - + clothing_flags = THICKMATERIAL diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm index fc26fac0bc..84d2d964bf 100644 --- a/code/modules/mining/equipment/explorer_gear.dm +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -29,7 +29,7 @@ name = "explorer gas mask" desc = "A military-grade gas mask that can be connected to an air supply." icon_state = "gas_mining" - visor_flags = BLOCK_GAS_SMOKE_EFFECT_1 | MASKINTERNALS_1 + visor_flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS visor_flags_inv = HIDEFACIALHAIR visor_flags_cover = MASKCOVERSMOUTH actions_types = list(/datum/action/item_action/adjust) @@ -52,7 +52,7 @@ desc = "Hostile Environment Cross-Kinetic Suit: A suit designed to withstand the wide variety of hazards from Lavaland. It wasn't enough for its last owner." icon_state = "hostile_env" item_state = "hostile_env" - flags_1 = THICKMATERIAL_1 //not spaceproof + clothing_flags = THICKMATERIAL //not spaceproof max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | LAVA_PROOF slowdown = 0 @@ -84,7 +84,7 @@ item_state = "hostile_env" w_class = WEIGHT_CLASS_NORMAL max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT - flags_1 = THICKMATERIAL_1 // no space protection + clothing_flags = THICKMATERIAL // no space protection armor = list("melee" = 70, "bullet" = 40, "laser" = 10, "energy" = 10, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100) resistance_flags = FIRE_PROOF | LAVA_PROOF @@ -106,4 +106,3 @@ var/mutable_appearance/M = mutable_appearance('icons/mob/head.dmi', "hostile_env_glass") M.appearance_flags = RESET_COLOR . += M - diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index a5368fc7c0..c54b20156f 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -15,7 +15,7 @@ icon_state = "facehugger" item_state = "facehugger" w_class = WEIGHT_CLASS_TINY //note: can be picked up by aliens unlike most other items of w_class below 4 - flags_1 = MASKINTERNALS_1 + clothing_flags = MASKINTERNALS throw_range = 5 tint = 3 flags_cover = MASKCOVERSEYES | MASKCOVERSMOUTH diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index ebf66a675e..b904ff9437 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -234,7 +234,7 @@ if(href_list["internal"]) var/slot = text2num(href_list["internal"]) var/obj/item/ITEM = get_item_by_slot(slot) - if(ITEM && istype(ITEM, /obj/item/tank) && wear_mask && (wear_mask.flags_1 & MASKINTERNALS_1)) + if(ITEM && istype(ITEM, /obj/item/tank) && wear_mask && (wear_mask.clothing_flags & MASKINTERNALS)) visible_message("[usr] tries to [internal ? "close" : "open"] the valve on [src]'s [ITEM.name].", \ "[usr] tries to [internal ? "close" : "open"] the valve on [src]'s [ITEM.name].") if(do_mob(usr, src, POCKET_STRIP_DELAY)) @@ -242,7 +242,7 @@ internal = null update_internals_hud_icon(0) else if(ITEM && istype(ITEM, /obj/item/tank)) - if((wear_mask && (wear_mask.flags_1 & MASKINTERNALS_1)) || getorganslot(ORGAN_SLOT_BREATHING_TUBE)) + if((wear_mask && (wear_mask.clothing_flags & MASKINTERNALS)) || getorganslot(ORGAN_SLOT_BREATHING_TUBE)) internal = ITEM update_internals_hud_icon(1) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 6c63c32904..fbd4aeac08 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -495,12 +495,17 @@ . = 0 // If targeting the head, see if the head item is thin enough. // If targeting anything else, see if the wear suit is thin enough. - if(above_neck(target_zone)) - if(head && head.flags_1 & THICKMATERIAL_1 && !penetrate_thick) - . = 0 - else - if(wear_suit && wear_suit.flags_1 & THICKMATERIAL_1 && !penetrate_thick) - . = 0 + if (!penetrate_thick) + if(above_neck(target_zone)) + if(head && is_type_in_typecache(head, GLOB.typecache_clothing)) + var/obj/item/clothing/CH = head + if (CH.clothing_flags & THICKMATERIAL) + . = 0 + else + if(wear_suit && is_type_in_typecache(wear_suit, GLOB.typecache_clothing)) + var/obj/item/clothing/CS = wear_suit + if (CS.clothing_flags & THICKMATERIAL) + . = 0 if(!. && error_msg && user) // Might need re-wording. to_chat(user, "There is no exposed flesh or thin material [above_neck(target_zone) ? "on [p_their()] head" : "on [p_their()] body"].") diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index e40327c07e..f62f6d22c7 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -8,14 +8,21 @@ /mob/living/carbon/human/slip(knockdown_amount, obj/O, lube) if(has_trait(TRAIT_NOSLIPALL)) return 0 - if((isobj(shoes) && (shoes.flags_1&NOSLIP_1)) || has_trait(TRAIT_NOSLIPWATER) && !(lube&GALOSHES_DONT_HELP)) - return 0 + if (!(lube&GALOSHES_DONT_HELP)) + if(has_trait(TRAIT_NOSLIPWATER)) + return 0 + if(shoes && is_type_in_typecache(shoes, GLOB.typecache_clothing)) + var/obj/item/clothing/CS = shoes + if (CS.clothing_flags & NOSLIP) + return 0 return ..() /mob/living/carbon/human/experience_pressure_difference() playsound(src, 'sound/effects/space_wind.ogg', 50, 1) - if(shoes && shoes.flags_1&NOSLIP_1) - return 0 + if(shoes && is_type_in_typecache(shoes, GLOB.typecache_clothing)) + var/obj/item/clothing/S = shoes + if (S.clothing_flags & NOSLIP) + return 0 return ..() /mob/living/carbon/human/mob_has_gravity() diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index b4f93a12d0..8843e2346e 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -44,6 +44,7 @@ /mob/living/carbon/human/calculate_affecting_pressure(pressure) +<<<<<<< HEAD if((wear_suit && (wear_suit.flags_1 & STOPSPRESSUREDMAGE_1)) && (head && (head.flags_1 & STOPSPRESSUREDMAGE_1))) return ONE_ATMOSPHERE if(istype(loc, /obj/belly)) @@ -52,6 +53,14 @@ return ONE_ATMOSPHERE else return pressure +======= + if (wear_suit && head && is_type_in_typecache(wear_suit, GLOB.typecache_clothing) && is_type_in_typecache(wear_suit, GLOB.typecache_clothing)) + var/obj/item/clothing/CS = wear_suit + var/obj/item/clothing/CH = head + if (CS.clothing_flags & CH.clothing_flags & STOPSPRESSUREDAMAGE) + return ONE_ATMOSPHERE + return pressure +>>>>>>> 98f8ca7... Moves several clothing-specific flags from /atom to their proper type (#37486) /mob/living/carbon/human/handle_traits() @@ -290,13 +299,14 @@ /mob/living/carbon/human/has_smoke_protection() if(wear_mask) - if(wear_mask.flags_1 & BLOCK_GAS_SMOKE_EFFECT_1) + if(wear_mask.clothing_flags & BLOCK_GAS_SMOKE_EFFECT) return TRUE if(glasses) - if(glasses.flags_1 & BLOCK_GAS_SMOKE_EFFECT_1) + if(glasses.clothing_flags & BLOCK_GAS_SMOKE_EFFECT) return TRUE - if(head) - if(head.flags_1 & BLOCK_GAS_SMOKE_EFFECT_1) + if(head && is_type_in_typecache(head, GLOB.typecache_clothing)) + var/obj/item/clothing/CH = head + if(CH.clothing_flags & BLOCK_GAS_SMOKE_EFFECT) return TRUE return ..() diff --git a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm index d1f41a4aca..67d2b0e5ba 100644 --- a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm +++ b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm @@ -24,7 +24,12 @@ /datum/species/plasmaman/spec_life(mob/living/carbon/human/H) var/datum/gas_mixture/environment = H.loc.return_air() - var/atmos_sealed = (H.wear_suit && (H.wear_suit.flags_1 & STOPSPRESSUREDMAGE_1)) && (H.head && (H.head.flags_1 & STOPSPRESSUREDMAGE_1)) + var/atmos_sealed = FALSE + if (H.wear_suit && H.head && is_type_in_typecache(H.wear_suit, GLOB.typecache_clothing) && is_type_in_typecache(H.head, GLOB.typecache_clothing)) + var/obj/item/clothing/CS = H.wear_suit + var/obj/item/clothing/CH = H.head + if (CS.clothing_flags & CH.clothing_flags & STOPSPRESSUREDAMAGE) + atmos_sealed = TRUE if((!istype(H.w_uniform, /obj/item/clothing/under/plasmaman) || !istype(H.head, /obj/item/clothing/head/helmet/space/plasmaman)) && !atmos_sealed) if(environment) if(environment.total_moles()) diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 7ba1565bd7..54d5c4ab57 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -237,7 +237,7 @@ if(internal.loc != src) internal = null update_internals_hud_icon(0) - else if ((!wear_mask || !(wear_mask.flags_1 & MASKINTERNALS_1)) && !getorganslot(ORGAN_SLOT_BREATHING_TUBE)) + else if ((!wear_mask || !(wear_mask.clothing_flags & MASKINTERNALS)) && !getorganslot(ORGAN_SLOT_BREATHING_TUBE)) internal = null update_internals_hud_icon(0) else diff --git a/code/modules/mob/living/carbon/monkey/life.dm b/code/modules/mob/living/carbon/monkey/life.dm index 6513985704..be2c6364b7 100644 --- a/code/modules/mob/living/carbon/monkey/life.dm +++ b/code/modules/mob/living/carbon/monkey/life.dm @@ -18,8 +18,13 @@ if(..()) if(!client) +<<<<<<< HEAD if(stat == CONSCIOUS) if(on_fire || buckled || restrained() || (resting && canmove)) +======= + if(stat == CONSCIOUS) + if(on_fire || buckled || restrained()) +>>>>>>> 98f8ca7... Moves several clothing-specific flags from /atom to their proper type (#37486) if(!resisting && prob(MONKEY_RESIST_PROB)) resisting = TRUE walk_to(src,0) @@ -146,7 +151,7 @@ /mob/living/carbon/monkey/has_smoke_protection() if(wear_mask) - if(wear_mask.flags_1 & BLOCK_GAS_SMOKE_EFFECT_1) + if(wear_mask.clothing_flags & BLOCK_GAS_SMOKE_EFFECT) return 1 /mob/living/carbon/monkey/handle_fire() diff --git a/code/modules/mob/living/simple_animal/bot/medbot.dm b/code/modules/mob/living/simple_animal/bot/medbot.dm index 4cf1f6b13f..f7fa5071e2 100644 --- a/code/modules/mob/living/simple_animal/bot/medbot.dm +++ b/code/modules/mob/living/simple_animal/bot/medbot.dm @@ -357,8 +357,11 @@ if(ishuman(C)) var/mob/living/carbon/human/H = C - if((H.head && (H.head.flags_1 & THICKMATERIAL_1)) && (H.wear_suit && (H.wear_suit.flags_1 & THICKMATERIAL_1))) - return FALSE // Skip over them if they have no exposed flesh. + if (H.wear_suit && H.head && is_type_in_typecache(H.wear_suit, GLOB.typecache_clothing) && is_type_in_typecache(H.wear_suit, GLOB.typecache_clothing)) + var/obj/item/clothing/CS = H.wear_suit + var/obj/item/clothing/CH = H.head + if (CS.clothing_flags & CH.clothing_flags & THICKMATERIAL) + return FALSE // Skip over them if they have no exposed flesh. if(declare_crit && C.health <= 0) //Critical condition! Call for help! declare(C) diff --git a/code/modules/ninja/suit/shoes.dm b/code/modules/ninja/suit/shoes.dm index df8caf0291..1b935a00de 100644 --- a/code/modules/ninja/suit/shoes.dm +++ b/code/modules/ninja/suit/shoes.dm @@ -5,11 +5,11 @@ icon_state = "s-ninja" item_state = "secshoes" permeability_coefficient = 0.01 - flags_1 = NOSLIP_1 + clothing_flags = NOSLIP resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF armor = list("melee" = 60, "bullet" = 50, "laser" = 30,"energy" = 15, "bomb" = 30, "bio" = 30, "rad" = 30, "fire" = 100, "acid" = 100) strip_delay = 120 cold_protection = FEET min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT heat_protection = FEET - max_heat_protection_temperature = SHOES_MAX_TEMP_PROTECT \ No newline at end of file + max_heat_protection_temperature = SHOES_MAX_TEMP_PROTECT diff --git a/code/modules/research/xenobiology/crossbreeding/charged.dm b/code/modules/research/xenobiology/crossbreeding/charged.dm index bc2bbe4c57..daa90d641f 100644 --- a/code/modules/research/xenobiology/crossbreeding/charged.dm +++ b/code/modules/research/xenobiology/crossbreeding/charged.dm @@ -329,7 +329,11 @@ Charged extracts: if(!istype(C)) to_chat(user, "The potion can only be used on clothing!") return +<<<<<<< HEAD if(C.min_cold_protection_temperature == SPACE_SUIT_MIN_TEMP_PROTECT && STOPSPRESSUREDMAGE_1 in C.flags_1) +======= + if(C.min_cold_protection_temperature == SPACE_SUIT_MIN_TEMP_PROTECT && C.clothing_flags & STOPSPRESSUREDAMAGE) +>>>>>>> 98f8ca7... Moves several clothing-specific flags from /atom to their proper type (#37486) to_chat(user, "The [C] is already pressure-resistant!") return ..() to_chat(user, "You slather the blue gunk over the [C], making it airtight.") @@ -338,7 +342,7 @@ Charged extracts: C.add_atom_colour("#000080", FIXED_COLOUR_PRIORITY) C.min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT C.cold_protection = C.body_parts_covered - C.flags_1 |= STOPSPRESSUREDMAGE_1 + C.clothing_flags |= STOPSPRESSUREDAMAGE uses-- if(!uses) qdel(src) @@ -371,7 +375,9 @@ Charged extracts: C.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) C.add_atom_colour("#800000", FIXED_COLOUR_PRIORITY) C.resistance_flags |= LAVA_PROOF - C.flags_2 |= LAVA_PROTECT_2 + if (istype(C, /obj/item/clothing)) + var/obj/item/clothing/CL = C + CL.clothing_flags |= LAVAPROTECT uses-- if(!uses) qdel(src) From b3b84b3dda04a533d3a002913e2dfed7007c03e2 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Sun, 29 Apr 2018 18:36:49 -0400 Subject: [PATCH 005/415] Update flags.dm --- code/__DEFINES/flags.dm | 5 ----- 1 file changed, 5 deletions(-) diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index 2d2b2704c0..08c6a5690a 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -11,11 +11,6 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 #define DF_VAR_EDITED (1<<1) //FLAGS BITMASK -<<<<<<< HEAD -#define STOPSPRESSUREDMAGE_1 (1<<0) //This flag is used on the flags_1 variable for SUIT and HEAD items which stop pressure damage. Note that the flag 1 was previous used as ONBACK, so it is possible for some code to use (flags & 1) when checking if something can be put on your back. Replace this code with (inv_flags & SLOT_BACK) if you see it anywhere -//To successfully stop you taking all pressure damage you must have both a suit and head item with this flag. -======= ->>>>>>> 98f8ca7... Moves several clothing-specific flags from /atom to their proper type (#37486) #define NODROP_1 (1<<1) // This flag makes it so that an item literally cannot be removed at all, or at least that's how it should be. Only deleted. #define NOBLUDGEON_1 (1<<2) // when an item has this it produces no "X has been hit by Y with Z" message in the default attackby() From 2890cfb978b43582ab85d20efca19da26cb0af4d Mon Sep 17 00:00:00 2001 From: deathride58 Date: Sun, 29 Apr 2018 18:37:51 -0400 Subject: [PATCH 006/415] Update mutations.dm --- code/modules/antagonists/changeling/powers/mutations.dm | 5 ----- 1 file changed, 5 deletions(-) diff --git a/code/modules/antagonists/changeling/powers/mutations.dm b/code/modules/antagonists/changeling/powers/mutations.dm index 1d08860b93..6b1e4ef2fb 100644 --- a/code/modules/antagonists/changeling/powers/mutations.dm +++ b/code/modules/antagonists/changeling/powers/mutations.dm @@ -445,14 +445,9 @@ name = "flesh mass" icon_state = "lingspacesuit" desc = "A huge, bulky mass of pressure and temperature-resistant organic tissue, evolved to facilitate space travel." -<<<<<<< HEAD - flags_1 = STOPSPRESSUREDMAGE_1 | NODROP_1 | DROPDEL_1 //Not THICKMATERIAL_1 because it's organic tissue, so if somebody tries to inject something into it, it still ends up in your blood. (also balance but muh fluff) - allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/oxygen) -======= flags_1 = NODROP_1 | DROPDEL_1 clothing_flags = STOPSPRESSUREDAMAGE //Not THICKMATERIAL because it's organic tissue, so if somebody tries to inject something into it, it still ends up in your blood. (also balance but muh fluff) allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/oxygen) ->>>>>>> 98f8ca7... Moves several clothing-specific flags from /atom to their proper type (#37486) armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 90) //No armor at all. /obj/item/clothing/suit/space/changeling/Initialize() From e03e419b9ec156f2e2b2aae1eff9068758c83e1c Mon Sep 17 00:00:00 2001 From: deathride58 Date: Sun, 29 Apr 2018 18:41:01 -0400 Subject: [PATCH 007/415] Update life.dm --- code/modules/mob/living/carbon/human/life.dm | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 8843e2346e..35d0e115e9 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -44,23 +44,16 @@ /mob/living/carbon/human/calculate_affecting_pressure(pressure) -<<<<<<< HEAD - if((wear_suit && (wear_suit.flags_1 & STOPSPRESSUREDMAGE_1)) && (head && (head.flags_1 & STOPSPRESSUREDMAGE_1))) - return ONE_ATMOSPHERE - if(istype(loc, /obj/belly)) + if(istype(loc, /obj/belly)) //START OF CIT CHANGES - Makes it so you don't suffocate while inside vore organs. Remind me to modularize this some time - Bhijn return ONE_ATMOSPHERE if(istype(loc, /obj/item/device/dogborg/sleeper)) - return ONE_ATMOSPHERE - else - return pressure -======= - if (wear_suit && head && is_type_in_typecache(wear_suit, GLOB.typecache_clothing) && is_type_in_typecache(wear_suit, GLOB.typecache_clothing)) + return ONE_ATMOSPHERE //END OF CIT CHANGES + if (wear_suit && head && is_type_in_typecache(wear_suit, GLOB.typecache_clothing) && is_type_in_typecache(head, GLOB.typecache_clothing)) var/obj/item/clothing/CS = wear_suit var/obj/item/clothing/CH = head if (CS.clothing_flags & CH.clothing_flags & STOPSPRESSUREDAMAGE) return ONE_ATMOSPHERE return pressure ->>>>>>> 98f8ca7... Moves several clothing-specific flags from /atom to their proper type (#37486) /mob/living/carbon/human/handle_traits() From 3921590a4b4325866d49960dc3a7bb0af102bfd8 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Sun, 29 Apr 2018 18:42:17 -0400 Subject: [PATCH 008/415] Update life.dm --- code/modules/mob/living/carbon/monkey/life.dm | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/code/modules/mob/living/carbon/monkey/life.dm b/code/modules/mob/living/carbon/monkey/life.dm index be2c6364b7..879aa82750 100644 --- a/code/modules/mob/living/carbon/monkey/life.dm +++ b/code/modules/mob/living/carbon/monkey/life.dm @@ -18,13 +18,8 @@ if(..()) if(!client) -<<<<<<< HEAD if(stat == CONSCIOUS) - if(on_fire || buckled || restrained() || (resting && canmove)) -======= - if(stat == CONSCIOUS) - if(on_fire || buckled || restrained()) ->>>>>>> 98f8ca7... Moves several clothing-specific flags from /atom to their proper type (#37486) + if(on_fire || buckled || restrained() || (resting && canmove)) //CIT CHANGE - makes it so monkeys attempt to resist if they're resting if(!resisting && prob(MONKEY_RESIST_PROB)) resisting = TRUE walk_to(src,0) @@ -188,4 +183,4 @@ #undef COLD_DAMAGE_LEVEL_1 #undef COLD_DAMAGE_LEVEL_2 -#undef COLD_DAMAGE_LEVEL_3 \ No newline at end of file +#undef COLD_DAMAGE_LEVEL_3 From f46a77ba5c786c33640ab5e851fe9c0a80bd8bf9 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Sun, 29 Apr 2018 18:43:11 -0400 Subject: [PATCH 009/415] Update charged.dm --- code/modules/research/xenobiology/crossbreeding/charged.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/modules/research/xenobiology/crossbreeding/charged.dm b/code/modules/research/xenobiology/crossbreeding/charged.dm index daa90d641f..3e71ee1d21 100644 --- a/code/modules/research/xenobiology/crossbreeding/charged.dm +++ b/code/modules/research/xenobiology/crossbreeding/charged.dm @@ -329,11 +329,7 @@ Charged extracts: if(!istype(C)) to_chat(user, "The potion can only be used on clothing!") return -<<<<<<< HEAD - if(C.min_cold_protection_temperature == SPACE_SUIT_MIN_TEMP_PROTECT && STOPSPRESSUREDMAGE_1 in C.flags_1) -======= if(C.min_cold_protection_temperature == SPACE_SUIT_MIN_TEMP_PROTECT && C.clothing_flags & STOPSPRESSUREDAMAGE) ->>>>>>> 98f8ca7... Moves several clothing-specific flags from /atom to their proper type (#37486) to_chat(user, "The [C] is already pressure-resistant!") return ..() to_chat(user, "You slather the blue gunk over the [C], making it airtight.") From c6b888d6b25d7425b5a60f8ede85dfec2cdc9c81 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Sun, 29 Apr 2018 18:46:08 -0400 Subject: [PATCH 010/415] Update panels.css --- html/panels.css | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/html/panels.css b/html/panels.css index 5e2edab67a..1f969c690e 100644 --- a/html/panels.css +++ b/html/panels.css @@ -1,15 +1,3 @@ -<<<<<<< HEAD -body {padding:0px;margin:0px;} -#top {position:fixed;top:5px;left:10%;width:80%;text-align:center;background-color:#fff;border:2px solid #ccc;} -#main {position:relative;top:50px;left:3%;width:96%;text-align:center;z-index:0;} -#searchable {table-layout:fixed;width:100%;text-align:center;"#f4f4f4";} -tr.norm {background-color:#f4f4f4;} -tr.title {background-color:#ccc;} -tr.alt {background-color:#e7e7e7;} -.small {font-size:80%;} -a {text-decoration:none;color:#a0a;} -a:hover {color:#d3d;} -======= body {padding:0px;margin:0px;} #top {position:fixed;top:5px;left:10%;width:80%;text-align:center;background-color:#fff;border:2px solid #ccc;} #main {position:relative;top:10px;left:3%;width:96%;text-align:center;z-index:0;} @@ -20,4 +8,3 @@ tr.alt {background-color:#e7e7e7;} .small {font-size:80%;} a {text-decoration:none;} a:hover {color:#d3d;} ->>>>>>> 4b455e8... Merge pull request #37267 from Jordie0608/iwasgoingtolaughatcitrusfordoingthisbutthenimadethesamemistake From 2fe4591a12b78d8783635c796235cac0bbb1300e Mon Sep 17 00:00:00 2001 From: europax <34190759+europax@users.noreply.github.com> Date: Tue, 1 May 2018 21:42:05 +0300 Subject: [PATCH 011/415] Adds 5 new drinks --- .../food_and_drinks/drinks/drinks/bottle.dm | 9 +++ .../food_and_drinks/recipes/drinks_recipes.dm | 44 +++++++++++- .../chemistry/machinery/chem_dispenser.dm | 6 +- .../chemistry/reagents/alcohol_reagents.dm | 72 ++++++++++++++++++- .../chemistry/reagents/drink_reagents.dm | 10 +++ .../chemistry/reagents/drug_reagents.dm | 9 --- code/modules/vending/boozeomat.dm | 5 +- 7 files changed, 140 insertions(+), 15 deletions(-) diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm index ee5dc7e328..664d2e0bc2 100644 --- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm +++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm @@ -344,6 +344,15 @@ list_reagents = list("limejuice" = 100) foodtype = FRUIT +/obj/item/reagent_containers/food/drinks/bottle/menthol + name = "menthol" + desc = "Tastes naturally minty, and imparts a very mild numbing sensation." + icon_state = "mentholbox" + item_state = "carton" + lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi' + isGlass = FALSE + list_reagents = list("menthol" = 100) ////////////////////////// MOLOTOV /////////////////////// /obj/item/reagent_containers/food/drinks/bottle/molotov diff --git a/code/modules/food_and_drinks/recipes/drinks_recipes.dm b/code/modules/food_and_drinks/recipes/drinks_recipes.dm index 43b3ba07ab..a525e82882 100644 --- a/code/modules/food_and_drinks/recipes/drinks_recipes.dm +++ b/code/modules/food_and_drinks/recipes/drinks_recipes.dm @@ -623,4 +623,46 @@ id = "crevice_spike" results = list("crevice_spike" = 6) required_reagents = list("limejuice" = 2, "capsaicin" = 4) //2 powdered delta (sour), 4 flanergide (spicy) - mix_message = "The mixture stings your eyes as it settles." \ No newline at end of file +<<<<<<< HEAD + mix_message = "The mixture stings your eyes as it settles." +======= + mix_message = "The mixture stings your eyes as it settles." + +/datum/chemical_reaction/sake + name = "sake" + id = "sake" + results = list("sake" = 10) + required_reagents = list("rice" = 10) + required_catalysts = list("enzyme" = 5) + mix_message = "The rice grains ferment into a clear, sweet-smelling liquid." + +/datum/chemical_reaction/alexander + name = "Alexander" + id = "alexander" + results = list("alexander" = 3) + required_reagents = list("cognac" = 1, "creme_de_cacao" = 1, "cream" = 1) + +/datum/chemical_reaction/sidecar + name = "Sidecar" + id = "sidecar" + results = list("sidecar" = 4) + required_reagents = list("cognac" = 2, "triple_sec" = 1, "lemonjuice" = 1) + +/datum/chemical_reaction/between_the_sheets + name = "Between the Sheets" + id = "between_the_sheets" + results = list("between_the_sheets" = 5) + required_reagents = list("rum" = 1, "sidecar" = 4) + +/datum/chemical_reaction/kamikaze + name = "Kamikaze" + id = "kamikaze" + results = list("kamikaze" = 3) + required_reagents = list("vodka" = 1, "triple_sec" = 1, "limejuice" = 1) + +/datum/chemical_reaction/mojito + name = "Mojito" + id = "mojito" + results = list("mojito" = 5) + required_reagents = list("rum" = 1, "sugar" = 1, "limejuice" = 1, "sodawater" = 1, "menthol" = 1) +>>>>>>> 5a78cf1... Adds 5 new drinks (#37589) diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index 2db6058852..b2556d6359 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -433,7 +433,8 @@ obj/machinery/chem_dispenser/proc/work_animation() "orangejuice", "limejuice", "tomatojuice", - "lemonjuice" + "lemonjuice", + "menthol" ) emagged_reagents = list( "thirteenloko", @@ -465,7 +466,8 @@ obj/machinery/chem_dispenser/proc/work_animation() "hcider", "creme_de_menthe", "creme_de_cacao", - "triple_sec" + "triple_sec", + "sake" ) emagged_reagents = list( "ethanol", diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index 42343f8af8..cd61e6b34f 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -1546,4 +1546,74 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_desc = "It'll either knock the drunkenness out of you or knock you out cold. Both, probably." /datum/reagent/consumable/ethanol/crevice_spike/on_mob_add(mob/living/L) //damage only applies when drink first enters system and won't again until drink metabolizes out - L.adjustBruteLoss(3 * min(5,volume)) //minimum 3 brute damage on ingestion to limit non-drink means of injury - a full 5 unit gulp of the drink trucks you for the full 15 \ No newline at end of file +<<<<<<< HEAD + L.adjustBruteLoss(3 * min(5,volume)) //minimum 3 brute damage on ingestion to limit non-drink means of injury - a full 5 unit gulp of the drink trucks you for the full 15 +======= + L.adjustBruteLoss(3 * min(5,volume)) //minimum 3 brute damage on ingestion to limit non-drink means of injury - a full 5 unit gulp of the drink trucks you for the full 15 + +/datum/reagent/consumable/ethanol/sake + name = "Sake" + id = "sake" + description = "A sweet rice wine of questionable legality and extreme potency." + color = "#DDDDDD" + boozepwr = 70 + taste_description = "sweet rice wine" + glass_icon_state = "sakecup" + glass_name = "cup of sake" + glass_desc = "A traditional cup of sake." + +/datum/reagent/consumable/ethanol/alexander + name = "Alexander" + id = "alexander" + description = "A creamy, indulgent delight that is stronger than it seems." + color = "#F5E9D3" + boozepwr = 80 + taste_description = "bitter, creamy cacao" + glass_icon_state = "alexander" + glass_name = "Alexander" + glass_desc = "A creamy, indulgent delight that is stronger than it seems." + +/datum/reagent/consumable/ethanol/sidecar + name = "Sidecar" + id = "sidecar" + description = "The one ride you’ll gladly give up the wheel for." + color = "#FFC55B" + boozepwr = 80 + taste_description = "delicious freedom" + glass_icon_state = "sidecar" + glass_name = "Sidecar" + glass_desc = "The one ride you’ll gladly give up the wheel for." + +/datum/reagent/consumable/ethanol/between_the_sheets + name = "Between the Sheets" + id = "between_the_sheets" + description = "A provocatively named classic." + color = "#F4C35A" + boozepwr = 80 + taste_description = "seduction" + glass_icon_state = "between_the_sheets" + glass_name = "Between the Sheets" + glass_desc = "A provocatively named classic." + +/datum/reagent/consumable/ethanol/kamikaze + name = "Kamikaze" + id = "kamikaze" + description = "Divinely windy." + color = "#EEF191" + boozepwr = 60 + taste_description = "divine windiness" + glass_icon_state = "kamikaze" + glass_name = "Kamikaze" + glass_desc = "Divinely windy." + +/datum/reagent/consumable/ethanol/mojito + name = "Mojito" + id = "mojito" + description = "A drink that looks as refreshing as it tastes." + color = "#DFFAD9" + boozepwr = 30 + taste_description = "refreshing mint" + glass_icon_state = "mojito" + glass_name = "Mojito" + glass_desc = "A drink that looks as refreshing as it tastes." +>>>>>>> 5a78cf1... Adds 5 new drinks (#37589) diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index 673b6e7059..5d5fdf2183 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -721,3 +721,13 @@ description = "Milk for cool kids." color = "#7D4E29" taste_description = "chocolate milk" + +/datum/reagent/consumable/menthol + name = "Menthol" + id = "menthol" + description = "Tastes naturally minty, and imparts a very mild numbing sensation." + color = "#80AF9C" + taste_description = "mint" + glass_icon_state = "glass_green" + glass_name = "glass of menthol" + glass_desc = "Tastes naturally minty, and imparts a very mild numbing sensation." diff --git a/code/modules/reagents/chemistry/reagents/drug_reagents.dm b/code/modules/reagents/chemistry/reagents/drug_reagents.dm index 32b96d2780..dd932f6215 100644 --- a/code/modules/reagents/chemistry/reagents/drug_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drug_reagents.dm @@ -57,15 +57,6 @@ ..() . = 1 -/datum/reagent/drug/menthol - name = "Menthol" - id = "menthol" - description = "Tastes naturally minty, and imparts a very mild numbing sensation." - taste_description = "mint" - reagent_state = LIQUID - color = "#80AF9C" - trippy = FALSE - /datum/reagent/drug/crank name = "Crank" id = "crank" diff --git a/code/modules/vending/boozeomat.dm b/code/modules/vending/boozeomat.dm index eddb01171b..59b41d4cef 100644 --- a/code/modules/vending/boozeomat.dm +++ b/code/modules/vending/boozeomat.dm @@ -19,6 +19,7 @@ /obj/item/reagent_containers/food/drinks/bottle/orangejuice = 4, /obj/item/reagent_containers/food/drinks/bottle/tomatojuice = 4, /obj/item/reagent_containers/food/drinks/bottle/limejuice = 4, + /obj/item/reagent_containers/food/drinks/bottle/menthol = 4, /obj/item/reagent_containers/food/drinks/bottle/cream = 4, /obj/item/reagent_containers/food/drinks/soda_cans/tonic = 8, /obj/item/reagent_containers/food/drinks/soda_cans/cola = 8, @@ -37,5 +38,5 @@ /obj/item/vending_refill/boozeomat machine_name = "Booze-O-Mat" icon_state = "refill_booze" - charges = list(58, 4, 0)//of 174 standard, 12 contraband - init_charges = list(58, 4, 0) + charges = list(59, 4, 0)//of 178 standard, 12 contraband + init_charges = list(59, 4, 0) From e966c95de66c0f309c1af16c97a34b9d743a4d68 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Wed, 2 May 2018 10:32:34 -0400 Subject: [PATCH 012/415] Update monkey.dm --- code/_onclick/hud/monkey.dm | 158 ------------------------------------ 1 file changed, 158 deletions(-) diff --git a/code/_onclick/hud/monkey.dm b/code/_onclick/hud/monkey.dm index 1adb196b85..c469c1ef20 100644 --- a/code/_onclick/hud/monkey.dm +++ b/code/_onclick/hud/monkey.dm @@ -1,160 +1,3 @@ -<<<<<<< HEAD -/datum/hud/monkey/New(mob/living/carbon/monkey/owner, ui_style = 'icons/mob/screen_midnight.dmi') - ..() - var/obj/screen/using - var/obj/screen/inventory/inv_box - - action_intent = new /obj/screen/act_intent() - action_intent.icon = ui_style - action_intent.icon_state = mymob.a_intent - action_intent.screen_loc = ui_acti - static_inventory += action_intent - - using = new /obj/screen/mov_intent() - using.icon = ui_style - using.icon_state = (mymob.m_intent == MOVE_INTENT_RUN ? "running" : "walking") - using.screen_loc = ui_movi - static_inventory += using - - using = new/obj/screen/language_menu - using.icon = ui_style - static_inventory += using - - using = new /obj/screen/drop() - using.icon = ui_style - using.screen_loc = ui_drop_throw - static_inventory += using - - build_hand_slots(ui_style) - - using = new /obj/screen/swap_hand() - using.icon = ui_style - using.icon_state = "swap_1_m" //extra wide! - using.screen_loc = ui_swaphand_position(owner,1) - static_inventory += using - - using = new /obj/screen/swap_hand() - using.icon = ui_style - using.icon_state = "swap_2" - using.screen_loc = ui_swaphand_position(owner,2) - static_inventory += using - - inv_box = new /obj/screen/inventory() - inv_box.name = "mask" - inv_box.icon = ui_style - inv_box.icon_state = "mask" -// inv_box.icon_full = "template" - inv_box.screen_loc = ui_monkey_mask - inv_box.slot_id = slot_wear_mask - static_inventory += inv_box - - inv_box = new /obj/screen/inventory() - inv_box.name = "neck" - inv_box.icon = ui_style - inv_box.icon_state = "neck" -// inv_box.icon_full = "template" - inv_box.screen_loc = ui_monkey_neck - inv_box.slot_id = slot_neck - static_inventory += inv_box - - inv_box = new /obj/screen/inventory() - inv_box.name = "head" - inv_box.icon = ui_style - inv_box.icon_state = "head" -// inv_box.icon_full = "template" - inv_box.screen_loc = ui_monkey_head - inv_box.slot_id = slot_head - static_inventory += inv_box - - inv_box = new /obj/screen/inventory() - inv_box.name = "back" - inv_box.icon = ui_style - inv_box.icon_state = "back" - inv_box.screen_loc = ui_monkey_back - inv_box.slot_id = slot_back - static_inventory += inv_box - - throw_icon = new /obj/screen/throw_catch() - throw_icon.icon = ui_style - throw_icon.screen_loc = ui_drop_throw - hotkeybuttons += throw_icon - - internals = new /obj/screen/internals() - infodisplay += internals - - healths = new /obj/screen/healths() - infodisplay += healths - - pull_icon = new /obj/screen/pull() - pull_icon.icon = ui_style - pull_icon.update_icon(mymob) - pull_icon.screen_loc = ui_pull_resist - static_inventory += pull_icon - - lingchemdisplay = new /obj/screen/ling/chems() - infodisplay += lingchemdisplay - - lingstingdisplay = new /obj/screen/ling/sting() - infodisplay += lingstingdisplay - - - zone_select = new /obj/screen/zone_sel() - zone_select.icon = ui_style - zone_select.update_icon(mymob) - static_inventory += zone_select - - mymob.client.screen = list() - - using = new /obj/screen/resist() - using.icon = ui_style - using.screen_loc = ui_pull_resist - hotkeybuttons += using - - for(var/obj/screen/inventory/inv in (static_inventory + toggleable_inventory)) - if(inv.slot_id) - inv.hud = src - inv_slots[inv.slot_id] = inv - inv.update_icon() - -/datum/hud/monkey/persistent_inventory_update() - if(!mymob) - return - var/mob/living/carbon/monkey/M = mymob - - if(hud_shown) - if(M.back) - M.back.screen_loc = ui_monkey_back - M.client.screen += M.back - if(M.wear_mask) - M.wear_mask.screen_loc = ui_monkey_mask - M.client.screen += M.wear_mask - if(M.wear_neck) - M.wear_neck.screen_loc = ui_monkey_neck - M.client.screen += M.wear_neck - if(M.head) - M.head.screen_loc = ui_monkey_head - M.client.screen += M.head - else - if(M.back) - M.back.screen_loc = null - if(M.wear_mask) - M.wear_mask.screen_loc = null - if(M.head) - M.head.screen_loc = null - - if(hud_version != HUD_STYLE_NOHUD) - for(var/obj/item/I in M.held_items) - I.screen_loc = ui_hand_position(M.get_held_index_of_item(I)) - M.client.screen += I - else - for(var/obj/item/I in M.held_items) - I.screen_loc = null - M.client.screen -= I - -/mob/living/carbon/monkey/create_mob_hud() - if(client && !hud_used) - hud_used = new /datum/hud/monkey(src, ui_style2icon(client.prefs.UI_style)) -======= /datum/hud/monkey/New(mob/living/carbon/monkey/owner, ui_style = 'icons/mob/screen_midnight.dmi') ..() var/obj/screen/using @@ -310,4 +153,3 @@ /mob/living/carbon/monkey/create_mob_hud() if(client && !hud_used) hud_used = new /datum/hud/monkey(src, ui_style2icon(client.prefs.UI_style)) ->>>>>>> ecd0d8b... Merge pull request #37476 from AnturK/thisalwaysbuggedme From c7ea6896793fad9e01b81556efd49ece4b1ed6f2 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Wed, 2 May 2018 10:33:50 -0400 Subject: [PATCH 013/415] Update nuclear.dm --- code/game/gamemodes/nuclear/nuclear.dm | 5 ----- 1 file changed, 5 deletions(-) diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index 68c9fd2b01..d3cb396fbb 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -154,13 +154,8 @@ R.command = TRUE if(tc) -<<<<<<< HEAD - var/obj/item/device/radio/uplink/U = new uplink_type(H, H.key, tc) - H.equip_to_slot_or_del(U, slot_in_backpack) -======= var/obj/item/radio/uplink/U = new uplink_type(H, H.key, tc) H.equip_to_slot_or_del(U, SLOT_IN_BACKPACK) ->>>>>>> ecd0d8b... Merge pull request #37476 from AnturK/thisalwaysbuggedme var/obj/item/implant/weapons_auth/W = new/obj/item/implant/weapons_auth(H) W.implant(H) From 3f50934c929326ca4fa87a3e1b300f132b701b4a Mon Sep 17 00:00:00 2001 From: deathride58 Date: Wed, 2 May 2018 10:34:45 -0400 Subject: [PATCH 014/415] Update headset.dm --- code/game/objects/items/devices/radio/headset.dm | 5 ----- 1 file changed, 5 deletions(-) diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index 2f0b6dc021..759327c544 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -7,13 +7,8 @@ subspace_transmission = TRUE canhear_range = 0 // can't hear headsets from very far away -<<<<<<< HEAD - slot_flags = SLOT_EARS - var/obj/item/device/encryptionkey/keyslot2 = null -======= slot_flags = ITEM_SLOT_EARS var/obj/item/encryptionkey/keyslot2 = null ->>>>>>> ecd0d8b... Merge pull request #37476 from AnturK/thisalwaysbuggedme dog_fashion = null /obj/item/device/radio/headset/suicide_act(mob/living/carbon/user) From 892cb0a1be96c7916f7fb4d1f1257ef0a103b041 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Wed, 2 May 2018 10:35:31 -0400 Subject: [PATCH 015/415] Update reverse_bear_trap.dm --- code/game/objects/items/devices/reverse_bear_trap.dm | 5 ----- 1 file changed, 5 deletions(-) diff --git a/code/game/objects/items/devices/reverse_bear_trap.dm b/code/game/objects/items/devices/reverse_bear_trap.dm index 088be968c5..04679f92e7 100644 --- a/code/game/objects/items/devices/reverse_bear_trap.dm +++ b/code/game/objects/items/devices/reverse_bear_trap.dm @@ -80,13 +80,8 @@ return ..() -<<<<<<< HEAD -/obj/item/device/reverse_bear_trap/attack(mob/living/target, mob/living/user) - if(target.get_item_by_slot(slot_head)) -======= /obj/item/reverse_bear_trap/attack(mob/living/target, mob/living/user) if(target.get_item_by_slot(SLOT_HEAD)) ->>>>>>> ecd0d8b... Merge pull request #37476 from AnturK/thisalwaysbuggedme to_chat(user, "Remove their headgear first!") return target.visible_message("[user] starts forcing [src] onto [target]'s head!", \ From fa6292dbd5592ff8b79079b086f3fba99eece23a Mon Sep 17 00:00:00 2001 From: Armhulen Date: Wed, 2 May 2018 19:23:44 -0700 Subject: [PATCH 016/415] deadly brain tumor now gives -3 points (#37455) * i can tweak it if need be yadda yadda one line change * ok lets be SENSIBLE. --- code/datums/traits/negative.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm index 57284a2558..7be86b2595 100644 --- a/code/datums/traits/negative.dm +++ b/code/datums/traits/negative.dm @@ -96,7 +96,7 @@ /datum/trait/brainproblems name = "Brain Tumor" desc = "You have a little friend in your brain that is slowly destroying it. Better bring some mannitol!" - value = -2 + value = -3 gain_text = "You feel smooth." lose_text = "You feel wrinkled again." medical_record_text = "Patient has a tumor in their brain that is slowly driving them to brain death." From 5c758e2f3a9eb47d36a9e52e33afcc5a07661653 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Thu, 3 May 2018 09:40:57 -0400 Subject: [PATCH 019/415] Merge pull request #37621 from ShizCalev/brainwash-uplink-loc Corrects brainwashing surgery program category --- code/modules/uplink/uplink_items.dm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index 7fa084ca95..92ce23c6c4 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -936,14 +936,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/storage/backpack/duffelbag/syndie/surgery cost = 3 -/datum/uplink_item/device_tools/brainwash_disk - name = "Brainwashing Surgery Program" - desc = "A disk containing the procedure to perform a brainwashing surgery, allowing you to implant an objective onto a target. \ - Insert into an Operating Console to enable the procedure." - item = /obj/item/disk/surgery/brainwashing - restricted_roles = list("Medical Doctor") - cost = 5 - /datum/uplink_item/device_tools/military_belt name = "Chest Rig" desc = "A robust seven-slot set of webbing that is capable of holding all manner of tactical equipment." @@ -1358,6 +1350,14 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) restricted_roles = list("Assistant") surplus = 0 +/datum/uplink_item/role_restricted/brainwash_disk + name = "Brainwashing Surgery Program" + desc = "A disk containing the procedure to perform a brainwashing surgery, allowing you to implant an objective onto a target. \ + Insert into an Operating Console to enable the procedure." + item = /obj/item/disk/surgery/brainwashing + restricted_roles = list("Medical Doctor") + cost = 5 + /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. Be warned, that spirits are often capricious or just little assholes. To use, simply speak your question aloud, then begin shaking." From 19140f2cb2554ba2d12aada951a8fc44c71e7921 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Thu, 3 May 2018 09:40:31 -0400 Subject: [PATCH 021/415] Merge pull request #37620 from AutomaticFrenzy/patch/dominator Remove a leftover reference to the gang dominator --- code/modules/antagonists/revenant/revenant_abilities.dm | 4 ++-- code/modules/antagonists/swarmer/swarmer.dm | 4 ---- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/code/modules/antagonists/revenant/revenant_abilities.dm b/code/modules/antagonists/revenant/revenant_abilities.dm index e3a068eed4..95ea189dde 100644 --- a/code/modules/antagonists/revenant/revenant_abilities.dm +++ b/code/modules/antagonists/revenant/revenant_abilities.dm @@ -290,7 +290,7 @@ unlock_amount = 200 action_icon_state = "malfunction" -//A note to future coders: do not replace this with an EMP because it will wreck malf AIs and gang dominators and everyone will hate you. +//A note to future coders: do not replace this with an EMP because it will wreck malf AIs and everyone will hate you. /obj/effect/proc_holder/spell/aoe_turf/revenant/malfunction/cast(list/targets, mob/living/simple_animal/revenant/user = usr) if(attempt_cast(user)) for(var/turf/T in targets) @@ -312,7 +312,7 @@ new /obj/effect/temp_visual/revenant(human.loc) human.emp_act(EMP_HEAVY) for(var/obj/thing in T) - if(istype(thing, /obj/machinery/dominator) || istype(thing, /obj/machinery/power/apc) || istype(thing, /obj/machinery/power/smes)) //Doesn't work on dominators, SMES and APCs, to prevent kekkery + if(istype(thing, /obj/machinery/power/apc) || istype(thing, /obj/machinery/power/smes)) //Doesn't work on SMES and APCs, to prevent kekkery continue if(prob(20)) if(prob(50)) diff --git a/code/modules/antagonists/swarmer/swarmer.dm b/code/modules/antagonists/swarmer/swarmer.dm index 8a87191c0d..4d6887f3e8 100644 --- a/code/modules/antagonists/swarmer/swarmer.dm +++ b/code/modules/antagonists/swarmer/swarmer.dm @@ -302,10 +302,6 @@ to_chat(S, "This device's destruction would result in the extermination of everything in the area. Aborting.") return FALSE -/obj/machinery/dominator/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "This device is attempting to corrupt our entire network; attempting to interact with it is too risky. Aborting.") - return FALSE - /obj/effect/rune/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) to_chat(S, "Searching... sensor malfunction! Target lost. Aborting.") return FALSE From deddd8debe7372f7275dd94789dbf0f163dda52d Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Thu, 3 May 2018 09:41:41 -0400 Subject: [PATCH 023/415] Merge pull request #37622 from ShizCalev/cockarock Changes cockroach guts to insect guts --- _maps/RandomRuins/SpaceRuins/oldstation.dmm | 2 +- _maps/map_files/Deltastation/DeltaStation2.dmm | 2 +- _maps/map_files/PubbyStation/PubbyStation.dmm | 14 +++++++------- code/game/objects/effects/decals/cleanable/misc.dm | 8 ++++++++ code/game/objects/items/weaponry.dm | 2 +- .../mob/living/simple_animal/bot/cleanbot.dm | 2 +- .../mob/living/simple_animal/friendly/cockroach.dm | 10 +--------- 7 files changed, 20 insertions(+), 20 deletions(-) diff --git a/_maps/RandomRuins/SpaceRuins/oldstation.dmm b/_maps/RandomRuins/SpaceRuins/oldstation.dmm index 2690a58816..4c25dbb740 100644 --- a/_maps/RandomRuins/SpaceRuins/oldstation.dmm +++ b/_maps/RandomRuins/SpaceRuins/oldstation.dmm @@ -4045,7 +4045,7 @@ /area/ruin/space/has_grav/ancientstation) "kE" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/deadcockroach, +/obj/effect/decal/cleanable/insectguts, /turf/open/floor/plasteel/floorgrime, /area/ruin/space/has_grav/ancientstation) "kF" = ( diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index b7fa189aa9..77899beaaf 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -10314,7 +10314,7 @@ /area/quartermaster/warehouse) "aBM" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/deadcockroach, +/obj/effect/decal/cleanable/insectguts, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index 1ea171f402..8ae131bc05 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -11737,7 +11737,7 @@ dir = 8; pixel_x = 23 }, -/obj/effect/decal/cleanable/deadcockroach, +/obj/effect/decal/cleanable/insectguts, /turf/open/floor/plasteel/freezer, /area/crew_quarters/toilet/restrooms) "aEi" = ( @@ -13428,7 +13428,7 @@ /obj/machinery/light/small{ dir = 8 }, -/obj/effect/decal/cleanable/deadcockroach, +/obj/effect/decal/cleanable/insectguts, /turf/open/floor/plasteel/freezer, /area/crew_quarters/toilet/restrooms) "aIo" = ( @@ -20061,7 +20061,7 @@ /obj/item/shard{ icon_state = "small" }, -/obj/effect/decal/cleanable/deadcockroach, +/obj/effect/decal/cleanable/insectguts, /obj/item/light/bulb, /turf/open/floor/plating, /area/maintenance/department/cargo) @@ -33067,7 +33067,7 @@ /area/maintenance/department/engine) "bDj" = ( /obj/item/trash/candy, -/obj/effect/decal/cleanable/deadcockroach, +/obj/effect/decal/cleanable/insectguts, /obj/machinery/atmospherics/pipe/simple/cyan/hidden, /obj/structure/cable{ icon_state = "1-2" @@ -34331,7 +34331,7 @@ /turf/open/floor/plasteel/freezer, /area/medical/virology) "bFL" = ( -/obj/effect/decal/cleanable/deadcockroach, +/obj/effect/decal/cleanable/insectguts, /turf/open/floor/plasteel/freezer, /area/medical/virology) "bFM" = ( @@ -38229,7 +38229,7 @@ /area/maintenance/department/engine) "bPq" = ( /obj/item/trash/chips, -/obj/effect/decal/cleanable/deadcockroach, +/obj/effect/decal/cleanable/insectguts, /turf/open/floor/plasteel/dark, /area/maintenance/department/engine) "bPr" = ( @@ -43057,7 +43057,7 @@ "cba" = ( /obj/structure/table, /obj/item/storage/fancy/cigarettes/cigpack_robustgold, -/obj/effect/decal/cleanable/deadcockroach, +/obj/effect/decal/cleanable/insectguts, /turf/open/floor/plating, /area/maintenance/department/engine) "cbb" = ( diff --git a/code/game/objects/effects/decals/cleanable/misc.dm b/code/game/objects/effects/decals/cleanable/misc.dm index 4591d5d567..a8a76ad2a9 100644 --- a/code/game/objects/effects/decals/cleanable/misc.dm +++ b/code/game/objects/effects/decals/cleanable/misc.dm @@ -224,3 +224,11 @@ icon_state = "flour" color = "#C8A5DC" beauty = -200 + +/obj/effect/decal/cleanable/insectguts + name = "insect guts" + desc = "One bug squashed. Four more will rise in its place." + icon = 'icons/effects/blood.dmi' + icon_state = "xfloor1" + random_icon_states = list("xfloor1", "xfloor2", "xfloor3", "xfloor4", "xfloor5", "xfloor6", "xfloor7") + beauty = -300 diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index 9fdae18149..f3be1828ea 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -577,7 +577,7 @@ /obj/item/melee/flyswatter/afterattack(atom/target, mob/user, proximity_flag) if(proximity_flag) if(is_type_in_typecache(target, strong_against)) - new /obj/effect/decal/cleanable/deadcockroach(get_turf(target)) + new /obj/effect/decal/cleanable/insectguts(target.drop_location()) to_chat(user, "You easily splat the [target].") if(istype(target, /mob/living/)) var/mob/living/bug = target diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index 13680f55a8..b70547b917 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -181,7 +181,7 @@ /obj/effect/decal/cleanable/ash, /obj/effect/decal/cleanable/greenglow, /obj/effect/decal/cleanable/dirt, - /obj/effect/decal/cleanable/deadcockroach, + /obj/effect/decal/cleanable/insectguts, /obj/effect/decal/remains ) diff --git a/code/modules/mob/living/simple_animal/friendly/cockroach.dm b/code/modules/mob/living/simple_animal/friendly/cockroach.dm index 3887e4b6d9..c85890df88 100644 --- a/code/modules/mob/living/simple_animal/friendly/cockroach.dm +++ b/code/modules/mob/living/simple_animal/friendly/cockroach.dm @@ -6,7 +6,7 @@ health = 1 maxHealth = 1 turns_per_move = 5 - loot = list(/obj/effect/decal/cleanable/deadcockroach) + loot = list(/obj/effect/decal/cleanable/insectguts) atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 270 maxbodytemp = INFINITY @@ -52,11 +52,3 @@ /mob/living/simple_animal/cockroach/ex_act() //Explosions are a terrible way to handle a cockroach. return - -/obj/effect/decal/cleanable/deadcockroach - name = "cockroach guts" - desc = "One bug squashed. Four more will rise in its place." - icon = 'icons/effects/blood.dmi' - icon_state = "xfloor1" - random_icon_states = list("xfloor1", "xfloor2", "xfloor3", "xfloor4", "xfloor5", "xfloor6", "xfloor7") - beauty = -300 From 61263daa0b18b1d4973b962eb73514f423a752b6 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Thu, 3 May 2018 09:42:54 -0400 Subject: [PATCH 025/415] Merge pull request #37625 from ShizCalev/infrared Updates infrared emitters to use the rotate component --- code/modules/assembly/infrared.dm | 32 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index 374c7762d4..35a2074f94 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -1,6 +1,6 @@ /obj/item/assembly/infra name = "infrared emitter" - desc = "Emits a visible or invisible beam and is triggered when the beam is interrupted.\nAlt-click to rotate it clockwise." + desc = "Emits a visible or invisible beam and is triggered when the beam is interrupted." icon_state = "infrared" materials = list(MAT_METAL=1000, MAT_GLASS=500) @@ -16,6 +16,19 @@ beams = list() START_PROCESSING(SSobj, src) +/obj/item/assembly/infra/ComponentInitialize() + . = ..() + AddComponent( + /datum/component/simple_rotation, + ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_FLIP | ROTATION_VERBS, + null, + null, + CALLBACK(src,.proc/after_rotation) + ) + +/obj/item/assembly/infra/proc/after_rotation() + refreshBeam() + /obj/item/assembly/infra/Destroy() QDEL_LIST(beams) return ..() @@ -157,23 +170,6 @@ if(usr) attack_self(usr) -/obj/item/assembly/infra/verb/rotate()//This could likely be better - set name = "Rotate Infrared Laser" - set category = "Object" - set src in usr - - if(!usr.canUseTopic(src, BE_CLOSE, NO_DEXTERY)) - return - - setDir(turn(dir, -90)) - -/obj/item/assembly/infra/AltClick(mob/user) - ..() - if(!user.canUseTopic(src, BE_CLOSE, NO_DEXTERY)) - return - else - rotate() - /obj/item/assembly/infra/setDir() . = ..() refreshBeam() From a8a31c9e4bb28da6dfe289de05c89d9cd55459f9 Mon Sep 17 00:00:00 2001 From: Dax Dupont Date: Thu, 3 May 2018 15:44:32 +0200 Subject: [PATCH 027/415] You can no longer print infinite ammunition. (#37626) * You can no longer print infinite ammunition. * henk lazy anus Reduces .38 Casings now give a tiny bit of metal so the janitor gets a buff spacing --- .../projectiles/ammunition/_ammunition.dm | 1 + .../projectiles/ammunition/caseless/foam.dm | 1 + .../projectiles/boxes_magazines/_box_magazine.dm | 16 +++++++++++++++- .../projectiles/boxes_magazines/ammo_boxes.dm | 1 + .../research/designs/autolathe_designs.dm | 2 +- 5 files changed, 19 insertions(+), 2 deletions(-) diff --git a/code/modules/projectiles/ammunition/_ammunition.dm b/code/modules/projectiles/ammunition/_ammunition.dm index 96ffbd9355..47fab97af3 100644 --- a/code/modules/projectiles/ammunition/_ammunition.dm +++ b/code/modules/projectiles/ammunition/_ammunition.dm @@ -7,6 +7,7 @@ slot_flags = SLOT_BELT throwforce = 0 w_class = WEIGHT_CLASS_TINY + materials = list(MAT_METAL = 500) var/fire_sound = null //What sound should play when this ammo is fired var/caliber = null //Which kind of guns it can be loaded into var/projectile_type = null //The bullet type to create when New() is called diff --git a/code/modules/projectiles/ammunition/caseless/foam.dm b/code/modules/projectiles/ammunition/caseless/foam.dm index 0cc4578c32..343d62c283 100644 --- a/code/modules/projectiles/ammunition/caseless/foam.dm +++ b/code/modules/projectiles/ammunition/caseless/foam.dm @@ -61,3 +61,4 @@ desc = "Whose smart idea was it to use toys as crowd control? Ages 18 and up." projectile_type = /obj/item/projectile/bullet/reusable/foam_dart/riot icon_state = "foamdart_riot" + materials = list(MAT_METAL = 1000) diff --git a/code/modules/projectiles/boxes_magazines/_box_magazine.dm b/code/modules/projectiles/boxes_magazines/_box_magazine.dm index 979a46c802..83e6d45696 100644 --- a/code/modules/projectiles/boxes_magazines/_box_magazine.dm +++ b/code/modules/projectiles/boxes_magazines/_box_magazine.dm @@ -8,7 +8,7 @@ item_state = "syringe_kit" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' - materials = list(MAT_METAL=30000) + materials = list(MAT_METAL = 30000) throwforce = 2 w_class = WEIGHT_CLASS_TINY throw_speed = 3 @@ -20,9 +20,19 @@ var/caliber var/multiload = 1 var/start_empty = 0 + var/list/bullet_cost + var/list/base_cost// override this one as well if you override bullet_cost /obj/item/ammo_box/Initialize() . = ..() + if (!bullet_cost) + for (var/material in materials) + var/material_amount = materials[material] + LAZYSET(base_cost, material, (material_amount * 0.10)) + + material_amount *= 0.90 // 10% for the container + material_amount /= max_ammo + LAZYSET(bullet_cost, material, material_amount) if(!start_empty) for(var/i = 1, i <= max_ammo, i++) stored_ammo += new ammo_type(src) @@ -108,6 +118,10 @@ 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] + material_amount = (material_amount*stored_ammo.len) + base_cost[material] + materials[material] = material_amount //Behavior for magazines /obj/item/ammo_box/magazine/proc/ammo_count() diff --git a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm index 73f8379baf..44bc721d59 100644 --- a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm +++ b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm @@ -13,6 +13,7 @@ ammo_type = /obj/item/ammo_casing/c38 max_ammo = 6 multiple_sprites = 1 + materials = list(MAT_METAL = 20000) /obj/item/ammo_box/c9mm name = "ammo box (9mm)" diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm index b50c6df473..d1bcb952aa 100644 --- a/code/modules/research/designs/autolathe_designs.dm +++ b/code/modules/research/designs/autolathe_designs.dm @@ -451,7 +451,7 @@ name = "Speed Loader (.38)" id = "c38" build_type = AUTOLATHE - materials = list(MAT_METAL = 30000) + materials = list(MAT_METAL = 20000) build_path = /obj/item/ammo_box/c38 category = list("initial", "Security") From 66f79a61c4f10d5edf4e487d124e588fd0f2ea1f Mon Sep 17 00:00:00 2001 From: Trevor Serpas Date: Thu, 3 May 2018 19:12:26 -0500 Subject: [PATCH 029/415] constant chip fix (#37636) removes extra pins from constant chip --- code/modules/integrated_electronics/subtypes/memory.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/integrated_electronics/subtypes/memory.dm b/code/modules/integrated_electronics/subtypes/memory.dm index b54c433d35..e43401f2a8 100644 --- a/code/modules/integrated_electronics/subtypes/memory.dm +++ b/code/modules/integrated_electronics/subtypes/memory.dm @@ -79,6 +79,7 @@ activators = list("push data" = IC_PINTYPE_PULSE_IN) var/accepting_refs = FALSE spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH + number_of_pins = 0 /obj/item/integrated_circuit/memory/constant/do_work() var/datum/integrated_io/O = outputs[1] From 9533779be7085217847a14c5eb46dfbf22138ece Mon Sep 17 00:00:00 2001 From: Tlaltecuhtli <33834933+Tlaltecuhtli@users.noreply.github.com> Date: Fri, 4 May 2018 02:13:27 +0200 Subject: [PATCH 031/415] slighty upgrades the medbeam (#37451) :cl: tweak: medbeams heal tox and oxy slighty /:cl: why: because some dude having 1 tox damage and not being able to heal is really frustating --- code/modules/projectiles/guns/misc/medbeam.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/projectiles/guns/misc/medbeam.dm b/code/modules/projectiles/guns/misc/medbeam.dm index 8fb07c32e3..17c0f63955 100644 --- a/code/modules/projectiles/guns/misc/medbeam.dm +++ b/code/modules/projectiles/guns/misc/medbeam.dm @@ -116,6 +116,8 @@ new /obj/effect/temp_visual/heal(get_turf(target), "#80F5FF") target.adjustBruteLoss(-4) target.adjustFireLoss(-4) + target.adjustToxLoss(-1) + target.adjustOxyLoss(-1) return /obj/item/gun/medbeam/proc/on_beam_release(var/mob/living/target) From f5031bc4f7873ce87225155cacae4c49cd7a22e7 Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Fri, 4 May 2018 05:40:46 -0400 Subject: [PATCH 033/415] Fixes Several Machines Materials Insertion (#37432) * Fixes Several Machines Materials Insertion * attackby disable and show on examine fix --- code/datums/components/material_container.dm | 17 +++++++++++------ code/game/machinery/droneDispenser.dm | 2 +- code/game/machinery/recycler.dm | 2 +- code/game/mecha/mech_fabricator.dm | 2 +- code/modules/clothing/shoes/bananashoes.dm | 2 +- .../subtypes/manipulation.dm | 2 +- code/modules/mining/machine_processing.dm | 2 +- code/modules/mining/machine_redemption.dm | 2 +- code/modules/mining/mint.dm | 2 +- 9 files changed, 19 insertions(+), 14 deletions(-) diff --git a/code/datums/components/material_container.dm b/code/datums/components/material_container.dm index 6f4e8d586d..56301cdc8b 100644 --- a/code/datums/components/material_container.dm +++ b/code/datums/components/material_container.dm @@ -15,16 +15,18 @@ var/sheet_type var/list/materials var/show_on_examine + var/disable_attackby var/list/allowed_typecache var/last_inserted_id var/precise_insertion = FALSE var/datum/callback/precondition var/datum/callback/after_insert -/datum/component/material_container/Initialize(list/mat_list, max_amt = 0, _show_on_examine = FALSE, list/allowed_types, datum/callback/_precondition, datum/callback/_after_insert) +/datum/component/material_container/Initialize(list/mat_list, max_amt = 0, _show_on_examine = FALSE, list/allowed_types, datum/callback/_precondition, datum/callback/_after_insert, _disable_attackby) materials = list() max_amount = max(0, max_amt) show_on_examine = _show_on_examine + disable_attackby = _disable_attackby if(allowed_types) allowed_typecache = typecacheof(allowed_types) precondition = _precondition @@ -43,14 +45,17 @@ materials[id] = new mat_path() /datum/component/material_container/proc/OnExamine(mob/user) - for(var/I in materials) - var/datum/material/M = materials[I] - var/amt = amount(M.id) - if(amt) - to_chat(user, "It has [amt] units of [lowertext(M.name)] stored.") + if(show_on_examine) + for(var/I in materials) + var/datum/material/M = materials[I] + var/amt = amount(M.id) + if(amt) + to_chat(user, "It has [amt] units of [lowertext(M.name)] stored.") /datum/component/material_container/proc/OnAttackBy(obj/item/I, mob/living/user) var/list/tc = allowed_typecache + if(disable_attackby) + return if(user.a_intent != INTENT_HELP) return if((I.flags_2 & (HOLOGRAM_2 | NO_MAT_REDEMPTION_2)) || (tc && !is_type_in_typecache(I, tc))) diff --git a/code/game/machinery/droneDispenser.dm b/code/game/machinery/droneDispenser.dm index cf2eed6f53..9d4f5dd936 100644 --- a/code/game/machinery/droneDispenser.dm +++ b/code/game/machinery/droneDispenser.dm @@ -51,7 +51,7 @@ /obj/machinery/droneDispenser/Initialize() . = ..() - var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS), MINERAL_MATERIAL_AMOUNT * MAX_STACK_SIZE * 2, TRUE) + var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS), MINERAL_MATERIAL_AMOUNT * MAX_STACK_SIZE * 2, TRUE, list(/obj/item/stack)) materials.insert_amount(starting_amount) materials.precise_insertion = TRUE using_materials = list(MAT_METAL=metal_cost, MAT_GLASS=glass_cost) diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm index ec20efbf84..08fcb1baa8 100644 --- a/code/game/machinery/recycler.dm +++ b/code/game/machinery/recycler.dm @@ -19,7 +19,7 @@ var/item_recycle_sound = 'sound/items/welder.ogg' /obj/machinery/recycler/Initialize() - AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_PLASMA, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM)) + AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_PLASMA, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE, MAT_PLASTIC), INFINITY, FALSE, null, null, null, TRUE) AddComponent(/datum/component/butchering, 1, amount_produced,amount_produced/5) . = ..() update_icon() diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index 49f29b5969..526c808809 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -37,7 +37,7 @@ /obj/machinery/mecha_part_fabricator/Initialize() var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE), 0, - FALSE, list(/obj/item/stack, /obj/item/stack/ore/bluespace_crystal), CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert)) + FALSE, list(/obj/item/stack), CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert)) materials.precise_insertion = TRUE stored_research = new return ..() diff --git a/code/modules/clothing/shoes/bananashoes.dm b/code/modules/clothing/shoes/bananashoes.dm index 7ffd9c1f40..df3aa5007f 100644 --- a/code/modules/clothing/shoes/bananashoes.dm +++ b/code/modules/clothing/shoes/bananashoes.dm @@ -10,7 +10,7 @@ /obj/item/clothing/shoes/clown_shoes/banana_shoes/Initialize() . = ..() - AddComponent(/datum/component/material_container, list(MAT_BANANIUM), 200000, TRUE) + AddComponent(/datum/component/material_container, list(MAT_BANANIUM), 200000, TRUE, list(/obj/item/stack)) AddComponent(/datum/component/squeak, list('sound/items/bikehorn.ogg'=1), 75) if(always_noslip) flags_1 |= NOSLIP_1 diff --git a/code/modules/integrated_electronics/subtypes/manipulation.dm b/code/modules/integrated_electronics/subtypes/manipulation.dm index 1744a468f5..db859ab649 100644 --- a/code/modules/integrated_electronics/subtypes/manipulation.dm +++ b/code/modules/integrated_electronics/subtypes/manipulation.dm @@ -573,7 +573,7 @@ /obj/item/integrated_circuit/manipulation/matman/Initialize() var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE), 0, - FALSE, list(/obj/item/stack, /obj/item/stack/ore/bluespace_crystal), CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert)) + FALSE, list(/obj/item/stack), CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert)) materials.max_amount =100000 materials.precise_insertion = TRUE .=..() diff --git a/code/modules/mining/machine_processing.dm b/code/modules/mining/machine_processing.dm index bb5347a152..c7ba9ad6f4 100644 --- a/code/modules/mining/machine_processing.dm +++ b/code/modules/mining/machine_processing.dm @@ -84,7 +84,7 @@ /obj/machinery/mineral/processing_unit/Initialize() . = ..() proximity_monitor = new(src, 1) - AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE), INFINITY) + AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE), INFINITY, FALSE, list(/obj/item/stack)) stored_research = new /datum/techweb/specialized/autounlocking/smelter /obj/machinery/mineral/processing_unit/Destroy() diff --git a/code/modules/mining/machine_redemption.dm b/code/modules/mining/machine_redemption.dm index 63e00f5a38..b7b3d91e54 100644 --- a/code/modules/mining/machine_redemption.dm +++ b/code/modules/mining/machine_redemption.dm @@ -28,7 +28,7 @@ /obj/machinery/mineral/ore_redemption/Initialize() . = ..() - AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE),INFINITY) + AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE),INFINITY, FALSE, list(/obj/item/stack)) stored_research = new /datum/techweb/specialized/autounlocking/smelter /obj/machinery/mineral/ore_redemption/Destroy() diff --git a/code/modules/mining/mint.dm b/code/modules/mining/mint.dm index ec4c9bd714..b7cc0db43f 100644 --- a/code/modules/mining/mint.dm +++ b/code/modules/mining/mint.dm @@ -16,7 +16,7 @@ /obj/machinery/mineral/mint/Initialize() . = ..() - AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_PLASMA, MAT_SILVER, MAT_GOLD, MAT_URANIUM, MAT_DIAMOND, MAT_BANANIUM), MINERAL_MATERIAL_AMOUNT * 50) + AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_PLASMA, MAT_SILVER, MAT_GOLD, MAT_URANIUM, MAT_DIAMOND, MAT_BANANIUM), MINERAL_MATERIAL_AMOUNT * 50, FALSE, list(/obj/item/stack)) /obj/machinery/mineral/mint/process() var/turf/T = get_step(src, input_dir) From 4a7fae664e62845a77c52451cb30be915ec7715c Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Fri, 4 May 2018 02:42:55 -0700 Subject: [PATCH 035/415] Fixes mousetraps not going off from being dumped out (#37447) * mousetrap fix * fix mousetraps * Update storage.dm * Combine checks --- code/datums/components/storage/storage.dm | 4 +++- code/modules/assembly/mousetrap.dm | 19 ++++++++++++------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/code/datums/components/storage/storage.dm b/code/datums/components/storage/storage.dm index 58ebf73d15..483ab07e47 100644 --- a/code/datums/components/storage/storage.dm +++ b/code/datums/components/storage/storage.dm @@ -232,13 +232,15 @@ stoplag(1) qdel(progress) -/datum/component/storage/proc/mass_remove_from_storage(atom/target, list/things, datum/progressbar/progress) +/datum/component/storage/proc/mass_remove_from_storage(atom/target, list/things, datum/progressbar/progress, trigger_on_found = TRUE) var/atom/real_location = real_location() for(var/obj/item/I in things) things -= I if(I.loc != real_location) continue remove_from_storage(I, target) + if(trigger_on_found && I.on_found()) + return FALSE if(TICK_CHECK) progress.update(progress.goal - length(things)) return TRUE diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm index d0d27ebe11..a4d7312887 100644 --- a/code/modules/assembly/mousetrap.dm +++ b/code/modules/assembly/mousetrap.dm @@ -46,10 +46,10 @@ var/mob/living/carbon/human/H = target if(H.has_trait(TRAIT_PIERCEIMMUNE)) playsound(src.loc, 'sound/effects/snap.ogg', 50, 1) - armed = 0 + armed = FALSE update_icon() pulse(0) - return 0 + return FALSE switch(type) if("feet") if(!H.shoes) @@ -67,7 +67,7 @@ visible_message("SPLAT!") M.splat() playsound(src.loc, 'sound/effects/snap.ogg', 50, 1) - armed = 0 + armed = FALSE update_icon() pulse(0) @@ -124,11 +124,16 @@ /obj/item/assembly/mousetrap/on_found(mob/finder) if(armed) - finder.visible_message("[finder] accidentally sets off [src], breaking their fingers.", \ + if(finder) + finder.visible_message("[finder] accidentally sets off [src], breaking their fingers.", \ "You accidentally trigger [src]!") - triggered(finder, (finder.active_hand_index % 2 == 0) ? BODY_ZONE_PRECISE_R_HAND : BODY_ZONE_PRECISE_L_HAND) - return 1 //end the search! - return 0 + triggered(finder, (finder.active_hand_index % 2 == 0) ? BODY_ZONE_PRECISE_R_HAND : BODY_ZONE_PRECISE_L_HAND) + return TRUE //end the search! + else + visible_message("[src] snaps shut!") + triggered(loc) + return FALSE + return FALSE /obj/item/assembly/mousetrap/hitby(A as mob|obj) From a00364268eb71fd19f28990522679268e3f0e80c Mon Sep 17 00:00:00 2001 From: Armhulen Date: Fri, 4 May 2018 04:50:20 -0700 Subject: [PATCH 037/415] ot dealing with bad grammar today (#37637) --- code/modules/antagonists/nukeop/nukeop.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/nukeop/nukeop.dm b/code/modules/antagonists/nukeop/nukeop.dm index 648f62c4a5..df7d21e46b 100644 --- a/code/modules/antagonists/nukeop/nukeop.dm +++ b/code/modules/antagonists/nukeop/nukeop.dm @@ -218,7 +218,7 @@ else //Already set by admins/something else? nuke_team.memorized_code = nuke.r_code else - stack_trace("Station self destruct ot found during lone op team creation.") + stack_trace("Station self destruct not found during lone op team creation.") nuke_team.memorized_code = null /datum/antagonist/nukeop/reinforcement From 66f05776e6dd49f8f4da26c633ed26244cb063f1 Mon Sep 17 00:00:00 2001 From: PoeticIron Date: Fri, 4 May 2018 21:49:59 +1000 Subject: [PATCH 039/415] Fixes Tequila Sunrise naming (#37657) Changes 'tequila Sunrise' to 'Tequila Sunrise' as per Issue #37652 (https://github.com/tgstation/tgstation/issues/37652) --- code/modules/food_and_drinks/recipes/drinks_recipes.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/food_and_drinks/recipes/drinks_recipes.dm b/code/modules/food_and_drinks/recipes/drinks_recipes.dm index 43b3ba07ab..71cfe6c75c 100644 --- a/code/modules/food_and_drinks/recipes/drinks_recipes.dm +++ b/code/modules/food_and_drinks/recipes/drinks_recipes.dm @@ -139,7 +139,7 @@ required_reagents = list("tequila" = 2, "kahlua" = 1) /datum/chemical_reaction/tequila_sunrise - name = "tequila Sunrise" + name = "Tequila Sunrise" id = "tequilasunrise" results = list("tequilasunrise" = 3) required_reagents = list("tequila" = 2, "orangejuice" = 1) From 1aa0091ec13a9ff7a99786b8232c911c3344fbf7 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Fri, 4 May 2018 09:42:02 -0400 Subject: [PATCH 041/415] Merge pull request #37640 from AutomaticFrenzy/patch/server-revision Lengthen commit hashes in Show Server Revision --- code/datums/helper_datums/getrev.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/datums/helper_datums/getrev.dm b/code/datums/helper_datums/getrev.dm index 9b431732aa..a9fa7e4e10 100644 --- a/code/datums/helper_datums/getrev.dm +++ b/code/datums/helper_datums/getrev.dm @@ -35,7 +35,7 @@ . = header ? "The following pull requests are currently test merged:
" : "" for(var/line in testmerge) var/cm = testmerge[line]["commit"] - var/details = ": '" + html_encode(testmerge[line]["title"]) + "' by " + html_encode(testmerge[line]["author"]) + " at commit " + html_encode(copytext(cm, 1, min(length(cm), 7))) + var/details = ": '" + html_encode(testmerge[line]["title"]) + "' by " + html_encode(testmerge[line]["author"]) + " at commit " + html_encode(copytext(cm, 1, min(length(cm), 11))) if(details && findtext(details, "\[s\]") && (!usr || !usr.client.holder)) continue . += "#[line][details]
" @@ -54,7 +54,7 @@ to_chat(src, GLOB.revdata.GetTestMergeInfo()) prefix = "Based off origin/master commit: " var/pc = GLOB.revdata.originmastercommit - to_chat(src, "[prefix][copytext(pc, 1, min(length(pc), 7))]") + to_chat(src, "[prefix][copytext(pc, 1, min(length(pc), 11))]") else to_chat(src, "Master revision unknown") to_chat(src, "Revision: [GLOB.revdata.commit]") From 5fae4a6c90eb7f1273cbe7aeea8df21a9661608e Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Fri, 4 May 2018 12:17:30 -0400 Subject: [PATCH 043/415] Merge pull request #37649 from 81Denton/watch-me-mash-my-keyboard-fwgiupghebipuernbvepw9vb85344355v Fixes runtimestation RnD machinery, adds circ printer+analyzer --- _maps/map_files/debug/runtimestation.dmm | 45 ++++++++++++++---------- 1 file changed, 26 insertions(+), 19 deletions(-) diff --git a/_maps/map_files/debug/runtimestation.dmm b/_maps/map_files/debug/runtimestation.dmm index 73a6d6fca8..a308ce62f2 100644 --- a/_maps/map_files/debug/runtimestation.dmm +++ b/_maps/map_files/debug/runtimestation.dmm @@ -534,20 +534,14 @@ /obj/machinery/autolathe/hacked, /turf/open/floor/plasteel, /area/science) -"bC" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/science) "bD" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, -/obj/machinery/robotic_fabricator, /obj/machinery/light{ dir = 1 }, +/obj/machinery/mecha_part_fabricator, /turf/open/floor/plasteel, /area/science) "bE" = ( @@ -637,10 +631,6 @@ /obj/machinery/chem_dispenser, /turf/open/floor/plasteel/dark, /area/medical/chemistry) -"bT" = ( -/obj/machinery/chem_dispenser, -/turf/open/floor/plasteel/dark, -/area/medical/chemistry) "bU" = ( /obj/machinery/airalarm/unlocked{ pixel_y = 23 @@ -1321,6 +1311,9 @@ /turf/open/floor/plating, /area/science) "gY" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, /turf/open/floor/plasteel, /area/science) "hD" = ( @@ -1440,6 +1433,12 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel, /area/medical/chemistry) +"AP" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/science) "BB" = ( /obj/item/storage/backpack/duffelbag/syndie/surgery, /obj/structure/table, @@ -1460,7 +1459,7 @@ /turf/open/floor/plasteel, /area/medical/chemistry) "Ct" = ( -/obj/item/disk/tech_disk/debug, +/obj/machinery/rnd/production/circuit_imprinter/department, /turf/open/floor/plasteel, /area/science) "CV" = ( @@ -1473,6 +1472,7 @@ /obj/structure/cable{ icon_state = "1-2" }, +/obj/machinery/rnd/destructive_analyzer, /turf/open/floor/plasteel, /area/science) "In" = ( @@ -1490,7 +1490,7 @@ /turf/open/floor/plating, /area/hallway/primary/central) "NZ" = ( -/obj/machinery/rnd/production/protolathe, +/obj/machinery/rnd/production/protolathe/department, /turf/open/floor/plasteel, /area/science) "Qt" = ( @@ -1500,6 +1500,13 @@ /obj/machinery/door/airlock/external/glass, /turf/open/floor/plating, /area/medical/medbay) +"RY" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/disk/tech_disk/debug, +/turf/open/floor/plasteel, +/area/science) "Ut" = ( /obj/structure/closet/secure_closet/medical3, /turf/open/floor/plasteel, @@ -2301,9 +2308,9 @@ aw ba bk bt -bC -cb fT +cb +AP pA kQ bN @@ -2409,7 +2416,7 @@ aO bc bm ah -NZ +bF cc Ct gd @@ -2463,8 +2470,8 @@ aP aP bn ah -bF -cc +NZ +RY co bA wS @@ -3327,7 +3334,7 @@ aX aI aI ak -bT +bS pQ Xg Ce From d5be66cf9a85e1ae29f33d3492dc99eb4006536c Mon Sep 17 00:00:00 2001 From: oranges Date: Fri, 4 May 2018 02:30:24 +0000 Subject: [PATCH 045/415] Crayons no longer use charge when used on a canvas --- code/game/objects/items/crayons.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index 7480f7b489..a9b5924a71 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -247,6 +247,8 @@ var/cost = 1 if(paint_mode == PAINT_LARGE_HORIZONTAL) cost = 5 + if(istype(target, /obj/item/canvas)) + cost = 0 var/charges_used = use_charges(user, cost) if(!charges_used) return From bbebcc85e7eb28dda5bd851d5c669d7ffb2d3f41 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sat, 5 May 2018 07:23:33 -0500 Subject: [PATCH 047/415] Update __donator.dm --- modular_citadel/code/modules/client/loadout/__donator.dm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modular_citadel/code/modules/client/loadout/__donator.dm b/modular_citadel/code/modules/client/loadout/__donator.dm index fbae6cc8b7..c38577c64a 100644 --- a/modular_citadel/code/modules/client/loadout/__donator.dm +++ b/modular_citadel/code/modules/client/loadout/__donator.dm @@ -271,4 +271,10 @@ datum/gear/darksabresheath category = slot_in_backpack path = /obj/item/clothing/neck/cloak/polychromic/polyce ckeywhitelist = list("worksbythesea", "blakeryan") + +/datum/gear/cloakce + name = "Stun Sword Kit" + category = slot_in_backpack + path = /obj/item/ssword_kit + ckeywhitelist = list("phillip458") From 1fbc06234fb45943eadd0cc5ecaf451795d06602 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sat, 5 May 2018 07:24:37 -0500 Subject: [PATCH 048/415] Update __donator.dm --- modular_citadel/code/modules/client/loadout/__donator.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_citadel/code/modules/client/loadout/__donator.dm b/modular_citadel/code/modules/client/loadout/__donator.dm index c38577c64a..62924c7305 100644 --- a/modular_citadel/code/modules/client/loadout/__donator.dm +++ b/modular_citadel/code/modules/client/loadout/__donator.dm @@ -272,7 +272,7 @@ datum/gear/darksabresheath path = /obj/item/clothing/neck/cloak/polychromic/polyce ckeywhitelist = list("worksbythesea", "blakeryan") -/datum/gear/cloakce +/datum/gear/ssk name = "Stun Sword Kit" category = slot_in_backpack path = /obj/item/ssword_kit From 6a940a7149bdd67f936eeaddaff23bcd05c01f2b Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Sat, 5 May 2018 09:10:06 -0400 Subject: [PATCH 049/415] Merge pull request #37641 from AutomaticFrenzy/patch/tooltip-jquery Use bundled rather than remote jquery in tooltips --- code/modules/tooltip/tooltip.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/tooltip/tooltip.html b/code/modules/tooltip/tooltip.html index 67fb8a77f1..3e2f26a09f 100644 --- a/code/modules/tooltip/tooltip.html +++ b/code/modules/tooltip/tooltip.html @@ -93,7 +93,7 @@
- + diff --git a/code/modules/language/language.dm b/code/modules/language/language.dm index 5f2e9963e7..8b9cc09dff 100644 --- a/code/modules/language/language.dm +++ b/code/modules/language/language.dm @@ -35,7 +35,8 @@ return TRUE /datum/language/proc/get_icon() - return "[icon2html(icon, world, icon_state)]" + var/datum/asset/spritesheet/sheet = get_asset_datum(/datum/asset/spritesheet/goonchat) + return sheet.icon_tag("language-[icon_state]") /datum/language/proc/get_random_name(gender, name_count=2, syllable_count=4, syllable_divisor=2) if(!syllables || !syllables.len) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index b9c21e1090..dbb26b03e0 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -66,7 +66,7 @@ ..() to_chat(user, "Alt-click to fold it.") - var/datum/asset/assets = get_asset_datum(/datum/asset/simple/paper) + var/datum/asset/assets = get_asset_datum(/datum/asset/spritesheet/simple/paper) assets.send(user) if(in_range(user, src) || isobserver(user)) @@ -300,7 +300,10 @@ if(!in_range(src, user)) return - stamps += "" + var/datum/asset/spritesheet/sheet = get_asset_datum(/datum/asset/spritesheet/simple/paper) + if (isnull(stamps)) + stamps = sheet.css_tag() + stamps += sheet.icon_tag(P.icon_state) var/mutable_appearance/stampoverlay = mutable_appearance('icons/obj/bureaucracy.dmi', "paper_[P.icon_state]") stampoverlay.pixel_x = rand(-2, 2) stampoverlay.pixel_y = rand(-3, 2) diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 1268b2be87..997d957a4e 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -51,8 +51,9 @@ other types of metals and chemistry for reagents). return ..() /datum/design/proc/icon_html(client/user) - send_asset(user, "design_[id].png", FALSE) - return "" + var/datum/asset/spritesheet/sheet = get_asset_datum(/datum/asset/spritesheet/research_designs) + sheet.send(user) + return sheet.icon_tag(id) //////////////////////////////////////// //Disks for transporting design datums// diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 6c85a16498..db08c9b950 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -217,6 +217,8 @@ doesn't have toxins access. /obj/machinery/computer/rdconsole/proc/ui_header() var/list/l = list() + var/datum/asset/spritesheet/sheet = get_asset_datum(/datum/asset/spritesheet/research_designs) + l += "[sheet.css_tag()][RDSCREEN_NOBREAK]" l += "
[stored_research.organization] Research and Development Network" l += "Available points: [round(stored_research.research_points)] (+[round(stored_research.last_bitcoins * 60)] / minute)" l += "Security protocols: [obj_flags & EMAGGED ? "Disabled" : "Enabled"]" diff --git a/rust_g.dll b/rust_g.dll index 4e1df5afbd4878dcc36f7d73a2d25da3e9942dbd..44e38ef0dd4b4105a1c2a6d1004b861b0253595b 100644 GIT binary patch literal 410624 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

c&c=7j;|I+pRlE3XTu3dI`ntvzyqt$!Lhuyo3 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%0DL8ZQx^(KLyM!zG;&m`z<0V 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 @@ -6,6 +7,27 @@ {{/if}} {{#if data.mode == -2 || data.mode == 0}} +======= + + + + {{#each data.preview_rows}} + + {{#each previews}} + + {{/each}} + + {{/each}} + +{{#if data.category == 0}} + + {{#each data.paint_colors}} + {{@key}} + {{/each}} + +>>>>>>> cf6f064... Use spritesheets to reduce time spent sending PNG assets by 90+% (#37399) {{/if}} diff --git a/tools/travis/build_dependencies.sh b/tools/travis/build_dependencies.sh index 8f5c8de10a..60a23d9723 100755 --- a/tools/travis/build_dependencies.sh +++ b/tools/travis/build_dependencies.sh @@ -6,9 +6,12 @@ if [ "$BUILD_TOOLS" = false ]; then curl https://sh.rustup.rs -sSf | sh -s -- -y --default-host i686-unknown-linux-gnu source ~/.profile - git clone --branch $RUST_G_VERSION https://github.com/tgstation/rust-g - + mkdir rust-g cd rust-g + git init + git remote add origin https://github.com/tgstation/rust-g + git fetch --depth 1 origin $RUST_G_VERSION + git checkout FETCH_HEAD cargo build --release mkdir -p ~/.byond/bin From f459f909c0e17def2d6fba5e956eaa691e889eab Mon Sep 17 00:00:00 2001 From: YPOQ <30683121+YPOQ@users.noreply.github.com> Date: Wed, 9 May 2018 15:25:01 -0600 Subject: [PATCH 124/415] Fixes anomalies not listening on the correct frequency --- code/game/objects/effects/anomalies.dm | 9 +++++---- code/modules/assembly/signaler.dm | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm index b3cb0ff9c4..a194a6ac9f 100644 --- a/code/game/objects/effects/anomalies.dm +++ b/code/game/objects/effects/anomalies.dm @@ -8,7 +8,7 @@ anchored = TRUE light_range = 3 var/movechance = 70 - var/obj/item/assembly/signaler/anomaly/aSignal = null + var/obj/item/assembly/signaler/anomaly/aSignal var/area/impact_area var/lifespan = 990 @@ -27,9 +27,10 @@ aSignal.name = "[name] core" aSignal.code = rand(1,100) - aSignal.frequency = rand(MIN_FREE_FREQ, MAX_FREE_FREQ) - if(ISMULTIPLE(aSignal.frequency, 2))//signaller frequencies are always uneven! - aSignal.frequency++ + var/frequency = rand(MIN_FREE_FREQ, MAX_FREE_FREQ) + if(ISMULTIPLE(frequency, 2))//signaller frequencies are always uneven! + frequency++ + aSignal.set_frequency(frequency) if(new_lifespan) lifespan = new_lifespan diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index 20bcf25138..c0af20ead6 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -111,7 +111,7 @@ Code: var/obj/item/assembly/signaler/signaler2 = W if(secured && signaler2.secured) code = signaler2.code - frequency = signaler2.frequency + set_frequency(signaler2.frequency) to_chat(user, "You transfer the frequency and code of \the [signaler2.name] to \the [name]") ..() From 278ecd5d064d7ed28bb36e927238859c3507d4fc Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Wed, 9 May 2018 23:08:09 -0700 Subject: [PATCH 126/415] improves pda message immersion (#37735) --- code/game/objects/items/devices/PDA/PDA.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index d2324aa56c..9c5e5f8a88 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -617,7 +617,8 @@ GLOBAL_LIST_EMPTY(PDAs) return if((last_text && world.time < last_text + 10) || (everyone && last_everyone && world.time < last_everyone + PDA_SPAM_DELAY)) return - + if(prob(1)) + message += "\nSent from my PDA" // Send the signal var/list/string_targets = list() for (var/obj/item/pda/P in targets) @@ -1017,4 +1018,4 @@ GLOBAL_LIST_EMPTY(PDAs) #undef PDA_SCANNER_REAGENT #undef PDA_SCANNER_HALOGEN #undef PDA_SCANNER_GAS -#undef PDA_SPAM_DELAY \ No newline at end of file +#undef PDA_SPAM_DELAY From 3819a5a9b5986993bb7c050e6f6b076a04424465 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Wed, 9 May 2018 23:32:40 -0700 Subject: [PATCH 128/415] Fixes EMPs (#37656) --- code/__DEFINES/components.dm | 2 +- .../components/storage/concrete/_concrete.dm | 2 ++ code/datums/components/storage/storage.dm | 29 ++++++++++--------- code/modules/mob/living/living.dm | 18 +++++------- code/modules/mob/living/living_defense.dm | 3 +- 5 files changed, 27 insertions(+), 27 deletions(-) diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm index 512e2cc4d9..b59ebfe7aa 100644 --- a/code/__DEFINES/components.dm +++ b/code/__DEFINES/components.dm @@ -138,7 +138,7 @@ #define COMSIG_TRY_STORAGE_FILL_TYPE "storage_fill_type" //(type, amount = INFINITY, force = FALSE) //don't fuck this up. Force will ignore max_items, and amount is normally clamped to max_items. #define COMSIG_TRY_STORAGE_TAKE "storage_take_obj" //(obj, new_loc, force = FALSE) - returns bool #define COMSIG_TRY_STORAGE_QUICK_EMPTY "storage_quick_empty" //(loc) - returns bool - if loc is null it will dump at parent location. -#define COMSIG_TRY_STORAGE_RETURN_INVENTORY "storage_return_inventory" //(list/list_to_inject_results_into) +#define COMSIG_TRY_STORAGE_RETURN_INVENTORY "storage_return_inventory" //(list/list_to_inject_results_into, recursively_search_inside_storages = TRUE) #define COMSIG_TRY_STORAGE_CAN_INSERT "storage_can_equip" //(obj/item/insertion_candidate, mob/user, silent) - returns bool /*******Non-Signal Component Related Defines*******/ diff --git a/code/datums/components/storage/concrete/_concrete.dm b/code/datums/components/storage/concrete/_concrete.dm index 4234dadd85..8701252fe6 100644 --- a/code/datums/components/storage/concrete/_concrete.dm +++ b/code/datums/components/storage/concrete/_concrete.dm @@ -73,6 +73,8 @@ slave.refresh_mob_views() /datum/component/storage/concrete/emp_act(severity) + if(emp_shielded) + return var/atom/real_location = real_location() for(var/i in real_location) var/atom/A = i diff --git a/code/datums/components/storage/storage.dm b/code/datums/components/storage/storage.dm index 483ab07e47..084056fb10 100644 --- a/code/datums/components/storage/storage.dm +++ b/code/datums/components/storage/storage.dm @@ -369,10 +369,10 @@ . = TRUE //returns TRUE if any mobs actually got a close(M) call /datum/component/storage/proc/emp_act(severity) - var/atom/A = parent - if(!isliving(A.loc) && !emp_shielded) - var/datum/component/storage/concrete/master = master() - master.emp_act(severity) + if(emp_shielded) + return + var/datum/component/storage/concrete/master = master() + master.emp_act(severity) //This proc draws out the inventory and places the items on it. tx and ty are the upper left tile and mx, my are the bottm right. //The numbers are calculated from the bottom-left The bottom-left slot being 1,1. @@ -455,23 +455,24 @@ return FALSE handle_item_insertion(I, FALSE, M) -/datum/component/storage/proc/return_inv() - . = list() - . += contents() - for(var/i in contents()) - var/atom/a = i - GET_COMPONENT_FROM(STR, /datum/component/storage, a) - if(STR) - . += STR.return_inv() +/datum/component/storage/proc/return_inv(recursive) + var/list/ret = list() + ret |= contents() + if(recursive) + for(var/i in ret.Copy()) + var/atom/A = i + A.SendSignal(COMSIG_TRY_STORAGE_RETURN_INVENTORY, ret, TRUE) + return ret /datum/component/storage/proc/contents() //ONLY USE IF YOU NEED TO COPY CONTENTS OF REAL LOCATION, COPYING IS NOT AS FAST AS DIRECT ACCESS! var/atom/real_location = real_location() return real_location.contents.Copy() -/datum/component/storage/proc/signal_return_inv(list/interface) +//Abuses the fact that lists are just references, or something like that. +/datum/component/storage/proc/signal_return_inv(list/interface, recursive = TRUE) if(!islist(interface)) return FALSE - interface |= return_inv() + interface |= return_inv(recursive) return TRUE /datum/component/storage/proc/mousedrop_onto(atom/over_object, mob/M) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index bf06cd1ebb..df111f1f2b 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -407,16 +407,14 @@ */ //Recursive function to find everything a mob is holding. Really shitty proc tbh. /mob/living/get_contents() - . = list() - . |= list(src) - for(var/obj/o in .) - var/list/newlist = list() - o.SendSignal(COMSIG_TRY_STORAGE_RETURN_INVENTORY, newlist) - . |= newlist - for(var/obj/item/clothing/under/U in .) - . |= U.contents - for(var/obj/item/folder/F in .) - . |= F.contents + var/list/ret = list() + ret |= contents //add our contents + for(var/i in ret.Copy()) //iterate storage objects + var/atom/A = i + A.SendSignal(COMSIG_TRY_STORAGE_RETURN_INVENTORY, ret) + for(var/obj/item/folder/F in ret.Copy()) //very snowflakey-ly iterate folders + ret |= F.contents + return ret // Living mobs use can_inject() to make sure that the mob is not syringe-proof in general. /mob/living/proc/can_inject() diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 2b2e0de0b3..b12133c5a1 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -317,8 +317,7 @@ return shock_damage /mob/living/emp_act(severity) - var/list/L = src.get_contents() - for(var/obj/O in L) + for(var/obj/O in contents) O.emp_act(severity) ..() From 096a8a63c54106c5220c17923b404db367c6c36e Mon Sep 17 00:00:00 2001 From: AnturK Date: Thu, 10 May 2018 09:29:30 +0200 Subject: [PATCH 130/415] Stops qdeleted objects from taking damage. (#37726) * Stops qdeleted objects from taking damage. * Some logging. --- code/game/objects/obj_defense.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index 1e76bc7160..2dadafe2cf 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -1,6 +1,9 @@ //the essential proc to call when an obj must receive damage of any kind. /obj/proc/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir, armour_penetration = 0) + if(QDELETED(src)) + stack_trace("[src] taking damage after deletion") + return if(sound_effect) play_attack_sound(damage_amount, damage_type, damage_flag) if(!(resistance_flags & INDESTRUCTIBLE) && obj_integrity > 0) From d8bef8e04ea3b028c339a098f80249b2d706c406 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Thu, 10 May 2018 14:39:15 -0400 Subject: [PATCH 132/415] [s] Fixes an admin unprotected var read/write exploit --- code/modules/clothing/clothing.dm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index b15109bcb1..4b77dee806 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -81,12 +81,21 @@ /obj/item/clothing/equipped(mob/user, slot) ..() - + if (!istype(user)) + return if(slot_flags & slotdefine2slotbit(slot)) //Was equipped to a valid slot for this item? +<<<<<<< HEAD for(var/variable in user_vars_to_edit) if(variable in user.vars) user_vars_remembered[variable] = user.vars[variable] user.vars[variable] = user_vars_to_edit[variable] +======= + if (LAZYLEN(user_vars_to_edit)) + for(var/variable in user_vars_to_edit) + if(variable in user.vars) + LAZYSET(user_vars_remembered, variable, user.vars[variable]) + user.vv_edit_var(variable, user_vars_to_edit[variable]) +>>>>>>> 1f887a4... Merge pull request #37782 from vuonojenmustaturska/ohno /obj/item/clothing/examine(mob/user) ..() From ed41769e10b4953f095de686014563170ac778f3 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Thu, 10 May 2018 16:50:25 -0400 Subject: [PATCH 133/415] Merge pull request #37761 from MrStonedOne/patch-503 Adds time_dilation info to status topic. --- code/datums/world_topic.dm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/code/datums/world_topic.dm b/code/datums/world_topic.dm index 9fcec7cc11..ec00351b52 100644 --- a/code/datums/world_topic.dm +++ b/code/datums/world_topic.dm @@ -164,9 +164,16 @@ .["security_level"] = get_security_level() .["round_duration"] = SSticker ? round((world.time-SSticker.round_start_time)/10) : 0 // Amount of world's ticks in seconds, useful for calculating round duration + + //Time dilation stats. + .["time_dilation_current"] = SStime_track.time_dilation_current + .["time_dilation_avg"] = SStime_track.time_dilation_avg + .["time_dilation_avg_slow"] = SStime_track.time_dilation_avg_slow + .["time_dilation_avg_fast"] = SStime_track.time_dilation_avg_fast if(SSshuttle && SSshuttle.emergency) .["shuttle_mode"] = SSshuttle.emergency.mode // Shuttle status, see /__DEFINES/stat.dm .["shuttle_timer"] = SSshuttle.emergency.timeLeft() // Shuttle timer, in seconds + From 4a8df6a70115bd4522e843185f840a164c83720a Mon Sep 17 00:00:00 2001 From: Tlaltecuhtli <33834933+Tlaltecuhtli@users.noreply.github.com> Date: Fri, 11 May 2018 02:56:42 +0200 Subject: [PATCH 135/415] Bring gender equality to Corgi crates (#37748) * brings gender equality on /tg/station * what if this works --- code/modules/cargo/packs.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/cargo/packs.dm b/code/modules/cargo/packs.dm index a961e87c48..2d3ed07505 100644 --- a/code/modules/cargo/packs.dm +++ b/code/modules/cargo/packs.dm @@ -1649,8 +1649,9 @@ . = ..() if(prob(50)) var/mob/living/simple_animal/pet/dog/corgi/D = locate() in . - qdel(D) - new /mob/living/simple_animal/pet/dog/corgi/Lisa(.) + if(D.gender == FEMALE) + qdel(D) + new /mob/living/simple_animal/pet/dog/corgi/Lisa(.) /datum/supply_pack/critter/cow name = "Cow Crate" From afe80d808b1c3accc1a97f5d70a4f5ea35ab0ba2 Mon Sep 17 00:00:00 2001 From: YPOQ <30683121+YPOQ@users.noreply.github.com> Date: Thu, 10 May 2018 19:51:45 -0600 Subject: [PATCH 137/415] Fixes gorillas not having hand slots (#37762) --- code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm b/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm index 6dc76bb6a7..214ced3613 100644 --- a/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm +++ b/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm @@ -27,6 +27,7 @@ attacktext = "pummels" attack_sound = 'sound/weapons/punch1.ogg' dextrous = TRUE + held_items = list(null, null) possible_a_intents = list(INTENT_HELP, INTENT_GRAB, INTENT_DISARM, INTENT_HARM) faction = list("jungle") robust_searching = TRUE From 76ab6ff6585ff874568b62b70c1bc5ace55a16ed Mon Sep 17 00:00:00 2001 From: deathride58 Date: Thu, 10 May 2018 23:34:46 -0400 Subject: [PATCH 139/415] Update clothing.dm --- code/modules/clothing/clothing.dm | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 4b77dee806..9ab929ba20 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -84,18 +84,11 @@ if (!istype(user)) return if(slot_flags & slotdefine2slotbit(slot)) //Was equipped to a valid slot for this item? -<<<<<<< HEAD - for(var/variable in user_vars_to_edit) - if(variable in user.vars) - user_vars_remembered[variable] = user.vars[variable] - user.vars[variable] = user_vars_to_edit[variable] -======= if (LAZYLEN(user_vars_to_edit)) for(var/variable in user_vars_to_edit) if(variable in user.vars) LAZYSET(user_vars_remembered, variable, user.vars[variable]) user.vv_edit_var(variable, user_vars_to_edit[variable]) ->>>>>>> 1f887a4... Merge pull request #37782 from vuonojenmustaturska/ohno /obj/item/clothing/examine(mob/user) ..() @@ -294,4 +287,4 @@ BLIND // can't see anything Shreds.desc = "The sad remains of what used to be [name]." deconstruct(FALSE) else - ..() \ No newline at end of file + ..() From 7acf54f5fc4069b2d8e95cd68f014012c09f87ef Mon Sep 17 00:00:00 2001 From: deathride58 Date: Thu, 10 May 2018 23:37:20 -0400 Subject: [PATCH 140/415] Update misc.dm --- code/__DEFINES/misc.dm | 3 --- 1 file changed, 3 deletions(-) diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 47ab3580cb..fe49530667 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -445,12 +445,9 @@ GLOBAL_LIST_INIT(ghost_others_options, list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE #define NO_INIT_PARAMETER "no-init" #define EGG_LAYING_MESSAGES list("lays an egg.","squats down and croons.","begins making a huge racket.","begins clucking raucously.") -<<<<<<< HEAD -======= // Used by PDA and cartridge code to reduce repetitiveness of spritesheets #define PDAIMG(what) {""} //Filters #define AMBIENT_OCCLUSION filter(type="drop_shadow", x=0, y=-2, size=4, border=4, color="#04080FAA") ->>>>>>> cf6f064... Use spritesheets to reduce time spent sending PNG assets by 90+% (#37399) From 65492ba8ca9e7e7bc2776c25ee0e7656af641b49 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Thu, 10 May 2018 23:37:49 -0400 Subject: [PATCH 141/415] Update rpd.ract --- tgui/src/interfaces/rpd.ract | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/tgui/src/interfaces/rpd.ract b/tgui/src/interfaces/rpd.ract index 0408f89b03..318b56533f 100644 --- a/tgui/src/interfaces/rpd.ract +++ b/tgui/src/interfaces/rpd.ract @@ -1,13 +1,3 @@ -<<<<<<< HEAD - - - -{{#if data.mode >= 0}} - -{{/if}} -{{#if data.mode == -2 || data.mode == 0}} - -======= @@ -27,7 +17,6 @@ action='color' params='{"paint_color": {{@key}}}'>{{@key}} {{/each}} ->>>>>>> cf6f064... Use spritesheets to reduce time spent sending PNG assets by 90+% (#37399) {{/if}} From b0d896a19b51afeedfe6437e700db51dc86eaec3 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Thu, 10 May 2018 23:42:56 -0400 Subject: [PATCH 142/415] Update armor.dm --- code/modules/clothing/suits/armor.dm | 183 --------------------------- 1 file changed, 183 deletions(-) diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index f020528625..af6d2b6c5e 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -165,189 +165,6 @@ . = ..() allowed = GLOB.detective_vest_allowed -<<<<<<< HEAD -//Reactive armor -/obj/item/clothing/suit/armor/reactive - name = "reactive armor" - desc = "Doesn't seem to do much for some reason." - var/active = 0 - var/reactivearmor_cooldown_duration = 0 //cooldown specific to reactive armor - var/reactivearmor_cooldown = 0 - icon_state = "reactiveoff" - item_state = "reactiveoff" - blood_overlay_type = "armor" - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) - actions_types = list(/datum/action/item_action/toggle) - resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF - hit_reaction_chance = 50 - - -/obj/item/clothing/suit/armor/reactive/attack_self(mob/user) - src.active = !( src.active ) - if (src.active) - to_chat(user, "[src] is now active.") - src.icon_state = "reactive" - src.item_state = "reactive" - else - to_chat(user, "[src] is now inactive.") - src.icon_state = "reactiveoff" - src.item_state = "reactiveoff" - src.add_fingerprint(user) - return - -/obj/item/clothing/suit/armor/reactive/emp_act(severity) - active = 0 - src.icon_state = "reactiveoff" - src.item_state = "reactiveoff" - reactivearmor_cooldown = world.time + 200 - ..() - -//When the wearer gets hit, this armor will teleport the user a short distance away (to safety or to more danger, no one knows. That's the fun of it!) -/obj/item/clothing/suit/armor/reactive/teleport - name = "reactive teleport armor" - desc = "Someone separated our Research Director from his own head!" - var/tele_range = 6 - var/rad_amount= 15 - reactivearmor_cooldown_duration = 100 - -/obj/item/clothing/suit/armor/reactive/teleport/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - if(!active) - return 0 - if(prob(hit_reaction_chance)) - var/mob/living/carbon/human/H = owner - if(world.time < reactivearmor_cooldown) - owner.visible_message("The reactive teleport system is still recharging! It fails to teleport [H]!") - return - owner.visible_message("The reactive teleport system flings [H] clear of [attack_text], shutting itself off in the process!") - var/list/turfs = new/list() - for(var/turf/T in orange(tele_range, H)) - if(T.density) - continue - if(T.x>world.maxx-tele_range || T.xworld.maxy-tele_range || T.yThe reactive incendiary armor on [owner] activates, but fails to send out flames as it is still recharging its flame jets!") - return - owner.visible_message("[src] blocks [attack_text], sending out jets of flame!") - for(var/mob/living/carbon/C in range(6, owner)) - if(C != owner) - C.fire_stacks += 8 - C.IgniteMob() - owner.fire_stacks = -20 - reactivearmor_cooldown = world.time + reactivearmor_cooldown_duration - return 1 - return 0 - - -/obj/item/clothing/suit/armor/reactive/stealth - name = "reactive stealth armor" - desc = "An experimental suit of armor that renders the wearer invisible on detection of imminent harm, and creates a decoy that runs away from the owner. You can't fight what you can't see." - -/obj/item/clothing/suit/armor/reactive/stealth/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - if(!active) - return 0 - if(prob(hit_reaction_chance)) - if(world.time < reactivearmor_cooldown) - owner.visible_message("The reactive stealth system on [owner] activates, but is still recharging its holographic emitters!") - return - var/mob/living/simple_animal/hostile/illusion/escape/E = new(owner.loc) - E.Copy_Parent(owner, 50) - E.GiveTarget(owner) //so it starts running right away - E.Goto(owner, E.move_to_delay, E.minimum_distance) - owner.alpha = 0 - owner.visible_message("[owner] is hit by [attack_text] in the chest!") //We pretend to be hit, since blocking it would stop the message otherwise - spawn(40) - owner.alpha = initial(owner.alpha) - reactivearmor_cooldown = world.time + reactivearmor_cooldown_duration - return 1 - -/obj/item/clothing/suit/armor/reactive/tesla - name = "reactive tesla armor" - desc = "An experimental suit of armor with sensitive detectors hooked up to a huge capacitor grid, with emitters strutting out of it. Zap." - siemens_coefficient = -1 - var/tesla_power = 25000 - var/tesla_range = 20 - var/tesla_boom = FALSE - var/tesla_stun = FALSE - -/obj/item/clothing/suit/armor/reactive/tesla/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - if(!active) - return 0 - if(prob(hit_reaction_chance)) - if(world.time < reactivearmor_cooldown) - var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread - sparks.set_up(1, 1, src) - sparks.start() - owner.visible_message("The tesla capacitors on [owner]'s reactive tesla armor are still recharging! The armor merely emits some sparks.") - return - owner.visible_message("[src] blocks [attack_text], sending out arcs of lightning!") - tesla_zap(owner,tesla_range,tesla_power,tesla_boom, tesla_stun) - reactivearmor_cooldown = world.time + reactivearmor_cooldown_duration - return 1 - -/obj/item/clothing/suit/armor/reactive/table - name = "reactive table armor" - desc = "If you can't beat the memes, embrace them." - var/tele_range = 10 - -/obj/item/clothing/suit/armor/reactive/table/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - if(!active) - return 0 - if(prob(hit_reaction_chance)) - var/mob/living/carbon/human/H = owner - if(world.time < reactivearmor_cooldown) - owner.visible_message("The reactive table armor's fabricators are still on cooldown!") - return - owner.visible_message("The reactive teleport system flings [H] clear of [attack_text] and slams them into a fabricated table!") - owner.visible_message("[H] GOES ON THE TABLE!!!") - owner.Knockdown(40) - var/list/turfs = new/list() - for(var/turf/T in orange(tele_range, H)) - if(T.density) - continue - if(T.x>world.maxx-tele_range || T.xworld.maxy-tele_range || T.y>>>>>> fb42bf3... Anomaly Armour Research (#37558) //All of the armor below is mostly unused /obj/item/clothing/suit/armor/centcom From 67d79f4e3ef90c4a268af572034a3394350f4b98 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Thu, 10 May 2018 23:43:49 -0400 Subject: [PATCH 143/415] Update admins.txt --- config/admins.txt | 139 ---------------------------------------------- 1 file changed, 139 deletions(-) diff --git a/config/admins.txt b/config/admins.txt index 6ac30f8ac3..ca77fd3f4a 100644 --- a/config/admins.txt +++ b/config/admins.txt @@ -1,4 +1,3 @@ -<<<<<<< HEAD ############################################################################################### # Basically, ckey goes first. Rank goes after the "=" # # Case is not important for ckey. # @@ -8,141 +7,3 @@ # NOTE: if the rank-name cannot be found in admin_ranks.txt, they will not be adminned! ~Carn # # NOTE: syntax was changed to allow hyphenation of ranknames, since spaces are stripped. # ############################################################################################### -======= -############################################################################################### -# Basically, ckey goes first. Rank goes after the "=" # -# Case is not important for ckey. # -# Case IS important for the rank. # -# All punctuation (spaces etc) EXCEPT '-', '_' and '@' will be stripped from rank names. # -# Ranks can be anything defined in admin_ranks.txt # -# NOTE: if the rank-name cannot be found in admin_ranks.txt, they will not be adminned! ~Carn # -# NOTE: syntax was changed to allow hyphenation of ranknames, since spaces are stripped. # -# If SQL-based admin loading is enabled, admins listed here will always be loaded first # -# and will override any duplicate entries in the database. # -############################################################################################### -Optimumtact = Host -NewSta = Game Master -Expletives = Game Master -kingofkosmos = Game Master -MrStonedOne = Lazy Master -microscopics = Game Master -Gun Hog = Game Master -KorPhaeron = Game Master -razharas = Game Master -Lordpidey = Game Master -Niknakflak = Game Master -rolan7 = Game Master -quarxink = Game Master -adrix89 = Game Master -tle = Game Master -xsi = Game Master -scaredofshadows = Game Master -neofite = Game Master -trubblebass = Game Master -mport2004 = Game Master -deuryn = Game Master -agouri = Game Master -errorage = Game Master -superxpdude = Game Master -petethegoat = Game Master -nodrak = Game Master -carnwennan = Game Master -ikarrus = Game Master -cheridan = Game Master -giacomand = Game Master -rockdtben = Game Master -sieve = Game Master -aranclanos = Game Master -intigracy = Game Master -dumpdavidson = Game Master -kazeespada = Game Master -malkevin = Game Master -incoming = Game Master -demas = Game Master -fleure = Game Master -ricotez = Game Master -misterperson = Game Master -crimsonvision = Game Master -iamgoofball = Game Master -zelacks = Game Master -androidsfv = Game Master -miggles = Game Master -jordie0608 = Game Master -s0ldi3rkr4s0 = Game Master -ergovisavi = Game Master -vistapowa = Game Master -miauw62 = Game Master -rumia29 = Game Master -bobylein = Game Master -sirbayer = Game Master -hornygranny = Game Master -yota = Game Master -firecage = Game Master -donkieyo = Game Master -argoneus = Game Master -paprka = Game Master -cookingboy3 = Game Master -limeliz = Game Master -steelpoint = Game Master -phil235 = Game Master -CorruptComputer = Game Master -xxnoob = Game Master -tkdrg = Game Master -Cuboos = Game Master -thunder12345 = Game Master -wjohnston = Game Master -mandurrh = Game Master -thurgatar = Game Master -xerux = Game Master -dannno = Game Master -lo6a4evskiy = Game Master -vekter = Game Master -Ahammer18 = Game Master -ACCount12 = Game Master -fayrik = Game Master -shadowlight213 = Game Master -drovidicorv = Game Master -Dunc = Game Master -MMMiracles = Game Master -bear1ake = Game Master -CoreOverload = Game Master -Jalleo = Game Master -ChangelingRain = Game Master -FoxPMcCloud = Game Master -Xhuis = Game Master -Astralenigma = Game Master -Tokiko1 = Game Master -SuperSayu = Game Master -Lzimann = Game Master -As334 = Game Master -neersighted = Game Master -Swankcookie = Game Master -Ressler = Game Master -Folix = Game Master -Bawhoppennn = Game Master -Anturke = Host -Lumipharon = Game Master -bgobandit = Game Master -coiax = Game Master -RandomMarine = Game Master -PKPenguin321 = Game Master -TechnoAlchemist = Game Master -Aloraydrel = Game Master -Quiltyquilty = Game Master -SnipeDragon = Game Master -Fjeld = Game Master -kevinz000 = Game Master -Tacolizard = Game Master -TrustyGun = Game Master -Cyberboss = Game Master -PJB3005 = Game Master -Sweaterkittens = Game Master -Feemjmeem = Game Master -JStheguy = Game Master -excessiveuseofcobby = Game Master -Plizzard = Game Master -octareenroon91 = Game Master -Serpentarium = Game Master -Averagejoe82 = Game Master -The Dreamweaver = Game Master ->>>>>>> 9ba7aa4... [READY] Properly Adds a suicide action to the hand tele (#37438) From fcc078af354650a28e669f2d54838e65c1107c13 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Thu, 10 May 2018 23:46:41 -0400 Subject: [PATCH 144/415] Update preferences.dm --- code/modules/client/preferences.dm | 25 +++---------------------- 1 file changed, 3 insertions(+), 22 deletions(-) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index c6ca621a41..3464132c99 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -458,27 +458,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Ghosts of Others: [button_name]
" -<<<<<<< HEAD -======= - dat += "FPS: [clientfps]
" - - dat += "Parallax (Fancy Space): " - switch (parallax) - if (PARALLAX_LOW) - dat += "Low" - if (PARALLAX_MED) - dat += "Medium" - if (PARALLAX_INSANE) - dat += "Insane" - if (PARALLAX_DISABLE) - dat += "Disabled" - else - dat += "High" - dat += "
" - - dat += "Ambient Occlusion: [ambientocclusion ? "Enabled" : "Disabled"]
" - ->>>>>>> cdf36c2... adds ambient occlusion as a client preference (#37406) if (CONFIG_GET(flag/maprotation)) var/p_map = preferred_map if (!p_map) @@ -513,6 +492,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "High" dat += "
" + dat += "Ambient Occlusion: [ambientocclusion ? "Enabled" : "Disabled"]
" + dat += "" dat += "

Special Role Settings

" @@ -1673,4 +1654,4 @@ GLOBAL_LIST_EMPTY(preferences_datums) if(icon_updates) character.update_body() character.update_hair() - character.update_body_parts() \ No newline at end of file + character.update_body_parts() From 0c1f12dc5c77977b34789a805372198174eebcea Mon Sep 17 00:00:00 2001 From: deathride58 Date: Thu, 10 May 2018 23:48:28 -0400 Subject: [PATCH 145/415] Update game_options.txt --- config/game_options.txt | 4 ---- 1 file changed, 4 deletions(-) diff --git a/config/game_options.txt b/config/game_options.txt index 32ae01c973..6ecec1fc9e 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -512,7 +512,6 @@ MICE_ROUNDSTART 10 ## Determines if players are allowed to print integrated circuits, uncomment to allow. #IC_PRINTING -<<<<<<< HEAD ## CITADEL Races ROUNDSTART_RACES mammal ROUNDSTART_RACES avian @@ -537,11 +536,8 @@ ALLOW_MISCREANTS ## Determines if players are allowed to print integrated circuits, uncomment to allow. #IC_PRINTING -## Uncomment to allow roundstart trait selection in the character setup menu. -======= ## Uncomment to allow roundstart quirk selection in the character setup menu. ## This used to be named traits, hence the config name, but it handles quirks, not the other kind of trait! ->>>>>>> 821a9ad... Merge pull request #37646 from Xhuis/conflicts_imminent ROUNDSTART_TRAITS ## Uncomment to disable human moods. From ff0b19427b7adfdfe9702810429e186bc19c47ab Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Fri, 11 May 2018 16:23:58 -0400 Subject: [PATCH 146/415] Merge pull request #37771 from nichlas0010/patch-1 lets admins see dsay if they're in-game and unconscious --- code/modules/admin/verbs/deadsay.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/admin/verbs/deadsay.dm b/code/modules/admin/verbs/deadsay.dm index 54614cf8ef..2fc616d588 100644 --- a/code/modules/admin/verbs/deadsay.dm +++ b/code/modules/admin/verbs/deadsay.dm @@ -27,7 +27,7 @@ if(isnewplayer(M)) continue if (M.stat == DEAD || (M.client && M.client.holder && (M.client.prefs.chat_toggles & CHAT_DEAD))) //admins can toggle deadchat on and off. This is a proc in admin.dm and is only give to Administrators and above - M.show_message(rendered, 2) + to_chat(M, rendered) SSblackbox.record_feedback("tally", "admin_verb", 1, "Dsay") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! From 3ba00b1e9bfaffe9f1d6b0e4d932aacd5c79448f Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Fri, 11 May 2018 16:22:14 -0400 Subject: [PATCH 148/415] Merge pull request #37774 from KorPhaeron/pixel Adds missing pixel to HoS parade uniform --- icons/mob/uniform.dmi | Bin 233173 -> 233172 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index f35ef2c1a588f824b51aa78380d347c90db4ab1b..34c0ce32536555d90fdaeb88f8dc48e2c358a4cf 100644 GIT binary patch delta 150801 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�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

$5iWfvK1)$^Qw?3F+56=n9x9 ztGJDeu3xpq0IDbGxjO25ELVI9Ml*t(qDMMQ>R|Kp$N*P2*ZxsTJ1f_%A1om?t{or8 z#D%beB}~4Yln&MNf@bM@9%ZTU#$F)~u0RheX-R`POz6Z<&@mroZ;umKHD!?zwH z-++Ye)HRD_3=0LwqP*7#GEzLkq48oM7YuT?uSqv4PBS@P&0X3Ea2x#UMipUUSxOo3 zM4ZtD&`Kp1Ow@AlWp+28g&Qjgy4v+<&#h}>kD4=2m`fH1Jhc^e)bh00Y3Sx(EM$5n zrt;(NiZs~K>I(ad3~b0+qdOXTWh(QZvi%DFxKFt~I4lPe_rHKiC?b|W9$iU#?DHpD zn(rfWjIT|OP%!z@;?JU$e!b_%`TpA{t%FD^QIjA=7*Vssz_Z8?$ZM*)~rIu+G z(Zukwa^qy-a#Uz^FJ@bPH|*6z)ARbcv503OZr!Tq!~kD*S;3=-8?Nl&*tI3 z%-~l`M;<0Mdh4Uv5W>>HSgWawp1;;sl-lQ|KZ!7X_rUF^5p+p=I7Vl;$$rsdYPS2f z#MB7yz(xmP;&n@m?F$YAT*~dPmfCU5+?7ikwN2xqdFwOE@~U9X>8rRp*y*dVQZam+ zU&3{IWm*I^H~}A5J4TlM8XUSN_Kpu5SPn2~0NpV00B$3pw$ z^LTA07{vniHs@#mnZ)4;r)pkKz|Yvzbg&0N*@Ze@?($v4I=9CNRm&1LCkji@|hn$_NcGLkY!aIhRBFd>Y~c# zsFcNBehBkjY&>CwOP%YY!b?bbQ7&~~ohb~TOlV2q;y}n_rA;b z_xpd}_y0Wixw~`b%j+eg?hP%he%<&{0UnE?okHlD^&w@%*K|zN~j-)DtG5urE{A7^J zq@Y?2e_My-q(?wXQDJ0&v&cDIOe5>j_Mgk!t=6{Ppp~;M4;>R^CJw1!GZUv-NC$u zqh`m>=smThQc1N=w`0XAhZoP_)o;&^Uv>vLFI2Fq6R^jM55WgAVSe}qjX_%n zpgKUpa8#GlL z*ZN$MxI&2W=oiW75#3T&DbwI}>)h`JRQp$PjXpZqrtr;2)<|yIx=x~F^zM5x)0cel zETa!C$EnArtq=R$!SB_t;ML0P-&b1AN?bO3UQ2*N}py_19 zC*sEkOP%r?suLnOiX`{zSO>GuWzERSAPeqb;~!-AR9y!Nh1W`a&VgriGarbgrfggO zwNdX7Btyb-p<~pk?WJj|w?`gx7QqT^4o06L#q$hT#~jVU>}*!1X>|!e>Pyq;KD=){ zS9BmOOy;-nn!>bb#><1}v=_Ou#8YQ_IV@=%073WxFSR zo~N@A;p)B+A)`pk@mVny_Cfr<=NV^VM^Qnv%8W;1T8$k#J`Hdxblv0iaS5CX!ke^yUmVS5XVq<-wzA{ASU737}(! z*hHEpq*U6+W*Uo8*V0qK2`I%}&eUX(k}6|D{br)A9sc9gUHaRB;8L7Ie(3Puun}w7 z*M3drH4CfmO=K%!Kg7{3PXhSapV@6DC$!}I_g>v_%=O)E3hbcU)8#zw>Ht~_B)iHE zxKzyZPmog&JlEhC&fHnL#r-_`H3#qS?bv6v69dH7t&D1|O-ss*gX9DCY>D`{mE}4I z*1ii4oRL$-8devJW9UH4yM*pjp%uza!PC4tWwbgD;+W1!!@^KQa%?$syYfk?a$NL0 zhX=H@?{gTBmOka=FwUU4nbDvs+5CuP1hLoMqsq}pexd{63#%=HeMnq7*qDIJ8Yk*1 zPUkK3C4P8jB$j#k1>Tpx@F?C;Qc|vG?{^TBHv3TeKVr=(DFJ2#1SZ`~t3u42<6K${ z(I+WZl6~qF*U`$y%(XQ${@Uowd4I~*41(eH_-vXSBwtJIt2C==Ywo$vFrbuz!{u84 zZ`Jd8ozxmaM4TDSeO5CMc1{^}M2K&Hgt}&QKpeA&b#opkwI)gs&WIiMil~lLN+hmc z%k%m$5~HzLBcRCWm=Lz~BXn2Mduk(PtR3I?g|mK6U5I|Ul<+vr9aS8InOLxv;<%I? z8_RG-<$0$zBPwVi>wr>e80wmH@z*n|@5xMk?*ELTjI6AYEruoMuTfrjSZ)zldHGGw zr6IALxvkR(R^40}BdV-JKEhrXZF=Eu<*0Uc6izED9bBTQp^Mqedb6N=y1t?s-K%_coZy^`r5`NBCGZ72 z6E5U}Zc}-PvK#bX|4W2JFJMg`BFR-Zmy4ZRBspEtS;7}kzl#2~jC)8qR?})0V86Ri zIUURUHLun2sN?+sW-+e7mV1VXCaP5U=Lr6pBS|aLN%Zg6hGJgppY4N)fR6$*Z)}qe zIsso;M{^Oi{Zlks4t9kCN%#j#-SdY~t*x*dK7hK7WTPk1$P_LzTtP!9F3-@u+(Stb7S6})D*T)7*lLDsWGq)&@_wsH~ zMfn4|EZs8Pa3(SBU1vgU8LMB}?(3Uyn6=Y$pmvr&&ouU0j5ECaWm;wMrZVVu#q9QP z(NS4(lwQEA;Vh{uFy|uZ;wRFn!OR)f?!SqwU*Zu8GHa{YLMk=fX{p90$~P^9#Ul|~ zlVJ0KenYHVe+k7wTDk=AD{wDy{ZCr}2|0OWqz0UV<*^vmct>cP(F!GH`z8BR3Ot4P zRH1Wb0pVrh;*(J^7)@A4wzabr{G5npy};9x0K=WyS#{zxx-dp5vOc`*5@wG1)VjbX zTV5&vn4*;TN`J#b4Y-+|N@%&6lw;lL0`(sW&h9o%|2+?Fu zLzC@cw!A#lhYuebrx1s#OMy90wB)qB@G{ROtmLM?nEbv7C?Fs~VHAFZZ@*I)4N-eB z^~C`xa)u{LHh2X{ea+|WxdopXYxj=?9B$lC5=0LH;L+p9%zS*BB6_;I7%7A3zgRfzH_XB&{`)+5hfe3bS5PscgpqeF2lCSW-bMxH;5(Y|;^M0uF=3-*<$k^ia z31a%!VmmhW9HMgSo2gTro8+6BR*N{TF2njJM+ORvoTZ(-1S;CCu?h9>mbKxU8Q&WT z{%!F*7NO>wm;gc~Rof`hX=XV6sSc!_u51R02l!!IcXgTGmnqIYKL9@ zX2)0~l}}!u4mjK_9X6=8V4b{ue=>QLEGUQD>DT??DJ1zA(0s|n1!DvEE1~Fl3%a$w zP1QSWAn!@N(C3avsIP*OA<-9hn0;DMT+AXaPG?w7p{uJ4FpAe$)mV?n%%1)|0PBy! zaIn449xzbG{W!(_CN9BE(O>eUcR;`_3dSK7Gm&MO9CJODnNN zBQ~|}Xa@ueaP2xG>AGK_G+7OP-mz_Mwr#hBkDZIIgRB=pe%4zljV?o(nWM-nwWbGS zzXG+~xK2BSOh%AE@83B@wJgFc_<#XL>KlSM&Fpr7@W#v{h-d4(jp#~Ib;lFYA!&&U zl@gFceSG&Go;}G^c%lg=cfdW)~>xR8-tSpZn zp$AnqqK0GHtS7fC#hynSuMm^06?Slm%&15{7F2f&GAsR+Mf0bzQ5fjl;mbz>M3uQp zJo%54&hsWGLg)%9c$}>9YU0^^mK$}HWvT|wz#w{u*^2E70swsdDH2n^Ev>z!t0K1E z#VgdMvr^&ssBC)-eEdg{IFn3(6b(gL;5)d@@ffF9eo%K*t<`ZCweQ95?e|salQ2FbdQT$(lF=Y)bT#2YFBJK5G%CGs zK&fog`7{q5&7l5N`LpUZNuz3>?I(M;=X?B!N*CBKh@D)UVnp9K zGEja6Y8xnT7L&qqzv$&Ju(D$9(vZ-t9$|KRF#Iy$Ql>}NnnqL~Y^Xmg4j7->uPER;~%?PLHhkWQ3%NXPg`BsI#%*Y@S`q8s_s{dA)biBW=z5~Xg{{Im8(iHWBkM76!Y@~L4tqHc@o3+W5U&&rpg#@ zMFMK$3tQJ2tJz-zyzNM<&tkjQ-#EgG+a)&#i3N&sRok}JdDOxhjV<;i9FzK*4lKZ) zD1yd~1kpuZjEM@|mG zHd&(YsLGFkHmBbrcBFs?5^O^Ct4Z5eL7^jGy_5fdBpNlFwyQvfpHV6yB!$7`G&)rj zZcX}e1~F9R?76n~lss!iL9CWa0y^Lh~nSZ(kc! zAEG!e-VyvJ@GcP`4`(uqvxG*`buM0|$>ERJhSsmIH=oUDxC6Lr`%#Vrh*8TyrfEYo z8F}xcKLo&mslkWLf#5?(Q{gJuU@zcrab+Nk*nr>A3STi}dtrm3o-FoMSu8$Vz8<43-TZrnrbocNb{ zUy4qoSA6~P;a6g{bU_XrnxHxKec}R~KKPYdUy8OwQjzqrbzd{q@!z!c0=e*(t^~F8 z4o&$b1|Rq(MO7b9jj35=V#CPaikp-Arl0;nvLpP6VWUYv&DztZS4i%e@3EucW3f&1orem3b9%p>NGWz}prV zezH`O{H(9ttfzh9CUfFff~Xg$nO$ft3albwj0y~>S1EiBGy5~(h)(@#1qt~iOzW=~ zi_kZb)<2Q-KarU|NFWI5^A=g=1|L?6xdNYhe!UlI;&B3-RynmU3UTrirtkz zRhqIxkZr?Ko3qrx2q14y;YS(?AfNUm@>D zyyy)(%FT*o`$x>oE~LG=opSK>5?zddLSDrW?1X;v>6s->7oU;}q6V~aTivNK9&Wn} zgNQD`=#Sr_AlVkJOlCWceR*J+_}vL44F)xW!z~9>mE)_W(JftsYE_^*xo8-F?l}5B zuUof)`&Uiwx8$7_5K|}%0xyg3w~97Oe^A9B8#UE zlii7_3-Z6B=(+IU@f6wV{>tMU5G4N3TXfG+FyjRzRef{CK1X<8hqWcg1+OnbOH1b1 zxH#Pd@Ko|9`;LK%<|l~U1W&;w<55KRv%f;j0M)rg3^q}8TRUNMm1`w#1dmW~-@)1K zUYsQhI@3!5`0f+~dFG`^$3U0>wOoJi+F0e&jXk7Ic7Ve7il>U4Qp2N$cHKzt5KpH{C~{ z*BnDC;&(Wb-cDAoXoec8jT3{6%=x;ih&7u^3{2SaGcz%voSd9cNd}8~|C4b&=HS>q<8Ah@>K0vS|BN@72yyUYpUB z$LlV;Ls(RaZ>3-x6X}{i-O#YIMO~`fm1GSQw*-opps1tX(GRmMLE|ssj}?s4_Q$`Wwh2K zfvSdy0Pt9yDlWS?gQBvzTER{6uC+Yfce%7$_&TL{sP{R1!!Ph|m!tBGGzBY0EQPoo zLLC+$q84P=qtokqQ&O94i9J`Dw0uVywu4I*uVBkhZBVWU{b(hFX+<)(Z=Z;@ z?jnCI{O)(LRf?v}tzD$$RZ!@JM%5!y7xGzyy<*pvOGGkXnqHudI!gd!k_eu9cqcqg z!#SMq87gL*o=DLr0^pUY9*6jJuXVWs2)Vmm+X&xc6c^653$2UIUmdW8&1gMtv+2TG zZ8}+jiob77oguF{R$H#$U#~hxAf$9pWH|W>+Z}6(X=Z<=R59 zfrcHqov#UJaurA3Eqt0hojG~IhA}bHh6Gw~#=cM|I;Sp=nlK!LvzCkQ>65|>_sh>V z%uDM64X@b-8czGA9|Gx1GVeKO#Y4m;eR)ostPlLz0h>6hQ)WKDkoiS!n%9+;A2|4Y zoiP?6l<;Kk6k5>ClUsv^Rtb|ZS$LZ)_G3s&aV&?BTP<%8WY2X&X2dQ`{|c6! zk-UdvkB-6=7LvUu-rzhCR7&W4kloLEeKI5TPHhg%8jF$S33~B;QU;MhQ85a`0+J{y z&K%G*g8dF|OOx*JF`o@cV?m0&YuS7NvK@Q3h}5n2 z#C`k^!g482O?Wr!t8mHdX4kQWO)QpF@-WnkA8@DPb#-;QHW{a-M(ntv%4A*GAYBRk zK`#8YJ#N&VpF9=VG0r)43j~#ca<2$B^Mn6I8PVgH#4oaRX3D289}g*_&xBMUM|0KY zICB-kiG`G0t%zlQk>rvhTS)c1%cv0SC;i!^Z> z0Wt*#`-OcXaAU8%N@6fgk8(Lv)X7ry-`CfzKz2tlI*O#Q;UA`OI}2+w-d}^=x*z@L zI(y#QzI)?7J?4XR{bTnE^y_{EWP!?PD|2F;j3S`~r#zxJSz{F0R$>++rF&*xR`IUn zSv|wRS5iLJ71SJ6bmy+gaNjTa1oxl!^rPbw3}QmY+TAK`bbJHBZ#7=NjA8C5 z?!m$K@N$Y?^vmtf(?5_`Gcu&P(01Uj8r|xcuB`JmEveoy3DBJSG`kg01_}^mR3JZ% zL)y8+aQxyZx6A}7nR$ZVbP&}3`@$$-M5W{TJR>SsDW2RaF1=xX+1Rje_f&Bn1p2U3RZF65cXqHOf1dg0V|`djY^!xQs3k^R*e6a$*=RKhdpfm z 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/Mv;A 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 From 021f30f0c024a48413b5aa2d7954486fcccaccb5 Mon Sep 17 00:00:00 2001 From: Tad Hardesty Date: Thu, 10 May 2018 23:23:51 -0700 Subject: [PATCH 150/415] Fixed stacks sometimes having the wrong amount if created on another stack --- code/game/machinery/doors/firedoor.dm | 3 +- code/game/machinery/washing_machine.dm | 3 +- .../game/mecha/equipment/tools/other_tools.dm | 6 +- code/game/mecha/equipment/tools/work_tools.dm | 9 +- code/game/objects/items/apc_frame.dm | 3 +- .../objects/items/stacks/sheets/leather.dm | 21 +--- .../game/objects/items/stacks/sheets/light.dm | 8 +- .../items/stacks/sheets/sheet_types.dm | 3 + code/game/objects/items/stacks/stack.dm | 7 +- code/game/objects/structures/ai_core.dm | 3 +- .../crates_lockers/closets/syndicate.dm | 118 ++++++++++++++++++ code/modules/antagonists/swarmer/swarmer.dm | 8 +- .../kitchen_machinery/smartfridge.dm | 3 +- code/modules/hydroponics/biogenerator.dm | 3 +- .../modules/hydroponics/grown/grass_carpet.dm | 13 +- code/modules/mining/machine_redemption.dm | 11 +- code/modules/mining/machine_stacking.dm | 9 +- .../mob/living/simple_animal/bot/floorbot.dm | 10 +- code/modules/power/port_gen.dm | 9 +- code/modules/power/solar.dm | 8 +- .../chemistry/reagents/other_reagents.dm | 3 +- .../crossbreeding/_status_effects.dm | 3 +- .../xenobiology/crossbreeding/charged.dm | 15 +-- .../xenobiology/crossbreeding/industrial.dm | 7 +- 24 files changed, 174 insertions(+), 112 deletions(-) diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 1635b448f4..3f26e7d80d 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -355,8 +355,7 @@ return user.visible_message("[user] removes the wires from [src].", \ "You remove the wiring from [src], exposing the circuit board.") - var/obj/item/stack/cable_coil/B = new(get_turf(src)) - B.amount = 5 + new/obj/item/stack/cable_coil(get_turf(src), 5) constructionStep = CONSTRUCTION_GUTTED update_icon() return diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index cdb12eaf5c..ab906f1bfa 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -65,8 +65,7 @@ return /obj/item/stack/sheet/hairlesshide/machine_wash(obj/machinery/washing_machine/WM) - var/obj/item/stack/sheet/wetleather/WL = new(loc) - WL.amount = amount + new /obj/item/stack/sheet/wetleather(drop_location(), amount) qdel(src) /obj/item/clothing/suit/hooded/ian_costume/machine_wash(obj/machinery/washing_machine/WM) diff --git a/code/game/mecha/equipment/tools/other_tools.dm b/code/game/mecha/equipment/tools/other_tools.dm index 980b7170c1..0d1651c491 100644 --- a/code/game/mecha/equipment/tools/other_tools.dm +++ b/code/game/mecha/equipment/tools/other_tools.dm @@ -367,8 +367,7 @@ return ..() /obj/item/mecha_parts/mecha_equipment/generator/proc/generator_init() - fuel = new /obj/item/stack/sheet/mineral/plasma(src) - fuel.amount = 0 + fuel = new /obj/item/stack/sheet/mineral/plasma(src, 0) /obj/item/mecha_parts/mecha_equipment/generator/detach() STOP_PROCESSING(SSobj, src) @@ -472,8 +471,7 @@ var/rad_per_cycle = 3 /obj/item/mecha_parts/mecha_equipment/generator/nuclear/generator_init() - fuel = new /obj/item/stack/sheet/mineral/uranium(src) - fuel.amount = 0 + fuel = new /obj/item/stack/sheet/mineral/uranium(src, 0) /obj/item/mecha_parts/mecha_equipment/generator/nuclear/critfail() return diff --git a/code/game/mecha/equipment/tools/work_tools.dm b/code/game/mecha/equipment/tools/work_tools.dm index 2054a6ba9a..96adece298 100644 --- a/code/game/mecha/equipment/tools/work_tools.dm +++ b/code/game/mecha/equipment/tools/work_tools.dm @@ -301,8 +301,7 @@ /obj/item/mecha_parts/mecha_equipment/cable_layer/Initialize() . = ..() - cable = new(src) - cable.amount = 0 + cable = new(src, 0) /obj/item/mecha_parts/mecha_equipment/cable_layer/can_attach(obj/mecha/working/M) if(..()) @@ -333,8 +332,7 @@ if(to_load) to_load = min(target.amount, to_load) if(!cable) - cable = new(src) - cable.amount = 0 + cable = new(src, 0) cable.amount += to_load target.use(to_load) occupant_message("[to_load] meters of cable successfully loaded.") @@ -358,8 +356,7 @@ m = min(m, cable.amount) if(m) use_cable(m) - var/obj/item/stack/cable_coil/CC = new (get_turf(chassis)) - CC.amount = m + new /obj/item/stack/cable_coil(get_turf(chassis), m) else occupant_message("There's no more cable on the reel.") return diff --git a/code/game/objects/items/apc_frame.dm b/code/game/objects/items/apc_frame.dm index 5048f6ed2d..87b90d5b8f 100644 --- a/code/game/objects/items/apc_frame.dm +++ b/code/game/objects/items/apc_frame.dm @@ -104,8 +104,7 @@ to_chat(user, "There is another network terminal here!") return else - var/obj/item/stack/cable_coil/C = new /obj/item/stack/cable_coil(T) - C.amount = 10 + new /obj/item/stack/cable_coil(T, 10) to_chat(user, "You cut the cables and disassemble the unused power terminal.") qdel(E) return TRUE diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index cfccedcc3a..4eae35a98c 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -211,10 +211,9 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( \ if(W.is_sharp()) playsound(loc, 'sound/weapons/slice.ogg', 50, 1, -1) user.visible_message("[user] starts cutting hair off \the [src].", "You start cutting the hair off \the [src]...", "You hear the sound of a knife rubbing against flesh.") - if(do_after(user,50, target = src)) + if(do_after(user, 50, target = src)) to_chat(user, "You cut the hair from this [src.singular_name].") - var/obj/item/stack/sheet/hairlesshide/HS = new(user.loc) - HS.amount = 1 + new /obj/item/stack/sheet/hairlesshide(user.drop_location(), 1) use(1) else return ..() @@ -228,21 +227,11 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( \ if(exposed_temperature >= drying_threshold_temperature) wetness-- if(wetness == 0) - //Try locating an exisitng stack on the tile and add to there if possible - for(var/obj/item/stack/sheet/leather/HS in src.loc) - if(HS.amount < 50) - HS.amount++ - src.use(1) - wetness = initial(wetness) - break - //If it gets to here it means it did not find a suitable stack on the tile. - var/obj/item/stack/sheet/leather/HS = new(src.loc) - HS.amount = 1 + new /obj/item/stack/sheet/leather(drop_location(), 1) wetness = initial(wetness) - src.use(1) + use(1) /obj/item/stack/sheet/wetleather/microwave_act(obj/machinery/microwave/MW) ..() - var/obj/item/stack/sheet/leather/L = new(loc) - L.amount = amount + new /obj/item/stack/sheet/leather(drop_location(), amount) qdel(src) diff --git a/code/game/objects/items/stacks/sheets/light.dm b/code/game/objects/items/stacks/sheets/light.dm index b4482a72db..b7c2d5b3f9 100644 --- a/code/game/objects/items/stacks/sheets/light.dm +++ b/code/game/objects/items/stacks/sheets/light.dm @@ -14,13 +14,12 @@ grind_results = list("silicon" = 20, "copper" = 5) /obj/item/stack/light_w/attackby(obj/item/O, mob/user, params) - + var/atom/Tsec = user.drop_location() if(istype(O, /obj/item/wirecutters)) - var/obj/item/stack/cable_coil/CC = new (user.loc) - CC.amount = 5 + var/obj/item/stack/cable_coil/CC = new (Tsec, 5) CC.add_fingerprint(user) amount-- - var/obj/item/stack/sheet/glass/G = new (user.loc) + var/obj/item/stack/sheet/glass/G = new (Tsec) G.add_fingerprint(user) if(amount <= 0) qdel(src) @@ -28,7 +27,6 @@ else if(istype(O, /obj/item/stack/sheet/metal)) var/obj/item/stack/sheet/metal/M = O if (M.use(1)) - use(1) var/obj/item/L = new /obj/item/stack/tile/light(user.loc) to_chat(user, "You make a light tile.") L.add_fingerprint(user) diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 6109f6b0d0..b3af8b9b33 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -121,6 +121,9 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ /obj/item/stack/sheet/metal/twenty amount = 20 +/obj/item/stack/sheet/metal/ten + amount = 10 + /obj/item/stack/sheet/metal/five amount = 5 diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index e67efb0c8a..4d5bf2a449 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -33,10 +33,13 @@ return return TRUE -/obj/item/stack/Initialize(mapload, new_amount=null , merge = TRUE) +/obj/item/stack/Initialize(mapload, new_amount, merge = TRUE) . = ..() - if(new_amount) + if(new_amount != null) amount = new_amount + while(amount > max_amount) + amount -= max_amount + new type(loc, max_amount, FALSE) if(!merge_type) merge_type = type if(merge) diff --git a/code/game/objects/structures/ai_core.dm b/code/game/objects/structures/ai_core.dm index 0a6dfaa1cf..ed797e4256 100644 --- a/code/game/objects/structures/ai_core.dm +++ b/code/game/objects/structures/ai_core.dm @@ -147,8 +147,7 @@ to_chat(user, "You remove the cables.") state = SCREWED_CORE update_icon() - var/obj/item/stack/cable_coil/A = new /obj/item/stack/cable_coil( loc ) - A.amount = 5 + new /obj/item/stack/cable_coil(drop_location(), 5) return if(istype(P, /obj/item/stack/sheet/rglass)) diff --git a/code/game/objects/structures/crates_lockers/closets/syndicate.dm b/code/game/objects/structures/crates_lockers/closets/syndicate.dm index 2214869098..7687c42c3c 100644 --- a/code/game/objects/structures/crates_lockers/closets/syndicate.dm +++ b/code/game/objects/structures/crates_lockers/closets/syndicate.dm @@ -1,3 +1,4 @@ +<<<<<<< HEAD /obj/structure/closet/syndicate name = "armory closet" desc = "Why is this here?" @@ -113,3 +114,120 @@ for(var/res in resources) var/obj/item/stack/R = new res(src) R.amount = R.max_amount +======= +/obj/structure/closet/syndicate + name = "armory closet" + desc = "Why is this here?" + icon_state = "syndicate" + +/obj/structure/closet/syndicate/personal + desc = "It's a personal storage unit for operative gear." + +/obj/structure/closet/syndicate/personal/PopulateContents() + ..() + new /obj/item/clothing/under/syndicate(src) + new /obj/item/clothing/shoes/sneakers/black(src) + new /obj/item/radio/headset/syndicate(src) + new /obj/item/ammo_box/magazine/m10mm(src) + new /obj/item/storage/belt/military(src) + new /obj/item/crowbar/red(src) + new /obj/item/clothing/glasses/night(src) + +/obj/structure/closet/syndicate/nuclear + desc = "It's a storage unit for a Syndicate boarding party." + +/obj/structure/closet/syndicate/nuclear/PopulateContents() + for(var/i in 1 to 5) + new /obj/item/ammo_box/magazine/m10mm(src) + new /obj/item/storage/box/flashbangs(src) + new /obj/item/storage/box/teargas(src) + new /obj/item/storage/backpack/duffelbag/syndie/med(src) + new /obj/item/pda/syndicate(src) + +/obj/structure/closet/syndicate/resources + desc = "An old, dusty locker." + +/obj/structure/closet/syndicate/resources/PopulateContents() + ..() + var/common_min = 30 //Minimum amount of minerals in the stack for common minerals + var/common_max = 50 //Maximum amount of HONK in the stack for HONK common minerals + var/rare_min = 5 //Minimum HONK of HONK in the stack HONK HONK rare minerals + var/rare_max = 20 //Maximum HONK HONK HONK in the HONK for HONK rare HONK + + + var/pickednum = rand(1, 50) + + //Sad trombone + if(pickednum == 1) + var/obj/item/paper/P = new /obj/item/paper(src) + P.name = "\improper IOU" + P.info = "Sorry man, we needed the money so we sold your stash. It's ok, we'll double our money for sure this time!" + + //Metal (common ore) + if(pickednum >= 2) + new /obj/item/stack/sheet/metal(src, rand(common_min, common_max)) + + //Glass (common ore) + if(pickednum >= 5) + new /obj/item/stack/sheet/glass(src, rand(common_min, common_max)) + + //Plasteel (common ore) Because it has a million more uses then plasma + if(pickednum >= 10) + new /obj/item/stack/sheet/plasteel(src, rand(common_min, common_max)) + + //Plasma (rare ore) + if(pickednum >= 15) + new /obj/item/stack/sheet/mineral/plasma(src, rand(rare_min, rare_max)) + + //Silver (rare ore) + if(pickednum >= 20) + new /obj/item/stack/sheet/mineral/silver(src, rand(rare_min, rare_max)) + + //Gold (rare ore) + if(pickednum >= 30) + new /obj/item/stack/sheet/mineral/gold(src, rand(rare_min, rare_max)) + + //Uranium (rare ore) + if(pickednum >= 40) + new /obj/item/stack/sheet/mineral/uranium(src, rand(rare_min, rare_max)) + + //Titanium (rare ore) + if(pickednum >= 40) + new /obj/item/stack/sheet/mineral/titanium(src, rand(rare_min, rare_max)) + + //Plastitanium (rare ore) + if(pickednum >= 40) + new /obj/item/stack/sheet/mineral/plastitanium(src, rand(rare_min, rare_max)) + + //Diamond (rare HONK) + if(pickednum >= 45) + new /obj/item/stack/sheet/mineral/diamond(src, rand(rare_min, rare_max)) + + //Jetpack (You hit the jackpot!) + if(pickednum == 50) + new /obj/item/tank/jetpack/carbondioxide(src) + +/obj/structure/closet/syndicate/resources/everything + desc = "It's an emergency storage closet for repairs." + +/obj/structure/closet/syndicate/resources/everything/PopulateContents() + var/list/resources = list( + /obj/item/stack/sheet/metal, + /obj/item/stack/sheet/glass, + /obj/item/stack/sheet/mineral/gold, + /obj/item/stack/sheet/mineral/silver, + /obj/item/stack/sheet/mineral/plasma, + /obj/item/stack/sheet/mineral/uranium, + /obj/item/stack/sheet/mineral/diamond, + /obj/item/stack/sheet/mineral/bananium, + /obj/item/stack/sheet/plasteel, + /obj/item/stack/sheet/mineral/titanium, + /obj/item/stack/sheet/mineral/plastitanium, + /obj/item/stack/rods + ) + + for(var/i = 0, i<2, i++) + for(var/res in resources) + var/obj/item/stack/R = res + new res(src, initial(R.max_amount)) +>>>>>>> e8304c1... Merge pull request #37760 from YPOQ/stackfix diff --git a/code/modules/antagonists/swarmer/swarmer.dm b/code/modules/antagonists/swarmer/swarmer.dm index 4d6887f3e8..3ea2e1d739 100644 --- a/code/modules/antagonists/swarmer/swarmer.dm +++ b/code/modules/antagonists/swarmer/swarmer.dm @@ -493,10 +493,10 @@ D.pixel_z = target.pixel_z if(do_mob(src, target, 100)) to_chat(src, "Dismantling complete.") - var/obj/item/stack/sheet/metal/M = new /obj/item/stack/sheet/metal(target.loc) - M.amount = 5 + var/atom/Tsec = target.drop_location() + new /obj/item/stack/sheet/metal(Tsec, 5) for(var/obj/item/I in target.component_parts) - I.forceMove(M.drop_location()) + I.forceMove(Tsec) var/obj/effect/temp_visual/swarmer/disintegration/N = new /obj/effect/temp_visual/swarmer/disintegration(get_turf(target)) N.pixel_x = target.pixel_x N.pixel_y = target.pixel_y @@ -505,7 +505,7 @@ if(istype(target, /obj/machinery/computer)) var/obj/machinery/computer/C = target if(C.circuit) - C.circuit.forceMove(M.drop_location()) + C.circuit.forceMove(Tsec) qdel(target) diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm index 2522ec9cf2..edc2305261 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm @@ -299,8 +299,7 @@ qdel(S) return TRUE for(var/obj/item/stack/sheet/wetleather/WL in src) - var/obj/item/stack/sheet/leather/L = new(drop_location()) - L.amount = WL.amount + new /obj/item/stack/sheet/leather(drop_location(), WL.amount) qdel(WL) return TRUE return FALSE diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm index 624394f878..6da117da88 100644 --- a/code/modules/hydroponics/biogenerator.dm +++ b/code/modules/hydroponics/biogenerator.dm @@ -262,8 +262,7 @@ if(!check_cost(D.materials, amount)) return FALSE - var/obj/item/stack/product = new D.build_path(loc) - product.amount = amount + new D.build_path(drop_location(), amount) for(var/R in D.make_reagents) beaker.reagents.add_reagent(R, D.make_reagents[R]*amount) else diff --git a/code/modules/hydroponics/grown/grass_carpet.dm b/code/modules/hydroponics/grown/grass_carpet.dm index 630c072edb..8e55f8a15d 100644 --- a/code/modules/hydroponics/grown/grass_carpet.dm +++ b/code/modules/hydroponics/grown/grass_carpet.dm @@ -36,19 +36,8 @@ continue grassAmt += 1 + round(G.seed.potency * tile_coefficient) qdel(G) - var/obj/item/stack/tile/GT = new stacktype(user.loc) - while(grassAmt > GT.max_amount) - GT.amount = GT.max_amount - grassAmt -= GT.max_amount - GT = new stacktype(user.loc) - GT.amount = grassAmt - for(var/obj/item/stack/tile/T in user.loc) - if((T.type == stacktype) && (T.amount < T.max_amount)) - GT.merge(T) - if(GT.amount <= 0) - break + new stacktype(user.drop_location(), grassAmt) qdel(src) - return // Carpet /obj/item/seeds/grass/carpet diff --git a/code/modules/mining/machine_redemption.dm b/code/modules/mining/machine_redemption.dm index b7b3d91e54..d4735d1c75 100644 --- a/code/modules/mining/machine_redemption.dm +++ b/code/modules/mining/machine_redemption.dm @@ -303,13 +303,12 @@ desired = input("How many sheets?", "How many sheets would you like to smelt?", 1) as null|num var/amount = round(min(desired,50,smelt_amount)) materials.use_amount(alloy.materials, amount) - var/output = new alloy.build_path(src) - if(istype(output, /obj/item/stack/sheet)) - var/obj/item/stack/sheet/produced_alloy = output - produced_alloy.amount = amount - unload_mineral(produced_alloy) + var/output + if(ispath(alloy.build_path, /obj/item/stack/sheet)) + output = new alloy.build_path(src, amount) else - unload_mineral(output) + output = new alloy.build_path(src) + unload_mineral(output) else to_chat(usr, "Required access not found.") return TRUE diff --git a/code/modules/mining/machine_stacking.dm b/code/modules/mining/machine_stacking.dm index e658f69395..f566a8f4a9 100644 --- a/code/modules/mining/machine_stacking.dm +++ b/code/modules/mining/machine_stacking.dm @@ -44,8 +44,7 @@ if(!(text2path(href_list["release"]) in machine.stack_list)) return //someone tried to spawn materials by spoofing hrefs var/obj/item/stack/sheet/inp = machine.stack_list[text2path(href_list["release"])] - var/obj/item/stack/sheet/out = new inp.type() - out.amount = inp.amount + var/obj/item/stack/sheet/out = new inp.type(null, inp.amount) inp.amount = 0 machine.unload_mineral(out) @@ -81,14 +80,12 @@ /obj/machinery/mineral/stacking_machine/proc/process_sheet(obj/item/stack/sheet/inp) if(!(inp.type in stack_list)) //It's the first of this sheet added - var/obj/item/stack/sheet/s = new inp.type(src,0) - s.amount = 0 + var/obj/item/stack/sheet/s = new inp.type(src, 0) stack_list[inp.type] = s var/obj/item/stack/sheet/storage = stack_list[inp.type] storage.amount += inp.amount //Stack the sheets qdel(inp) //Let the old sheet garbage collect while(storage.amount > stack_amt) //Get rid of excessive stackage - var/obj/item/stack/sheet/out = new inp.type() - out.amount = stack_amt + var/obj/item/stack/sheet/out = new inp.type(null, stack_amt) unload_mineral(out) storage.amount -= stack_amt diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm index f0cc8285e8..f47f936db7 100644 --- a/code/modules/mob/living/simple_animal/bot/floorbot.dm +++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm @@ -164,12 +164,7 @@ update_controls() /mob/living/simple_animal/bot/floorbot/proc/empty_tiles() - var/atom/Tsec = drop_location() - - while(specialtiles > initial(tiletype.max_amount)) - new tiletype(Tsec,initial(tiletype.max_amount)) - specialtiles -= initial(tiletype.max_amount) - new tiletype(Tsec,specialtiles) + new tiletype(drop_location(), specialtiles) specialtiles = 0 tiletype = null @@ -378,8 +373,7 @@ if(prob(50)) drop_part(robot_arm, Tsec) - var/obj/item/stack/tile/plasteel/T = new (Tsec) - T.amount = 1 + new /obj/item/stack/tile/plasteel(Tsec, 1) do_sparks(3, TRUE, src) ..() diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index 7cea950ccc..7a6e313cd0 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -111,13 +111,8 @@ /obj/machinery/power/port_gen/pacman/DropFuel() if(sheets) - var/fail_safe = FALSE - while(sheets > 0 && fail_safe < 100) - fail_safe += 1 - var/obj/item/stack/sheet/S = new sheet_path(loc) - var/amount = min(sheets, S.max_amount) - S.amount = amount - sheets -= amount + new sheet_path(drop_location(), sheets) + sheets = 0 /obj/machinery/power/port_gen/pacman/UseFuel() var/needed_sheets = 1 / (time_per_sheet * consumption / power_output) diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index f4c11009d1..d7e0bc66bc 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -191,12 +191,12 @@ // Give back the glass type we were supplied with /obj/item/solar_assembly/proc/give_glass(device_broken) + var/atom/Tsec = drop_location() if(device_broken) - new /obj/item/shard(loc) - new /obj/item/shard(loc) + new /obj/item/shard(Tsec) + new /obj/item/shard(Tsec) else if(glass_type) - var/obj/item/stack/sheet/S = new glass_type(loc) - S.amount = 2 + new glass_type(Tsec, 2) glass_type = null diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 6a57ff0c18..81d55830d2 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -171,8 +171,7 @@ else if(istype(O, /obj/item/stack/sheet/hairlesshide)) var/obj/item/stack/sheet/hairlesshide/HH = O - var/obj/item/stack/sheet/wetleather/WL = new(get_turf(HH)) - WL.amount = HH.amount + new /obj/item/stack/sheet/wetleather(get_turf(HH), HH.amount) qdel(HH) /* diff --git a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm index ddbfdb8471..1c8e9ac350 100644 --- a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm +++ b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm @@ -448,8 +448,7 @@ datum/status_effect/stabilized/blue/on_remove() else if(istype(O, /obj/item/stack/sheet/hairlesshide)) to_chat(owner, "[linked_extract] kept your hands wet! It wets [O]!") var/obj/item/stack/sheet/hairlesshide/HH = O - var/obj/item/stack/sheet/wetleather/WL = new(get_turf(HH)) - WL.amount = HH.amount + new /obj/item/stack/sheet/wetleather(get_turf(HH), HH.amount) qdel(HH) ..() diff --git a/code/modules/research/xenobiology/crossbreeding/charged.dm b/code/modules/research/xenobiology/crossbreeding/charged.dm index 68aff64ee9..18b4e81398 100644 --- a/code/modules/research/xenobiology/crossbreeding/charged.dm +++ b/code/modules/research/xenobiology/crossbreeding/charged.dm @@ -66,10 +66,8 @@ Charged extracts: colour = "metal" /obj/item/slimecross/charged/metal/do_effect(mob/user) - var/obj/item/stack/sheet/metal/M = new(get_turf(user)) - M.amount = 25 - var/obj/item/stack/sheet/plasteel/P = new(get_turf(user)) - P.amount = 10 + new /obj/item/stack/sheet/metal(get_turf(user), 25) + new /obj/item/stack/sheet/plasteel(get_turf(user), 10) user.visible_message("[src] grows into a plethora of metals!") ..() @@ -85,8 +83,7 @@ Charged extracts: colour = "dark purple" /obj/item/slimecross/charged/darkpurple/do_effect(mob/user) - var/obj/item/stack/sheet/mineral/plasma/M = new(get_turf(user)) - M.amount = 10 + new /obj/item/stack/sheet/mineral/plasma(get_turf(user), 10) user.visible_message("[src] produces a large amount of plasma!") ..() @@ -113,8 +110,7 @@ Charged extracts: colour = "bluespace" /obj/item/slimecross/charged/bluespace/do_effect(mob/user) - var/obj/item/stack/sheet/bluespace_crystal/M = new(get_turf(user)) - M.amount = 10 + new /obj/item/stack/sheet/bluespace_crystal(get_turf(user), 10) user.visible_message("[src] produces several sheets of polycrystal!") ..() @@ -138,8 +134,7 @@ Charged extracts: colour = "pyrite" /obj/item/slimecross/charged/pyrite/do_effect(mob/user) - var/obj/item/stack/sheet/mineral/bananium/M = new(get_turf(user)) - M.amount = 10 + new /obj/item/stack/sheet/mineral/bananium(get_turf(user), 10) user.visible_message("[src] solidifies with a horrifying banana stench!") ..() diff --git a/code/modules/research/xenobiology/crossbreeding/industrial.dm b/code/modules/research/xenobiology/crossbreeding/industrial.dm index 2503219e83..95f87ede0a 100644 --- a/code/modules/research/xenobiology/crossbreeding/industrial.dm +++ b/code/modules/research/xenobiology/crossbreeding/industrial.dm @@ -75,12 +75,7 @@ Industrial extracts: /obj/item/slimecross/industrial/metal colour = "metal" plasmarequired = 3 - itempath = /obj/item/stack/sheet/metal - -/obj/item/slimecross/industrial/metal/do_after_spawn(obj/item/spawned) - var/obj/item/stack/sheet/metal/M = spawned - if(istype(M)) - M.amount = 10 + itempath = /obj/item/stack/sheet/metal/ten /obj/item/slimecross/industrial/yellow colour = "yellow" From 9510c120655605fb8658fa2614d91c4dba1ab832 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 10 May 2018 22:37:59 -0700 Subject: [PATCH 151/415] Fixes morphs (#37772) --- code/modules/antagonists/morph/morph.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/morph/morph.dm b/code/modules/antagonists/morph/morph.dm index 3ddbd0117c..6572584eab 100644 --- a/code/modules/antagonists/morph/morph.dm +++ b/code/modules/antagonists/morph/morph.dm @@ -190,7 +190,7 @@ return ..() /mob/living/simple_animal/hostile/morph/AttackingTarget() - if(!melee_damage_disguised) + if(morphed && !melee_damage_disguised) to_chat(src, "You can not attack while disguised!") return if(isliving(target)) //Eat Corpses to regen health From d0a5aaa4ee91c8910d7c38be90e654f7b0be077a Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Thu, 10 May 2018 22:24:10 -0700 Subject: [PATCH 153/415] family heirlooms properly open the bag upon spawning if they're in the bag (#37754) --- code/datums/traits/negative.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm index 7be86b2595..dcdda966a7 100644 --- a/code/datums/traits/negative.dm +++ b/code/datums/traits/negative.dm @@ -65,8 +65,8 @@ var/where = H.equip_in_one_of_slots(heirloom, slots) if(!where) where = "at your feet" - if(where == "in your backpack") - H.back.SendSignal(COMSIG_TRY_STORAGE_SHOW, H) + else if(where == "in your backpack") + H.back.SendSignal(COMSIG_TRY_STORAGE_SHOW, H) where_text = "There is a precious family [heirloom.name] [where], passed down from generation to generation. Keep it safe!" /datum/trait/family_heirloom/post_add() From 56eab7e394a2d7820813a8cfc0b9a56f2f136d69 Mon Sep 17 00:00:00 2001 From: Armhulen Date: Thu, 10 May 2018 21:39:07 -0700 Subject: [PATCH 155/415] Fix spelling in mime forcefield description (#37742) * SPELL IT RIGHT REEEEEEEEEEEEEEEEE * Awhile --- code/game/objects/effects/forcefields.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/effects/forcefields.dm b/code/game/objects/effects/forcefields.dm index add653238e..14b50f987a 100644 --- a/code/game/objects/effects/forcefields.dm +++ b/code/game/objects/effects/forcefields.dm @@ -33,5 +33,5 @@ /obj/effect/forcefield/mime/advanced name = "invisible blockade" - desc = "You're goona be here a while." - timeleft = 600 \ No newline at end of file + desc = "You're gonna be here awhile." + timeleft = 600 From b036b1e5199d4f8aeb7a4a4fb81e002885eb7c6b Mon Sep 17 00:00:00 2001 From: Emmett Gaines Date: Sat, 12 May 2018 17:28:24 -0400 Subject: [PATCH 157/415] Makes the redirect component able to transfer with changeturfs (#37697) --- code/__DEFINES/components.dm | 3 +++ code/datums/components/signal_redirect.dm | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm index b59ebfe7aa..a5aa63e6a1 100644 --- a/code/__DEFINES/components.dm +++ b/code/__DEFINES/components.dm @@ -143,6 +143,9 @@ /*******Non-Signal Component Related Defines*******/ +//Redirection component init flags +#define REDIRECT_TRANSFER_WITH_TURF 1 + //Arch #define ARCH_PROB "probability" //Probability for each item #define ARCH_MAXDROP "max_drop_amount" //each item's max drop amount diff --git a/code/datums/components/signal_redirect.dm b/code/datums/components/signal_redirect.dm index 764a44e4a9..8828c03c2d 100644 --- a/code/datums/components/signal_redirect.dm +++ b/code/datums/components/signal_redirect.dm @@ -1,8 +1,13 @@ /datum/component/redirect dupe_mode = COMPONENT_DUPE_ALLOWED -/datum/component/redirect/Initialize(list/signals, datum/callback/_callback) +/datum/component/redirect/Initialize(list/signals, datum/callback/_callback, flags=NONE) //It's not our job to verify the right signals are registered here, just do it. if(!LAZYLEN(signals) || !istype(_callback)) return COMPONENT_INCOMPATIBLE + if(flags & REDIRECT_TRANSFER_WITH_TURF && isturf(parent)) + RegisterSignal(COMSIG_TURF_CHANGE, .proc/turf_change) RegisterSignal(signals, _callback) + +/datum/component/redirect/proc/turf_change(path, new_baseturfs, flags, list/transfers) + transfers += src From b0b9240466efe03285b9ef1f241478b9a37c7755 Mon Sep 17 00:00:00 2001 From: Alexch2 <38825151+Alexch2@users.noreply.github.com> Date: Sat, 12 May 2018 23:41:41 +0200 Subject: [PATCH 159/415] Fixes large crates acting like lockers (#37707) * Fixes large crates acting like lockers * removes forgotten comment * Adds Cobby's suggestions, and makes the description more useful. Also improves feedback when using the wrong tool. --- .../structures/crates_lockers/crates/large.dm | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/code/game/objects/structures/crates_lockers/crates/large.dm b/code/game/objects/structures/crates_lockers/crates/large.dm index 7098520ef5..6c8feae50b 100644 --- a/code/game/objects/structures/crates_lockers/crates/large.dm +++ b/code/game/objects/structures/crates_lockers/crates/large.dm @@ -1,15 +1,14 @@ /obj/structure/closet/crate/large name = "large crate" - desc = "A hefty wooden crate." + desc = "A hefty wooden crate. You'll need a crowbar to get it open." icon_state = "largecrate" density = TRUE material_drop = /obj/item/stack/sheet/mineral/wood + material_drop_amount = 4 delivery_icon = "deliverybox" + integrity_failure = 0 //Makes the crate break when integrity reaches 0, instead of opening and becoming an invisible sprite. /obj/structure/closet/crate/large/attack_hand(mob/user) - . = ..() - if(.) - return add_fingerprint(user) if(manifest) tear_manifest(user) @@ -18,7 +17,6 @@ /obj/structure/closet/crate/large/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/crowbar)) - var/turf/T = get_turf(src) if(manifest) tear_manifest(user) @@ -27,11 +25,19 @@ "You hear splitting wood.") playsound(src.loc, 'sound/weapons/slashmiss.ogg', 75, 1) - for(var/i in 1 to rand(2, 5)) + var/turf/T = get_turf(src) + for(var/i in 1 to material_drop_amount) new material_drop(src) for(var/atom/movable/AM in contents) AM.forceMove(T) qdel(src) + else - return ..() + if(user.a_intent == INTENT_HARM) //Only return ..() if intent is harm, otherwise return 0 or just end it. + return ..() //Stops it from opening and turning invisible when items are used on it. + + else + to_chat(user, "You need a crowbar to pry this open!") + return FALSE //Just stop. Do nothing. Don't turn into an invisible sprite. Don't open like a locker. + //The large crate has no non-attack interactions other than the crowbar, anyway. \ No newline at end of file From 023f93f734f1acabdfe54e7fea05ea66d3a69ac3 Mon Sep 17 00:00:00 2001 From: Grandmother of 50 <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com> Date: Sat, 12 May 2018 18:43:35 -0400 Subject: [PATCH 161/415] Fixes Bedbuckling to avoid Floor is Lava (#37752) * Update floor_is_lava.dm * Pulls the check out of the loop. --- code/datums/weather/weather_types/floor_is_lava.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/datums/weather/weather_types/floor_is_lava.dm b/code/datums/weather/weather_types/floor_is_lava.dm index 5db27b9f6e..00ecfff0b3 100644 --- a/code/datums/weather/weather_types/floor_is_lava.dm +++ b/code/datums/weather/weather_types/floor_is_lava.dm @@ -25,8 +25,10 @@ /datum/weather/floor_is_lava/weather_act(mob/living/L) if(issilicon(L)) return + if(istype(L.buckled, /obj/structure/bed)) + return for(var/obj/structure/O in L.loc) - if(O.density || (L in O.buckled_mobs && istype(O, /obj/structure/bed))) + if(O.density) return if(L.loc.density) return From 11d63f6a561553b32b24006b030750fe2293131f Mon Sep 17 00:00:00 2001 From: 81Denton <32391752+81Denton@users.noreply.github.com> Date: Sun, 13 May 2018 00:49:27 +0200 Subject: [PATCH 163/415] Adds desc to chemmaster circ board (#37797) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * adds desc to chemmaster circ board * ASS♂WE♂CAN♂ * don't drink and web edit kids --- code/game/objects/items/circuitboards/machine_circuitboards.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index 43c12d451e..c263a7652c 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -204,7 +204,7 @@ /obj/item/circuitboard/machine/vendor name = "Booze-O-Mat Vendor (Machine Board)" - desc = "You could turn the \"brand selection\" dial using a screwdriver." + desc = "You can turn the \"brand selection\" dial using a screwdriver." build_path = /obj/machinery/vending/boozeomat req_components = list( /obj/item/vending_refill/boozeomat = 3) @@ -651,6 +651,7 @@ /obj/item/circuitboard/machine/chem_master name = "ChemMaster 3000 (Machine Board)" build_path = /obj/machinery/chem_master + desc = "You can turn the \"mode selection\" dial using a screwdriver." req_components = list( /obj/item/reagent_containers/glass/beaker = 2, /obj/item/stock_parts/manipulator = 1, From d6b945e2b77c25289444ad4c3ca1a2d9f48e393a Mon Sep 17 00:00:00 2001 From: 81Denton <32391752+81Denton@users.noreply.github.com> Date: Sun, 13 May 2018 00:54:10 +0200 Subject: [PATCH 165/415] Adds wizard randomname (#37801) --- strings/names/wizardfirst.txt | 1 + strings/names/wizardsecond.txt | 1 + 2 files changed, 2 insertions(+) diff --git a/strings/names/wizardfirst.txt b/strings/names/wizardfirst.txt index 8c9e1e35fe..f1e9a10a58 100644 --- a/strings/names/wizardfirst.txt +++ b/strings/names/wizardfirst.txt @@ -24,6 +24,7 @@ Prospero Radagast Raistlin Rasputin +Rincewind Saruman Tenser Terefi diff --git a/strings/names/wizardsecond.txt b/strings/names/wizardsecond.txt index 4233ad5430..dd191cfa2b 100644 --- a/strings/names/wizardsecond.txt +++ b/strings/names/wizardsecond.txt @@ -34,6 +34,7 @@ the Unstoppable the Weeping the White the Wise +the Wizzard Unseen Weatherwax Yagg \ No newline at end of file From 84632045490dd038ed6458ac4621ead70353080f Mon Sep 17 00:00:00 2001 From: 81Denton <32391752+81Denton@users.noreply.github.com> Date: Sun, 13 May 2018 01:53:46 +0200 Subject: [PATCH 167/415] Runtime: fixes RTG power, adjusts pipenet, adds debug chem dispensers --- _maps/map_files/debug/runtimestation.dmm | 174 +++++++++++------- .../chemistry/machinery/chem_dispenser.dm | 14 ++ .../chemistry/machinery/chem_synthesizer.dm | 85 +++++++++ code/modules/reagents/chemistry/reagents.dm | 3 +- tgstation.dme | 1 + tgui/src/interfaces/chem_synthesizer.ract | 21 +++ 6 files changed, 230 insertions(+), 68 deletions(-) create mode 100644 code/modules/reagents/chemistry/machinery/chem_synthesizer.dm create mode 100644 tgui/src/interfaces/chem_synthesizer.ract diff --git a/_maps/map_files/debug/runtimestation.dmm b/_maps/map_files/debug/runtimestation.dmm index a308ce62f2..3629dd5f05 100644 --- a/_maps/map_files/debug/runtimestation.dmm +++ b/_maps/map_files/debug/runtimestation.dmm @@ -25,6 +25,9 @@ /area/engine/atmos) "ai" = ( /obj/machinery/power/rtg/advanced, +/obj/structure/cable{ + icon_state = "0-2" + }, /turf/open/floor/plating/airless, /area/space/nearstation) "aj" = ( @@ -73,7 +76,7 @@ /obj/structure/cable{ icon_state = "0-4" }, -/turf/open/floor/plating, +/turf/open/floor/plasteel, /area/engine/engineering) "aq" = ( /obj/machinery/computer/monitor, @@ -84,11 +87,11 @@ /obj/machinery/light{ dir = 1 }, -/turf/open/floor/plating, +/turf/open/floor/plasteel, /area/engine/engineering) "ar" = ( /obj/structure/closet/secure_closet/engineering_welding, -/turf/open/floor/plating, +/turf/open/floor/plasteel, /area/engine/engineering) "as" = ( /obj/machinery/power/smes{ @@ -182,12 +185,6 @@ /obj/machinery/door/airlock/external/glass, /turf/open/floor/plating, /area/engine/engineering) -"aD" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/engine/engineering) "aE" = ( /obj/structure/cable{ icon_state = "1-2" @@ -195,10 +192,16 @@ /obj/structure/cable{ icon_state = "2-8" }, -/turf/open/floor/plating, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel, /area/engine/engineering) "aF" = ( -/turf/open/floor/plating, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel, /area/engine/engineering) "aG" = ( /obj/machinery/power/terminal{ @@ -292,7 +295,7 @@ }, /obj/item/storage/toolbox/syndicate, /obj/item/stock_parts/cell/infinite, -/turf/open/floor/plating, +/turf/open/floor/plasteel, /area/engine/engineering) "aT" = ( /obj/structure/cable{ @@ -301,7 +304,8 @@ /obj/structure/cable{ icon_state = "2-4" }, -/turf/open/floor/plating, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, /area/engine/engineering) "aU" = ( /obj/machinery/door/airlock/engineering/glass{ @@ -382,17 +386,18 @@ /obj/structure/table, /obj/item/weldingtool/experimental, /obj/item/inducer, -/turf/open/floor/plating, +/turf/open/floor/plasteel, /area/engine/engineering) "be" = ( /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/plating, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, /area/engine/engineering) "bf" = ( /obj/machinery/suit_storage_unit/captain, -/turf/open/floor/plating, +/turf/open/floor/plasteel, /area/engine/engineering) "bg" = ( /obj/effect/turf_decal/stripes/line{ @@ -453,16 +458,15 @@ /turf/open/floor/plating, /area/engine/atmos) "bo" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, /obj/structure/table, /obj/item/screwdriver/power, /obj/item/wirecutters/power, -/turf/open/floor/plating, +/turf/open/floor/plasteel, /area/engine/engineering) "bp" = ( /obj/machinery/light, /obj/structure/tank_dispenser, -/turf/open/floor/plating, +/turf/open/floor/plasteel, /area/engine/engineering) "bq" = ( /obj/effect/turf_decal/stripes/line{ @@ -496,15 +500,12 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/bridge) -"bw" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall/r_wall, -/area/engine/engineering) "bx" = ( /obj/machinery/door/airlock, /obj/structure/cable{ icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/engine/engineering) "by" = ( @@ -628,7 +629,7 @@ /turf/open/floor/plasteel/dark, /area/medical/chemistry) "bS" = ( -/obj/machinery/chem_dispenser, +/obj/machinery/chem_dispenser/fullupgrade, /turf/open/floor/plasteel/dark, /area/medical/chemistry) "bU" = ( @@ -741,16 +742,6 @@ /obj/machinery/door/airlock, /turf/open/floor/plating, /area/bridge) -"ci" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel, -/area/medical/chemistry) "cj" = ( /obj/structure/cable{ icon_state = "4-8" @@ -791,8 +782,10 @@ /area/science) "cp" = ( /obj/machinery/light, -/obj/machinery/atmospherics/components/unary/vent_pump/on, /obj/structure/closet/secure_closet/engineering_chief, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, /turf/open/floor/plasteel/blue/side{ dir = 10 }, @@ -814,7 +807,6 @@ /turf/closed/wall/r_wall, /area/bridge) "ct" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/light{ dir = 8 }, @@ -888,8 +880,10 @@ /turf/closed/wall/r_wall, /area/medical/chemistry) "cF" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, /turf/open/floor/plasteel, /area/medical/chemistry) "cG" = ( @@ -1003,12 +997,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/storage/primary) -"db" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plating, -/area/storage/primary) "dc" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -1310,6 +1298,15 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/science) +"gM" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/storage/primary) "gY" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 @@ -1317,7 +1314,6 @@ /turf/open/floor/plasteel, /area/science) "hD" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/power/apc{ dir = 1; pixel_y = 25 @@ -1398,6 +1394,11 @@ }, /turf/open/floor/plasteel, /area/medical/chemistry) +"sE" = ( +/obj/machinery/power/rtg/advanced, +/obj/structure/cable, +/turf/open/floor/plating/airless, +/area/space/nearstation) "vv" = ( /obj/machinery/door/airlock, /turf/open/floor/plating, @@ -1433,6 +1434,16 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel, /area/medical/chemistry) +"yp" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/medical/chemistry) "AP" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 @@ -1462,12 +1473,24 @@ /obj/machinery/rnd/production/circuit_imprinter/department, /turf/open/floor/plasteel, /area/science) +"CK" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/turf/open/floor/plasteel, +/area/medical/chemistry) "CV" = ( /obj/structure/cable{ icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel, /area/medical/chemistry) +"EI" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/blue/side, +/area/bridge) "If" = ( /obj/structure/cable{ icon_state = "1-2" @@ -1489,6 +1512,10 @@ /obj/machinery/door/airlock, /turf/open/floor/plating, /area/hallway/primary/central) +"Ly" = ( +/obj/machinery/chem_dispenser/chem_synthesizer, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) "NZ" = ( /obj/machinery/rnd/production/protolathe/department, /turf/open/floor/plasteel, @@ -1500,6 +1527,13 @@ /obj/machinery/door/airlock/external/glass, /turf/open/floor/plating, /area/medical/medbay) +"RC" = ( +/obj/machinery/power/rtg/advanced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) "RY" = ( /obj/structure/cable{ icon_state = "4-8" @@ -1515,6 +1549,12 @@ /obj/machinery/light, /turf/open/floor/plasteel, /area/hallway/primary/central) +"Vy" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) "WT" = ( /obj/structure/cable{ icon_state = "4-8" @@ -2627,14 +2667,14 @@ ae ab ai an -ai +RC aQ -ai +sE ab bv bI cf -cq +EI bv dU bE @@ -2683,7 +2723,7 @@ ai ao aA aR -ai +sE ab bv BG @@ -2897,7 +2937,7 @@ ae ac ac aj -aD +Vy aj ac ac @@ -3005,20 +3045,20 @@ ad af aj ap -aD +Vy aS bd bo -bw +aj hD -ci +cj ct -wT +Ce cF -bN -bN -cU -db +bE +bE +cS +dl dl dl dl @@ -3065,14 +3105,14 @@ be be bx CV -cj -Ce -Ce -oV -bE -bE -cS -dc +yp +wT +wT +CK +bN +bN +cU +gM dc dA dl @@ -3114,7 +3154,7 @@ af aj ar aF -aD +Vy bf bp aj @@ -3334,7 +3374,7 @@ aX aI aI ak -bS +Ly pQ Xg Ce diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index 2db6058852..ff05a66d47 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -499,3 +499,17 @@ obj/machinery/chem_dispenser/proc/work_animation() "ammonia", "ash", "diethylamine") + +/obj/machinery/chem_dispenser/fullupgrade //fully upgraded stock parts + +/obj/machinery/chem_dispenser/fullupgrade/Initialize() + . = ..() + component_parts = list() + component_parts += new /obj/item/circuitboard/machine/chem_dispenser(null) + component_parts += new /obj/item/stock_parts/matter_bin/bluespace(null) + component_parts += new /obj/item/stock_parts/matter_bin/bluespace(null) + component_parts += new /obj/item/stock_parts/capacitor/quadratic(null) + 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() diff --git a/code/modules/reagents/chemistry/machinery/chem_synthesizer.dm b/code/modules/reagents/chemistry/machinery/chem_synthesizer.dm new file mode 100644 index 0000000000..4c57eb3524 --- /dev/null +++ b/code/modules/reagents/chemistry/machinery/chem_synthesizer.dm @@ -0,0 +1,85 @@ +/obj/machinery/chem_dispenser/chem_synthesizer //formerly SCP-294 made by mrty, but now only for testing purposes + name = "\improper debug chemical synthesizer" + desc = "If you see this, yell at adminbus." + icon = 'icons/obj/chemical.dmi' + icon_state = "dispenser" + amount = 10 + resistance_flags = INDESTRUCTIBLE | FIRE_PROOF | ACID_PROOF | LAVA_PROOF + working_state = null + nopower_state = null + flags_1 = NODECONSTRUCT_1 + var/static/list/shortcuts = list( + "meth" = "methamphetamine", + "tricord" = "tricordrazine" + ) + var/mutable_appearance/top_overlay + +/obj/machinery/chem_dispenser/chem_synthesizer/Initialize() + . = ..() + GLOB.poi_list += src + top_overlay = mutable_appearance(icon, "disp_beaker", layer = ABOVE_ALL_MOB_LAYER) + update_icon() + +/obj/machinery/chem_dispenser/chem_synthesizer/update_icon() + cut_overlays() + add_overlay(top_overlay) + +/obj/machinery/chem_dispenser/chem_synthesizer/Destroy() + . = ..() + GLOB.poi_list -= src + QDEL_NULL(top_overlay) + +/obj/machinery/chem_dispenser/chem_synthesizer/display_beaker() + return + +/obj/machinery/chem_dispenser/chem_synthesizer/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, \ + datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state) + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) + if(!ui) + ui = new(user, src, ui_key, "chem_synthesizer", name, 390, 315, master_ui, state) + ui.open() + +/obj/machinery/chem_dispenser/chem_synthesizer/ui_act(action, params) + if(..()) + return + update_icon() + switch(action) + if("ejectBeaker") + if(beaker) + beaker.forceMove(drop_location()) + if(Adjacent(usr) && !issilicon(usr)) + usr.put_in_hands(beaker) + beaker = null + . = TRUE + if("input") + var/input_reagent = replacetext(lowertext(input("Enter the name of any liquid", "Input") as text), " ", "") //95% of the time, the reagent id is a lowercase/no spaces version of the name + if(shortcuts[input_reagent]) + input_reagent = shortcuts[input_reagent] + else + input_reagent = find_reagent(input_reagent) + if(!input_reagent || !GLOB.chemical_reagents_list[input_reagent]) + say("OUT OF RANGE") + return + else + if(!beaker) + return + else if(!beaker.reagents && !QDELETED(beaker)) + beaker.create_reagents(beaker.volume) + beaker.reagents.add_reagent(input_reagent, amount) + if("makecup") + if(beaker) + return + beaker = new /obj/item/reagent_containers/glass/beaker/bluespace(src) + visible_message("[src] dispenses a bluespace beaker.") + +/obj/machinery/chem_dispenser/chem_synthesizer/proc/find_reagent(input) + . = FALSE + if(GLOB.chemical_reagents_list[input]) //prefer IDs! + var/datum/reagent/R = GLOB.chemical_reagents_list[input] + if(R.can_synth_debug) + return input + else + for(var/X in GLOB.chemical_reagents_list) + var/datum/reagent/R = GLOB.chemical_reagents_list[X] + if(R.can_synth_debug && input == replacetext(lowertext(R.name), " ", "")) + return X diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm index 7369fd6042..f61644db0c 100644 --- a/code/modules/reagents/chemistry/reagents.dm +++ b/code/modules/reagents/chemistry/reagents.dm @@ -20,7 +20,8 @@ var/current_cycle = 0 var/volume = 0 var/color = "#000000" // rgb: 0, 0, 0 - var/can_synth = TRUE + var/can_synth = TRUE // can this reagent be synthesized? (for example: odysseus syringe gun) + var/can_synth_debug = TRUE // can this reagent be synthesized by the debug chem synthesizer? var/metabolization_rate = REAGENTS_METABOLISM //how fast the reagent is metabolized by the mob var/overrides_metab = 0 var/overdose_threshold = 0 diff --git a/tgstation.dme b/tgstation.dme index 93fb08da2f..ad3026a14a 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -2331,6 +2331,7 @@ #include "code\modules\reagents\chemistry\machinery\chem_dispenser.dm" #include "code\modules\reagents\chemistry\machinery\chem_heater.dm" #include "code\modules\reagents\chemistry\machinery\chem_master.dm" +#include "code\modules\reagents\chemistry\machinery\chem_synthesizer.dm" #include "code\modules\reagents\chemistry\machinery\pandemic.dm" #include "code\modules\reagents\chemistry\machinery\reagentgrinder.dm" #include "code\modules\reagents\chemistry\machinery\smoke_machine.dm" diff --git a/tgui/src/interfaces/chem_synthesizer.ract b/tgui/src/interfaces/chem_synthesizer.ract new file mode 100644 index 0000000000..f57bd4ba71 --- /dev/null +++ b/tgui/src/interfaces/chem_synthesizer.ract @@ -0,0 +1,21 @@ + + + Eject + Input + Create Beaker + + + + + {{#if data.isBeakerLoaded}} + {{Math.round(adata.beakerCurrentVolume)}}/{{data.beakerMaxVolume}} Units + {{#each adata.beakerContents}} + {{Math.fixed(volume, 2)}} units of {{name}}
+ {{else}} + Recipient Empty + {{/each}} + {{else}} + No Recipient + {{/if}} +
+
From b11e600cff1cf8d2e73f2f110a787dba4df8756a Mon Sep 17 00:00:00 2001 From: Mickyan <38563876+Mickyan@users.noreply.github.com> Date: Sun, 13 May 2018 02:14:30 +0200 Subject: [PATCH 168/415] Makes gauze deconstructable into cloth --- code/game/objects/items/stacks/medical.dm | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 511f9754fe..f8e965e295 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -127,6 +127,18 @@ self_delay = 20 max_amount = 12 +/obj/item/stack/medical/gauze/wirecutter_act(mob/living/user, obj/item/I) + if(get_amount() < 2) + to_chat(user, "You need at least two gauze to do this!") + return + new /obj/item/stack/sheet/cloth(user.drop_location()) + user.visible_message("[user] cuts [src] into pieces of cloth with [I].", \ + "You cut [src] into pieces of cloth with [I].", \ + "You hear cutting.") + var/obj/item/stack/medical/gauze/R = src + src = null + R.use(2) + /obj/item/stack/medical/gauze/suicide_act(mob/living/user) user.visible_message("[user] begins tightening \the [src] around [user.p_their()] neck! It looks like [user.p_they()] forgot how to use medical supplies!") return OXYLOSS @@ -155,5 +167,10 @@ grind_results = list("silver_sulfadiazine" = 10) /obj/item/stack/medical/ointment/suicide_act(mob/living/user) +<<<<<<< HEAD user.visible_message("[user] is squeezing \the [src] into [user.p_their()] mouth! Don't they know that stuff is toxic?") - return TOXLOSS \ No newline at end of file + return TOXLOSS +======= + user.visible_message("[user] is squeezing \the [src] into [user.p_their()] mouth! [user.p_do(TRUE)]n't [user.p_they()] know that stuff is toxic?") + return TOXLOSS +>>>>>>> 01f9f56... Makes gauze deconstructable into cloth (#37731) From 1c164ff28f6bbcc5101519dba949026d68ae991c Mon Sep 17 00:00:00 2001 From: AnturK Date: Sun, 13 May 2018 02:26:40 +0200 Subject: [PATCH 169/415] Fixes possession funtime (#37737) * Fixes possession funtime * This should probably be generic backend mob list but i can't think of anything else that would need it. --- code/modules/admin/verbs/adminjump.dm | 2 +- code/modules/mob/dead/observer/observer.dm | 2 ++ code/modules/mob/living/carbon/human/dummy.dm | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/code/modules/admin/verbs/adminjump.dm b/code/modules/admin/verbs/adminjump.dm index 1e96cc507e..0136efc3b3 100644 --- a/code/modules/admin/verbs/adminjump.dm +++ b/code/modules/admin/verbs/adminjump.dm @@ -95,7 +95,7 @@ SSblackbox.record_feedback("tally", "admin_verb", 1, "Jump To Key") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! -/client/proc/Getmob(mob/M in GLOB.mob_list) +/client/proc/Getmob(mob/M in GLOB.mob_list - GLOB.dummy_mob_list) set category = "Admin" set name = "Get Mob" set desc = "Mob to teleport" diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 8bfe33b3ea..e11a4fc886 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -592,6 +592,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp var/list/possessible = list() for(var/mob/living/L in GLOB.alive_mob_list) + if(istype(L,/mob/living/carbon/human/dummy) || !get_turf(L)) //Haha no. + continue if(!(L in GLOB.player_list) && !L.mind) possessible += L diff --git a/code/modules/mob/living/carbon/human/dummy.dm b/code/modules/mob/living/carbon/human/dummy.dm index 018f04ab8f..beb183e842 100644 --- a/code/modules/mob/living/carbon/human/dummy.dm +++ b/code/modules/mob/living/carbon/human/dummy.dm @@ -19,6 +19,7 @@ INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy) //Inefficient pooling/caching way. GLOBAL_LIST_EMPTY(human_dummy_list) +GLOBAL_LIST_EMPTY(dummy_mob_list) /proc/generate_or_wait_for_human_dummy(slotkey) if(!slotkey) @@ -31,6 +32,7 @@ GLOBAL_LIST_EMPTY(human_dummy_list) if(QDELETED(D)) D = new GLOB.human_dummy_list[slotkey] = D + GLOB.dummy_mob_list += D D.in_use = TRUE return D From e164668c5e6e55e31d1eef207b46315c54984093 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sat, 12 May 2018 21:37:26 -0500 Subject: [PATCH 171/415] Update negative.dm --- code/datums/traits/negative.dm | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm index ffb25ce987..510a06819f 100644 --- a/code/datums/traits/negative.dm +++ b/code/datums/traits/negative.dm @@ -230,21 +230,9 @@ return if(prob(2)) //we'll all be mad soon enough madness() - -<<<<<<< HEAD -/datum/trait/insanity/proc/madness(mad_fools) - set waitfor = FALSE - if(!mad_fools) - mad_fools = prob(20) - if(mad_fools) - var/hallucination_type = pick(subtypesof(/datum/hallucination/rds)) - new hallucination_type (trait_holder, FALSE) - else - trait_holder.hallucination += rand(10, 50) -======= + /datum/quirk/insanity/proc/madness() quirk_holder.hallucination += rand(10, 25) ->>>>>>> aa782ff... [s] Hallucinations 4.0 (#37423) /datum/trait/insanity/post_add() //I don't /think/ we'll need this but for newbies who think "roleplay as insane" = "license to kill" it's probably a good thing to have if(!trait_holder.mind || trait_holder.mind.special_role) From 5847268db331326faf80361c15f5308f11571e32 Mon Sep 17 00:00:00 2001 From: XDTM Date: Sun, 13 May 2018 08:43:30 +0200 Subject: [PATCH 172/415] Linked teleporters now teleport to the hub instead of the power station (#37684) --- code/game/machinery/computer/teleporter.dm | 31 +++++++++++----------- code/game/machinery/teleporter.dm | 7 ++--- 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/code/game/machinery/computer/teleporter.dm b/code/game/machinery/computer/teleporter.dm index 978f7adcf0..93b997eee6 100644 --- a/code/game/machinery/computer/teleporter.dm +++ b/code/game/machinery/computer/teleporter.dm @@ -174,25 +174,26 @@ else var/list/S = power_station.linked_stations - if(!S.len) - to_chat(user, "No connected stations located.") - return for(var/obj/machinery/teleport/station/R in S) - if(is_eligible(R)) + if(is_eligible(R) && R.teleporter_hub) var/area/A = get_area(R) L[avoid_assoc_duplicate_keys(A.name, areaindex)] = R + if(!L.len) + to_chat(user, "No active connected stations located.") + return var/desc = input("Please select a station to lock in.", "Locking Computer") as null|anything in L - target = L[desc] - if(target) - var/obj/machinery/teleport/station/trg = target - trg.linked_stations |= power_station - trg.stat &= ~NOPOWER - if(trg.teleporter_hub) - trg.teleporter_hub.stat &= ~NOPOWER - trg.teleporter_hub.update_icon() - if(trg.teleporter_console) - trg.teleporter_console.stat &= ~NOPOWER - trg.teleporter_console.update_icon() + var/obj/machinery/teleport/station/target_station = L[desc] + if(!target_station || !target_station.teleporter_hub) + return + target = target_station.teleporter_hub + target_station.linked_stations |= power_station + target_station.stat &= ~NOPOWER + if(target_station.teleporter_hub) + target_station.teleporter_hub.stat &= ~NOPOWER + target_station.teleporter_hub.update_icon() + if(target_station.teleporter_console) + target_station.teleporter_console.stat &= ~NOPOWER + target_station.teleporter_console.update_icon() /obj/machinery/computer/teleporter/proc/is_eligible(atom/movable/AM) var/turf/T = get_turf(AM) diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index 7b66a57f59..cef200173c 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -47,7 +47,6 @@ return if(is_ready()) teleport(AM) - use_power(5000) /obj/machinery/teleport/hub/attackby(obj/item/W, mob/user, params) if(default_deconstruction_screwdriver(user, "tele-o", "tele0", W)) @@ -61,13 +60,15 @@ /obj/machinery/teleport/hub/proc/teleport(atom/movable/M as mob|obj, turf/T) var/obj/machinery/computer/teleporter/com = power_station.teleporter_console - if (!com) + if (QDELETED(com)) return - if (!com.target) + if (QDELETED(com.target)) + com.target = null visible_message("Cannot authenticate locked on coordinates. Please reinstate coordinate matrix.") return if (ismovableatom(M)) if(do_teleport(M, com.target)) + use_power(5000) if(!calibrated && prob(30 - ((accurate) * 10))) //oh dear a problem if(ishuman(M))//don't remove people from the round randomly you jerks var/mob/living/carbon/human/human = M From e9ef82513c1aaceef5ceb1c23555f62999b21f8c Mon Sep 17 00:00:00 2001 From: FrozenGuy5 <31222036+praisenarsie@users.noreply.github.com> Date: Sun, 13 May 2018 07:04:07 +0100 Subject: [PATCH 174/415] Add plasma rein glass to the ORM & adjusts material values on the various glass sheets (#37464) * Update smelting_designs.dm * Tweaks material values on titanium glass. * Optimizes math & fixes errors and inconsistencies --- code/game/objects/items/stacks/sheets/glass.dm | 10 +++++----- code/modules/research/designs/smelting_designs.dm | 14 +++++++++++--- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index 9d32504c19..3264deae88 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -82,7 +82,7 @@ GLOBAL_LIST_INIT(pglass_recipes, list ( \ singular_name = "plasma glass sheet" icon_state = "sheet-pglass" item_state = "sheet-pglass" - materials = list(MAT_PLASMA=MINERAL_MATERIAL_AMOUNT/2, MAT_GLASS=MINERAL_MATERIAL_AMOUNT) + materials = list(MAT_PLASMA=MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS=MINERAL_MATERIAL_AMOUNT) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 75, "acid" = 100) resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/plasmaglass @@ -133,7 +133,7 @@ GLOBAL_LIST_INIT(reinforced_glass_recipes, list ( \ singular_name = "reinforced glass sheet" icon_state = "sheet-rglass" item_state = "sheet-rglass" - materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT/2, MAT_GLASS=MINERAL_MATERIAL_AMOUNT) + materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS=MINERAL_MATERIAL_AMOUNT) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 100) resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/rglass @@ -175,7 +175,7 @@ GLOBAL_LIST_INIT(prglass_recipes, list ( \ singular_name = "reinforced plasma glass sheet" icon_state = "sheet-prglass" item_state = "sheet-prglass" - materials = list(MAT_PLASMA=MINERAL_MATERIAL_AMOUNT/2, MAT_GLASS=MINERAL_MATERIAL_AMOUNT) + materials = list(MAT_PLASMA=MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS=MINERAL_MATERIAL_AMOUNT, MAT_METAL = MINERAL_MATERIAL_AMOUNT * 0.5,) armor = list("melee" = 20, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100) resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/plasmarglass @@ -195,7 +195,7 @@ GLOBAL_LIST_INIT(titaniumglass_recipes, list( singular_name = "titanium glass sheet" icon_state = "sheet-titaniumglass" item_state = "sheet-titaniumglass" - materials = list(MAT_TITANIUM=MINERAL_MATERIAL_AMOUNT, MAT_GLASS=MINERAL_MATERIAL_AMOUNT) + materials = list(MAT_TITANIUM=MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS=MINERAL_MATERIAL_AMOUNT) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100) resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/titaniumglass @@ -214,7 +214,7 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( singular_name = "plastitanium glass sheet" icon_state = "sheet-plastitaniumglass" item_state = "sheet-plastitaniumglass" - materials = list(MAT_TITANIUM=MINERAL_MATERIAL_AMOUNT, MAT_PLASMA=MINERAL_MATERIAL_AMOUNT, MAT_GLASS=MINERAL_MATERIAL_AMOUNT) + materials = list(MAT_TITANIUM=MINERAL_MATERIAL_AMOUNT * 0.5, MAT_PLASMA=MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS=MINERAL_MATERIAL_AMOUNT) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100) resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/plastitaniumglass diff --git a/code/modules/research/designs/smelting_designs.dm b/code/modules/research/designs/smelting_designs.dm index 821e6cee38..79a9748b08 100644 --- a/code/modules/research/designs/smelting_designs.dm +++ b/code/modules/research/designs/smelting_designs.dm @@ -21,15 +21,23 @@ name = "Plasma + Glass alloy" id = "plasmaglass" build_type = SMELTER - materials = list(MAT_PLASMA = MINERAL_MATERIAL_AMOUNT, MAT_GLASS = MINERAL_MATERIAL_AMOUNT) + materials = list(MAT_PLASMA = MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS = MINERAL_MATERIAL_AMOUNT) build_path = /obj/item/stack/sheet/plasmaglass category = list("initial") +/datum/design/plasmarglass_alloy + name = "Plasma + Metal + Glass alloy" + id = "plasmareinforcedglass" + build_type = SMELTER + materials = list(MAT_PLASMA = MINERAL_MATERIAL_AMOUNT * 0.5, MAT_METAL = MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS = MINERAL_MATERIAL_AMOUNT) + build_path = /obj/item/stack/sheet/plasmarglass + category = list("initial") + /datum/design/titaniumglass_alloy name = "Titanium + Glass alloy" id = "titaniumglass" build_type = SMELTER - materials = list(MAT_TITANIUM = MINERAL_MATERIAL_AMOUNT, MAT_GLASS = MINERAL_MATERIAL_AMOUNT) + materials = list(MAT_TITANIUM = MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS = MINERAL_MATERIAL_AMOUNT) build_path = /obj/item/stack/sheet/titaniumglass category = list("initial") @@ -37,7 +45,7 @@ name = "Plasma + Titanium + Glass alloy" id = "plastitaniumglass" build_type = SMELTER - materials = list(MAT_PLASMA = MINERAL_MATERIAL_AMOUNT, MAT_TITANIUM = MINERAL_MATERIAL_AMOUNT, MAT_GLASS = MINERAL_MATERIAL_AMOUNT) + materials = list(MAT_PLASMA = MINERAL_MATERIAL_AMOUNT * 0.5, MAT_TITANIUM = MINERAL_MATERIAL_AMOUNT * 0.5, MAT_GLASS = MINERAL_MATERIAL_AMOUNT) build_path = /obj/item/stack/sheet/plastitaniumglass category = list("initial") From 23f6567872e198fa380a77f5a55a9e29cde73caa Mon Sep 17 00:00:00 2001 From: YPOQ <30683121+YPOQ@users.noreply.github.com> Date: Sat, 12 May 2018 23:05:35 -0600 Subject: [PATCH 176/415] Fixes defibs/watertanks/gatling lasers (#37792) --- code/game/objects/items/defib.dm | 1 - code/game/objects/items/tanks/watertank.dm | 1 - code/modules/projectiles/guns/ballistic/laser_gatling.dm | 1 - 3 files changed, 3 deletions(-) diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index 47d7b1e525..08357215d8 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -170,7 +170,6 @@ to_chat(user, "You need a free hand to hold the paddles!") update_icon() return - paddles.forceMove(user) else //Remove from their hands and back onto the defib unit paddles.unwield() diff --git a/code/game/objects/items/tanks/watertank.dm b/code/game/objects/items/tanks/watertank.dm index 5c7df452f0..2a5e92d375 100644 --- a/code/game/objects/items/tanks/watertank.dm +++ b/code/game/objects/items/tanks/watertank.dm @@ -49,7 +49,6 @@ on = FALSE to_chat(user, "You need a free hand to hold the mister!") return - noz.forceMove(user) else //Remove from their hands and put back "into" the tank remove_noz() diff --git a/code/modules/projectiles/guns/ballistic/laser_gatling.dm b/code/modules/projectiles/guns/ballistic/laser_gatling.dm index cc719f98ee..af44f998e1 100644 --- a/code/modules/projectiles/guns/ballistic/laser_gatling.dm +++ b/code/modules/projectiles/guns/ballistic/laser_gatling.dm @@ -40,7 +40,6 @@ to_chat(user, "You need a free hand to hold the gun!") return update_icon() - gun.forceMove(user) user.update_inv_back() else to_chat(user, "You are already holding the gun!") From 1a1341989d3028d0e9ffd6558c0cb53005b904d8 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sun, 13 May 2018 07:06:27 -0500 Subject: [PATCH 178/415] labcat thingy --- icons/mob/custom_w.dmi | Bin 22236 -> 23944 bytes icons/obj/custom.dmi | Bin 16605 -> 18075 bytes .../code/modules/client/loadout/__donator.dm | 8 +++++++- .../modules/custom_loadout/custom_items.dm | 8 ++++++++ 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/icons/mob/custom_w.dmi b/icons/mob/custom_w.dmi index 6b17cc3acba750a95bbd9b3876b8f586b44ac2e7..7c7499ee42f01a1c39d6ed0faa30d3144359d5be 100644 GIT binary patch delta 3711 zcmV-_4uJ98tpSL;0gxnrLwZzLbVOxyV{&P5bZKvH004NLjg!G{!Y~j-&&gM;;99Dt zaLuIxRUF_K(8k`xt2lPFUZC*xJ#c8H7THHjZ^rAH^%6dIpZgEnQ&+uz;6w>pXnq7q(T^l~ zj>AxZap;YYI2M7?d(2zjM)~&O^`nBwb9aA#aJDkUeQ3 zn8kWZ%9s3f7m|s+=NR%;)7Nd{sbF_djU#`039XVNR97Y_L(5kB%0Wp6Aqs_m0A~`1`FzEi z_#CTT)HFwh7Mk@-)4cpqKCkc}?Gkp!Eo=|_`WqN$c&97W|If2n0UAI88|briLHrJX zol#61M;gcfV~j8~X_L6PB)HgVu!)F{ty+_;gowtDN)|iRcf%d0%&bTiIZC zK0W`DvW@vuUtf<{jKd7r5?i-!&AHBW+nd{{dQwU^mc+O6@dW@*06-iwD}Ae$Ut{g! zn9*GrCx1#{N8Mwx*eyM07&+t*w}uHjIZghQkVRPKqac4QFTjkNni^cXbP2gK%H6wn zlbbhh(pO)7Rd?IzbQ*5A8xDtmJoz*;v+@9RI^_d!adDBW2vJH=Utf>%@^bY2Z4i`F z{P4pMMQ8hk(thl(c;ST?KnQ`&WT!_5H=* zcDpe@Kd%U{)9GAs1Ax)7G0e@)!R>bIW?RdR8#e#|$z&4gbQ(iLLyGX}Rqj{~W`k0S zp`jt9(`h7=$qe6kkk2oymPDA314~(FW#yuLdwe1DzH(7%!xd$yZ$XUs{*M@z7GO%L zA};v~+QWwrGv2Qk>2w-@PNx$tmkWTL1-o1>MU-7G7d&-!C@U+|&E{&@Y&ON#`1rUX z;>+;+{bYQ68~{*ORtB5R(%qcigA;d11D?@D6Oixc|2sE#HC?P}{_Fun#-SF&}!Ls1%*RLz( z5FTZhZGS3mB?A}K0;tZ4Ic9(?+q5j~#9(q(zR|F>0IP?(Pe1*%vMekY!^6Xrtr=$T zE7m?+Qnr2j_PpMIvwiz^BoYZODBJf6)JhH)TYkks-aBG+-OU>MCU++Nu ztGQyApegp3L{B}_pS2XRv`uNpNh~MF<}Ewa7b_qNM^^zpb?TJvX`ec)(q>rM1X

  • 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 delta 1989 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 Date: Sun, 13 May 2018 07:26:15 -0500 Subject: [PATCH 179/415] Update custom_items.dm --- modular_citadel/code/modules/custom_loadout/custom_items.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_citadel/code/modules/custom_loadout/custom_items.dm b/modular_citadel/code/modules/custom_loadout/custom_items.dm index 21bed5ac52..fcc3d83187 100644 --- a/modular_citadel/code/modules/custom_loadout/custom_items.dm +++ b/modular_citadel/code/modules/custom_loadout/custom_items.dm @@ -345,7 +345,7 @@ item_state = "paperhat" /obj/item/clothing/suit/toggle/labcoat/mad/rdcoat - name = "RD Labcoat" + name = "Techomancers Labcoat" desc = "An oddly special looking coat." icon = 'icons/obj/custom.dmi' icon_state = "rdcoat" From 38628753d16116dfa607be47cd756ca392711685 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sun, 13 May 2018 07:26:44 -0500 Subject: [PATCH 180/415] Update __donator.dm --- modular_citadel/code/modules/client/loadout/__donator.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modular_citadel/code/modules/client/loadout/__donator.dm b/modular_citadel/code/modules/client/loadout/__donator.dm index 1416d377f0..24f454fd1f 100644 --- a/modular_citadel/code/modules/client/loadout/__donator.dm +++ b/modular_citadel/code/modules/client/loadout/__donator.dm @@ -278,9 +278,9 @@ datum/gear/darksabresheath path = /obj/item/ssword_kit ckeywhitelist = list("phillip458") -/datum/gear/rdlabcoat - name = "Labcoat" +/datum/gear/techcoat + name = "Techomancers Labcoat" category = slot_in_backpack - path = /obj/item/clothing/suit/toggle/labcoat/mad/rdcoat + path = /obj/item/clothing/suit/toggle/labcoat/mad/techcoat ckeywhitelist = list("wilchen") From 4fcca6ea4c1eca652c87ad4336f52bb5e4b11591 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sun, 13 May 2018 07:26:57 -0500 Subject: [PATCH 181/415] Update custom_items.dm --- modular_citadel/code/modules/custom_loadout/custom_items.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_citadel/code/modules/custom_loadout/custom_items.dm b/modular_citadel/code/modules/custom_loadout/custom_items.dm index fcc3d83187..6c4647f0a2 100644 --- a/modular_citadel/code/modules/custom_loadout/custom_items.dm +++ b/modular_citadel/code/modules/custom_loadout/custom_items.dm @@ -344,7 +344,7 @@ icon_state = "paperhat" item_state = "paperhat" -/obj/item/clothing/suit/toggle/labcoat/mad/rdcoat +/obj/item/clothing/suit/toggle/labcoat/mad/techcoat name = "Techomancers Labcoat" desc = "An oddly special looking coat." icon = 'icons/obj/custom.dmi' From 2424ee053988ceff5658c087cfc107106c7662a4 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Tue, 8 May 2018 13:36:41 -0400 Subject: [PATCH 182/415] Quirk limit now only applies to positive quirks --- code/modules/client/preferences.dm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 7558380a36..5948da99a0 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -871,6 +871,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) Traits are applied at roundstart and cannot normally be removed.
  • " dat += "
    Done
    " dat += "
    " +<<<<<<< HEAD dat += "
    Current traits: [all_traits.len ? all_traits.Join(", ") : "None"]
    " dat += "
    [all_traits.len] / [MAX_TRAITS] max traits
    \ Trait balance remaining: [GetTraitBalance()]

    " @@ -879,6 +880,16 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/trait_name = initial(T.name) var/has_trait var/trait_cost = initial(T.value) * -1 +======= + dat += "
    Current quirks: [all_quirks.len ? all_quirks.Join(", ") : "None"]
    " + dat += "
    [positive_quirks.len] / [MAX_QUIRKS] max positive quirks
    \ + Quirk balance remaining: [GetQuirkBalance()]

    " + for(var/V in SSquirks.quirks) + var/datum/quirk/T = SSquirks.quirks[V] + var/quirk_name = initial(T.name) + var/has_quirk + var/quirk_cost = initial(T.value) * -1 +>>>>>>> e74f33d... Quirk limit now only applies to positive quirks var/lock_reason = "This trait is unavailable." var/trait_conflict = FALSE for(var/_V in all_traits) @@ -986,11 +997,16 @@ GLOBAL_LIST_EMPTY(preferences_datums) neutral_traits -= trait all_traits -= trait else +<<<<<<< HEAD if(all_traits.len >= MAX_TRAITS) to_chat(user, "You can't have more than [MAX_TRAITS] traits!") return neutral_traits += trait all_traits += trait +======= + neutral_quirks += quirk + all_quirks += quirk +>>>>>>> e74f33d... Quirk limit now only applies to positive quirks else var/balance = GetTraitBalance() if(trait in positive_traits) @@ -1003,8 +1019,13 @@ GLOBAL_LIST_EMPTY(preferences_datums) negative_traits -= trait all_traits -= trait else if(value > 0) +<<<<<<< HEAD if(all_traits.len >= MAX_TRAITS) to_chat(user, "You can't have more than [MAX_TRAITS] traits!") +======= + if(positive_quirks.len >= MAX_QUIRKS) + to_chat(user, "You can't have more than [MAX_QUIRKS] positive quirks!") +>>>>>>> e74f33d... Quirk limit now only applies to positive quirks return if(balance - value < 0) to_chat(user, "You don't have enough balance to gain this trait!") @@ -1012,12 +1033,18 @@ GLOBAL_LIST_EMPTY(preferences_datums) positive_traits += trait all_traits += trait else +<<<<<<< HEAD if(all_traits.len >= MAX_TRAITS) to_chat(user, "You can't have more than [MAX_TRAITS] traits!") return negative_traits += trait all_traits += trait SetTraits(user) +======= + negative_quirks += quirk + all_quirks += quirk + SetQuirks(user) +>>>>>>> e74f33d... Quirk limit now only applies to positive quirks if("reset") all_traits = list() positive_traits = list() From 14f0f21c882acf9fc1547e76f97d07b904b05bd0 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sun, 13 May 2018 09:53:04 -0500 Subject: [PATCH 183/415] Update chat_commands.dm --- code/modules/admin/chat_commands.dm | 5 ----- 1 file changed, 5 deletions(-) diff --git a/code/modules/admin/chat_commands.dm b/code/modules/admin/chat_commands.dm index ef90adb463..dbeb6fce7f 100644 --- a/code/modules/admin/chat_commands.dm +++ b/code/modules/admin/chat_commands.dm @@ -103,13 +103,8 @@ GLOBAL_LIST(round_end_notifiees) var/list/text_res = results.Copy(1, 3) var/list/refs = results.len > 3 ? results.Copy(4) : null . = "[text_res.Join("\n")][refs ? "\nRefs: [refs.Join(" ")]" : ""]" -<<<<<<< HEAD - -/datum/server_tools_command/reload_admins -======= /datum/tgs_chat_command/reload_admins ->>>>>>> 575d098... Update DMAPI to version 3.2.1.0 (#37429) name = "reload_admins" help_text = "Forces the server to reload admins." admin_only = TRUE From a3fb8d5ed46cfd8358c67a10a68df0158b4e6865 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sun, 13 May 2018 10:15:12 -0500 Subject: [PATCH 184/415] Update drinks_recipes.dm --- code/modules/food_and_drinks/recipes/drinks_recipes.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/modules/food_and_drinks/recipes/drinks_recipes.dm b/code/modules/food_and_drinks/recipes/drinks_recipes.dm index a525e82882..8b35b22fb6 100644 --- a/code/modules/food_and_drinks/recipes/drinks_recipes.dm +++ b/code/modules/food_and_drinks/recipes/drinks_recipes.dm @@ -623,9 +623,6 @@ id = "crevice_spike" results = list("crevice_spike" = 6) required_reagents = list("limejuice" = 2, "capsaicin" = 4) //2 powdered delta (sour), 4 flanergide (spicy) -<<<<<<< HEAD - mix_message = "The mixture stings your eyes as it settles." -======= mix_message = "The mixture stings your eyes as it settles." /datum/chemical_reaction/sake @@ -665,4 +662,3 @@ id = "mojito" results = list("mojito" = 5) required_reagents = list("rum" = 1, "sugar" = 1, "limejuice" = 1, "sodawater" = 1, "menthol" = 1) ->>>>>>> 5a78cf1... Adds 5 new drinks (#37589) From 6d5e085fd0a4ecadff6ed56002bae500eb0cb062 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sun, 13 May 2018 10:15:26 -0500 Subject: [PATCH 185/415] Update alcohol_reagents.dm --- code/modules/reagents/chemistry/reagents/alcohol_reagents.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index cd61e6b34f..eb51d2dcde 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -1546,9 +1546,6 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_desc = "It'll either knock the drunkenness out of you or knock you out cold. Both, probably." /datum/reagent/consumable/ethanol/crevice_spike/on_mob_add(mob/living/L) //damage only applies when drink first enters system and won't again until drink metabolizes out -<<<<<<< HEAD - L.adjustBruteLoss(3 * min(5,volume)) //minimum 3 brute damage on ingestion to limit non-drink means of injury - a full 5 unit gulp of the drink trucks you for the full 15 -======= L.adjustBruteLoss(3 * min(5,volume)) //minimum 3 brute damage on ingestion to limit non-drink means of injury - a full 5 unit gulp of the drink trucks you for the full 15 /datum/reagent/consumable/ethanol/sake @@ -1616,4 +1613,3 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_icon_state = "mojito" glass_name = "Mojito" glass_desc = "A drink that looks as refreshing as it tastes." ->>>>>>> 5a78cf1... Adds 5 new drinks (#37589) From 51b6ade3efa55ebd2978fb04362d13a1107fac00 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sun, 13 May 2018 10:18:12 -0500 Subject: [PATCH 186/415] Update bombspawner.dm --- code/game/objects/effects/spawners/bombspawner.dm | 5 ----- 1 file changed, 5 deletions(-) diff --git a/code/game/objects/effects/spawners/bombspawner.dm b/code/game/objects/effects/spawners/bombspawner.dm index a69bfc7f1d..c8c77a0b4d 100644 --- a/code/game/objects/effects/spawners/bombspawner.dm +++ b/code/game/objects/effects/spawners/bombspawner.dm @@ -15,13 +15,8 @@ /obj/effect/spawner/newbomb/Initialize() . = ..() -<<<<<<< HEAD - var/obj/item/device/transfer_valve/V = new(src.loc) - var/obj/item/tank/internals/plasma/full/PT = new(V) -======= var/obj/item/transfer_valve/V = new(src.loc) var/obj/item/tank/internals/plasma/PT = new(V) ->>>>>>> c0b7f77... Modified bomb and syndicate bomb spawner so Cuban Pete bombs maxcap and work again (#37293) var/obj/item/tank/internals/oxygen/OT = new(V) PT.air_contents.assert_gas(/datum/gas/plasma) From 884b8b8c4d8c900199ce7e0ae7bfb2ee3b828e5c Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sun, 13 May 2018 11:54:34 -0500 Subject: [PATCH 187/415] Update smokebomb.dm --- code/game/objects/items/grenades/smokebomb.dm | 34 ------------------- 1 file changed, 34 deletions(-) diff --git a/code/game/objects/items/grenades/smokebomb.dm b/code/game/objects/items/grenades/smokebomb.dm index 5b2ab3aede..d822ede78c 100644 --- a/code/game/objects/items/grenades/smokebomb.dm +++ b/code/game/objects/items/grenades/smokebomb.dm @@ -1,36 +1,3 @@ -<<<<<<< HEAD -/obj/item/grenade/smokebomb - name = "smoke grenade" - desc = "The word 'Dank' is scribbled on it in crayon." - icon = 'icons/obj/grenade.dmi' - icon_state = "smokewhite" - det_time = 20 - item_state = "flashbang" - slot_flags = SLOT_BELT - var/datum/effect_system/smoke_spread/bad/smoke - -/obj/item/grenade/smokebomb/New() - ..() - src.smoke = new /datum/effect_system/smoke_spread/bad - src.smoke.attach(src) - -/obj/item/grenade/smokebomb/Destroy() - qdel(smoke) - return ..() - -/obj/item/grenade/smokebomb/prime() - update_mob() - playsound(src.loc, 'sound/effects/smoke.ogg', 50, 1, -3) - smoke.set_up(4, src) - smoke.start() - - - for(var/obj/structure/blob/B in view(8,src)) - var/damage = round(30/(get_dist(B,src)+1)) - B.take_damage(damage, BURN, "melee", 0) - sleep(80) - qdel(src) -======= /obj/item/grenade/smokebomb name = "smoke grenade" desc = "The word 'Dank' is scribbled on it in crayon." @@ -62,4 +29,3 @@ B.take_damage(damage, BURN, "melee", 0) sleep(80) qdel(src) ->>>>>>> ecd0d8b... Merge pull request #37476 from AnturK/thisalwaysbuggedme From ff8e5e92bffb461e59a21e01631df5b31fec6e52 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 13 May 2018 12:01:55 -0500 Subject: [PATCH 188/415] Update medical.dm --- code/game/objects/items/stacks/medical.dm | 5 ----- 1 file changed, 5 deletions(-) diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index f8e965e295..bee37d1ff9 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -167,10 +167,5 @@ grind_results = list("silver_sulfadiazine" = 10) /obj/item/stack/medical/ointment/suicide_act(mob/living/user) -<<<<<<< HEAD - user.visible_message("[user] is squeezing \the [src] into [user.p_their()] mouth! Don't they know that stuff is toxic?") - return TOXLOSS -======= user.visible_message("[user] is squeezing \the [src] into [user.p_their()] mouth! [user.p_do(TRUE)]n't [user.p_they()] know that stuff is toxic?") return TOXLOSS ->>>>>>> 01f9f56... Makes gauze deconstructable into cloth (#37731) From 53ea3dcfe10d1051a1e60e82ec1247366255f41c Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Sun, 13 May 2018 12:08:17 -0500 Subject: [PATCH 189/415] Buckled/held cultists cant be teleport summoned (#37805) --- code/modules/antagonists/cult/runes.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm index 4307f65a28..71e02fdf4c 100644 --- a/code/modules/antagonists/cult/runes.dm +++ b/code/modules/antagonists/cult/runes.dm @@ -708,6 +708,11 @@ structure_check() searches for nearby cultist structures required for the invoca fail_invoke() log_game("Summon Cultist rune failed - target died") return + if(cultist_to_summon.pulledby || cultist_to_summon.buckled) + to_chat(user, "[cultist_to_summon] is being held in place!") + fail_invoke() + log_game("Summon Cultist rune failed - target restrained") + return if(!iscultist(cultist_to_summon)) to_chat(user, "[cultist_to_summon] is not a follower of the Geometer!") fail_invoke() From 9bb2d02feb8fc0e75893342e67152a46c5abccec Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Sun, 13 May 2018 12:07:48 -0500 Subject: [PATCH 191/415] Fixes robots appearing as deactivated at round end (#37804) --- code/__HELPERS/roundend.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/__HELPERS/roundend.dm b/code/__HELPERS/roundend.dm index f16745979c..fcf5a5dd4a 100644 --- a/code/__HELPERS/roundend.dm +++ b/code/__HELPERS/roundend.dm @@ -359,7 +359,7 @@ for(var/mob/living/silicon/robot/robo in aiPlayer.connected_robots) borg_num-- if(robo.mind) - robolist += "[robo.name] (Played by: [robo.mind.key])[robo.stat ? " (Deactivated)" : ""][borg_num ?", ":""]
    " + robolist += "[robo.name] (Played by: [robo.mind.key])[robo.stat == DEAD ? " (Deactivated)" : ""][borg_num ?", ":""]
    " parts += "[robolist]" if(!borg_spacer) borg_spacer = TRUE From 998e49da06368187e5d1171cc204025f3d39865e Mon Sep 17 00:00:00 2001 From: vuonojenmustaturska Date: Sun, 13 May 2018 20:10:21 +0300 Subject: [PATCH 193/415] Merge pull request #37809 from Qbopper/secskirts Adds security jumpskirts this time with less broken github --- .../crates_lockers/closets/job_closets.dm | 2 ++ code/modules/clothing/under/jobs/security.dm | 8 ++++++++ icons/mob/uniform.dmi | Bin 233172 -> 234446 bytes icons/obj/clothing/uniforms.dmi | Bin 62234 -> 62772 bytes 4 files changed, 10 insertions(+) diff --git a/code/game/objects/structures/crates_lockers/closets/job_closets.dm b/code/game/objects/structures/crates_lockers/closets/job_closets.dm index eb7e7a3f93..90863441a2 100644 --- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm @@ -148,6 +148,8 @@ new /obj/item/storage/backpack/duffelbag/sec(src) for(var/i in 1 to 3) new /obj/item/clothing/under/rank/security(src) + for(var/i in 1 to 2) + new /obj/item/clothing/under/rank/security/skirt(src) for(var/i in 1 to 3) new /obj/item/clothing/shoes/jackboots(src) for(var/i in 1 to 3) diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm index be8a113f22..e2be42e014 100644 --- a/code/modules/clothing/under/jobs/security.dm +++ b/code/modules/clothing/under/jobs/security.dm @@ -28,6 +28,14 @@ item_state = "gy_suit" item_color = "security" +/obj/item/clothing/under/rank/security/skirt + name = "security jumpskirt" + desc = "A \"tactical\" security jumpsuit with the legs replaced by a skirt." + icon_state = "secskirt" + item_state = "r_suit" + item_color = "secskirt" + can_adjust = FALSE //you know now that i think of it if you adjust the skirt and the sprite disappears isn't that just like flashing everyone + /obj/item/clothing/under/rank/warden name = "security suit" diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index 34c0ce32536555d90fdaeb88f8dc48e2c358a4cf..23541a8e4016dbcf7b6d8c29e22839ab1a56fe14 100644 GIT binary patch delta 12174 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%0D}}L53{M;J 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 Rqa_-O0eI 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 Date: Sun, 13 May 2018 20:11:08 +0300 Subject: [PATCH 195/415] Merge pull request #37816 from YPOQ/bikehornfix Fixes bike horn attack --- code/game/objects/items/clown_items.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/objects/items/clown_items.dm b/code/game/objects/items/clown_items.dm index 9b615b68b5..fa5748c1d9 100644 --- a/code/game/objects/items/clown_items.dm +++ b/code/game/objects/items/clown_items.dm @@ -118,6 +118,7 @@ /obj/item/bikehorn/attack(mob/living/carbon/M, mob/living/carbon/user) M.SendSignal(COMSIG_ADD_MOOD_EVENT, "honk", /datum/mood_event/honk) + return ..() /obj/item/bikehorn/suicide_act(mob/user) user.visible_message("[user] solemnly points the horn at [user.p_their()] temple! It looks like [user.p_theyre()] trying to commit suicide!") From 0cac640dc8d54de7642de87614be0783563d5aa9 Mon Sep 17 00:00:00 2001 From: Tad Hardesty Date: Thu, 10 May 2018 18:58:03 -0700 Subject: [PATCH 197/415] Make admin heals also max out mood --- code/modules/mob/living/living.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index df111f1f2b..e4aee188e0 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -492,6 +492,11 @@ ExtinguishMob() fire_stacks = 0 update_canmove() + GET_COMPONENT(mood, /datum/component/mood) + if (mood) + QDEL_LIST(mood.mood_events) + mood.sanity = SANITY_GREAT + mood.update_mood() //proc called by revive(), to check if we can actually ressuscitate the mob (we don't want to revive him and have him instantly die again) From 6cee0ebac9084940a4a7a4d1b8067d8d6332c388 Mon Sep 17 00:00:00 2001 From: Dax Dupont Date: Sun, 13 May 2018 23:51:53 +0200 Subject: [PATCH 199/415] Adds swapping disks to the plantmanipulator (#37765) --- code/modules/hydroponics/gene_modder.dm | 46 ++++++++++++++----------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/code/modules/hydroponics/gene_modder.dm b/code/modules/hydroponics/gene_modder.dm index dd1d1777d8..f0c7bba885 100644 --- a/code/modules/hydroponics/gene_modder.dm +++ b/code/modules/hydroponics/gene_modder.dm @@ -85,14 +85,15 @@ interact(user) return else if(istype(I, /obj/item/disk/plantgene)) - if(disk) - to_chat(user, "A data disk is already loaded into the machine!") - else - if(!user.transferItemToLoc(I, src)) - return - disk = I - to_chat(user, "You add [I] to the machine.") - interact(user) + if (operation) + to_chat(user, "Please complete current operation.") + return + eject_disk() + if(!user.transferItemToLoc(I, src)) + return + disk = I + to_chat(user, "You add [I] to the machine.") + interact(user) else ..() @@ -266,18 +267,13 @@ to_chat(usr, "You add [I] to the machine.") update_icon() else if(href_list["eject_disk"] && !operation) - if (disk) - disk.forceMove(drop_location()) - disk.verb_pickup() - disk = null - update_genes() - else - var/obj/item/I = usr.get_active_held_item() - if(istype(I, /obj/item/disk/plantgene)) - if(!usr.transferItemToLoc(I, src)) - return - disk = I - to_chat(usr, "You add [I] to the machine.") + var/obj/item/I = usr.get_active_held_item() + eject_disk() + if(istype(I, /obj/item/disk/plantgene)) + if(!usr.transferItemToLoc(I, src)) + return + disk = I + to_chat(usr, "You add [I] to the machine.") else if(href_list["op"] == "insert" && disk && disk.gene && seed) if(!operation) // Wait for confirmation operation = "insert" @@ -365,6 +361,16 @@ update_genes() update_icon() +/obj/machinery/plantgenes/proc/eject_disk() + if (disk && !operation) + if(Adjacent(usr) && !issilicon(usr)) + if (!usr.put_in_hands(disk)) + disk.forceMove(drop_location()) + else + disk.forceMove(drop_location()) + disk = null + update_genes() + /obj/machinery/plantgenes/proc/update_genes() core_genes = list() reagent_genes = list() From 0f9f43067df0452278dc3c21162bc55c878ebf12 Mon Sep 17 00:00:00 2001 From: oranges Date: Mon, 14 May 2018 09:59:31 +1200 Subject: [PATCH 201/415] Log dchat to the individual say log for a mob (#37789) --- code/modules/mob/say.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm index 9ad832debe..2718392b69 100644 --- a/code/modules/mob/say.dm +++ b/code/modules/mob/say.dm @@ -70,7 +70,7 @@ message = src.say_quote(message, get_spans()) var/rendered = "DEAD: [name][alt_name] [message]" - + log_message("DEAD: [message]", INDIVIDUAL_SAY_LOG) deadchat_broadcast(rendered, follow_target = src, speaker_key = K) /mob/proc/check_emote(message) From bcd2b0a3b08df01e3eb8f1c70fa689509252e550 Mon Sep 17 00:00:00 2001 From: Barhandar Date: Mon, 14 May 2018 02:55:31 +0300 Subject: [PATCH 203/415] Replaces adding goliath plates to clothing and APLUs with a customizable tracking component (#37525) add: Amount of goliath plates is now shown in examine for explorer suits and mining hardsuits. I was peeved by being unable to tell whether the armour is upgraded or not except by trying to stick more plates on it. I think a more correct way would be to add a plate amount var to these items similarly to APLU plating and then have description mention their amount and, for added transparency, that it's possible to improve it if there's 0 plates. Please point the errors/wrongs in it, since "current armour value minus constant divided by value each plate adds" is rather clunky code. --- code/datums/components/armor_plate.dm | 78 +++++++++++++++++++ code/game/mecha/working/ripley.dm | 11 ++- code/modules/clothing/spacesuits/hardsuit.dm | 11 ++- .../modules/mining/equipment/explorer_gear.dm | 8 ++ code/modules/mining/equipment/goliath_hide.dm | 36 +-------- tgstation.dme | 1 + 6 files changed, 105 insertions(+), 40 deletions(-) create mode 100644 code/datums/components/armor_plate.dm diff --git a/code/datums/components/armor_plate.dm b/code/datums/components/armor_plate.dm new file mode 100644 index 0000000000..0b94c389ce --- /dev/null +++ b/code/datums/components/armor_plate.dm @@ -0,0 +1,78 @@ +/datum/component/armor_plate + var/amount = 0 + var/maxamount = 3 + var/upgrade_item = /obj/item/stack/sheet/animalhide/goliath_hide + var/datum/armor/added_armor = list("melee" = 10) + var/upgrade_name + +/datum/component/armor_plate/Initialize(_maxamount,obj/item/_upgrade_item,datum/armor/_added_armor) + if(!isobj(parent)) + return COMPONENT_INCOMPATIBLE + + RegisterSignal(COMSIG_PARENT_EXAMINE, .proc/examine) + RegisterSignal(COMSIG_PARENT_ATTACKBY, .proc/applyplate) + RegisterSignal(COMSIG_PARENT_PREQDELETED, .proc/dropplates) + + if(_maxamount) + maxamount = _maxamount + if(_upgrade_item) + upgrade_item = _upgrade_item + if(_added_armor) + if(islist(_added_armor)) + added_armor = getArmor(arglist(_added_armor)) + else if (istype(_added_armor, /datum/armor)) + added_armor = _added_armor + else + stack_trace("Invalid type [_added_armor.type] passed as _armor_item argument to armorplate component") + else + added_armor = getArmor(arglist(added_armor)) + var/obj/item/typecast = upgrade_item + upgrade_name = initial(typecast.name) + +/datum/component/armor_plate/proc/examine(mob/user) + //upgrade_item could also be typecast here instead + if(ismecha(parent)) + if(amount) + if(amount < maxamount) + to_chat(user, "Its armor is enhanced with [amount] [upgrade_name].") + else + to_chat(user, "It's wearing a fearsome carapace entirely composed of [upgrade_name] - its pilot must be an experienced monster hunter.") + else + to_chat(user, "It has attachment points for strapping monster hide on for added protection.") + else + if(amount) + to_chat(user, "It has been strengthened with [amount]/[maxamount] [upgrade_name].") + else + to_chat(user, "It can be strengthened with up to [maxamount] [upgrade_name].") + +/datum/component/armor_plate/proc/applyplate(obj/item/I, mob/user, params) + if(!istype(I,upgrade_item)) + return + if(amount >= maxamount) + to_chat(user, "You can't improve [parent] any further!") + return + + if(istype(I,/obj/item/stack)) + I.use(1) + else + if(length(I.contents)) + to_chat(user, "[I] cannot be used for armoring while there's something inside!") + return + qdel(I) + + var/obj/O = parent + amount++ + O.armor = O.armor.attachArmor(added_armor) + + if(ismecha(O)) + var/obj/mecha/R = O + R.update_icon() + to_chat(user, "You strengthen [R], improving its resistance against melee, bullet and laser damage.") + else + to_chat(user, "You strengthen [O], improving its resistance against melee attacks.") + + +/datum/component/armor_plate/proc/dropplates(force) + if(ismecha(parent)) //items didn't drop the plates before and it causes erroneous behavior for the time being with collapsible helmets + for(var/i in 1 to amount) + new upgrade_item(get_turf(parent)) \ No newline at end of file diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm index 429d954451..21ecc26905 100644 --- a/code/game/mecha/working/ripley.dm +++ b/code/game/mecha/working/ripley.dm @@ -31,8 +31,6 @@ ore.forceMove(ore_box) /obj/mecha/working/ripley/Destroy() - for(var/i=1, i <= hides, i++) - new /obj/item/stack/sheet/animalhide/goliath_hide(loc) //If a goliath-plated ripley gets killed, all the plates drop for(var/atom/movable/A in cargo) A.forceMove(drop_location()) step_rand(A) @@ -49,13 +47,18 @@ /obj/mecha/working/ripley/update_icon() ..() - if (hides) + GET_COMPONENT(C,/datum/component/armor_plate) + if (C.amount) cut_overlays() - if(hides < 3) + if(C.amount < 3) add_overlay(occupant ? "ripley-g" : "ripley-g-open") else add_overlay(occupant ? "ripley-g-full" : "ripley-g-full-open") +/obj/mecha/working/ripley/Initialize() + . = ..() + AddComponent(/datum/component/armor_plate,3,/obj/item/stack/sheet/animalhide/goliath_hide,list("melee" = 10, "bullet" = 5, "laser" = 5)) + /obj/mecha/working/ripley/firefighter desc = "Autonomous Power Loader Unit. This model is refitted with additional thermal protection." diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 68d7073612..f5b4a31290 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -126,7 +126,7 @@ if(user.transferItemToLoc(I, src)) jetpack = I to_chat(user, "You successfully install the jetpack into [src].") - + return else if(istype(I, /obj/item/screwdriver)) if(!jetpack) to_chat(user, "[src] has no jetpack installed.") @@ -139,6 +139,8 @@ jetpack.forceMove(drop_location()) jetpack = null to_chat(user, "You successfully remove the jetpack from [src].") + return + return ..() /obj/item/clothing/suit/space/hardsuit/equipped(mob/user, slot) @@ -237,6 +239,9 @@ brightness_on = 7 allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator) +/obj/item/clothing/head/helmet/space/hardsuit/mining/Initialize() + . = ..() + AddComponent(/datum/component/armor_plate) /obj/item/clothing/suit/space/hardsuit/mining icon_state = "hardsuit-mining" @@ -250,6 +255,10 @@ helmettype = /obj/item/clothing/head/helmet/space/hardsuit/mining heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS +/obj/item/clothing/suit/space/hardsuit/mining/Initialize() + . = ..() + AddComponent(/datum/component/armor_plate) + //Syndicate hardsuit /obj/item/clothing/head/helmet/space/hardsuit/syndi name = "blood-red hardsuit helmet" diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm index 0bfb0b5f6d..36eb9d5e1b 100644 --- a/code/modules/mining/equipment/explorer_gear.dm +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -25,6 +25,14 @@ armor = list("melee" = 30, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 50, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 50) resistance_flags = FIRE_PROOF +/obj/item/clothing/suit/hooded/explorer/Initialize() + . = ..() + AddComponent(/datum/component/armor_plate) + +/obj/item/clothing/head/hooded/explorer/Initialize() + . = ..() + AddComponent(/datum/component/armor_plate) + /obj/item/clothing/mask/gas/explorer name = "explorer gas mask" desc = "A military-grade gas mask that can be connected to an air supply." diff --git a/code/modules/mining/equipment/goliath_hide.dm b/code/modules/mining/equipment/goliath_hide.dm index b266b92584..85feaecf73 100644 --- a/code/modules/mining/equipment/goliath_hide.dm +++ b/code/modules/mining/equipment/goliath_hide.dm @@ -9,38 +9,4 @@ novariants = FALSE flags_1 = NOBLUDGEON_1 w_class = WEIGHT_CLASS_NORMAL - layer = MOB_LAYER - var/static/list/goliath_platable_armor_typecache = typecacheof(list( - /obj/item/clothing/head/helmet/space/hardsuit/mining, - /obj/item/clothing/suit/space/hardsuit/mining, - /obj/item/clothing/head/hooded/explorer, - /obj/item/clothing/suit/hooded/explorer)) - -/obj/item/stack/sheet/animalhide/goliath_hide/afterattack(atom/target, mob/user, proximity_flag) - if(!proximity_flag) - return - if(is_type_in_typecache(target, goliath_platable_armor_typecache)) - var/obj/item/clothing/C = target - if(C.armor.melee < 60) - C.armor = C.armor.setRating(melee = min(C.armor.melee + 10, 60)) - to_chat(user, "You strengthen [target], improving its resistance against melee attacks.") - use(1) - else - to_chat(user, "You can't improve [C] any further!") - else if(istype(target, /obj/mecha/working/ripley)) - var/obj/mecha/working/ripley/D = target - if(D.hides < 3) - D.hides++ - D.armor = D.armor.setRating(\ - melee = min(D.armor.melee + 10, 70),\ - bullet = min(D.armor.bullet + 5, 50),\ - laser = min(D.armor.laser + 5, 50)) - to_chat(user, "You strengthen [target], improving its resistance against melee attacks.") - D.update_icon() - if(D.hides == 3) - D.desc = "Autonomous Power Loader Unit. It's wearing a fearsome carapace entirely composed of goliath hide plates - its pilot must be an experienced monster hunter." - else - D.desc = "Autonomous Power Loader Unit. Its armour is enhanced with some goliath hide plates." - use(1) - else - to_chat(user, "You can't improve [D] any further!") + layer = MOB_LAYER \ No newline at end of file diff --git a/tgstation.dme b/tgstation.dme index 68ac88f3e6..d768813899 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -316,6 +316,7 @@ #include "code\datums\components\_component.dm" #include "code\datums\components\anti_magic.dm" #include "code\datums\components\archaeology.dm" +#include "code\datums\components\armor_plate.dm" #include "code\datums\components\beauty.dm" #include "code\datums\components\butchering.dm" #include "code\datums\components\caltrop.dm" From c462c16cc7acb7a6a51f688539698b9bb76076ed Mon Sep 17 00:00:00 2001 From: JStheguy Date: Sun, 13 May 2018 19:45:59 -0500 Subject: [PATCH 205/415] Marginally to Mildly Improves Vending Machine, Burger, and Donut sprites. (#37794) * the rainbow of mediocrity rides again * whoops that wasn't supposed to be there * updated vending machine, burger, and donut sprites they've all been improved marginally * edits roborger a bit more "bun" is flatter, has an antenna that blinks in agony --- .../food_and_drinks/food/customizables.dm | 2 +- icons/obj/food/burgerbread.dmi | Bin 19751 -> 23065 bytes icons/obj/food/food.dmi | Bin 59963 -> 60270 bytes icons/obj/vending.dmi | Bin 57675 -> 76276 bytes 4 files changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/food_and_drinks/food/customizables.dm b/code/modules/food_and_drinks/food/customizables.dm index 353bfc6538..3df4ca4bd0 100644 --- a/code/modules/food_and_drinks/food/customizables.dm +++ b/code/modules/food_and_drinks/food/customizables.dm @@ -158,7 +158,7 @@ desc = "A timeless classic." ingredients_placement = INGREDIENTS_STACKPLUSTOP icon = 'icons/obj/food/burgerbread.dmi' - icon_state = "bun" + icon_state = "custburg" foodtype = GRAIN diff --git a/icons/obj/food/burgerbread.dmi b/icons/obj/food/burgerbread.dmi index 64fac1c3eb7d855608ce0ae929509af80e8664e8..c40dfaaa22f915d7b94a86fdfcaf99bc23841382 100644 GIT binary patch literal 23065 zcmb5W1yo#Hv@KW!ClCSwLU4CU2n3fPL4&&ocL?qh9D=(;a1Rba3fEx4JxJkNXkqma z_rCYL`;FKAeviQ!=hU&9utPNySOf5^yX?WHTNGmWZdBM-^vRk8>BvQx0$G5Z+tWzgrwb3$sfN;!pD) z@r_SV<$qo~$%Q`S`KROx(^2xn_OsemLFBb_xthGl5^=42{R1PlMB(dS&3^3UZC?zH zCx~{{_XjCR|8)AIDD-ryTh_Zrz1WqS?vHxaKJwkEXRSp4+G3weTZHa(ONd#uqAp zHmMXwh!IKK5N@1#tW@pg-bprJjQA68sppf;RqH)*US73tHWX111fl>*i+@yg&pgcX z@>YR7+^p?IiDu9hvf66P1X?g&Q#Cykjcg7dwk7^%d?#;`kk{F{*Ks3}#gkb57($HM zJ3=Cs_2TE<*mElRE~*Fw3_ON!$bi6&~$60TOGd?9nm&-tuDgysE@4&RXWi7zpUP{Rz*S37B$=hpQ8PZkEw4!IN+(5xCZGt9hR@S&CA9K{DIbP zj~n30nx3%p<{d-C>)GY5wlDguW|GI-|DYo2HsEYBn$D#>H8AttkLxR*NZ+F~Nc6b< z6$ofX<~Bmec-G&mwJwm@ON4}wvUA$jD`hj*{M*hi!xg59hl}MM>NUc8NlE;t&ah&Z zZ#I#7QLI>zdCS@%@Lu=g2zIPUrL_dxn)jx0{6F0MV0wHQv+)Q%3Z|P&hFu)iZ=RZE zh-O6Qnhl`qVorP!%;m=EbyQmJfG2`8T3+3;c-SCG<{|#feLKzEt{GDi#~+HQ%GB2Q z5mZm(pP=5U$UOH;qRvL(&Tvl0HnOEp zY8?Ki(_fv|1f&Sz1?=49*6zH+C52fhfqALj$JYgU;{r2~HDkAA@CxSO6dV+Nch;TG z@BU?!^a2xuj?>fscJ~e5cc`|TshIU_MV!9RrP|Z>BR@YwFmbNx(+6j+_aX{##DO3^ zib{8y1p}*B!TZn#6P?5T zom`WkXvkROd>Z^`@@7KR{meC6Q?Ibl!h9)|Jjce_@{WzGOCar;SiU#j8PcvNe>++3 z!4VCWn}(ExP=t+kx03h@Ev3W<85Q>#>`VF2YsW7qZ{?_iHxKw}{DFC_m1F5Fdq3b* z_41W#Krs1it1g0ZH`{6cJD(L?a*92AQf9wD3i~SrcfEqwjwYv=o@(GuplSO%4n_kA z4ZmetG?1@*Qc2`|)00vsM(o1DRBXjPYkuqQb0a75{(QzFZtDy=MH`kf{#8v&wDo4A zM0foJU>8?4u;>)%yXXN!V@Ez7eFMs=KjxgKbp1Y6Xukt$% zv7RAN(Sr+RO4_0H4+YtSL-sASc50@`ph@b1Shp+8_A-N9tK#VHvrD|_l#z0QYd>wV z_22Y79PTLkV87M92fdFlYLAQHI5s~xDeU}fDKZdN>-MdiD{S? z9Rh)z4bkT`b9K<){XK5f34hPq6EZU5M#{e7sbLMFM;#jU{$ zX*z##81_R+&WnoJe`VKQI6s~|YHx(ySGzmLSBG(6Z6QHp^pCsP?ybz*7}YG8#;RW0o$y}IZ^WEtqCGf zkzk(XIXTam3GJ8(?k^SO1-5S}u zIM*AH4{ERDS+CM9(GLa|HX7m4VdTiPZ>5oY)?rj9^Iv3SWO*Dn&@!&t_8NUOog2{} z{A_mN#y#myjeREuaWPyBp@);U-!#8q9p36&R&lJi+kqKDTw zA5U9erMLSU4FuRlVOPqQv~J})-1?m)k|^A(z7W&k;>A2lje7Bz({3mHN)vX!CPaM_ znGf=PH{mj^pknio^OkO7eB7;PO#I=O8R^>-x zQIWv%B{J6hR&)%fWNU~k)yM!?IjmVqhsI^ke!B=i3I?WDw1$fIQ9Pcb9D2nHj<_Oqy8C(WZ zD1e)&I_@^z_KPltdDJM@@E&@j5p9GS*BHV4;stp6jLj={ZdPtg=WpJ;p`oGqX*osL z^!O?acqnX5@J#PG=xTbRQ)b=v1F@2l5^GhyHzBZ}xA~CFrnledTJ}#XR$i~sBJjSz zs=)ldfs|f9}^{_icR!-J0n9T2te{ zygj|=Y+_;p8hu{jO<`8|CQCka$YkHj0_O>VYEkbL4hmBerr>xzFUGoLC7-`LTE>lEe~D!OG`^r<>+v6aVPeiNBb?u2M0xpr{ZE`{fA7bxVVzS z!qEPG<=M^Za{?9%r{K&e9gS;@YP!>SEYRA!8dVcL3X6RnHouhTgJOtx(cy)3O)q0n zhsvcA2wM!hoJg4+BP)bFFBoWPX{YDrsHJhmLNL45)(m_uj+RmY(%|6Wkox?&&#vjc z_pYMQ&1uh!O0oRWzRLV!!$V85?pXw%1Zyzmve}^m2Y^c;6{|vwq1A2mefp( z_o}$4h{N;3qWHzTx&=8atFmAEZvQ!iP0YEOQq8TBG^=;4CJOP~$2^=r^W8zBSF+QW zF*G~FeJ_rrtnu*iKre}jN8)K^H9NdpZa?xEH7&g(#GF5JH8M7Sr^8aA*V;G|N+sb9 zU~$rM!*+>K7(8F{oZI05_UQP*q{azY_iI^QFL7!OHfGNsN}qGb5*QuGX=R)Z_eaGq z7=7sp!LnNa$Yvuhj)a4Q1H2bNUIq8nq*a5>{Lg@j3YLFC4!k)s6M6E!JzRa`#c9L~ z^-UC)K@oLKjC^yc>*5!G6kpp>P`@WW-vzzUuW%Sa4^Pw5vS`rO_kiFRLr?+(YHK+z zTl$QY=2+R;PpmZmeXFu}%6O13@J3EH4v?`F?JY}7=u&H^s9tlx1eqW&u~T$re70Re zOn0s6NI~JjftsgTxRBS zp$`sVZ#dw)4Yz$|ObKy}2=`pCYV;?=GHF_R^Uer~l9F;C8Xu24mc@@+zl=UR!~XHf zM(>Zq*GkLR1;4&4qh`(8ZZ{nv_-xJn$#L%Wza!_hX`s=x>3}?d-L*pA_8(^J*Mlxa z@lscK`DK#{J{r;-{r^3N`5%bozlnPO;|U$4#GmesI+9{X43#S=f2}Bo*@sVtZswd| zD^$5%GwmxiY4TIf1^wkw3}6N@eM|Pp$)BGBpTEvEPi0B`(-&fD-_T>!0wn!k&ZSe( z&lw*|$D3>x{!{|3d_o7_AAaJ9QV$T6G`bB(8X>1e?9{=q_4C(kiN7|*UjBPa~^a#<66$iPY%>IGPAC7UYZiCp}Q`|UMEWKNTxF*9Tt{>v#%zG%P| z_KmgXvn9L zD*iOD!5$k;jJf{}E2NH^6<-2Y3J?Uqb%q>ifVt9AQFTMI{%!j9_mg(Ru5VYfT0R%M zN-{DsCDqlE@iZZrZ@z)S;M?7$CUy@G4}h#<)6*kX?96W_^1M&iL(7Zhvu<_GF`gKi z>M@G^DHe-BS5Z-UBj{PL5}FA3Q(RnXde!{@3D8=Ve*^{wC@d<Yx(pH|FISO>>FD%k^e8Fvf%xP1;EmqOc6#+nHlVVErj^JZz$4MGxg^b+l5+*sl}+cpA?} z?ur|`*FaeRvN@uevHkyGF?P1neH&m7(2R23tB!0hc1T&yIps^|Bw&@jeppXbRbw#- zXx(8K{`H0V2UYezv45<6;G4IW4D_xfiUzN!aCH@Quj#2)uR~Roeb)A*lAu1aR%2~m zVlulxxExQFEz(W^4?k1&Nhs=I!-`!0X93k>r=e-KYp%NUCxLA0ITD`4_hhdY+I@^0 z2mCO!X={X2!K5hlYKf({)w~|r2q6^PSm#zX;dC!`BXyhJD5}6fs`%#Xd&Dc45@Gb^o>FPll5IJ>l4G2vE9 z)+2>Qhg4pVQ0mca@V%6Zjtb<8P=>B{Kh*ORW(3tmhcwcD1E6A<_vSL_YdT3barzbg z6XPevaI%CrTEBUGwP^|i0nIA-@^0S?SSyNH9C!55kX8b9kfxmrdXL42d>6Y{M%fjv zx&&Y}6&S~ojS?M`2~&g`+kD0Ix zTtRP;u;HZ}+igbub(F!XgU?%-j#J5EX<*(@p%uDFivfgU7j@)oYIAwU$0=L6>+vt8 zN(yaDSDk6Z58{JhHdtQ$mrn{Vz8-;ccyaY=z7hhT*G|~b88=|1T_Wu4?E3+H(m%>N z^nEH@C4lfa-3;Ofs2Y6uQ;>YaC)&h21AG<~ETV#rt1l>#HlU zRIqRtu{W(j*An-KJ7?VLrqSywD2rXs)g!CN$1gJnH}b7F1omn<{=q&JJ&6d4Az6567F z;{p>HivYQ}cw06$f&CHG{Ow%>@}G!i5?A|~bN|(0Qp>lT^4KDtMQT1TPSe3jw(5dY z1e#j!R3)`{L+$Qx^q3D<7ZFGD)z>FsXWq2vDR~vW5JQ!-f9q*QbL}?H z1l4MDuSq}zx)&au9F>!jBI)fdFjcHzUlTq{WQ$?3P-`krtSmltQKI1%C5h!Ad4^Ip z^;qzsJ@FM*h7bstS!dW$F4p%2JiPgXauZKR4+v93jq|)UoBm9skUFYeNUsjlUL-L+HVF<||3>KD< zkl5#o2m%qX>n~HHH!$WlYqoG?$k93Tkpgj(h|@ZQC`ZQVt}~yDT3=Z z_{2N`xzI1)>EQ2qWjvAm5!}tJj|mE*W0}g1+lkLgY8gok#>@Wt0u+hb33MIWw0*ku z;dUuO%q}%#MM#QZ%`FZS8akJ?)fF)?XR=Hqj^L zSZk!jZa0YCvh>yJXJ>W)6ll8r2tFQq01G*C;k{UnV2~f2RvyCr-6O7q7XHk^Dw_G^ zq{7=QD0n?sSK5b*s37CW z%8yyqWo19gWbACWAP`=zJ~_ICMd2+BU_uPlni93H$Xi)4(Itcf_71>fR<~f;{{1^9 zaEOkM4se~aib{A`n1cuXq9`wpLY(4gnwuI9qlyT=0&uioF~8gR>ddt|VT)xK9SdOG z3c|7{?o|*9zZEc-FJ0V{iAczhXq{`JM|ewz`rbBxC82IFGs;ruo77qT zEWeV0Zy*-M(D79KLPPm^nE+J15qIAXj{E(l0)%gM-qt>f#?&(EvmU zipnZt5@N2ZN*bu01=3!8dcKk&*yQrs+Ue=4;*yfaA2PCT{S!Tc>+3mz^T*n6mUO-x zFSi`d*91;atBM@&e66P(6kG?~O29b%@7t4Bs)D*}$4nuUD;%V4 zJ0K0G+H3{(>BZ!Lxk6tX1SQI~Xf;ijgfg|jBm}&pmbsBcl9o|TI&@;i43CI#4TDF^CTuh$!PnrSqZcPBb~{O-^FbmDqJs0d7w zlq2aR!M$I|JtdodS*9o!ynAA3+poMQ+b)q;J06V95OwL-4_ZXAq-%Z=a5rO^TY`iG1e7=WYe z@$yg-vjz}WsJAY;!2~F1U&(y_YTO+v;_D0B0u2)T&Va=OP#8U*Fop0)R&d)+cmgq&t{4^tL*3ZEY=6W&M zrz4k)wL!Xgf7$1XPhsDN?7~+LubaLiE381h^q2NotABC@786`-|L*UHwr*ZuLnX;A z6U|bo^*aY%Jg^7P%*a=tEd1z7%{*#cTk8x!#%#2w~yj z>%&RRczAft^$)Jds?$I7=I1q&S+u&LkP$T;-v1KwJ9FJ3G%wlFjv-CS5xG`RZ3wUQ zCu@x=^s4yYl*dEJM^|Q!_Yn7#Y?JDKW))gVq##ddat=WHw+x&5*UV8Xek0=44o zjD3nSlL9g+i4p>~3@^odFKnTA%Rt^t`BBgV*n!r)gh3H>5yb@ z5e*#>ZMj2-=(V2Yl3)C(B-%ZI&@1O9+GFPoq#N$|)G?Fz4H52hW?yR1`t5J>EKN2FO3`xS8MoMiP|%>X^X1Mk8z2H=%rAJauz#iB+Ig zx>&l|fHZG5osjmoBl=XrJkovmqEO%*k(63KYU?J}=F|6BVy!jX)xNV$$5!`&oe%QA z^6p0rWF~pYWY%1pSWJc$lvDvFo6#lOE>(!Ae zy;fCp$o8;Xb}FYO?%nlBnuVw5uk_3BM37(iivl=bft5a9yC5 zqhK9{5Nk%ELC3K7L!rAGy+e{XMs#IEV+ML}%E3 z@NApyTeHOG_*{I}lbMxg9M+ z>IDP@GQWL$=7LdM!G{Z8d7qcUszcY;*B_sjB%y1=VsN}vjA60aAGPn9!EIkuP!M$Q z&5w+{14Qw(%*-Q&2>U=93J3FHwET&{eJ3Yx=m<;SL1Hsf2I7ndq~Igec5rA$KX-^K z^y&?aK{i6zDrbTnWpRjcZ|~~Hk~yB{z^0|Nf$x2BO;1Yz>ID>AL91%e;aa_2hYeZj zR28NZ0dHx@w$(AE{7j6+=eJ87#YF8-|G1{rgkEBK-!zW&W$;YhppNhW04W0L`zPup z?!nJ*2gdzYq2@qt=WDCCb_Cet+zdpgko{Z3V8{<8M(Ea}c*AWsI_xPF0fap2Pv0qM zXvFpOm6f|&oOb+^`SVs7^B5!5&u=17KVtU(XDtB!sJ@rSgJ*}gu}hPFWI?8G@%>Bu zL~^obxONHs>)*-B9F_Yp;bGoS(pZw+jatMRI#%SdVDIF5eq^L^6pxs?ONNHsR5x0K2=-t2Y0`q6aFr3dj+1vEU2PUTuZ z0Wvt#M%2-86YcZqI5~#-td&_`W!Z!4SMg@+L-s^8u49usp0cuX!JQxU)vbhN0x)cM z@Y~lw{Q>vyBMOqVhs9^;TT=)E9`DLTCP;OgxC<4erQ;IicZt=6CgxEuwh~I_QW!t8 zLwNsA!zxIkoZMc?Q8;kVUH%kk@yKfXyTiA!7VL=XJR_gwIl1?(*hPLr>$E-^5B>?} zUBenmX2*vuO|dIqrGo&-%a(RqMJd!!4=JKXA$yfO|B5_Eswe^p*q*C@0~j!eLEIG+vV$?+Q~yhI{pM4_WpY)iU#PD?wFJ4tp9zT#s5R2 zWQ&Pd597g>pxE{O{s%6@cyf)DdoxJ3f%1ax{I?~UA6$v;{#|efSk?$4=(k>|;MWr@ zT=etn33~DhW6VIIz?zDACy!enmku|-Gg&MZnQ4JcY^VefC4iO`hTV!<--y#7vFzII z>)+NmA1Y&=_rFMfZBqP=jl>4ohJCM42F+xFN2Y|9(iFZ`XbrvItMw-d9mM+2s*NZy zC#fDIRU8*L(~Cq<6+VL3ZM6HhV_Ne8Ps_5VK54$s#SuZ#c)kJaw&X(9TyJNVo^^gD zUcUCm%@N4z_8F%?gFa-06Z52Y2G3;&>Egyx~$VXHpzx>p}n4 z-!}-l&!6d^Pl(|*Eq7n+P0gG&y~4$HKWdnpZ*ijch6|40Kb+V_+Io4_aN7BM=hp=; zsP|({IK5qx$t{ds&%afiQyG8k(Yok()+2dIN!uPVdZAdvjZ89WW`4lV0g|4Zt#~g6$PA2_04(3$;nA^?&VD3 zli=53ey1Oc;M?4+A13)km$?;Wd>+_dk)gQ=Udlrm8A8*jFA|Aw9X6yWfiufQ)+U3b zP?1DwF$g4~zt<5sjmkE>bTIt5%wi+#yeKUMA|Agx)3Ph%L*AORf%53af65;=m5Pl? zu+dJ3?+>EKBvsQc;wxJ2Ish7315~=l2q*_y7k;<8mt#Ogklz86s_bNR%aa;f_cu_0 z6foSM^n^cK94jubf#4X~#kcDj5N`ekW)VLt<I?;BwRU}A82u*2WALknC1yRv&d^y*xYo(*rK*|g1d(D5zl`vFrh3%3^X~2?f7H#p{_0R8_3-XL8 zRwl8mqO@{!Y#ZNNWVe8TYl;1Q}iFzLn;L7_u&F`jkt4XPV>IC z*_&OT;^Tjj`TZ#nEGYb}v6G+Ui81w@J@#}!xD1!Weo?$zMd6E`COs=_lyt%sXxy1$ zHX!otd$}>!Zp4RO;Sa=A13Z;eeurQFyuhLm8jb-bAB~@u6hH!wV&qz!7YJhHE?yMo z;-EWhbDR$~n>imBawTD7+5?m)ebIxXt^-y|!;$^89K(e4HrHS5uM)acLG`kf{m2vDWB z?@LDOfXGkiX49A?XPFm)AW_Uak-V`4GmJ#cW8LG~U9X}(gIfpcr|3NRe2*cSc)FHd zG9y$;95D*0`Rdr7YgMRoulh@qX;*Sn)jQm-8a$r%N-ivsf2)R^zH&I{C;t||QhKRk z(`5c&Mwo1i90MOhoWtK`VOotV^Sit$t3G73W4GspYAL2LRgLwjIVrtSe3_#pk?|1B zlK5_@cFOyVZpS%^X;n@cf+R@(*F}ZkCgJwpqfVv2Ft7HZc;{U&_qbn z8J~Z)9{-Xh5^#TOJP-|J^jSejC@9duV?I~d>ImDK7tHNJm25#z(l9qO#eShS7${ER za6dIX{&i5rR=hmm<9T*yMaW}Jut3nNJ()z8mJb3*h74Ab{YDFV$2anXbfs3^r}Oh> zsqE}W=AyXH?^r!gHD*8!7*Lw`l;!0zYwTl-q;Dn%;ymb71s*UoXCU0 zlMASSDJUG$%K1a1B3{sTrFdZ#t?&WYe1G|;fQ$k5Uz(gwp?CYWMXCml$=IFY)WK0p zmhP3e%9NyifHg~(-T>1u%~E(QI3$AHRT6nS755Th5MS7f{1sJ~>v0aL)r$rK>+we$ zHG#Y@o?QC#r1(g)1RsQMdtYkm3?@ywq#DaKD?$`3Qair-@%?0P=k&dZ2&0$>ziyaO z+sC8eDKXDDv1Lk&mXf4&fnZ7xnIwkh#GnY1FHrC0=sS95!Y^>Iul~H8l_frZWf%%=7JGyU3 zsja^l2ph)-G~cO`QK5FiEwRAqLa6@5ccSxMfmso2iFZFf;h6Jv|5JFTz6pfleXm|7udZLhuA~4m@I##>s+R!5TF9 zZr5`L5i70g6I(v3BW3{THFgiF4}*N=57)mA&=~Wxl~S8eO*PmuuP_aD{e&M~I1^xj zD5Aayg=&tWP8KoQiHq#G<=7}X2up`9qe0W0#QPTD@haMDDYxr`g+n|LZBMwx%P1fv z|1tZ+?@)vU6#T)_Asze8y7o$P59{}cp4TgGTs!03kAHnh>CDOVC1dDHDZvUdGDc4d zPBmhtuwS;@n$H~T(HW~Rf&iaDCIJ8Lsl##o^whPkV9d>sO0|H&ha3jOxn@E$lYrUk zwuh)+ot-&?KhB1eGd%g-j%fz!GXV8;zRnysEe+dH?!`6~0#DA6mc|AdYBkCGfb$1` zbvJ8aKYM$Gj-|%$GOr#udPRsWQQdFmg}G#<KeRICJXdp6kuALm@G%PG_>|x3l6c>IMCOc; z_mcP1s7Uv5No4Afe)xS7>Jc3;a+iy-A;CK}dRN`93$jVr z{%jP9(C+iZy9>&FZ#2L@yvH&P#~%+}M-Jzgfdw+vx3zZ%MvoSa7TPKD?ZIo3nMzcT zUiJ?T$#h+s;c^^;PqNNJnYZeC5b^X*G+tIK1NeG&Nj0zWQ>$dxs?W9F=-w0*_1rVg z+nJG?8nIn}97y6!9$W&MZJu`D+Y8I4A;~wdWe+sQ-1D<}Bk5w*Xw5~d&8^eokmDLO z+@0NdnvVI$hbQ%jUt0rS3(-K)l+#I}MUe%q8On$3i`V%0!9dPicofKyyX~L66F5Tx zZT7e9Nd0{(Gn7_PaEqTfuJi;_H^y==%&yf158g-Zp9*Z62}*f-dKR;dD&E?VDA5$0 zGZ!wGqXt}ROwR!xMK7WEQsQ^xx^h7+E{K)deWMXV+x;q|OV*8rpJ##R6!nZww1zv` zc?-3C%#UhBhFd=WdI1kFdmp>)MoOil<3K8m%OJ6K;mzB-uZ25|cIa4}%B#Gq!;c|r z<7CCzs9QH3vyG)_!)iE5i_Ckkb~kDA43?*KMm^VK@xU1S$ANo%914xe4xgKdZj*|8*HdtpRuQ8>q(2*k#biu~F?I*cDPVSKYsIoGe7)kUY@_87~_-pW5=x2GRr`BRNO$-nmKyGCQ^3sti(@avZD4 zDm$tRArYB;Q*fsSCSRQzvKw;VO&$j&{hjX;DM8 zrhj50-jMmMF-a?ptTyk$TlEtK_|nGB<3tlCVS)&(kW4Xi$JsI@-%xu$Ry{e8B?YLX zarH|Xb|s<3ODFstM8l4<5-;Yin>58)FR2hwt%^&gQE0bWw><2c;YZp*^jJX`(G`fQ zqNLPiALVk-IFJFbubR+`$Gf89fj%qN4ma?f$4SDGmAB+sbNQRupRDMHyV-(-@OyI? zk1^wzI3X9NiH1n!$XU4Nz7Mh|_Io2BC=q^(n02OJ>|(=fUds1g>Zn2}BWX&G!&aK! zrVrlI=2yyWE+qqLx0S+sMWvJ>U5P_}G%h(%x$m`DepA)ISSPHrLgv5uYq*{<`ZM_I z>SNrunzvCK)Lzs1ay3N6uoQ@mr))pM_VTKZUPpVuYjd{bh9$TdU^q^eExqUIZMjsZ{Pj`VE{f}!;RLLqIh!hHd1J)e zZCLJm9*lCKh~%*<-it0u;=I#|bWuU_o&O!PuenjfT=7;|`PrHu+-Jz}t)h<32;|y8 z`F&_yyN}0tImRC>n_`-pgg)#=j-G4g{x6q5mXspk`^)# zc|kzhM@b2%p`n3oq?qyKQ6qj@yOC>O7vE(a<&S65FB&prN{WELL_JF4$GPPjUxOpD zM^hrk^k^#lXe4&nIJ*13>jFYW^CusCDhJ&AwSi+4;R{|5ym|HCgz zCX4*(XniTM8cAbOmR?Bx%3?0)y|;yOo<$^Twtkk8Yol6N)vp*^TGeM^cXJn-cm4Z| z^!u?HJKTvnJMkDSD7%;i|54BOUivmsvd|?>`cHPRLSg-6WPxCKj?B2v0uOvSMOt}r zS3-W=Z3pbWk_fn@&Ft*IpqW_f@qNag3e%4ma5f z@P*z&9aW$oi^Cb|TknDcun8lfAyMGwxw=k{jRN(w&1Y6HAF+{ z%P#h>C^L6L{lIQO-!Gi1hmr?=tWB{q8KAf&tO{6Z}B5zQz0^hL)$N&j&cqCahZzh#+}#bKZ? ziPr-y**Qjk{Jz*P7w%+L@{Suxf{@9Er}HkJbK}OmNgnCIw5WnX`5o5}kpE1i7yh#a zSHG4DWP+4_xSsn{klXOjxk+rlqA~J^Q*-&LJTBSla_BRb`pSgH6v-ZZSTZ=mnFNCP z)AjdP6z_Var19jFXIaIPem~@2ud0s$A53ewx)>2nhBc1i0X0Tr|?9GDRBr72lATA zN`H#@BmDT}593+BJl6zzrCxqMCrdYdw_(J{@jLYIOOKzNkqdHCvDma%+RD)yZ%YiY zH$sOuLu}o5@WQDP!^w$yLfqtQ?!h4?D*g{wYIEKmAIH44hh4ReXV!5*0yEsfAhEaj z$;xUUDo0TXzl9HaNq6rfr4M8#-29eieiM`#_lhc-`Xh|tc<<+Fu zU@MGoc=xbdU#Vj3YJdfF<7sgEh2|N^{eNR;0d?CdIs6so)>eb8F`DBe9_S~RqW@6ls-5jny| zh7-T86W1aQ_<5L;SqOYX>XjTsT)aG3xoVcrqMfXj##pS8dfJq;2mEfO2Efjt&~b0h zSDz5RTcvjYmV9r&3q?h_%ZrNTd8E6^3ZA?k8ac^)Euv@$QVHQSlaNW?N`)|-`+Fi` zZOwhOt8zhIi@J%rfX316L8ztUq4#=sS)@#Gz)Y0?gn_t5T2$3Txr)fwuA`NUQ-=2$ zYPh4{{yNd*%^_zrR|Jzibvb91cqG?X@Mfoq#n;oG1-_hAIEG!;c6ArD&Gj8rF&O&A zYwIyL#1gtiI=Z^~^z9&o5JMMI2u#ICC3E$_x#{4>65W9bs}15IA>_{&wTDV#OL#on zs<|RA3qQ7O{TwyEa&wYnu|Pw*w8r!IVNkk<@_k_37c8*>9)TG61rFmu9|PNo*RK`4 zW=ohF?C)Dr7bGETP3OQQK&u*Xq}$}L$Lfh;hN5F&c8(X*_str8dxi+|cqwHoZtP>l z*b3Vq*Rt(c)#@NVBi_qrje?NB9YdApk_!N;&&$Wx+MSCp>T=uJxcnYlm?H~t5WLMh zMC~iNXH$K92@$hqc@>0t*vXINh;TZi+tpDn4?cc6##iHvUP2rkOakAz!BvKj>iBf_ zKRpRhLgOQfJAN+((M&tmf}*nQ_PK0*OQCz~Z=

    SZN+vO}V2-v^`1F(HLx-!f$r_ z{VXaQxqlf_H~t}UDGNih7z9;VNmej#>6eM_{7D~WUVPb(?c0Mgf?tvM2ZviKtK<5Z zyO-t72u$O}JHL8vDL&^%{Tr5{;FhBSYi(aGzI=b`&qY`qEhrco6%kL-_e z5*PFRYxeL|MHv~Uv-3S^7hBrATg5VK=9cBRA#Irm(pHl7%&MCHJaeL(0~;hvrih=CT{ zU~UOK?D`D-F0ADPJl6;d5Rh7*p1TdI7xp)n<-w3NPZfztb;7(%c4Me@!*}>b9ukm~ zlg#XqQ7G2XHP3>|$3opwH~;0M3XEY2iY$NPwJxe$_q&Kozd5#-AQWR_+nxL~Bwr5v zyUKJsY<6v~UevYV8xzuzCJoLuGdzJg33Gb*DykzSwIzWk$6Bd4!5|*4A7bYlW-p&* z^kb&!%qQyyEsUgvZg|{w$bq<%(H+F&7y%<6DgO=U!Hp&fIKc%CPM5D>91E%x`M4m$+ftbs$e!y9c^{oRMXJDt`f9uy7n}fYQ zT{=Y?QEnpapWvNXN<}4!A)Agpoto^c?^6|4`m-RUgLIL2Q1GW5QTE^Q3kJWk@)3WZ zt*yH$X7w?l$_vH0BV*Lh^XPOiOUnM7hn+`8mrvqMtV27)s!S{a@}uQNocPK*-yHW5 z9S`eLJ43&Bi=NFoKAZ~|s@8oAr&#vlrFW2Rvlc?8QP>HvgPzhqn(uG*+&!$sK zu!_|*8Z5#cvD24Y9K)P{ksmNF^RVYOR#YP0D(@#kt

    -mhp%=Ox~I% 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 DA19^X literal 19751 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 literal 59963 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 Kg-SV#;Qs>fP7#{` diff --git a/icons/obj/vending.dmi b/icons/obj/vending.dmi index a1471e6418cc884f95a36d61f7114e371b4d2e9e..f66480f3aac1e9efb9af773a56a3ec96780da5e6 100644 GIT binary patch literal 76276 zcma&N1yEdFv-dkV1cC<(7C{mmLVzFx!Civ}3GVJPgCuD1;O<0l3n4HN+}+(h=pX|# z+|Bcx_nh<9cW>3DDll2ItM-y!z54&_UJ+_4vJW57JOF_}59Q^gG(aG9ao`^#E;i8O z;5cOu0%2PFYU#R5S-6?G+Bm!0I5~nq-kEi2{f_H`#M09jI=G7lmL|QPW6j6K!qE~G zyPNh{3he!vYK0OScp}DNd{K7wWRIk_R=GIP<(P+7=bEH(0Rs%>e@!O}Yx%L<`^LuI zJ=_y&KlPpH#qEnXQuF4`Z{pciT2S3Se}VrRvrqr|@^xGUdQ)wLXJhCdz6Rg3_K}A# zXI;hEHW=Y)+>+Aed$*g`o8=unso9Etb-_fm<&BwSRWAQwPU+n%22^&ZJ@^4w^AX3} z9xZ7>nc|oF!KUofogxE{{igMFZ4-Z`1*12iy^0@fUVes{W;<4sC(CiY{Yu9z&tV+6 z9-+$W_o_FhlbwFld(D>QGfTNMh3fk})}*t-#-X5>^Ph{Atg?gjvOarRtrtk1chqM@ z@G!P~r^RG%gv+vZPKZQKvsnxXedb%LG{^O$vySmR@%HMWBuY-_Q+xN;R{0{tAom^f zhlj?4)+Cp-a>;(K?EQ`G3+z1?Jea)}t7;$LQxHB7OZkM+&MB9ebnU+}?_A}OX?i*g{4IJvEkVpU91oGJ7fNo z!g#FpBM67xfYi&je%VH5U*AqT?~Ul&@rX91EFTpckFE>qc5;4gL4h)Q1qHS)?jeTP z9Nu{LDV|Sc?4)_#hz5^FwAp(*E*GAiH6f1*u&S&6%v!_MUhDIOf9SaV{nN#S2R)l? z2-jXr@YzbE$r97`?g|V(#~r0NkWfs?($Li^{|2XPymz#7)4T9GBL2WGcjW3=MSsB) ze9^!uoNTZA$8-uz{>iMZfBZyl2Gg!^rl9BZb(m5w%a#ro4DYeOBSBF0`-iwg??ju; z-cvANn2Y^n$=K>*t*%+qG3tRae_#6xsj16Xtr&ksR6%Aoz@$t}(6E7lLE|N_+rt#0 zN*nbjcZ8O$F13*-Z=sC#gHxU2b@wxq+ojZNwzkC`g^|Y?%hWE$A34>vY9WDm25 zZBrQbAR~U}=(peS!-$SxG%O2yG(r=HG>2Bq{`**b<)6W$QnQz@RZc=X?XT=!;l9U- zrhWNICTf&5Eq>F8=1}Bv40NAz8{1{Ly(Y|Y-8i8J9Jfo zh!Lppr#ujd5hO1qq2--PD&F(S8TR}Mngl@#XesHbi2+Bh)_1M1 z`SrH@1!5v~VsQ0Z)Pb49*HYEy$6qzL;54@1-*@P?;U|cr_b@$~eZKLwoH+c+?7`4c z>}=Wr|7=#)qI~rkr1^9%ZPsn8X1Q00Z&_&DZ;0gd?Cj(@bk!_B9FKcd95fJ~>S7|( z5gbBA+p)?>DC{yL6vDYy#q&|+NwNx`ds<%qbL1>mWyVUwkp-TSso2$g(K025JS96A zxnU-`JaUv|m|{pxffUMEB9b$9a)ezTR?gfVtn1*I!}6SV_PBLah?&9@xxp9^xp>lw8ejsoMba*-vil| z33$WlT?aJDw7{WY*iIOfIU%u7*88(nFGjq%BZE(iT44>G-GYBHjO zH+3@Wzk=6k!^^$Xe`SLfSrFxYK+rX0@Nn}n95UKKZyoXW2B|gXl`Tz7Ru~$YN(HRs90byWg6OZ@0}IQ`rQRr4xeL-!&tC7o zYVvXrdQZ!kA@2$)^v+cYw?P|s;cf`p)hcx0qcXu%x$I0(R>&0(R_sCotlj8@{S( z1+3RiyAGlYLt4V_F=Dg~y!q{M@Lijz+VRDmwQq|Yx1WU&zaJ?zpC(P~%CAEr<6XOp z=QM~=2yA>hW5O62USB~(0*yJ>*#76s`4(+TLgI%AF}hrbi(zZ12m9+#6TZ$dn?3qf z3jukR_{CZD2^)0whs5L0>n>8~S|3KeU&L1PAa8U9P$vOgUHX~vq9N2)zh=P6ya`RauiG=mV&B8X@V<@()eY=iFU4AFf z<<0{oa zTo7yP=y|v74yJ^we=A`y9j0vHmRA9DoJVck+p?Jr52c5pkh}35C+hBfI=@s>K3$b7g)30s9(D8zk7HRqP>)N^5QWh0_b2=N{1dv>UjWA?@O`4hduI=$mJ zmOD3HB^VRZB8L<+e5@+Fa|vL&WNmJSkkoa?%rB;XO4Z}z^2vsU9b+$qL}!F%)%p(# zN#y7(gEZM*pLETvYzJKp(=43osn(w^mnn;GaG&F(LsmO@$U{qsO2=U3zdFN^p6?L8 z_dWX9K8%&)a@FW~{e#8e$+nRsIP!eh`WBZ4K0f^i(rn{Ep{uMva&1(&z>xztXFDRj z1r=J4Uao^4uGaFc_zaDGrF|(Xjo8SW8Fa2(k$y>N|A*8re|#!P=rv(eS@g%*sLEHg zXc8OyTxUMVtr-V?yM~0Q0&L896FSD-vct?<7BH&UAbnr935jK60~z1YEpuGn)-3}ST394fz#`x|-A$Qnf&tV9 z7k>iB^&=b5D{bMn^$rVfA*-J6(gT9z+lPw|j@{C~!0tcgvj3zK*E5bfrHq8s&R0ky z@uiKU5G69kPNWIa)-s8wDRJz7Mpu~IlHql%(7c_nc}NbS8jEC7-hsfaDn1hqrsrP= z%k8Ek4X8Q(yOTu0NsD~NE5aJ$FpJVpHnJ`GH3f7UGA={c+d@sh0sm_vtBg5m_wkyW_Ny05-QiIyd_;05W8vtTfWZQFchIK1c=(7Sf)9k@=FB75i4I8#ko%^rY0 zUc-EPx8x(;Ysc}TtIv8YRKW>kdoKCJ>rfvw7RoH=l#7ge7H#|_ka=^sM)4_C07suO zD`M0UMgiv{58(Hn0`nt$pLwlYtD{7kJ_e6Y=ih$HXK=g;@T{K2vI*VhR3symFkgFx zQ!xC|tjK_sl$po9GMsfLBC00P#HuHk>Y_e6cU_9iWVI`ZV7GD&k z;x7mR9Ec^RR9hRz_&f>S@wgVBC)(Cfy7ah}a1t$G8fz7?p1e@YG6iKFDN+{qcy5_r zy7`Q}(Dy8YE4O**gpAKPqBU{){}eJTUQiYmRoQo;+t1?ns`PX`Pru5wehlg?E1JQY z`8kU`be!Cq1Z-q~%YUb=f@9PWmA?onKc4vDQg+uU0?_|>&6 zO2(&DQbuGnyG@EcDM%huDt_1&RH=0*%}F3|2wYi7aNBw+Br*g}k{AJ5$`bJVanK5n zNF>#v2c~FZs~f5J{?;OUWRc|m`>#(6^pb1ldK`+rL~p`cn`52#^<`+f!eeFGInY%~ zyNu852N`BuEn0_-{z%?xE`z|jW3xec!6GEE`cxs(KoJ-YW?{ovm7#CnQ8AH{f#HLW>)uG77ZocjXBDuu)r4-L;{|QP7Gom!yn3u1uKrHqQi0D zZ|dtUHi71h%G40N)1$*LBtr($qqNU<_=SM_Hx9e{I2mEkS%nKnvXjs zLas48UU9qcxvS8lGSzjKKQp>(+zg$$PwLIeVsHJ_J)ol-2><@nQ4QT>JKt?v5F>|9 zqd#_p$>IBRjsWzjQw83!?kC}vF}iGD7)w8&<9$ieQIJp@dSP07E*?gp_`%!uLG(lA z!eZtp;mmuFGrllZPE3%~(4-eKRz@zS?}vPV6?wA(4#k|soENhD^4qCvmDK`nYc(}~ zXaW@mj@$j2k9U;a#& zx88(Xb~^HsOP`LyzY6z>@m8h|2KF4pcgr;&_;ti8VCO~A83(le5#TgGkam$%iF;T_ zI6~d;w7q4QOmewCpJX=dOc89o75q~WlO$Qh+{{<|*J*QdKwOm@*Jgs7Yj~R9SJwlp z&(f_@+DZh$xHaVmrVBk2l{`YJ>Z3Imbkq@ysdINh2k9?`(vSj+vv6_a5@@f%7B|v%XqDkTsNcp_9rh&sjZ5kq zQ2djK_P9Ui(t;ekzK5NC3t-Ajfv_?*u{>Wtwn&WUrTgeNaC3aDPfb3Id=yP4#r@{8 zn2s%;cpyV&9RDifq2+HIdatYq!A;<)Yi3fKlvrM~I(@y@W1lg|JgwNrnYM?p<1Q47 zC8t{c83b?r!6)6whJ<)Aw74Y&hgp2;ngf|+_LdF~hre@mx{8tflSJ5hUB<~B{Z`Un$atNd)73L!g*|d0}UXEB` zEpDRl#mQMY9rNVj<$Up@+44>7~|hWcpU9tPiv8vS2X( zP<1)??C5s=nN9naQq3jf0Y96BiT)m79b>o8G+K)QgMZgKHnL#9eK~dd;K$}81;ll- z%dJl=Mwuz`1b3V%G0-LHCS=!4gt?yV2K z7ZTIqhH;#ah0k2~!ERb&64+N_R%&5biG7+0a>gy{VQaPC4H}}+$B{(an+b3wUzaH!Nq9~6!|!UzaJlLTPEMg({mk|A zE%*Hv6w+n`>{p=>7|uN4M($6e{^aufAHNf5Q!*;Im1^TH0T&|UcOB(<6OAb0`p0!c zi3sCrCb!n#7ADgPX9~qAC@D3&a4PeWHtzmqH}bI+AmXG8WA!|Kyo#S2mFFe{@>Dsr zl_Gv3qqT^E?Zas&m_?L9TI{B`FLu%RT+hSvaX#xyN=6Pv+uXWj^6%sxd6i{;!uS`2 z^ux1bU3-5LN=X%gtiLgA-XEYrXAU(#OSRGxj9WZWu;mJsQroAn}DzgHTZ$MI`IGq)2SE z$%(n7!HK$1EgTLL!^;5zGp=PVKjGp!NQ}<|C$*!=-we3f2%)VP{&IKvvDPOOelxCD zLdt#1YhN#qFBvHdzWf`k0jr=t0aH7#D}~yg!!74Ta1JK6P+*7bkTTf-*{1X23h8Tn zY4F0uB^73X#29Pq-^`v7m4I<|i_)eqGAQ>zR;)J}QdgrBQUipAu#asWGwPFAo`xP# zZcIlj-h1ZxwJxN#(tgK(?j_W41D!>SMP`1ElkkJVlAoNGm9|LmWVG`AW1lnoUhx><09#*QsuwZrtK>X_M6aybK~d8S-AwBOrDDT?g@K$4R}~q#ZvsU9nTxW! z3n$LBJc6hYNX@%zD+X=-5J30Yj($TaXRtJ%({UuxF9ppUA&>PP z@Z$=0BPq6wm69z#OWB6J+YB4N|7;lU5*OM6LEMYy6$12WFAoT!328g>3#Ht`iH{n4 z^aXj^4n6hI^S_L~6cG!B2tW)1_cFdw#i!@jUS+cX*lOka1|n%IGEf8!rT7fCd)1gpMm#nVW?Jm?};i9NONB>*xW`Yfg9C(o32~QLLuM@ zW8WZhSPj!rK_DFJazkSjU>5*u_>bkJz8+rn546IxfZElxW*S?*B)W6*!k$KuDkC7K zfrSyo`;YCYc}%G&2^gdT0?2yh@lvG)mlh&>p9l$8KYK1LVHq}oW$EHB47S|{CB(0@ z`TlY1d&WVJ3WY3><(MWEi-0!-*DjEG<({^p!C7@9DOtI|F3)X+^i)8cw!_KKjEySSeG4nsP(3uXX`Luhy0)!_{L`RVX3P8=DJUv4^XRp-I^&?1oHs z7nXC9Tui!m-}dZ=thUE2G5lKX7&-DoFswlhb4hP@D|ec@{+<^eWxYOaUpmwI@#ss2 zb2zP6ml7tK@M`+&iBx<^*wLOBZN<5dJ>zTzHpl+*RKcm$3gJh)ITJI-{CCDZ!^1>d zUer|o{+#>y*MsP;R)dL!%l!G^#`EZ>p9>6)olyH;{eMjFa_Dav8E+m2NE)jG9Pr{Y zHmnmR0QGYczj%xYZOKN&cN{5=2#6$5yJ9vBP`k05&0!QtY{tVkA>yqL!WszuTtIj` z>hdQ1TBl3Tw9_)Bt#BZ4q`{PgIqgs$95HVH5d0s`7}4y3_O?bZ(Ji9a^NsO><<6xf zGS%r~od1&jKMx`0R;SVS*pxE1)zH%>1i{$Y*n7P~Y%#$|y1x3LAc>8gbUzB7MMd>7OgxjO{e*`bmncY( zKXjdpR4G0Loax2txFl<1svIWdf?=go&c?LA6C5e5WOCJBMLW8+d{|~M+ zm>3*2+j)%e-P?~gtA3a_`cd$`?^n0Qi?E9Gw*|j0-vjJ;S`$nPFvxFBh45EhLb4K# zF`*C4&A(V73X0Gt4be3*Zq@U4U`?YPr%Yi!UIp%>DO?dhS}M-l_Vx!)wg?{(HSkz| zoY-7_L&FjmFOsU)&BaY)QV@k4_h#8vSZ%`}n}9n*g~p0^T2ZVt;+wsaga45C46Daww~97kC@^!)N!E3?y<2CATt-X8SMaV)2i6ZSbE;Ec>nKHnNQ; zeOIK8*t7cpTbg)1WAl<~!S5}R3=}s04+;}Hdx*3iqb%!vrS~r@&*mZX6qKGTYv0;AQM?cF{{^(XaukbNIQ%}e`T#l( zO}EaMfBv=O6PR<8Z9p@1mTfT}mEWeaZmd>(_7jdk)|n>O@1>TeU4k$BVtAhfh$L;k zGcQ!leaS_6jJk_e;n&p8SNVSfUKYvDt`bks5{Gtaxe{}1HB+fyMi-MJnpRL&iwxm zj-t0_McDQjHc zB&bfAk+Qz_YrwXi?0=VV3UF}Yww1y8I*vJj8y*~DP~7nB%}U8v%LDX*EdHqCVb7OB zwYPWs|C>Jn@~{-TS~Ok6J*QebqV-5pxhT5$nFHvy|3ks=1MX*Jm@i{qpIS&$&!%v+ z>R<7!9HNCO==m@Ka0}=XdV-FK=kCh~k@f28+Pg_h;}{P=MM^fIt7K4P2Q>2to0iVn zt_F#@*o!ku800^R3|@ zopYXPV>r|{A~)hUd{8||s9S$Nt)Fd)7W0yA+?L3_Y^0w7mJ|0-c>;FV#( zE1$G$P-UmTHIpR!`c)n`KLXLk%!JF%&;Kbjl=%hj4^x5MW*qw$O9~SDG_!bVpN)S- ze*69YfLZ{(5+Hy8yyc~6C>KLhnt^0e{q2?)jI$v1M zBE$Zba|(~#*eQM?jD4VB$@l@bb_&J zy_(w33>;pwDtyadN}f_HTXrd+5ewH=O8nK^G6i~$yF1@|+GyNW3PlkAhq)Mg@6_Sj zLtW6q(K|aiw7w`PiqPJS5``~UX1!J1zW zs&AB62)0V^QKY#D`j!WV2VHb^DKCAx3hG7?ps&3DYO=mHY*HhQ_jckx1{zWZwaOCu zcpIAtaLd>K+6B-SGL$8O3Jsxxb8-861dj2sut^y4p0;e4&|(%B;jpWs^Fwyg`*h{* zVFqVA`sOT)OB%_z8}opg8X4wPj>yWA^F!V*@t30DO-8BzOf29D5dUsJfjwjI-AS}` z{#wFN^ogpQ4c4w`r937FX5Gu<=B5_2<^31z+2*nvRM$fy`hKnVu;EDxOOQU`s~E@~ z%x1^l0sJpPb72wZK#0t;a95Sy+39_}KKfS>lmARy=lPEat?l=OSa%!SM>!_@&_9OT z?yJNKK0|4;{dcgX|7#Z*0b^vf-(MOEZVu^o^YnWpYnbq!w;Y2+{RPNIPXi;Xu267; zK{qZLyQ~OAPMP#lGq@j10@bnm!mg|WyBW^UR8i!2<3IC-JF8#+vTB&A_gl?8v9x+4 znvE@N=zrmbe>a`c?Hlp&Eg=&YfBjuj%y*6WK@DI2G$6@#&+=3k&ia&%UCFO%eF*F6 zADT=)WI&vPCm$Ji|DgiIaQ;&ZP~_xt@&iK}KcM+Ol`?^uGW= z0btx5dqAE6#xpXb`_Muh<(3_&P7E*rLLobyJ`f?~TQPay0GWnFX z&W-(Y$>-AbS~^Hb0(5Gt!Q}tV0kkSQet8##s7JW;K~`7m={3C0R*;LxO^@!d(j~AZt+Q zE5BG$-gBI6)NVy2mHS@;Y1mn(gBFHlGFN1H3!DBd!-JqHFpO}dL0I|u^C&g_KV^fb z&oy^Z31_CRLZHNoevKG;!jN2B{_|XTN#p+Vu^cmyTwS%c`FPG>4<`S=Rlm>wv5+$(7PDqb&8=lXuA*!fsQk*6+_z-;>qb93yNF58_zL3 z05A;@x|=a1Myfr0@px&EKVTdVMr(EPY&c^9S5Exsa@e_aLe3aa${{A<$T5@}ZZQhJ zfQ3!Vk#yP@znIOgTP=s@dkVQ~|EWYmJn13vbpm=Aq*25#M-+g&h*I-DR^OGV@*WI$ z&kG6p=C+Z^)a)}o;e{47d$hmGXDLNsCeu;6hkj21?q~Q#nFMkYr8bg}@)#7w2j%^u z#~pwe6EV0P;Qs20QJcmx-MLgm4pBDz*Ms-Hp}`cr{>6T!ND0JdAKFNdwq6-iN<*$x zTR5YRT28WMpQtS@?zq#)kW{vOKO_6r;!oIopwrK{f3V=vkTwm4v$CO%P;o>2ey$=n zV)a-Su-oG_QK4)=2?3&aa{2UVeW+}sbw4NSY<&4pCn_1P3Ms`j1D7bJL8>BUVE0S7FI{qKl>LOzlhluG4e2IpnrEJ-(a(tFh4Kyy+8N z40>bDbc+xrA-tL7zJpJiq9W_i+1`RvZi)4OkB#n27S^Nf$+(w{uC1EwTyh|{iakMq zWN0d~bF?j~|8N{wWBgEm3Vi)!;wnSfFCaYCj)u59M(w|qd091f;1!Rdz=%3yz>$k+{7EIk)Ic*y! z%?>+6?8x=OC6&&Ttr#>5n11ayXte8q6n7O_xsBxKM(*>Qa){r%tRpjw9!MRg!QIE( z+gt9t=NSL~gtUAbrpSEn@+#kRnc>fOFegR#Xf>vTB`XFAY00uI9_NMi%d&`sU~)0 z(@Sz7Z}NS;mV8R`mc!0P0YM!^DogUxv^ongZLFm3k)sTR>-!iZgsoZu!wX+y{DIb1 z#vdZc^Ko-4oGm5WuP?wK9|i=#9}@UV5;7A`UGwZvx1;gmrkm(P3DCD2x3l*};~5;A z4(kKYmObYkLLm$j0^G-+(zSs|o|~2tBSfqtQ^+lNsK!p`GC2Cu9*T!;;Ll>;aMJOq z;oQ4?Z_id=U*A`0T|q;G)T}$^a0&`{sl2jz(=h8}y4f6{Z+x`xWU>;mdi#;+{=GB> zaF*Y{wbb(LS%eF}?yRp5=Y9*o_3)^BFT$EF5eOP+KDWOd2;sQh@k@Ex#PD}{=#iBn zZYx*}u3JBc!@oL388M`n!yeljnbNHglX9O`NKq@`~cdMvF(Z83WozGpT;W{UOLSdty{OtO; zpa?Umu%3N}fVbR|Z~hv&i>m%^5X-F%v5}Q>CLe-S0k%6~ zdAf zjCZ&y2q7|?Ufn}md$A31XK*wMcD=$3Na=+vI&jKHZ21CZI3Z%IpEpR1uE&DKqVkrF z;X!C0VA%tAOKN?#!&2Pc&V@T}GSM_;{yI83{hMxG@YLlxtUnysMPijyUpl1txSC-R z#*4>fO1T{vXzre#3B0djK1i;~)057x`(R3})JH)E#&fU*a5PQx(=LYih%tjMG+Dx< z52xbc?Ga1U425+`<$E*IV~Ir)DBquZoZJ{^mdZ&(Nln5#Zd3@wK34^2;pr^&MYrn@ z?FVCH3u6{6<{At7dl!qR^KF<54O?LEgVhr5ScYk6UbRecMLd}{N89GajrpWD+zQ$mQA-?rK z1M447%obAlr-qtHmkK11mcQ^n&ffwOfza_;6h^ivn|Ytn*G@~+0ls|H@_mue;!u$c z^Z-i-E3?Em>^v8>C`nY~uugG`-|&5Enyd*!YLqZPV*N}*PzA?IyDMHpyH`+c&Fq%M zmLQT9Jv^Kc$L?%teOm_=_wWe%xd{2nrS-HEpPJ9ooy#g{`8PtA{^#jyh|nF&Ez@0D zE}SIK&YHkbP_UrAa3?DKBNw{d-9C{CL*fH*Ag*_1_!;spR)p->Dk#V8>!_--^6FGk z%BkrR3mVinW)(;-%^l(Z^dP8~2cxIo;`ZN|97t$`6qmGt45wbQSP)U<0t@YLr$MMQ zyxZXI7||n+;Uazjk)egp_=yC~KFRvyxTg_gp`3QG5a}hX!|lF*N$YOm+Jz(d@$d52 zGKl*;m$1<3c0$@2PXsfdeUlUfMD3p59cAf!`JJ#%a^%6ukFfPV&f`zdQY4ZJ+rT`C z0b>T^DWT)AcvPKNW|?E!-WjU&b?!pW`Z)+)_e0WgjtBc&hJQsLg)lnj!!eg1l2R{m zR0aI~o_g1}O3^gK zB|BH0@v8apiS4j6=*UJsO`wmGl@q<^Ct7ZTdXm+1I?LQ7q^9=3&$vFE$9?#Xn46zr zWW?DhSJXM~xfwnQOM-0)RG@fF0@Q6x*4FV{o0vwoRU)mNfldiC&&FupDNdV!f5hj~{P3o@Ol=Tb;mJg^6I#JYV+|1IO z#BHU2WN4zF`w6*Ptb@K>pb*r92-RxvF5wH8_2ya5Q77r`&lU3QalGtsmqtT)F2hUUP|~6IyLtfvGFPNm+X34c zi#${xk3qg?6;7bzXg6@~uq=g5@qO{y&-&AzGBJumKfYOfi6zg~7XCXl_lAzrC#g3T z1Kfq%vB?)uIRC>inc|;kkajI01F?Tib6Fl(PT_Ucbl=$gwFW3PmQb zm5~<~#REqFs&S6b5wj4~4B#tQ(09J(4R@P$f2B;)t1-;U=&|TrSObWOKv7(Lr6YoD zVsf(D1ckX~iX}GpzU>lvj3M*;L@ZHQ!}G)MT=iAXY6<>;2k$n$~T`*W`{^nUyzIWgZu)@d*{C~yyNV}8G<$-2Jy%s@Zp zM4Ub-u?V$L5rj+Dfl1HzK%3iQ*sb4Wvv)m&`-fRe)vgXXra{MmZ)|qF8@q1^*S^{G z2@to148B;3T z)AV?i-{VW5J|g;}0Z;^fvuS-Tb_8)sfb;L`V_T#xSgU=-{Cu9|n`A5+X(EQ-hvOvG zQhG)n@mMf#ZMQ?yinB1`T)p@$pObU!JRz-PcimL1_D$j%cH>|+K;w3_M>ie_@tD!_ z@v^Ajs$BY0FLH3ldqEc9H!M}jy0kHW!xcio{Tr4#XsL7>`=FqOCF_|+)vW!8 zNuq8zbhjvFrpb#7vpm+Y%`6xRkzBCI` zJI4V2KwvnOOkRXVf2o}d7;Dcz9FbR4(>9)+^W{7Jn77er56q{wvriv}Q!%Cig^L^7 z#?yz9)diWGqclG(@Z}8b$UvL$FzVNT{F?GxzC7Rd6g;;8il5>#8FwI$(TGJ-UWm_A zG4e}{Ae*sDb93jnfIzMus{Y;HX>m=gq?b#SFNnx^O(gMg9LEzeXjiA- zcmu3_+b=6u`Lk5fdVvkbjiDixauljlmz@FP^^8a6JDDJ#Axt_Ogde_|PFPQi1B+ZbTQib*kVazhuRgPRL~W8i6Qsw4 zT~hpbTpHTTlwwk)TRCf=>AI`(fP56Kfy-FJP?GMk*qp)uF@CVT3B2$7^*TP6>FW&c zwBsiFj}!=p?!yj(B;a~ssP2x)r2K+OWkbV9Lon_1-9gQ8vA;4JKE(#+0upPHhdU84 zev19E@fKRl9~J}y;iF^=riQ+Au!ewG%ll|KX0i{*Uej_d<)~>TfCzhgqgL+MslJIX z52I<|#K1=pX#E7v_s+*Z)6?SWCjJePa^F30=H%Qna#tzo*?igoW9XjdbW zll+qyZV$SG_Snu%pn|yFaF|Uup;6-sy5n5cvz6tOzcaH6cG#1joKd-f7t3_Q8Q(7* z@vhr0fp+!^&Mz|jbpq{cvlqs`yB`5i|Ue+gZwl*FuuB%g9Yiw5;GrJ(%g;jq*Lu8?D0#I*= zsAm&hjb3_=)!?GnF>JVbAXg$p2pnKObB^W!GvuWD8vAhc$iN%B*)+CejvHM_h7*DBdtuEGX^?r^RbH%M05;hiM z{x5L5U$H#qk`Ay1*Zi79xKj&FTnk$h>=xaw>{niz?>xf;{!O;dy*=G*U~4D86Nuv4 zY@w|sd%k`h_b_FAohW0l%L(H0Y;bV!_tk|=_MIPngQ1^A$GK=$rn8VJYUB*TFnlBa zt|hNw`GI@GN9Gvgd*Xpq0YZ=&EbNi7=MO){$xeA!16+n_XJWdY<%I>g{ELErYPJx& z4eptiQ|CUlujC2kauGFxIhV_Rn%5AZN&NUk@V<9MVlT_|>i$K?k|WnJ#2y=HZ-0^U z7rYK8VpcU@m2Cv-3y+|iOO)jvXoWcOja`0K=Jz)Mxex$eGkzgzYC$UpL>!fd?@K7KO$DPn25GoC>Vm~QX}C$6M1L%^(ydI1r@Mc%>y zM!&H-RB^Ybu6?_Vl-RyokL+w_ISpxFT{+(!?~6MzkylVyyWy+;9dmST8#cTyFE39r zdi0_>8IgMgzw9t>yiC!yBS4}`pos5Jv9p9F1&}R)`-;{m{kvV?19ZjyK5cr&>re9- zkSOrz`{CRElovi_Orki0K;5Du_=O|!)SN;BVeFW+G5(F@hm$UIUb=3dV-o!5@a&}| z!=~UIpUI@{Y(LJzTLA4@9L!Xye+Qz^%jc=CTxI|&7Gr*w*x)1yyW8znrIMW2k?!*> zgx3Kjg5_L!XFAJVTNPPrXAXtk6pYtTUO_KD_0{_?B$5rn9i8U&Mf`z&e?Rgi6g`K# zLbhNn`UA#Q+9uM+K7I!M-vllWb^}aB?<=4D5`Jn09DJl8VgO#W*B_&5U=eN0BIk4? zndh&}%hg;vwR=u`Dh!!`;*ZFGWmw|(%x@5kG#R@H&0B`SpVazzpVu36T(eC*h$JIt z1W2ltoXb<&pW_y!G?K=~0miTXvL2k=IGgPd(IPLt{aPaXqz+D?)o<3vOs%fJLG4$- zam0ZNtJv0IUT*H=&gRRd$9c031c;}xV3hYx&|9Di>D%!x2>BQG7r$Tmx(zH!p=Kd) z{xCoksFZN}Po))Z%3{m02L}PNXa5F3zh|(cyy9|ovMQc}(6jS9F%m6$Nf>kohgTsN zJXay$JMXk}Nfc0kvWZIeyvc8{`>-Rcy-fa^DFiYYO1ZSdAMJm(Snr~kLxXN(GO`S$ zJcA^zcmP_P^ZxE^KR6x4Hq!W%fPlcayA+Czz1r;@NN_tguFRi`R}HiV|J&LLv}%1= z@P9~f-hTgB-uSvyH~^bAtsOAdWlGThy{cGHx5q5a`@e?+rrFP-X$r`@(5FJgk6-SB zvaHLkx~+^8#iaGGXZT+V$Kg5*pKpf6VAeft_^+$5_X7g%JL=w27xW-a;wcAG7e*gv{nksbunim2k6nj|wox&x&^j=R-lye}L%JZ?BGoT@AlW?VmC zmimJxg_rR4jGf+cK(n_a-LJKDr)VsLvJ?p-eKGN{R& zH-DAc_hdnPru+ab;Kx0!a;-57Jsa`)=jt60C&j(C1o<@HmtFwD{(W_UN$-3lhu@R_ zF_vSA(bt1;N$Gw!=?Bxx{&$nxegSto^Ty|?u#J%qwy!PD`sS6N7~d70RsU`op4TJg zxi2Y%dEF)T!UHjmJ#PB!jNfnk33K82$F z+*mUFU77b;@$X@aAV6EsW;H{;l!vSR{4g|Gs6Fl0p7|Y3?k9?-g9MteY@zo zLfvb(P1N_{?MZ0n2JqLbiP}aF1)|yi_64kyJk-Bd|Hl*f;|esFF_c|AhO07!4!u!X=w9-m91iiB>s79!ej=!k@ppmT)3Nq}wDh5OiCq5=S8o9p zRn$cdlLDe3N=k}IiXciOgNk%XDo6=PcS+5VB1orn3kXPe454&O58XZVFiiay-}n8# z@A-KihKX}Iwa>nLt+VzSoruh5!px^}Ar2_^{^{fYX#v&*nha*AHLo$5v)@31V>fO3 z#U}ynsI`dKPG!_5+_b_#I^CoXJLN}uddKYLmbMhdQvKFBl$fB!h9X6)H-nb0!^f=` z_c}GP<0R^ATb-^6X7**O3CT(lWXQ>cMGuiY){(*k5}tl%)jeZsn1I;?w0BhiD;pKY zdprXHD^t;KJ)Oogs^w?Hp2b&f5@>8yLhT(NRiRkbFae(+GKMC&)0y~}2SGlp4Z^>Z zE9!BTJVkzG*V%N)Za&Zlq4c4nwd7wek`4n#q-Em@iHrg^U2`4`*2ifxhC6Hdrrp9f za-gT^BzEYMp;#+13*_DpLIeGTH9$5~e{hbYL@zXmTpsb!lk6YRj$aQ1ATL=zrh}}` zPHrnDRy&{k*wf|hkuuYGHK{(5zJDs#ejL7FIt`c{Vi(UMU!7Efw81;n!%+sv)d`{? zSgeLWyLMRM7>5dg&N6>&_(sR*m-eV(>KZ;EQUo%0X#Ttzzx|Ha4wiA1r>!0=0?4qk zPqjsLFHoWyDVYvp*wH35@wcgSfp<6JFeVeA)}!g0mE6x1!xRlF%&82N3|dZjt%aik z@OhT?q7>6aP<9v0r*PBI*ATW@R*hRR)MyxnhZyGpX{*Q?Jh)eL5R@DUX$BQ6FCC7k zdrma_*^~hm4P*ub;>Y%+R*f+6m?f!a<6PXLmdNiBOoZ7wx8y3$5cI(sV-h#IN2lel zl{akBuTE$}3C4p!F($sXPX$|d)YJStWI8Ta##y;9NPxWi^+f2_F9c-ZdJzJ9V9A00 z@GD0iip?@a0o!uVmQ!DAv)IWL%D>KUS#+>5b=sqK=(g*x&FXUUe75D=5THEtNlc(W z4#{R|gq4i)Gt6!TKZh9uvKg<&cTOUeL9jGSfLl^9E|^cZXj;On4GSPm3OKsK`|PR{ z^0($$#_;fQDI_<+bJ%*b$C%4??Zr6h126M0e)g*It*;FoqVcWwl7a-jm;oT5QI9 z47F*z>$&-YMcL=tK4${6Yj+9t7>P;~0boVBAZi3i$`m}KB{iHx`UZNRlIC>d72WRK zhd(710vPDu-9O@m%F~(4!}_~$8Lp{3z=Hov6F(ErjR}G~lUx<$bnc z@UM9?fiMCQMW04W+%hGLfjKm* z?(d*}|2CDnm|+dpc>bSkI-obvGM4N~$wrEdsmtevV)`;t;x%h#cyd>lPwrk}X0a^H zY||^|IoTe(ZvS-e;A7(I5rk0`o90!{-CxC*Sw4s2D|Il3dp*&t@Ke;=Jh|hO0fBF# zOTN{-*P-ieOk0lQ1jvunjh|P11~z?PZ-t(Cqi^DQu}(g6S+r>zVTtl_^C#eG*wGRq zP-A?29UK9X(VG=Ij{2 zJ0sFKU+B5O-K%WeIb~9^G5CGWyT>zjA`=rYAhvH)pbG`Rg@>~I9y|(?*EpC@Hjw#H zuA{Gu_*iFsf4iP_<`4ef1H2zURC9*oWR%0smPfuul3mA4P`)x+E>`Y|T(ll%NV zj=i8f6q9olM4WZJocAv?sia*0cOswOmoox(EuqiBOS3UNi#IPF$YP!S*h+v_EPINW zr#}_^caKHfC*+Vn^|?ljq zE&kGct?lb6%IBnFAFc?8umFc>&scw%e$=b?rom?T-6We$!e0o1PFa&rzk@#r)C@19G?9T@69urgCTh_?ahq6?pPj% z5!=bMHTsCQ;-&~fUF)X!V(a*Y&8+ZXtV|VDkEGZAd^+=pE}u&euU4xP0MB|$!VWpm zIaY3X%V`v+>i!F=?OH(~OlR9}cu;nJo)2InI%BDz=(<_$tcNk}fcN@x^nv0(2|uH9 z`^0xIf&I5TnFB9_4ItSwOL>GGj69-dH}21H7T%sj0fF}qFko!l*6a3qB)^62m9;W< z(<&A(5X9yNndyMkt> zSdU)hqbw1G>)y-=-%&6;+@im3&L_)Qq2JYSQC1sOst!7!3aX8-PLoey#`{_+_A|a+G)aoUt+s z`mdQ0OH)pHIoNom5K(q(!2J?tR(`|08o)7(z?#~NyoMP7>e(eQ0RO$cGU~Cmpl5W7 zTFAipQ3|_9n*L>ZW+SGKg9B+$td>_9X2m~sJfSUu@;^Z^@_h7~{I`9drnymg;nfdA zE~i0;A8FtU`m3D1Jyq_DAh+9fbfh1?Kh%8tTDBaT!`jf+w?r1mT+e!V3Z(YPaz%-E z2_8t~AVvfQ1?f$I1QLRjBi=jfr}Szu0snqp8g~xhkM|?-6Hcw%r2)0e_HQd<0JVPgx(&#@r>bWW!lr#ACP}k zuT_`pVBV#i@x;$x7|K7NoDkLoZ+~41YrF*rkx)0ec;||Ex3hnG+`-eSU07;#K)sf6 z`$3a`CR`}~c5KR(6W~?=`wMPc47P#j@T<`CYwGZ^v1#gzQjP67Zj=0i13b1m2+g+4 zx)*t6U3%?Im-IC5ovzT|BgtEvKauSI&2WWz2mRxH*FV1|r{-U0_vo+CuDS9hPvIhQRAELyjD>eQN-*uF#st7MhvOL!#CI@AH=UtY5qrLf!AB9 z&x2kihmxNX2c|D3i?q*>|2j#V210K*vSt(nAOq3G_#IJ4olL|lXZ>BsKis)xZ#oI* z`)(ug6*kM_)^=gx{9MZEmcLm3p4ioREFc-2VtusqV;5F%;EjXYvdytZUU{4S+{r!; zTI)U73K$%m`f3jEW#s&vG4P)TYFs5m7)`HUr#j#zwUqt${18A%Oqj0|wh{Vks}T^e zH10GdzQ_dK!7Pp{;S{=P`i}utMD7FB8F6Rh^5}gbdoC-l58{vpaMtAQ6UAC7!nR32 zXG`jSN7yq5Mr2ORK z{((P0nAk}FYn{$Pj~DlIvP2P}xb&ZU+s2OO{&_`?d3ak-kmvmMM!6^e*^m=UZhIrh z{QZv(>KQBv;I+dCx3b)okXj|s|C>E>BmduUZ1gDCRoKHsD44{uucWG`r7@PFUhAT` z946zcOZE*{Am1D>+`-xLr}2MIM@T}y$onU9nGdOb4Er2r@?bIpVCDdf8h%O`)9k@N758xiOB3F9zh*-36bIe^L)Y+p zZAl7Np-$(=kHvXE#BGkzVbfMEj$b(V%^pXHmtOa+%G?^_roZn=`4$^E z=2;7^@1&wQY=EikR2bX3{AxTvoD41ZBw|#_;vR~7PCXuv^6~Tvtp7`QlcA1}yV^~% z-G?MPIjXQA_G$rJ@!#`(fa4!{%P6Y4P60*%U_-9w2v`plTc53<76G_#10iWVCZ0Jo7O*4ft_oXopi1AQPOfhelck740>H?q=pPlvt~pv zZxkH#Ius>c-C4L8Ff^(=QQ8S9p%4E%-m4a4(>(rWQvc_AY`Wi00hcycejzH7>jcAf zeXNh_*@H_Q&O)FKkHKH=nbG!p>=nUCrqs9n6D2w0Z6C?>i@I8ou=lY zyZl;7sxU7kWHJ*)?X3t@+b;`B@Cxq*pK`9d5V{O)c|EhS{z<+|^0Pz7_+Y5l7#+f>iAwNJ;7h6rJ=u;4{mQahrAhsYS{egX z($t*I%eVTl)HZ#ZJpzB0Wp#R^VM+H_-82#`}UtK zJ>wRTe$q(uCzhMdBg4b#mYJvNuInWJae3#a>rZg<{Gb`iJnO$d-nOtud!1Hs51s;1 z>5g~%O?&k6Jv=P>&12sO2Wf5H&i+y_GTQ1z{gx}*EOBq~>e9b{xi{Wsywyz-!FqVH zB`z+xHs0O-rMAXG0aj{l*7x12VEN#1E86|zjVY`_;O3E}@}6=spLHWv-?-^)mGO9- zhTHEVHSyN4&j*V9)*fl*ZYzDMCnRyKyB8=Xd`*cv{jx>df%Xwb4c`O(LMSZC?me5S zHj|GIefe>m6xyA`AZh&rm0_s(b*UNi#4DbKiml+oh7?(%#|AAQ(p%Oay+VRAr9SQF zQ|a%kR3R|T1!cy;)00Cm-V%P+_wv)}9K$~2xj*u8-wJKUD7~Sx3#$23WAQ=WEnot_ z%VB5x?XX7+9wW~?k_NcyZi$q%WBTMddh8iN{>IfF1HRA|!m`G<5)^ZB<$@#r*XVS@ z{Fc}^J}pk*boZf1Q7r?%ROQXVryL{-Jgu(&GX2d|USh*Y(cy7P5(Qw`#bx4MTpr6O z^Pf7BYOvOpe#VQ&op3$o^I)Rmd?!vSntsqD>iD7kwk3+8ladP+(v=q>Ax~$Q=ZoR9 zLob_!R!xO5X#VvfUB~l^Yu+ojq==yf7j57jd_!ugUAosYS^22T(e{x+e70W;|21B~myeI8Anx74z0qi~8{ket34e ziZ3HU{f&P|>W{b$*o)uzaABYT+Csay&myG>7rk2?$Xf6@kL8cg^S__XB;JTHt~scL z8ZI38d7pMIfMeIw@m)OkVnvr!$)@}E-iM!f%lX$Rz?s-;r;UNfJP1Ut27>B#*4nOpOBYVn(W@)_t@>5GD^}wwkSd> z#F+A-o|lXb(hp;*t?e84F!_AH``y`_$Hs?=sUO+5Y$V@aSn8|oN~BP!!E9yp(V zM$)^zlr;u4Kv92?A-picwV6r5=Nox66{Ib*Ixmjr$z#t(CIxU23_gW_mm&kblH1%2KURyqIioh%0K%9rhHovtD`S8eecjv4?wV~IZAoH|I;Xh;b zdfKtA!RN(@O~|ht(e5b5*NU-g%HK1G4)x=*&m-`Fr47vRb<_COF9seyD8HTFnt2HF z;#h}Zg-y^J_0Uj4j;3NsN%DU84bst01{X}!3=osHBX$I&ckX}d(aCjZ`|r>+v5O?# zT-Kh_3mXd5YAi1{oIIRtO5DYfIIR5v+3=VBu? zw%iri*j-n`OLn!}$so*6VpXEdV@;Cg6M%k8@E2W`PZPs*M#_Y>j7YrgryuhfuJ#gM zFk9V!qtwm_G}N8-6Tu|@R%jmPW3c5h#0=~}_ghJ~Lu5+y-Fx`NO(t%XpH7hxBo8TP zwW4ADJ;al5L4ag@u{2ms=I8bT|35crs}%TTp(4rI(Ehl9xcA|!pb3=iNE9;%XJpLq z)2FW&Ep;%*-u=lORvW&0`p84?fHy322ZHxcj~mR@+{?a^MzHvLwzdcUf%EeM|7QHx z#w3N03;t&>!uI4SpY%3Lh&EycRJ5m$?frvQ2N5|%?CfoAhpWGd9 z7VJ4bU$Qd9NycuSkxe_cZ&VdMBs7Ia%Zu!LbO^3pxbxSWJnU^bjSf-^oE>*aYMV1!A0|HA=)Bp(!)joNdNl-&FE`xy<2kFI5pH_^mwCSW zbC}=IT=H}Am-_o8J#Z71@C+e6lJ97v4n1c4yRN5SO?PrEiAYUQ-DMO(=RACCCcVaO z%|<4p)eJw^Rx{O7p#PnQ+u_`fv5o|mp=t^{Gdz$>uG1!#riZ98@hVo|QZR)?ydx86 zOu~PTS*PkAwZlc4?}2_B?+t%qK9<$pvAyS6@@1G&3^OST6XyRN-F~VgF7r`nBJj(r zs+b!OT)AM!1XG*z$wY-DOUb`2V}AUY(SKJW2|VADIq`{4XO`ITunc3xeJ_2dw)3u;bU-|^ZfTw5 z3*4DaR!@_Yxk*{0WwSeNV`DY%O}^^=t(fn7-{v`=BV!Wixv{l`SVBhZU$f@wJSuLi zC+m%OjMQMqSkkN#=WX_W0|m^SjGC@OEd1-jIVULMa`gO&kw;wm+|l-SCqfnVI;{K+ zxd?^nD@*19*614}T93RFp%*Aypuvxq3JBME-|DJ3?5h6a)vrw~uOiUni-&`t^?k|a z4PQ@a)uIwOHzM#1S=%_Fo=3L!TM9K4PVc(|%0Da`s^_}noj=;bZ2D-5`Qqe`C#??m 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 From ccaddb17e2ad5a5c6192ed9aa57c0ff6fe8672b7 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 13 May 2018 20:59:02 -0500 Subject: [PATCH 207/415] Update wallets.dm --- code/game/objects/items/storage/wallets.dm | 94 ---------------------- 1 file changed, 94 deletions(-) diff --git a/code/game/objects/items/storage/wallets.dm b/code/game/objects/items/storage/wallets.dm index ab86cf0d50..ee001b7185 100644 --- a/code/game/objects/items/storage/wallets.dm +++ b/code/game/objects/items/storage/wallets.dm @@ -1,96 +1,3 @@ -<<<<<<< HEAD -/obj/item/storage/wallet - name = "wallet" - desc = "It can hold a few small and personal things." - icon_state = "wallet" - w_class = WEIGHT_CLASS_SMALL - resistance_flags = FLAMMABLE - slot_flags = SLOT_ID - - var/obj/item/card/id/front_id = null - var/list/combined_access - -/obj/item/storage/wallet/ComponentInitialize() - . = ..() - GET_COMPONENT(STR, /datum/component/storage) - STR.max_items = 4 - STR.can_hold = typecacheof(list( - /obj/item/stack/spacecash, - /obj/item/card, - /obj/item/clothing/mask/cigarette, - /obj/item/flashlight/pen, - /obj/item/seeds, - /obj/item/stack/medical, - /obj/item/toy/crayon, - /obj/item/coin, - /obj/item/dice, - /obj/item/disk, - /obj/item/implanter, - /obj/item/lighter, - /obj/item/lipstick, - /obj/item/match, - /obj/item/paper, - /obj/item/pen, - /obj/item/photo, - /obj/item/reagent_containers/dropper, - /obj/item/reagent_containers/syringe, - /obj/item/screwdriver, - /obj/item/stamp)) - -/obj/item/storage/wallet/Exited(atom/movable/AM) - . = ..() - refreshID() - -/obj/item/storage/wallet/proc/refreshID() - if(!(front_id in src)) - front_id = null - for(var/obj/item/card/id/I in contents) - LAZYINITLIST(combined_access) - LAZYCLEARLIST(combined_access) - if(!front_id) - front_id = I - combined_access |= I.access - update_icon() - -/obj/item/storage/wallet/Entered(atom/movable/AM) - . = ..() - refreshID() - -/obj/item/storage/wallet/update_icon() - var/new_state = "wallet" - if(front_id) - new_state = "wallet_[front_id.icon_state]" - if(new_state != icon_state) //avoid so many icon state changes. - icon_state = new_state - -/obj/item/storage/wallet/GetID() - return front_id - -/obj/item/storage/wallet/GetAccess() - if(LAZYLEN(combined_access)) - return combined_access - else - return ..() - -/obj/item/storage/wallet/random - icon_state = "random_wallet" - -/obj/item/storage/wallet/random/PopulateContents() - var/item1_type = pick( /obj/item/stack/spacecash/c10, /obj/item/stack/spacecash/c100, /obj/item/stack/spacecash/c1000, /obj/item/stack/spacecash/c20, /obj/item/stack/spacecash/c200, /obj/item/stack/spacecash/c50, /obj/item/stack/spacecash/c500) - var/item2_type - if(prob(50)) - item2_type = pick( /obj/item/stack/spacecash/c10, /obj/item/stack/spacecash/c100, /obj/item/stack/spacecash/c1000, /obj/item/stack/spacecash/c20, /obj/item/stack/spacecash/c200, /obj/item/stack/spacecash/c50, /obj/item/stack/spacecash/c500) - var/item3_type = pick( /obj/item/coin/silver, /obj/item/coin/silver, /obj/item/coin/gold, /obj/item/coin/iron, /obj/item/coin/iron, /obj/item/coin/iron ) - - spawn(2) - if(item1_type) - new item1_type(src) - if(item2_type) - new item2_type(src) - if(item3_type) - new item3_type(src) - update_icon() -======= /obj/item/storage/wallet name = "wallet" desc = "It can hold a few small and personal things." @@ -186,4 +93,3 @@ if(item3_type) new item3_type(src) update_icon() ->>>>>>> b235fce... Fix wallets appearing to still contain a removed ID (#37719) From e990ac3ef77423b0a9959bd1dbf2c7bfa15a1fc9 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sun, 13 May 2018 22:06:35 -0500 Subject: [PATCH 208/415] Update preferences.dm --- code/modules/client/preferences.dm | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 5948da99a0..fd0e043a1e 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -871,16 +871,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) Traits are applied at roundstart and cannot normally be removed." dat += "

    Done
    " dat += "
    " -<<<<<<< HEAD - dat += "
    Current traits: [all_traits.len ? all_traits.Join(", ") : "None"]
    " - dat += "
    [all_traits.len] / [MAX_TRAITS] max traits
    \ - Trait balance remaining: [GetTraitBalance()]

    " - for(var/V in SStraits.traits) - var/datum/trait/T = SStraits.traits[V] - var/trait_name = initial(T.name) - var/has_trait - var/trait_cost = initial(T.value) * -1 -======= dat += "
    Current quirks: [all_quirks.len ? all_quirks.Join(", ") : "None"]
    " dat += "
    [positive_quirks.len] / [MAX_QUIRKS] max positive quirks
    \ Quirk balance remaining: [GetQuirkBalance()]

    " @@ -889,7 +879,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/quirk_name = initial(T.name) var/has_quirk var/quirk_cost = initial(T.value) * -1 ->>>>>>> e74f33d... Quirk limit now only applies to positive quirks var/lock_reason = "This trait is unavailable." var/trait_conflict = FALSE for(var/_V in all_traits) @@ -1669,4 +1658,4 @@ GLOBAL_LIST_EMPTY(preferences_datums) if(icon_updates) character.update_body() character.update_hair() - character.update_body_parts() \ No newline at end of file + character.update_body_parts() From c92a18f7331d3315ff2eefa1ea6c2551aaa151f1 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sun, 13 May 2018 22:07:01 -0500 Subject: [PATCH 209/415] Update syndicate.dm --- .../crates_lockers/closets/syndicate.dm | 118 ------------------ 1 file changed, 118 deletions(-) diff --git a/code/game/objects/structures/crates_lockers/closets/syndicate.dm b/code/game/objects/structures/crates_lockers/closets/syndicate.dm index 7687c42c3c..3edbde93b7 100644 --- a/code/game/objects/structures/crates_lockers/closets/syndicate.dm +++ b/code/game/objects/structures/crates_lockers/closets/syndicate.dm @@ -1,120 +1,3 @@ -<<<<<<< HEAD -/obj/structure/closet/syndicate - name = "armory closet" - desc = "Why is this here?" - icon_state = "syndicate" - -/obj/structure/closet/syndicate/personal - desc = "It's a personal storage unit for operative gear." - -/obj/structure/closet/syndicate/personal/PopulateContents() - ..() - new /obj/item/clothing/under/syndicate(src) - new /obj/item/clothing/shoes/sneakers/black(src) - new /obj/item/radio/headset/syndicate(src) - new /obj/item/ammo_box/magazine/m10mm(src) - new /obj/item/storage/belt/military(src) - new /obj/item/crowbar/red(src) - new /obj/item/clothing/glasses/night(src) - -/obj/structure/closet/syndicate/nuclear - desc = "It's a storage unit for a Syndicate boarding party." - -/obj/structure/closet/syndicate/nuclear/PopulateContents() - for(var/i in 1 to 5) - new /obj/item/ammo_box/magazine/m10mm(src) - new /obj/item/storage/box/flashbangs(src) - new /obj/item/storage/box/teargas(src) - new /obj/item/storage/backpack/duffelbag/syndie/med(src) - new /obj/item/pda/syndicate(src) - -/obj/structure/closet/syndicate/resources - desc = "An old, dusty locker." - -/obj/structure/closet/syndicate/resources/PopulateContents() - ..() - var/common_min = 30 //Minimum amount of minerals in the stack for common minerals - var/common_max = 50 //Maximum amount of HONK in the stack for HONK common minerals - var/rare_min = 5 //Minimum HONK of HONK in the stack HONK HONK rare minerals - var/rare_max = 20 //Maximum HONK HONK HONK in the HONK for HONK rare HONK - - - var/pickednum = rand(1, 50) - - //Sad trombone - if(pickednum == 1) - var/obj/item/paper/P = new /obj/item/paper(src) - P.name = "\improper IOU" - P.info = "Sorry man, we needed the money so we sold your stash. It's ok, we'll double our money for sure this time!" - - //Metal (common ore) - if(pickednum >= 2) - new /obj/item/stack/sheet/metal(src, rand(common_min, common_max)) - - //Glass (common ore) - if(pickednum >= 5) - new /obj/item/stack/sheet/glass(src, rand(common_min, common_max)) - - //Plasteel (common ore) Because it has a million more uses then plasma - if(pickednum >= 10) - new /obj/item/stack/sheet/plasteel(src, rand(common_min, common_max)) - - //Plasma (rare ore) - if(pickednum >= 15) - new /obj/item/stack/sheet/mineral/plasma(src, rand(rare_min, rare_max)) - - //Silver (rare ore) - if(pickednum >= 20) - new /obj/item/stack/sheet/mineral/silver(src, rand(rare_min, rare_max)) - - //Gold (rare ore) - if(pickednum >= 30) - new /obj/item/stack/sheet/mineral/gold(src, rand(rare_min, rare_max)) - - //Uranium (rare ore) - if(pickednum >= 40) - new /obj/item/stack/sheet/mineral/uranium(src, rand(rare_min, rare_max)) - - //Titanium (rare ore) - if(pickednum >= 40) - new /obj/item/stack/sheet/mineral/titanium(src, rand(rare_min, rare_max)) - - //Plastitanium (rare ore) - if(pickednum >= 40) - new /obj/item/stack/sheet/mineral/plastitanium(src, rand(rare_min, rare_max)) - - //Diamond (rare HONK) - if(pickednum >= 45) - new /obj/item/stack/sheet/mineral/diamond(src, rand(rare_min, rare_max)) - - //Jetpack (You hit the jackpot!) - if(pickednum == 50) - new /obj/item/tank/jetpack/carbondioxide(src) - -/obj/structure/closet/syndicate/resources/everything - desc = "It's an emergency storage closet for repairs." - -/obj/structure/closet/syndicate/resources/everything/PopulateContents() - var/list/resources = list( - /obj/item/stack/sheet/metal, - /obj/item/stack/sheet/glass, - /obj/item/stack/sheet/mineral/gold, - /obj/item/stack/sheet/mineral/silver, - /obj/item/stack/sheet/mineral/plasma, - /obj/item/stack/sheet/mineral/uranium, - /obj/item/stack/sheet/mineral/diamond, - /obj/item/stack/sheet/mineral/bananium, - /obj/item/stack/sheet/plasteel, - /obj/item/stack/sheet/mineral/titanium, - /obj/item/stack/sheet/mineral/plastitanium, - /obj/item/stack/rods - ) - - for(var/i = 0, i<2, i++) - for(var/res in resources) - var/obj/item/stack/R = new res(src) - R.amount = R.max_amount -======= /obj/structure/closet/syndicate name = "armory closet" desc = "Why is this here?" @@ -230,4 +113,3 @@ for(var/res in resources) var/obj/item/stack/R = res new res(src, initial(R.max_amount)) ->>>>>>> e8304c1... Merge pull request #37760 from YPOQ/stackfix From 21bc6c48efb9cd69855656fa461c1a5f87ccee1d Mon Sep 17 00:00:00 2001 From: LetterJay Date: Mon, 14 May 2018 09:53:00 -0500 Subject: [PATCH 210/415] Update preferences.dm --- code/modules/client/preferences.dm | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index fd0e043a1e..ef90d49d05 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -986,16 +986,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) neutral_traits -= trait all_traits -= trait else -<<<<<<< HEAD - if(all_traits.len >= MAX_TRAITS) - to_chat(user, "You can't have more than [MAX_TRAITS] traits!") - return - neutral_traits += trait - all_traits += trait -======= neutral_quirks += quirk all_quirks += quirk ->>>>>>> e74f33d... Quirk limit now only applies to positive quirks else var/balance = GetTraitBalance() if(trait in positive_traits) @@ -1008,13 +1000,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) negative_traits -= trait all_traits -= trait else if(value > 0) -<<<<<<< HEAD - if(all_traits.len >= MAX_TRAITS) - to_chat(user, "You can't have more than [MAX_TRAITS] traits!") -======= if(positive_quirks.len >= MAX_QUIRKS) to_chat(user, "You can't have more than [MAX_QUIRKS] positive quirks!") ->>>>>>> e74f33d... Quirk limit now only applies to positive quirks return if(balance - value < 0) to_chat(user, "You don't have enough balance to gain this trait!") @@ -1022,18 +1009,9 @@ GLOBAL_LIST_EMPTY(preferences_datums) positive_traits += trait all_traits += trait else -<<<<<<< HEAD - if(all_traits.len >= MAX_TRAITS) - to_chat(user, "You can't have more than [MAX_TRAITS] traits!") - return - negative_traits += trait - all_traits += trait - SetTraits(user) -======= negative_quirks += quirk all_quirks += quirk SetQuirks(user) ->>>>>>> e74f33d... Quirk limit now only applies to positive quirks if("reset") all_traits = list() positive_traits = list() From 5a76b56d04ca305487ecea946c4266ce0390e54d Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Mon, 14 May 2018 12:00:30 -0400 Subject: [PATCH 211/415] Merge pull request #37743 from AutomaticFrenzy/patch/meta-pipe Remove a duplicate pipe in MetaStation maint --- _maps/map_files/MetaStation/MetaStation.dmm | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 303d28895d..d7140f997e 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -58226,15 +58226,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/storage) -"ctk" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/maintenance/starboard/aft) "ctl" = ( /obj/machinery/camera{ active_power_usage = 0; @@ -112953,7 +112944,7 @@ cJa cpG kVo dDu -ctk +kVo cuc cuZ dyp From a98e1387c1aa4e7c3f6fa2251a34284786cb8439 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Mon, 14 May 2018 12:31:49 -0500 Subject: [PATCH 213/415] trait => quirk --- modular_citadel/code/datums/traits/neutral.dm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/modular_citadel/code/datums/traits/neutral.dm b/modular_citadel/code/datums/traits/neutral.dm index 2bb9c3a356..264dbfef0a 100644 --- a/modular_citadel/code/datums/traits/neutral.dm +++ b/modular_citadel/code/datums/traits/neutral.dm @@ -1,24 +1,24 @@ // Citadel-specific Neutral Traits -/datum/trait/libido +/datum/quirk/libido name = "Nymphomania" desc = "You're always feeling a bit in heat. Also, you get aroused faster than usual." value = 0 gain_text = "You are feeling extra wild." lose_text = "You don't feel that burning sensation anymore." -/datum/trait/libido/add() - var/mob/living/M = trait_holder +/datum/quirk/libido/add() + var/mob/living/M = quirk_holder M.min_arousal = 16 M.arousal_rate = 3 -/datum/trait/libido/remove() - var/mob/living/M = trait_holder +/datum/quirk/libido/remove() + var/mob/living/M = quirk_holder M.min_arousal = initial(M.min_arousal) M.arousal_rate = initial(M.arousal_rate) -/datum/trait/libido/on_process() - var/mob/living/M = trait_holder +/datum/quirk/libido/on_process() + var/mob/living/M = quirk_holder if(M.canbearoused == FALSE) - to_chat(trait_holder, "Having high libido is useless when you can't feel arousal at all!") + to_chat(quirk_holder, "Having high libido is useless when you can't feel arousal at all!") qdel(src) From 7dc1c116d51b679503ba8ad2a20c0c6b23b6d113 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Mon, 14 May 2018 16:13:20 -0400 Subject: [PATCH 214/415] Merge pull request #37818 from AutomaticFrenzy/patch/missing-icons Fix some missing icons --- _maps/map_files/OmegaStation/OmegaStation.dmm | 5 +---- code/game/machinery/syndicatebeacon.dm | 2 +- code/game/objects/effects/decals/cleanable.dm | 2 +- code/game/objects/effects/forcefields.dm | 2 +- code/game/objects/items/defib.dm | 4 ++-- .../objects/items/devices/PDA/PDA_types.dm | 2 +- code/game/objects/items/toys.dm | 2 +- code/game/objects/structures/aliens.dm | 6 +++--- .../closets/secure/supplypod.dm | 1 + .../clockcult/clock_items/judicial_visor.dm | 1 + .../antagonists/slaughter/slaughter.dm | 2 +- .../modules/mob/living/silicon/robot/robot.dm | 4 ++-- .../mob/living/silicon/robot/robot_modules.dm | 2 +- .../mob/living/simple_animal/bot/honkbot.dm | 2 +- .../projectiles/guns/misc/beam_rifle.dm | 2 +- .../projectiles/projectile/special/curse.dm | 7 ++----- icons/obj/objects.dmi | Bin 102880 -> 102677 bytes .../smooth_structures/clockwork_window.dmi | Bin 3572 -> 3573 bytes icons/obj/smooth_structures/sandbags.dmi | Bin 878 -> 993 bytes icons/turf/areas.dmi | Bin 36625 -> 36693 bytes 20 files changed, 21 insertions(+), 25 deletions(-) diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm index 735beb6d4c..7bac99a37c 100644 --- a/_maps/map_files/OmegaStation/OmegaStation.dmm +++ b/_maps/map_files/OmegaStation/OmegaStation.dmm @@ -31225,9 +31225,6 @@ }, /turf/closed/wall/r_wall, /area/maintenance/disposal/incinerator) -"dWc" = ( -/turf/closed/mineral/random/labormineral, -/area/space) "dYC" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 @@ -79414,7 +79411,7 @@ bfP bjc bfP bfP -dWc +aad aaa aaa aaa diff --git a/code/game/machinery/syndicatebeacon.dm b/code/game/machinery/syndicatebeacon.dm index 7d7d010b2c..be5b404edc 100644 --- a/code/game/machinery/syndicatebeacon.dm +++ b/code/game/machinery/syndicatebeacon.dm @@ -5,7 +5,7 @@ name = "ominous beacon" desc = "This looks suspicious..." icon = 'icons/obj/singularity.dmi' - icon_state = "beacon" + icon_state = "beacon0" anchored = FALSE density = TRUE diff --git a/code/game/objects/effects/decals/cleanable.dm b/code/game/objects/effects/decals/cleanable.dm index 0794b818da..43ee2991e0 100644 --- a/code/game/objects/effects/decals/cleanable.dm +++ b/code/game/objects/effects/decals/cleanable.dm @@ -1,7 +1,7 @@ /obj/effect/decal/cleanable gender = PLURAL layer = ABOVE_NORMAL_TURF_LAYER - var/list/random_icon_states = list() + var/list/random_icon_states = null var/blood_state = "" //I'm sorry but cleanable/blood code is ass, and so is blood_DNA var/bloodiness = 0 //0-100, amount of blood in this decal, used for making footprints and affecting the alpha of bloody footprints var/mergeable_decal = TRUE //when two of these are on a same tile or do we need to merge them into just one? diff --git a/code/game/objects/effects/forcefields.dm b/code/game/objects/effects/forcefields.dm index 14b50f987a..ef074f4cec 100644 --- a/code/game/objects/effects/forcefields.dm +++ b/code/game/objects/effects/forcefields.dm @@ -27,7 +27,7 @@ ///////////Mimewalls/////////// /obj/effect/forcefield/mime - icon_state = "empty" + icon_state = "nothing" name = "invisible wall" desc = "You have a bad feeling about this." diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index 08357215d8..664ceb6e08 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -275,8 +275,8 @@ name = "defibrillator paddles" desc = "A pair of plastic-gripped paddles with flat metal surfaces that are used to deliver powerful electric shocks." icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "defibpaddles" - item_state = "defibpaddles" + icon_state = "defibpaddles0" + item_state = "defibpaddles0" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' diff --git a/code/game/objects/items/devices/PDA/PDA_types.dm b/code/game/objects/items/devices/PDA/PDA_types.dm index c1cc5d69a3..089286efda 100644 --- a/code/game/objects/items/devices/PDA/PDA_types.dm +++ b/code/game/objects/items/devices/PDA/PDA_types.dm @@ -21,7 +21,7 @@ // Special AI/pAI PDAs that cannot explode. /obj/item/pda/ai - icon_state = "NONE" + icon = null ttone = "data" fon = FALSE detonatable = FALSE diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 52e98e4a9e..98a4906246 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -840,7 +840,7 @@ name = "card" desc = "a card" icon = 'icons/obj/toy.dmi' - icon_state = "singlecard_nanotrasen_down" + icon_state = "singlecard_down_nanotrasen" w_class = WEIGHT_CLASS_TINY var/cardname = null var/flipped = 0 diff --git a/code/game/objects/structures/aliens.dm b/code/game/objects/structures/aliens.dm index b758b33355..ecfd0ba0c7 100644 --- a/code/game/objects/structures/aliens.dm +++ b/code/game/objects/structures/aliens.dm @@ -53,7 +53,7 @@ name = "resin" desc = "Looks like some kind of thick resin." icon = 'icons/obj/smooth_structures/alien/resin_wall.dmi' - icon_state = "resin" + icon_state = "smooth" density = TRUE opacity = 1 anchored = TRUE @@ -77,7 +77,7 @@ name = "resin wall" desc = "Thick resin solidified into a wall." icon = 'icons/obj/smooth_structures/alien/resin_wall.dmi' - icon_state = "wall0" //same as resin, but consistency ho! + icon_state = "smooth" //same as resin, but consistency ho! resintype = "wall" canSmoothWith = list(/obj/structure/alien/resin/wall, /obj/structure/alien/resin/membrane) @@ -88,7 +88,7 @@ name = "resin membrane" desc = "Resin just thin enough to let light pass through." icon = 'icons/obj/smooth_structures/alien/resin_membrane.dmi' - icon_state = "membrane0" + icon_state = "smooth" opacity = 0 max_integrity = 160 resintype = "membrane" diff --git a/code/game/objects/structures/crates_lockers/closets/secure/supplypod.dm b/code/game/objects/structures/crates_lockers/closets/secure/supplypod.dm index ef786dda03..2fcf670101 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/supplypod.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/supplypod.dm @@ -65,6 +65,7 @@ //------------------------------------FALLING SUPPLY POD-------------------------------------// /obj/effect/temp_visual/DPfall icon = 'icons/obj/2x2.dmi' + icon_state = "supplypod_falling" pixel_x = -16 pixel_y = -5 pixel_z = 200 diff --git a/code/modules/antagonists/clockcult/clock_items/judicial_visor.dm b/code/modules/antagonists/clockcult/clock_items/judicial_visor.dm index a16a52d7aa..4cba81595f 100644 --- a/code/modules/antagonists/clockcult/clock_items/judicial_visor.dm +++ b/code/modules/antagonists/clockcult/clock_items/judicial_visor.dm @@ -151,6 +151,7 @@ desc = "You get the feeling that you shouldn't be standing here." clockwork_desc = "A sigil that will soon erupt and smite any unenlightened nearby." icon = 'icons/effects/96x96.dmi' + icon_state = "" pixel_x = -32 pixel_y = -32 layer = BELOW_MOB_LAYER diff --git a/code/modules/antagonists/slaughter/slaughter.dm b/code/modules/antagonists/slaughter/slaughter.dm index 9457e3a8c8..aea9a1862a 100644 --- a/code/modules/antagonists/slaughter/slaughter.dm +++ b/code/modules/antagonists/slaughter/slaughter.dm @@ -66,7 +66,7 @@ name = "pile of viscera" desc = "A repulsive pile of guts and gore." gender = NEUTER - random_icon_states = list("innards") + icon_state = "innards" /mob/living/simple_animal/slaughter/phasein() . = ..() diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index faef19529e..662100eb7f 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -831,7 +831,7 @@ set_module = /obj/item/robot_module/janitor /mob/living/silicon/robot/modules/syndicate - icon_state = "syndie_bloodhound" + icon_state = "synd_sec" faction = list(ROLE_SYNDICATE) bubble_icon = "syndibot" req_access = list(ACCESS_SYNDICATE) @@ -859,7 +859,7 @@ return /mob/living/silicon/robot/modules/syndicate/medical - icon_state = "syndi-medi" + icon_state = "synd_medical" playstyle_string = "You are a Syndicate medical cyborg!
    \ You are armed with powerful medical tools to aid you in your mission: help the operatives secure the nuclear authentication disk. \ Your hypospray will produce Restorative Nanites, a wonder-drug that will heal most types of bodily damages, including clone and brain damage. It also produces morphine for offense. \ diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index bdcde185d7..9926bc35fc 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -1,7 +1,7 @@ /obj/item/robot_module name = "Default" icon = 'icons/obj/module.dmi' - icon_state = "std_module" + icon_state = "std_mod" w_class = WEIGHT_CLASS_GIGANTIC item_state = "electronic" lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' diff --git a/code/modules/mob/living/simple_animal/bot/honkbot.dm b/code/modules/mob/living/simple_animal/bot/honkbot.dm index de7874351a..65b78bf844 100644 --- a/code/modules/mob/living/simple_animal/bot/honkbot.dm +++ b/code/modules/mob/living/simple_animal/bot/honkbot.dm @@ -2,7 +2,7 @@ name = "\improper honkbot" desc = "A little robot. It looks happy with its bike horn." icon = 'icons/mob/aibots.dmi' - icon_state = "honkbot" + icon_state = "honkbot1" density = FALSE anchored = FALSE health = 25 diff --git a/code/modules/projectiles/guns/misc/beam_rifle.dm b/code/modules/projectiles/guns/misc/beam_rifle.dm index ce2e11bec7..ee657a1d68 100644 --- a/code/modules/projectiles/guns/misc/beam_rifle.dm +++ b/code/modules/projectiles/guns/misc/beam_rifle.dm @@ -436,7 +436,7 @@ /obj/item/projectile/beam/beam_rifle name = "particle beam" - icon = "" + icon = null hitsound = 'sound/effects/explosion3.ogg' damage = 0 //Handled manually. damage_type = BURN diff --git a/code/modules/projectiles/projectile/special/curse.dm b/code/modules/projectiles/projectile/special/curse.dm index e5ac8126dd..adce5dad57 100644 --- a/code/modules/projectiles/projectile/special/curse.dm +++ b/code/modules/projectiles/projectile/special/curse.dm @@ -4,7 +4,7 @@ /obj/item/projectile/curse_hand name = "curse hand" - icon_state = "cursehand" + icon_state = "cursehand0" hitsound = 'sound/effects/curse4.ogg' layer = LARGE_MOB_LAYER damage_type = BURN @@ -19,10 +19,7 @@ /obj/item/projectile/curse_hand/Initialize(mapload) . = ..() handedness = prob(50) - update_icon() - -/obj/item/projectile/curse_hand/update_icon() - icon_state = "[icon_state][handedness]" + icon_state = "cursehand[handedness]" /obj/item/projectile/curse_hand/fire(setAngle) if(starting) diff --git a/icons/obj/objects.dmi b/icons/obj/objects.dmi index e94228f701d5dbd5174478e45cefc8d948d44736..b4431daf83c2141a88b0676c513fc16eb39c5c72 100644 GIT binary patch delta 49710 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 LQ%h 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%0D?&JD5 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 diff --git a/icons/turf/areas.dmi b/icons/turf/areas.dmi index a8a71e891d9136c6a6064a40b75cac85676ceebe..4e78e0444b5710ed8f676b98cf9616f3ea44fa88 100644 GIT binary patch delta 7292 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 delta 7215 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 From d4428a41146381c434bb6db1d74106f219c82471 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Mon, 14 May 2018 16:13:28 -0400 Subject: [PATCH 216/415] Merge pull request #37824 from DaxDupont/hud-icon Fixes curator hud icon --- icons/mob/hud.dmi | Bin 14216 -> 14214 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/hud.dmi b/icons/mob/hud.dmi index d694c0243a1b1aca345a3011f34955d1c36ea474..8fa3cefbb78fbd98c09028eeb49bd3e55f75eebe 100644 GIT binary patch delta 636 zcmV-?0)zdCZ-#G>BmohzC9?s4bE6WtVUc!wY+WwU5J5j_NR5*R2hRBklpE9meWxU- zzr?(Q7Su}*?dOk?)L45e1}>ho%hRMnrARSKSSfHamwN;{sFVzooa^yo1qR6EMs z97mI!NTK8Mxn`iNSuOog$GoQ_y~v67s+NAJC)8&x{ZN~ddpcSt@7loiF9x2Bp`DfF zNF6JI_<=OXh+&l@Q^BxaiVLJ2hOVU_Y8Uv3gB)WL6$CD0Ov{OF4@KrA@6x!ts%8t4qU4TILP@gwxqZ~*f8HM>BmJAO!RUIn9R%9sl4~==iT_bo>{OLuYu4KQ+ha>dUu> W>f!6->|Zn(T3^iXcM-Ed1V}UC8#aUh delta 638 zcmV-^0)hR8Z-{S@Bmon#C9?s4i_$15$b6*T9$T3UG(^x*8dBrr!GUvr0tE;4K;J0| z>M$|ypau2PLp%CoBsJEaih+wK?ea9SP$^Q35>yP1leyd@&_ShSP)}oeN+5M9*8-_6 zN%~F@0Z}m3xIn4nD5(Q`XA9-Wh;`6;U?o`S@((FAY)`St3gz2VB!Osu7$bW4m=dZT z0 zOdfh|*^xr3eGx3?fT!jCt3Igf=_d;9at38bU63xoDWGbmF6JEybt*^7;Dn=kp$>gm zYRC*^uOTy(y@t$C_8Kw+*=xuQWUnE!|HWR)4cYmy<<)$7_1lbp811=RG;!nw@G$TK z1y11?D4^TiEtEYtzp@9XSN6#4qu*skOwu1)f_I%FrQJvpxh!Gw%I8zW@LL From 9a1dfefb971ffbf1f9646d5b025684967144ff3a Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Mon, 14 May 2018 16:16:04 -0400 Subject: [PATCH 218/415] Merge pull request #37810 from 81Denton/techweb-electronics Adds basic electronics to techwebs --- .../modules/research/designs/autolathe_designs.dm | 15 ++++++++++----- code/modules/research/techweb/all_nodes.dm | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm index d1bcb952aa..28609e921d 100644 --- a/code/modules/research/designs/autolathe_designs.dm +++ b/code/modules/research/designs/autolathe_designs.dm @@ -126,42 +126,47 @@ /datum/design/apc_board name = "APC Module" id = "power control" - build_type = AUTOLATHE + build_type = AUTOLATHE | PROTOLATHE materials = list(MAT_METAL = 100, MAT_GLASS = 100) build_path = /obj/item/electronics/apc category = list("initial", "Electronics") + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING /datum/design/airlock_board name = "Airlock Electronics" id = "airlock_board" - build_type = AUTOLATHE + build_type = AUTOLATHE | PROTOLATHE materials = list(MAT_METAL = 50, MAT_GLASS = 50) build_path = /obj/item/electronics/airlock category = list("initial", "Electronics") + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING /datum/design/firelock_board name = "Firelock Circuitry" id = "firelock_board" - build_type = AUTOLATHE + build_type = AUTOLATHE | PROTOLATHE materials = list(MAT_METAL = 50, MAT_GLASS = 50) build_path = /obj/item/electronics/firelock category = list("initial", "Electronics") + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING /datum/design/airalarm_electronics name = "Air Alarm Electronics" id = "airalarm_electronics" - build_type = AUTOLATHE + build_type = AUTOLATHE | PROTOLATHE materials = list(MAT_METAL = 50, MAT_GLASS = 50) build_path = /obj/item/electronics/airalarm category = list("initial", "Electronics") + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING /datum/design/firealarm_electronics name = "Fire Alarm Electronics" id = "firealarm_electronics" - build_type = AUTOLATHE + build_type = AUTOLATHE | PROTOLATHE materials = list(MAT_METAL = 50, MAT_GLASS = 50) build_path = /obj/item/electronics/firealarm category = list("initial", "Electronics") + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING /datum/design/camera name = "Camera" diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 6b84712247..c29c8b7732 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -93,7 +93,7 @@ description = "A refresher course on modern engineering technology." prereq_ids = list("base") design_ids = list("solarcontrol", "recharger", "powermonitor", "rped", "pacman", "adv_capacitor", "adv_scanning", "emitter", "high_cell", "adv_matter_bin", - "atmosalerts", "atmos_control", "recycler", "autolathe", "high_micro_laser", "nano_mani", "mesons", "thermomachine", "rad_collector", "tesla_coil", "grounding_rod", "apc_control", "cell_charger") + "atmosalerts", "atmos_control", "recycler", "autolathe", "high_micro_laser", "nano_mani", "mesons", "thermomachine", "rad_collector", "tesla_coil", "grounding_rod", "apc_control", "cell_charger", "power control", "airlock_board", "firelock_board", "airalarm_electronics", "firealarm_electronics") research_cost = 7500 export_price = 5000 From 3b03fa3a37051cd06e90515438f2cf68a13b8b30 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Mon, 14 May 2018 16:17:57 -0400 Subject: [PATCH 220/415] Replaces loose tech storage boards with spawners --- _maps/map_files/BoxStation/BoxStation.dmm | 94 ++----------- .../map_files/Deltastation/DeltaStation2.dmm | 108 ++------------- _maps/map_files/MetaStation/MetaStation.dmm | 94 ++----------- _maps/map_files/PubbyStation/PubbyStation.dmm | 94 ++----------- .../game/objects/effects/spawners/lootdrop.dm | 116 +++++++++++++++- code/modules/vending/engivend.dm | 5 +- config/admins.txt | 130 ++++++++++++++++++ 7 files changed, 286 insertions(+), 355 deletions(-) diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index 650439de96..a422153bbb 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -33128,14 +33128,7 @@ /area/storage/tech) "bGt" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/borgupload{ - pixel_x = -1; - pixel_y = 1 - }, -/obj/item/circuitboard/computer/aiupload{ - pixel_x = 2; - pixel_y = -2 - }, +/obj/effect/spawner/lootdrop/techstorage/AI, /turf/open/floor/plasteel, /area/storage/tech) "bGu" = ( @@ -33152,45 +33145,20 @@ /area/storage/tech) "bGw" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/pandemic{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/circuitboard/computer/rdconsole, -/obj/item/circuitboard/machine/rdserver{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/circuitboard/machine/destructive_analyzer, /obj/structure/cable{ icon_state = "1-2" }, -/obj/item/circuitboard/computer/aifixer, -/obj/item/circuitboard/computer/teleporter, -/obj/item/circuitboard/machine/circuit_imprinter, -/obj/item/circuitboard/machine/mechfab, +/obj/effect/spawner/lootdrop/techstorage/rnd, /turf/open/floor/plating, /area/storage/tech) "bGx" = ( /obj/structure/rack, -/obj/item/circuitboard/machine/telecomms/processor, -/obj/item/circuitboard/machine/telecomms/receiver, -/obj/item/circuitboard/machine/telecomms/server, -/obj/item/circuitboard/machine/telecomms/bus, -/obj/item/circuitboard/machine/telecomms/broadcaster, -/obj/item/circuitboard/computer/message_monitor{ - pixel_y = -5 - }, +/obj/effect/spawner/lootdrop/techstorage/tcomms, /turf/open/floor/plating, /area/storage/tech) "bGy" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/mining, -/obj/item/circuitboard/machine/autolathe{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/circuitboard/computer/arcade/battle, +/obj/effect/spawner/lootdrop/techstorage/service, /turf/open/floor/plating, /area/storage/tech) "bGz" = ( @@ -33668,21 +33636,10 @@ /area/crew_quarters/theatre) "bHG" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/crew{ - pixel_x = -1; - pixel_y = 1 - }, -/obj/item/circuitboard/computer/card{ - pixel_x = 2; - pixel_y = -2 - }, -/obj/item/circuitboard/computer/communications{ - pixel_x = 5; - pixel_y = -5 - }, /obj/machinery/light/small{ dir = 8 }, +/obj/effect/spawner/lootdrop/techstorage/command, /turf/open/floor/plasteel, /area/storage/tech) "bHH" = ( @@ -34387,14 +34344,7 @@ /area/storage/tech) "bJh" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/robotics{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/circuitboard/computer/mecha_control{ - pixel_x = 1; - pixel_y = -1 - }, +/obj/effect/spawner/lootdrop/techstorage/RnD_secure, /turf/open/floor/plasteel, /area/storage/tech) "bJi" = ( @@ -34410,43 +34360,17 @@ /area/storage/tech) "bJk" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/cloning, -/obj/item/circuitboard/computer/med_data{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/circuitboard/machine/clonescanner, -/obj/item/circuitboard/machine/clonepod, -/obj/item/circuitboard/computer/scan_consolenew, -/obj/item/circuitboard/machine/smoke_machine, +/obj/effect/spawner/lootdrop/techstorage/medical, /turf/open/floor/plating, /area/storage/tech) "bJl" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/powermonitor{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/circuitboard/computer/stationalert{ - pixel_x = 1; - pixel_y = -1 - }, -/obj/item/circuitboard/computer/atmos_alert{ - pixel_x = 3; - pixel_y = -3 - }, +/obj/effect/spawner/lootdrop/techstorage/engineering, /turf/open/floor/plating, /area/storage/tech) "bJm" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/secure_data{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/circuitboard/computer/security{ - pixel_x = 1; - pixel_y = -1 - }, +/obj/effect/spawner/lootdrop/techstorage/security, /turf/open/floor/plating, /area/storage/tech) "bJn" = ( diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 9c869596c9..c0c19dc87b 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -32718,30 +32718,17 @@ /area/hallway/primary/port) "bwJ" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/robotics{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/circuitboard/computer/mecha_control, /obj/structure/cable/white{ icon_state = "4-8" }, /obj/effect/turf_decal/stripes/line{ dir = 10 }, +/obj/effect/spawner/lootdrop/techstorage/command, /turf/open/floor/plasteel, /area/storage/tech) "bwK" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/communications{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/circuitboard/computer/card, -/obj/item/circuitboard/computer/crew{ - pixel_x = 3; - pixel_y = -3 - }, /obj/structure/cable/white{ icon_state = "2-8" }, @@ -32752,25 +32739,18 @@ icon_state = "1-2" }, /obj/effect/turf_decal/stripes/line, +/obj/effect/spawner/lootdrop/techstorage/AI, /turf/open/floor/plasteel, /area/storage/tech) "bwL" = ( /obj/structure/rack, -/obj/item/circuitboard/aicore{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/circuitboard/computer/aiupload, -/obj/item/circuitboard/computer/borgupload{ - pixel_x = 3; - pixel_y = -3 - }, /obj/structure/cable/white{ icon_state = "4-8" }, /obj/effect/turf_decal/stripes/line{ dir = 6 }, +/obj/effect/spawner/lootdrop/techstorage/RnD_secure, /turf/open/floor/plasteel, /area/storage/tech) "bwM" = ( @@ -37169,32 +37149,14 @@ /area/storage/tech) "bET" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/scan_consolenew{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/circuitboard/computer/med_data, -/obj/item/circuitboard/computer/pandemic{ - pixel_x = 3; - pixel_y = -3 - }, /obj/effect/turf_decal/bot, -/obj/item/circuitboard/machine/smoke_machine, +/obj/effect/spawner/lootdrop/techstorage/service, /turf/open/floor/plasteel, /area/storage/tech) "bEU" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/aifixer{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/circuitboard/computer/rdconsole, -/obj/item/circuitboard/machine/rdserver{ - pixel_x = 3; - pixel_y = -3 - }, /obj/effect/turf_decal/bot, -/obj/item/circuitboard/machine/autolathe, +/obj/effect/spawner/lootdrop/techstorage/medical, /turf/open/floor/plasteel, /area/storage/tech) "bEV" = ( @@ -38079,30 +38041,14 @@ /area/storage/tech) "bGD" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/cloning{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/circuitboard/machine/clonescanner, -/obj/item/circuitboard/machine/clonepod{ - pixel_x = 3; - pixel_y = -3 - }, /obj/effect/turf_decal/bot, +/obj/effect/spawner/lootdrop/techstorage/security, /turf/open/floor/plasteel, /area/storage/tech) "bGE" = ( /obj/structure/rack, -/obj/item/circuitboard/machine/destructive_analyzer{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/circuitboard/machine/mechfab, -/obj/item/circuitboard/machine/circuit_imprinter{ - pixel_x = 3; - pixel_y = -3 - }, /obj/effect/turf_decal/bot, +/obj/effect/spawner/lootdrop/techstorage/rnd, /turf/open/floor/plasteel, /area/storage/tech) "bGF" = ( @@ -38971,7 +38917,6 @@ dir = 4 }, /obj/effect/turf_decal/bot, -/obj/item/circuitboard/machine/autolathe, /turf/open/floor/plasteel, /area/storage/tech) "bIu" = ( @@ -39924,31 +39869,16 @@ /area/storage/tech) "bKp" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/security{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/circuitboard/computer/prisoner, -/obj/item/circuitboard/computer/secure_data{ - pixel_x = 3; - pixel_y = -3 - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/bot, +/obj/item/electronics/apc, +/obj/item/electronics/airalarm, /turf/open/floor/plasteel, /area/storage/tech) "bKq" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/atmos_alert{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/circuitboard/computer/powermonitor, -/obj/item/circuitboard/computer/stationalert{ - pixel_x = 3; - pixel_y = -3 - }, /obj/effect/turf_decal/bot, +/obj/effect/spawner/lootdrop/techstorage/engineering, /turf/open/floor/plasteel, /area/storage/tech) "bKr" = ( @@ -40845,30 +40775,14 @@ pixel_y = 3 }, /obj/item/circuitboard/machine/teleporter_station, -/obj/item/circuitboard/computer/teleporter{ - pixel_x = 3; - pixel_y = -3 - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/storage/tech) "bMi" = ( /obj/structure/rack, -/obj/item/circuitboard/machine/telecomms/server{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/circuitboard/machine/telecomms/relay, -/obj/item/circuitboard/machine/telecomms/receiver, -/obj/item/circuitboard/machine/telecomms/processor, -/obj/item/circuitboard/machine/telecomms/hub, -/obj/item/circuitboard/machine/telecomms/bus, -/obj/item/circuitboard/machine/telecomms/broadcaster{ - pixel_x = 3; - pixel_y = -3 - }, /obj/effect/turf_decal/bot, +/obj/effect/spawner/lootdrop/techstorage/tcomms, /turf/open/floor/plasteel, /area/storage/tech) "bMj" = ( diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 303d28895d..dfe1d456af 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -7234,14 +7234,7 @@ /area/maintenance/port/fore) "apx" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/secure_data{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/circuitboard/computer/security{ - pixel_x = 1; - pixel_y = -1 - }, +/obj/effect/spawner/lootdrop/techstorage/service, /turf/open/floor/plasteel/dark, /area/storage/tech) "apy" = ( @@ -23157,45 +23150,20 @@ /area/storage/tech) "aYj" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/pandemic{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/circuitboard/computer/rdconsole, -/obj/item/circuitboard/machine/rdserver{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/circuitboard/machine/destructive_analyzer, -/obj/item/circuitboard/computer/aifixer, -/obj/item/circuitboard/computer/teleporter, -/obj/item/circuitboard/machine/circuit_imprinter, -/obj/item/circuitboard/machine/mechfab, +/obj/effect/spawner/lootdrop/techstorage/engineering, /turf/open/floor/plasteel/dark, /area/storage/tech) "aYk" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/mining, -/obj/item/circuitboard/machine/autolathe{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/circuitboard/computer/arcade/battle, /obj/machinery/ai_status_display{ pixel_y = 31 }, +/obj/effect/spawner/lootdrop/techstorage/medical, /turf/open/floor/plasteel/dark, /area/storage/tech) "aYl" = ( /obj/structure/rack, -/obj/item/circuitboard/machine/telecomms/processor, -/obj/item/circuitboard/machine/telecomms/receiver, -/obj/item/circuitboard/machine/telecomms/server, -/obj/item/circuitboard/machine/telecomms/bus, -/obj/item/circuitboard/machine/telecomms/broadcaster, -/obj/item/circuitboard/computer/message_monitor{ - pixel_y = -5 - }, +/obj/effect/spawner/lootdrop/techstorage/rnd, /turf/open/floor/plasteel/dark, /area/storage/tech) "aYm" = ( @@ -24761,14 +24729,7 @@ /area/maintenance/starboard/fore) "bbk" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/borgupload{ - pixel_x = -1; - pixel_y = 1 - }, -/obj/item/circuitboard/computer/aiupload{ - pixel_x = 2; - pixel_y = -2 - }, +/obj/effect/spawner/lootdrop/techstorage/AI, /turf/open/floor/plasteel/dark, /area/storage/tech) "bbl" = ( @@ -24799,15 +24760,7 @@ /area/storage/tech) "bbn" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/cloning, -/obj/item/circuitboard/computer/med_data{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/circuitboard/machine/clonescanner, -/obj/item/circuitboard/machine/clonepod, -/obj/item/circuitboard/computer/scan_consolenew, -/obj/item/circuitboard/machine/smoke_machine, +/obj/effect/spawner/lootdrop/techstorage/security, /turf/open/floor/plasteel/dark, /area/storage/tech) "bbo" = ( @@ -24815,19 +24768,8 @@ /area/maintenance/solars/port/fore) "bbp" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/powermonitor{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/circuitboard/computer/stationalert{ - pixel_x = 1; - pixel_y = -1 - }, -/obj/item/circuitboard/computer/atmos_alert{ - pixel_x = 3; - pixel_y = -3 - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/spawner/lootdrop/techstorage/tcomms, /turf/open/floor/plasteel/dark, /area/storage/tech) "bbq" = ( @@ -25325,18 +25267,7 @@ /area/storage/tech) "bcv" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/crew{ - pixel_x = -1; - pixel_y = 1 - }, -/obj/item/circuitboard/computer/card{ - pixel_x = 2; - pixel_y = -2 - }, -/obj/item/circuitboard/computer/communications{ - pixel_x = 5; - pixel_y = -5 - }, +/obj/effect/spawner/lootdrop/techstorage/RnD_secure, /turf/open/floor/plasteel/dark, /area/storage/tech) "bcw" = ( @@ -26032,14 +25963,7 @@ /area/maintenance/starboard/fore) "bdX" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/robotics{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/circuitboard/computer/mecha_control{ - pixel_x = 1; - pixel_y = -1 - }, +/obj/effect/spawner/lootdrop/techstorage/command, /turf/open/floor/plasteel/dark, /area/storage/tech) "bdY" = ( diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index 0cff240758..573dc2c707 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -38600,34 +38600,14 @@ /area/storage/tech) "bQv" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/pandemic{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/circuitboard/computer/rdconsole, -/obj/item/circuitboard/machine/rdserver{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/circuitboard/machine/destructive_analyzer, -/obj/item/circuitboard/computer/aifixer, -/obj/item/circuitboard/computer/teleporter, -/obj/item/circuitboard/machine/circuit_imprinter, -/obj/item/circuitboard/machine/mechfab, /obj/structure/sign/poster/official/random{ pixel_y = 32 }, -/obj/item/circuitboard/machine/smoke_machine, +/obj/effect/spawner/lootdrop/techstorage/engineering, /turf/open/floor/plasteel/darkgreen, /area/storage/tech) "bQw" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/mining, -/obj/item/circuitboard/machine/autolathe{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/circuitboard/computer/arcade/battle, /obj/machinery/light{ dir = 1; light_color = "#cee5d2" @@ -38637,18 +38617,12 @@ dir = 2 }, /obj/item/circuitboard/computer/monastery_shuttle, +/obj/effect/spawner/lootdrop/techstorage/service, /turf/open/floor/plasteel/darkgreen, /area/storage/tech) "bQx" = ( /obj/structure/rack, -/obj/item/circuitboard/machine/telecomms/processor, -/obj/item/circuitboard/machine/telecomms/receiver, -/obj/item/circuitboard/machine/telecomms/server, -/obj/item/circuitboard/machine/telecomms/bus, -/obj/item/circuitboard/machine/telecomms/broadcaster, -/obj/item/circuitboard/computer/message_monitor{ - pixel_y = -5 - }, +/obj/effect/spawner/lootdrop/techstorage/rnd, /turf/open/floor/plasteel/darkgreen, /area/storage/tech) "bQy" = ( @@ -39226,42 +39200,17 @@ /area/storage/tech) "bRO" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/cloning, -/obj/item/circuitboard/computer/med_data{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/circuitboard/machine/clonescanner, -/obj/item/circuitboard/machine/clonepod, -/obj/item/circuitboard/computer/scan_consolenew, +/obj/effect/spawner/lootdrop/techstorage/medical, /turf/open/floor/plasteel/darkgreen, /area/storage/tech) "bRP" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/secure_data{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/circuitboard/computer/security{ - pixel_x = 1; - pixel_y = -1 - }, +/obj/effect/spawner/lootdrop/techstorage/tcomms, /turf/open/floor/plasteel/darkgreen, /area/storage/tech) "bRQ" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/powermonitor{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/circuitboard/computer/stationalert{ - pixel_x = 1; - pixel_y = -1 - }, -/obj/item/circuitboard/computer/atmos_alert{ - pixel_x = 3; - pixel_y = -3 - }, +/obj/effect/spawner/lootdrop/techstorage/security, /turf/open/floor/plasteel/darkgreen, /area/storage/tech) "bRR" = ( @@ -41189,46 +41138,21 @@ /area/crew_quarters/heads/chief) "bWs" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/robotics{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/circuitboard/computer/mecha_control{ - pixel_x = 1; - pixel_y = -1 - }, +/obj/effect/spawner/lootdrop/techstorage/AI, /turf/open/floor/plasteel/darkred, /area/storage/tech) "bWt" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/crew{ - pixel_x = -1; - pixel_y = 1 - }, -/obj/item/circuitboard/computer/card{ - pixel_x = 2; - pixel_y = -2 - }, -/obj/item/circuitboard/computer/communications{ - pixel_x = 5; - pixel_y = -5 - }, /obj/machinery/camera{ c_tag = "Secure Tech Storage"; dir = 1 }, +/obj/effect/spawner/lootdrop/techstorage/RnD_secure, /turf/open/floor/plasteel/darkred, /area/storage/tech) "bWu" = ( /obj/structure/rack, -/obj/item/circuitboard/computer/borgupload{ - pixel_x = -1; - pixel_y = 1 - }, -/obj/item/circuitboard/computer/aiupload{ - pixel_x = 2; - pixel_y = -2 - }, +/obj/effect/spawner/lootdrop/techstorage/command, /turf/open/floor/plasteel/darkred, /area/storage/tech) "bWv" = ( diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm index 0bf7edbd7b..bd4237a9db 100644 --- a/code/game/objects/effects/spawners/lootdrop.dm +++ b/code/game/objects/effects/spawners/lootdrop.dm @@ -5,7 +5,7 @@ var/lootcount = 1 //how many items will be spawned var/lootdoubles = TRUE //if the same item can be spawned twice var/list/loot //a list of possible items to spawn e.g. list(/obj/item, /obj/structure, /obj/effect) - var/fan_out_items = FALSE //Whether the items should be distributed to offsets 0,3,-3,6,-6,9,-9.. This overrides pixel_x/y on the spawner itself + var/fan_out_items = FALSE //Whether the items should be distributed to offsets 0,1,-1,2,-2,3,-3.. This overrides pixel_x/y on the spawner itself /obj/effect/spawner/lootdrop/Initialize(mapload) ..() @@ -26,7 +26,7 @@ spawned_loot.pixel_y = pixel_y else if (loot_spawned) - spawned_loot.pixel_x = spawned_loot.pixel_y = ((!(loot_spawned%2)*loot_spawned/2)*-3)+((loot_spawned%2)*(loot_spawned+1)/2*3) + spawned_loot.pixel_x = spawned_loot.pixel_y = ((!(loot_spawned%2)*loot_spawned/2)*-1)+((loot_spawned%2)*(loot_spawned+1)/2*1) loot_spawned++ return INITIALIZE_HINT_QDEL @@ -206,3 +206,115 @@ /obj/item/aiModule/core/full/thermurderdynamic, /obj/item/aiModule/core/full/damaged ) + +// Tech storage circuit board spawners +// For these, make sure that lootcount equals the number of list items + +/obj/effect/spawner/lootdrop/techstorage + name = "generic circuit board spawner" + lootdoubles = FALSE + fan_out_items = TRUE + +/obj/effect/spawner/lootdrop/techstorage/service + name = "service circuit board spawner" + lootcount = 10 + loot = list( + /obj/item/circuitboard/computer/arcade/battle, + /obj/item/circuitboard/computer/arcade/orion_trail, + /obj/item/circuitboard/machine/autolathe, + /obj/item/circuitboard/computer/mining, + /obj/item/circuitboard/machine/ore_redemption, + /obj/item/circuitboard/machine/mining_equipment_vendor, + /obj/item/circuitboard/machine/microwave, + /obj/item/circuitboard/machine/chem_dispenser/drinks, + /obj/item/circuitboard/machine/chem_dispenser/drinks/beer, + /obj/item/circuitboard/computer/slot_machine + ) + +/obj/effect/spawner/lootdrop/techstorage/rnd + name = "RnD circuit board spawner" + lootcount = 8 + loot = list( + /obj/item/circuitboard/computer/aifixer, + /obj/item/circuitboard/machine/rdserver, + /obj/item/circuitboard/computer/pandemic, + /obj/item/circuitboard/machine/mechfab, + /obj/item/circuitboard/machine/circuit_imprinter/department, + /obj/item/circuitboard/computer/teleporter, + /obj/item/circuitboard/machine/destructive_analyzer, + /obj/item/circuitboard/computer/rdconsole + ) + +/obj/effect/spawner/lootdrop/techstorage/security + name = "security circuit board spawner" + lootcount = 3 + loot = list( + /obj/item/circuitboard/computer/secure_data, + /obj/item/circuitboard/computer/security, + /obj/item/circuitboard/computer/prisoner + ) + +/obj/effect/spawner/lootdrop/techstorage/engineering + name = "engineering circuit board spawner" + lootcount = 3 + loot = list( + /obj/item/circuitboard/computer/atmos_alert, + /obj/item/circuitboard/computer/stationalert, + /obj/item/circuitboard/computer/powermonitor + ) + +/obj/effect/spawner/lootdrop/techstorage/tcomms + name = "tcomms circuit board spawner" + lootcount = 9 + loot = list( + /obj/item/circuitboard/computer/message_monitor, + /obj/item/circuitboard/machine/telecomms/broadcaster, + /obj/item/circuitboard/machine/telecomms/bus, + /obj/item/circuitboard/machine/telecomms/server, + /obj/item/circuitboard/machine/telecomms/receiver, + /obj/item/circuitboard/machine/telecomms/processor, + /obj/item/circuitboard/machine/announcement_system, + /obj/item/circuitboard/computer/comm_server, + /obj/item/circuitboard/computer/comm_monitor + ) + +/obj/effect/spawner/lootdrop/techstorage/medical + name = "medical circuit board spawner" + lootcount = 8 + loot = list( + /obj/item/circuitboard/computer/cloning, + /obj/item/circuitboard/machine/clonepod, + /obj/item/circuitboard/machine/chem_dispenser, + /obj/item/circuitboard/computer/scan_consolenew, + /obj/item/circuitboard/computer/med_data, + /obj/item/circuitboard/machine/smoke_machine, + /obj/item/circuitboard/machine/chem_master, + /obj/item/circuitboard/machine/clonescanner + ) + +/obj/effect/spawner/lootdrop/techstorage/AI + name = "secure AI circuit board spawner" + lootcount = 3 + loot = list( + /obj/item/circuitboard/computer/aiupload, + /obj/item/circuitboard/computer/borgupload, + /obj/item/circuitboard/aicore + ) + +/obj/effect/spawner/lootdrop/techstorage/command + name = "secure command circuit board spawner" + lootcount = 3 + loot = list( + /obj/item/circuitboard/computer/crew, + /obj/item/circuitboard/computer/communications, + /obj/item/circuitboard/computer/card + ) + +/obj/effect/spawner/lootdrop/techstorage/RnD_secure + name = "secure RnD circuit board spawner" + lootcount = 3 + loot = list( + /obj/item/circuitboard/computer/mecha_control, + /obj/item/circuitboard/computer/apc_control, + /obj/item/circuitboard/computer/robotics + ) diff --git a/code/modules/vending/engivend.dm b/code/modules/vending/engivend.dm index a990ee901f..0e2b31037f 100644 --- a/code/modules/vending/engivend.dm +++ b/code/modules/vending/engivend.dm @@ -13,7 +13,10 @@ /obj/item/stock_parts/cell/high = 10, /obj/item/electronics/airlock = 10, /obj/item/electronics/apc = 10, - /obj/item/electronics/airalarm = 10) + /obj/item/electronics/airalarm = 10, + /obj/item/electronics/firealarm = 10, + /obj/item/electronics/firelock = 10 + ) contraband = list(/obj/item/stock_parts/cell/potato = 3) premium = list(/obj/item/storage/belt/utility = 3, /obj/item/storage/box/smart_metal_foam = 1) diff --git a/config/admins.txt b/config/admins.txt index ca77fd3f4a..807b4d89d5 100644 --- a/config/admins.txt +++ b/config/admins.txt @@ -7,3 +7,133 @@ # NOTE: if the rank-name cannot be found in admin_ranks.txt, they will not be adminned! ~Carn # # NOTE: syntax was changed to allow hyphenation of ranknames, since spaces are stripped. # ############################################################################################### +<<<<<<< HEAD +======= +Optimumtact = Host +NewSta = Game Master +Expletives = Game Master +kingofkosmos = Game Master +MrStonedOne = Lazy Master +microscopics = Game Master +Gun Hog = Game Master +KorPhaeron = Game Master +razharas = Game Master +Lordpidey = Game Master +Niknakflak = Game Master +rolan7 = Game Master +quarxink = Game Master +adrix89 = Game Master +tle = Game Master +xsi = Game Master +scaredofshadows = Game Master +neofite = Game Master +trubblebass = Game Master +mport2004 = Game Master +deuryn = Game Master +agouri = Game Master +errorage = Game Master +superxpdude = Game Master +petethegoat = Game Master +nodrak = Game Master +carnwennan = Game Master +ikarrus = Game Master +cheridan = Game Master +giacomand = Game Master +rockdtben = Game Master +sieve = Game Master +aranclanos = Game Master +intigracy = Game Master +dumpdavidson = Game Master +kazeespada = Game Master +malkevin = Game Master +incoming = Game Master +demas = Game Master +fleure = Game Master +ricotez = Game Master +misterperson = Game Master +crimsonvision = Game Master +iamgoofball = Game Master +zelacks = Game Master +androidsfv = Game Master +miggles = Game Master +jordie0608 = Game Master +s0ldi3rkr4s0 = Game Master +ergovisavi = Game Master +vistapowa = Game Master +miauw62 = Game Master +rumia29 = Game Master +bobylein = Game Master +sirbayer = Game Master +hornygranny = Game Master +yota = Game Master +firecage = Game Master +donkieyo = Game Master +argoneus = Game Master +paprka = Game Master +cookingboy3 = Game Master +limeliz = Game Master +steelpoint = Game Master +phil235 = Game Master +CorruptComputer = Game Master +xxnoob = Game Master +tkdrg = Game Master +Cuboos = Game Master +thunder12345 = Game Master +wjohnston = Game Master +mandurrh = Game Master +thurgatar = Game Master +xerux = Game Master +dannno = Game Master +lo6a4evskiy = Game Master +vekter = Game Master +Ahammer18 = Game Master +ACCount12 = Game Master +fayrik = Game Master +shadowlight213 = Game Master +drovidicorv = Game Master +Dunc = Game Master +MMMiracles = Game Master +bear1ake = Game Master +CoreOverload = Game Master +Jalleo = Game Master +ChangelingRain = Game Master +FoxPMcCloud = Game Master +Xhuis = Game Master +Astralenigma = Game Master +Tokiko1 = Game Master +SuperSayu = Game Master +Lzimann = Game Master +As334 = Game Master +neersighted = Game Master +Swankcookie = Game Master +Ressler = Game Master +Folix = Game Master +Bawhoppennn = Game Master +Anturke = Host +Lumipharon = Game Master +bgobandit = Game Master +coiax = Game Master +RandomMarine = Game Master +PKPenguin321 = Game Master +TechnoAlchemist = Game Master +Aloraydrel = Game Master +Quiltyquilty = Game Master +SnipeDragon = Game Master +Fjeld = Game Master +kevinz000 = Game Master +Tacolizard = Game Master +TrustyGun = Game Master +Cyberboss = Game Master +PJB3005 = Game Master +Sweaterkittens = Game Master +Feemjmeem = Game Master +JStheguy = Game Master +excessiveuseofcobby = Game Master +Plizzard = Game Master +octareenroon91 = Game Master +Serpentarium = Game Master +Averagejoe82 = Game Master +The Dreamweaver = Game Master +88Naoki = Game Master +Naksuasdf = Game Master +>>>>>>> 3653239... Merge pull request #37785 from 81Denton/circboard_spawners From ef7be078b59a41aa2b0ccec0dd850e2ff175edb4 Mon Sep 17 00:00:00 2001 From: oranges Date: Tue, 15 May 2018 09:50:32 +1200 Subject: [PATCH 221/415] Merge pull request #37851 from AutomaticFrenzy/patch/jquery-tooltips-2 Send jquery asset when initializing tooltips --- code/modules/client/asset_cache.dm | 17 ++++++++++++----- code/modules/tooltip/tooltip.dm | 2 ++ 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/code/modules/client/asset_cache.dm b/code/modules/client/asset_cache.dm index 3c865b6ec6..d3c09b2348 100644 --- a/code/modules/client/asset_cache.dm +++ b/code/modules/client/asset_cache.dm @@ -157,9 +157,7 @@ GLOBAL_LIST_EMPTY(asset_datums) //get an assetdatum or make a new one /proc/get_asset_datum(var/type) - if (!(type in GLOB.asset_datums)) - return new type() - return GLOB.asset_datums[type] + return GLOB.asset_datums[type] || new type() /datum/asset var/_abstract = /datum/asset @@ -496,12 +494,21 @@ GLOBAL_LIST_EMPTY(asset_datums) ) /datum/asset/group/goonchat - children = list(/datum/asset/simple/goonchat, /datum/asset/spritesheet/goonchat) + children = list( + /datum/asset/simple/jquery, + /datum/asset/simple/goonchat, + /datum/asset/spritesheet/goonchat + ) + +/datum/asset/simple/jquery + verify = FALSE + assets = list( + "jquery.min.js" = 'code/modules/goonchat/browserassets/js/jquery.min.js', + ) /datum/asset/simple/goonchat verify = FALSE assets = list( - "jquery.min.js" = 'code/modules/goonchat/browserassets/js/jquery.min.js', "json2.min.js" = 'code/modules/goonchat/browserassets/js/json2.min.js', "errorHandler.js" = 'code/modules/goonchat/browserassets/js/errorHandler.js', "browserOutput.js" = 'code/modules/goonchat/browserassets/js/browserOutput.js', diff --git a/code/modules/tooltip/tooltip.dm b/code/modules/tooltip/tooltip.dm index 5110b98e8e..ab7dc91739 100644 --- a/code/modules/tooltip/tooltip.dm +++ b/code/modules/tooltip/tooltip.dm @@ -42,6 +42,8 @@ Notes: /datum/tooltip/New(client/C) if (C) owner = C + var/datum/asset/stuff = get_asset_datum(/datum/asset/simple/jquery) + stuff.send(owner) owner << browse(file2text('code/modules/tooltip/tooltip.html'), "window=[control]") ..() From fd63ae9dbfa205c00313f7e00fc7d1710cd83d4c Mon Sep 17 00:00:00 2001 From: deathride58 Date: Mon, 14 May 2018 19:21:11 -0400 Subject: [PATCH 223/415] Poojawa is gone, comrade --- .github/CODEOWNERS | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index fc3f2852fc..00dc7b1d10 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -7,15 +7,5 @@ #deathride58 /modular_citadel/ @deathride58 -#LetterJay -/modular_citadel/code/modules/client/loadout/__donator.dm @LetterJay - -#Poojawa - -/modular_citadel/code/modules/vore @Poojawa -/code/game/objects/items/devices/dogborg_sleeper.dm @Poojawa -/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm @Poojawa -/tgui/ @Poojawa -/modular_citadel/code/modules/clothing/spacesuits/flightsuit.dm @Poojawa -/modular_citadel/code/game/objects/ids.dm @Poojawa -/sound/vore @Poojawa \ No newline at end of file +#LetterJay +/modular_citadel/code/modules/client/loadout/__donator.dm @LetterJay From a7b5415a193c56f8aeaea646f5d895fddff31e6e Mon Sep 17 00:00:00 2001 From: YPOQ <30683121+YPOQ@users.noreply.github.com> Date: Mon, 14 May 2018 17:55:08 -0600 Subject: [PATCH 224/415] Fixes wumborian fugu dead sprite (#37832) --- .../simple_animal/hostile/wumborian_fugu.dm | 2 +- icons/mob/lavaland/64x64megafauna.dmi | Bin 49152 -> 50441 bytes icons/mob/lavaland/lavaland_monsters.dmi | Bin 139156 -> 139160 bytes 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm index 4c9c916085..4917d3b74d 100644 --- a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm +++ b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm @@ -9,7 +9,7 @@ icon_dead = "Fugu_dead" icon_gib = "syndicate_gib" mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) - mouse_opacity = MOUSE_OPACITY_OPAQUE + mouse_opacity = MOUSE_OPACITY_ICON move_to_delay = 5 friendly = "floats near" speak_emote = list("puffs") diff --git a/icons/mob/lavaland/64x64megafauna.dmi b/icons/mob/lavaland/64x64megafauna.dmi index 64304fdcd1f9462a23e266cdc229b6e1c13859cf..1794c789ded4397f04af21d1f9379c83ef4420e7 100644 GIT binary patch literal 50441 zcmXt9V|1iV(@vh)wr$(C?POznW81c|v5ieK+1TdBw(Weg?>XO(IWyf;U02oJb$3-) zS4Sx;N+H1F!h(Q+Ajn9ItAc=l3IjhN(2&5M{?Ynj;8%&ay7o_Tb5~OrYp0*qjt(Fo zp1E-|J+S@E_~17@UeUicOM~{(CDvrapD@T1du4?2#v=UuA`sn_&pmJUJF1<}W^6>c zXunD_eKSes2yv$|9h*W18xJRw+8OIf%=2JS)1ubGJNG7EGKuG0+~eL9VNgv>tzmW> zX>N6D&9TJRF4hiOU?v#5k{++$0S!f~^A`Z@Xofwe$9u6j|FhY+=w6VWe(U1RoWeH{ z5MmG+aS?UT+>1PqT#TjH?`=y9hrfmvCq48U;#H9qDt2=fQIY}C{lV0@rrvDZ*c?%m z!-Ip^jfH{G!4!=iL(y`|$jGMz?v>9Dz4qf?{s9}CX;l@rfZNBZ{+TSc z07+;ku=y-`{6f%|HHwVH%BVQTxjnnht_+6T?A52uu9Ynw*Q2%N^d+lH zM5M6t0&h`754*FHJ2Ard5?6rDOK;tGz-<5=g+bT4dzX8gHpvKAnrj7T@sI;r)GEk0 zG~!>$oU#->?VT3u_2tu*u4j^UUlrd<@RzsLs3xxg?^A%!v++8<8#WBDmPVuV0PpLR zG4x(_AXC-1niBtQ+VXerOK-%G>oIR~&hZOnd_W{5ewhFHUV@RV%0=J5NHLA1;nFY&AKOwH~&x^gGMFG}~z7fI+tu%0V z0=8rWzAD7|03!jVY(Y7KaadpXTa#sm*B!dre@a2cl*hWd%i|m$P}&GL5ueqD|>5Kh$5L4(nB|+9j z1mBm&@E*;6u7Kg-RvoGP{#B-FNB*UE&?RJ0-W?cUk__*Vdr@<_8WJCF)T-+Nt0WavabEBm zOS$sfSqyyF<4i=$*V9nY!AdL=9UYC&qr_VrPtx6;OBToZ4(E52Rr!w5<{QYY^^b3{ zHfzcrvC~cX_Bu=&Msw*Cx}v9JNj92|w;%5G4ms+K7%3Cx4-cOsWv|?Sz)~p3G1!Pc z60kF&C>2r*0{Z=GGW8itVYAoqE3UP0{>@FB&+0gIt|Sq8N)uZ!n%hDL$-r0)`tXz! zwS(@ib}n<46E-;-SK4j~d`j^KfA<^j$gE_|9J6w`2(igACi*J5TAPv9^$wJ0-D*%q z6ByYa@HU?YvvKY^8`&yfLth?nt3SaCdL28tu78`1^RQu4G2OpTkz#Y7#!{ZRQpOJl z?`O&_zrSKXhurA>?_`$k>x++jDGU~Psnz-=XUOp5g2Sz!H>qSpH{`SB0&WJB7Qa1& zUZYx=XhqlB_9tb~yza&Oa61Vuezb5{;(4rThBCXXVlF$4BJ2 zCU%5L!7Df>0}=|Q0td!aSvvLG-m>K^rZj&&zkUh(Jrl&#<33eH5?}|Z6%I~=II!+} zX1YV~r62R@%F(CYUKR@OhLWMU$jLH$bhSC+#7BrwQw2M)+t;R=dYnR240QmmOAJ;T z#qlSe^FT1btfWf`H=W)Z=m_X>r3d9nP-;`7Q6`)a$Nf zXvnyo-S}tO9soQl3}a%bJi|nVev?o37VC2&;DuGy^&$Po`_pbF;u1Zj`FM8{s{5i zu}j{c+j839-k;a+_iyLt;Ps^v-}Th54Ee0nEMOBX zX{$8$+)={&miknvQQRbvU?=j!x9GRI$;F-}%n9-e2(O!bBl}%XtGLi%{o=(u@lk`D zAfn^ssByf2oZddzw<+|lz)UrVrT1ihqvBC0ErsyiT`W ziX|I0zrTNA9HMHxCqN0)W)-s}5$mhMQs>s@WPZ<1)|+X*ED3G6NM||vIi=gw!xEA;^v34A$;i&#{?(_QwHKQfR(`|p6ucYio%>lHWY za+F&8xYL7UDT3;fK}vi#aU4ZsrC?M4>dv2ARiin37g z%iIv-Ew0^>pAyNWwHBat9X827nF|Z$Jlx%`72NCz{N5h-({mhAMi@)W%EHgTjsp;* zeFVI`Ixo0)G`~MAg;F@<#d!Bs)%4^H9SE8DU(szQC=Cl(RX8D?4j;Z_UzFH1^*Ln5 z(G#6t*Xr!~)z(1C(D&v>zQ&?{Nsb3gTsv=mf6Vx^3JG@V={cmk2Dp8S z_b71qV_3F)^pw735?FVJ$I>uQsw!l>FOvO`sH(Y#6AzTdXt}`AZx5rr^`&*s#jMI zKPR@!qZ_SAF6AZGtujmfmxBd1I1srsYlD`5k95+STt9%7PmefLI3ZueE*}&VlnxEw z+mB7ez1GE)gMFwE_pw`V1E7WMc};NKcW7F0;-idt0m#>jZIR=UaZmhIhu+$#gSE=k z>9@W&0wc4*j)9P@x}zNIo#BJGq&GYU#!I+#B3lLghUwO$Dv)^;#G_HFDr=w^QOJl9 z&@?Xr`;142SVkl|je+s7*#_I~{%>SD8<_`G&s*hXinLfbtg$L1@#J}mD!28|P6i3Y zd1aeh1P}N6v}rQ3>?7FBCT|zt(5Suvcb>NhAw9U>*nz>8U8$}3LN>E1@I->48AiTg z;{<%vn@v&I)48Sj1*|f#qL?#iM+s`>Ra8t&87#eT7>z%}wFtkVaM(gC!FZ|gn5*_z zi=Bfm`!dSEZR-J)<@xSb)t@mx3|~F1`HV?TN8&#h0mo?x8P9B>1`HuK3_r2`@Efyv zyO*j@%yAa2j4RaSS<%haWLQ={W**PVRreWGdRypKb6u zPIn`gHhX(@yq6b~&r4s4HRYm;R!?k2KcRL~(HomhNJ_&^a_VtVSUSy?%eU)a?~f<) zBMAA6+X^sh-5jx$fDr^u^>w!Jg*NYrrFMAUt>4I!vc9ra1l-;9gmbRPlqw%2ca|Az z`gSXyTbKLbfF$nx@S3OHb!W1RDOlIf$bbgZ=i8uV+uw*6jqXzXhpX}SdihvfY^VEd zb-k3P6&)H{j?KT41;&2z&nN@u8dg-3zhsib7-lc6toP}@qu*#1!q9n%+>0sDq*S;s z8Dz^*+SR-pRVZ(-A8xwbcV686dTn5O)93FdfNVRPMNZ(SSLer(k5FQp6v2>tP-TWv zYO9yT;u1%L?`s4+4sR$N6E_i4TFHHxo84c%Da0|uU)nTVa64aPXx}TFp`B>MGQ-Rj z%gCCu&~{H@a&%m?1flYo21tvog;B^+(uAB#X!ioLXusR_3*_sJg4DEkh6rhVBj_#zj2-$K%Dz5eG0 zz0%e_KObKU)*Qc1R6gFW_->#ckHeveh^e^xX96As{MFGdB&=Dsvwd*`Hg%>5*URMm zz=VF=bsx|TmA!#`JwDdbJo%4S*ITOj1^br1%$e_(0x5j#a(b_7j`UKLOo5|?XkqW~ ziTo0BH=w!rUqHSJzy2YO5(%8Cy#syNYqC~n?b6t_<@S5f$E{L8GQ_op?=Ij-5$71( zaPW!cQW9x|xgl-GQ`gR(T5mQU)QZ7sB}R@r_{nz!j-LwpzjfBsOB;LBFzCZ0?xGET zK9F@bd1PmK3ilmbC}L)@6M0HPSSeH98v+z(a66^JrxthL1~y&3bk@r@!$E-chNVYX zZv&kEuI-&dhy!KK1ACX6b<6Rb|I@4yE7vUvaX$OrArRzqajt zH@@ISe*S`$$}B5}?lfcS(JR}&Ih7upa>q~hofY0#V8;SwApQ@vj^lGf5Dzdo zh|prL^ya|aUa#4RJf2`MGJB*S#l2+-8j}>@L4SB1rj2~ND(^XW3 z9DlBe(?Z+Ukzh?S^M2m?xCmCmUgDbEn8zRf{Gy>B_@Q24sLn+hIaGC;ma>jpOo(cz z$Vhj#z^zD=cYp6`wJG^AwVw4Zv~Bih)=<3b!T3$c$kK&W#@7;~_0}f!+L$(^wY4?2 zGG0ce(lv4Ve%sUF%>BC1bl6n=wM3Jwm(Q_VWO=BHg&{^|B;lxJZX{qA;Ho}|h!=$R zJP7o%XeHNBcW?qWGGpI`SRCCEGGWQVIaz2B5t8DY)IkV^A`)ke*NeIvtR@gGpojFP zJ+b(6ej4~}gIghE=_IOS$k1gOe%4?Gx;#w_@PDg(z~#@3Zned6?h8BMwr3_)p&u|i zX&`AipHG82p57lQop^maEjPKW>DOrq40`s*mwp0Mkm!y#uPe&|4T<|UpmVwkbyg*? ziVkD|%{Cr~i<5YZBk|-tphfj#vkAm+ZnTs8z-gF?*9Q?w26^y2V<9|r^2H9x?as@QHw1Ld) z&YKQG4zV4=fvEQx+ndBn{G3|(0Y@}{JB)j3yw6ll^*iHIwzIdZ4m=i=0%&ozsqn{& zY8+=YNrVFRg`84RyF{Sk&41*;@*y9-kj7KvQ>@Ac3h!I6I&a^b z%o#@FBXrb0WL`GFJNBw%_M(+Btn%v>8k&nxn4lXNnxp2LSMi|@y4lZ{9nCg>Bgpfc zGq>(SL$t+Rb`4fnSJu=H#fW1sl>;B5txlH%m^~{^8`Qgy2i9sBx;UAgQrYT-t!!M) z;bX5zFkM|Xxw&x+L(q+=L9pzM=`W&0TWp56f7|O*byzxRtMf8w-vTG<$)g@;R#_Dj z>e=kPprZj!g42asx^ZUcQxJlL1>*j^DGF9EFYfd)L?+?DGyr93SkiJ*($0dC0Li!a zIYQ^|Z=-S7nckPmHv^xk=OqQMuV`KK+eZ;Uy)INd7g3901GygK z!ox;C@q2T)vk8`3$zfwU9VO4T;5N8S%Yco)Dh3nRl<^iH5+lxAG+>o*5n23C;%^UU zGBb*K6*^t%_DUZi^}vlVryeKkKdkH3;f}ntP|f;-iz@-1*Ep?za=pN9mkvxYIgj)Q zsJP5bYEtypBb~|BHg%j18#!NcY&*6B6wKE^!&7Egb)8Zp(FzF|R*M@zsiaG#IoWqg zSy{H9O+g?{pmg~%(-~l?QZtl(=y(>}%g2D&Te9Y(MRLnFfc_^G$+5gVym#wKpJF8r zF7*d9wN`?M8eeEuk@gSdz?jBelx+f1*o;EpD{OiP==BPFVs%p%PU>Dq@qcdzhc_=J zc4Pe|)@u05vsThUX@TXmHs*WHgZ*V=u}efZ#aqhS6D*_c{IpytOHcZqSjd&)G{SQMY*oV z1&gW@43n<&l$u%z-vVOjin_|uB3G_uZ_qFSZ&nv!BlwAa7dx*hSaa4X2J0xdb9LGKp)t2RwrT>By-!d*Bfbt4~Pwl7w@yg)+5 z&$Xz3? z^L4UzEXWGD!QRW5IrzP=Mp_~XIK)9=z z6c;Je{dvPJWAP1?V~B$O>qbnm*N&I(d6@gWh7Ft38@&?nSy@+0l_c-{0ikA%7L;9V z;*iZFx9R+T$r8CG72L5=q5*!tf;hsBQqc_d!(2$mWg3r#XHC{TDQ z;IT;&&}~^I>mwLC(BVJpG6@EWbTKo#A5Woq%cz0JRU|;95{(p-_c@A0ObBhU-~~{v zdFBWbZdaQ9j_=(hVFEk^f9zLUR%{rK-JpmiXwM`KNL5@3{C1veXZrD)9mlV>k?wT} zwX)|&_|fSb%+GAxjh|BU3w?@b{BUG9Fn=KYcFMMQpuO%LM=AklDn_QDG>TnQ3~Ww5 zd`&$%pjKDHUW`l%fuKLf$Mxkf7Rl39BNjognp&uq&5|fh>{yXNPfQ+!*W+yTuhgNk zzpf>xUG3hKM&kv?^O4iyEXg7#yM?)IX`}_KHUa{@LWvj4sp~`LobUPXf`7nbGsXii z&fGirhpN#>nPvn?^4LrPj0Ll_ro8pO-T#C?wB>XG>Qd;F;1G*1SgbMXc9rTJUrFk& zIw(_UZ#2l6${pUX2}?yLDk~fe;@pGnKzRjR2}l-V>1s{GSxw5Wd3bX!8YCK~a`jux zNy4LyvtNST2cHQRm`xxh`OT1L8YAC1I9SHa_KMvmF+|{~B{+?PxpCt1k}twxcnVl> z?y_KR#^|VIHy&3*Of3D#LS&;spaUx^rBf)XbIWqgd%ym+HUN(2I89umv|u90uw*1{ojUF6p#CXeQ&!8p9UahWH1y~D-6_U8i&j4-EL=9>TTkIP zc|FKe#u9T<;vkbX)fD&KS_&x}nX z`oqf%qhAxNYTVBw+anwd^TjgSm}w9acB_CqtbCs!u6&>Pg&FQR=kkC!+xpDWN~+j0 z>a2r7wDFUqDr*e78vqWHY=SxhRlc&M3hNl~@1r$3O4h4~dgnKs^4nq8ncIF>rUv78 zcUrh;X>A=HgN3~fqJRQMQ>9%XvgtFFoDN{eAYbtX9yUjx00k)F-hX+>gfv7tjiEiM5kwJO?E$ z6i)P{zA+sF;KAWYPND-NkYR*vG4zwfFpMVr1y%whoJdu0UHn?~7r~(8kxzL_OwK87 z&XYHGB)(TCrVMoj?MH6s|M07hO}l zhSISLmTVKFFxke?gcYeX(9b!*%uKH7+-(aFPpMZOWCO zqgFCQ>#EwS!8nNREuam)1(VT-HQuKbcZ!4)Cn#btQvDxKN86R#gbi2iIst07^JY<; zN;F%pV0*gQ$S?%t$5&OCO+SJD(XZpb+OV&6PPQ{>&hk~P<6O6NZ?`Yo4X5|Zssw%*0 zN(tl{xw4!%7cI^z<19k>>GOQ#v+^B`Waycd#kDp0dx+@f;Df8v|7xI0^O|Wq)i=g4 zxv1Jav0RX_e1_IhOpI(G0Z&Fjfq`qozw4jYxvtAPwHBXYpMRXwtjopu0N8C2+-3dC z(2zQ!tbtBX-`XLRf`x(vGvuhZW@2I+9-En^>XYaqP-~6FD)JNk7;)x0k;Xrwe$Zl| z)tb63-FmVnMLx@x?`uuv;lbezN}!;D8i9j_folJNq8>rJhy{3CD&z-4LSShd0kHTd0}V*QNws0! zy>y*Xo#%hwV#JW5NzlHl}Jv7@$`A4}gi_woX%ap#yi_q)#J z(u%|OK(RFPqu6zq;D0*qo$u6Q!o|hI;d25}W9-S4oB5{1%J=8ZaUbcZxBjbL{{^;W z-~J`?c)p#mz2TnoHbi#r`C0J&LrH^Tz0HwtZ>-V&o%64n#@PAy2UM@889{I7CFfFo zfRIDiBT|*tcM$9jKxl*XAHSQ2h0cc$N7lpnn165xadAJdmSRS}KD7ETqq*PD=x|uB zNUwk*f_?x~)vaqw@27~$DT=Cg)bdTw?Oq%4;#)ZmA91N`rSz5Bqub@1Ek8Z9ycf0Tx0B-v7? z;7o$l-4pC%qzjC4O@viYw7wp&-s|HaSQWr*aiV_~;%Mj&8U}T8z@R3lT~0{CN<*h= zQ=S_X>>8&uHOS;c`;lVCWs99{_cR2yoRd(eTBF8ER&KQs1maJaEIkpB&oho`=aw>c z56?FG9v^w|m#;EfBie zFICg?xGZ+D#5m4>k5dw;e+3m}TiLtNkJ(BV>7qH)&uHrA=j8H2tTyP`j%R|S#gx{W z$rpDiw%bDaB`B2PVdNF2?ZyEB@BVyX>wcW4v-@i}=4F{XJ|`C8GIT&w>?R39sqbC+ zU&Gy9CEEZwF4|-cZyEyLvL9`c-D-p4kwTtqF^fnZ&hYqz<+fn!^e9G3`RKpFTR7!S z<~|gTJrA&sLZ9#e@WHBTuje$aikTVn`*`f6TxxRxpQb_+k%?9*rGh2V;G7V8l;uvw zHHA4n*4#W>XN$VlZESzkX@O@v^{X0_^Ev~D?Mt5-05vWQewe$y5q_$R@8BG)l$czD zR8d1JDJsmb*aYjLnVFa{7Z>M+$_}fzQjYv%k%i7IVq$1^5#%4%aY3XhiX&o4)DDW% z{v3W~)~IbYlpcI=VnImpP>8Tnbk6j(c{eD)FqrZ`-?#Co;y@`=H}F4mnCNsTnK>cm zI^;l)*@QBVhorq>bpO@+vYd_Nbs5**@!i(!c{Vq4vRDK*1mQLKd}XYSJ(2bQwE%}7 z=aEN}G%qJ&oOOn7v#s^HuZiPYiO}Fia1gXUmu-?ym(8;?0E{F3+d~R5!ET%6*^+O_ zmE*x&WIgb`|H6%tp&8zYA}9Pm(A+ke>eVW>V}J51(qdBK#yRybY3}IWslIcn$2#3PA{r(e7idR+gvi}UQu29tD^xV(6Gn5!Q<1L(R(MR zo+zKgHhm4y6U~D(vmajYagb>G`6smIaej*R1dUZYah%ma$B@uoUc!w$0Tu~(0@?=bisP%L7fnp(tg#)N|k>`#V%Yt%8UBtB6 zpXWYiXn3$W+=1s=e_?8~y)Fm($WRk>^b4vON8QkVW8tEv!H9Ib7nnZIW*n1s^*w5H z!Z}J9Dfz&uzVDUu6!8CeqSGVl;>?wEb3#fB!MRU^LfW5sJdW_w5-%93ggVYZ*F4T9 zXHBJ&_0(h2Qf8j(x(l4tf_HvHA@vB%hGrpEiqlGrDz`MoVlLoqTS}QGPx0zu-kXz) z{X2M6hs^eBg^@fsPFnnHxA=3ZzNvWK#y(j z2qzWJEOoO=v9s@itY&o@QH9~sKddaN#iQ)h%;=r6jePs6{Klx46K_r{i$2gr6_s@& z;?&SmCq}N!mHvj4d2D)}I2nBd5kz+{fy$i2D?)Y+RLHpEo-A2@`pcnr)Uo2&1pkRy zCR}zsoUfWnwSR0@dLT`Iyk(J_`0#uee@nTsj%9}105Cgp3AQC#Y^XdGd*nX%(=u*@ z15rXC8=N0yU#$-BLax3kguYAPtPXABdCu`7D56ZK-@^Yj8DC$SkZkVf#t)l-v^XqQ zAcn{{30j6n)0G~TR!fT0@z;B{K@&iXsuY>&-jna7$jigY`U08qEdkxPRju}a#|j9f z*t*yR!Tr*q97Xi6J(&;I$i_;<4@j0HF2X0X31>UI1I}!WuE)MS=X+|jCht~MXjbcR zPRiq&up?+9VCmz@1vaF@qL_ln*nd&6*-Us)VTafU877L01jC;EM0x)-$&1sdBNvKS z)GMLHiO(S;VWAJEjgEj@RABESml+pkLvw-fgByW|xhSs!s7D4G5Nh*Gt`|0U$S8$F z?8?fQAF0P@s8*EGEA2!Jae9(MHhTS3PG3_Ohb!UIoHm?)jheAuZ1q5aX=BQvR7UMW z_U-b4#8TelG_4S7WX2G{Bt11DWkPyq)e2!{Keh)tsZjzqxMf(NfjB2hi$pt_U+<2$ zy$5*^C8#pl0epoEqe=9B0ZIH{qZ=WFd#YsB0bik8g>a&9)=%JkM1${9h-g>b?&oIb8O8FL2YxjkzD`oQDu3z`!Vj z@5?>Id%s8GVzVm-xN03{c_mz|tORLpB<=ih&Chy1k!BWws$Rd-`%Pj z-ZAFp=%V zz6vYO#&*7xzB^U<-k0_F$9teAV?d3NUkaGo-mNo%sTneGMOkw#qZcbZ@DVCoKNxl& zK9wnKn+lV@gF|*U`s|T+-?OH*qRTAHOhCPVu zD@WtBkX%VS%Ts#VjV>JKVvq~1T1bpNcP`$~XG4i7BUNxrgdVfp+~Fd}($Likd?vch ze6#FUQ-!(Ao%Z-&{>PgKVf689T`49IrS3Em5@G1w_mZ{<5^&Rk=klV|nswTncbjS% zhSc^$rXG}HU1h`{Mj8xo!hyl&!ay{$h$%I zn!YXaz%J{RS~|BVNY?xr1GQ@vkgQ+vM}5-*|G2or<4psZMqrYR+$TDr&pf~GGqnH1 zo#B6f5V^n2{@bh}*(C8;y?L<;ul|>-UzSDJq~wwm#ody%1tX!Hv8SQ5AdOBFP1N~G z$I?Grw*ZcZ)};DROY88Ha$9+6*a!O$P95VQ=yByj^$qw4Vtfi}YGYt3M{zXtzb=GQ z2?=274m)g%Rp)G$7PS z%>(@(tc$DHMUs>V_yYUi1}`>qgDzy>=*Q;^j6+tZo5FN#ZT%*4=pBoBe2v5jMux>G zrss7-CG1QY754i+g0Bz|2UwV_ zzN0MY2S==CgN+dwzO{k0w8b5@AqBEYrr6+t0rND2PlKaT*FzgRW7$rKiqDML*dwOl9S)v7#EtkTtuqJ(6)oOHQ`cZ|CtpnAp)d zBBXPAzuu}{u6T|sQOM#oxIT9^m&%od;&E3qL_XgdtcK+c{g15I+U%u{r85aH*OE2> zofInnY$Y|a!DY$Dq4O1qzN+HKhWY+swr$OV8J=avgS4%8<9m-HIT;(}i-Pf8ZP@gN4{SqE&in#qvYBuHav7)pOtK9TjkUw39$7Q8={#uZ?=0?XZ8 zKL5xR5-1JcO7I0mqDgaJn9)kCGB;@!PN(-ro?IMTVVCDA)F+j%stk}b-OO6yqS4^u zZqlE=2(CTf3J{6e$}beM?9L^Q>o$AML3ehlcoX`yd>(CdDh{^693F89IkJe+z^A2& zfmx%7gA-kX?_mE8wlCi=*A9{r4Q6aHbs3b!Nshx{o4dv%0B7vYrKwwjyfgXU!=|LFa z^_L=+kS8}cap=ec%eNRm>KEkxZ$epf#~g^C389foT*}zn6F<0Qe8iH*nS|jkHu1{E zc;|4%oRCwEe|Vh9JA&B&*klxGCx4e=JjP}2;*0*dw=M`)jtq7ReJT^pCVV)Gy{;$B zcSU9?a2dCL_w&%Ncldd|3|Fn7H?PSFXxaUH92xL}LdBpHxiBlub-r)?vBLLNH;~4Zu%#B;E<(?gSxa+jqKi~M3+xrq9NamT1>cpV~ zC^jiFQZd{RrKQ-|CG(XRU-_c$GFG$@ynhz6h0$?l2JZdf2MP-dLFNFz`p0h-wmIdZ zZ^f0zBP)+^h0TAkI|tGQ!&$}E_MuR?6Ypv3UgV=7+CuoBjrMSv7pvQ9|4k&vk849G zDsM$blh7|zETlx19Un)e75BOU_#E0==KTWcZyWF)DAe<1^1@qLXw}ntL&S~ML9=vf zN_q?zG0bTLk?%gUaU+Itzud%IDuo06YdZ|#9@CH2;Oa7}qP&!RdkHjB5ALynpn9Vb{R7J;%6r*l{A>syEW!3vI{&ti96E5p;Xk2X!#ZM} zomF4tY7$H;q-RQ)3wwQl$FXB4`>EW|LK5PxfO_#$2=V1oPB&s;^Lc|o&f}uYWsSY< zdUeQryB9OiQ-o8;Ny}6?M7R{w-}km7z4rDR@NW1Bj9TiRC~9V6dbe&p{X1Gu& zt5|Zf6CpGZwQ$#?EcBA|(Q1<0a=+ML!xtztn%L%nfB=7mu$%7(2`#olG*pP)$mY&z zK|a7zHp?K?Ob?z%<*Zv57IAi-;Ar;(4GS-xWUW}*fvI_7ACk3NfKBjk{#s*Z9v${o znt)S7g*9Ixhvg10wirRY^M2r${;ne6(@Vx(`0}j&X|s~^X&iwV8TvTCZ>t7+OkuJ_6L52Y( zhk(!hc``IYa*w+d8jzA>eCOXN4Lzx)*wYKdu-9n~tx5t7KF^b)2tk#yqsB-mQ7JhV z-?b2%@^C^*__)wj>&%U1WaYWkZ(IL4aEEA(oVNLZ9T3B_#nL6|hM4G8*{I7XZkk#G zv_ou#ETaUwse&Rw&j09_#L01)Cp#c*&TKEl{X&3wB}Lk-reAFe$nk~2f#JW&!!bog z5(Tv29^GVSam{rP%;`uk{vhGYSmwTo_b?!Ev^CXavPMRv1yyDG%iNh-lL@A>z z;*jH?!Zk9ztmv<*B>^J8JuK+H-Gl^2hs8vS7w3BHLU`uSg!e2h+DvU}=Z;^diMtlV z6LO{k<6`Q|t-Q->Ey9xTo`4>Mi+BR%KYPdd<+kMFjpoVmTEJQqO-N*f2pAZAHec-O zHZ4|4Cp``v_N%7bruPH2EY??8&3gTzohpX+T8mZuKj$-!4kSahXu}f? zP!^SWK{pqJF!OM`a|7tFTQ^;J5~?r`fLDvha-$FR=y0N`wdp+V-v?mPF)`f093J<6 zP4f#iQ$+NKuMHIZkEPd)9k=TswOltOJ-K6xMPJKg?x9!DO`nFd54j2g=0G5w;P}LD zZ1eQq!@^8qM@M9-oZt`pV?}fXp=_bgy>gfPDK0u0ijG|mE<)8ZsfiIerY6%SHso*t zX1PsXio0*Ehz`T_LwGUb3KZKx! z5;ba}9Ehh7kW!AM4}Sgab_1^c7t%J2INmI?d22g)-nHkv236`Y085Lo+7nK7RH8uB z?MnlyUd$@s2c11P@WDwE&Bf2!!w;1S-?Uozs4cfw2TLyeNLbeQ7#k9$wzba;T(St&Cg6>Ia_kwZYmq8dt?}^l6(SyCrzYUYj)Y!{0{79X zE%vd`wX~c}#j~7NMcVeuK$mQ0G(iUc$JiuHl)FrXra^(2lE|{c2eGRr>();sz`^jgQBFMRCpVo%Hwf`9v9lt;C8to5ch5&qA-WS1iz>sPcG< z78i_l_pAR<(tCO{zr-S(Hb!@Wj*kmk^ z6Nr1Q2MiZD^hngy5zyfA2lvD|s-~lrIu@`3>lzH_TU+I`TsSx$AJrZHj_<7)lA*q! zTg=zov3B!cslHxrMCh5LZZKb|@{rZAi1yc&5;ZKfoVYBi;CpO1r=nxBo_|3_Vq)Fr z+18ag97fb|!u`WoBi>PJ-y)5Q9kDLY8{WS9ZQ$>8skG=ZVn8_((ey5YiL3K`nd@gG zw1C|a)F7B==E$9(YNU2(>(V+xh5*`2AI}-*7mUv&cI;tjyf*)Q!fZxP=KYf|7gq|t zuSF#&Wo~Uw79Z?TczFmON5@r;CfmdX`NR$*gGyAAcs9ts!GS!mK*iBj=ub8dvop^-Y!dAPVLRm*dG6zz)fc8 zY7`$pd6SZFv*uoy?Jh(z%Jk*Fs18u16w5bOw!d_{fVH%Z&=XJ1;2J6 znJBza@4@8qOT`7~Y_wM*^$5xV_CEaEmnd~ejh-LDnb-R->` z`~GXY+K^Z(W6%yCJ3*5q6E;~tbH2AB1o06|ZM8==6Pw(EEj?fLDRM5>oes|Z=%s7P%w}y7}6S-Jv zw0KKlPGFR|tR+>5lD%D!U5?}XOixcO3B~GUF2p_T^(T)5JlzU?xnr*gy{DgGV~-CG zvlR$J7JC^h_w%Hy=SS2C4c++!4Dc$M-VFc5oxR@e+1Y4}cqDbACxTxvyaO`wg6Q^# zK46pydP~Tw_<_~f-V}92IaDFV%>vv!BN0W~j5Rbm8hfJ^k1Edx@tR(D@a@sI^X3E2 z>!{QcMqCX!s>x=EHkZ>L+jU%fxlX6=kAKKtfD>rfIUdbwcUEMuK+x>8x<0FI+iwTa z&JWU=A0loXdXvy$yZFmqg2!2eUCcUX1J5zVHA>{#8PdvTIu|M=lPSZh3z>z#ie3YR zUSE&rUx7DTa!F`^I?QJP@B}uwl;`XJuzv~JIucrFX&inAJP8iuoh^IP$(R$44PuuG zgP^FZi_4&+KqQ0Mc*w1JIDC8>Z*2qTLV!-NWt@~7}rs;fS0 z+H~ymSYCgAHO|zcLn^O(2q7VPoo)F{8@}iEJmCV)yUH+AcZE5A_|l5#;Q3m^q2Pmx zU?2LxcZP?ySGirRZv2@uRg<87?4e1aI>uesJ$_iSc{O2}EHBAi_#Cdw)vGqP(Lk+a z?~yDV0J-!s113ZW_&B%K80&59M-TYzU50%9m$t+r?*6Jrryg&JBV!^G2}pL4ts#?^ zw;T?t4=1`2{1zReo+%Q6ePid-pL}XeCioP+SXD(NdLQ<4bjW>ZV|0>3pQ9l+rATcl zqDUi8lXmLXFB8$0tN&5+pX`6e=t+Y&y_igBz1}YZ-@1J7Od(% z?=%-{GDd1}h~dlBgHXe~kh|X9w`aKhU!)F{V)qp+-CujKzYz&Z;s2v;4J7)!8S(Xb z?b$QJn&wI|In-iq9D|FUESVb?b@@#?r45rOddIkhV|cH4=V3K*m;0b!_J&ANN<(tO z8T<$PDGcSlNydUwpSOiHIho36dvsSUf~UcO;9b_-dp*MSWfUcz;PU8ZSJC}qRbr$> z<|Th7^L8IuWz?2VQq-?NNA=zLygvNYGKhL#qvNOg?3MizBGf~2Q$6RA^e|$&*R?C_s{2SsT;!ez zi(!)~Gh=0k6=A7hWyvc_wE9sW%w$R4PTxJI-)@$*nm^WHtj%YjM!82g<4RuDXfbpR zv*NgS3M}IHX^ELL9u=;Y6{D3XMQ^ZN;H}H@KrmK6M5;F2nf!aqaz4p+g3TGL_8XDy z=>`6umH&wPkH4> z8jL4-@8PF&{RjiJAO8cg&h}dQ2Si&M7_J^2q?Jz8blQ_mOM5uwVV6ja)4kX~ZfzieK*pi*nIk{x!Ib;$!D!f>s zEHYKm(t}(WtK5ZweVHW#Fr^mE_Od@JpTfN4vTNGa0~7qcgT{DJv9#B$ZB zczwnQ>%obY@jt4_vPwkDN_^u9_$=hy^)u!=HT6e^oXH~)J?_?iKU$TJ9hs;{sTkN~2(S-Vy6APIrr!mqiXekdY4ar8}$&`;=UYpvtK} zMQV;}?2>&PbbpAKhVw6rb@&J^1+jX+J20;G*%=JRhS>#$W3pa^s)b ziy++n^2uO*f6%e}3kca#PI|Tz7y9)B?Q+X#H(P|6vx-NxjisK zM0@pAby4rrM!8)Th6tu*fJvB3pq&K%y+5tgqk$p;CBy6S;{uAgd-XYLDiA3f_fLKc^I9Jt@%7fO*=AcF zcFPj|f)LLT*_+~JP0gnV5N47Lu{QSGOUI81qmS-@`!S^>Uv)$Uy-;hk{<|*(O+RER zoX|gUDahGqf2^X!!9kNascYA5L^4xEkC<_5)fJ(N?5#>T@;N)!0++e_4b^a<2axU6 z8MAIg64hi6Q&sI{PdSN*=a)B^;VHj9yyab_HFfp&7IRI-6>%1hNY>X%#y^h|n))1Z zz;fv!z;qj^!nKTcB8g?U%yWa3 zLLw-xFOMibXB9kcuB;zra`-*x`*h5ycvr1=l+$cb{p!PkKg-Ey4j($sEI?z8a`RK8 zSxTgu4*L~r5d8e^x|-%clFU8c79YfOo6g&O_5ZI0Ah~vsp0i?iq*kD=u_PlH>-I1R&anP*3;=t;h&gDn_znuG@pog$lE-D*ZQeziajn4J@gW@0 z)nmb)|0Q)ViR{$JK~(O0LH%{6VMqN}dJWExqa{!+=l^KB#^}hJZXMg^#I`%O-LWRt z#F``%+qRudY};CFKr>b`Cr&eLB_GzFbifcgdl=CRg^G$^@O{c)F zg%gGTl)gnJX89|yt&qbWFrU^1D`&po{YUtNh0e1_#Wv?mf>|lGscI)zhXDU#=4oJkjEYJ z+2i|bKXG(96-QI(5$^>Up&}iPYQvew7G;cCiq>-v(TZ?aDn$4++uQ%%enEYsXY56e*$P$b=dcb0ug5$aIz65$~nu*qU!-*^1 zARaji{U8YJ)}K|Qyz!1dO@D8BN6Z$8e%R(o`Z8I~Eg15zmU; zx8vS6+E0Ne+XG~MFml2Kkw%kCpykJq0qJprMV06z@yfZuFk#?K=d>>s3doyqcJxAV ztx4e^pbD9Q2<2FOKwdj+TA=k0QRE`z0x0VtQj*`%1y*hz3V+!-2bx0S@7SQV0CwdP zOC#|!P7a=&+;CZnYijgKXmdF3rVbOuvIyxZii>7Q26AewbEZaOeEp8IyI-A0rbokD z@8heC>*J4iN@Kv($tAf{jAmek`#2ahuWvgZ@Qen$wxWQU ze})mhoEBq_=Cd3)Hzv4#nGhMJEpXxwQcA~T?eH#R*(c4>?gBJZdy5@p3_gpDgQ286 z6LUm^rRFNJbJkh^xTT--Hnk-t^h~Z6k2=m8oAZY6qbKTU`JxGD9exf^o-h$fhaeCT z;8P*hb~R;Mt5FBAMH2`{CJn;%4$Q&C#Z~F|Z^>}f(@m}_B&uy> z@=~lw)xsE**D=-oZ3~q($#L zn{xNxu$t-RXC#iZPCvCdrw_XbIi2HS5~XJ)9uW1nh};F44E@-h!>3(pbLvX8IaZ>P zb>|!Gtnpwe(A;eG#&?PQP+)mnoZFb(cKx>FxWabXzHcc*>BU`LRH;vi5qd;wRO^bb z{X!mlwX4LRQeE@)72Nan`NET4T@%NDp-!}IYIGQNp29pWDnf~5a7YenDNf#g9GmCV zc82G-=;qwj0B6K1v)dE zB0Z~N;wr*)6s*m8m9_Ncn;JVl=>5L&Sj-v}{-}9LEI;c=>Q4QzJDd5thf=RIb6Bau zbClTw6>r209oafW&_z#ZbHk?gDc!%+Gy`38M*IM_P+A1IK!Opx=w)7>$n`*75j;s= z%<^pDgs#`kRW_}dWJ|U>SWWT?Ekud4G2UVHGG6t1(*kd`Ix~WJ6EHm;$8h-Jj{N74 zh5*Aj{Mj6ya{*adwAI}_ui-5<;x$w2FnEbwfiNp|P9eWgHMC=>4FeOsNH6<2JXhA6 zob5S-({GEA`H^_}XZ;U%zsUo13P<9wt=w-dAZ;LNhCeQ2U=AIoOIyRXobFMJoE^gc z`E9oTwY==);*@OHv+L}B(J`7#u7nnvOj@4nJHhWnRFDOz5=8xDLIr$1I7jcJ?QA)I zprO%At~uw5_PosQM#%EsmaSNESwGat_XTB@M!ODX1Br9Wv$Da z!{K~=x(n4W+$o8g?KrPjY*hLvvEz2ISjd$t0+D4PO8~l@oO-kyUawK7rfaX;^=f^* zMIy75RzUXi7I15qeUG=-yu4m6%$_9Wxhv@x$E7uodbkymbK^@=u5WSwl zS=EL?3x#mxR_3;-V%L)@eI@z8rfB2YpJpuEi2#<~e0`G2%mz`*z=i2F^=FIFJ*gHl z5e?0`WZdxi-dDy0T}q@`7UA>XNDWG&uvGQLDl99ckWfZbL+@DCTye`yj`mo@clpei zm0rCsJ4-XXL*8hg8(sut9nR1ytft~bP^;}~ZONAQ0ATr;pT!5yG%pPjs0+(8anwY6 z>*ETW8p)QHx$n$Q`9Nxy5o_;0Om90^!n@2wfm$fx3W8MWM20YA!lry_q=^0Hm31e| zfPEK-*$9hk%d#ZzCx+IWb;Mbh{xIQJOH;_Jw<#JIF@8JUbbZB*f2iiRZIeSM2z0j4 zQi3xU(e-)w&Ti~+y3JB(l7Nw>4B81vQDkhWV9{_C2>q48q=mhwXeP=zJOOEPq6h>C zb-eX$^-8M}myvYt5;r|87`&2OF@N*}iKH7O20=7a98pm{GX*8MB+PYBwb}S2 ztQ`X$7FK-Y{T~o-Up*f1Wq_7jQ^kDvCehIk{*pR)cv#4h*L%oy6@V)o*vg$#%AS?b z?9HcdLrhE)7Z{@feW5IO;-K=_`QNC}#8|o7=~_n$Zmwr4ZwNEN)1{Qdb|9ZOocr<5bU;D|hb5^& zTJstA4r01nzpbuR%w7gf?q1(#kp5zG+|u7x7o$6i$65pVY8;hn&9$~ix1TlJV>i=T zH^gBv0b=-oC!ebVKO=v-SW+nJl?j@0;Tx7Zh_p?o&NV?dg6-Z9=H=d&0C_zeT z!`scBos7!&-N6PsFxrj@-V?1|w^~Z2l5DR>NVG&wyBf%l23MhxRpdH)xp;Hx!&2PSm=XlqICQ7c(foxqhX*^O#<9{hLvS?HE3j9negM z{h%0c$4fvou7%~N8ItrQ_BBTnTs+1yOlGt{kg0e+L1D7AssxKg9qyfZTiTRfw52Wsfc zyTo%8-iK&p4!q{Y>UJGz^4`a!pZ{D47bVKD6`YZxS`t`KHM3bx|Ddmt=cp6TkdjMF z-S=F$L0q##lE$EG`FM0UTc9HVTL1g0J1>O%Qmm0vofuj#`+yW|Q9gW>Vl2`<3f7;cG5WkF=^Uo(C81iTT7_wD*g83YvKp z{kSJ7q<@`UFx-45^S8Au`iyID7d7G}y4fPV-kT+c!B%*e^U9JT@iJtYY&V^{9>*1h z#vM>p=D~hG5}PX)Im=~bJMFD+|Jsbhltp!rA<{8TiIvvJ7t3Db%FM^XkdsxZ@!!Xw zjj7~Zz$1iQA_(YYe)cPCj40sh{rH!I9-QeRcmLc8JGr!%J47hArN9iN|6V`VA?QVxVU`F* z1`SCe)H_gq*5)IS5c6%=WBnGR8JzZ7qXm>;N)Ur`p^0OU}x zV$*eEJh0rhMn?NmrB|DB+XX>Qms{gCrqJ)s5zDMb=Jf-qaxslQu&6=s;?ZY?$$Lq8 zZ~PU9>@Zd*0y4D$s)yhNKd<&g>SeTgMEo3BEZsd)HVu&I*;YSM= zHl*8q02;RNh6E?qL|br6c~pKro5Ei(E>CTzO)bZ5-b0Qx0v`UZc&s1?m}>vJ>1eZY zFi2)hzJIpvNZt)-=$^gc8Uzi+@vrk57y;M(C_zXnDI+V}i5*HGkf||3I__qYpcp#Y z27KCh=s9@SD+$GKW9L>G8O3l4pr7OXa@8Qp#l@Zv3i&m6tYN4?7lhFzf{igw2WB_; z+4_5k;IURSSU8uUoCAwPZ`^iGCWsxgBIy{iSK9Cpiw-N5G^ zu@>qh${;?QBU679lq$gi@j;Nq9^F@GnLi{B+p%hZeBvVbO*L?XX+sz_8QWlDZoe!e zD>>Scu`(762m2L2MGxaHX#wmosrLfW06 z!_iE_hs}kR;bkU&J7hbZ9^^N;FZiOdHM z$B3!p6%54Z<6u=Cmb-kb@0^U_ZYQ6C=oC}=>hj$hrE+eETRf6o&kW|U0`HLpk98&P z*f*!g&x*`jOfD$XH`XxBK(Eo@q$oC0^ImYk|Ls_%TZGeD02UKlj3c=eOL81*C@?^> z+$B|06jX{%+$2f%9jm^!7FAk1^USXE=X^8BE-#XxM1{Y?7TEdqX4%zt#MN1x&8ne= zqOPjDs6pRYWWlppD#9U#z|W)AAlT#-mCw{L%6*wuG(zQJ&Y%kSi+TgKqscepH= zC9G!Biu0P4tPMbu^^=5b&m(IO2!x5B+F6%kLJRj4Cz1Dg$t33%4$2;kZJ(G;7KCG6 zkMzE$P(=!5j#fANVorev`90{f$^c5@aZ6w#ODR<@)NBGsNnf9}s{JSh(+W_RxZ{+Lefq;x^JFFXL8z`1$}T$Cl% zCdgSpRrMT>izASrfJ+#V_zN_$gM7HK6(hnXC*MN}DPrez{}No<$EL z>Tg``L-cJ87Nwm>F|q=48`nspj_Znd1@Up3KVyy4k#-=e{D4O(EBf&)jsi)dsg)ik*5zu0_|Rb|Kk+ z8{6g?w8mW%or}x={BWHJ#{N#2%Czx1|*v-6@O<`2-sQj<@8c3CocugL{4GyxA)pz1J>f?8?bcDO-c~ZYH=~=~* z{}lQXFja$hEg#ZJGm!K90z0*ZEGknrtqP8fIn%Z#3N1@yd_8BfXbQ%)@7S_cbzFrj z^~9LHn=7HuVeda+*c!Dy&JL>hquuy}i#V2)30h8Py+*aBSPx&x?W^g1Uw=Hfc1z08 zkc8j&4T=OS|A$6=ORKaTA9qw47r=S$u$z+%)>IRc;Boi*G!}>b!^brwvl_jaI4l!w z^EshX=WdW>p4nFC(6{eKU>Un|>V^t=U?45ldaxhx%o=Y~P&PN1-bQs?9{bT5n>V0p zj;C`{Wd7ppM9dwK^j1k^#Q$&QcjqESZSNKlw9<{z=9~JcF>aqo!r;L0WV1+nS`dKN zC>=||mGn?X6Plo`KPX>HY4wR|wJXHa@EyYa2Zl0<10s-4)Yv=3 zOPR>lhiAGU1&n`Udt2t9jfoNLD=W1pJGZd!}iCk0 zR=gw!7lcGHKq}J4OdUJe87n@1;{6U-7gOwaqJ;|O4j%7xa_6HPlOLm-G7^;t|6nmU zpWqGbvK$(hjh7bg?n^eYT`(?@g&QjY5~--n)zK|+!rN#lxfHRiiikBr&JYY~c0?LuK=Qgl@8EpPih)Q>b!epl-H_{X+%W!&kQ2R}11wexhZCsdeRoJLVZIuf} zO7RmRM1dirTPfM@QFG^QM3rCTl_l&iU6B-h57CDN#QX z(-d}St!zAuSMc(&GOGd*&7SI6sS*$@ukQR|eN@x}>Y!=u^Cf`U{ zdGxq6#{NSM_+z_gI_pIoFeP_e72$hI;zJDbpY@civILwaXiGvaX0X%r#ne=$ zfe1wcaVgl6o%?l#6#%pxt4bXb{=(jMFo9D7L+u`YqHs=zipMPmhDg=i(e!*VMY&9k zv8jYqLUtx7f__SC6KXOBL+N&j6WP+Y#6{C0yTwu_@7qG&XeTJGVf?^Rd2rNJ@|I`1 z?5){@YLYGqyNE7OCqbHaDX;9LK z&iVIqX=c!1!0Q=RVeuhdtIq?bqsphj!F&JBpZYG&=PAf#Lq?AO-G+nl1Utxd0|9lR?v3GVB{r+s6R$AC^3Lb@)jiZs{Vm542cy}h<*^VOf!fN70 z85B%Q$eqO6Hl8HOwR}Ib`JFl`@DLSNesrhs`i^V$H7Bh?Z!+8SffY+av)&b9^ub4N zx~fsrP^(^w1BEph-#$r#)!X%{%kefdytnVpf+Gks!cTMH=XvqV_hya)4oU|JrLKd3 zZPMK;YWRU|3HyB`Ce1$AA$P4O=`c=Mk^FR#&6)^XxZl-q!4!(vDo~rw9D3@S${O5f zqK-~QKpknV09jDPy(9XTMyB*z4UqD_Ha-5Tbsjm|K~o9kacc_ z#Ab_ahR5mA%TW)=l$+=K<>lAH{eJq?Yk8UF7v%Y0L5un1kXlN(-}_L+>ZzZAW8VL$ z9A=u>F&&KefFsDf>N54!LR6j(QOY+No>y1r&sfFfAN44-?mS0t=Xi&o!W3q}5WQH!|%iLl$TdBz*LggwY za`ar-?`a_0Se~c{M!-n3YG^mwH8wbv_z>uimh{h`Ul1GFS5}LEY!*_PEL!4b;@Y4~ zl084}QSC9@;o@zFWaJ)%H@M^-$u0mFi0Rg;@P_p?C6^Aj)vD3)LCFS=Zn3tTjZ93* zShD5*k#LonCwA#Faj5x~Ci-u8n)@vJ!Alm2f%yQ<-ZhPds^ewzec6T3^ z&N6dO+JxTEo8D{D6D^=aq!ViZ=%HX!cAJVPXH*vd@u{c$@paI`-qUwRA3pX~o=jIo za+ru;ZAlqKRwTMOJ6szxZiCbz^BCzobbV9G(;vO1D}YBW=Y$GuTs0w>;}f^k2$-$u5H z{ebbINC@P_^`haI?$ixs0$LZ#=?+5r!CKfKfGvQDg8u{wySf0H@QOY)yjYy8#yIDo zy$xb3%{4sODDmnxN7|Pv7Loy$Uf}f<`lx-Dku}8w1$pG!0r5D?^k_&*7J>gMGGKpQ zx2{uc8cUh|l<5}iEhwDWSVEC7()YA?VB$rYJ@^ErpAbhEEUMR_85kFp3 z0=r|RmIK)j`S>llPuQ;yFAJkTlM3;nmB$8yQ!dP4`6az^bQwq(ZH%YR`gG26Y=ZWS z&noi`t~Js5%N#QSghw1NF0Jf0O=@e`>$(cwM?c$9rhCMfUD|v| z#Rw1=PZzHfyi&s@HKt48`=OKB11^57Xwom>F!a8rU&^z`?(71Gx`)G4u!oIH zP934|8ov=2Njrfue@*r5A*B9wJKoR@oV@H<{O@rlny6AJGXVf|O!qGrR*xWoGnY@zCEyJ038W5o|4=UI&Tvg+uCz6(fno!J^ut?YF6 zHd_xnCQN1il<~YyZ2RrZergE?yw&qM@a?BLIn`*~E62~YrUKsGUfIuI?>omlz7tDq((u(8hqAeE zQxJECT+@V7q$LM5D+Z=LA3NfEZ@up>A=NU@io}DmqPVHDn#V7(8BQEU6ASGS9t; zGAly<)Rpbk>Bmcf5EZB4X~gyuQxa33ayc>}=}^`IC{*IRp30LT`S{r|dkiviw)dj*xC$*1O79wyx@s#VZ2|GownJDiYd+ zl*EW!v%CQG8Z+_V&x*Wzkxfx~*JFfHu!Jk?L-h}5tDO!c(z!mNmN+cC^?C2XqYk}6 z-7MWh8ZSyh0xCPp!NpkkKh??CiTe+G%mAV7!mZ;}){KWMYKK;Jh9mCwUHzQ$dhjQlg@rKSZ(2;>=?Q{K8K9K8j@nGN{!9U`yz702BY7UoUiR6{&$U}> zwfm#*W^lEpIy1`%T+Bl9MZ-lw-VsO!`bdYzuy-@k0}x4yl<>#^3+rPz9Pwv$UUG)& z0m$^XJ1P@E=%kNqC&j921g&JK9%dpcDpni)_V`xX_r05qtDXO#{0C{QakkEVTPU{L zaI|fi8Y-|0TzJ<>a{Z9!FdVtSB-kczT0%K7CGi20s^teE1OLaCB$9(oeFPd4UZdNj zY=g~MPTk|bzsz=5sAOY^|BB0YC`=ri#t}_#7vi6wUf|SzFK4A8THAP4YJfCOIz=O- z*!?|T=7NQn)iWxf>UV~i{kAq>eoCo6Jvubb3|WXs$G3uGOnd`JN@y}#JcaLsw**PG zor@@LJO)_*8f2C3S)9O_w#eau(wyaF$eI%)@fd7S{o3+p;_fWy947XWlb203tDBuT zQGXKp2{8=4+AFgjS&clEBc$Nza|&eTKt8lSk^K2}b_NWpGjp`Y zpjwZtJ1M3?4Xl-Hie=p1KJyrCexKfI$L(1GM`s{0|5d<;QK(#Ch@OakgCx!+@mtw5 zik#dlxugzVX-6PMeFH%F&`F8$ii!XgNIB8R(ZNH!EYZIkz|dA)pUpA<{I|r8VbN^w|WI%-K>UA2i;Y* zG3WJI)<3_3#IDz9>ulaP?;`^rY_*XX)35dBDJN)THcMl&1y{Q1tugjh$}Q0sY2t)Sf%p#)b7N_ zU8>P4kqryMayO#e9aRr+2D$O?`?rVW$MU&}{ zB%|t3)}XYUa~ay)*4S^9CsQNzOb7m;GV0Rvv2-LCi6ttOd76IkxqPhHV>Z@$^tSDf z3iFLabbx-?|M&c9(;C6ET+1=;npq^a;5lF7O`5wh=aqeoK;4EBP#_8SGdMCuV_29) zkZt=cl@XI4a(Z(p;_31uDmBuQ>%g1g?GT>VN>S;alH?xRxXXef*`!NV;gU~G%lkL- zAR7I&G4iCi=$hNLe~(O(J5egGc%q2Z0Fw2IeKi` z-dbwfwmx86A$b|2!!=?0lSvP-?QMUgjZymz)V-m>E=<84Av(PCF_=odd7mnx@ zjb2g?;ajhHkEeL|i@Vzki!-$Q->$xQwo{9WdURztZq#ILt*E&p3A&7NZlJ5r$kDnC zWsB!%T+fj>zuI2+x71Ks7`|kmeb`DokJo?)#g>l4#Y?t{@^~U@IYmpuo6t$ zNez`4B!@u%n_rItR&+iZ-J@italPKBrfD@sQyiXXnjbKBzMY?2f_?q7Z_;Bg$Dr5?sa|f-{M&f@>FD~s!FMIxTPH_ zecTfs^p?+~ROq8ykaSXjP%qTu^3`4VH%2EM?L4+SuJs@E9tglL|2Fo9Rt@RjCBXC3 zkBbATJ@Kzp`yXa+6WISNQ)2gAaQAclcqm2N-Y_~|xI_Sv8An>WGHg=U_npPK$JatqW5bgK|9b~ZhK!|@SvmR`4$3c`;a^X(d zn22&*2tN%EJ-5M@Xfy-|20H&lK&ND7U->ZBttH&g_r z6O+lvWjqB>(UgpJj(JPTvB&7>ZmhjtGs`IUV;7PZkMRQ!s#AWX82A*xIzho&pUv^6Z~r;c zJNGqsMFs-{aJkf<_(MNTYvNaIjTJg0hm0wieREh#3i9KA?LM`=5Pl8tHqIWdhN~{s z>iBv7lQSxA;#3yz?DaA4_rB}JWkN4tBhp}{AuAt_EL*ekcDfy`MTJE(9;2NVwNcbW z&`cHQ3pyz-JT18Ws=s}kam!;p^v*3lL$ea^!Ku?*TRd0s6YjaIKrbw^aX@G5{ixGoyDCCach)CrVWIZ^7D%WN z7r?W3>G9=t%3ct#pCAT-?2rT|%P?F+L$cqG%n#O9atzn|*Dw8uB2{0FaN~X4!QQwm z&qQC3VNoh>j~sUd9ue{|vfiYYL)0OdE@@OmN`{HJpFQbN=E>`jx=(`;6*?KSD$NTE`N%H?UR zlVy6YORN?;P0(SPJ5n{fIW_qtC=&%%Tb>~=g<@*!6&t0W4oV*j(rngF%dWHZ#$?%6 z%ZgrPX#Rt#_bV3cdMA|l{MRkpg2TMuhUmeW1O!Ap@Zby^8>Mgu?)E`Sf~@|5W~>Yf z+7Kwi+W;2t_}6=)aWf4lr@tZzz%WLVqx;cJu+Hvx*na@M91@#6F0C4@ieQYi;N)n4 zt1Ooo8+7&pSXfx^9HAEs9_tJYT)-k%5DM%PU|aDvz#-%ck3j{GWpz*v`-9f#MQck` z1=APgt(@tNxKSz4wqj3 z3RAZ?VZM3`SQ6;_jmVo{em#?*BDq~i5{nfM<-4WGKl&aooxEKx$64%YhK5ZN{|N{4 z<*^QL|s&aPIOQ~6GfQb-=zE${3^ zXB3y_L>6IVD%CqRI56qZ?;$W2v!2hfb}!5hjW9yWsX6IK9_x#^4PXVv&Vv;*a=~?8 zbwxEY_rx!|8;1TQvY;ZOZVQ|QGMg6XziNryU-ot57Z zT&(wBUH#gR5q?`2@8!QI_%CXh5mY$NFo-ppDF1#2vguvEU3p0#K9x!R>BF;Lu?S>H zPjQ@!6+i1_*{_OXF?-5!PZ*4k9OM-pwW`1@RS`IbppTvOUr?}}Vh6E{VwZ=l9il6& zPo2$J>)(~QxQd6V_LPoykEW%iK+qgd??O8er$C@1y9Fu1fq_?^ zAx#wX;*P&kCDy1#l7TOz2#DC#h_PfWP@Yt@67=*kbhl_U?9rmbe`sr(SP7YE!Jxs6 z&Ay8lSV(-AOL~f-P4B?qEZothN{hRRBDIayrEuKFA|YZAB;)rf4z@$65b3PP>ng(2 zEg{9u!vdYJUz96X{~g$xv&Zhe@7R`ke&681D>b_Z2shjtx_iT&h?vJqc`33ALYqI= z_0#BThMt8C2*jZNt8xQOF#J4M`dQ^2A#<7p*5$W(T&RH%I|6gfC2U9^36r`lupLcA zZhnoz?3j;yh)2&p;+F0*%dQH&uo{WrugZq@d@&-(Gs_bjpBzMRu?90zni#F@LByO2 zj|fc|j_tU`+vr$gH0}=i)|2lCAopsKtt)3lBG5(J-SN8`BnDnNwjeAjCY>G6X76XE z=fS*m^n51VU^M<>I&VV|hfkRNr4Ic+k!Ty=9`&W14!`JqV4!;q)HqQqBO^qc%aTXW z{UJ-naV7ncRx*(@B`E5H!*a?BBX;o2>(Ti*Qe(667jm5Krox#BOLeT#Zeoc^cPK2* zwzTsz>yp=&y!nXrd4IiAP4uX`as&U8ZS4JqIn`H{)89mMa?UwoYm2r(6s_z1RpOqD ztZf2s6_UK(>sd{pc&}dXNF2x~=h_yCUz5+@P;+D`-g3Ru>o;o~%h@SDz2u=t{VP!r zpl*>J`fJup7KLO4GV02-J2XT-HBwW0j&E*~f{@2$_8-?~y9svf)tdakOYeD(r?>i_ zzhB$OGl>e1f+BG8tMEHg@dp1wq0g4rD`@f2>wI1t9?BoJY*kgQ|3vz{F166x1P1E9 zX{SY&&`YX|s7i3dqmfcF%35GFuyDA{Ud8ddvvXvOe-r7>TVbf3+C1EJvA_H{xHFh} zN>5K*%gYq{pkt$>WI&*=Yo8xv@q3VO7ch;V<*)sU2`aFXfVC15R=j{O(}61sbd@O< z_s6*x0btW*i@`|;Sv>NQ7rQPY5=9Q5*Xd3v4cj`O@cyj0XU;G7`AHr!SX6ms^<c!L+xIBcAjR5~9OHk76?`S4!%u3FG02@p#_w@g!IzV$*{0R$Q2;OxWt>Etg)_ z&8Y+EnD`MA3?}>lioaSIKh&Lx_65J0Y)%siIt5w}hB_{m?6+GlKsCHsvMw)9fzzee z0llcdeNSR3w5eRZKjJ5P`v+Ef!@ERTcC9ZV;J_6m4JUwu_^-~m`gK8P^N6YtB5eX% z6LZ2};hVlktG>tC#qFp|M~~8V-0>ze?$)nPZ^zxgK>YY|Xw9VBx)Hm-Rh*FdD1@P- zS$B_`90IuL%8Jeipbq})Cu_?)>|~vO+l$-SyazxEZ7Miz_B6XwDvQ~6x^SaF$Q@in zqlC6^Z_x!BKC|gJ=ptUJ*u_6oP{IBDW~5uVW4?~Km>Qn z3cuTAWla-np>A1n50EbzT?^hr+X;^epHt5sKfo$HB&k7kFlqQVvj3BRbH{dRY^tE5 zLapPk?t0{0Y>JhTB{*EtI6N9A_FJNG0#~Mpt`rrIQb|q(L?|Qt z1Fzc=eV^HhQ&4hkWfwI^T_-7065Rcbsl8QLSEmZweeJLg4lxGEVE*Y|3(2FMAn0sa z^S)b5lo=w@tjlX0RSIAy(6VJ5FgxPcnj%Gz6;F9IJSnp=#1ejZRhn7)gBc<*K0(gT zN07vnIAFnpy$m-qG_5p!K-1zr6?v|DX zBP>oAN?o{6p*))Jxn5b(xN~OB?C#Y^JC7uOw9%K_T51Xjnlo(zoQNTedQkL<&(9vO zItp-cut|k=y}$9S**Pd}(6qj@1u0prmnrKx6;Djv6-Zv+P39WJ;b8h^0(8CX+NoMaG=V09o(vGFtw zhv|;-g|@Cy2AxM-1~)gX#%4-q^Wm!bIsJcE4zehfdo(9;HSTp3eyqGPB2i zm;PGVH*J48B7CXcIC9N|`Z{ajy*w7r#$(NciK!6QsF8pGxO zYQF?fC~1KYQubVI%O_0Zhqr3B)RKU|pk{xj?4y1-b5>G^!Dm}&xFJXa7=Zw^ibbks zcTgD7L5>b3S7TcqX4- z%&n%wmVS|1u@8eVDmt8$nlBTdqcrj82ld04@xM5%P;c6;zb!$WS{#s}C}eC!!t)=m zyGk-< zn{Ze8;>GFl@5r5&ciiBfsp2oUjv#p#T)4RLsS|n7olbs^bf-h?Y?n^*D;(D+#x2DBv5DCdKobabVB!x|D@QKX-RA6n0`$m= z%?d>Pu|vU7%xs{<_41A~!5m^%II$X57DZ{~*%pc)yyW|)Y62}*n+?NpFlgr7ybFvL z{|xM_fl-A36|68JVx|Gx$8u3j(qdOqM>y=TdzmnLtjsxFE{rYqN-*7EToE^}5=sd4 z@3&E!0!seu@=1%Bgv#nbAbZ6>tjIkPgfIl{;J{%$;*sK#OF#)+J@r_ih9~*DExDu! zM<8_N?NAxw#jRj%qu=?R&5%%>*|0z-X91N|n687{wTn&gT@La+3!_oX^uU8StfR3M z-wdj-+4i#CL0U2fz2mj8pO;2@k?r|LM@;&FxPE%Vj63Y3DX6x24c|}ut<8c5gNOY8 zdfXFFyRSyni_o0-iihi#x&*y4kxNdI)x`WYcaTgE&+`dSHj*FL`+03_!jPk&5NYXQ zLX;2z&&k7e(@o3Ki~<{mVwIq&p;7+(x6yMvnR<44;obqAdR%0Dyx=b^iZJAYp~Hgw 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 VcBE{bwiFEbkr0s;t`yYw|9|Sq_5T0> literal 49152 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 diff --git a/icons/mob/lavaland/lavaland_monsters.dmi b/icons/mob/lavaland/lavaland_monsters.dmi index dac70998f53c7b2281e98dae9f12dffe08b6f4f6..f8394dd23588d4dcc63c3953651a7a060a062883 100644 GIT binary patch delta 98987 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 delta 98983 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%0DF?R;YbZWKBE2y$YXID{M`g3b9D$m3-QGS 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μwp|7m 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 Date: Tue, 15 May 2018 07:34:37 +0200 Subject: [PATCH 226/415] Cleans up touch spells (#37715) * Cleans up touch spells * Silent param * Oh god i'm blind. --- code/modules/spells/spell.dm | 54 +++++++++---------- code/modules/spells/spell_types/godhand.dm | 13 ++--- .../spells/spell_types/touch_attacks.dm | 49 ++++++++++------- 3 files changed, 58 insertions(+), 58 deletions(-) diff --git a/code/modules/spells/spell.dm b/code/modules/spells/spell.dm index ee02bd524f..89e513fd60 100644 --- a/code/modules/spells/spell.dm +++ b/code/modules/spells/spell.dm @@ -144,7 +144,6 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th var/smoke_spread = 0 //1 - harmless, 2 - harmful var/smoke_amt = 0 //cropped at 10 - var/critfailchance = 0 var/centcom_cancast = 1 //Whether or not the spell should be allowed on z2 action_icon = 'icons/mob/actions/actions_spells.dmi' @@ -153,7 +152,6 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th base_action = /datum/action/spell_action/spell /obj/effect/proc_holder/spell/proc/cast_check(skipcharge = 0,mob/user = usr) //checks if the spell can be cast based on its settings; skipcharge is used when an additional cast_check is called inside the spell - if(player_lock) if(!user.mind || !(src in user.mind.spell_list) && !(src in user.mob_spell_list)) to_chat(user, "You shouldn't have this spell! Something's wrong.") @@ -168,15 +166,8 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th return 0 if(!skipcharge) - switch(charge_type) - if("recharge") - if(charge_counter < charge_max) - to_chat(user, still_recharging_msg) - return 0 - if("charges") - if(!charge_counter) - to_chat(user, "[name] has no charges left.") - return 0 + if(!charge_check(user)) + return 0 if(user.stat && !stat_allowed) to_chat(user, "Not when you're incapacitated.") @@ -236,6 +227,20 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th action.UpdateButtonIcon() return 1 +/obj/effect/proc_holder/spell/proc/charge_check(mob/user, silent = FALSE) + switch(charge_type) + if("recharge") + if(charge_counter < charge_max) + if(!silent) + to_chat(user, still_recharging_msg) + return FALSE + if("charges") + if(!charge_counter) + if(!silent) + to_chat(user, "[name] has no charges left.") + return FALSE + return TRUE + /obj/effect/proc_holder/spell/proc/invocation(mob/user = usr) //spelling the spell out and setting it on recharge/reducing charges amount switch(invocation_type) if("shout") @@ -297,10 +302,7 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th recharging = TRUE if(sound) playMagSound() - if(prob(critfailchance)) - critfail(targets) - else - cast(targets,user=user) + cast(targets,user=user) after_cast(targets) if(action) action.UpdateButtonIcon() @@ -349,9 +351,6 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th /obj/effect/proc_holder/spell/proc/cast(list/targets,mob/user = usr) return -/obj/effect/proc_holder/spell/proc/critfail(list/targets) - return - /obj/effect/proc_holder/spell/proc/revert_cast(mob/user = usr) //resets recharge or readds a charge switch(charge_type) if("recharge") @@ -500,25 +499,20 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th /obj/effect/proc_holder/spell/proc/can_cast(mob/user = usr) if(((!user.mind) || !(src in user.mind.spell_list)) && !(src in user.mob_spell_list)) - return 0 + return FALSE - switch(charge_type) - if("recharge") - if(charge_counter < charge_max) - return 0 - if("charges") - if(!charge_counter) - return 0 + if(!charge_check(user,TRUE)) + return FALSE if(user.stat && !stat_allowed) - return 0 + return FALSE if(!ishuman(user)) if(clothes_req || human_req) - return 0 + return FALSE if(nonabstract_req && (isbrain(user) || ispAI(user))) - return 0 - return 1 + return FALSE + return TRUE /obj/effect/proc_holder/spell/self //Targets only the caster. Good for buffs and heals, but probably not wise for fireballs (although they usually fireball themselves anyway, honke) range = -1 //Duh diff --git a/code/modules/spells/spell_types/godhand.dm b/code/modules/spells/spell_types/godhand.dm index 2def02b4c0..bf402b7a6a 100644 --- a/code/modules/spells/spell_types/godhand.dm +++ b/code/modules/spells/spell_types/godhand.dm @@ -13,10 +13,7 @@ throwforce = 0 throw_range = 0 throw_speed = 0 - -/obj/item/melee/touch_attack/Initialize() - attached_spell = loc - . = ..() + var/charges = 1 /obj/item/melee/touch_attack/attack(mob/target, mob/living/carbon/user) if(!iscarbon(user)) //Look ma, no hands @@ -29,13 +26,13 @@ /obj/item/melee/touch_attack/afterattack(atom/target, mob/user, proximity) user.say(catchphrase) playsound(get_turf(user), on_use_sound,50,1) - if(attached_spell) - attached_spell.attached_hand = null - qdel(src) + charges-- + if(charges <= 0) + qdel(src) /obj/item/melee/touch_attack/Destroy() if(attached_spell) - attached_spell.attached_hand = null + attached_spell.on_hand_destroy(src) return ..() /obj/item/melee/touch_attack/disintegrate diff --git a/code/modules/spells/spell_types/touch_attacks.dm b/code/modules/spells/spell_types/touch_attacks.dm index 2000d8daea..0ffe02cec2 100644 --- a/code/modules/spells/spell_types/touch_attacks.dm +++ b/code/modules/spells/spell_types/touch_attacks.dm @@ -1,37 +1,46 @@ /obj/effect/proc_holder/spell/targeted/touch - var/hand_path = "/obj/item/melee/touch_attack" + var/hand_path = /obj/item/melee/touch_attack var/obj/item/melee/touch_attack/attached_hand = null invocation_type = "none" //you scream on connecting, not summoning include_user = 1 range = -1 -/obj/effect/proc_holder/spell/targeted/touch/Click(mob/user = usr) - if(attached_hand) - qdel(attached_hand) +/obj/effect/proc_holder/spell/targeted/touch/proc/remove_hand(recharge = FALSE) + QDEL_NULL(attached_hand) + if(recharge) charge_counter = charge_max - attached_hand = null - to_chat(user, "You draw the power out of your hand.") - return FALSE - ..() + +/obj/effect/proc_holder/spell/targeted/touch/proc/on_hand_destroy(obj/item/melee/touch_attack/hand) + if(hand != attached_hand) + CRASH("Incorrect touch spell hand.") + //Start recharging. + attached_hand = null + recharging = TRUE + action.UpdateButtonIcon() /obj/effect/proc_holder/spell/targeted/touch/cast(list/targets,mob/user = usr) + if(!QDELETED(attached_hand)) + remove_hand(TRUE) + to_chat(user, "You draw the power out of your hand.") + return + for(var/mob/living/carbon/C in targets) if(!attached_hand) - if(!ChargeHand(C)) - return FALSE - while(attached_hand) - charge_counter = 0 - stoplag(1) + if(ChargeHand(C)) + recharging = FALSE + return -/obj/effect/proc_holder/spell/targeted/touch/can_cast(mob/user = usr) - return ..() && attached_hand +/obj/effect/proc_holder/spell/targeted/touch/charge_check(mob/user,silent = FALSE) + if(!QDELETED(attached_hand)) //Charge doesn't matter when putting the hand away. + return TRUE + else + return ..() /obj/effect/proc_holder/spell/targeted/touch/proc/ChargeHand(mob/living/carbon/user) attached_hand = new hand_path(src) + attached_hand.attached_spell = src if(!user.put_in_hands(attached_hand)) - qdel(attached_hand) - charge_counter = charge_max - attached_hand = null + remove_hand(TRUE) to_chat(user, "Your hands are full!") return FALSE to_chat(user, "You channel the power of the spell to your hand.") @@ -41,7 +50,7 @@ /obj/effect/proc_holder/spell/targeted/touch/disintegrate name = "Disintegrate" desc = "This spell charges your hand with vile energy that can be used to violently explode victims." - hand_path = "/obj/item/melee/touch_attack/disintegrate" + hand_path = /obj/item/melee/touch_attack/disintegrate school = "evocation" charge_max = 600 @@ -53,7 +62,7 @@ /obj/effect/proc_holder/spell/targeted/touch/flesh_to_stone name = "Flesh to Stone" desc = "This spell charges your hand with the power to turn victims into inert statues for a long period of time." - hand_path = "/obj/item/melee/touch_attack/fleshtostone" + hand_path = /obj/item/melee/touch_attack/fleshtostone school = "transmutation" charge_max = 600 From 19306a2d9bcf49fd892c9b438eb94dafb59512dd Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 15 May 2018 00:48:01 -0500 Subject: [PATCH 228/415] Automatic changelog generation for PR #6663 [ci skip] --- html/changelogs/AutoChangeLog-pr-6663.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6663.yml diff --git a/html/changelogs/AutoChangeLog-pr-6663.yml b/html/changelogs/AutoChangeLog-pr-6663.yml new file mode 100644 index 0000000000..97e977b062 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6663.yml @@ -0,0 +1,4 @@ +author: "Xhuis" +delete-after: True +changes: + - tweak: "Character traits are now called character quirks. Functionality remains unaffected." From 8c626ffb4e5cbbad065e6bdae43d8e08cc75b4e2 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 15 May 2018 06:51:42 -0500 Subject: [PATCH 229/415] Automatic changelog generation for PR #6731 [ci skip] --- html/changelogs/AutoChangeLog-pr-6731.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6731.yml diff --git a/html/changelogs/AutoChangeLog-pr-6731.yml b/html/changelogs/AutoChangeLog-pr-6731.yml new file mode 100644 index 0000000000..255a2ba3ad --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6731.yml @@ -0,0 +1,4 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - tweak: "You may now take unlimited neutral and negative quirks" From 61a327090753a25119731b3b1c1c4fd21cb9c65f Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 15 May 2018 06:52:55 -0500 Subject: [PATCH 230/415] Automatic changelog generation for PR #6744 [ci skip] --- html/changelogs/AutoChangeLog-pr-6744.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6744.yml diff --git a/html/changelogs/AutoChangeLog-pr-6744.yml b/html/changelogs/AutoChangeLog-pr-6744.yml new file mode 100644 index 0000000000..761f59fb39 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6744.yml @@ -0,0 +1,4 @@ +author: "Dax Dupont" +delete-after: True +changes: + - bugfix: "Fixes missing curator hud icon." From 072e0b5951eae24556b540f9646146fe001a5c46 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 15 May 2018 06:53:13 -0500 Subject: [PATCH 231/415] Automatic changelog generation for PR #6745 [ci skip] --- html/changelogs/AutoChangeLog-pr-6745.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6745.yml diff --git a/html/changelogs/AutoChangeLog-pr-6745.yml b/html/changelogs/AutoChangeLog-pr-6745.yml new file mode 100644 index 0000000000..2f3648f00a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6745.yml @@ -0,0 +1,4 @@ +author: "Denton" +delete-after: True +changes: + - rscadd: "APC/air alarm/airlock/fire alarm/firelock electronics are now available once Industrial Engineering is researched.." From 60292976a07083357a8780cc34e33929cd7c523f Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 15 May 2018 06:53:27 -0500 Subject: [PATCH 232/415] Automatic changelog generation for PR #6746 [ci skip] --- html/changelogs/AutoChangeLog-pr-6746.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6746.yml diff --git a/html/changelogs/AutoChangeLog-pr-6746.yml b/html/changelogs/AutoChangeLog-pr-6746.yml new file mode 100644 index 0000000000..80c93a7305 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6746.yml @@ -0,0 +1,5 @@ +author: "Denton" +delete-after: True +changes: + - tweak: "Engi-Vend machines now contain fire alarm and firelock electronics!" + - code_imp: "Loose tech storage circuit boards have been replaced with spawners." From 24b6ee5a6c2422ef37bd0b91931fa020f2db2eb5 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Tue, 15 May 2018 10:05:56 -0500 Subject: [PATCH 233/415] should make life simpler --- code/modules/admin/IsBanned.dm | 2 +- code/modules/client/client_procs.dm | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/code/modules/admin/IsBanned.dm b/code/modules/admin/IsBanned.dm index 49c7aeffb6..097076fc74 100644 --- a/code/modules/admin/IsBanned.dm +++ b/code/modules/admin/IsBanned.dm @@ -39,7 +39,7 @@ return list("reason"="guest", "desc"="\nReason: Guests not allowed. Please sign in with a byond account.") if (CONFIG_GET(flag/panic_bunker) && SSdbcore.Connect()) log_access("Failed Login: [key] - Guests not allowed during panic bunker") - return list("reason"="guest", "desc"="\nReason: You must first join the Discord to verify your account before joining this server. Please ping an admin once you've joined and read the rules. https://discord.gg/E6SQuhz") + return list("reason"="guest", "desc"="\nReason: You must first sign into your BYOND account or join the Discord to verify your account before joining this server. Please ping an admin once you've joined and read the rules. https://discord.gg/E6SQuhz") //Population Cap Checking var/extreme_popcap = CONFIG_GET(number/extreme_popcap) diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index d413353b11..f9c08a838a 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -92,7 +92,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( if (citadel_client_procs(href_list)) return // CITADEL End - + switch(href_list["_src_"]) if("holder") hsrc = holder @@ -403,9 +403,9 @@ GLOBAL_LIST_EMPTY(external_rsc_urls) var/datum/verbs/menu/menuitem = GLOB.menulist[thing] if (menuitem) menuitem.Load_checked(src) - + hook_vr("client_new",list(src)) // CIT CHANGE - hook for client/New() changes - + Master.UpdateTickRate() ////////////// @@ -484,7 +484,7 @@ GLOBAL_LIST_EMPTY(external_rsc_urls) if (CONFIG_GET(flag/panic_bunker) && !holder && !GLOB.deadmins[ckey]) log_access("Failed Login: [key] - New account attempting to connect during panic bunker") message_admins("Failed Login: [key] - New account attempting to connect during panic bunker") - to_chat(src, "Sorry but the server is currently not accepting connections from never before seen players.") + to_chat(src, "You must first join the Discord to verify your account before joining this server. Please ping an admin once you've joined and read the rules. https://discord.gg/E6SQuhz") var/list/connectiontopic_a = params2list(connectiontopic) var/list/panic_addr = CONFIG_GET(string/panic_server_address) if(panic_addr && !connectiontopic_a["redirect"]) From 08fab3adaa2f10184e404ac0c1c54be40d2f529d Mon Sep 17 00:00:00 2001 From: LetterJay Date: Tue, 15 May 2018 10:25:58 -0500 Subject: [PATCH 234/415] Update client_procs.dm --- code/modules/client/client_procs.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index f9c08a838a..11c3e3c899 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -484,7 +484,7 @@ GLOBAL_LIST_EMPTY(external_rsc_urls) if (CONFIG_GET(flag/panic_bunker) && !holder && !GLOB.deadmins[ckey]) log_access("Failed Login: [key] - New account attempting to connect during panic bunker") message_admins("Failed Login: [key] - New account attempting to connect during panic bunker") - to_chat(src, "You must first join the Discord to verify your account before joining this server. Please ping an admin once you've joined and read the rules. https://discord.gg/E6SQuhz") + to_chat(src, "You must first join the Discord to verify your account before joining this server. Please ping an admin once you've joined and read the rules. https://discord.gg/E6SQuhz") //CIT CHANGE - makes the panic bunker disconnect message point to the discord var/list/connectiontopic_a = params2list(connectiontopic) var/list/panic_addr = CONFIG_GET(string/panic_server_address) if(panic_addr && !connectiontopic_a["redirect"]) From 79b5e412f1d1e4d2ba5ba14b61d7a68792602f34 Mon Sep 17 00:00:00 2001 From: Dax Dupont Date: Mon, 14 May 2018 18:41:24 +0200 Subject: [PATCH 235/415] Makes cult items less of a vomit coaster --- code/modules/antagonists/cult/cult_items.dm | 8 ++++++++ code/modules/antagonists/wizard/equipment/soulstone.dm | 3 +++ 2 files changed, 11 insertions(+) diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index 35399dc8e0..c7c066c62f 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -71,8 +71,11 @@ if(!iscultist(user)) if(!is_servant_of_ratvar(user)) to_chat(user, "\"I wouldn't advise that.\"") +<<<<<<< HEAD to_chat(user, "An overwhelming sense of nausea overpowers you!") user.Dizzy(120) +======= +>>>>>>> 9f94b67... as kor suggested else to_chat(user, "\"One of Ratvar's toys is trying to play with things [user.p_they()] shouldn't. Cute.\"") to_chat(user, "A horrible force yanks at your arm!") @@ -136,10 +139,14 @@ if(!iscultist(user)) if(!is_servant_of_ratvar(user)) to_chat(user, "\"I wouldn't advise that.\"") +<<<<<<< HEAD to_chat(user, "An overwhelming sense of nausea overpowers you!") user.Dizzy(80) user.dropItemToGround(src, TRUE) user.Knockdown(30) +======= + force = 5 +>>>>>>> 9f94b67... as kor suggested return else to_chat(user, "\"One of Ratvar's toys is trying to play with things [user.p_they()] shouldn't. Cute.\"") @@ -149,6 +156,7 @@ user.dropItemToGround(src, TRUE) user.Knockdown(50) return + force = initial(force) jaunt.Grant(user, src) linked_action.Grant(user, src) user.update_icons() diff --git a/code/modules/antagonists/wizard/equipment/soulstone.dm b/code/modules/antagonists/wizard/equipment/soulstone.dm index c0a328b3ae..66e9123c4e 100644 --- a/code/modules/antagonists/wizard/equipment/soulstone.dm +++ b/code/modules/antagonists/wizard/equipment/soulstone.dm @@ -33,7 +33,10 @@ ..() if(!iscultist(user) && !iswizard(user) && !usability) to_chat(user, "An overwhelming feeling of dread comes over you as you pick up the soulstone. It would be wise to be rid of this quickly.") +<<<<<<< HEAD user.Dizzy(120) +======= +>>>>>>> 9f94b67... as kor suggested /obj/item/soulstone/examine(mob/user) ..() From 2b789b29b8d3c4d067cfa216e2e3f005d0d90d07 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 15 May 2018 15:53:07 -0500 Subject: [PATCH 236/415] Automatic changelog generation for PR #6660 [ci skip] --- html/changelogs/AutoChangeLog-pr-6660.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6660.yml diff --git a/html/changelogs/AutoChangeLog-pr-6660.yml b/html/changelogs/AutoChangeLog-pr-6660.yml new file mode 100644 index 0000000000..e657c8d5ab --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6660.yml @@ -0,0 +1,5 @@ +author: "GrayRachnid" +delete-after: True +changes: + - rscadd: "Adds private rooms to the ninja holding center" + - rscadd: "Along with a few things to make it more tolerable, but fear not. There is now a suicide chamber for those who want the easy way out." From 5e48fcd2751e8f51140c091eb8b5a153910ffad4 Mon Sep 17 00:00:00 2001 From: vuonojenmustaturska Date: Wed, 16 May 2018 12:46:30 +0300 Subject: [PATCH 237/415] Merge pull request #37846 from DaxDupont/axe-time Small cult nerf do not be alarmed robustin think about your heart --- code/game/objects/items/stacks/sheets/sheet_types.dm | 5 +++++ code/game/turfs/simulated/floor/reinf_floor.dm | 3 +-- code/modules/antagonists/cult/ritual.dm | 3 ++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index b3af8b9b33..df3d5f799b 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -352,6 +352,11 @@ GLOBAL_LIST_INIT(runed_metal_recipes, list ( \ if(!iscultist(user)) to_chat(user, "Only one with forbidden knowledge could hope to work this metal...") return + var/turf/T = get_turf(user) //we may have moved. adjust as needed... + var/area/A = get_area(user) + if((!is_station_level(T.z) && !is_mining_level(T.z)) || (A && !A.blob_allowed)) + to_chat(user, "The veil is not weak enough here.") + return FALSE return ..() /obj/item/stack/sheet/runed_metal/Initialize(mapload, new_amount, merge = TRUE) diff --git a/code/game/turfs/simulated/floor/reinf_floor.dm b/code/game/turfs/simulated/floor/reinf_floor.dm index 78fe2b1bde..a51989d230 100644 --- a/code/game/turfs/simulated/floor/reinf_floor.dm +++ b/code/game/turfs/simulated/floor/reinf_floor.dm @@ -117,9 +117,8 @@ /turf/open/floor/engine/cult name = "engraved floor" - desc = "The air hangs heavy over this sinister flooring." + desc = "The air smells strangely over this sinister flooring." icon_state = "plating" - CanAtmosPass = ATMOS_PASS_NO floor_tile = null var/obj/effect/clockwork/overlay/floor/bloodcult/realappearance diff --git a/code/modules/antagonists/cult/ritual.dm b/code/modules/antagonists/cult/ritual.dm index dd129708a8..ba2ea53ef2 100644 --- a/code/modules/antagonists/cult/ritual.dm +++ b/code/modules/antagonists/cult/ritual.dm @@ -144,7 +144,8 @@ This file contains the cult dagger and rune list code if(locate(/obj/effect/rune) in T) to_chat(user, "There is already a rune here.") return FALSE - if(!is_station_level(T.z) && !is_mining_level(T.z)) + var/area/A = get_area(T) + if((!is_station_level(T.z) && !is_mining_level(T.z)) || (A && !A.blob_allowed)) to_chat(user, "The veil is not weak enough here.") return FALSE return TRUE From fe93e1ccbdaec6440bff937d7dd38fe9f81be775 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Wed, 16 May 2018 09:04:39 -0500 Subject: [PATCH 239/415] Update cult_items.dm --- code/modules/antagonists/cult/cult_items.dm | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index c7c066c62f..4de5219d7d 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -71,11 +71,6 @@ if(!iscultist(user)) if(!is_servant_of_ratvar(user)) to_chat(user, "\"I wouldn't advise that.\"") -<<<<<<< HEAD - to_chat(user, "An overwhelming sense of nausea overpowers you!") - user.Dizzy(120) -======= ->>>>>>> 9f94b67... as kor suggested else to_chat(user, "\"One of Ratvar's toys is trying to play with things [user.p_they()] shouldn't. Cute.\"") to_chat(user, "A horrible force yanks at your arm!") @@ -139,14 +134,7 @@ if(!iscultist(user)) if(!is_servant_of_ratvar(user)) to_chat(user, "\"I wouldn't advise that.\"") -<<<<<<< HEAD - to_chat(user, "An overwhelming sense of nausea overpowers you!") - user.Dizzy(80) - user.dropItemToGround(src, TRUE) - user.Knockdown(30) -======= force = 5 ->>>>>>> 9f94b67... as kor suggested return else to_chat(user, "\"One of Ratvar's toys is trying to play with things [user.p_they()] shouldn't. Cute.\"") From 3103119f6b8fe7a9d0633276037a01ba3b5ba712 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Wed, 16 May 2018 09:04:51 -0500 Subject: [PATCH 240/415] Update soulstone.dm --- code/modules/antagonists/wizard/equipment/soulstone.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/modules/antagonists/wizard/equipment/soulstone.dm b/code/modules/antagonists/wizard/equipment/soulstone.dm index 66e9123c4e..11882f65d1 100644 --- a/code/modules/antagonists/wizard/equipment/soulstone.dm +++ b/code/modules/antagonists/wizard/equipment/soulstone.dm @@ -33,10 +33,6 @@ ..() if(!iscultist(user) && !iswizard(user) && !usability) to_chat(user, "An overwhelming feeling of dread comes over you as you pick up the soulstone. It would be wise to be rid of this quickly.") -<<<<<<< HEAD - user.Dizzy(120) -======= ->>>>>>> 9f94b67... as kor suggested /obj/item/soulstone/examine(mob/user) ..() From a87acf9b023b4a8b3fbd615306b72a267227bc6d Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 16 May 2018 11:08:40 -0500 Subject: [PATCH 241/415] Automatic changelog generation for PR #6756 [ci skip] --- html/changelogs/AutoChangeLog-pr-6756.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6756.yml diff --git a/html/changelogs/AutoChangeLog-pr-6756.yml b/html/changelogs/AutoChangeLog-pr-6756.yml new file mode 100644 index 0000000000..180e4f9875 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6756.yml @@ -0,0 +1,5 @@ +author: "Dax Dupont" +delete-after: True +changes: + - balance: "Cult space bases are kill again." + - balance: "Cult floors now pass gas." From 56544307ecbe50a7aadd0e9c269c75ac22db3861 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 16 May 2018 11:09:23 -0500 Subject: [PATCH 242/415] Automatic changelog generation for PR #6754 [ci skip] --- html/changelogs/AutoChangeLog-pr-6754.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6754.yml diff --git a/html/changelogs/AutoChangeLog-pr-6754.yml b/html/changelogs/AutoChangeLog-pr-6754.yml new file mode 100644 index 0000000000..52f34a1ed3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6754.yml @@ -0,0 +1,4 @@ +author: "Dax Dupont" +delete-after: True +changes: + - balance: "Cult items will no longer be a long ride on the vomit coaster if picked up by a non cultist." From 4d3ead744a2833d0a4a6a1dfe5497ca7fb71390c Mon Sep 17 00:00:00 2001 From: deathride58 Date: Wed, 16 May 2018 12:15:29 -0400 Subject: [PATCH 243/415] Update wallets.dm --- code/game/objects/items/storage/wallets.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/storage/wallets.dm b/code/game/objects/items/storage/wallets.dm index ee001b7185..e2e9eb9929 100644 --- a/code/game/objects/items/storage/wallets.dm +++ b/code/game/objects/items/storage/wallets.dm @@ -4,7 +4,7 @@ icon_state = "wallet" w_class = WEIGHT_CLASS_SMALL resistance_flags = FLAMMABLE - slot_flags = ITEM_SLOT_ID + slot_flags = SLOT_ID var/obj/item/card/id/front_id = null var/list/combined_access From 593919a85ac5055161d7feb1025f9ed33a82932b Mon Sep 17 00:00:00 2001 From: AnturK Date: Wed, 16 May 2018 19:03:57 +0200 Subject: [PATCH 244/415] Fixes fireaxe butchering. (#37850) --- code/game/objects/items/twohanded.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm index fdbea343e3..8a161dd0a2 100644 --- a/code/game/objects/items/twohanded.dm +++ b/code/game/objects/items/twohanded.dm @@ -236,7 +236,7 @@ /obj/item/twohanded/fireaxe/Initialize() . = ..() - AddComponent(/datum/component/butchering, 100, 80, hitsound) //axes are not known for being precision butchering tools + AddComponent(/datum/component/butchering, 100, 80, 0 , hitsound) //axes are not known for being precision butchering tools /obj/item/twohanded/fireaxe/update_icon() //Currently only here to fuck with the on-mob icons. icon_state = "fireaxe[wielded]" From eb29d86c5f25ffb579afb67270057b8df49149fe Mon Sep 17 00:00:00 2001 From: Dax Dupont Date: Wed, 16 May 2018 19:03:18 +0200 Subject: [PATCH 246/415] Fixes wrong circuits (#37853) * Fixes wrong circuits * this too --- .../objects/items/circuitboards/computer_circuitboards.dm | 4 ++++ .../objects/items/circuitboards/machine_circuitboards.dm | 7 +++++++ .../research/machinery/departmental_circuit_imprinter.dm | 1 + code/modules/research/rdconsole.dm | 1 + code/modules/vending/liberation_toy.dm | 1 + code/modules/vending/toys.dm | 1 + 6 files changed, 15 insertions(+) diff --git a/code/game/objects/items/circuitboards/computer_circuitboards.dm b/code/game/objects/items/circuitboards/computer_circuitboards.dm index 8d90e1bc56..8053c00daf 100644 --- a/code/game/objects/items/circuitboards/computer_circuitboards.dm +++ b/code/game/objects/items/circuitboards/computer_circuitboards.dm @@ -154,6 +154,10 @@ name = "Labor Camp teleporter console (Computer Board)" build_path = /obj/machinery/computer/gulag_teleporter_computer +/obj/item/circuitboard/computer/rdconsole/production + name = "R&D Console Production Only (Computer Board)" + build_path = /obj/machinery/computer/rdconsole/production + /obj/item/circuitboard/computer/rdconsole name = "R&D Console (Computer Board)" build_path = /obj/machinery/computer/rdconsole/core diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index c263a7652c..1e7969fa8f 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -841,6 +841,13 @@ /obj/item/stack/sheet/glass = 1, /obj/item/vending_refill/donksoft = 3) +/obj/item/circuitboard/machine/vending/syndicatedonksofttoyvendor + name = "Syndicate Donksoft Toy Vendor (Machine Board)" + build_path = /obj/machinery/vending/toyliberationstation + req_components = list( + /obj/item/stack/sheet/glass = 1, + /obj/item/vending_refill/donksoft = 3) + /obj/item/circuitboard/machine/dish_drive name = "Dish Drive (Machine Board)" build_path = /obj/machinery/dish_drive diff --git a/code/modules/research/machinery/departmental_circuit_imprinter.dm b/code/modules/research/machinery/departmental_circuit_imprinter.dm index 5049a25893..c51288b685 100644 --- a/code/modules/research/machinery/departmental_circuit_imprinter.dm +++ b/code/modules/research/machinery/departmental_circuit_imprinter.dm @@ -9,5 +9,6 @@ /obj/machinery/rnd/production/circuit_imprinter/department/science name = "department circuit imprinter (Science)" + circuit = /obj/item/circuitboard/machine/circuit_imprinter/department/science allowed_department_flags = DEPARTMENTAL_FLAG_ALL|DEPARTMENTAL_FLAG_SCIENCE department_tag = "Science" \ No newline at end of file diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index db08c9b950..81b59624d5 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -50,6 +50,7 @@ doesn't have toxins access. var/research_control = TRUE /obj/machinery/computer/rdconsole/production + circuit = /obj/item/circuitboard/computer/rdconsole/production research_control = FALSE /proc/CallMaterialName(ID) diff --git a/code/modules/vending/liberation_toy.dm b/code/modules/vending/liberation_toy.dm index 29528bd900..c912d3dd3e 100644 --- a/code/modules/vending/liberation_toy.dm +++ b/code/modules/vending/liberation_toy.dm @@ -6,6 +6,7 @@ product_slogans = "Get your cool toys today!;Trigger a valid hunter today!;Quality toy weapons for cheap prices!;Give them to HoPs for all access!;Give them to HoS to get perma briged!" product_ads = "Feel robust with your toys!;Express your inner child today!;Toy weapons don't kill people, but valid hunters do!;Who needs responsibilities when you have toy weapons?;Make your next murder FUN!" vend_reply = "Come back for more!" + circuit = /obj/item/circuitboard/machine/vending/syndicatedonksofttoyvendor products = list(/obj/item/gun/ballistic/automatic/toy/unrestricted = 10, /obj/item/gun/ballistic/automatic/toy/pistol/unrestricted = 10, /obj/item/gun/ballistic/shotgun/toy/unrestricted = 10, diff --git a/code/modules/vending/toys.dm b/code/modules/vending/toys.dm index 098560f736..fc2f9c59b9 100644 --- a/code/modules/vending/toys.dm +++ b/code/modules/vending/toys.dm @@ -5,6 +5,7 @@ product_slogans = "Get your cool toys today!;Trigger a valid hunter today!;Quality toy weapons for cheap prices!;Give them to HoPs for all access!;Give them to HoS to get perma briged!" product_ads = "Feel robust with your toys!;Express your inner child today!;Toy weapons don't kill people, but valid hunters do!;Who needs responsibilities when you have toy weapons?;Make your next murder FUN!" vend_reply = "Come back for more!" + circuit = /obj/item/circuitboard/machine/vending/donksofttoyvendor products = list(/obj/item/gun/ballistic/automatic/toy/unrestricted = 10, /obj/item/gun/ballistic/automatic/toy/pistol/unrestricted = 10, /obj/item/gun/ballistic/shotgun/toy/unrestricted = 10, From b1110881408ce4e3c0226fb031035edc2c6584c4 Mon Sep 17 00:00:00 2001 From: AnturK Date: Wed, 16 May 2018 19:04:26 +0200 Subject: [PATCH 248/415] Fixes meteors hitting qdeleted stuff. (#37840) * Fixes meteors hitting qdeleted stuff. * I made a typo in one line change, time to die. * Better solution ? --- code/game/turfs/turf.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index c6d2f66900..dcfc1d41f6 100755 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -343,7 +343,7 @@ for(var/V in contents) var/atom/A = V - if(A.level >= affecting_level) + if(!QDELETED(A) && A.level >= affecting_level) if(ismovableatom(A)) var/atom/movable/AM = A if(!AM.ex_check(explosion_id)) From 0333a505526c37c533e8ef483394332831db3485 Mon Sep 17 00:00:00 2001 From: 81Denton <32391752+81Denton@users.noreply.github.com> Date: Wed, 16 May 2018 19:17:41 +0200 Subject: [PATCH 250/415] [Ready] Syndie air alarm/APC subtypes, cleaning up syndie lavaland piping --- .../lavaland_surface_syndicate_base1.dmm | 1281 +++++------------ .../SpaceRuins/listeningstation.dmm | 36 +- _maps/shuttles/ruin_syndicate_dropship.dmm | 656 +++++++++ code/game/objects/items/storage/boxes.dm | 42 + .../atmospherics/machinery/airalarm.dm | 3 + code/modules/power/apc.dm | 3 + 6 files changed, 1048 insertions(+), 973 deletions(-) create mode 100644 _maps/shuttles/ruin_syndicate_dropship.dmm diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm index 13ee4fa135..ba9b8b5c36 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm @@ -20,11 +20,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -44,11 +41,9 @@ /turf/open/floor/plasteel/floorgrime, /area/ruin/unpowered/syndicate_lava_base/main) "ag" = ( -/obj/machinery/airalarm{ +/obj/machinery/airalarm/syndicate{ dir = 4; - pixel_x = -24; - req_access = null; - req_access_txt = "150" + pixel_x = -24 }, /turf/open/floor/plasteel/red/side{ dir = 8 @@ -100,9 +95,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/machinery/chem_dispenser, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, +/obj/machinery/chem_dispenser/fullupgrade, /turf/open/floor/plasteel, /area/ruin/unpowered/syndicate_lava_base/chemistry) "cA" = ( @@ -187,21 +182,16 @@ /area/ruin/unpowered/syndicate_lava_base/cargo) "dA" = ( /obj/structure/closet/l3closet, -/obj/machinery/power/apc{ +/obj/machinery/power/apc/syndicate{ dir = 8; name = "Chemistry APC"; - pixel_x = -24; - req_access = null; - req_access_txt = "150" + pixel_x = -24 }, /obj/structure/cable/yellow{ icon_state = "0-2" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 6 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/white/side{ @@ -209,11 +199,8 @@ }, /area/ruin/unpowered/syndicate_lava_base/chemistry) "dB" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ + dir = 8 }, /turf/open/floor/plasteel, /area/ruin/unpowered/syndicate_lava_base/chemistry) @@ -287,10 +274,8 @@ /turf/open/floor/plasteel/dark, /area/ruin/unpowered/syndicate_lava_base/cargo) "dL" = ( -/obj/machinery/airalarm{ - pixel_y = 24; - req_access = null; - req_access_txt = "150" +/obj/machinery/airalarm/syndicate{ + pixel_y = 24 }, /obj/structure/closet/crate, /obj/item/extinguisher{ @@ -390,11 +375,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /turf/open/floor/plasteel/white/side{ dir = 8 }, @@ -437,11 +418,9 @@ pixel_x = -3 }, /obj/item/reagent_containers/dropper, -/obj/machinery/airalarm{ +/obj/machinery/airalarm/syndicate{ dir = 8; - pixel_x = 24; - req_access = null; - req_access_txt = "150" + pixel_x = 24 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/white/side{ @@ -529,12 +508,10 @@ /obj/structure/cable/yellow{ icon_state = "0-2" }, -/obj/machinery/power/apc{ +/obj/machinery/power/apc/syndicate{ dir = 1; name = "Cargo Bay APC"; - pixel_y = 24; - req_access = null; - req_access_txt = "150" + pixel_y = 24 }, /obj/structure/closet/emcloset/anchored, /obj/effect/decal/cleanable/dirt, @@ -689,11 +666,7 @@ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /turf/open/floor/plasteel/white/side{ dir = 8 }, @@ -779,11 +752,8 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 6 }, /turf/open/floor/plasteel/vault{ dir = 5 @@ -796,11 +766,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/vault{ @@ -814,11 +781,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{ + dir = 1 }, /turf/open/floor/plasteel/vault{ dir = 5 @@ -832,11 +796,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/mining/glass{ @@ -854,11 +815,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /turf/open/floor/plasteel/floorgrime, /area/ruin/unpowered/syndicate_lava_base/cargo) @@ -870,11 +828,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 10 }, /turf/open/floor/plasteel, /area/ruin/unpowered/syndicate_lava_base/cargo) @@ -955,28 +910,20 @@ dir = 1; pixel_y = -24 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ + dir = 4 }, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/ruin/unpowered/syndicate_lava_base/testlab) "eN" = ( -/obj/machinery/airalarm{ +/obj/machinery/airalarm/syndicate{ dir = 1; - pixel_y = -24; - req_access = null; - req_access_txt = "150" + pixel_y = -24 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /turf/open/floor/plasteel/vault{ dir = 8 @@ -987,11 +934,8 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /turf/open/floor/plasteel/vault{ dir = 8 @@ -1004,11 +948,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 10 }, /turf/open/floor/plasteel/vault{ dir = 8 @@ -1037,11 +978,7 @@ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /turf/open/floor/plasteel/white/side{ dir = 10 }, @@ -1063,8 +1000,8 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/machinery/chem_dispenser, /obj/effect/decal/cleanable/dirt, +/obj/machinery/chem_dispenser/fullupgrade, /turf/open/floor/plasteel/floorgrime, /area/ruin/unpowered/syndicate_lava_base/chemistry) "eV" = ( @@ -1078,11 +1015,7 @@ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /turf/open/floor/plasteel/vault{ dir = 5 }, @@ -1118,11 +1051,8 @@ /obj/item/storage/box/donkpockets{ pixel_x = 2 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ + dir = 1 }, /turf/open/floor/plasteel/dark, /area/ruin/unpowered/syndicate_lava_base/cargo) @@ -1155,20 +1085,14 @@ /area/ruin/unpowered/syndicate_lava_base/cargo) "fc" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 5 }, /turf/open/floor/plasteel, /area/ruin/unpowered/syndicate_lava_base/cargo) "fd" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ + dir = 8 }, /turf/open/floor/plasteel/floorgrime, /area/ruin/unpowered/syndicate_lava_base/cargo) @@ -1182,11 +1106,8 @@ /turf/open/floor/mineral/plastitanium, /area/ruin/unpowered/syndicate_lava_base/cargo) "ff" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ + dir = 4 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/white/side{ @@ -1195,22 +1116,16 @@ /area/ruin/unpowered/syndicate_lava_base/virology) "fg" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 10 }, /turf/open/floor/plasteel/white/side{ dir = 6 }, /area/ruin/unpowered/syndicate_lava_base/virology) "fh" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ + dir = 4 }, /turf/open/floor/plasteel/white/side{ dir = 10 @@ -1223,12 +1138,10 @@ pixel_y = 2 }, /obj/item/storage/box/syringes, -/obj/machinery/power/apc{ +/obj/machinery/power/apc/syndicate{ dir = 1; name = "Virology APC"; - pixel_y = 24; - req_access = null; - req_access_txt = "150" + pixel_y = 24 }, /obj/structure/cable/yellow{ icon_state = "0-2" @@ -1257,12 +1170,10 @@ }, /area/ruin/unpowered/syndicate_lava_base/virology) "fk" = ( -/obj/machinery/power/apc{ +/obj/machinery/power/apc/syndicate{ dir = 2; name = "Experimentation Lab APC"; - pixel_y = -24; - req_access = null; - req_access_txt = "150" + pixel_y = -24 }, /obj/structure/cable/yellow{ icon_state = "0-4" @@ -1274,11 +1185,7 @@ /area/ruin/unpowered/syndicate_lava_base/testlab) "fl" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /obj/structure/extinguisher_cabinet{ pixel_x = 25 }, @@ -1299,11 +1206,7 @@ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /turf/open/floor/plasteel/white, /area/ruin/unpowered/syndicate_lava_base/chemistry) "fn" = ( @@ -1349,11 +1252,7 @@ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/vault{ dir = 5 @@ -1364,40 +1263,12 @@ dir = 8 }, /obj/structure/closet/crate, -/obj/item/stock_parts/capacitor/quadratic, -/obj/item/stock_parts/capacitor/quadratic, -/obj/item/stock_parts/cell/bluespace{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/stock_parts/cell/bluespace{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/stock_parts/manipulator/femto{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/stock_parts/manipulator/femto{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/stock_parts/matter_bin/bluespace{ - pixel_x = -6; - pixel_y = 6 - }, -/obj/item/stock_parts/matter_bin/bluespace{ - pixel_x = -6; - pixel_y = 6 - }, -/obj/item/stock_parts/micro_laser/quadultra, -/obj/item/stock_parts/micro_laser/quadultra, -/obj/item/stock_parts/scanning_module/triphasic{ - pixel_x = -4 - }, -/obj/item/stock_parts/scanning_module/triphasic{ - pixel_x = -4 - }, +/obj/item/storage/box/stockparts/deluxe, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/circuitboard/machine/processor, +/obj/item/circuitboard/machine/gibber, +/obj/item/circuitboard/machine/deep_fryer, /turf/open/floor/plasteel/dark, /area/ruin/unpowered/syndicate_lava_base/cargo) "ft" = ( @@ -1428,11 +1299,9 @@ /obj/machinery/light/small{ dir = 8 }, -/obj/machinery/airalarm{ +/obj/machinery/airalarm/syndicate{ dir = 4; - pixel_x = -24; - req_access = null; - req_access_txt = "150" + pixel_x = -24 }, /obj/structure/table, /obj/item/clothing/suit/hazardvest, @@ -1476,11 +1345,7 @@ req_access_txt = "150" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /turf/open/floor/plasteel/white, /area/ruin/unpowered/syndicate_lava_base/virology) "fz" = ( @@ -1489,11 +1354,7 @@ req_access_txt = "150" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /turf/open/floor/plasteel/white, /area/ruin/unpowered/syndicate_lava_base/virology) "fA" = ( @@ -1536,10 +1397,8 @@ /obj/machinery/light/small{ dir = 8 }, -/obj/machinery/airalarm{ - pixel_y = 24; - req_access = null; - req_access_txt = "150" +/obj/machinery/airalarm/syndicate{ + pixel_y = 24 }, /turf/open/floor/plasteel/floorgrime, /area/ruin/unpowered/syndicate_lava_base/main) @@ -1553,11 +1412,7 @@ "fG" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /obj/machinery/door/airlock/hatch{ name = "Experimentation Lab"; req_access_txt = "150" @@ -1581,11 +1436,7 @@ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /turf/open/floor/plasteel/white/side{ dir = 1 }, @@ -1601,11 +1452,7 @@ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /obj/machinery/door/airlock/mining/glass{ name = "Warehouse"; req_access_txt = "150" @@ -1704,11 +1551,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 5 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/white, @@ -1717,11 +1561,8 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{ + dir = 1 }, /turf/open/floor/plasteel/white, /area/ruin/unpowered/syndicate_lava_base/virology) @@ -1729,21 +1570,15 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /turf/open/floor/plasteel/white, /area/ruin/unpowered/syndicate_lava_base/virology) "gs" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 2; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{ + dir = 2 }, /obj/machinery/light/small, /obj/effect/decal/cleanable/dirt, @@ -1753,11 +1588,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{ + dir = 1 }, /turf/open/floor/plasteel/white/side{ dir = 9 @@ -1767,11 +1599,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/structure/cable/yellow{ icon_state = "1-4" @@ -1784,11 +1613,8 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/structure/disposalpipe/segment, /obj/structure/cable/yellow{ @@ -1800,11 +1626,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -1820,11 +1643,8 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -1838,11 +1658,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{ + dir = 1 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -1867,11 +1684,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -1885,11 +1699,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -1903,11 +1714,7 @@ /obj/structure/cable/yellow{ icon_state = "2-8" }, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer3, /obj/structure/cable/yellow{ icon_state = "1-2" }, @@ -1926,11 +1733,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /turf/open/floor/plasteel/floorgrime, /area/ruin/unpowered/syndicate_lava_base/main) @@ -1941,11 +1745,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /turf/open/floor/plasteel, /area/ruin/unpowered/syndicate_lava_base/main) @@ -1954,11 +1755,8 @@ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 2; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{ + dir = 2 }, /obj/structure/cable/yellow{ icon_state = "1-8" @@ -1972,11 +1770,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /turf/open/floor/plasteel/floorgrime, /area/ruin/unpowered/syndicate_lava_base/main) @@ -1988,11 +1783,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /turf/open/floor/plasteel/floorgrime, /area/ruin/unpowered/syndicate_lava_base/main) @@ -2006,11 +1798,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /turf/open/floor/plasteel/brown/corner{ dir = 4 @@ -2023,11 +1812,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 9 }, /turf/open/floor/plasteel/brown{ dir = 1 @@ -2087,30 +1873,21 @@ req_access_txt = "150" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /turf/open/floor/plasteel/white, /area/ruin/unpowered/syndicate_lava_base/virology) "gU" = ( -/obj/machinery/airalarm{ +/obj/machinery/airalarm/syndicate{ dir = 4; - pixel_x = -24; - req_access = null; - req_access_txt = "150" + pixel_x = -24 }, /obj/structure/sink{ dir = 8; pixel_x = -12; pixel_y = 2 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ + dir = 1 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/white/side{ @@ -2179,11 +1956,8 @@ /obj/effect/turf_decal/stripes/line{ dir = 6 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ + dir = 1 }, /turf/open/floor/plasteel/floorgrime, /area/ruin/unpowered/syndicate_lava_base/main) @@ -2198,11 +1972,7 @@ /area/ruin/unpowered/syndicate_lava_base/main) "hc" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /obj/structure/cable/yellow{ icon_state = "1-2" }, @@ -2289,11 +2059,7 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /turf/open/floor/plasteel/white/side{ dir = 1 }, @@ -2369,18 +2135,12 @@ /turf/open/floor/plating, /area/ruin/unpowered/syndicate_lava_base/main) "hx" = ( -/obj/machinery/airalarm{ +/obj/machinery/airalarm/syndicate{ dir = 4; - pixel_x = -24; - req_access = null; - req_access_txt = "150" + pixel_x = -24 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /obj/structure/cable/yellow{ icon_state = "1-2" }, @@ -2435,11 +2195,8 @@ /area/ruin/unpowered/syndicate_lava_base/virology) "hF" = ( /obj/machinery/light/small, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ + dir = 1 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/white/side, @@ -2491,11 +2248,7 @@ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /obj/structure/cable/yellow{ icon_state = "1-2" }, @@ -2507,10 +2260,8 @@ /obj/structure/table/wood, /obj/item/ammo_box/magazine/m10mm, /obj/item/ammo_box/magazine/sniper_rounds, -/obj/machinery/airalarm{ - pixel_y = 24; - req_access = null; - req_access_txt = "150" +/obj/machinery/airalarm/syndicate{ + pixel_y = 24 }, /turf/open/floor/plasteel/grimy, /area/ruin/unpowered/syndicate_lava_base/dormitories) @@ -2518,11 +2269,7 @@ /obj/machinery/light/small{ dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3, /turf/open/floor/plasteel/grimy, /area/ruin/unpowered/syndicate_lava_base/dormitories) "hO" = ( @@ -2532,20 +2279,14 @@ /obj/machinery/light/small{ dir = 8 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3, /turf/open/floor/plasteel/grimy, /area/ruin/unpowered/syndicate_lava_base/dormitories) "hQ" = ( /obj/structure/table/wood, /obj/item/ammo_box/magazine/m10mm, -/obj/machinery/airalarm{ - pixel_y = 24; - req_access = null; - req_access_txt = "150" +/obj/machinery/airalarm/syndicate{ + pixel_y = 24 }, /turf/open/floor/plasteel/grimy, /area/ruin/unpowered/syndicate_lava_base/dormitories) @@ -2620,22 +2361,16 @@ icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{ + dir = 8 }, /turf/open/floor/plasteel/red/side{ dir = 8 }, /area/ruin/unpowered/syndicate_lava_base/main) "ia" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ + dir = 8 }, /turf/open/floor/plasteel/red/side{ dir = 4 @@ -2650,11 +2385,7 @@ /area/ruin/unpowered/syndicate_lava_base/dormitories) "ic" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /turf/open/floor/plasteel/grimy, /area/ruin/unpowered/syndicate_lava_base/dormitories) "id" = ( @@ -2718,11 +2449,7 @@ /area/ruin/unpowered/syndicate_lava_base/main) "ij" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /obj/structure/cable/yellow{ icon_state = "1-2" }, @@ -2740,11 +2467,7 @@ name = "Cabin 2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /turf/open/floor/plasteel, /area/ruin/unpowered/syndicate_lava_base/dormitories) "im" = ( @@ -2761,11 +2484,7 @@ name = "Cabin 4" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /turf/open/floor/plasteel, /area/ruin/unpowered/syndicate_lava_base/dormitories) "ip" = ( @@ -2844,11 +2563,7 @@ /area/ruin/unpowered/syndicate_lava_base/main) "ix" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /obj/structure/cable/yellow{ icon_state = "1-2" }, @@ -2868,21 +2583,15 @@ /area/ruin/unpowered/syndicate_lava_base/dormitories) "iA" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral/side{ dir = 1 }, /area/ruin/unpowered/syndicate_lava_base/dormitories) "iB" = ( -/obj/machinery/airalarm{ - pixel_y = 24; - req_access = null; - req_access_txt = "150" +/obj/machinery/airalarm/syndicate{ + pixel_y = 24 }, /obj/machinery/atmospherics/components/unary/vent_pump/on, /obj/effect/decal/cleanable/dirt, @@ -2901,22 +2610,14 @@ dir = 2; pixel_y = 24 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3, /turf/open/floor/plasteel/neutral/corner{ dir = 4 }, /area/ruin/unpowered/syndicate_lava_base/dormitories) "iE" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /turf/open/floor/plasteel/neutral/side{ dir = 1 }, @@ -2968,11 +2669,9 @@ /turf/open/floor/circuit/red, /area/ruin/unpowered/syndicate_lava_base/main) "iL" = ( -/obj/machinery/airalarm{ +/obj/machinery/airalarm/syndicate{ dir = 8; - pixel_x = 24; - req_access = null; - req_access_txt = "150" + pixel_x = 24 }, /turf/open/floor/circuit/red, /area/ruin/unpowered/syndicate_lava_base/main) @@ -3004,11 +2703,8 @@ icon_state = "1-4" }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 5 }, /turf/open/floor/plasteel, /area/ruin/unpowered/syndicate_lava_base/main) @@ -3016,11 +2712,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -3035,11 +2728,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -3050,11 +2740,8 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{ + dir = 1 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -3065,11 +2752,8 @@ "iT" = ( /obj/machinery/light/small, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 2; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{ + dir = 2 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -3081,11 +2765,8 @@ /area/ruin/unpowered/syndicate_lava_base/dormitories) "iU" = ( /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{ + dir = 1 }, /obj/structure/cable/yellow{ icon_state = "2-8" @@ -3099,18 +2780,13 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, -/obj/machinery/power/apc{ +/obj/machinery/power/apc/syndicate{ dir = 2; name = "Dormitories APC"; - pixel_y = -24; - req_access = null; - req_access_txt = "150" + pixel_y = -24 }, /obj/structure/cable/yellow{ icon_state = "0-8" @@ -3121,11 +2797,7 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer3, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral/side, /area/ruin/unpowered/syndicate_lava_base/dormitories) @@ -3133,11 +2805,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 9 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/neutral/corner{ @@ -3217,22 +2886,14 @@ name = "Cabin 1" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/ruin/unpowered/syndicate_lava_base/dormitories) "jg" = ( /obj/machinery/door/airlock/maintenance, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /obj/structure/cable/yellow{ icon_state = "1-2" }, @@ -3244,23 +2905,17 @@ name = "Cabin 3" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /turf/open/floor/plasteel, /area/ruin/unpowered/syndicate_lava_base/dormitories) "ji" = ( /obj/structure/cable/yellow{ icon_state = "0-2" }, -/obj/machinery/power/apc{ +/obj/machinery/power/apc/syndicate{ dir = 8; name = "Primary Hallway APC"; - pixel_x = -24; - req_access = null; - req_access_txt = "150" + pixel_x = -24 }, /turf/open/floor/plasteel/red/side{ dir = 8 @@ -3292,10 +2947,8 @@ icon_state = "sleeper_s"; dir = 4 }, -/obj/machinery/airalarm{ - pixel_y = 24; - req_access = null; - req_access_txt = "150" +/obj/machinery/airalarm/syndicate{ + pixel_y = 24 }, /turf/open/floor/plasteel/grimy, /area/ruin/unpowered/syndicate_lava_base/dormitories) @@ -3303,20 +2956,12 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /turf/open/floor/plasteel/grimy, /area/ruin/unpowered/syndicate_lava_base/dormitories) "jp" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /obj/structure/cable/yellow{ icon_state = "1-2" }, @@ -3328,10 +2973,8 @@ dir = 8; icon_state = "sleeper_s" }, -/obj/machinery/airalarm{ - pixel_y = 24; - req_access = null; - req_access_txt = "150" +/obj/machinery/airalarm/syndicate{ + pixel_y = 24 }, /turf/open/floor/plasteel/grimy, /area/ruin/unpowered/syndicate_lava_base/dormitories) @@ -3373,11 +3016,7 @@ /area/ruin/unpowered/syndicate_lava_base/engineering) "jw" = ( /obj/effect/turf_decal/bot, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3, /obj/effect/decal/cleanable/dirt, /obj/structure/closet/toolcloset{ anchored = 1 @@ -3414,11 +3053,8 @@ /obj/machinery/light/small{ dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ + dir = 1 }, /turf/open/floor/plasteel/grimy, /area/ruin/unpowered/syndicate_lava_base/dormitories) @@ -3426,11 +3062,8 @@ /obj/machinery/light/small{ dir = 8 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ + dir = 1 }, /turf/open/floor/plasteel/grimy, /area/ruin/unpowered/syndicate_lava_base/dormitories) @@ -3453,11 +3086,8 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 6 }, /turf/open/floor/plasteel, /area/ruin/unpowered/syndicate_lava_base/main) @@ -3468,11 +3098,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /turf/open/floor/plasteel/yellow/side{ dir = 4 @@ -3487,11 +3114,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/machinery/door/airlock/engineering{ name = "Engineering"; @@ -3509,11 +3133,8 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /turf/open/floor/plasteel, /area/ruin/unpowered/syndicate_lava_base/engineering) @@ -3524,11 +3145,9 @@ /obj/machinery/light/small{ dir = 4 }, -/obj/machinery/airalarm{ +/obj/machinery/airalarm/syndicate{ dir = 8; - pixel_x = 24; - req_access = null; - req_access_txt = "150" + pixel_x = 24 }, /obj/structure/cable/yellow{ icon_state = "2-8" @@ -3536,29 +3155,20 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{ + dir = 4 }, /turf/open/floor/plasteel, /area/ruin/unpowered/syndicate_lava_base/engineering) "jJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 6; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer3{ + dir = 6 }, /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ruin/unpowered/syndicate_lava_base/engineering) "jK" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 8; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer3{ + dir = 8 }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/syndicate_lava_base/engineering) @@ -3608,11 +3218,7 @@ /area/ruin/unpowered/syndicate_lava_base/bar) "jQ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /obj/structure/cable/yellow{ icon_state = "1-2" }, @@ -3631,11 +3237,7 @@ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /turf/open/floor/plasteel, /area/ruin/unpowered/syndicate_lava_base/main) "jT" = ( @@ -3678,11 +3280,7 @@ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/ruin/unpowered/syndicate_lava_base/engineering) @@ -3720,11 +3318,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 6 }, /obj/structure/cable/yellow{ icon_state = "2-4" @@ -3734,11 +3329,8 @@ /area/ruin/unpowered/syndicate_lava_base/main) "kd" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 2; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{ + dir = 2 }, /obj/structure/cable/yellow{ icon_state = "1-4" @@ -3753,11 +3345,8 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{ + dir = 1 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -3772,11 +3361,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -3787,11 +3373,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -3804,11 +3387,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -3822,20 +3402,14 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 2; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{ + dir = 2 }, /turf/open/floor/plasteel, /area/ruin/unpowered/syndicate_lava_base/main) "kj" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ + dir = 8 }, /obj/structure/chair{ dir = 8 @@ -3849,11 +3423,7 @@ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /obj/machinery/door/airlock/engineering{ name = "Engineering"; req_access_txt = "150" @@ -3861,11 +3431,7 @@ /turf/open/floor/plasteel, /area/ruin/unpowered/syndicate_lava_base/engineering) "kl" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer3, /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ruin/unpowered/syndicate_lava_base/engineering) "km" = ( @@ -3884,11 +3450,8 @@ }, /area/ruin/unpowered/syndicate_lava_base/bar) "ko" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ + dir = 4 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/vault{ @@ -3896,20 +3459,15 @@ }, /area/ruin/unpowered/syndicate_lava_base/bar) "kp" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 10 }, /turf/open/floor/plasteel/dark, /area/ruin/unpowered/syndicate_lava_base/bar) "kq" = ( -/obj/machinery/airalarm{ +/obj/machinery/airalarm/syndicate{ dir = 8; - pixel_x = 24; - req_access = null; - req_access_txt = "150" + pixel_x = 24 }, /obj/machinery/vending/coffee{ extended_inventory = 1 @@ -3924,11 +3482,7 @@ req_access_txt = "150" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /obj/structure/cable/yellow{ icon_state = "1-2" }, @@ -4005,11 +3559,8 @@ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/visible, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ - dir = 8; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible/layer3{ + dir = 8 }, /turf/open/floor/plasteel/floorgrime, /area/ruin/unpowered/syndicate_lava_base/engineering) @@ -4017,12 +3568,10 @@ /obj/machinery/light/small{ dir = 1 }, -/obj/machinery/power/apc{ +/obj/machinery/power/apc/syndicate{ dir = 1; name = "Engineering APC"; - pixel_y = 24; - req_access = null; - req_access_txt = "150" + pixel_y = 24 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -4030,11 +3579,8 @@ /obj/structure/cable/yellow{ icon_state = "0-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 9; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer3{ + dir = 9 }, /turf/open/floor/plasteel/floorgrime, /area/ruin/unpowered/syndicate_lava_base/engineering) @@ -4118,11 +3664,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/vault{ dir = 5 @@ -4150,11 +3692,7 @@ /area/ruin/unpowered/syndicate_lava_base/bar) "kO" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /obj/structure/cable/yellow{ icon_state = "1-2" }, @@ -4220,11 +3758,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/visible{ dir = 5 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer3, /turf/open/floor/plasteel/floorgrime, /area/ruin/unpowered/syndicate_lava_base/engineering) "kY" = ( @@ -4323,11 +3857,7 @@ name = "Bar" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /turf/open/floor/wood, /area/ruin/unpowered/syndicate_lava_base/bar) "lk" = ( @@ -4352,11 +3882,7 @@ /area/ruin/unpowered/syndicate_lava_base/bar) "ll" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /obj/structure/cable/yellow{ icon_state = "1-2" }, @@ -4421,11 +3947,7 @@ /turf/open/floor/plating, /area/ruin/unpowered/syndicate_lava_base/engineering) "lr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer3, /turf/open/floor/plasteel, /area/ruin/unpowered/syndicate_lava_base/engineering) "ls" = ( @@ -4495,11 +4017,7 @@ /area/ruin/unpowered/syndicate_lava_base/bar) "lB" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /turf/open/floor/wood, /area/ruin/unpowered/syndicate_lava_base/bar) "lC" = ( @@ -4537,11 +4055,7 @@ /obj/item/vending_refill/coffee, /obj/item/vending_refill/cola, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /obj/structure/cable/yellow{ icon_state = "1-2" }, @@ -4580,11 +4094,9 @@ }, /area/ruin/unpowered/syndicate_lava_base/medbay) "lL" = ( -/obj/machinery/airalarm{ +/obj/machinery/airalarm/syndicate{ dir = 4; - pixel_x = -24; - req_access = null; - req_access_txt = "150" + pixel_x = -24 }, /obj/machinery/light/small{ dir = 8 @@ -4608,20 +4120,14 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ + dir = 4 }, /turf/open/floor/plasteel, /area/ruin/unpowered/syndicate_lava_base/engineering) "lN" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 9; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer3{ + dir = 9 }, /turf/open/floor/plasteel, /area/ruin/unpowered/syndicate_lava_base/engineering) @@ -4669,11 +4175,9 @@ /turf/open/floor/plating, /area/ruin/unpowered/syndicate_lava_base/arrivals) "lU" = ( -/obj/machinery/airalarm{ +/obj/machinery/airalarm/syndicate{ dir = 4; - pixel_x = -24; - req_access = null; - req_access_txt = "150" + pixel_x = -24 }, /obj/structure/chair/stool, /turf/open/floor/plasteel/vault{ @@ -4704,11 +4208,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 5 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -4719,11 +4220,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -4734,11 +4232,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/machinery/door/airlock{ name = "Bar Storage"; @@ -4753,11 +4248,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -4778,11 +4270,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 9 }, /obj/structure/cable/yellow{ icon_state = "1-8" @@ -4801,11 +4290,7 @@ /turf/open/floor/plasteel/floorgrime, /area/ruin/unpowered/syndicate_lava_base/medbay) "me" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3, /turf/open/floor/plasteel, /area/ruin/unpowered/syndicate_lava_base/medbay) "mf" = ( @@ -4813,11 +4298,9 @@ dir = 4; pixel_x = 11 }, -/obj/machinery/airalarm{ +/obj/machinery/airalarm/syndicate{ dir = 8; - pixel_x = 24; - req_access = null; - req_access_txt = "150" + pixel_x = 24 }, /turf/open/floor/plasteel/floorgrime, /area/ruin/unpowered/syndicate_lava_base/medbay) @@ -4932,12 +4415,10 @@ /obj/structure/table/wood, /obj/machinery/light/small, /obj/structure/cable/yellow, -/obj/machinery/power/apc{ +/obj/machinery/power/apc/syndicate{ dir = 2; name = "Bar APC"; - pixel_y = -24; - req_access = null; - req_access_txt = "150" + pixel_y = -24 }, /turf/open/floor/wood, /area/ruin/unpowered/syndicate_lava_base/bar) @@ -4960,11 +4441,7 @@ "mz" = ( /obj/machinery/door/airlock/maintenance, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /obj/structure/cable/yellow{ icon_state = "1-2" }, @@ -4991,11 +4468,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /turf/open/floor/plasteel, /area/ruin/unpowered/syndicate_lava_base/medbay) "mC" = ( @@ -5141,11 +4614,7 @@ /area/ruin/unpowered/syndicate_lava_base/arrivals) "mY" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /obj/structure/cable/yellow{ icon_state = "1-2" }, @@ -5163,11 +4632,7 @@ /area/ruin/unpowered/syndicate_lava_base/medbay) "na" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /turf/open/floor/plasteel/floorgrime, /area/ruin/unpowered/syndicate_lava_base/medbay) "nb" = ( @@ -5266,22 +4731,16 @@ }, /area/ruin/unpowered/syndicate_lava_base/telecomms) "nk" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ + dir = 4 }, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/ruin/unpowered/syndicate_lava_base/telecomms) "nl" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /turf/open/floor/plasteel/vault{ dir = 5 @@ -5292,11 +4751,8 @@ dir = 4 }, /obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 10 }, /obj/structure/noticeboard{ dir = 8; @@ -5342,11 +4798,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 6 }, /obj/structure/cable/yellow{ icon_state = "2-4" @@ -5360,22 +4813,17 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/structure/cable/yellow{ icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/power/apc{ +/obj/machinery/power/apc/syndicate{ dir = 1; name = "Arrival Hallway APC"; - pixel_y = 24; - req_access = null; - req_access_txt = "150" + pixel_y = 24 }, /obj/structure/cable/yellow{ icon_state = "0-4" @@ -5388,11 +4836,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -5405,11 +4850,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -5420,11 +4862,8 @@ /area/ruin/unpowered/syndicate_lava_base/arrivals) "nw" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 2; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{ + dir = 2 }, /obj/structure/cable/yellow{ icon_state = "1-4" @@ -5441,11 +4880,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -5459,11 +4895,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -5476,11 +4909,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 9 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -5546,11 +4976,9 @@ /turf/open/floor/plating/airless, /area/ruin/unpowered/syndicate_lava_base/engineering) "nH" = ( -/obj/machinery/airalarm{ +/obj/machinery/airalarm/syndicate{ dir = 4; - pixel_x = -24; - req_access = null; - req_access_txt = "150" + pixel_x = -24 }, /obj/machinery/light/small{ dir = 8 @@ -5575,11 +5003,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 5 }, /obj/structure/cable/yellow{ icon_state = "2-4" @@ -5596,11 +5021,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -5614,11 +5036,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -5630,11 +5049,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -5646,11 +5062,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -5665,11 +5078,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -5684,11 +5094,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -5699,11 +5106,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -5716,11 +5120,8 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/machinery/firealarm{ dir = 2; @@ -5737,11 +5138,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{ + dir = 1 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -5754,19 +5152,14 @@ /obj/machinery/light/small{ dir = 1 }, -/obj/machinery/airalarm{ - pixel_y = 24; - req_access = null; - req_access_txt = "150" +/obj/machinery/airalarm/syndicate{ + pixel_y = 24 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 4 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -5780,11 +5173,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ + dir = 9 }, /obj/structure/cable/yellow{ icon_state = "1-8" @@ -5823,12 +5213,10 @@ pixel_y = -29 }, /obj/structure/cable/yellow, -/obj/machinery/power/apc{ +/obj/machinery/power/apc/syndicate{ dir = 4; name = "Medbay APC"; - pixel_x = 24; - req_access = null; - req_access_txt = "150" + pixel_x = 24 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/white/side{ @@ -5908,12 +5296,10 @@ dir = 8 }, /obj/structure/cable/yellow, -/obj/machinery/power/apc{ +/obj/machinery/power/apc/syndicate{ dir = 2; name = "Telecommunications APC"; - pixel_y = -24; - req_access = null; - req_access_txt = "150" + pixel_y = -24 }, /turf/open/floor/plasteel/vault{ dir = 5 @@ -5951,11 +5337,8 @@ /turf/open/floor/plasteel/red/side, /area/ruin/unpowered/syndicate_lava_base/arrivals) "op" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1; - piping_layer = 3; - pixel_x = 5; - pixel_y = 5 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ + dir = 1 }, /turf/open/floor/plasteel/red/side, /area/ruin/unpowered/syndicate_lava_base/arrivals) diff --git a/_maps/RandomRuins/SpaceRuins/listeningstation.dmm b/_maps/RandomRuins/SpaceRuins/listeningstation.dmm index b172e24f29..6229854c09 100644 --- a/_maps/RandomRuins/SpaceRuins/listeningstation.dmm +++ b/_maps/RandomRuins/SpaceRuins/listeningstation.dmm @@ -12,10 +12,8 @@ /obj/machinery/computer/message_monitor{ dir = 2 }, -/obj/machinery/airalarm{ - pixel_y = 24; - req_access = null; - req_access_txt = "150" +/obj/machinery/airalarm/syndicate{ + pixel_y = 24 }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -210,11 +208,9 @@ }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm{ +/obj/machinery/airalarm/syndicate{ dir = 4; - pixel_x = -24; - req_access = null; - req_access_txt = "150" + pixel_x = -24 }, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/listeningstation) @@ -517,10 +513,8 @@ }, /area/ruin/space/has_grav/listeningstation) "aU" = ( -/obj/machinery/airalarm{ - pixel_y = 24; - req_access = null; - req_access_txt = "150" +/obj/machinery/airalarm/syndicate{ + pixel_y = 24 }, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -640,11 +634,9 @@ /obj/machinery/light/small{ dir = 4 }, -/obj/machinery/airalarm{ +/obj/machinery/airalarm/syndicate{ dir = 8; - pixel_x = 24; - req_access = null; - req_access_txt = "150" + pixel_x = 24 }, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -811,12 +803,10 @@ icon_state = "0-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/power/apc{ +/obj/machinery/power/apc/syndicate{ dir = 4; name = "Syndicate Listening Post APC"; - pixel_x = 24; - req_access = null; - req_access_txt = "150" + pixel_x = 24 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -948,11 +938,9 @@ }, /obj/machinery/iv_drip, /obj/machinery/light/small, -/obj/machinery/airalarm{ +/obj/machinery/airalarm/syndicate{ dir = 1; - pixel_y = -24; - req_access = null; - req_access_txt = "150" + pixel_y = -24 }, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on{ diff --git a/_maps/shuttles/ruin_syndicate_dropship.dmm b/_maps/shuttles/ruin_syndicate_dropship.dmm new file mode 100644 index 0000000000..d635953737 --- /dev/null +++ b/_maps/shuttles/ruin_syndicate_dropship.dmm @@ -0,0 +1,656 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"al" = ( +/obj/machinery/airalarm/syndicate{ + dir = 4; + pixel_x = -24 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/shuttle/caravan/syndicate3) +"bo" = ( +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -24 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/caravan/syndicate3) +"bB" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/button/door{ + id = "caravansyndicate3_bolt_starboard"; + name = "External Bolt Control"; + normaldoorcontrol = 1; + pixel_x = -24; + pixel_y = -6; + req_access_txt = "150"; + specialfunctions = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/caravan/syndicate3) +"bN" = ( +/obj/machinery/power/smes{ + charge = 5e+006 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/shuttle/caravan/syndicate3) +"cB" = ( +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/shuttle/caravan/syndicate3) +"dZ" = ( +/obj/structure/shuttle/engine/propulsion/burst{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/shuttle/caravan/syndicate3) +"gl" = ( +/obj/machinery/door/airlock/hatch{ + id_tag = "caravansyndicate3_bolt_port"; + name = "External Airlock"; + normalspeed = 0; + req_access_txt = "150" + }, +/obj/docking_port/mobile{ + dir = 2; + dwidth = 6; + height = 7; + id = "caravansyndicate3"; + name = "Syndicate Drop Ship"; + port_direction = 8; + preferred_direction = 4; + timid = 1; + width = 15 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plating, +/area/shuttle/caravan/syndicate3) +"ha" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/structure/cable, +/obj/machinery/power/port_gen/pacman{ + anchored = 1 + }, +/obj/item/wrench, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/shuttle/caravan/syndicate3) +"hF" = ( +/obj/structure/chair, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/syndicate{ + dir = 8; + name = "Syndicate Drop Ship APC"; + pixel_x = -24 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/shuttle/caravan/syndicate3) +"ka" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/shuttle/caravan/syndicate3) +"mJ" = ( +/obj/structure/shuttle/engine/propulsion/burst/left{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/shuttle/caravan/syndicate3) +"ns" = ( +/obj/structure/table/reinforced, +/obj/machinery/button/door{ + id = "caravansyndicate3_bridge"; + name = "Bridge Blast Door Control"; + pixel_x = -16; + pixel_y = 5; + req_access_txt = "150" + }, +/obj/machinery/button/door{ + id = "caravansyndicate3_bolt_bridge"; + name = "Bridge Bolt Control"; + normaldoorcontrol = 1; + pixel_x = -16; + pixel_y = -5; + req_access_txt = "150"; + specialfunctions = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/darkred/side{ + dir = 6 + }, +/area/shuttle/caravan/syndicate3) +"qE" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/syndicate{ + anchored = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/caravan/syndicate3) +"rz" = ( +/obj/machinery/computer/shuttle/caravan/syndicate3{ + dir = 8 + }, +/turf/open/floor/plasteel/darkred/side{ + dir = 8 + }, +/area/shuttle/caravan/syndicate3) +"rU" = ( +/obj/structure/grille, +/obj/structure/window/plastitanium, +/obj/machinery/door/poddoor{ + id = "caravansyndicate3_bridge" + }, +/turf/open/floor/plating, +/area/shuttle/caravan/syndicate3) +"rV" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/shuttle/caravan/syndicate3) +"sb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/computer/camera_advanced/shuttle_docker/caravan/syndicate3{ + dir = 8 + }, +/turf/open/floor/plasteel/darkred/side{ + dir = 10 + }, +/area/shuttle/caravan/syndicate3) +"sn" = ( +/obj/structure/chair, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/shuttle/caravan/syndicate3) +"ss" = ( +/turf/open/floor/plasteel/darkred/side{ + dir = 1 + }, +/area/shuttle/caravan/syndicate3) +"uy" = ( +/obj/structure/table/reinforced, +/obj/machinery/recharger, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel/darkred/side{ + dir = 10 + }, +/area/shuttle/caravan/syndicate3) +"vw" = ( +/obj/structure/table/reinforced, +/obj/item/storage/firstaid/regular, +/obj/item/assembly/flash/handheld, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/darkred/side{ + dir = 5 + }, +/area/shuttle/caravan/syndicate3) +"vQ" = ( +/obj/structure/shuttle/engine/propulsion/burst/right{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/shuttle/caravan/syndicate3) +"wH" = ( +/obj/structure/shuttle/engine/heater{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/shuttle/caravan/syndicate3) +"xC" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/button/door{ + id = "caravansyndicate3_bolt_port"; + name = "External Bolt Control"; + normaldoorcontrol = 1; + pixel_x = -24; + pixel_y = 6; + req_access_txt = "150"; + specialfunctions = 4 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/caravan/syndicate3) +"BQ" = ( +/turf/open/floor/plasteel/darkred/side, +/area/shuttle/caravan/syndicate3) +"Cm" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/shuttle/caravan/syndicate3) +"Dt" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/syndicate/personal{ + anchored = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/caravan/syndicate3) +"Dx" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/shuttle/caravan/syndicate3) +"EO" = ( +/obj/structure/chair, +/obj/machinery/airalarm/syndicate{ + pixel_y = 24 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/shuttle/caravan/syndicate3) +"Fa" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/syndicate{ + anchored = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/caravan/syndicate3) +"Gx" = ( +/obj/machinery/airalarm/syndicate{ + dir = 4; + pixel_x = -24 + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/caravan/syndicate3) +"HJ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/sign/warning/vacuum{ + pixel_y = -32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/syndicate{ + anchored = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/caravan/syndicate3) +"HM" = ( +/obj/structure/chair/office/dark{ + dir = 4 + }, +/mob/living/simple_animal/hostile/syndicate{ + environment_smash = 0; + name = "Syndicate Salvage Pilot" + }, +/turf/open/floor/plasteel/dark, +/area/shuttle/caravan/syndicate3) +"Ij" = ( +/obj/structure/chair/office/dark{ + dir = 4 + }, +/obj/machinery/turretid{ + ailock = 1; + control_area = null; + desc = "A specially designed set of turret controls. Looks to be covered in protective casing to prevent AI interfacing."; + icon_state = "control_kill"; + lethal = 1; + name = "Shuttle turret control"; + pixel_y = 34; + req_access = null; + req_access_txt = "150" + }, +/turf/open/floor/plasteel/darkred/corner{ + dir = 4 + }, +/area/shuttle/caravan/syndicate3) +"IR" = ( +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/door/airlock/hatch{ + id_tag = "caravansyndicate3_bolt_bridge"; + name = "Bridge"; + req_access_txt = "150" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/shuttle/caravan/syndicate3) +"Jv" = ( +/turf/template_noop, +/area/template_noop) +"KS" = ( +/obj/machinery/door/airlock/hatch{ + id_tag = "caravansyndicate3_bolt_starboard"; + name = "External Airlock"; + normalspeed = 0; + req_access_txt = "150" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plating, +/area/shuttle/caravan/syndicate3) +"Lq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/closet/syndicate{ + anchored = 1 + }, +/obj/structure/sign/warning/vacuum{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/caravan/syndicate3) +"NH" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/closet/syndicate/personal{ + anchored = 1 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/caravan/syndicate3) +"Pt" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/closet/crate, +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/item/stack/sheet/metal/twenty, +/obj/item/stack/sheet/glass{ + amount = 10 + }, +/obj/item/stack/sheet/mineral/plastitanium{ + amount = 20 + }, +/obj/item/storage/box/lights/bulbs, +/obj/item/storage/toolbox/mechanical, +/obj/item/stack/sheet/mineral/plasma{ + amount = 20 + }, +/turf/open/floor/plating, +/area/shuttle/caravan/syndicate3) +"PL" = ( +/obj/machinery/porta_turret/syndicate/energy{ + dir = 2; + icon_state = "standard_lethal"; + mode = 1 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/shuttle/caravan/syndicate3) +"Rj" = ( +/obj/machinery/porta_turret/syndicate/energy{ + dir = 1; + icon_state = "standard_lethal"; + mode = 1 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/shuttle/caravan/syndicate3) +"Sl" = ( +/obj/structure/table/reinforced, +/obj/item/storage/toolbox/emergency, +/obj/item/wrench, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/darkred/side{ + dir = 9 + }, +/area/shuttle/caravan/syndicate3) +"Tn" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/shuttle/caravan/syndicate3) +"UD" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/darkred/side, +/area/shuttle/caravan/syndicate3) +"US" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/darkred/side{ + dir = 1 + }, +/area/shuttle/caravan/syndicate3) +"Vf" = ( +/obj/machinery/door/airlock/hatch{ + name = "Ready Room"; + req_access_txt = "150" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/shuttle/caravan/syndicate3) +"Wr" = ( +/obj/structure/chair/office/dark{ + dir = 4 + }, +/turf/open/floor/plasteel/darkred/corner, +/area/shuttle/caravan/syndicate3) +"YU" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/structure/closet/syndicate{ + anchored = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/caravan/syndicate3) +"ZB" = ( +/turf/closed/wall/mineral/plastitanium, +/area/shuttle/caravan/syndicate3) +"ZJ" = ( +/turf/open/floor/plasteel/dark, +/area/shuttle/caravan/syndicate3) +"ZK" = ( +/obj/machinery/computer/crew{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/darkred/side{ + dir = 9 + }, +/area/shuttle/caravan/syndicate3) +"ZZ" = ( +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -24 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/shuttle/caravan/syndicate3) + +(1,1,1) = {" +Jv +mJ +dZ +dZ +dZ +vQ +Jv +"} +(2,1,1) = {" +ZB +wH +wH +wH +wH +wH +ZB +"} +(3,1,1) = {" +Tn +Tn +bN +Pt +ha +Tn +Tn +"} +(4,1,1) = {" +Tn +hF +US +ZJ +BQ +ka +Tn +"} +(5,1,1) = {" +Tn +EO +ss +cB +BQ +Cm +Tn +"} +(6,1,1) = {" +Tn +sn +ss +cB +UD +rV +Tn +"} +(7,1,1) = {" +Tn +NH +Fa +cB +qE +Dt +Tn +"} +(8,1,1) = {" +Rj +Tn +Tn +Vf +Tn +Tn +PL +"} +(9,1,1) = {" +gl +xC +al +cB +bo +bB +KS +"} +(10,1,1) = {" +Tn +Lq +YU +Dx +qE +HJ +Tn +"} +(11,1,1) = {" +Tn +Tn +Tn +IR +Tn +Tn +Tn +"} +(12,1,1) = {" +Tn +uy +Gx +cB +ZZ +Sl +Tn +"} +(13,1,1) = {" +rU +ns +Ij +HM +Wr +vw +rU +"} +(14,1,1) = {" +rU +rU +sb +rz +ZK +rU +rU +"} +(15,1,1) = {" +Jv +rU +rU +rU +rU +rU +Jv +"} diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index f892bc50f4..88a0dd0135 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -966,3 +966,45 @@ obj/item/storage/box/clown /obj/item/storage/box/holy_grenades/PopulateContents() for(var/i in 1 to 7) new/obj/item/grenade/chem_grenade/holy(src) + +/obj/item/storage/box/stockparts/basic //for ruins where it's a bad idea to give access to an autolathe/protolathe, but still want to make stock parts accessible + name = "box of stock parts" + desc = "Contains a variety of basic stock parts." + +/obj/item/storage/box/stockparts/basic/PopulateContents() + new /obj/item/stock_parts/capacitor(src) + new /obj/item/stock_parts/capacitor(src) + new /obj/item/stock_parts/capacitor(src) + new /obj/item/stock_parts/scanning_module(src) + new /obj/item/stock_parts/scanning_module(src) + new /obj/item/stock_parts/scanning_module(src) + new /obj/item/stock_parts/manipulator(src) + new /obj/item/stock_parts/manipulator(src) + new /obj/item/stock_parts/manipulator(src) + new /obj/item/stock_parts/micro_laser(src) + new /obj/item/stock_parts/micro_laser(src) + new /obj/item/stock_parts/micro_laser(src) + new /obj/item/stock_parts/matter_bin(src) + new /obj/item/stock_parts/matter_bin(src) + new /obj/item/stock_parts/matter_bin(src) + +/obj/item/storage/box/stockparts/deluxe + name = "box of deluxe stock parts" + desc = "Contains a variety of deluxe stock parts." + +/obj/item/storage/box/stockparts/deluxe/PopulateContents() + new /obj/item/stock_parts/capacitor/quadratic(src) + new /obj/item/stock_parts/capacitor/quadratic(src) + new /obj/item/stock_parts/capacitor/quadratic(src) + new /obj/item/stock_parts/scanning_module/triphasic(src) + new /obj/item/stock_parts/scanning_module/triphasic(src) + new /obj/item/stock_parts/scanning_module/triphasic(src) + new /obj/item/stock_parts/manipulator/femto(src) + new /obj/item/stock_parts/manipulator/femto(src) + new /obj/item/stock_parts/manipulator/femto(src) + new /obj/item/stock_parts/micro_laser/quadultra(src) + new /obj/item/stock_parts/micro_laser/quadultra(src) + new /obj/item/stock_parts/micro_laser/quadultra(src) + new /obj/item/stock_parts/matter_bin/bluespace(src) + new /obj/item/stock_parts/matter_bin/bluespace(src) + new /obj/item/stock_parts/matter_bin/bluespace(src) diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm index 381eccb3d8..7bfacbee26 100644 --- a/code/modules/atmospherics/machinery/airalarm.dm +++ b/code/modules/atmospherics/machinery/airalarm.dm @@ -153,6 +153,9 @@ req_access = null req_one_access = null +/obj/machinery/airalarm/syndicate //general syndicate access + req_access = list(ACCESS_SYNDICATE) + //all air alarms in area are connected via magic /area var/list/air_vent_names = list() diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index d4e92ac43a..776dbf07d6 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -105,6 +105,9 @@ /obj/machinery/power/apc/unlocked locked = FALSE + +/obj/machinery/power/apc/syndicate //general syndicate access + req_access = list(ACCESS_SYNDICATE) /obj/machinery/power/apc/highcap/five_k cell_type = /obj/item/stock_parts/cell/upgraded/plus From 48c37df7cdd1e0cf779ac6055c0c5d39c95ad1a3 Mon Sep 17 00:00:00 2001 From: Dax Dupont Date: Wed, 16 May 2018 21:34:08 +0200 Subject: [PATCH 251/415] [s] Fixes bioware surgery exploit (#37860) * Fixes bioware surgery * my ass must blast --- code/modules/surgery/advanced/bioware/bioware.dm | 3 ++- code/modules/surgery/advanced/bioware/nerve_grounding.dm | 2 +- code/modules/surgery/advanced/bioware/nerve_splicing.dm | 2 +- code/modules/surgery/advanced/bioware/vein_threading.dm | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/code/modules/surgery/advanced/bioware/bioware.dm b/code/modules/surgery/advanced/bioware/bioware.dm index 6c0a7529d0..f3435e874f 100644 --- a/code/modules/surgery/advanced/bioware/bioware.dm +++ b/code/modules/surgery/advanced/bioware/bioware.dm @@ -15,8 +15,9 @@ if(B.mod_type == mod_type) qdel(src) return + owner.bioware += src on_gain() - + /datum/bioware/Destroy() owner = null if(active) diff --git a/code/modules/surgery/advanced/bioware/nerve_grounding.dm b/code/modules/surgery/advanced/bioware/nerve_grounding.dm index 7834884f52..494cfaf59b 100644 --- a/code/modules/surgery/advanced/bioware/nerve_grounding.dm +++ b/code/modules/surgery/advanced/bioware/nerve_grounding.dm @@ -31,7 +31,7 @@ /datum/bioware/grounded_nerves name = "Grounded Nerves" desc = "Nerves form a safe path for electricity to traverse, protecting the body from electric shocks." - mod_type = "nerves" + mod_type = BIOWARE_NERVES var/prev_coeff /datum/bioware/grounded_nerves/on_gain() diff --git a/code/modules/surgery/advanced/bioware/nerve_splicing.dm b/code/modules/surgery/advanced/bioware/nerve_splicing.dm index 770a8d67e6..944a05ed0e 100644 --- a/code/modules/surgery/advanced/bioware/nerve_splicing.dm +++ b/code/modules/surgery/advanced/bioware/nerve_splicing.dm @@ -31,7 +31,7 @@ /datum/bioware/spliced_nerves name = "Spliced Nerves" desc = "Nerves are connected to each other multiple times, greatly reducing the impact of stunning effects." - mod_type = "nerves" + mod_type = BIOWARE_NERVES /datum/bioware/spliced_nerves/on_gain() ..() diff --git a/code/modules/surgery/advanced/bioware/vein_threading.dm b/code/modules/surgery/advanced/bioware/vein_threading.dm index 99f6506de8..d618100a47 100644 --- a/code/modules/surgery/advanced/bioware/vein_threading.dm +++ b/code/modules/surgery/advanced/bioware/vein_threading.dm @@ -31,7 +31,7 @@ /datum/bioware/threaded_veins name = "Threaded Veins" desc = "The circulatory system is woven into a mesh, severely reducing the amount of blood lost from wounds." - mod_type = "circulation" + mod_type = BIOWARE_CIRCULATION /datum/bioware/threaded_veins/on_gain() ..() From aa7a27420c06ad7a52c81399d0da5a90518d4ebe Mon Sep 17 00:00:00 2001 From: vuonojenmustaturska Date: Wed, 16 May 2018 22:35:25 +0300 Subject: [PATCH 253/415] Merge pull request #37863 from AnturK/rr4 Fixes changeling team objectives (a bit) --- code/game/gamemodes/objective.dm | 38 +++++++++---------- .../antagonists/changeling/changeling.dm | 5 ++- 2 files changed, 23 insertions(+), 20 deletions(-) diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 04753e3d50..fd9a1abd4a 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -712,6 +712,8 @@ GLOBAL_LIST_EMPTY(possible_items_special) var/min_lings = 3 //Minimum amount of lings for this team objective to be possible var/escape_objective_compatible = FALSE +/datum/objective/changeling_team_objective/proc/prepare() + return FALSE //Impersonate department //Picks as many people as it can from a department (Security,Engineer,Medical,Science) @@ -724,6 +726,19 @@ GLOBAL_LIST_EMPTY(possible_items_special) var/department_string = "" +/datum/objective/changeling_team_objective/impersonate_department/prepare() + var/result = FALSE + if(command_staff_only) + result = get_heads() + else + result = get_department_staff() + if(result) + update_explanation_text() + return TRUE + else + return FALSE + + /datum/objective/changeling_team_objective/impersonate_department/proc/get_department_staff() department_minds = list() department_real_names = list() @@ -756,9 +771,8 @@ GLOBAL_LIST_EMPTY(possible_items_special) if(!department_minds.len) log_game("[type] has failed to find department staff, and has removed itself. the round will continue normally") - owner.objectives -= src - qdel(src) - return + return FALSE + return TRUE /datum/objective/changeling_team_objective/impersonate_department/proc/get_heads() @@ -785,19 +799,8 @@ GLOBAL_LIST_EMPTY(possible_items_special) if(!department_minds.len) log_game("[type] has failed to find department heads, and has removed itself. the round will continue normally") - owner.objectives -= src - qdel(src) - return - - -/datum/objective/changeling_team_objective/impersonate_department/New(var/text) - ..() - if(command_staff_only) - get_heads() - else - get_department_staff() - - update_explanation_text() + return FALSE + return TRUE /datum/objective/changeling_team_objective/impersonate_department/update_explanation_text() @@ -862,9 +865,6 @@ GLOBAL_LIST_EMPTY(possible_items_special) return TRUE return FALSE - - - //A subtype of impersonate_department //This subtype always picks as many command staff as it can (HoS,HoP,Cap,CE,CMO,RD) //and tasks the lings with killing and replacing them diff --git a/code/modules/antagonists/changeling/changeling.dm b/code/modules/antagonists/changeling/changeling.dm index 8c6d7f52bd..a42ae6ef4f 100644 --- a/code/modules/antagonists/changeling/changeling.dm +++ b/code/modules/antagonists/changeling/changeling.dm @@ -353,7 +353,10 @@ if(GLOB.changeling_team_objective_type) var/datum/objective/changeling_team_objective/team_objective = new GLOB.changeling_team_objective_type team_objective.owner = owner - objectives += team_objective + if(team_objective.prepare())//Setting up succeeded + objectives += team_objective + else + qdel(team_objective) return /datum/antagonist/changeling/proc/forge_objectives() From 7429a7ef6ad4a91b8ca4e8b3b7463ce8f31b2f46 Mon Sep 17 00:00:00 2001 From: vuonojenmustaturska Date: Wed, 16 May 2018 22:36:07 +0300 Subject: [PATCH 255/415] Merge pull request #37839 from AnturK/rr1 Fixes minor cleanbot runtime. --- code/modules/mob/living/simple_animal/bot/cleanbot.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index b70547b917..bc8dd0c3ab 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -148,9 +148,14 @@ if(loc == get_turf(target)) if(!(check_bot(target) && prob(50))) //Target is not defined at the parent. 50% chance to still try and clean so we dont get stuck on the last blood drop. UnarmedAttack(target) //Rather than check at every step of the way, let's check before we do an action, so we can rescan before the other bot. + if(QDELETED(target)) //We done here. + target = null + mode = BOT_IDLE + return else shuffle = TRUE //Shuffle the list the next time we scan so we dont both go the same way. path = list() + if(!path || path.len == 0) //No path, need a new one //Try to produce a path to the target, and ignore airlocks to which it has access. path = get_path_to(src, target.loc, /turf/proc/Distance_cardinal, 0, 30, id=access_card) From 085066d5555e0419c986b419b57924e48e7d2b55 Mon Sep 17 00:00:00 2001 From: Kyle Spier-Swenson Date: Thu, 17 May 2018 08:14:27 -0700 Subject: [PATCH 257/415] Client topics only check for deleted objects when an object was actually passed (#37866) --- code/modules/client/client_procs.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index 11c3e3c899..cefaa9c745 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -115,10 +115,10 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( switch(href_list["action"]) if("openLink") src << link(href_list["link"]) - - var/datum/real_src = hsrc - if(QDELETED(real_src)) - return + if (hsrc) + var/datum/real_src = hsrc + if(QDELETED(real_src)) + return ..() //redirect to hsrc.Topic() From a00fc47d1ed46318a3421fac700d89ba1b392afa Mon Sep 17 00:00:00 2001 From: CitrusGender <31262308+CitrusGender@users.noreply.github.com> Date: Thu, 17 May 2018 11:16:54 -0400 Subject: [PATCH 259/415] Update parallax.dm (#37868) removes the parallelx runtimes --- code/_onclick/hud/parallax.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/_onclick/hud/parallax.dm b/code/_onclick/hud/parallax.dm index bc3df4de83..8592383a4f 100755 --- a/code/_onclick/hud/parallax.dm +++ b/code/_onclick/hud/parallax.dm @@ -167,6 +167,8 @@ /datum/hud/proc/update_parallax() var/client/C = mymob.client var/turf/posobj = get_turf(C.eye) + if(!posobj) + return var/area/areaobj = posobj.loc // Update the movement direction of the parallax if necessary (for shuttles) From e2bcf82341745320b46367926d71e8dff6e4880b Mon Sep 17 00:00:00 2001 From: ThePainkiller Date: Thu, 17 May 2018 12:19:19 -0300 Subject: [PATCH 261/415] Adds Fernet, a digestif that reduces your satiety. --- .../food_and_drinks/drinks/drinks/bottle.dm | 26 ++++++ .../food_and_drinks/recipes/drinks_recipes.dm | 22 +++++ .../chemistry/machinery/chem_dispenser.dm | 3 +- .../chemistry/reagents/alcohol_reagents.dm | 91 +++++++++++++++++++ .../reagents/reagent_containers/borghydro.dm | 4 + code/modules/vending/boozeomat.dm | 10 ++ 6 files changed, 155 insertions(+), 1 deletion(-) diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm index 664d2e0bc2..0108b8d2f6 100644 --- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm +++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm @@ -298,6 +298,32 @@ icon_state = "grappabottle" list_reagents = list("grappa" = 100) +<<<<<<< HEAD +======= +/obj/item/reagent_containers/food/drinks/bottle/sake + name = "Ryo's traditional sake" + desc = "Sweet as can be, and burns like fire going down." + icon_state = "sakebottle" + list_reagents = list("sake" = 100) + +/obj/item/reagent_containers/food/drinks/bottle/sake/Initialize() + . = ..() + if(prob(10)) + name = "Fluffy Tail Sake" + desc += " On the bottle is a picture of a kitsune with nine touchable tails." + icon_state = "sakebottle_k" + else if(prob(10)) + name = "Inubashiri's Home Brew" + desc += " Awoo." + icon_state = "sakebottle_i" + +/obj/item/reagent_containers/food/drinks/bottle/fernet + name = "Fernet Bronca" + desc = "A bottle of pure Fernet Bronca, produced in Cordoba Space Station" + icon_state = "fernetbottle" + list_reagents = list("fernet" = 100) + +>>>>>>> 703ab07... Adds Fernet, a digestif that reduces your satiety. (#37869) //////////////////////////JUICES AND STUFF /////////////////////// /obj/item/reagent_containers/food/drinks/bottle/orangejuice diff --git a/code/modules/food_and_drinks/recipes/drinks_recipes.dm b/code/modules/food_and_drinks/recipes/drinks_recipes.dm index 2a081f3a2f..965433113f 100644 --- a/code/modules/food_and_drinks/recipes/drinks_recipes.dm +++ b/code/modules/food_and_drinks/recipes/drinks_recipes.dm @@ -662,3 +662,25 @@ id = "mojito" results = list("mojito" = 5) required_reagents = list("rum" = 1, "sugar" = 1, "limejuice" = 1, "sodawater" = 1, "menthol" = 1) +<<<<<<< HEAD +======= + +/datum/chemical_reaction/fernet_cola + name = "Fernet Cola" + id = "fernet_cola" + results = list("fernet_cola" = 2) + required_reagents = list("fernet" = 1, "cola" = 1) + + +/datum/chemical_reaction/fanciulli + name = "Fanciulli" + id = "fanciulli" + results = list("fanciulli" = 2) + required_reagents = list("manhattan" = 1, "fernet" = 1) + +/datum/chemical_reaction/branca_menta + name = "Branca Menta" + id = "branca_menta" + results = list("branca_menta" = 3) + required_reagents = list("fernet" = 1, "creme_de_menthe" = 1, "ice" = 1) +>>>>>>> 703ab07... Adds Fernet, a digestif that reduces your satiety. (#37869) diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index 20db99fca1..a464c23294 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -467,7 +467,8 @@ obj/machinery/chem_dispenser/proc/work_animation() "creme_de_menthe", "creme_de_cacao", "triple_sec", - "sake" + "sake", + "fernet" ) emagged_reagents = list( "ethanol", diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index 5230ea26f6..413cd8649b 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -1613,3 +1613,94 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_icon_state = "mojito" glass_name = "Mojito" glass_desc = "A drink that looks as refreshing as it tastes." +<<<<<<< HEAD +======= + +/datum/reagent/consumable/ethanol/fernet + name = "Fernet" + id = "fernet" + description = "An incredibly bitter herbal liqueur used as a digestif." + color = "#1B2E24" // rgb: 27, 46, 36 + boozepwr = 80 + taste_description = "utter bitterness" + glass_name = "glass of fernet" + glass_desc = "A glass of pure Fernet. Only an absolute madman would drink this alone." //Hi Kevum + +/datum/reagent/consumable/ethanol/fernet/on_mob_life(mob/living/M) + + if(M.nutrition <= NUTRITION_LEVEL_STARVING) + M.adjustToxLoss(1*REM, 0) + M.nutrition = max(M.nutrition - 5, 0) + M.overeatduration = 0 + return ..() + +/datum/reagent/consumable/ethanol/fernet_cola + name = "Fernet Cola" + id = "fernet_cola" + description = "A very popular and bittersweet digestif, ideal after a heavy meal. Best served on a sawed-off cola bottle as per tradition." + color = "#390600" // rgb: 57, 6, 0 + boozepwr = 25 + taste_description = "sweet relief" + glass_icon_state = "godlyblend" + glass_name = "glass of fernet cola" + glass_desc = "A sawed-off cola bottle filled with Fernet Cola. Nothing better after eating like a lardass." + +/datum/reagent/consumable/ethanol/fernetcola/on_mob_life(mob/living/M) + + if(M.nutrition <= NUTRITION_LEVEL_STARVING) + M.adjustToxLoss(0.5*REM, 0) + M.nutrition = max(M.nutrition - 3, 0) + M.overeatduration = 0 + return ..() + +/datum/reagent/consumable/ethanol/fanciulli + + name = "Fanciulli" + id = "fanciulli" + description = "What if the Manhattan coctail ACTUALLY used a bitter herb liquour? Helps you sobers up." //also causes a bit of stamina damage to symbolize the afterdrink lazyness + color = "#CA933F" // rgb: 202, 147, 63 + boozepwr = -10 + taste_description = "a sweet sobering mix" + glass_icon_state = "fanciulli" + glass_name = "glass of fanciulli" + glass_desc = "A glass of Fanciulli. It's just Manhattan with Fernet." + +/datum/reagent/consumable/ethanol/fanciulli/on_mob_life(mob/living/M) + + M.nutrition = max(M.nutrition - 5, 0) + M.overeatduration = 0 + return ..() + +/datum/reagent/consumable/ethanol/fanciulli/on_mob_add(mob/living/M) + if(M.health > 0) + M.adjustStaminaLoss(20) + . = TRUE + ..() + + +/datum/reagent/consumable/ethanol/branca_menta + name = "Branca Menta" + id = "branca_menta" + description = "A refreshing mixture of bitter Fernet with mint creme liquour." + color = "#4B5746" // rgb: 75, 87, 70 + boozepwr = 35 + taste_description = "a bitter freshness" + glass_icon_state= "minted_fernet" + glass_name = "glass of branca menta" + glass_desc = "A glass of Branca Menta, perfect for those lazy and hot sunday summer afternoons." //Get lazy literally by drinking this + + +/datum/reagent/consumable/ethanol/branca_menta/on_mob_life(mob/living/M) + M.adjust_bodytemperature(-20 * TEMPERATURE_DAMAGE_COEFFICIENT, T0C) + if(M.nutrition <= NUTRITION_LEVEL_STARVING) + M.adjustToxLoss(1*REM, 0) + M.nutrition = max(M.nutrition - 5, 0) + M.overeatduration = 0 + return ..() + +/datum/reagent/consumable/ethanol/branca_menta/on_mob_add(mob/living/M) + if(M.health > 0) + M.adjustStaminaLoss(35) + . = TRUE + ..() +>>>>>>> 703ab07... Adds Fernet, a digestif that reduces your satiety. (#37869) diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm index ef41c7951e..3f641f1c9f 100644 --- a/code/modules/reagents/reagent_containers/borghydro.dm +++ b/code/modules/reagents/reagent_containers/borghydro.dm @@ -180,7 +180,11 @@ Borg Shaker recharge_time = 3 accepts_reagent_upgrades = FALSE +<<<<<<< HEAD reagent_ids = list("beer", "orangejuice", "limejuice", "tomatojuice", "cola", "tonic", "sodawater", "ice", "cream", "whiskey", "vodka", "rum", "gin", "tequila", "vermouth", "wine", "kahlua", "cognac", "ale") +======= + reagent_ids = list("beer", "orangejuice", "grenadine" ,"limejuice", "tomatojuice", "cola", "tonic", "sodawater", "ice", "cream", "whiskey", "vodka", "rum", "gin", "tequila", "vermouth", "wine", "kahlua", "cognac", "ale", "fernet") +>>>>>>> 703ab07... Adds Fernet, a digestif that reduces your satiety. (#37869) /obj/item/reagent_containers/borghypo/borgshaker/attack(mob/M, mob/user) return //Can't inject stuff with a shaker, can we? //not with that attitude diff --git a/code/modules/vending/boozeomat.dm b/code/modules/vending/boozeomat.dm index 59b41d4cef..0809cfd1ab 100644 --- a/code/modules/vending/boozeomat.dm +++ b/code/modules/vending/boozeomat.dm @@ -15,6 +15,11 @@ /obj/item/reagent_containers/food/drinks/bottle/hcider = 5, /obj/item/reagent_containers/food/drinks/bottle/absinthe = 5, /obj/item/reagent_containers/food/drinks/bottle/grappa = 5, +<<<<<<< HEAD +======= + /obj/item/reagent_containers/food/drinks/bottle/sake = 5, + /obj/item/reagent_containers/food/drinks/bottle/fernet = 5, +>>>>>>> 703ab07... Adds Fernet, a digestif that reduces your satiety. (#37869) /obj/item/reagent_containers/food/drinks/ale = 6, /obj/item/reagent_containers/food/drinks/bottle/orangejuice = 4, /obj/item/reagent_containers/food/drinks/bottle/tomatojuice = 4, @@ -38,5 +43,10 @@ /obj/item/vending_refill/boozeomat machine_name = "Booze-O-Mat" icon_state = "refill_booze" +<<<<<<< HEAD charges = list(59, 4, 0)//of 178 standard, 12 contraband init_charges = list(59, 4, 0) +======= + charges = list(61, 4, 0)//of 182 standard, 12 contraband + init_charges = list(61, 4, 0) +>>>>>>> 703ab07... Adds Fernet, a digestif that reduces your satiety. (#37869) From a7f13f15cfd19cfa2ea29584828237a18685fa96 Mon Sep 17 00:00:00 2001 From: ShizCalev Date: Thu, 17 May 2018 11:24:48 -0400 Subject: [PATCH 262/415] Fixes Adminorazine killing ash lizards (#37872) * Fixes Adminorazine killing ash lizards * this should do it... --- code/__DEFINES/traits.dm | 1 + .../antagonists/abductor/equipment/gland.dm | 4 ++-- code/modules/mob/living/status_procs.dm | 21 +++++++++++++++++-- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 94606273be..384e65bdcb 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -68,6 +68,7 @@ #define MAGIC_TRAIT "magic" #define TRAUMA_TRAIT "trauma" #define SPECIES_TRAIT "species" +#define ORGAN_TRAIT "organ" #define ROUNDSTART_TRAIT "roundstart" //cannot be removed without admin intervention // unique trait sources, still defines diff --git a/code/modules/antagonists/abductor/equipment/gland.dm b/code/modules/antagonists/abductor/equipment/gland.dm index c551509cc7..726f77d7ae 100644 --- a/code/modules/antagonists/abductor/equipment/gland.dm +++ b/code/modules/antagonists/abductor/equipment/gland.dm @@ -272,10 +272,10 @@ /obj/item/organ/heart/gland/electric/Insert(mob/living/carbon/M, special = 0) ..() - owner.add_trait(TRAIT_SHOCKIMMUNE, "abductor_gland") + owner.add_trait(TRAIT_SHOCKIMMUNE, ORGAN_TRAIT) /obj/item/organ/heart/gland/electric/Remove(mob/living/carbon/M, special = 0) - owner.remove_trait(TRAIT_SHOCKIMMUNE, "abductor_gland") + owner.remove_trait(TRAIT_SHOCKIMMUNE, ORGAN_TRAIT) ..() /obj/item/organ/heart/gland/electric/activate() diff --git a/code/modules/mob/living/status_procs.dm b/code/modules/mob/living/status_procs.dm index 0a0f27f123..47de9a0896 100644 --- a/code/modules/mob/living/status_procs.dm +++ b/code/modules/mob/living/status_procs.dm @@ -204,8 +204,25 @@ /mob/living/proc/has_quirk(quirk) return roundstart_quirks[quirk] -/mob/living/proc/remove_all_traits() - status_traits = list() +/mob/living/proc/remove_all_traits(remove_species_traits = FALSE, remove_organ_traits = FALSE, remove_quirks = FALSE) + + var/list/blacklisted_sources = list() + if(!remove_species_traits) + blacklisted_sources += SPECIES_TRAIT + if(!remove_organ_traits) + blacklisted_sources += ORGAN_TRAIT + if(!remove_quirks) + blacklisted_sources += ROUNDSTART_TRAIT + + for(var/kebab in status_traits) + var/skip + for(var/S in blacklisted_sources) + if(S in status_traits[kebab]) + skip = TRUE + break + if(!skip) + remove_trait(kebab, null, TRUE) + CHECK_TICK /////////////////////////////////// TRAIT PROCS //////////////////////////////////// From 9037a9745ac5a81c79d7024583910fff4a5fd9ca Mon Sep 17 00:00:00 2001 From: ShizCalev Date: Thu, 17 May 2018 11:26:36 -0400 Subject: [PATCH 264/415] Fixes decon message pronouns --- code/modules/antagonists/clockcult/clockcult.dm | 4 ++++ code/modules/antagonists/cult/cult.dm | 4 ++++ code/modules/antagonists/revolution/revolution.dm | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/code/modules/antagonists/clockcult/clockcult.dm b/code/modules/antagonists/clockcult/clockcult.dm index f921b6b527..ebd3b426fb 100644 --- a/code/modules/antagonists/clockcult/clockcult.dm +++ b/code/modules/antagonists/clockcult/clockcult.dm @@ -159,7 +159,11 @@ SSticker.mode.servants_of_ratvar -= owner SSticker.mode.update_servant_icons_removed(owner) if(!silent) +<<<<<<< HEAD owner.current.visible_message("[owner] seems to have remembered their true allegiance!", null, null, null, owner.current) +======= + owner.current.visible_message("[owner.current] seems to have remembered [owner.current.p_their()] true allegiance!", null, null, null, owner.current) +>>>>>>> bf2e6bd... Fixes decon message pronouns (#37870) to_chat(owner, "A cold, cold darkness flows through your mind, extinguishing the Justiciar's light and all of your memories as his servant.") owner.current.log_message("Has renounced the cult of Ratvar!", INDIVIDUAL_ATTACK_LOG) owner.special_role = null diff --git a/code/modules/antagonists/cult/cult.dm b/code/modules/antagonists/cult/cult.dm index b7f0b002ec..972d44d35d 100644 --- a/code/modules/antagonists/cult/cult.dm +++ b/code/modules/antagonists/cult/cult.dm @@ -128,7 +128,11 @@ SSticker.mode.cult -= owner SSticker.mode.update_cult_icons_removed(owner) if(!silent) +<<<<<<< HEAD owner.current.visible_message("[owner.current] looks like [owner.current.p_they()] just reverted to their old faith!", null, null, null, owner.current) +======= + owner.current.visible_message("[owner.current] looks like [owner.current.p_theyve()] just reverted to [owner.current.p_their()] old faith!", null, null, null, owner.current) +>>>>>>> bf2e6bd... Fixes decon message pronouns (#37870) to_chat(owner.current, "An unfamiliar white light flashes through your mind, cleansing the taint of the Geometer and all your memories as her servant.") owner.current.log_message("Has renounced the cult of Nar'Sie!", INDIVIDUAL_ATTACK_LOG) if(cult_team.blood_target && cult_team.blood_target_image && owner.current.client) diff --git a/code/modules/antagonists/revolution/revolution.dm b/code/modules/antagonists/revolution/revolution.dm index 1f77866d76..d6a8987509 100644 --- a/code/modules/antagonists/revolution/revolution.dm +++ b/code/modules/antagonists/revolution/revolution.dm @@ -201,7 +201,11 @@ /datum/antagonist/rev/farewell() if(ishuman(owner.current)) +<<<<<<< HEAD owner.current.visible_message("[owner.current] looks like they just remembered their real allegiance!", null, null, null, 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) +>>>>>>> bf2e6bd... Fixes decon message pronouns (#37870) to_chat(owner, "You are no longer a brainwashed revolutionary! Your memory is hazy from the time you were a rebel...the only thing you remember is the name of the one who brainwashed you...") else if(issilicon(owner.current)) owner.current.visible_message("The frame beeps contentedly, purging the hostile memory engram from the MMI before initalizing it.", null, null, null, owner.current) From 61e1529e18f38c325fe1a3e80f792e0615c121ac Mon Sep 17 00:00:00 2001 From: Trevor Serpas Date: Thu, 17 May 2018 10:26:08 -0500 Subject: [PATCH 265/415] Circuit gun inhands and grabber fix (#37836) * Grabbers update when a thrower uses its inventory and throwers and gun circuits need to use the gun assembly * visible_messages --- .../integrated_electronics/core/assemblies.dm | 7 +++- .../subtypes/manipulation.dm | 31 +++++++++++++----- icons/mob/inhands/weapons/guns_lefthand.dmi | Bin 55801 -> 56342 bytes icons/mob/inhands/weapons/guns_righthand.dmi | Bin 59961 -> 60479 bytes 4 files changed, 29 insertions(+), 9 deletions(-) diff --git a/code/modules/integrated_electronics/core/assemblies.dm b/code/modules/integrated_electronics/core/assemblies.dm index d44682991a..0844070dd6 100644 --- a/code/modules/integrated_electronics/core/assemblies.dm +++ b/code/modules/integrated_electronics/core/assemblies.dm @@ -17,6 +17,7 @@ var/obj/item/stock_parts/cell/battery // Internal cell which most circuits need to work. var/cell_type = /obj/item/stock_parts/cell var/can_charge = TRUE //Can it be charged in a recharger? + var/can_fire_equipped = FALSE //Can it fire/throw weapons when the assembly is being held? var/charge_sections = 4 var/charge_tick = FALSE var/charge_delay = 4 @@ -603,7 +604,11 @@ /obj/item/electronic_assembly/medium/gun name = "type-e electronic mechanism" icon_state = "setup_medium_gun" - desc = "It's a case, for building medium-sized electronics with. This one resembles a gun, or some type of tool, if you're feeling optimistic." + item_state = "circuitgun" + desc = "It's a case, for building medium-sized electronics with. This one resembles a gun, or some type of tool, if you're feeling optimistic. It can fire guns and throw items while the user is holding it." + lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' + can_fire_equipped = TRUE /obj/item/electronic_assembly/medium/radio name = "type-f electronic mechanism" diff --git a/code/modules/integrated_electronics/subtypes/manipulation.dm b/code/modules/integrated_electronics/subtypes/manipulation.dm index db859ab649..f2f0e027fe 100644 --- a/code/modules/integrated_electronics/subtypes/manipulation.dm +++ b/code/modules/integrated_electronics/subtypes/manipulation.dm @@ -7,7 +7,8 @@ extended_desc = "The firing mechanism can slot in any energy weapon. \ The first and second inputs need to be numbers which correspond to coordinates for the gun to fire at relative to the machine itself. \ The 'fire' activator will cause the mechanism to attempt to fire the weapon at the coordinates, if possible. Mode is switch between \ - lethal (TRUE) or stun (FALSE) modes. It uses the internal battery of the weapon." + lethal (TRUE) or stun (FALSE) modes. It uses the internal battery of the weapon. If you wish to fire the gun while the circuit is in \ + hand, you will need to use an assembly that is a gun." complexity = 20 w_class = WEIGHT_CLASS_SMALL size = 3 @@ -80,7 +81,7 @@ /obj/item/integrated_circuit/manipulation/weapon_firing/do_work() if(!installed_gun || !installed_gun.handle_pins()) return - if(!isturf(assembly.loc)) + if(!isturf(assembly.loc) && !(assembly.can_fire_equipped && ishuman(assembly.loc))) return set_pin_data(IC_OUTPUT, 1, WEAKREF(installed_gun)) push_data() @@ -99,6 +100,7 @@ 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)) /obj/item/integrated_circuit/manipulation/weapon_firing/proc/shootAt(turf/target) @@ -347,7 +349,7 @@ name = "grabber" desc = "A circuit with it's own inventory for items, used to grab and store things." icon_state = "grabber" - extended_desc = "The circuit accepts a reference to an object to be grabbed and can store up to 10 objects. Modes: 1 to grab, 0 to eject the first object, and -1 to eject all objects." + extended_desc = "The circuit accepts a reference to an object to be grabbed and can store up to 10 objects. Modes: 1 to grab, 0 to eject the first object, and -1 to eject all objects. If you throw something from a grabbers inventory with a thrower then the grabber will update its outputs accordingly." w_class = WEIGHT_CLASS_SMALL size = 3 cooldown_per_use = 5 @@ -384,6 +386,10 @@ var/obj/item/U for(U in contents) U.forceMove(T) + update_outputs() + activate_pin(2) + +/obj/item/integrated_circuit/manipulation/grabber/proc/update_outputs() if(contents.len) set_pin_data(IC_OUTPUT, 1, WEAKREF(contents[1])) set_pin_data(IC_OUTPUT, 2, WEAKREF(contents[contents.len])) @@ -393,7 +399,6 @@ set_pin_data(IC_OUTPUT, 3, contents.len) set_pin_data(IC_OUTPUT, 4, contents) push_data() - activate_pin(2) /obj/item/integrated_circuit/manipulation/grabber/attack_self(var/mob/user) if(contents.len) @@ -401,9 +406,7 @@ var/obj/item/U for(U in contents) U.forceMove(T) - set_pin_data(IC_OUTPUT, 1, null) - set_pin_data(IC_OUTPUT, 2, null) - set_pin_data(IC_OUTPUT, 3, contents.len) + update_outputs() push_data() /obj/item/integrated_circuit/manipulation/claw @@ -466,7 +469,8 @@ desc = "A compact launcher to throw things from inside or nearby tiles." extended_desc = "The first and second inputs need to be numbers which correspond to coordinates to throw objects at relative to the machine itself. \ The 'fire' activator will cause the mechanism to attempt to throw objects at the coordinates, if possible. Note that the \ - projectile need to be inside the machine, or to be on an adjacent tile, and must be medium sized or smaller." + projectile need to be inside the machine, or to be on an adjacent tile, and must be medium sized or smaller. The assembly \ + must also be a gun if you wish to throw something while the assembly is in hand." complexity = 25 w_class = WEIGHT_CLASS_SMALL size = 2 @@ -497,6 +501,9 @@ if(max_w_class && (A.w_class > max_w_class)) return + if(!assembly.can_fire_equipped && ishuman(assembly.loc)) + return + // Is the target inside the assembly or close to it? if(!check_target(A, exclude_components = TRUE)) return @@ -511,13 +518,21 @@ if(!M.temporarilyRemoveItemFromInventory(A)) return + // 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) + assembly.visible_message("[assembly] has thrown [A]!") A.forceMove(drop_location()) A.throw_at(locate(x_abs, y_abs, T.z), range, 3) + // If the item came from a grabber now we can update the outputs since we've thrown it. + if(G) + G.update_outputs() + /obj/item/integrated_circuit/manipulation/matman name = "material manager" desc = "This circuit is designed for automatic storage and distribution of materials." diff --git a/icons/mob/inhands/weapons/guns_lefthand.dmi b/icons/mob/inhands/weapons/guns_lefthand.dmi index f29b0149d27d4bfd912245ee2e7bf5de122e2dba..5198f3bda970be0a463947a7f787fa3c93806a17 100644 GIT binary patch delta 16552 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 delta 18209 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 Date: Thu, 17 May 2018 11:27:29 -0400 Subject: [PATCH 267/415] Fixes sharp weapons deconverting revs (#37871) * Fixes sharp weapons deconverting revs * enhanced commentary --- code/modules/antagonists/revolution/revolution.dm | 1 + code/modules/mob/living/carbon/human/species.dm | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/antagonists/revolution/revolution.dm b/code/modules/antagonists/revolution/revolution.dm index 1f77866d76..d5d7db9ac2 100644 --- a/code/modules/antagonists/revolution/revolution.dm +++ b/code/modules/antagonists/revolution/revolution.dm @@ -207,6 +207,7 @@ owner.current.visible_message("The frame beeps contentedly, purging the hostile memory engram from the MMI before initalizing it.", null, null, null, owner.current) to_chat(owner, "The frame's firmware detects and deletes your neural reprogramming! You remember nothing but the name of the one who flashed you.") +//blunt trauma deconversions call this through species.dm spec_attacked_by() /datum/antagonist/rev/proc/remove_revolutionary(borged, deconverter) log_attack("[owner.current] (Key: [key_name(owner.current)]) has been deconverted from the revolution by [deconverter] (Key: [key_name(deconverter)])!") if(borged) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index a89c966012..fcb0269e35 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1559,9 +1559,9 @@ GLOBAL_LIST_EMPTY(roundstart_races) H.gain_trauma(/datum/brain_trauma/mild/concussion) else if(!I.is_sharp()) - H.adjustBrainLoss(I.force / 5) + H.adjustBrainLoss(I.force * 0.2) - if(prob(I.force + ((100 - H.health)/2)) && H != user) + if(!I.is_sharp() && prob(I.force + ((100 - H.health) * 0.5)) && H != user) // rev deconversion through blunt trauma. var/datum/antagonist/rev/rev = H.mind.has_antag_datum(/datum/antagonist/rev) if(rev) rev.remove_revolutionary(FALSE, user) From 8dab7deb9a254af821740d4a19db68d5a4bcf928 Mon Sep 17 00:00:00 2001 From: iksyp <33264221+iskyp@users.noreply.github.com> Date: Thu, 17 May 2018 08:31:21 -0700 Subject: [PATCH 269/415] The crashed abductor ship is now fully deconstructable (#37834) * walls *abductor lavaland ruin walls are now destructible * just fucking uglify it it saves me the hassle of having to subtype --- .../LavaRuins/lavaland_surface_ufo_crash.dmm | 120 +++--------------- 1 file changed, 18 insertions(+), 102 deletions(-) diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_ufo_crash.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_ufo_crash.dmm index 209ba76efa..5f76cdb32c 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_ufo_crash.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_ufo_crash.dmm @@ -6,39 +6,10 @@ /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) "c" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien20" - }, +/turf/closed/wall/mineral/abductor, /area/lavaland/surface/outdoors) "d" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien21" - }, -/area/ruin/unpowered) -"e" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien22" - }, -/area/ruin/unpowered) -"f" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien23" - }, -/area/ruin/unpowered) -"g" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien24" - }, -/area/lavaland/surface/outdoors) -"h" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien16" - }, -/area/lavaland/surface/outdoors) -"i" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien17" - }, +/turf/closed/wall/mineral/abductor, /area/ruin/unpowered) "j" = ( /obj/machinery/abductor/experiment{ @@ -61,16 +32,6 @@ initial_gas_mix = "o2=16;n2=23;TEMP=300" }, /area/ruin/unpowered) -"m" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien18" - }, -/area/ruin/unpowered) -"n" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien19" - }, -/area/lavaland/surface/outdoors) "o" = ( /obj/item/hemostat/alien, /turf/open/floor/plating/abductor{ @@ -89,11 +50,6 @@ initial_gas_mix = "o2=16;n2=23;TEMP=300" }, /area/ruin/unpowered) -"r" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien14" - }, -/area/ruin/unpowered) "s" = ( /obj/structure/table/optable/abductor, /obj/item/cautery/alien, @@ -108,11 +64,6 @@ initial_gas_mix = "o2=16;n2=23;TEMP=300" }, /area/ruin/unpowered) -"u" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien12" - }, -/area/ruin/unpowered) "v" = ( /obj/item/scalpel/alien, /obj/item/surgical_drapes, @@ -127,11 +78,6 @@ initial_gas_mix = "o2=16;n2=23;TEMP=300" }, /area/ruin/unpowered) -"x" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien10" - }, -/area/ruin/unpowered) "y" = ( /obj/machinery/abductor/gland_dispenser, /turf/open/floor/plating/abductor{ @@ -152,36 +98,6 @@ initial_gas_mix = "o2=16;n2=23;TEMP=300" }, /area/ruin/unpowered) -"B" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien8" - }, -/area/ruin/unpowered) -"C" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien9" - }, -/area/lavaland/surface/outdoors) -"D" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien2" - }, -/area/ruin/unpowered) -"E" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien3" - }, -/area/ruin/unpowered) -"F" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien4" - }, -/area/ruin/unpowered) -"G" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien5" - }, -/area/lavaland/surface/outdoors) (1,1,1) = {" a @@ -211,7 +127,7 @@ a a a a -h +c a a a @@ -223,7 +139,7 @@ a a a c -i +d a a a @@ -240,54 +156,54 @@ k k a y -D +d a "} (6,1,1) = {" a a -e +d k o s v z -E +d a "} (7,1,1) = {" a a -f +d l p k w A -F +d a "} (8,1,1) = {" a a -g -m +c +d q t q -B -G +d +c a "} (9,1,1) = {" a a b -n -r -u -x -C +c +d +d +d +c b a "} From 394fbf09e318cc1ad2463a78cc2e15d2101d09f0 Mon Sep 17 00:00:00 2001 From: ShizCalev Date: Thu, 17 May 2018 11:55:58 -0400 Subject: [PATCH 271/415] Fixes vent_clog bad chem id runtime (#37887) * Fixes vent_clog bad chem id runtime * sodiumchloride --- code/modules/events/vent_clog.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/events/vent_clog.dm b/code/modules/events/vent_clog.dm index ae4c5cbd4a..44d3ac121a 100644 --- a/code/modules/events/vent_clog.dm +++ b/code/modules/events/vent_clog.dm @@ -15,7 +15,8 @@ var/reagentsAmount = 100 var/list/saferChems = list("water","carbon","flour","cleaner","nutriment","condensedcapsaicin","mushroomhallucinogen","lube","pink_glitter", "plantbgone","blood","charcoal","space_drugs","morphine","holywater","ethanol","hot_coco","sacid","mindbreaker","rotatium","skewium", - "pax","laughter","concentrated_barbers_aid","colorful_reagent","dizzysolution","tiresolution","salt","beer","hair_dye","sugar","white_glitter","growthserum") + "pax","laughter","concentrated_barbers_aid","colorful_reagent","dizzysolution","tiresolution","sodiumchloride","beer","hair_dye","sugar","white_glitter","growthserum") + //needs to be chemid unit checked at some point /datum/round_event/vent_clog/announce() priority_announce("The scrubbers network is experiencing a backpressure surge. Some ejection of contents may occur.", "Atmospherics alert") From 0e819cb1fce0dbdd3641edfe70c2d189dc25bdf0 Mon Sep 17 00:00:00 2001 From: ShizCalev Date: Thu, 17 May 2018 11:57:06 -0400 Subject: [PATCH 273/415] Fixes container_resist runtimes (#37888) --- code/game/machinery/cloning.dm | 2 +- code/game/objects/structures/crates_lockers/closets.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index ac211efe58..17bfe5e02c 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -399,7 +399,7 @@ QDEL_IN(mob_occupant, 40) /obj/machinery/clonepod/relaymove(mob/user) - container_resist() + container_resist(user) /obj/machinery/clonepod/container_resist(mob/living/user) if(user.stat == CONSCIOUS) diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 95deb52eb4..2302a6b4d0 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -310,7 +310,7 @@ message_cooldown = world.time + 50 to_chat(user, "[src]'s door won't budge!") return - container_resist() + container_resist(user) /obj/structure/closet/attack_hand(mob/user) . = ..() From 77f897e91c3451f138cebf209e22cfdc78e79214 Mon Sep 17 00:00:00 2001 From: ShizCalev Date: Thu, 17 May 2018 11:57:33 -0400 Subject: [PATCH 275/415] Fixes soulstone runtime --- code/modules/antagonists/wizard/equipment/soulstone.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/modules/antagonists/wizard/equipment/soulstone.dm b/code/modules/antagonists/wizard/equipment/soulstone.dm index 11882f65d1..11b0c3f29c 100644 --- a/code/modules/antagonists/wizard/equipment/soulstone.dm +++ b/code/modules/antagonists/wizard/equipment/soulstone.dm @@ -222,7 +222,11 @@ if(newstruct.mind && ((stoner && iscultist(stoner)) || cultoverride) && SSticker && SSticker.mode) SSticker.mode.add_cultist(newstruct.mind, 0) if(iscultist(stoner) || cultoverride) +<<<<<<< HEAD to_chat(newstruct, "You are still bound to serve the cult[stoner ? " and [stoner]":""], follow their orders and help them complete their goals at all costs.") +======= + to_chat(newstruct, "You are still bound to serve the cult[stoner ? " and [stoner]":""], follow [stoner ? stoner.p_their() : "their"] orders and help [stoner ? stoner.p_them() : "them"] complete [stoner ? stoner.p_their() : "their"] goals at all costs.") +>>>>>>> 8faa41a... Fixes soulstone runtime (#37883) else if(stoner) to_chat(newstruct, "You are still bound to serve your creator, [stoner], follow their orders and help them complete their goals at all costs.") newstruct.clear_alert("bloodsense") From c8fa81e395abe785308e9a349978cc0b3a8909c0 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 17 May 2018 13:06:28 -0500 Subject: [PATCH 276/415] Automatic changelog generation for PR #6775 [ci skip] --- html/changelogs/AutoChangeLog-pr-6775.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6775.yml diff --git a/html/changelogs/AutoChangeLog-pr-6775.yml b/html/changelogs/AutoChangeLog-pr-6775.yml new file mode 100644 index 0000000000..0144687a58 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6775.yml @@ -0,0 +1,4 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - tweak: "the walls on the crashed abductor ship ruin in lavaland can now be broken down" From 98dba850daec6bbbc5f6f990a013677c2d284855 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 17 May 2018 13:07:48 -0500 Subject: [PATCH 277/415] Automatic changelog generation for PR #6773 [ci skip] --- html/changelogs/AutoChangeLog-pr-6773.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6773.yml diff --git a/html/changelogs/AutoChangeLog-pr-6773.yml b/html/changelogs/AutoChangeLog-pr-6773.yml new file mode 100644 index 0000000000..c885bcc65b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6773.yml @@ -0,0 +1,7 @@ +author: "Garen" +delete-after: True +changes: + - rscadd: "Thrower and Gun circuits put messages in chat when they're used." + - tweak: "Only the gun assembly can throw/shoot while in hand" + - imageadd: "Adds inhands for the gun assembly" + - bugfix: "grabber inventories update when a thrower takes from them" From aa1747bf07da42746fd4655c91a73bafc4ee53a3 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 17 May 2018 13:08:25 -0500 Subject: [PATCH 278/415] Automatic changelog generation for PR #6771 [ci skip] --- html/changelogs/AutoChangeLog-pr-6771.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6771.yml diff --git a/html/changelogs/AutoChangeLog-pr-6771.yml b/html/changelogs/AutoChangeLog-pr-6771.yml new file mode 100644 index 0000000000..12c37cc586 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6771.yml @@ -0,0 +1,5 @@ +author: "ShizCalev" +delete-after: True +changes: + - bugfix: "Adminorazine will no longer kill ash lizards." + - bugfix: "Adminorazine will no longer remove quirks." From 4e5514ff978fdfff2824ff2a26707d5cae7955db Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 17 May 2018 13:10:32 -0500 Subject: [PATCH 279/415] Automatic changelog generation for PR #6762 [ci skip] --- html/changelogs/AutoChangeLog-pr-6762.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6762.yml diff --git a/html/changelogs/AutoChangeLog-pr-6762.yml b/html/changelogs/AutoChangeLog-pr-6762.yml new file mode 100644 index 0000000000..eafbf07fc4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6762.yml @@ -0,0 +1,4 @@ +author: "Dax Dupont" +delete-after: True +changes: + - bugfix: "You can no longer do infinite bioware surgery." From 39515a04e929f63b4cf0a9f054547c855cdb264e Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 17 May 2018 13:11:26 -0500 Subject: [PATCH 280/415] Automatic changelog generation for PR #6760 [ci skip] --- html/changelogs/AutoChangeLog-pr-6760.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6760.yml diff --git a/html/changelogs/AutoChangeLog-pr-6760.yml b/html/changelogs/AutoChangeLog-pr-6760.yml new file mode 100644 index 0000000000..46c838f3e3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6760.yml @@ -0,0 +1,6 @@ +author: "Denton" +delete-after: True +changes: + - code_imp: "Added /syndicate subtypes for air alarms and APCs." + - bugfix: "Added missing stock parts to the syndicate lavaland base." + - tweak: "Added kitchen related circuit boards to the syndie lavaland base." From 44ca1dd5b9731c30c8224743024ef7517d6b46d3 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 17 May 2018 13:12:18 -0500 Subject: [PATCH 281/415] Automatic changelog generation for PR #6758 [ci skip] --- html/changelogs/AutoChangeLog-pr-6758.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6758.yml diff --git a/html/changelogs/AutoChangeLog-pr-6758.yml b/html/changelogs/AutoChangeLog-pr-6758.yml new file mode 100644 index 0000000000..a92b173823 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6758.yml @@ -0,0 +1,4 @@ +author: "Dax Dupont" +delete-after: True +changes: + - bugfix: "Fixed a few things deconning into the wrong circuit." From 8118bd3ff82ced6d6bf5c5295a04552ebe0d1217 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 17 May 2018 13:13:30 -0500 Subject: [PATCH 282/415] Automatic changelog generation for PR #6686 [ci skip] --- html/changelogs/AutoChangeLog-pr-6686.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6686.yml diff --git a/html/changelogs/AutoChangeLog-pr-6686.yml b/html/changelogs/AutoChangeLog-pr-6686.yml new file mode 100644 index 0000000000..48bd2f00bb --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6686.yml @@ -0,0 +1,4 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - bugfix: "Removing an ID card from a wallet now properly removes its visual and accesses." From abc57b0e537b248a9587bce6c102b09b5e11ede3 Mon Sep 17 00:00:00 2001 From: ShizCalev Date: Thu, 17 May 2018 21:53:20 -0400 Subject: [PATCH 283/415] Capitalized Current Quirks (#37877) --- 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 a95686f581..231d375bb3 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -197,7 +197,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) if(CONFIG_GET(flag/roundstart_traits)) dat += "

    Quirk Setup

    " dat += "Configure Quirks
    " - dat += "
    Current quirks: [all_quirks.len ? all_quirks.Join(", ") : "None"]
    " + dat += "
    Current Quirks: [all_quirks.len ? all_quirks.Join(", ") : "None"]
    " dat += "

    Identity

    " dat += "
    " if(jobban_isbanned(user, "appearance")) From 21b9f72e49d3cea4bad9257c9de51cba7bbaf898 Mon Sep 17 00:00:00 2001 From: Mark9013100 Date: Thu, 17 May 2018 22:15:39 -0400 Subject: [PATCH 285/415] Deltastation edits/fixes (#37876) Readds a missing solar panel to port-bow solars. Replaces an access locked kitchen fridge in arrivals maintenance with its no-access variant. Readds missing decal warning lines. --- .../map_files/Deltastation/DeltaStation2.dmm | 71 ++++++++++++++----- 1 file changed, 55 insertions(+), 16 deletions(-) diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index c0c19dc87b..0d92f23a4b 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -2953,8 +2953,8 @@ /turf/open/floor/plating, /area/maintenance/starboard/fore) "alK" = ( -/obj/structure/closet/secure_closet/freezer/kitchen, /obj/effect/turf_decal/bot, +/obj/structure/closet/secure_closet/freezer/kitchen/maintenance, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) "alL" = ( @@ -5799,12 +5799,6 @@ dir = 4 }, /area/maintenance/disposal) -"asj" = ( -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/airless/solarpanel, -/area/solar/port/fore) "ask" = ( /obj/structure/lattice/catwalk, /turf/open/space, @@ -44931,6 +44925,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/primary/port) "bUw" = ( @@ -46102,13 +46099,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/neutral, /area/hallway/primary/port) -"bWH" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port) "bWI" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/neutral, @@ -47329,6 +47319,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/primary/port) "bYS" = ( @@ -56467,6 +56460,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/engine/engineering) "crY" = ( @@ -56474,6 +56470,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 2 }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/engine/engineering) "crZ" = ( @@ -77287,6 +77286,12 @@ /obj/machinery/light{ dir = 1 }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, /turf/open/floor/plasteel/whitepurple/side{ dir = 1 }, @@ -78134,6 +78139,9 @@ dir = 10 }, /obj/structure/chair/comfy, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, /turf/open/floor/plasteel/whitepurple/side{ dir = 8 }, @@ -78144,6 +78152,9 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/vending/snack/random, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, /turf/open/floor/plasteel/whitepurple/side{ dir = 4 }, @@ -80413,6 +80424,9 @@ dir = 9 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, /turf/open/floor/plasteel/whitepurple/side{ dir = 8 }, @@ -80438,6 +80452,7 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, +/obj/effect/turf_decal/stripes/corner, /turf/open/floor/plasteel/whitepurple/side{ dir = 4 }, @@ -88622,6 +88637,12 @@ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, /turf/open/floor/plasteel/neutral/side, /area/science/mixing) "dHg" = ( @@ -89177,6 +89198,12 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, /turf/open/floor/plasteel/neutral/side{ dir = 4 }, @@ -89202,6 +89229,10 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, /turf/open/floor/plasteel/neutral/side{ dir = 8; heat_capacity = 1e+006 @@ -89975,6 +90006,10 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, /turf/open/floor/plasteel/neutral/side{ dir = 1 }, @@ -100572,6 +100607,10 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/light, /obj/structure/reagent_dispensers/water_cooler, +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, /turf/open/floor/plasteel/whitepurple/side, /area/science/misc_lab) "uYS" = ( @@ -119018,7 +119057,7 @@ aoG apI aqJ aaa -asj +aoG apI aqJ aaa @@ -132434,7 +132473,7 @@ bOp bQq bDu bUv -bWH +bWC bYR caG caG From a61457cd471ca1a429f61a442b80d6936b86cb12 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Thu, 17 May 2018 22:38:32 -0400 Subject: [PATCH 287/415] Merge pull request #37838 from Jordie0608/ithoughtaboutmakingthissendanemailbutidontwanttodrownmyinbox Query debug logging --- code/__HELPERS/_logging.dm | 3 +++ code/_globalvars/logging.dm | 2 ++ code/controllers/configuration/entries/dbconfig.dm | 7 ++++++- code/controllers/subsystem/dbcore.dm | 14 ++++++++++++++ code/game/world.dm | 3 ++- code/modules/admin/topic.dm | 13 +++++++++++++ config/dbconfig.txt | 6 +++++- 7 files changed, 45 insertions(+), 3 deletions(-) diff --git a/code/__HELPERS/_logging.dm b/code/__HELPERS/_logging.dm index 6585aebd36..48e2baac6e 100644 --- a/code/__HELPERS/_logging.dm +++ b/code/__HELPERS/_logging.dm @@ -128,6 +128,9 @@ /proc/log_qdel(text) WRITE_LOG(GLOB.world_qdel_log, "QDEL: [text]") +/proc/log_query_debug(text) + WRITE_LOG(GLOB.query_debug_log, "SQL: [text]") + /* Log to both DD and the logfile. */ /proc/log_world(text) WRITE_LOG(GLOB.world_runtime_log, text) diff --git a/code/_globalvars/logging.dm b/code/_globalvars/logging.dm index ff397785d8..545ffbcbef 100644 --- a/code/_globalvars/logging.dm +++ b/code/_globalvars/logging.dm @@ -20,6 +20,8 @@ GLOBAL_VAR(world_pda_log) GLOBAL_PROTECT(world_pda_log) GLOBAL_VAR(world_manifest_log) GLOBAL_PROTECT(world_manifest_log) +GLOBAL_VAR(query_debug_log) +GLOBAL_PROTECT(query_debug_log) GLOBAL_LIST_EMPTY(bombers) GLOBAL_PROTECT(bombers) diff --git a/code/controllers/configuration/entries/dbconfig.dm b/code/controllers/configuration/entries/dbconfig.dm index c9dbdb4f54..1eb1186a8b 100644 --- a/code/controllers/configuration/entries/dbconfig.dm +++ b/code/controllers/configuration/entries/dbconfig.dm @@ -4,7 +4,7 @@ /datum/config_entry/string/address config_entry_value = "localhost" protection = CONFIG_ENTRY_LOCKED | CONFIG_ENTRY_HIDDEN - + /datum/config_entry/number/port config_entry_value = 3306 min_val = 0 @@ -24,3 +24,8 @@ /datum/config_entry/string/feedback_tableprefix protection = CONFIG_ENTRY_LOCKED | CONFIG_ENTRY_HIDDEN + +/datum/config_entry/number/query_debug_log_timeout + config_entry_value = 70 + min_val = 1 + protection = CONFIG_ENTRY_LOCKED | CONFIG_ENTRY_HIDDEN diff --git a/code/controllers/subsystem/dbcore.dm b/code/controllers/subsystem/dbcore.dm index 0609b78d99..fd780e030c 100644 --- a/code/controllers/subsystem/dbcore.dm +++ b/code/controllers/subsystem/dbcore.dm @@ -231,10 +231,24 @@ Delayed insert mode was removed in mysql 7 and only works with MyISAM type table to_chat(usr, "A SQL error occurred during this operation, check the server logs.") /datum/DBQuery/proc/Execute(sql_query = sql, cursor_handler = default_cursor, log_error = TRUE) + var/start_time + var/timeout = CONFIG_GET(number/query_debug_log_timeout) + if(timeout) + start_time = REALTIMEOFDAY Close() . = _dm_db_execute(_db_query, sql_query, db_connection._db_con, cursor_handler, null) if(!. && log_error) log_sql("[ErrorMsg()] | Query used: [sql]") + if(timeout) + if((REALTIMEOFDAY - start_time) > timeout) + log_query_debug("Query execution started at [start_time]") + log_query_debug("Query execution ended at [REALTIMEOFDAY]") + log_query_debug("Possible slow query timeout detected.") + log_query_debug("Query used: [sql]") + slow_query_check() + +/datum/DBQuery/proc/slow_query_check() + message_admins("HEY! A database query may have timed out. Did the server just hang? \[YES\]|\[NO\]") /datum/DBQuery/proc/NextRow() return _dm_db_next_row(_db_query,item,conversions) diff --git a/code/game/world.dm b/code/game/world.dm index bf4af9dcc3..d121f7e411 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -20,7 +20,7 @@ GLOBAL_PROTECT(security_mode) TgsNew() GLOB.revdata = new - + config.Load() //SetupLogs depends on the RoundID, so lets check @@ -95,6 +95,7 @@ GLOBAL_PROTECT(security_mode) GLOB.sql_error_log = "[GLOB.log_directory]/sql.log" GLOB.world_qdel_log = "[GLOB.log_directory]/qdel.log" GLOB.world_runtime_log = "[GLOB.log_directory]/runtime.log" + GLOB.query_debug_log = "[GLOB.log_directory]/query_debug.log" #ifdef UNIT_TESTS GLOB.test_log = file("[GLOB.log_directory]/tests.log") diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 95dae05c09..56ff2e816e 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -2448,6 +2448,19 @@ usr.client.cmd_admin_mod_antag_rep(C, href_list["modantagrep"]) show_player_panel(M) + else if(href_list["slowquery"]) + if(!check_rights(R_ADMIN)) + return + var/answer = href_list["slowquery"] + if(answer == "yes") + log_query_debug("[usr.key] | Reported a server hang") + if(alert(usr, "Had you just press any admin buttons?", "Query server hang report", "Yes", "No") == "Yes") + var/response = input(usr,"What were you just doing?","Query server hang report") as null|text + if(response) + log_query_debug("[usr.key] | [response]") + else if(answer == "no") + log_query_debug("[usr.key] | Reported no server hang") + /datum/admins/proc/HandleCMode() if(!check_rights(R_ADMIN)) return diff --git a/config/dbconfig.txt b/config/dbconfig.txt index 146de44b35..ed0ffadede 100644 --- a/config/dbconfig.txt +++ b/config/dbconfig.txt @@ -18,7 +18,7 @@ FEEDBACK_DATABASE feedback ## Prefix to be added to the name of every table, older databases will require this be set to erro_ ## Note, this does not change the table names in the database, you will have to do that yourself. ##IE: -## FEEDBACK_TABLEPREFIX +## FEEDBACK_TABLEPREFIX ## FEEDBACK_TABLEPREFIX SS13_ ## Remove "SS13_" if you are using the standard schema file. FEEDBACK_TABLEPREFIX SS13_ @@ -28,3 +28,7 @@ FEEDBACK_LOGIN username ## Password used to access the database. FEEDBACK_PASSWORD password + +## Time in deciseconds for a query to execute before alerting a for possible slow query timeout. +## While enabled queries and their execution times are logged if they exceed this value. +#QUERY_DEBUG_LOG_TIMEOUT 70 From eb96fe9d02d774b03a655bbf75e8051ea4405451 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Thu, 17 May 2018 23:44:27 -0500 Subject: [PATCH 289/415] Update bottle.dm --- code/modules/food_and_drinks/drinks/drinks/bottle.dm | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm index 0108b8d2f6..8972ceba12 100644 --- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm +++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm @@ -298,8 +298,6 @@ icon_state = "grappabottle" list_reagents = list("grappa" = 100) -<<<<<<< HEAD -======= /obj/item/reagent_containers/food/drinks/bottle/sake name = "Ryo's traditional sake" desc = "Sweet as can be, and burns like fire going down." @@ -322,8 +320,7 @@ desc = "A bottle of pure Fernet Bronca, produced in Cordoba Space Station" icon_state = "fernetbottle" list_reagents = list("fernet" = 100) - ->>>>>>> 703ab07... Adds Fernet, a digestif that reduces your satiety. (#37869) + //////////////////////////JUICES AND STUFF /////////////////////// /obj/item/reagent_containers/food/drinks/bottle/orangejuice From 2b0a4f67375e0ce75106b9a176a8ffdd32a15d16 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Thu, 17 May 2018 23:44:36 -0500 Subject: [PATCH 290/415] Update drinks_recipes.dm --- code/modules/food_and_drinks/recipes/drinks_recipes.dm | 3 --- 1 file changed, 3 deletions(-) diff --git a/code/modules/food_and_drinks/recipes/drinks_recipes.dm b/code/modules/food_and_drinks/recipes/drinks_recipes.dm index 965433113f..0ee01ae9e2 100644 --- a/code/modules/food_and_drinks/recipes/drinks_recipes.dm +++ b/code/modules/food_and_drinks/recipes/drinks_recipes.dm @@ -662,8 +662,6 @@ id = "mojito" results = list("mojito" = 5) required_reagents = list("rum" = 1, "sugar" = 1, "limejuice" = 1, "sodawater" = 1, "menthol" = 1) -<<<<<<< HEAD -======= /datum/chemical_reaction/fernet_cola name = "Fernet Cola" @@ -683,4 +681,3 @@ id = "branca_menta" results = list("branca_menta" = 3) required_reagents = list("fernet" = 1, "creme_de_menthe" = 1, "ice" = 1) ->>>>>>> 703ab07... Adds Fernet, a digestif that reduces your satiety. (#37869) From 348b3502957bcd66050fecee7b692933557eb198 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Thu, 17 May 2018 23:44:47 -0500 Subject: [PATCH 291/415] Update alcohol_reagents.dm --- code/modules/reagents/chemistry/reagents/alcohol_reagents.dm | 3 --- 1 file changed, 3 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index 413cd8649b..3134226543 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -1613,8 +1613,6 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_icon_state = "mojito" glass_name = "Mojito" glass_desc = "A drink that looks as refreshing as it tastes." -<<<<<<< HEAD -======= /datum/reagent/consumable/ethanol/fernet name = "Fernet" @@ -1703,4 +1701,3 @@ All effects don't start immediately, but rather get worse over time; the rate is M.adjustStaminaLoss(35) . = TRUE ..() ->>>>>>> 703ab07... Adds Fernet, a digestif that reduces your satiety. (#37869) From 204043bc2600c7b6dca3d891739c0c16c5fbda12 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Thu, 17 May 2018 23:44:58 -0500 Subject: [PATCH 292/415] Update borghydro.dm --- code/modules/reagents/reagent_containers/borghydro.dm | 5 ----- 1 file changed, 5 deletions(-) diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm index 3f641f1c9f..d384b7dd8d 100644 --- a/code/modules/reagents/reagent_containers/borghydro.dm +++ b/code/modules/reagents/reagent_containers/borghydro.dm @@ -179,12 +179,7 @@ Borg Shaker charge_cost = 20 //Lots of reagents all regenerating at once, so the charge cost is lower. They also regenerate faster. recharge_time = 3 accepts_reagent_upgrades = FALSE - -<<<<<<< HEAD - reagent_ids = list("beer", "orangejuice", "limejuice", "tomatojuice", "cola", "tonic", "sodawater", "ice", "cream", "whiskey", "vodka", "rum", "gin", "tequila", "vermouth", "wine", "kahlua", "cognac", "ale") -======= reagent_ids = list("beer", "orangejuice", "grenadine" ,"limejuice", "tomatojuice", "cola", "tonic", "sodawater", "ice", "cream", "whiskey", "vodka", "rum", "gin", "tequila", "vermouth", "wine", "kahlua", "cognac", "ale", "fernet") ->>>>>>> 703ab07... Adds Fernet, a digestif that reduces your satiety. (#37869) /obj/item/reagent_containers/borghypo/borgshaker/attack(mob/M, mob/user) return //Can't inject stuff with a shaker, can we? //not with that attitude From 047fc2a8587ccdf6012d733d6e908d20b159ec8a Mon Sep 17 00:00:00 2001 From: LetterJay Date: Thu, 17 May 2018 23:45:11 -0500 Subject: [PATCH 293/415] Update boozeomat.dm --- code/modules/vending/boozeomat.dm | 8 -------- 1 file changed, 8 deletions(-) diff --git a/code/modules/vending/boozeomat.dm b/code/modules/vending/boozeomat.dm index 0809cfd1ab..67c7753c59 100644 --- a/code/modules/vending/boozeomat.dm +++ b/code/modules/vending/boozeomat.dm @@ -15,11 +15,8 @@ /obj/item/reagent_containers/food/drinks/bottle/hcider = 5, /obj/item/reagent_containers/food/drinks/bottle/absinthe = 5, /obj/item/reagent_containers/food/drinks/bottle/grappa = 5, -<<<<<<< HEAD -======= /obj/item/reagent_containers/food/drinks/bottle/sake = 5, /obj/item/reagent_containers/food/drinks/bottle/fernet = 5, ->>>>>>> 703ab07... Adds Fernet, a digestif that reduces your satiety. (#37869) /obj/item/reagent_containers/food/drinks/ale = 6, /obj/item/reagent_containers/food/drinks/bottle/orangejuice = 4, /obj/item/reagent_containers/food/drinks/bottle/tomatojuice = 4, @@ -43,10 +40,5 @@ /obj/item/vending_refill/boozeomat machine_name = "Booze-O-Mat" icon_state = "refill_booze" -<<<<<<< HEAD - charges = list(59, 4, 0)//of 178 standard, 12 contraband - init_charges = list(59, 4, 0) -======= charges = list(61, 4, 0)//of 182 standard, 12 contraband init_charges = list(61, 4, 0) ->>>>>>> 703ab07... Adds Fernet, a digestif that reduces your satiety. (#37869) From cceb5492438d0cf7fc2d0fa3f05794248bacfac4 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Thu, 17 May 2018 23:50:08 -0500 Subject: [PATCH 294/415] Update clockcult.dm --- code/modules/antagonists/clockcult/clockcult.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/modules/antagonists/clockcult/clockcult.dm b/code/modules/antagonists/clockcult/clockcult.dm index ebd3b426fb..f2c0518cc2 100644 --- a/code/modules/antagonists/clockcult/clockcult.dm +++ b/code/modules/antagonists/clockcult/clockcult.dm @@ -159,11 +159,7 @@ SSticker.mode.servants_of_ratvar -= owner SSticker.mode.update_servant_icons_removed(owner) if(!silent) -<<<<<<< HEAD - owner.current.visible_message("[owner] seems to have remembered their true allegiance!", null, null, null, owner.current) -======= owner.current.visible_message("[owner.current] seems to have remembered [owner.current.p_their()] true allegiance!", null, null, null, owner.current) ->>>>>>> bf2e6bd... Fixes decon message pronouns (#37870) to_chat(owner, "A cold, cold darkness flows through your mind, extinguishing the Justiciar's light and all of your memories as his servant.") owner.current.log_message("Has renounced the cult of Ratvar!", INDIVIDUAL_ATTACK_LOG) owner.special_role = null From 329aabf301b14fab70c11afc8bc34b91d3bcb7b3 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Thu, 17 May 2018 23:50:17 -0500 Subject: [PATCH 295/415] Update cult.dm --- code/modules/antagonists/cult/cult.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/modules/antagonists/cult/cult.dm b/code/modules/antagonists/cult/cult.dm index 972d44d35d..bd879f8ad7 100644 --- a/code/modules/antagonists/cult/cult.dm +++ b/code/modules/antagonists/cult/cult.dm @@ -128,11 +128,7 @@ SSticker.mode.cult -= owner SSticker.mode.update_cult_icons_removed(owner) if(!silent) -<<<<<<< HEAD - owner.current.visible_message("[owner.current] looks like [owner.current.p_they()] just reverted to their old faith!", null, null, null, owner.current) -======= owner.current.visible_message("[owner.current] looks like [owner.current.p_theyve()] just reverted to [owner.current.p_their()] old faith!", null, null, null, owner.current) ->>>>>>> bf2e6bd... Fixes decon message pronouns (#37870) to_chat(owner.current, "An unfamiliar white light flashes through your mind, cleansing the taint of the Geometer and all your memories as her servant.") owner.current.log_message("Has renounced the cult of Nar'Sie!", INDIVIDUAL_ATTACK_LOG) if(cult_team.blood_target && cult_team.blood_target_image && owner.current.client) From 5ea6164bbcfb38e3bd442804a40671cea87a457e Mon Sep 17 00:00:00 2001 From: LetterJay Date: Thu, 17 May 2018 23:50:25 -0500 Subject: [PATCH 296/415] Update revolution.dm --- code/modules/antagonists/revolution/revolution.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/modules/antagonists/revolution/revolution.dm b/code/modules/antagonists/revolution/revolution.dm index d6a8987509..ec097049b0 100644 --- a/code/modules/antagonists/revolution/revolution.dm +++ b/code/modules/antagonists/revolution/revolution.dm @@ -201,11 +201,7 @@ /datum/antagonist/rev/farewell() if(ishuman(owner.current)) -<<<<<<< HEAD - owner.current.visible_message("[owner.current] looks like they just remembered their real allegiance!", null, null, null, 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) ->>>>>>> bf2e6bd... Fixes decon message pronouns (#37870) to_chat(owner, "You are no longer a brainwashed revolutionary! Your memory is hazy from the time you were a rebel...the only thing you remember is the name of the one who brainwashed you...") else if(issilicon(owner.current)) owner.current.visible_message("The frame beeps contentedly, purging the hostile memory engram from the MMI before initalizing it.", null, null, null, owner.current) From 5ddcd7133f0e027ebc80a9331cab84d991e3076a Mon Sep 17 00:00:00 2001 From: ShizCalev Date: Fri, 18 May 2018 07:15:12 -0400 Subject: [PATCH 297/415] Fixes radimmune mobs being killed by radiation (#37875) --- code/modules/mob/living/living.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index e4aee188e0..b6c210ae44 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -941,7 +941,7 @@ /mob/living/rad_act(amount) . = ..() - if(!amount || amount < RAD_MOB_SKIN_PROTECTION) + if(!amount || (amount < RAD_MOB_SKIN_PROTECTION) || has_trait(TRAIT_RADIMMUNE)) return amount -= RAD_BACKGROUND_RADIATION // This will always be at least 1 because of how skin protection is calculated From 0dcd8fb37a3077fcfb77c872a572929edc7db99b Mon Sep 17 00:00:00 2001 From: Dax Dupont Date: Fri, 18 May 2018 15:28:34 +0200 Subject: [PATCH 299/415] Fixes oversight with foam (#37898) braaap TRUE FALSE false false --- code/modules/projectiles/ammunition/caseless/foam.dm | 11 ++++++----- .../modules/projectiles/boxes_magazines/ammo_boxes.dm | 4 +++- .../projectiles/projectile/reusable/foam_dart.dm | 4 ++-- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/code/modules/projectiles/ammunition/caseless/foam.dm b/code/modules/projectiles/ammunition/caseless/foam.dm index 343d62c283..9457026261 100644 --- a/code/modules/projectiles/ammunition/caseless/foam.dm +++ b/code/modules/projectiles/ammunition/caseless/foam.dm @@ -5,8 +5,9 @@ caliber = "foam_force" icon = 'icons/obj/guns/toy.dmi' icon_state = "foamdart" - var/modified = 0 + materials = list(MAT_METAL = 11.25) harmful = FALSE + var/modified = FALSE /obj/item/ammo_casing/caseless/foam_dart/update_icon() ..() @@ -25,8 +26,8 @@ /obj/item/ammo_casing/caseless/foam_dart/attackby(obj/item/A, mob/user, params) var/obj/item/projectile/bullet/reusable/foam_dart/FD = BB if (istype(A, /obj/item/screwdriver) && !modified) - modified = 1 - FD.modified = 1 + modified = TRUE + FD.modified = TRUE FD.damage_type = BRUTE to_chat(user, "You pop the safety cap off [src].") update_icon() @@ -38,7 +39,7 @@ return FD.pen = A FD.damage = 5 - FD.nodamage = 0 + FD.nodamage = FALSE to_chat(user, "You insert [A] into [src].") else to_chat(user, "There's already something in [src].") @@ -61,4 +62,4 @@ desc = "Whose smart idea was it to use toys as crowd control? Ages 18 and up." projectile_type = /obj/item/projectile/bullet/reusable/foam_dart/riot icon_state = "foamdart_riot" - materials = list(MAT_METAL = 1000) + materials = list(MAT_METAL = 1125) diff --git a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm index 44bc721d59..c05f05ae59 100644 --- a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm +++ b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm @@ -60,7 +60,9 @@ icon_state = "foambox" ammo_type = /obj/item/ammo_casing/caseless/foam_dart max_ammo = 40 + materials = list(MAT_METAL = 500) /obj/item/ammo_box/foambox/riot icon_state = "foambox_riot" - ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot \ No newline at end of file + ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot + materials = list(MAT_METAL = 50000) \ No newline at end of file diff --git a/code/modules/projectiles/projectile/reusable/foam_dart.dm b/code/modules/projectiles/projectile/reusable/foam_dart.dm index c7f99c75aa..d360c4f4c7 100644 --- a/code/modules/projectiles/projectile/reusable/foam_dart.dm +++ b/code/modules/projectiles/projectile/reusable/foam_dart.dm @@ -3,12 +3,12 @@ desc = "I hope you're wearing eye protection." damage = 0 // It's a damn toy. damage_type = OXY - nodamage = 1 + nodamage = TRUE icon = 'icons/obj/guns/toy.dmi' icon_state = "foamdart_proj" ammo_type = /obj/item/ammo_casing/caseless/foam_dart range = 10 - var/modified = 0 + var/modified = FALSE var/obj/item/pen/pen = null /obj/item/projectile/bullet/reusable/foam_dart/handle_drop() From 1788558264ea4dccf52472c29c6ef6346f559c63 Mon Sep 17 00:00:00 2001 From: ShizCalev Date: Thu, 17 May 2018 06:31:10 -0400 Subject: [PATCH 301/415] Cleans up clap bodypart check --- code/modules/mob/living/carbon/emote.dm | 102 ++++++++++++++++++++++++ 1 file changed, 102 insertions(+) diff --git a/code/modules/mob/living/carbon/emote.dm b/code/modules/mob/living/carbon/emote.dm index f224384399..3b12271d78 100644 --- a/code/modules/mob/living/carbon/emote.dm +++ b/code/modules/mob/living/carbon/emote.dm @@ -1,3 +1,4 @@ +<<<<<<< HEAD /datum/emote/living/carbon mob_type_allowed_typecache = list(/mob/living/carbon) @@ -97,3 +98,104 @@ key = "wink" key_third_person = "winks" message = "winks." +======= +/datum/emote/living/carbon + mob_type_allowed_typecache = list(/mob/living/carbon) + +/datum/emote/living/carbon/airguitar + key = "airguitar" + message = "is strumming the air and headbanging like a safari chimp." + restraint_check = TRUE + +/datum/emote/living/carbon/blink + key = "blink" + key_third_person = "blinks" + message = "blinks." + +/datum/emote/living/carbon/blink_r + key = "blink_r" + message = "blinks rapidly." + +/datum/emote/living/carbon/clap + key = "clap" + key_third_person = "claps" + message = "claps." + muzzle_ignore = TRUE + restraint_check = TRUE + emote_type = EMOTE_AUDIBLE + +/datum/emote/living/carbon/clap/run_emote(mob/living/user, params) + . = ..() + if (.) + if (ishuman(user)) + // Need hands to clap + if (!user.get_bodypart(BODY_ZONE_L_ARM) || !user.get_bodypart(BODY_ZONE_R_ARM)) + return + var/clap = pick('sound/misc/clap1.ogg', + 'sound/misc/clap2.ogg', + 'sound/misc/clap3.ogg', + 'sound/misc/clap4.ogg') + playsound(user, clap, 50, 1, -1) + +/datum/emote/living/carbon/gnarl + key = "gnarl" + key_third_person = "gnarls" + message = "gnarls and shows its teeth..." + mob_type_allowed_typecache = list(/mob/living/carbon/monkey, /mob/living/carbon/alien) + +/datum/emote/living/carbon/moan + key = "moan" + key_third_person = "moans" + message = "moans!" + message_mime = "appears to moan!" + emote_type = EMOTE_AUDIBLE + +/datum/emote/living/carbon/roll + key = "roll" + key_third_person = "rolls" + message = "rolls." + mob_type_allowed_typecache = list(/mob/living/carbon/monkey, /mob/living/carbon/alien) + restraint_check = TRUE + +/datum/emote/living/carbon/scratch + key = "scratch" + key_third_person = "scratches" + message = "scratches." + mob_type_allowed_typecache = list(/mob/living/carbon/monkey, /mob/living/carbon/alien) + restraint_check = TRUE + +/datum/emote/living/carbon/screech + key = "screech" + key_third_person = "screeches" + message = "screeches." + mob_type_allowed_typecache = list(/mob/living/carbon/monkey, /mob/living/carbon/alien) + +/datum/emote/living/carbon/sign + key = "sign" + key_third_person = "signs" + message_param = "signs the number %t." + mob_type_allowed_typecache = list(/mob/living/carbon/monkey, /mob/living/carbon/alien) + restraint_check = TRUE + +/datum/emote/living/carbon/sign/select_param(mob/user, params) + . = ..() + if(!isnum(text2num(params))) + return message + +/datum/emote/living/carbon/sign/signal + key = "signal" + key_third_person = "signals" + message_param = "raises %t fingers." + mob_type_allowed_typecache = list(/mob/living/carbon/human) + restraint_check = TRUE + +/datum/emote/living/carbon/tail + key = "tail" + message = "waves their tail." + mob_type_allowed_typecache = list(/mob/living/carbon/monkey, /mob/living/carbon/alien) + +/datum/emote/living/carbon/wink + key = "wink" + key_third_person = "winks" + message = "winks." +>>>>>>> 5e87230... Cleans up clap bodypart check From 8235db8b5c881ef11352423b24bfc16764d0c3e2 Mon Sep 17 00:00:00 2001 From: 81Denton <32391752+81Denton@users.noreply.github.com> Date: Fri, 18 May 2018 23:45:08 +0200 Subject: [PATCH 302/415] this violates the space geneva convention (#37903) --- code/game/objects/items/storage/backpack.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index e62b918f19..9fbfd52e52 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -511,6 +511,8 @@ new /obj/item/storage/box/syringes(src) new /obj/item/ammo_box/foambox/riot(src) new /obj/item/grenade/chem_grenade/bioterrorfoam(src) + if(prob(5)) + new /obj/item/reagent_containers/food/snacks/pizza/pineapple(src) /obj/item/storage/backpack/duffelbag/syndie/c4/PopulateContents() for(var/i in 1 to 10) From 7f66ccfc2b3578b5febe55dc593385b4a2a545ae Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Fri, 18 May 2018 14:46:57 -0700 Subject: [PATCH 304/415] Removes inherent toxin damage from lipolicide (#37874) * Removes inherent toxin damage from lipolicide * Update description of lipolicide --- code/modules/reagents/chemistry/reagents/toxin_reagents.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index 381153748f..74ef9167c9 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -626,16 +626,16 @@ /datum/reagent/toxin/lipolicide name = "Lipolicide" id = "lipolicide" - description = "A powerful toxin that will destroy fat cells, massively reducing body weight in a short time. More deadly to those without nutriment in their body." + description = "A powerful toxin that will destroy fat cells, massively reducing body weight in a short time. Deadly to those without nutriment in their body." taste_description = "mothballs" reagent_state = LIQUID color = "#F0FFF0" metabolization_rate = 0.5 * REAGENTS_METABOLISM - toxpwr = 0.5 + toxpwr = 0 /datum/reagent/toxin/lipolicide/on_mob_life(mob/living/M) if(M.nutrition <= NUTRITION_LEVEL_STARVING) - M.adjustToxLoss(0.5*REM, 0) + M.adjustToxLoss(1*REM, 0) M.nutrition = max(M.nutrition - 3, 0) // making the chef more valuable, one meme trap at a time M.overeatduration = 0 return ..() From ed556b2c0e0b8c9038c21806201162d422b6cecb Mon Sep 17 00:00:00 2001 From: Nich Date: Sat, 19 May 2018 02:50:01 +0200 Subject: [PATCH 306/415] Removes the ability for RD's to steal hand teles (#37908) --- code/game/gamemodes/objective_items.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/objective_items.dm b/code/game/gamemodes/objective_items.dm index 64fda883b9..d42c546990 100644 --- a/code/game/gamemodes/objective_items.dm +++ b/code/game/gamemodes/objective_items.dm @@ -41,7 +41,7 @@ name = "a hand teleporter." targetitem = /obj/item/hand_tele difficulty = 5 - excludefromjob = list("Captain") + excludefromjob = list("Captain", "Research Director") /datum/objective_item/steal/jetpack name = "the Captain's jetpack." From 6eb9d6daaac0110fba564f54886d4f24d7731825 Mon Sep 17 00:00:00 2001 From: Dax Dupont Date: Sat, 19 May 2018 02:51:14 +0200 Subject: [PATCH 308/415] Fixes mulligan for mutants (#37895) --- code/modules/admin/create_mob.dm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/code/modules/admin/create_mob.dm b/code/modules/admin/create_mob.dm index b577a84a1d..73b8fa61f0 100644 --- a/code/modules/admin/create_mob.dm +++ b/code/modules/admin/create_mob.dm @@ -22,6 +22,17 @@ H.facial_hair_color = H.hair_color H.eye_color = random_eye_color() H.dna.blood_type = random_blood_type() + + // Mutant randomizing, doesn't affect the mob appearance unless it's the specific mutant. + H.dna.features["mcolor"] = random_short_color() + H.dna.features["tail_lizard"] = pick(GLOB.tails_list_lizard) + H.dna.features["snout"] = pick(GLOB.snouts_list) + H.dna.features["horns"] = pick(GLOB.horns_list) + H.dna.features["frills"] = pick(GLOB.frills_list) + H.dna.features["spines"] = pick(GLOB.spines_list) + H.dna.features["body_markings"] = pick(GLOB.body_markings_list) + H.dna.features["moth_wings"] = pick(GLOB.moth_wings_list) + H.update_body() H.update_hair() H.update_body_parts() \ No newline at end of file From 36d4fe8866fc29515fc73fb418daab6a7e450d8d Mon Sep 17 00:00:00 2001 From: Tad Hardesty Date: Fri, 18 May 2018 23:50:53 -0700 Subject: [PATCH 310/415] Fix runtimes in mood rejuventation (#37911) --- code/modules/mob/living/living.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index e4aee188e0..0f2da58af6 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -494,7 +494,7 @@ update_canmove() GET_COMPONENT(mood, /datum/component/mood) if (mood) - QDEL_LIST(mood.mood_events) + QDEL_LIST_ASSOC_VAL(mood.mood_events) mood.sanity = SANITY_GREAT mood.update_mood() From 5ed28b5cd2e81d69db08e76d294cfbe92939e176 Mon Sep 17 00:00:00 2001 From: 81Denton <32391752+81Denton@users.noreply.github.com> Date: Sat, 19 May 2018 09:13:45 +0200 Subject: [PATCH 312/415] Adds "proper" solar/gold/silver crates (#37890) * adds solar/gold/silver crates * replaces pubbystation crates * hhhh * forgot adding spaces * travis pls --- _maps/map_files/BoxStation/BoxStation.dmm | 60 +------------------ .../map_files/Deltastation/DeltaStation2.dmm | 22 +------ _maps/map_files/MetaStation/MetaStation.dmm | 60 +------------------ _maps/map_files/OmegaStation/OmegaStation.dmm | 20 +------ _maps/map_files/PubbyStation/PubbyStation.dmm | 60 +------------------ .../structures/crates_lockers/crates.dm | 29 +++++++++ 6 files changed, 41 insertions(+), 210 deletions(-) diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index a422153bbb..d945d49116 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -11754,22 +11754,8 @@ /turf/open/floor/circuit, /area/ai_monitored/nuke_storage) "aEN" = ( -/obj/structure/closet/crate{ - name = "Gold Crate" - }, -/obj/item/stack/sheet/mineral/gold{ - pixel_x = -1; - pixel_y = 5 - }, -/obj/item/stack/sheet/mineral/gold{ - pixel_y = 2 - }, -/obj/item/stack/sheet/mineral/gold{ - pixel_x = 1; - pixel_y = -2 - }, -/obj/item/storage/belt/champion, /obj/effect/turf_decal/bot_white/right, +/obj/structure/closet/crate/goldcrate, /turf/open/floor/plasteel/vault{ dir = 1 }, @@ -11781,30 +11767,8 @@ /turf/open/floor/circuit, /area/ai_monitored/nuke_storage) "aEP" = ( -/obj/item/coin/silver{ - pixel_x = 7; - pixel_y = 12 - }, -/obj/item/coin/silver{ - pixel_x = 12; - pixel_y = 7 - }, -/obj/item/coin/silver{ - pixel_x = 4; - pixel_y = 8 - }, -/obj/item/coin/silver{ - pixel_x = -6; - pixel_y = 5 - }, -/obj/item/coin/silver{ - pixel_x = 5; - pixel_y = -8 - }, -/obj/structure/closet/crate{ - name = "Silver Crate" - }, /obj/effect/turf_decal/bot_white/left, +/obj/structure/closet/crate/silvercrate, /turf/open/floor/plasteel/vault{ dir = 4 }, @@ -45382,28 +45346,10 @@ /turf/open/floor/plasteel, /area/engine/engineering) "ckG" = ( -/obj/structure/closet/crate{ - name = "solar pack crate" - }, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/circuitboard/computer/solar_control, -/obj/item/electronics/tracker, -/obj/item/paper/guides/jobs/engi/solars, /obj/effect/turf_decal/bot{ dir = 1 }, +/obj/structure/closet/crate/solarpanel_small, /turf/open/floor/plasteel, /area/engine/engineering) "ckH" = ( diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index c0c19dc87b..bb6a58bb77 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -32288,23 +32288,10 @@ }, /area/security/nuke_storage) "bvQ" = ( -/obj/structure/closet/crate{ - name = "Silver Crate" - }, /obj/machinery/light/small{ dir = 1 }, -/obj/item/coin/silver{ - pixel_x = -6 - }, -/obj/item/coin/silver{ - pixel_x = 6 - }, -/obj/item/coin/silver{ - pixel_x = 6 - }, -/obj/item/coin/silver, -/obj/item/coin/silver, +/obj/structure/closet/crate/silvercrate, /turf/open/floor/plasteel/vault{ dir = 8 }, @@ -35277,17 +35264,12 @@ }, /area/security/nuke_storage) "bBU" = ( -/obj/structure/closet/crate{ - name = "Gold Crate" - }, -/obj/item/storage/belt/champion, /obj/machinery/airalarm{ dir = 1; pixel_y = -22 }, /obj/machinery/light/small, -/obj/item/stack/sheet/mineral/gold, -/obj/item/stack/sheet/mineral/gold, +/obj/structure/closet/crate/goldcrate, /turf/open/floor/plasteel/vault{ dir = 8 }, diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 12893085bc..e6ef58c9af 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -12521,25 +12521,11 @@ /turf/open/floor/plasteel/floorgrime, /area/quartermaster/warehouse) "aAP" = ( -/obj/structure/closet/crate{ - name = "Gold Crate" - }, -/obj/item/stack/sheet/mineral/gold{ - pixel_x = -1; - pixel_y = 5 - }, -/obj/item/stack/sheet/mineral/gold{ - pixel_y = 2 - }, -/obj/item/stack/sheet/mineral/gold{ - pixel_x = 1; - pixel_y = -2 - }, -/obj/item/storage/belt/champion, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, /obj/effect/turf_decal/bot_white/right, +/obj/structure/closet/crate/goldcrate, /turf/open/floor/plasteel/vault{ dir = 1 }, @@ -12573,30 +12559,8 @@ }, /area/security/nuke_storage) "aAT" = ( -/obj/item/coin/silver{ - pixel_x = 7; - pixel_y = 12 - }, -/obj/item/coin/silver{ - pixel_x = 12; - pixel_y = 7 - }, -/obj/item/coin/silver{ - pixel_x = 4; - pixel_y = 8 - }, -/obj/item/coin/silver{ - pixel_x = -6; - pixel_y = 5 - }, -/obj/item/coin/silver{ - pixel_x = 5; - pixel_y = -8 - }, -/obj/structure/closet/crate{ - name = "Silver Crate" - }, /obj/effect/turf_decal/bot_white/left, +/obj/structure/closet/crate/silvercrate, /turf/open/floor/plasteel/vault{ dir = 1 }, @@ -15500,28 +15464,10 @@ }, /area/engine/engineering) "aGT" = ( -/obj/structure/closet/crate{ - name = "solar pack crate" - }, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/circuitboard/computer/solar_control, -/obj/item/electronics/tracker, -/obj/item/paper/guides/jobs/engi/solars, /obj/effect/turf_decal/bot{ dir = 1 }, +/obj/structure/closet/crate/solarpanel_small, /turf/open/floor/plasteel{ dir = 1 }, diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm index 7bac99a37c..1390460fd2 100644 --- a/_maps/map_files/OmegaStation/OmegaStation.dmm +++ b/_maps/map_files/OmegaStation/OmegaStation.dmm @@ -33236,28 +33236,10 @@ }, /area/maintenance/starboard) "sFp" = ( -/obj/structure/closet/crate{ - name = "solar pack crate" - }, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/circuitboard/computer/solar_control, -/obj/item/electronics/tracker, -/obj/item/paper/guides/jobs/engi/solars, /obj/effect/turf_decal/bot{ dir = 1 }, +/obj/structure/closet/crate/solarpanel_small, /turf/open/floor/plasteel/vault/side{ dir = 5 }, diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index 573dc2c707..ac4d2a12dc 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -6985,21 +6985,7 @@ /turf/closed/wall/r_wall, /area/bridge) "asV" = ( -/obj/structure/closet/crate{ - name = "Gold Crate" - }, -/obj/item/stack/sheet/mineral/gold{ - pixel_x = -1; - pixel_y = 5 - }, -/obj/item/stack/sheet/mineral/gold{ - pixel_y = 2 - }, -/obj/item/stack/sheet/mineral/gold{ - pixel_x = 1; - pixel_y = -2 - }, -/obj/item/storage/belt/champion, +/obj/structure/closet/crate/goldcrate, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, @@ -7036,29 +7022,7 @@ }, /area/ai_monitored/nuke_storage) "asZ" = ( -/obj/item/coin/silver{ - pixel_x = 7; - pixel_y = 12 - }, -/obj/item/coin/silver{ - pixel_x = 12; - pixel_y = 7 - }, -/obj/item/coin/silver{ - pixel_x = 4; - pixel_y = 8 - }, -/obj/item/coin/silver{ - pixel_x = -6; - pixel_y = 5 - }, -/obj/item/coin/silver{ - pixel_x = 5; - pixel_y = -8 - }, -/obj/structure/closet/crate{ - name = "Silver Crate" - }, +/obj/structure/closet/crate/silvercrate, /turf/open/floor/plasteel/vault{ dir = 4 }, @@ -39901,25 +39865,6 @@ /turf/open/floor/plasteel/darkgreen, /area/storage/tech) "bTB" = ( -/obj/structure/closet/crate{ - name = "solar pack crate" - }, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/circuitboard/computer/solar_control, -/obj/item/electronics/tracker, -/obj/item/paper/guides/jobs/engi/solars, /obj/machinery/power/apc{ dir = 2; name = "Tech Storage APC"; @@ -39927,6 +39872,7 @@ pixel_y = -24 }, /obj/structure/cable, +/obj/structure/closet/crate/solarpanel_small, /turf/open/floor/plasteel/darkgreen, /area/storage/tech) "bTC" = ( diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index 2889a10e1d..63d700d3ce 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -148,3 +148,32 @@ name = "science crate" desc = "A science crate." icon_state = "scicrate" + +/obj/structure/closet/crate/solarpanel_small + name = "budget solar panel crate" + icon_state = "engi_e_crate" + +/obj/structure/closet/crate/solarpanel_small/PopulateContents() + ..() + for(var/i in 1 to 13) + new /obj/item/solar_assembly(src) + new /obj/item/circuitboard/computer/solar_control(src) + new /obj/item/paper/guides/jobs/engi/solars(src) + new /obj/item/electronics/tracker(src) + +/obj/structure/closet/crate/goldcrate + name = "gold crate" + +/obj/structure/closet/crate/goldcrate/PopulateContents() + ..() + for(var/i in 1 to 3) + new /obj/item/stack/sheet/mineral/gold(src, 1, FALSE) + new /obj/item/storage/belt/champion(src) + +/obj/structure/closet/crate/silvercrate + name = "silver crate" + +/obj/structure/closet/crate/silvercrate/PopulateContents() + ..() + for(var/i in 1 to 5) + new /obj/item/coin/silver(src) From ce400e716c65d7c8af8fd3e139e2e63bf2e6f83a Mon Sep 17 00:00:00 2001 From: AlexTheSysop42 <25281214+AlexTheSysop42@users.noreply.github.com> Date: Sat, 19 May 2018 05:48:21 -0400 Subject: [PATCH 314/415] Fixes experimentor pickweight and goo runtime (#37822) The experimentor is less likely to produce food when it transforms an item The experimentor no longer breaks when the toxic waste malfunction occurs multiple times and isn't cleaned up The experimentor irridiate function actually chooses what item to make properly rather than picking from the start of the list The food weight change is because the probweight var wasn't effective because food was added to the list before anything that would increase the var, it's so low because there's a ton of food and it should be possible to get other things. I tested it in game and food is still the most common thing to get, I could bump up the prob for non-food things if needed. The toxic waste runtime would make the experimentor unfixable except for reconstructing, and that resets the experiments. The previous method of picking was broken and pretty poorly coded, I moved it to an associative list and the existing and non-broken pickweight function (not sure if this is also a code change). --- code/modules/research/experimentor.dm | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm index 23b39de3fe..42831cc013 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -44,24 +44,21 @@ /obj/machinery/rnd/experimentor/proc/SetTypeReactions() - var/probWeight = 0 for(var/I in typesof(/obj/item)) if(istype(I, /obj/item/relic)) item_reactions["[I]"] = SCANTYPE_DISCOVER else item_reactions["[I]"] = pick(SCANTYPE_POKE,SCANTYPE_IRRADIATE,SCANTYPE_GAS,SCANTYPE_HEAT,SCANTYPE_COLD,SCANTYPE_OBLITERATE) + if(ispath(I, /obj/item/stock_parts) || ispath(I, /obj/item/grenade/chem_grenade) || ispath(I, /obj/item/kitchen)) var/obj/item/tempCheck = I if(initial(tempCheck.icon_state) != null) //check it's an actual usable item, in a hacky way - valid_items += 15 - valid_items += I - probWeight++ + valid_items["[I]"] += 15 if(ispath(I, /obj/item/reagent_containers/food)) var/obj/item/tempCheck = I if(initial(tempCheck.icon_state) != null) //check it's an actual usable item, in a hacky way - valid_items += rand(1,max(2,35-probWeight)) - valid_items += I + valid_items["[I]"] += rand(1,4) if(ispath(I, /obj/item/construction/rcd) || ispath(I, /obj/item/grenade) || ispath(I, /obj/item/aicard) || ispath(I, /obj/item/storage/backpack/holding) || ispath(I, /obj/item/slime_extract) || ispath(I, /obj/item/onetankbomb) || ispath(I, /obj/item/transfer_valve)) var/obj/item/tempCheck = I @@ -225,18 +222,6 @@ smoke.set_up(0, where) smoke.start() -/obj/machinery/rnd/experimentor/proc/pickWeighted(list/from) - var/result = FALSE - var/counter = 1 - while(!result) - var/probtocheck = from[counter] - if(prob(probtocheck)) - result = TRUE - return from[counter+1] - if(counter + 2 < from.len) - counter = counter + 2 - else - counter = 1 /obj/machinery/rnd/experimentor/proc/experiment(exp,obj/item/exp_on) recentlyExperimented = 1 @@ -283,13 +268,13 @@ visible_message("[src] malfunctions, spewing toxic waste!") for(var/turf/T in oview(1, src)) if(!T.density) - if(prob(EFFECT_PROB_VERYHIGH)) + if(prob(EFFECT_PROB_VERYHIGH) && !(locate(/obj/effect/decal/cleanable/greenglow) in T)) var/obj/effect/decal/cleanable/reagentdecal = new/obj/effect/decal/cleanable/greenglow(T) reagentdecal.reagents.add_reagent("radium", 7) else if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) var/savedName = "[exp_on]" ejectItem(TRUE) - var/newPath = pickWeighted(valid_items) + var/newPath = text2path(pickweight(valid_items)) loaded_item = new newPath(src) visible_message("[src] malfunctions, transforming [savedName] into [loaded_item]!") investigate_log("Experimentor has transformed [savedName] into [loaded_item]", INVESTIGATE_EXPERIMENTOR) From 3e0eaa5e659883f8b41a815c1afd8fe1be845bdf Mon Sep 17 00:00:00 2001 From: Mickyan <38563876+Mickyan@users.noreply.github.com> Date: Sat, 19 May 2018 12:32:13 +0200 Subject: [PATCH 316/415] fixes g.blaster, neurotoxin, nuka cola dizzines (#37894) --- code/modules/reagents/chemistry/reagents/alcohol_reagents.dm | 4 ++-- code/modules/reagents/chemistry/reagents/drink_reagents.dm | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index 5230ea26f6..7bcf774b20 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -1238,7 +1238,7 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_desc = "Like having your brain smashed out by a slice of lemon wrapped around a large gold brick." /datum/reagent/consumable/ethanol/gargle_blaster/on_mob_life(mob/living/M) - M.dizziness +=6 + M.dizziness +=1.5 switch(current_cycle) if(15 to 45) if(!M.slurring) @@ -1267,7 +1267,7 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/neurotoxin/on_mob_life(mob/living/carbon/M) M.Knockdown(60, 1, 0) - M.dizziness +=6 + M.dizziness +=2 switch(current_cycle) if(15 to 45) if(!M.slurring) diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index 5d5fdf2183..b5a92af878 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -407,7 +407,7 @@ /datum/reagent/consumable/nuka_cola/on_mob_life(mob/living/M) M.Jitter(20) M.set_drugginess(30) - M.dizziness +=5 + M.dizziness +=1.5 M.drowsyness = 0 M.AdjustSleeping(-40, FALSE) M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL) From 1a64bb27e945f03811f416dacf27341fbcc8c767 Mon Sep 17 00:00:00 2001 From: ShizCalev Date: Sat, 19 May 2018 06:31:53 -0400 Subject: [PATCH 318/415] Fixes changeling runtime after ghosting (#37892) --- .../modules/antagonists/changeling/changeling_power.dm | 10 +++++----- code/modules/antagonists/changeling/powers/revive.dm | 8 ++++++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/code/modules/antagonists/changeling/changeling_power.dm b/code/modules/antagonists/changeling/changeling_power.dm index 92c8a3c069..6ae73336d4 100644 --- a/code/modules/antagonists/changeling/changeling_power.dm +++ b/code/modules/antagonists/changeling/changeling_power.dm @@ -72,10 +72,10 @@ //used in /mob/Stat() /obj/effect/proc_holder/changeling/proc/can_be_used_by(mob/user) - if(!user || QDELETED(user)) - return 0 + if(QDELETED(user)) + return FALSE if(!ishuman(user) && !ismonkey(user)) - return 0 + return FALSE if(req_human && !ishuman(user)) - return 0 - return 1 + return FALSE + return TRUE diff --git a/code/modules/antagonists/changeling/powers/revive.dm b/code/modules/antagonists/changeling/powers/revive.dm index 4fb28b4904..d9c1ca7221 100644 --- a/code/modules/antagonists/changeling/powers/revive.dm +++ b/code/modules/antagonists/changeling/powers/revive.dm @@ -29,8 +29,12 @@ return TRUE /obj/effect/proc_holder/changeling/revive/can_be_used_by(mob/living/user) + . = ..() + if(!.) + return + if(user.has_trait(CHANGELING_DRAIN) || ((user.stat != DEAD) && !(user.has_trait(TRAIT_FAKEDEATH)))) var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) changeling.purchasedpowers -= src - return 0 - . = ..() + return FALSE + From 4e4e07e8bb17cc89a89ce9b18e278870c7802d2e Mon Sep 17 00:00:00 2001 From: ShizCalev Date: Sat, 19 May 2018 06:31:43 -0400 Subject: [PATCH 320/415] Fixes mindswap book runtime (#37881) --- code/game/objects/items/granters.dm | 9 ++++--- .../spells/spell_types/mind_transfer.dm | 27 ++++++++++++------- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/code/game/objects/items/granters.dm b/code/game/objects/items/granters.dm index cf11ac7640..9938b8a918 100644 --- a/code/game/objects/items/granters.dm +++ b/code/game/objects/items/granters.dm @@ -208,12 +208,13 @@ if(stored_swap == user) to_chat(user,"You stare at the book some more, but there doesn't seem to be anything else to learn...") return - var/obj/effect/proc_holder/spell/targeted/mind_transfer/swapper = new - swapper.cast(user, stored_swap, TRUE) + if(swapper.cast(list(stored_swap), user, TRUE, TRUE)) + to_chat(user,"You're suddenly somewhere else... and someone else?!") + to_chat(stored_swap,"Suddenly you're staring at [src] again... where are you, who are you?!") + else + user.visible_message("[src] fizzles slightly as it stops glowing!") //if the mind_transfer failed to transfer mobs, likely due to the target being catatonic. - to_chat(stored_swap,"You're suddenly somewhere else... and someone else?!") - to_chat(user,"Suddenly you're staring at [src] again... where are you, who are you?!") stored_swap = null /obj/item/book/granter/spell/forcewall diff --git a/code/modules/spells/spell_types/mind_transfer.dm b/code/modules/spells/spell_types/mind_transfer.dm index c08557649b..ffdd270994 100644 --- a/code/modules/spells/spell_types/mind_transfer.dm +++ b/code/modules/spells/spell_types/mind_transfer.dm @@ -19,13 +19,15 @@ Urist: I don't feel like figuring out how you store object spells so I'm leaving Make sure spells that are removed from spell_list are actually removed and deleted when mind transferring. Also, you never added distance checking after target is selected. I've went ahead and did that. */ -/obj/effect/proc_holder/spell/targeted/mind_transfer/cast(list/targets, mob/living/user = usr, distanceoverride) +/obj/effect/proc_holder/spell/targeted/mind_transfer/cast(list/targets, mob/living/user = usr, distanceoverride, silent = FALSE) if(!targets.len) - to_chat(user, "No mind found!") + if(!silent) + to_chat(user, "No mind found!") return if(targets.len > 1) - to_chat(user, "Too many minds! You're not a hive damnit!") + if(!silent) + to_chat(user, "Too many minds! You're not a hive damnit!") return var/mob/living/target = targets[1] @@ -34,28 +36,34 @@ Also, you never added distance checking after target is selected. I've went ahea var/t_is = target.p_are() if(!(target in oview(range)) && !distanceoverride)//If they are not in overview after selection. Do note that !() is necessary for in to work because ! takes precedence over it. - to_chat(user, "[t_He] [t_is] too far away!") + if(!silent) + to_chat(user, "[t_He] [t_is] too far away!") return if(ismegafauna(target)) - to_chat(user, "This creature is too powerful to control!") + if(!silent) + to_chat(user, "This creature is too powerful to control!") return if(target.stat == DEAD) - to_chat(user, "You don't particularly want to be dead!") + if(!silent) + to_chat(user, "You don't particularly want to be dead!") return if(!target.key || !target.mind) - to_chat(user, "[t_He] appear[target.p_s()] to be catatonic! Not even magic can affect [target.p_their()] vacant mind.") + if(!silent) + to_chat(user, "[t_He] appear[target.p_s()] to be catatonic! Not even magic can affect [target.p_their()] vacant mind.") return if(user.suiciding) - to_chat(user, "You're killing yourself! You can't concentrate enough to do this!") + if(!silent) + to_chat(user, "You're killing yourself! You can't concentrate enough to do this!") return var/datum/mind/TM = target.mind if((target.anti_magic_check() || TM.has_antag_datum(/datum/antagonist/wizard) || TM.has_antag_datum(/datum/antagonist/cult) || TM.has_antag_datum(/datum/antagonist/clockcult) || TM.has_antag_datum(/datum/antagonist/changeling) || TM.has_antag_datum(/datum/antagonist/rev)) || cmptext(copytext(target.key,1,2),"@")) - to_chat(user, "[target.p_their(TRUE)] mind is resisting your spell!") + if(!silent) + to_chat(user, "[target.p_their(TRUE)] mind is resisting your spell!") return var/mob/living/victim = target//The target of the spell whos body will be transferred to. @@ -77,3 +85,4 @@ Also, you never added distance checking after target is selected. I've went ahea victim.Unconscious(unconscious_amount_victim) SEND_SOUND(caster, sound('sound/magic/mandswap.ogg')) SEND_SOUND(victim, sound('sound/magic/mandswap.ogg'))// only the caster and victim hear the sounds, that way no one knows for sure if the swap happened + return TRUE From b236716b44892b0535169156d7619411e4b8878b Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 19 May 2018 09:11:10 -0500 Subject: [PATCH 322/415] Automatic changelog generation for PR #6787 [ci skip] --- html/changelogs/AutoChangeLog-pr-6787.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6787.yml diff --git a/html/changelogs/AutoChangeLog-pr-6787.yml b/html/changelogs/AutoChangeLog-pr-6787.yml new file mode 100644 index 0000000000..ddd681f01b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6787.yml @@ -0,0 +1,4 @@ +author: "ShizCalev" +delete-after: True +changes: + - bugfix: "Fixed mobs immune to radiation being killed by HIGH bursts of radiation." From 8c63030a54871ca963ed0dca72ce00839f919c60 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 19 May 2018 09:11:31 -0500 Subject: [PATCH 323/415] Automatic changelog generation for PR #6788 [ci skip] --- html/changelogs/AutoChangeLog-pr-6788.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6788.yml diff --git a/html/changelogs/AutoChangeLog-pr-6788.yml b/html/changelogs/AutoChangeLog-pr-6788.yml new file mode 100644 index 0000000000..dbd4c21aad --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6788.yml @@ -0,0 +1,4 @@ +author: "Dax Dupont" +delete-after: True +changes: + - bugfix: "Foam no longer gives infinite metal" From f32c8547515f89fc6b5a0888344cd45dbed61a77 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 19 May 2018 09:12:26 -0500 Subject: [PATCH 324/415] Automatic changelog generation for PR #6791 [ci skip] --- html/changelogs/AutoChangeLog-pr-6791.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6791.yml diff --git a/html/changelogs/AutoChangeLog-pr-6791.yml b/html/changelogs/AutoChangeLog-pr-6791.yml new file mode 100644 index 0000000000..1b1c8232bb --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6791.yml @@ -0,0 +1,4 @@ +author: "Denton" +delete-after: True +changes: + - tweak: "There are rumors of the Tiger Cooperative adding a \"special little something\" to some of their bioterror kits." From ee3c09efa3b0635fcd9bfa1571ec9e2ee74b1cfe Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 19 May 2018 09:12:44 -0500 Subject: [PATCH 325/415] Automatic changelog generation for PR #6792 [ci skip] --- html/changelogs/AutoChangeLog-pr-6792.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6792.yml diff --git a/html/changelogs/AutoChangeLog-pr-6792.yml b/html/changelogs/AutoChangeLog-pr-6792.yml new file mode 100644 index 0000000000..629abeca9e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6792.yml @@ -0,0 +1,4 @@ +author: "Iamgoofball" +delete-after: True +changes: + - tweak: "Lipolicide now only does damage if you're starving." From 1c2edda40bb43b8563005fdf1e35d5e0c625f126 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 19 May 2018 09:13:10 -0500 Subject: [PATCH 326/415] Automatic changelog generation for PR #6793 [ci skip] --- html/changelogs/AutoChangeLog-pr-6793.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6793.yml diff --git a/html/changelogs/AutoChangeLog-pr-6793.yml b/html/changelogs/AutoChangeLog-pr-6793.yml new file mode 100644 index 0000000000..c44e76d910 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6793.yml @@ -0,0 +1,4 @@ +author: "Nichlas0010" +delete-after: True +changes: + - tweak: "Reseach Director Traitors can no longer receive an objective to steal the Hand Teleporter" From c038458192953fa9bd736418516b8d613087b972 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 19 May 2018 09:13:33 -0500 Subject: [PATCH 327/415] Automatic changelog generation for PR #6794 [ci skip] --- html/changelogs/AutoChangeLog-pr-6794.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6794.yml diff --git a/html/changelogs/AutoChangeLog-pr-6794.yml b/html/changelogs/AutoChangeLog-pr-6794.yml new file mode 100644 index 0000000000..0819c6c0a3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6794.yml @@ -0,0 +1,4 @@ +author: "Dax Dupont" +delete-after: True +changes: + - bugfix: "Mulligan didn't work on lizards and other mutants. Now it does." From 100187c446165cc5a1700dc10cdcfe3da1aaecb7 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 19 May 2018 09:14:00 -0500 Subject: [PATCH 328/415] Automatic changelog generation for PR #6796 [ci skip] --- html/changelogs/AutoChangeLog-pr-6796.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6796.yml diff --git a/html/changelogs/AutoChangeLog-pr-6796.yml b/html/changelogs/AutoChangeLog-pr-6796.yml new file mode 100644 index 0000000000..e4f4721930 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6796.yml @@ -0,0 +1,4 @@ +author: "Denton" +delete-after: True +changes: + - code_imp: "Loose silver/gold/solar panel crates have been replaced with \"proper\" crates." From 7f0ad426f17747f0374e41d1efb3a309fd741e58 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 19 May 2018 09:14:15 -0500 Subject: [PATCH 329/415] Automatic changelog generation for PR #6798 [ci skip] --- html/changelogs/AutoChangeLog-pr-6798.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6798.yml diff --git a/html/changelogs/AutoChangeLog-pr-6798.yml b/html/changelogs/AutoChangeLog-pr-6798.yml new file mode 100644 index 0000000000..913875ddc7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6798.yml @@ -0,0 +1,6 @@ +author: "Astatineguy12" +delete-after: True +changes: + - tweak: "The experimentor is less likely to produce food when it transforms an item" + - bugfix: "The experimentor no longer breaks when the toxic waste malfunction occurs multiple times and isn't cleaned up" + - bugfix: "The experimentor irridiate function actually chooses what item to make properly rather than picking from the start of the list" From 650ba5e1c2d14099cc466fc7f288f9858ad3a303 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 19 May 2018 09:14:48 -0500 Subject: [PATCH 330/415] Automatic changelog generation for PR #6799 [ci skip] --- html/changelogs/AutoChangeLog-pr-6799.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6799.yml diff --git a/html/changelogs/AutoChangeLog-pr-6799.yml b/html/changelogs/AutoChangeLog-pr-6799.yml new file mode 100644 index 0000000000..ebbbbaf427 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6799.yml @@ -0,0 +1,4 @@ +author: "Mickyan" +delete-after: True +changes: + - bugfix: "Drinking too much Gargle Blaster, Nuka Cola or Neurotoxin no longer breaks time and space." From b0bb2c8978b12f91ee73a7cb84c6422c35e8fa60 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 19 May 2018 09:15:18 -0500 Subject: [PATCH 331/415] Automatic changelog generation for PR #6801 [ci skip] --- html/changelogs/AutoChangeLog-pr-6801.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6801.yml diff --git a/html/changelogs/AutoChangeLog-pr-6801.yml b/html/changelogs/AutoChangeLog-pr-6801.yml new file mode 100644 index 0000000000..84f7c6539a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6801.yml @@ -0,0 +1,4 @@ +author: "ShizCalev" +delete-after: True +changes: + - bugfix: "The book of mindswap will now properly mindswap it's users." From b026d21db92f1b893a5bef03171a529981409769 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 19 May 2018 09:15:48 -0500 Subject: [PATCH 332/415] Automatic changelog generation for PR #6770 [ci skip] --- html/changelogs/AutoChangeLog-pr-6770.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6770.yml diff --git a/html/changelogs/AutoChangeLog-pr-6770.yml b/html/changelogs/AutoChangeLog-pr-6770.yml new file mode 100644 index 0000000000..cb25c019db --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6770.yml @@ -0,0 +1,4 @@ +author: "Dimmadunk" +delete-after: True +changes: + - rscadd: "There's a new type of reagent added to the booze dispenser: Fernet. With it you can make a couple of new digestif drinks that will help you reduce excess fat!" From dc0ab280ac7b433477e932aa1037ce5e1889a2da Mon Sep 17 00:00:00 2001 From: Armhulen Date: Sat, 19 May 2018 12:51:21 -0700 Subject: [PATCH 333/415] The Run Weather Verb, from "Adds acid geysers and seismic events to lavaland" (#37910) * run weather! * there we go. --- code/modules/admin/admin_verbs.dm | 1 + code/modules/admin/verbs/randomverbs.dm | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index b309c5bea6..77f48d18f4 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -93,6 +93,7 @@ GLOBAL_LIST_INIT(admin_verbs_fun, list( /client/proc/forceEvent, /client/proc/admin_change_sec_level, /client/proc/toggle_nuke, + /client/proc/run_weather, /client/proc/mass_zombie_infection, /client/proc/mass_zombie_cure, /client/proc/polymorph_all, diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 83d4f64748..be0b9d04bb 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -1043,6 +1043,30 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits for(var/obj/machinery/shuttle_manipulator/M in GLOB.machines) M.ui_interact(usr) +/client/proc/run_weather() + set category = "Fun" + set name = "Run Weather" + set desc = "Triggers a weather on the z-level you choose." + + if(!holder) + return + + var/weather_type = input("Choose a weather", "Weather") as null|anything in subtypesof(/datum/weather) + if(!weather_type) + return + + var/z_level = input("Z-Level to target? Leave blank to target current Z-Level.", "Z-Level") as num|null + if(!isnum(z_level)) + if(!src.mob) + return + z_level = src.mob.z + + SSweather.run_weather(weather_type, z_level) + + message_admins("[key_name_admin(usr)] started weather of type [weather_type] on the z-level [z_level].") + log_admin("[key_name(usr)] started weather of type [weather_type] on the z-level [z_level].") + SSblackbox.record_feedback("tally", "admin_verb", 1, "Run Weather") + /client/proc/mass_zombie_infection() set category = "Fun" set name = "Mass Zombie Infection" From aae6ea020335588bacc80c401ff815ba7dc0a18e Mon Sep 17 00:00:00 2001 From: iksyp <33264221+iskyp@users.noreply.github.com> Date: Sat, 19 May 2018 14:39:14 -0700 Subject: [PATCH 335/415] [READY] Gives Stacking Machines and their consoles machine boards (#37607) * patch-2 * does everything on the TODO list FUCK YEAH *breaks up the engineering node design ID's for readability *linking the device via multitool is possible *The machinery construction "recipes" are less shit and make a bit more sense * coil * did somebody say RUNTIMES? *fixed runtimes when there is no link on the stacking machine console *added feedback for unlinked consoles *it's -> its *proper typecheck * achieved with [src] --- .../circuitboards/machine_circuitboards.dm | 14 +++++++++ code/modules/mining/machine_stacking.dm | 31 ++++++++++++++++--- .../research/designs/machine_designs.dm | 16 ++++++++++ code/modules/research/techweb/all_nodes.dm | 3 +- 4 files changed, 59 insertions(+), 5 deletions(-) diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index 1e7969fa8f..c4aa6f52cc 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -873,3 +873,17 @@ return transmit = !transmit to_chat(user, "You [transmit ? "enable" : "disable"] the board's automatic disposal transmission.") + +/obj/item/circuitboard/machine/stacking_unit_console + name = "Stacking Machine Console (Machine Board)" + build_path = /obj/machinery/mineral/stacking_unit_console + req_components = list( + /obj/item/stack/sheet/glass = 2, + /obj/item/stack/cable_coil = 5) + +/obj/item/circuitboard/machine/stacking_machine + name = "Stacking Machine (Machine Board)" + build_path = /obj/machinery/mineral/stacking_machine + req_components = list( + /obj/item/stock_parts/manipulator = 2, + /obj/item/stock_parts/matter_bin = 2) diff --git a/code/modules/mining/machine_stacking.dm b/code/modules/mining/machine_stacking.dm index f566a8f4a9..0f84d11082 100644 --- a/code/modules/mining/machine_stacking.dm +++ b/code/modules/mining/machine_stacking.dm @@ -7,20 +7,23 @@ desc = "Controls a stacking machine... in theory." density = FALSE anchored = TRUE - var/obj/machinery/mineral/stacking_machine/machine = null + circuit = /obj/item/circuitboard/machine/stacking_unit_console + var/obj/machinery/mineral/stacking_machine/machine var/machinedir = SOUTHEAST - speed_process = TRUE /obj/machinery/mineral/stacking_unit_console/Initialize() . = ..() machine = locate(/obj/machinery/mineral/stacking_machine, get_step(src, machinedir)) if (machine) machine.CONSOLE = src - else - qdel(src) /obj/machinery/mineral/stacking_unit_console/ui_interact(mob/user) . = ..() + + if(!machine) + to_chat(user, "[src] is not linked to a machine!") + return + var/obj/item/stack/sheet/s var/dat @@ -35,6 +38,13 @@ user << browse(dat, "window=console_stacking_machine") +/obj/machinery/mineral/stacking_unit_console/multitool_act(mob/living/user, obj/item/I) + if(istype(I, /obj/item/multitool)) + var/obj/item/multitool/M = I + M.buffer = src + to_chat(user, "You store linkage information in [I]'s buffer.") + return TRUE + /obj/machinery/mineral/stacking_unit_console/Topic(href, href_list) if(..()) return @@ -62,6 +72,7 @@ desc = "A machine that automatically stacks acquired materials. Controlled by a nearby console." density = TRUE anchored = TRUE + circuit = /obj/item/circuitboard/machine/stacking_machine var/obj/machinery/mineral/stacking_unit_console/CONSOLE var/stk_types = list() var/stk_amt = list() @@ -78,6 +89,18 @@ if(istype(AM, /obj/item/stack/sheet) && AM.loc == get_step(src, input_dir)) process_sheet(AM) +/obj/machinery/mineral/stacking_machine/multitool_act(mob/living/user, obj/item/I) + if(istype(I, /obj/item/multitool)) + var/obj/item/multitool/M = I + if(!istype(M.buffer, /obj/machinery/mineral/stacking_unit_console)) + to_chat(user, "The [I] has no linkage data in its buffer.") + return FALSE + else + CONSOLE = M.buffer + CONSOLE.machine = src + to_chat(user, "You link [src] to the console in [I]'s buffer.") + return TRUE + /obj/machinery/mineral/stacking_machine/proc/process_sheet(obj/item/stack/sheet/inp) if(!(inp.type in stack_list)) //It's the first of this sheet added var/obj/item/stack/sheet/s = new inp.type(src, 0) diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index be3ec60637..5771ff9891 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -482,3 +482,19 @@ build_path = /obj/item/circuitboard/machine/dish_drive category = list ("Misc. Machinery") departmental_flags = DEPARTMENTAL_FLAG_SERVICE + +/datum/design/board/stacking_unit_console + name = "Machine Design (Stacking Machine Console)" + desc = "The circuit board for a Stacking Machine Console." + id = "stack_console" + build_path = /obj/item/circuitboard/machine/stacking_unit_console + category = list ("Misc. Machinery") + departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_ENGINEERING + +/datum/design/board/stacking_machine + name = "Machine Design (Stacking Machine)" + desc = "The circuit board for a Stacking Machine." + id = "stack_machine" + build_path = /obj/item/circuitboard/machine/stacking_machine + category = list ("Misc. Machinery") + departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_ENGINEERING \ No newline at end of file diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index c29c8b7732..c69d0ad728 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -93,7 +93,8 @@ description = "A refresher course on modern engineering technology." prereq_ids = list("base") design_ids = list("solarcontrol", "recharger", "powermonitor", "rped", "pacman", "adv_capacitor", "adv_scanning", "emitter", "high_cell", "adv_matter_bin", - "atmosalerts", "atmos_control", "recycler", "autolathe", "high_micro_laser", "nano_mani", "mesons", "thermomachine", "rad_collector", "tesla_coil", "grounding_rod", "apc_control", "cell_charger", "power control", "airlock_board", "firelock_board", "airalarm_electronics", "firealarm_electronics") + "atmosalerts", "atmos_control", "recycler", "autolathe", "high_micro_laser", "nano_mani", "mesons", "thermomachine", "rad_collector", "tesla_coil", "grounding_rod", + "apc_control", "cell_charger", "power control", "airlock_board", "firelock_board", "airalarm_electronics", "firealarm_electronics", "cell_charger", "stack_console", "stack_machine") research_cost = 7500 export_price = 5000 From f172fed3e2d18e20cdd6221f48500a2b09ac04fb Mon Sep 17 00:00:00 2001 From: Alexch2 <38825151+Alexch2@users.noreply.github.com> Date: Sun, 20 May 2018 00:11:36 +0200 Subject: [PATCH 337/415] Improves descriptions of Integrated Circuits (#37678) * Fixes a ton of typos, inaccuracies, poor grammar, and confusing weirdnesses from the descriptions of almost every integrated circuit. For example, the reagent filter: Before: "This is a filter which will move liquids from the source to the target. It will move all reagents, except those in the unwanted list, given the fourth pin if amount value is positive, or it will move only desired reagents if amount is negative. The third pin determines how much reagent is moved per pulse, between 0 and 50. Amount is given for each separate reagent." After: This is a filter which will move liquids from the source to its target. If the amount in the fourth pin is positive, it will move all reagents except those in the unwanted list. If the amount in the fourth pin is negative, it will only move the reagents in the wanted list. The third pin determines how many reagents are moved per pulse, between 0 and 50. Amount is given for each separate reagent." * fixed, ready * Actually fixed and ready. * Reverts the name of the coordinate pathfinder circuit back to "coordinte" * Fixes a few missed, or poorly rewritten parts. * Update smart.dm --- .../integrated_electronics/passive/power.dm | 4 +- .../integrated_electronics/subtypes/access.dm | 2 +- .../subtypes/arithmetic.dm | 14 ++--- .../subtypes/converters.dm | 15 ++--- .../subtypes/data_transfer.dm | 4 +- .../integrated_electronics/subtypes/input.dm | 62 +++++++++---------- .../integrated_electronics/subtypes/lists.dm | 32 +++++----- .../integrated_electronics/subtypes/logic.dm | 2 +- .../subtypes/manipulation.dm | 30 ++++----- .../integrated_electronics/subtypes/memory.dm | 4 +- .../integrated_electronics/subtypes/output.dm | 2 +- .../integrated_electronics/subtypes/power.dm | 4 +- .../subtypes/reagents.dm | 28 ++++----- .../integrated_electronics/subtypes/smart.dm | 13 ++-- .../integrated_electronics/subtypes/time.dm | 12 ++-- 15 files changed, 117 insertions(+), 111 deletions(-) diff --git a/code/modules/integrated_electronics/passive/power.dm b/code/modules/integrated_electronics/passive/power.dm index 859c8910f3..244b4cb71b 100644 --- a/code/modules/integrated_electronics/passive/power.dm +++ b/code/modules/integrated_electronics/passive/power.dm @@ -73,7 +73,7 @@ // For really fat machines. /obj/item/integrated_circuit/passive/power/relay/large name = "large tesla power relay" - desc = "A seemingly enigmatic device which connects to nearby APCs wirelessly and draws power from them, now in industiral size!" + desc = "A seemingly enigmatic device which connects to nearby APCs wirelessly and draws power from them, now in industrial size!" w_class = WEIGHT_CLASS_BULKY extended_desc = "The siphon drains 2 kW of power from an APC in the same room as it as long as it has charge remaining. It will always drain \ from the 'equipment' power channel." @@ -89,7 +89,7 @@ desc = "Produces electricity from chemicals." icon_state = "chemical_cell" extended_desc = "This is effectively an internal beaker. It will consume and produce power from plasma, slime jelly, welding fuel, carbon,\ - ethanol, nutriments, and blood in order of decreasing efficiency. It will consume fuel only if the battery can take more energy." + ethanol, nutriment, and blood in order of decreasing efficiency. It will consume fuel only if the battery can take more energy." container_type = OPENCONTAINER complexity = 4 inputs = list() diff --git a/code/modules/integrated_electronics/subtypes/access.dm b/code/modules/integrated_electronics/subtypes/access.dm index 63b258d782..bf710be0e2 100644 --- a/code/modules/integrated_electronics/subtypes/access.dm +++ b/code/modules/integrated_electronics/subtypes/access.dm @@ -1,6 +1,6 @@ /obj/item/integrated_circuit/input/card_reader name = "card reader" - desc = "A circuit that can read registred name, assignment and a PassKey string from an ID card." + desc = "A circuit that can read the registred name, assignment, and PassKey string from an ID card." icon_state = "card_reader" complexity = 4 diff --git a/code/modules/integrated_electronics/subtypes/arithmetic.dm b/code/modules/integrated_electronics/subtypes/arithmetic.dm index 3a28c7b051..d4b854268b 100644 --- a/code/modules/integrated_electronics/subtypes/arithmetic.dm +++ b/code/modules/integrated_electronics/subtypes/arithmetic.dm @@ -94,7 +94,7 @@ /obj/item/integrated_circuit/arithmetic/division name = "division circuit" - desc = "This circuit can divide numbers, just don't think about trying to divide by zero!" + desc = "This circuit can divide numbers. Don't even think about trying to divide by zero!" extended_desc = "The order that the calculation goes is;
    \ result = ((((A / B) / C) / D) ... ) and so on, until all pins have been divided. \ Null pins, and pins containing 0, are ignored. Pin A must be a number or the circuit will not function." @@ -142,8 +142,8 @@ /obj/item/integrated_circuit/arithmetic/sign name = "sign circuit" - desc = "This will say if a number is positive, negative, or zero." - extended_desc = "Will output 1, -1, or 0, depending on if A is a postive number, a negative number, or zero, respectively." + desc = "This circuit can tell if a number is positive, negative, or zero." + extended_desc = "Will output 1, -1, or 0, depending on if A is a positive number, a negative number, or zero, respectively." icon_state = "sign" inputs = list("A" = IC_PINTYPE_NUMBER) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH @@ -212,8 +212,8 @@ /obj/item/integrated_circuit/arithmetic/average name = "average circuit" - desc = "This circuit is of average quality, however it will compute the average for numbers you give it." - extended_desc = "Note that null pins are ignored, where as a pin containing 0 is included in the averaging calculation." + desc = "This circuit is of average quality. It will compute the average of the numbers you give it." + extended_desc = "Note that null pins are ignored, whereas a pin containing 0 is included in the averaging calculation." icon_state = "average" spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH @@ -240,7 +240,7 @@ icon_state = "pi" inputs = list() spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH - + /obj/item/integrated_circuit/arithmetic/pi/Initialize() . = ..() desc = "Not recommended for cooking. Outputs '[PI]' when it receives a pulse." @@ -276,7 +276,7 @@ /obj/item/integrated_circuit/arithmetic/square_root name = "square root circuit" - desc = "This outputs the square root of a number you input." + desc = "This outputs the square root of the number you input." icon_state = "square_root" inputs = list("A" = IC_PINTYPE_NUMBER) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH diff --git a/code/modules/integrated_electronics/subtypes/converters.dm b/code/modules/integrated_electronics/subtypes/converters.dm index 6937857be0..9382f70066 100644 --- a/code/modules/integrated_electronics/subtypes/converters.dm +++ b/code/modules/integrated_electronics/subtypes/converters.dm @@ -69,7 +69,7 @@ /obj/item/integrated_circuit/converter/refcode name = "reference encoder" - desc = "This circuit can encode a reference into a string, which can then be read by an EPV2 circuit." + desc = "This circuit can encode a reference into a string, which can then be read by a reference decoder circuit." icon_state = "ref-string" inputs = list("input" = IC_PINTYPE_REF) outputs = list("output" = IC_PINTYPE_STRING) @@ -88,7 +88,7 @@ /obj/item/integrated_circuit/converter/refdecode name = "reference decoder" - desc = "This circuit can convert an encoded reference to actual reference." + desc = "This circuit can convert an encoded reference to an actual reference." icon_state = "ref-string" inputs = list("input" = IC_PINTYPE_STRING) outputs = list("output" = IC_PINTYPE_REF) @@ -180,8 +180,8 @@ /obj/item/integrated_circuit/converter/separator name = "separator" - desc = "This splits as single string into two at the relative split point." - extended_desc = "This circuits splits a given string into two, based on the string, and the index value. \ + desc = "This splits a single string into two at the relative split point." + extended_desc = "This circuit splits a given string into two, based on the string and the index value. \ The index splits the string after the given index, including spaces. So 'a person' with an index of '3' \ will split into 'a p' and 'erson'." icon_state = "split" @@ -240,9 +240,10 @@ /obj/item/integrated_circuit/converter/findstring name = "find text" - desc = "This gives position of sample in the string. Or returns 0." + desc = "This outputs the position of the sample in the string, or returns 0." extended_desc = "The first pin is the string to be examined. The second pin is the sample to be found. \ - For example, 'eat this burger' will give you position 4. This circuit isn't case sensitive." + For example, inputting 'my wife has caught on fire' with 'has' as the sample will give you position 9. \ + This circuit isn't case sensitive, and it does not ignore spaces." complexity = 4 inputs = list( "string" = IC_PINTYPE_STRING, @@ -413,7 +414,7 @@ /obj/item/integrated_circuit/converter/rgb2hex name = "rgb to hexadecimal" desc = "This circuit can convert a RGB (Red, Green, Blue) color to a Hexadecimal RGB color." - extended_desc = "The first pin controls red amount, the second pin controls green amount, and the third controls blue amount. All go from 0-255." + extended_desc = "The first pin controls red amount, the second pin controls green amount, and the third controls blue amount. They all go from 0-255." icon_state = "rgb-hex" inputs = list( "red" = IC_PINTYPE_NUMBER, diff --git a/code/modules/integrated_electronics/subtypes/data_transfer.dm b/code/modules/integrated_electronics/subtypes/data_transfer.dm index 481360f6cf..682d982373 100644 --- a/code/modules/integrated_electronics/subtypes/data_transfer.dm +++ b/code/modules/integrated_electronics/subtypes/data_transfer.dm @@ -4,7 +4,7 @@ /obj/item/integrated_circuit/transfer/multiplexer name = "two multiplexer" - desc = "This is what those in the business tend to refer to as a 'mux' or data selector. It moves data from one of the selected inputs to the output." + desc = "This is what those in the business tend to refer to as a 'mux', or data selector. It moves data from one of the selected inputs to the output." extended_desc = "The first input pin is used to select which of the other input pins which has its data moved to the output. \ If the input selection is outside the valid range then no output is given." complexity = 2 @@ -147,7 +147,7 @@ /obj/item/integrated_circuit/transfer/wire_node name = "wire node" - desc = "Just wire node to make wiring more easy.Transfer pulse from in to out." + desc = "Just a wire node to make wiring easier. Transfers the pulse from in to out." icon_state = "wire_node" activators = list("pulse in" = IC_PINTYPE_PULSE_IN, "pulse out" = IC_PINTYPE_PULSE_OUT) spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH diff --git a/code/modules/integrated_electronics/subtypes/input.dm b/code/modules/integrated_electronics/subtypes/input.dm index c810f87468..70e3bed5a7 100644 --- a/code/modules/integrated_electronics/subtypes/input.dm +++ b/code/modules/integrated_electronics/subtypes/input.dm @@ -150,7 +150,7 @@ /obj/item/integrated_circuit/input/slime_scanner name = "slime_scanner" - desc = "A very small version of the xenobio analyser. This allows the machine to know every needed properties of slime. Output mutation list is non associative." + desc = "A very small version of the xenobio analyser. This allows the machine to know every needed properties of slime. Output mutation list is non-associative." icon_state = "medscan_adv" complexity = 12 inputs = list("target" = IC_PINTYPE_REF) @@ -193,8 +193,8 @@ /obj/item/integrated_circuit/input/plant_scanner name = "integrated plant analyzer" - desc = "A very small version of the plant analyser. This allows the machine to know all valuable params of plants in trays. \ - It cannot scan seeds nor fruits, only plants." + desc = "A very small version of the plant analyser. This allows the machine to know all valuable parameters of plants in trays. \ + It can only scan plants, not seeds or fruits." icon_state = "medscan_adv" complexity = 12 inputs = list("target" = IC_PINTYPE_REF) @@ -259,9 +259,9 @@ /obj/item/integrated_circuit/input/gene_scanner name = "gene scanner" - desc = "This circuit will scan plant for traits and reagent genes. Output is non-associative." + desc = "This circuit will scan the target plant for traits and reagent genes. Output is non-associative." extended_desc = "This allows the machine to scan plants in trays for reagent and trait genes. \ - It cannot scan seeds nor fruits, only plants." + It can only scan plants, not seeds or fruits." inputs = list( "target" = IC_PINTYPE_REF ) @@ -358,9 +358,9 @@ /obj/item/integrated_circuit/input/turfpoint name = "Tile pointer" - desc = "This circuit will get tile ref with given absolute coordinates." + desc = "This circuit will get a tile ref with the provided absolute coordinates." extended_desc = "If the machine cannot see the target, it will not be able to calculate the correct direction.\ - This circuit works only inside an assembly." + This circuit only works while inside an assembly." icon_state = "numberpad" complexity = 5 inputs = list("X" = IC_PINTYPE_NUMBER,"Y" = IC_PINTYPE_NUMBER) @@ -461,7 +461,7 @@ /obj/item/integrated_circuit/input/adjacent_locator name = "adjacent locator" desc = "This is needed for certain devices that demand a reference for a target to act upon. This type only locates something \ - that is standing a meter away from the machine." + that is standing up to a meter away from the machine." extended_desc = "The first pin requires a ref to the kind of object that you want the locator to acquire. This means that it will \ give refs to nearby objects that are similar. If more than one valid object is found nearby, it will choose one of them at \ random." @@ -500,9 +500,9 @@ /obj/item/integrated_circuit/input/advanced_locator_list complexity = 6 name = "list advanced locator" - desc = "This is needed for certain devices that demand list of names for a targets to act upon. This type locates something \ - that is standing in given radius up to 8 meters. Output is non-associative. Input will only consider keys if associative." - extended_desc = "The first pin requires a list of kinds of objects that you want the locator to acquire. It will locate nearby objects by name and description, \ + desc = "This is needed for certain devices that demand list of names for a target to act upon. This type locates something \ + that is standing in given radius of up to 8 meters. Output is non-associative. Input will only consider keys if associative." + extended_desc = "The first pin requires a list of the kinds of objects that you want the locator to acquire. It will locate nearby objects by name and description, \ and will then provide a list of all found objects which are similar. \ The second pin is a radius." inputs = list("desired type ref" = IC_PINTYPE_LIST, "radius" = IC_PINTYPE_NUMBER) @@ -564,10 +564,10 @@ complexity = 6 name = "advanced locator" desc = "This is needed for certain devices that demand a reference for a target to act upon. This type locates something \ - that is standing in given radius up to 8 meters" - extended_desc = "The first pin requires a ref to a kind of object that you want the locator to acquire. This means that it will \ - give refs to nearby objects which are similar. If this pin is string, this locator will search for an \ - item by matching desired text in it's name and description. If more than one valid object is found nearby, it will choose one of them at \ + that is standing in given radius of up to 8 meters" + extended_desc = "The first pin requires a ref to the kind of object that you want the locator to acquire. This means that it will \ + give refs to nearby objects which are similar. If this pin is a string, the locator will search for an \ + item matching the desired text in its name and description. If more than one valid object is found nearby, it will choose one of them at \ random. The second pin is a radius." inputs = list("desired type" = IC_PINTYPE_ANY, "radius" = IC_PINTYPE_NUMBER) outputs = list("located ref" = IC_PINTYPE_REF) @@ -617,7 +617,7 @@ /obj/item/integrated_circuit/input/signaler name = "integrated signaler" - desc = "Signals from a signaler can be received with this, allowing for remote control. Additionally, it can send signals as well." + desc = "Signals from a signaler can be received with this, allowing for remote control. It can also send signals." extended_desc = "When a signal is received from another signaler, the 'on signal received' activator pin will be pulsed. \ The two input pins are to configure the integrated signaler's settings. Note that the frequency should not have a decimal in it, \ meaning the default frequency is expressed as 1457, not 145.7. To send a signal, pulse the 'send signal' activator pin." @@ -699,11 +699,11 @@ /obj/item/integrated_circuit/input/ntnet_packet name = "NTNet networking circuit" - desc = "Enables the sending and receiving of messages on NTNet via packet data protocol." - extended_desc = "Data can be send or received using the second pin on each side, \ + desc = "Enables the sending and receiving of messages over NTNet via packet data protocol." + extended_desc = "Data can be sent or received using the second pin on each side, \ with additonal data reserved for the third pin. When a message is received, the second activation pin \ - will pulse whatever's connected to it. Pulsing the first activation pin will send a message. Message \ - can be send to multiple recepients. Addresses must be separated with ; symbol." + will pulse whatever is connected to it. Pulsing the first activation pin will send a message. Messages \ + can be sent to multiple recepients. Addresses must be separated with a semicolon, like this: Address1;Address2;Etc." icon_state = "signal" complexity = 2 cooldown_per_use = 1 @@ -756,11 +756,11 @@ /obj/item/integrated_circuit/input/ntnet_advanced name = "Low level NTNet transreciever" - desc = "Enables the sending and receiving of messages on NTNet via packet data protocol. Allows advanced control of message contents and signalling. Must use associative lists. Outputs associative list. Has a slower transmission rate than normal NTNet circuits, due to increased data processing complexity.." - extended_desc = "Data can be send or received using the second pin on each side, \ + desc = "Enables the sending and receiving of messages over NTNet via packet data protocol. Allows advanced control of message contents and signalling. Must use associative lists. Outputs associative list. Has a slower transmission rate than normal NTNet circuits, due to increased data processing complexity." + extended_desc = "Data can be sent or received using the second pin on each side, \ with additonal data reserved for the third pin. When a message is received, the second activation pin \ - will pulse whatever's connected to it. Pulsing the first activation pin will send a message. Message \ - can be send to multiple recepients. Addresses must be separated with ; symbol." + will pulse whatever is connected to it. Pulsing the first activation pin will send a message. Messages \ + can be sent to multiple recepients. Addresses must be separated with a semicolon, like this: Address1;Address2;Etc." icon_state = "signal" complexity = 4 cooldown_per_use = 10 @@ -802,7 +802,7 @@ /obj/item/integrated_circuit/input/gps name = "global positioning system" desc = "This allows you to easily know the position of a machine containing this device." - extended_desc = "The GPS's coordinates it gives is absolute, not relative." + extended_desc = "The coordinates that the GPS outputs are absolute, not relative." icon_state = "gps" complexity = 4 inputs = list() @@ -829,7 +829,7 @@ /obj/item/integrated_circuit/input/microphone name = "microphone" - desc = "Useful for spying on people or for voice activated machines." + desc = "Useful for spying on people, or for voice-activated machines." extended_desc = "This will automatically translate most languages it hears to Galactic Common. \ The first activation pin is always pulsed when the circuit hears someone talk, while the second one \ is only triggered if it hears someone speaking a language other than Galactic Common." @@ -921,7 +921,7 @@ /obj/item/integrated_circuit/input/obj_scanner name = "scanner" desc = "Scans and obtains a reference for any objects you use on the assembly." - extended_desc = "If the 'put down' pin is set to true, the assembly will take the scanned object from your hands to it's location. \ + extended_desc = "If the 'put down' pin is set to true, the assembly will take the scanned object from your hands to its location. \ Useful for interaction with the grabber. The scanner only works using the help intent." icon_state = "recorder" complexity = 4 @@ -948,7 +948,7 @@ name = "internal battery monitor" desc = "This monitors the charge level of an internal battery." icon_state = "internalbm" - extended_desc = "This circuit will give you values of charge, max charge, and percentage of the internal battery on demand." + extended_desc = "This circuit will give you the values of charge, max charge, and the current percentage of the internal battery on demand." w_class = WEIGHT_CLASS_TINY complexity = 1 inputs = list() @@ -981,9 +981,9 @@ /obj/item/integrated_circuit/input/externalbm name = "external battery monitor" - desc = "This can help to watch battery state of any device in view" + desc = "This can read the battery state of any device in view." icon_state = "externalbm" - extended_desc = "This circuit will give you values of charge, max charge, and percentage of any device or battery in view" + extended_desc = "This circuit will give you the charge, max charge, and the current percentage values of any device or battery in view." w_class = WEIGHT_CLASS_TINY complexity = 2 inputs = list("target" = IC_PINTYPE_REF) @@ -1016,7 +1016,7 @@ /obj/item/integrated_circuit/input/ntnetsc name = "NTNet scanner" - desc = "This can return NTNet IDs of a component inside the given object, if there are any." + desc = "This can return the NTNet IDs of a component inside the given object, if there are any." icon_state = "signalsc" w_class = WEIGHT_CLASS_TINY complexity = 2 diff --git a/code/modules/integrated_electronics/subtypes/lists.dm b/code/modules/integrated_electronics/subtypes/lists.dm index c9744cc41c..a5c482c7de 100644 --- a/code/modules/integrated_electronics/subtypes/lists.dm +++ b/code/modules/integrated_electronics/subtypes/lists.dm @@ -17,8 +17,8 @@ /obj/item/integrated_circuit/lists/pick name = "pick circuit" - desc = "This circuit will pick a random element from the input list, and output said element." - extended_desc = "Input list is unmodified." + desc = "This circuit will pick a random element from the input list, and output that element." + extended_desc = "The input list is not modified." icon_state = "addition" outputs = list( "result" = IC_PINTYPE_ANY @@ -70,7 +70,7 @@ /obj/item/integrated_circuit/lists/search name = "search circuit" desc = "This circuit will get the index location of the desired element in a list." - extended_desc = "Search will start at 1 position and will return first matching position." + extended_desc = "Search will start at position 1 and will return the first matching position." inputs = list( "list" = IC_PINTYPE_LIST, "item" = IC_PINTYPE_ANY @@ -104,8 +104,8 @@ /obj/item/integrated_circuit/lists/filter name = "filter circuit" desc = "This circuit will search through a list for anything matching the desired element(s) and outputs two lists: \ - one containing just matching elements, and one with matching elements filtered out." - extended_desc = "Sample accepts lists. If no match is found, original list is sent to output 1." + one containing only the matching elements, and one with the matching elements filtered out." + extended_desc = "Sample accepts lists. If no match is found, the original list is sent to output 1." inputs = list( "input list" = IC_PINTYPE_LIST, "sample" = IC_PINTYPE_ANY @@ -168,7 +168,7 @@ /obj/item/integrated_circuit/lists/listset name = "list set circuit" desc = "This circuit will remove any duplicate entries from a list." - extended_desc = "If there are no duplicate entries, result list will be unchanged." + extended_desc = "If there are no duplicate entries, the output list will be unchanged." inputs = list( "list" = IC_PINTYPE_LIST ) @@ -189,7 +189,7 @@ /obj/item/integrated_circuit/lists/at name = "at circuit" desc = "This circuit will pick an element from a list by the input index." - extended_desc = "If there is no element with such index, result will be null." + extended_desc = "If there is no element at the given index, the result will be null." inputs = list( "list" = IC_PINTYPE_LIST, "index" = IC_PINTYPE_INDEX @@ -225,7 +225,7 @@ /obj/item/integrated_circuit/lists/delete name = "delete circuit" desc = "This circuit will remove an element from a list by the index." - extended_desc = "If there is no element with such index, result list will be unchanged." + extended_desc = "If there is no element at the given index, the result list will be unchanged." inputs = list( "list" = IC_PINTYPE_LIST, "index" = IC_PINTYPE_INDEX @@ -254,7 +254,7 @@ /obj/item/integrated_circuit/lists/write name = "write circuit" desc = "This circuit will write an element to a list at the given index location." - extended_desc = "If there is no element with such index, it will give the same list as before." + extended_desc = "If there is no element at the given index, it will output the same list as before." inputs = list( "list" = IC_PINTYPE_LIST, "index" = IC_PINTYPE_INDEX, @@ -313,7 +313,7 @@ /obj/item/integrated_circuit/lists/jointext name = "join text circuit" - desc = "This circuit will combine two lists into one and output it as a string." + desc = "This circuit will combine two lists into one, and output it as a string." extended_desc = "Default settings will encode the entire list into a string." icon_state = "join" inputs = list( @@ -351,7 +351,7 @@ /obj/item/integrated_circuit/lists/constructor name = "large list constructor" - desc = "This circuit will build a list out of sixteen input values." + desc = "This circuit will build a list out of up to sixteen input values." icon_state = "constr8" inputs = list() outputs = list( @@ -383,20 +383,20 @@ /obj/item/integrated_circuit/lists/constructor/small name = "list constructor" - desc = "This circuit will build a list out of four input values." + desc = "This circuit will build a list out of up to four input values." icon_state = "constr" number_of_pins = 4 /obj/item/integrated_circuit/lists/constructor/medium name = "medium list constructor" - desc = "This circuit will build a list out of eight input values." + desc = "This circuit will build a list out of up to eight input values." icon_state = "constr8" number_of_pins = 8 /obj/item/integrated_circuit/lists/deconstructor name = "large list deconstructor" - desc = "This circuit will write first sixteen entries of input list, starting with index, into the output values." + desc = "This circuit will write the first sixteen entries of its input list, starting with the index, into the output values." icon_state = "deconstr8" inputs = list( "input" = IC_PINTYPE_LIST, @@ -428,11 +428,11 @@ /obj/item/integrated_circuit/lists/deconstructor/small name = "list deconstructor" - desc = "This circuit will write first four entries of input list, starting with index, into the output values." + desc = "This circuit will write the first four entries of its input list, starting with the index, into the output values." icon_state = "deconstr" number_of_pins = 4 /obj/item/integrated_circuit/lists/deconstructor/medium name = "medium list deconstructor" - desc = "This circuit will write first eight entries of input list, starting with index, into the output values." + desc = "This circuit will write the first eight entries of its input list, starting with the index, into the output values." number_of_pins = 8 diff --git a/code/modules/integrated_electronics/subtypes/logic.dm b/code/modules/integrated_electronics/subtypes/logic.dm index 41917f2a44..e9dca8c330 100644 --- a/code/modules/integrated_electronics/subtypes/logic.dm +++ b/code/modules/integrated_electronics/subtypes/logic.dm @@ -89,7 +89,7 @@ /obj/item/integrated_circuit/logic/binary/rslatch name = "RS latch" - desc = "This gate is a synchronized RS latch. If both R and S are true, state will not change." + desc = "This gate is a synchronized RS latch. If both R and S are true, its state will not change." icon_state = "sr_nor" inputs = list("S" = IC_PINTYPE_ANY,"R" = IC_PINTYPE_ANY) outputs = list("Q" = IC_PINTYPE_BOOLEAN,"!Q" = IC_PINTYPE_BOOLEAN) diff --git a/code/modules/integrated_electronics/subtypes/manipulation.dm b/code/modules/integrated_electronics/subtypes/manipulation.dm index f2f0e027fe..f4cc363afb 100644 --- a/code/modules/integrated_electronics/subtypes/manipulation.dm +++ b/code/modules/integrated_electronics/subtypes/manipulation.dm @@ -6,8 +6,8 @@ desc = "This somewhat complicated system allows one to slot in a gun, direct it towards a position, and remotely fire it." extended_desc = "The firing mechanism can slot in any energy weapon. \ The first and second inputs need to be numbers which correspond to coordinates for the gun to fire at relative to the machine itself. \ - The 'fire' activator will cause the mechanism to attempt to fire the weapon at the coordinates, if possible. Mode is switch between \ - lethal (TRUE) or stun (FALSE) modes. It uses the internal battery of the weapon. If you wish to fire the gun while the circuit is in \ + The 'fire' activator will cause the mechanism to attempt to fire the weapon at the coordinates, if possible. Mode will switch between \ + lethal (TRUE) or stun (FALSE) modes. It uses the internal battery of the weapon itself, not the assembly. If you wish to fire the gun while the circuit is in \ hand, you will need to use an assembly that is a gun." complexity = 20 w_class = WEIGHT_CLASS_SMALL @@ -136,8 +136,8 @@ desc = "This allows a machine to move in a given direction." icon_state = "locomotion" extended_desc = "The circuit accepts a 'dir' number as a direction to move towards.
    \ - Pulsing the 'step towards dir' activator pin will cause the machine to move a meter in that direction, assuming it is not \ - being held, or anchored in some way. It should be noted that the ability to move is dependant on the type of assembly that this circuit inhabits." + Pulsing the 'step towards dir' activator pin will cause the machine to move one step in that direction, assuming it is not \ + being held, or anchored in some way. It should be noted that the ability to move is dependant on the type of assembly that this circuit inhabits; only drone assemblies can move." w_class = WEIGHT_CLASS_SMALL complexity = 10 cooldown_per_use = 1 @@ -171,9 +171,9 @@ /obj/item/integrated_circuit/manipulation/grenade name = "grenade primer" desc = "This circuit comes with the ability to attach most types of grenades and prime them at will." - extended_desc = "Time between priming and detonation is limited to between 1 to 12 seconds but is optional. \ - If unset, not a number, or a number less than 1 then the grenade's built-in timing will be used. \ - Beware: Once primed there is no aborting the process!" + extended_desc = "The time between priming and detonation is limited to between 1 to 12 seconds, but is optional. \ + If the input is not set, not a number, or a number less than 1, the grenade's built-in timing will be used. \ + Beware: Once primed, there is no aborting the process!" icon_state = "grenade" complexity = 30 cooldown_per_use = 10 @@ -245,9 +245,9 @@ name = "plant manipulation module" desc = "Used to uproot weeds and harvest/plant trays." icon_state = "plant_m" - extended_desc = "The circuit accepts a reference to a hydroponic tray or an item in an adjacent tile. \ - Mode input(0-harvest, 1-uproot weeds, 2-uproot plant, 3-plant seed) determines action. \ - Harvesting returns a list of the harvested plants." + extended_desc = "The circuit accepts a reference to a hydroponic tray or an item on an adjacent tile. \ + Mode input (0-harvest, 1-uproot weeds, 2-uproot plant, 3-plant seed) determines action. \ + Harvesting outputs a list of the harvested plants." w_class = WEIGHT_CLASS_TINY complexity = 10 inputs = list("tray" = IC_PINTYPE_REF,"mode" = IC_PINTYPE_NUMBER,"item" = IC_PINTYPE_REF) @@ -347,9 +347,9 @@ /obj/item/integrated_circuit/manipulation/grabber name = "grabber" - desc = "A circuit with it's own inventory for items, used to grab and store things." + desc = "A circuit with its own inventory for items. Used to grab and store things." icon_state = "grabber" - extended_desc = "The circuit accepts a reference to an object to be grabbed and can store up to 10 objects. Modes: 1 to grab, 0 to eject the first object, and -1 to eject all objects. If you throw something from a grabbers inventory with a thrower then the grabber will update its outputs accordingly." + extended_desc = "This circuit accepts a reference to an object to be grabbed, and can store up to 10 objects. Modes: 1 to grab, 0 to eject the first object, and -1 to eject all objects. If you throw something from a grabber's inventory with a thrower, the grabber will update its outputs accordingly." w_class = WEIGHT_CLASS_SMALL size = 3 cooldown_per_use = 5 @@ -413,7 +413,7 @@ name = "pulling claw" desc = "Circuit which can pull things.." icon_state = "pull_claw" - extended_desc = "The circuit accepts a reference to thing to be pulled. Modes: 0 for release. 1 for pull." + extended_desc = "This circuit accepts a reference to a thing to be pulled. Modes: 0 for release. 1 for pull." w_class = WEIGHT_CLASS_SMALL size = 3 cooldown_per_use = 5 @@ -467,9 +467,9 @@ /obj/item/integrated_circuit/manipulation/thrower name = "thrower" desc = "A compact launcher to throw things from inside or nearby tiles." - extended_desc = "The first and second inputs need to be numbers which correspond to coordinates to throw objects at relative to the machine itself. \ + extended_desc = "The first and second inputs need to be numbers which correspond to the coordinates to throw objects at relative to the machine itself. \ The 'fire' activator will cause the mechanism to attempt to throw objects at the coordinates, if possible. Note that the \ - projectile need to be inside the machine, or to be on an adjacent tile, and must be medium sized or smaller. The assembly \ + projectile needs to be inside the machine, or on an adjacent tile, and must be medium sized or smaller. The assembly \ must also be a gun if you wish to throw something while the assembly is in hand." complexity = 25 w_class = WEIGHT_CLASS_SMALL diff --git a/code/modules/integrated_electronics/subtypes/memory.dm b/code/modules/integrated_electronics/subtypes/memory.dm index e43401f2a8..fe74657532 100644 --- a/code/modules/integrated_electronics/subtypes/memory.dm +++ b/code/modules/integrated_electronics/subtypes/memory.dm @@ -56,14 +56,14 @@ /obj/item/integrated_circuit/memory/large name = "large memory circuit" - desc = "This big circuit can hold eight pieces of data." + desc = "This big circuit can store eight pieces of data." icon_state = "memory8" power_draw_per_use = 4 number_of_pins = 8 /obj/item/integrated_circuit/memory/huge name = "large memory stick" - desc = "This stick of memory can hold up up to sixteen pieces of data." + desc = "This stick of memory can store up up to sixteen pieces of data." icon_state = "memory16" w_class = WEIGHT_CLASS_SMALL spawn_flags = IC_SPAWN_RESEARCH diff --git a/code/modules/integrated_electronics/subtypes/output.dm b/code/modules/integrated_electronics/subtypes/output.dm index 6f7fd6eef5..2d820b016e 100644 --- a/code/modules/integrated_electronics/subtypes/output.dm +++ b/code/modules/integrated_electronics/subtypes/output.dm @@ -92,7 +92,7 @@ /obj/item/integrated_circuit/output/light/advanced name = "advanced light" - desc = "A light that takes a hexadecimal color value and a brightness value, and can be toggled on/off with a pulse." + desc = "A light that takes a hexadecimal color value and a brightness value, and can be toggled on/off by pulsing it." icon_state = "light_adv" complexity = 8 inputs = list( diff --git a/code/modules/integrated_electronics/subtypes/power.dm b/code/modules/integrated_electronics/subtypes/power.dm index 018cd71006..e760b21f72 100644 --- a/code/modules/integrated_electronics/subtypes/power.dm +++ b/code/modules/integrated_electronics/subtypes/power.dm @@ -28,8 +28,8 @@ extended_desc = "This circuit transmits 20 kJ of electricity every time the activator pin is pulsed. The input pin must be \ a reference to a machine to send electricity to. This can be a battery, or anything containing a battery. The machine can exist \ inside the assembly, or adjacent to it. The power is sourced from the assembly's power cell. If the target is outside of the assembly, \ - some power is lost due to ineffiency.Warning!Don't stack more than 1 power transmittors.it becomes less efficient for every other \ - transmission circuit in its own assembly and other nearby ones. " + some power is lost due to ineffiency. Warning! Don't stack more than 1 power transmitter, as it becomes less efficient for every other \ + transmission circuit in its own assembly and other nearby ones." w_class = WEIGHT_CLASS_BULKY complexity = 32 power_draw_per_use = 2000 diff --git a/code/modules/integrated_electronics/subtypes/reagents.dm b/code/modules/integrated_electronics/subtypes/reagents.dm index 9f57dd6f43..73d162ff3a 100644 --- a/code/modules/integrated_electronics/subtypes/reagents.dm +++ b/code/modules/integrated_electronics/subtypes/reagents.dm @@ -21,7 +21,7 @@ desc = "Unlike most electronics, creating smoke is completely intentional." icon_state = "smoke" extended_desc = "This smoke generator creates clouds of smoke on command. It can also hold liquids inside, which will go \ - into the smoke clouds when activated. The reagents are consumed when smoke is made." + into the smoke clouds when activated. The reagents are consumed when the smoke is made." ext_cooldown = 1 container_type = OPENCONTAINER volume = 100 @@ -99,10 +99,10 @@ /obj/item/integrated_circuit/reagent/injector name = "integrated hypo-injector" - desc = "This scary looking thing is able to pump liquids into whatever it's pointed at." + desc = "This scary looking thing is able to pump liquids into, or suck liquids out of, whatever it's pointed at." icon_state = "injector" - extended_desc = "This autoinjector can push reagents into another container or someone else outside of the machine. The target \ - must be adjacent to the machine, and if it is a person, they cannot be wearing thick clothing. Negative given amount makes injector suck out reagents." + extended_desc = "This autoinjector can push up to 30 units of reagents into another container or someone else outside of the machine. The target \ + must be adjacent to the machine, and if it is a person, they cannot be wearing thick clothing. Negative given amounts makes the injector suck out reagents instead." container_type = OPENCONTAINER volume = 30 @@ -252,7 +252,7 @@ icon_state = "reagent_pump" extended_desc = "This is a pump which will move liquids from the source ref to the target ref. The third pin determines \ how much liquid is moved per pulse, between 0 and 50. The pump can move reagents to any open container inside the machine, or \ - outside the machine if it is next to the machine." + outside the machine if it is adjacent to the machine." complexity = 8 inputs = list("source" = IC_PINTYPE_REF, "target" = IC_PINTYPE_REF, "injection amount" = IC_PINTYPE_NUMBER) @@ -346,7 +346,7 @@ /obj/item/integrated_circuit/reagent/storage/cryo name = "cryo reagent storage" - desc = "Stores liquid inside the device away from electrical components. It can store up to 60u. This will also suppress reactions." + desc = "Stores liquid inside the device away from electrical components. It can store up to 60u. This will also prevent reactions." icon_state = "reagent_storage_cryo" extended_desc = "This is effectively an internal cryo beaker." @@ -359,7 +359,7 @@ /obj/item/integrated_circuit/reagent/storage/grinder name = "reagent grinder" - desc = "This is reagent grinder. It accepts a ref to something and refines it into reagents. It can store up to 100u." + desc = "This is a reagent grinder. It accepts a ref to something, and refines it into reagents. It can store up to 100u." icon_state = "blender" extended_desc = "" inputs = list( @@ -406,7 +406,7 @@ obj/item/integrated_circuit/reagent/storage/juicer name = "reagent juicer" - desc = "This is reagent juicer. It accepts a ref to something and refines it into reagents. It can store up to 100u." + desc = "This is a reagent juicer. It accepts a ref to something and refines it into reagents. It can store up to 100u." icon_state = "blender" extended_desc = "" inputs = list( @@ -454,7 +454,7 @@ obj/item/integrated_circuit/reagent/storage/juicer name = "reagent scanner" desc = "Stores liquid inside the device away from electrical components. It can store up to 60u. On pulse this beaker will send list of contained reagents." icon_state = "reagent_scan" - extended_desc = "Mostly useful for reagent filter." + extended_desc = "Mostly useful for filtering reagents." complexity = 8 outputs = list( @@ -482,12 +482,12 @@ obj/item/integrated_circuit/reagent/storage/juicer /obj/item/integrated_circuit/reagent/filter name = "reagent filter" - desc = "Filtering liquids by list of desired or unwanted reagents." + desc = "Filters liquids by list of desired or unwanted reagents." icon_state = "reagent_filter" - extended_desc = "This is a filter which will move liquids from the source to the target. \ - It will move all reagents, except those in the unwanted list, given the fourth pin if amount value is positive, \ - or it will move only desired reagents if amount is negative. The third pin determines \ - how much reagent is moved per pulse, between 0 and 50. Amount is given for each separate reagent." + extended_desc = "This is a filter which will move liquids from the source to its target. \ + If the amount in the fourth pin is positive, it will move all reagents except those in the unwanted list. \ + If the amount in the fourth pin is negative, it will only move the reagents in the wanted list. \ + The third pin determines how many reagents are moved per pulse, between 0 and 50. Amount is given for each separate reagent." complexity = 8 inputs = list( diff --git a/code/modules/integrated_electronics/subtypes/smart.dm b/code/modules/integrated_electronics/subtypes/smart.dm index e0775f1a23..4445c1e1f3 100644 --- a/code/modules/integrated_electronics/subtypes/smart.dm +++ b/code/modules/integrated_electronics/subtypes/smart.dm @@ -37,10 +37,11 @@ activate_pin(2) /obj/item/integrated_circuit/smart/coord_basic_pathfinder - name = "coordinte pathfinder" + name = "coordinate pathfinder" desc = "This complex circuit is able to determine what direction a given target is." - extended_desc = "This circuit uses absolute coordintes to determine where the target is. If the machine \ - cannot see the target, it will not be able to calculate the correct direction.This circuit is working only in assembly." + extended_desc = "This circuit uses absolute coordinates to determine where the target is. If the machine \ + cannot see the target, it will not be able to calculate the correct direction. \ + This circuit will only work while inside an assembly." icon_state = "numberpad" complexity = 5 inputs = list("X" = IC_PINTYPE_NUMBER,"Y" = IC_PINTYPE_NUMBER,"ignore obstacles" = IC_PINTYPE_BOOLEAN) @@ -74,8 +75,8 @@ /obj/item/integrated_circuit/smart/advanced_pathfinder name = "advanced pathfinder" desc = "This circuit uses a complex processor for long-range pathfinding." - extended_desc = "This circuit uses absolute coordinates for target. A path will be generated taking obstacle input into account, \ - pathing around any instances of said input. The passkey provided from a card reader is used to create a valid path through doorways." + extended_desc = "This circuit uses absolute coordinates to find its target. A path will be generated to the target, taking obstacles into account, \ + and pathing around any instances of said input. The passkey provided from a card reader is used to calculate a valid path through airlocks." icon_state = "numberpad" complexity = 40 cooldown_per_use = 50 @@ -117,4 +118,4 @@ set_pin_data(IC_OUTPUT, 1, Xn) set_pin_data(IC_OUTPUT, 2, Yn) push_data() - activate_pin(2) \ No newline at end of file + activate_pin(2) diff --git a/code/modules/integrated_electronics/subtypes/time.dm b/code/modules/integrated_electronics/subtypes/time.dm index 26bd1fc1d6..f72f5dbd74 100644 --- a/code/modules/integrated_electronics/subtypes/time.dm +++ b/code/modules/integrated_electronics/subtypes/time.dm @@ -53,8 +53,10 @@ /obj/item/integrated_circuit/time/delay/custom name = "custom delay circuit" - desc = "This sends a pulse signal out after a delay, critical for ensuring proper control flow in a complex machine. \ - This circuit's delay can be customized, between 1/10th of a second to one hour. The delay is updated upon receiving a pulse." + desc = "This sends a pulse signal out after a delay defined in tenths of a second, critical for ensuring proper control \ + flow in a complex machine. This circuit's delay can be customized, between 1/10th of a second to one hour. \ + The delay is updated upon receiving a pulse." + extended_desc = "The delay is defined in tenths of a second. For instance, 4 will be a delay of 0.4 seconds, or 15 for 1.5 seconds." icon_state = "delay" inputs = list("delay time" = IC_PINTYPE_NUMBER) spawn_flags = IC_SPAWN_RESEARCH @@ -104,7 +106,9 @@ /obj/item/integrated_circuit/time/ticker/custom name = "custom ticker" - desc = "This advanced circuit sends an automatic pulse every given interval." + desc = "This advanced circuit sends an automatic pulse every given interval, defined in tenths of a second." + extended_desc ="This advanced circuit sends an automatic pulse every given interval, defined in tenths of a second. \ + For example, setting the time pin to 4 will send a pulse every 0.4 seconds, or 15 for every 1.5 seconds." icon_state = "tick-f" complexity = 8 delay = 2 SECONDS @@ -115,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 ..() From aa449b309c33c5d430b8df727198f3e1310ee2dd Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 19 May 2018 17:18:08 -0500 Subject: [PATCH 339/415] Automatic changelog generation for PR #6804 [ci skip] --- html/changelogs/AutoChangeLog-pr-6804.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6804.yml diff --git a/html/changelogs/AutoChangeLog-pr-6804.yml b/html/changelogs/AutoChangeLog-pr-6804.yml new file mode 100644 index 0000000000..39af344dd6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6804.yml @@ -0,0 +1,5 @@ +author: "iksyp" +delete-after: True +changes: + - rscadd: "stacking machines and their consoles no longer dissapear into the shadow realm when broken" + - rscadd: "you can link the stacking machine and its console by using a multitool" From 12e1ab08554fc34bd6342115455b65b78e9b62fb Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 20 May 2018 00:44:47 -0500 Subject: [PATCH 340/415] Automatic changelog generation for PR #6805 [ci skip] --- html/changelogs/AutoChangeLog-pr-6805.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6805.yml diff --git a/html/changelogs/AutoChangeLog-pr-6805.yml b/html/changelogs/AutoChangeLog-pr-6805.yml new file mode 100644 index 0000000000..33ee07e55f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6805.yml @@ -0,0 +1,5 @@ +author: "Alexch2" +delete-after: True +changes: + - spellcheck: "Fixes tons of typos related to integrated circuits." + - tweak: "Re-writes the descriptions of a few parts of integrated circuits." From 19b8053159c0dc76129707be9e58e49bb1668a94 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sun, 20 May 2018 02:33:33 -0500 Subject: [PATCH 341/415] Update soulstone.dm --- code/modules/antagonists/wizard/equipment/soulstone.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/modules/antagonists/wizard/equipment/soulstone.dm b/code/modules/antagonists/wizard/equipment/soulstone.dm index 11b0c3f29c..fa722870a0 100644 --- a/code/modules/antagonists/wizard/equipment/soulstone.dm +++ b/code/modules/antagonists/wizard/equipment/soulstone.dm @@ -222,11 +222,7 @@ if(newstruct.mind && ((stoner && iscultist(stoner)) || cultoverride) && SSticker && SSticker.mode) SSticker.mode.add_cultist(newstruct.mind, 0) if(iscultist(stoner) || cultoverride) -<<<<<<< HEAD - to_chat(newstruct, "You are still bound to serve the cult[stoner ? " and [stoner]":""], follow their orders and help them complete their goals at all costs.") -======= to_chat(newstruct, "You are still bound to serve the cult[stoner ? " and [stoner]":""], follow [stoner ? stoner.p_their() : "their"] orders and help [stoner ? stoner.p_them() : "them"] complete [stoner ? stoner.p_their() : "their"] goals at all costs.") ->>>>>>> 8faa41a... Fixes soulstone runtime (#37883) else if(stoner) to_chat(newstruct, "You are still bound to serve your creator, [stoner], follow their orders and help them complete their goals at all costs.") newstruct.clear_alert("bloodsense") From a0b6b4e7d86a54f48e3f58b0765fb03a21b371a9 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sun, 20 May 2018 04:30:25 -0500 Subject: [PATCH 342/415] Update _trait.dm --- code/datums/traits/_trait.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/datums/traits/_trait.dm b/code/datums/traits/_trait.dm index 0420cd4317..58fe8e34d0 100644 --- a/code/datums/traits/_trait.dm +++ b/code/datums/traits/_trait.dm @@ -130,3 +130,5 @@ Use this as a guideline //If you don't need any special effects like spawning glasses, then you don't need an add() */ + + From 49bf67ed1df55e7cb195d8fcbd70c27a46cf578c Mon Sep 17 00:00:00 2001 From: ShizCalev Date: Sat, 19 May 2018 22:50:05 -0400 Subject: [PATCH 343/415] Updates BYOND links to use HTTPS (#37918) * Updates BYOND links to use HTTPS * revert * if -> If --- code/__DEFINES/misc.dm | 2 +- code/__HELPERS/text.dm | 3 +-- code/_compile_options.dm | 2 +- code/_onclick/hud/plane_master.dm | 2 +- code/game/gamemodes/clock_cult/clock_cult.dm | 2 +- code/modules/antagonists/revenant/revenant.dm | 2 +- code/modules/client/client_procs.dm | 12 ++++++------ code/modules/keybindings/readme.md | 2 +- code/modules/mob/mob.dm | 2 +- 9 files changed, 14 insertions(+), 15 deletions(-) diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index d0f8460053..391d55fe59 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -378,7 +378,7 @@ GLOBAL_LIST_INIT(ghost_others_options, list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE #define BEAT_SLOW 2 #define BEAT_NONE 0 -//http://www.byond.com/docs/ref/info.html#/atom/var/mouse_opacity +//https://secure.byond.com/docs/ref/info.html#/atom/var/mouse_opacity #define MOUSE_OPACITY_TRANSPARENT 0 #define MOUSE_OPACITY_ICON 1 #define MOUSE_OPACITY_OPAQUE 2 diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm index a840d6144a..2db7b8bc78 100644 --- a/code/__HELPERS/text.dm +++ b/code/__HELPERS/text.dm @@ -698,7 +698,7 @@ GLOBAL_LIST_INIT(binary, list("0","1")) var/macro = lowertext(copytext(string, next_backslash + 1, next_space)) var/rest = next_backslash > leng ? "" : copytext(string, next_space + 1) - //See http://www.byond.com/docs/ref/info.html#/DM/text/macros + //See https://secure.byond.com/docs/ref/info.html#/DM/text/macros switch(macro) //prefixes/agnostic if("the") @@ -766,4 +766,3 @@ GLOBAL_LIST_INIT(binary, list("0","1")) return "twelfth" else return "[number]\th" - \ No newline at end of file diff --git a/code/_compile_options.dm b/code/_compile_options.dm index 8e2c03238d..67bbe24e38 100644 --- a/code/_compile_options.dm +++ b/code/_compile_options.dm @@ -30,7 +30,7 @@ #define MIN_COMPILER_VERSION 512 #if DM_VERSION < MIN_COMPILER_VERSION //Don't forget to update this part -#error Your version of BYOND is too out-of-date to compile this project. Go to byond.com/download and update. +#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 diff --git a/code/_onclick/hud/plane_master.dm b/code/_onclick/hud/plane_master.dm index 6b9a02c009..84add465c6 100644 --- a/code/_onclick/hud/plane_master.dm +++ b/code/_onclick/hud/plane_master.dm @@ -12,7 +12,7 @@ /obj/screen/plane_master/proc/Hide(override) alpha = override || hide_alpha -//Why do plane masters need a backdrop sometimes? Read http://www.byond.com/forum/?post=2141928 +//Why do plane masters need a backdrop sometimes? Read https://secure.byond.com/forum/?post=2141928 //Trust me, you need one. Period. If you don't think you do, you're doing something extremely wrong. /obj/screen/plane_master/proc/backdrop(mob/mymob) diff --git a/code/game/gamemodes/clock_cult/clock_cult.dm b/code/game/gamemodes/clock_cult/clock_cult.dm index 03de28e0ff..457bab6c3c 100644 --- a/code/game/gamemodes/clock_cult/clock_cult.dm +++ b/code/game/gamemodes/clock_cult/clock_cult.dm @@ -211,7 +211,7 @@ Credit where due: to_chat(L, "There is a paper in your backpack! It'll tell you if anything's changed, as well as what to expect.") to_chat(L, "[slot] is a clockwork slab, a multipurpose tool used to construct machines and invoke ancient words of power. If this is your first time \ as a servant, you can find a concise tutorial in the Recollection category of its interface.") - to_chat(L, "If you want more information, you can find a wiki link here! https://tgstation13.org/wiki/Clockwork_Cult") + to_chat(L, "If you want more information, you can read the wiki page to learn more.") return TRUE return FALSE diff --git a/code/modules/antagonists/revenant/revenant.dm b/code/modules/antagonists/revenant/revenant.dm index 34d30603d6..03150c0254 100644 --- a/code/modules/antagonists/revenant/revenant.dm +++ b/code/modules/antagonists/revenant/revenant.dm @@ -90,7 +90,7 @@ to_chat(src, "You are invincible and invisible to everyone but other ghosts. Most abilities will reveal you, rendering you vulnerable.") to_chat(src, "To function, you are to drain the life essence from humans. This essence is a resource, as well as your health, and will power all of your abilities.") to_chat(src, "You do not remember anything of your past lives, nor will you remember anything about this one after your death.") - to_chat(src, "Be sure to read the wiki page at https://tgstation13.org/wiki/Revenant to learn more.") + to_chat(src, "Be sure to read the wiki page to learn more.") if(!generated_objectives_and_spells) generated_objectives_and_spells = TRUE mind.assigned_role = ROLE_REVENANT diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index cefaa9c745..47cc5e0d25 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -124,7 +124,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( /client/proc/is_content_unlocked() if(!prefs.unlock_content) - to_chat(src, "Become a BYOND member to access member-perks and features, as well as support the engine that makes this game possible. Only 10 bucks for 3 months! Click Here to find out more.") + to_chat(src, "Become a BYOND member to access member-perks and features, as well as support the engine that makes this game possible. Only 10 bucks for 3 months! Click Here to find out more.") return 0 return 1 @@ -267,7 +267,7 @@ GLOBAL_LIST_EMPTY(external_rsc_urls) log_access("Failed login: [key] - blacklisted byond version") to_chat(src, "Your version of byond is blacklisted.") to_chat(src, "Byond build [byond_build] ([byond_version].[byond_build]) has been blacklisted for the following reason: [GLOB.blacklisted_builds[num2text(byond_build)]].") - to_chat(src, "Please download a new version of byond. if [byond_build] is the latest, you can go to http://www.byond.com/download/build/ to download other versions.") + to_chat(src, "Please download a new version of byond. If [byond_build] is the latest, you can go to BYOND's website to download other versions.") if(connecting_admin) to_chat(src, "As an admin, you are being allowed to continue using this version, but please consider changing byond versions") else @@ -290,11 +290,11 @@ GLOBAL_LIST_EMPTY(external_rsc_urls) var/cev = CONFIG_GET(number/client_error_version) var/cwv = CONFIG_GET(number/client_warn_version) if (byond_version < cev) //Out of date client. - to_chat(src, "Your version of byond is too old:") + to_chat(src, "Your version of BYOND is too old:") to_chat(src, CONFIG_GET(string/client_error_message)) to_chat(src, "Your version: [byond_version]") to_chat(src, "Required version: [cev] or later") - to_chat(src, "Visit http://www.byond.com/download/ to get the latest version of byond.") + to_chat(src, "Visit BYOND's website to get the latest version of BYOND.") if (connecting_admin) to_chat(src, "Because you are an admin, you are being allowed to walk past this limitation, But it is still STRONGLY suggested you upgrade") else @@ -306,14 +306,14 @@ GLOBAL_LIST_EMPTY(external_rsc_urls) msg += CONFIG_GET(string/client_warn_message) + "

    " msg += "Your version: [byond_version]
    " msg += "Required version to remove this message: [cwv] or later
    " - msg += "Visit http://www.byond.com/download/ to get the latest version of byond.
    " + msg += "Visit BYOND's website to get the latest version of BYOND.
    " src << browse(msg, "window=warning_popup") else to_chat(src, "Your version of byond may be getting out of date:") to_chat(src, CONFIG_GET(string/client_warn_message)) to_chat(src, "Your version: [byond_version]") to_chat(src, "Required version to remove this message: [cwv] or later") - to_chat(src, "Visit http://www.byond.com/download/ to get the latest version of byond.") + to_chat(src, "Visit BYOND's website to get the latest version of BYOND.") if (connection == "web" && !connecting_admin) if (!CONFIG_GET(flag/allow_webclient)) diff --git a/code/modules/keybindings/readme.md b/code/modules/keybindings/readme.md index 1170804436..6c0369d7c7 100644 --- a/code/modules/keybindings/readme.md +++ b/code/modules/keybindings/readme.md @@ -1,7 +1,7 @@ # In-code keypress handling system This whole system is heavily based off of forum_account's keyboard library. -Thanks to forum_account for saving the day, the library can be found [here](http://www.byond.com/developer/Forum_account/Keyboard)! +Thanks to forum_account for saving the day, the library can be found [here](https://secure.byond.com/developer/Forum_account/Keyboard)! .dmf macros have some very serious shortcomings. For example, they do not allow reusing parts of one macro in another, so giving cyborgs their own shortcuts to swap active module couldn't diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index c0d194c62b..3b44fed908 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -289,7 +289,7 @@ /mob/proc/show_inv(mob/user) return -//mob verbs are faster than object verbs. See http://www.byond.com/forum/?post=1326139&page=2#comment8198716 for why this isn't atom/verb/examine() +//mob verbs are faster than object verbs. See https://secure.byond.com/forum/?post=1326139&page=2#comment8198716 for why this isn't atom/verb/examine() /mob/verb/examinate(atom/A as mob|obj|turf in view()) //It used to be oview(12), but I can't really say why set name = "Examine" set category = "IC" From 6da19f8dd0d22d4654c9d5524730a59430a9ba58 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sun, 20 May 2018 16:35:51 -0500 Subject: [PATCH 345/415] Update emote.dm --- code/modules/mob/living/carbon/emote.dm | 102 ------------------------ 1 file changed, 102 deletions(-) diff --git a/code/modules/mob/living/carbon/emote.dm b/code/modules/mob/living/carbon/emote.dm index 3b12271d78..71286ef691 100644 --- a/code/modules/mob/living/carbon/emote.dm +++ b/code/modules/mob/living/carbon/emote.dm @@ -1,104 +1,3 @@ -<<<<<<< HEAD -/datum/emote/living/carbon - mob_type_allowed_typecache = list(/mob/living/carbon) - -/datum/emote/living/carbon/airguitar - key = "airguitar" - message = "is strumming the air and headbanging like a safari chimp." - restraint_check = TRUE - -/datum/emote/living/carbon/blink - key = "blink" - key_third_person = "blinks" - message = "blinks." - -/datum/emote/living/carbon/blink_r - key = "blink_r" - message = "blinks rapidly." - -/datum/emote/living/carbon/clap - key = "clap" - key_third_person = "claps" - message = "claps." - muzzle_ignore = TRUE - restraint_check = TRUE - emote_type = EMOTE_AUDIBLE - -/datum/emote/living/carbon/clap/run_emote(mob/living/user, params) - . = ..() - if (.) - if (ishuman(user)) - // Need hands to clap - if (!user.get_bodypart("l_arm") || !user.get_bodypart("r_arm")) - return - var/clap = pick('sound/misc/clap1.ogg', - 'sound/misc/clap2.ogg', - 'sound/misc/clap3.ogg', - 'sound/misc/clap4.ogg') - playsound(user, clap, 50, 1, -1) - -/datum/emote/living/carbon/gnarl - key = "gnarl" - key_third_person = "gnarls" - message = "gnarls and shows its teeth..." - mob_type_allowed_typecache = list(/mob/living/carbon/monkey, /mob/living/carbon/alien) - -/datum/emote/living/carbon/moan - key = "moan" - key_third_person = "moans" - message = "moans!" - message_mime = "appears to moan!" - emote_type = EMOTE_AUDIBLE - -/datum/emote/living/carbon/roll - key = "roll" - key_third_person = "rolls" - message = "rolls." - mob_type_allowed_typecache = list(/mob/living/carbon/monkey, /mob/living/carbon/alien) - restraint_check = TRUE - -/datum/emote/living/carbon/scratch - key = "scratch" - key_third_person = "scratches" - message = "scratches." - mob_type_allowed_typecache = list(/mob/living/carbon/monkey, /mob/living/carbon/alien) - restraint_check = TRUE - -/datum/emote/living/carbon/screech - key = "screech" - key_third_person = "screeches" - message = "screeches." - mob_type_allowed_typecache = list(/mob/living/carbon/monkey, /mob/living/carbon/alien) - -/datum/emote/living/carbon/sign - key = "sign" - key_third_person = "signs" - message_param = "signs the number %t." - mob_type_allowed_typecache = list(/mob/living/carbon/monkey, /mob/living/carbon/alien) - restraint_check = TRUE - -/datum/emote/living/carbon/sign/select_param(mob/user, params) - . = ..() - if(!isnum(text2num(params))) - return message - -/datum/emote/living/carbon/sign/signal - key = "signal" - key_third_person = "signals" - message_param = "raises %t fingers." - mob_type_allowed_typecache = list(/mob/living/carbon/human) - restraint_check = TRUE - -/datum/emote/living/carbon/tail - key = "tail" - message = "waves their tail." - mob_type_allowed_typecache = list(/mob/living/carbon/monkey, /mob/living/carbon/alien) - -/datum/emote/living/carbon/wink - key = "wink" - key_third_person = "winks" - message = "winks." -======= /datum/emote/living/carbon mob_type_allowed_typecache = list(/mob/living/carbon) @@ -198,4 +97,3 @@ key = "wink" key_third_person = "winks" message = "winks." ->>>>>>> 5e87230... Cleans up clap bodypart check From 2fb886065b49d852e8be77475a16795f81fe4375 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Sun, 20 May 2018 20:37:23 -0400 Subject: [PATCH 346/415] Merge pull request #37928 from nichlas0010/fixescommsconsoleupdates Comms consoles don't update while viewing messages --- code/game/machinery/computer/communications.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index 9f50afdfee..14d02e9752 100755 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -45,7 +45,7 @@ /obj/machinery/computer/communications/process() if(..()) - if(state != STATE_STATUSDISPLAY && state != STATE_CALLSHUTTLE && state != STATE_PURCHASE) + if(state != STATE_STATUSDISPLAY && state != STATE_CALLSHUTTLE && state != STATE_PURCHASE && state != STATE_VIEWMESSAGE) updateDialog() /obj/machinery/computer/communications/Topic(href, href_list) From 16caaa5f2bab932cf613dded8ed6b0a091718fdf Mon Sep 17 00:00:00 2001 From: oranges Date: Mon, 21 May 2018 14:02:06 +1200 Subject: [PATCH 348/415] Fix RPD icons not showing in IE8 --- tgui/src/interfaces/rpd.ract | 2 -- tgui/tgui.html | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/tgui/src/interfaces/rpd.ract b/tgui/src/interfaces/rpd.ract index 318b56533f..27e44483a7 100644 --- a/tgui/src/interfaces/rpd.ract +++ b/tgui/src/interfaces/rpd.ract @@ -1,5 +1,3 @@ - - {{#each data.preview_rows}} diff --git a/tgui/tgui.html b/tgui/tgui.html index adcb337b94..fcab1b21eb 100644 --- a/tgui/tgui.html +++ b/tgui/tgui.html @@ -16,6 +16,7 @@ }; + From 845938bc7396f4ed41329f3f094a4cbedd8eb346 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 20 May 2018 22:42:02 -0500 Subject: [PATCH 349/415] [MIRROR] disables the chameleon gun from use (#6813) * crashing the server with no survivors * disables the chameleon gun from use --- 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 05d6338235..60675d031f 100644 --- a/code/game/objects/items/storage/uplink_kits.dm +++ b/code/game/objects/items/storage/uplink_kits.dm @@ -280,7 +280,7 @@ new /obj/item/radio/headset/chameleon(src) new /obj/item/stamp/chameleon(src) new /obj/item/pda/chameleon(src) - new /obj/item/gun/energy/laser/chameleon(src) + //new /obj/item/gun/energy/laser/chameleon(src) //crashes the server right now. please fix it! //5*(2*4) = 5*8 = 45, 45 damage if you hit one person with all 5 stars. //Not counting the damage it will do while embedded (2*4 = 8, at 15% chance) From 6963275d45cba94069680d8075861c80c8151640 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 20 May 2018 22:42:05 -0500 Subject: [PATCH 350/415] Automatic changelog generation for PR #6813 [ci skip] --- html/changelogs/AutoChangeLog-pr-6813.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6813.yml diff --git a/html/changelogs/AutoChangeLog-pr-6813.yml b/html/changelogs/AutoChangeLog-pr-6813.yml new file mode 100644 index 0000000000..61c119273d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6813.yml @@ -0,0 +1,4 @@ +author: "armhulen" +delete-after: True +changes: + - rscdel: "chameleon guns are disabled for breaking the server" From 1e207a743072310dbfa79de85d4c280443004ee6 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sun, 20 May 2018 23:04:13 -0500 Subject: [PATCH 351/415] modular_citadel --- code/game/objects/items/storage/wallets.dm | 96 +---- code/game/objects/items/tools/weldingtool.dm | 375 ------------------ .../antagonists/highlander/highlander.dm | 8 - code/modules/clothing/ears/_ears.dm | 139 +++---- .../mob/living/carbon/monkey/inventory.dm | 58 +-- modular_citadel/code/__HELPERS/mobs.dm | 26 +- .../code/controllers/subsystem/job.dm | 6 +- .../items/devices/radio/shockcollar.dm | 2 +- .../code/modules/client/loadout/__donator.dm | 94 ++--- .../code/modules/client/loadout/_medical.dm | 2 +- .../code/modules/client/loadout/_security.dm | 24 +- .../code/modules/client/loadout/_service.dm | 4 +- .../code/modules/client/loadout/backpack.dm | 24 +- .../code/modules/client/loadout/glasses.dm | 18 +- .../code/modules/client/loadout/gloves.dm | 2 +- .../code/modules/client/loadout/hands.dm | 26 +- .../code/modules/client/loadout/head.dm | 28 +- .../code/modules/client/loadout/mask.dm | 6 +- .../code/modules/client/loadout/neck.dm | 34 +- .../code/modules/client/loadout/shoes.dm | 16 +- .../code/modules/client/loadout/suit.dm | 40 +- .../code/modules/client/loadout/uniform.dm | 86 ++-- .../code/modules/client/preferences.dm | 8 +- .../modules/custom_loadout/custom_items.dm | 2 +- .../modules/custom_loadout/load_to_mob.dm | 2 +- modular_citadel/cydonian_armor.dm | 4 +- 26 files changed, 282 insertions(+), 848 deletions(-) diff --git a/code/game/objects/items/storage/wallets.dm b/code/game/objects/items/storage/wallets.dm index 5bf8c4b640..a9f9d4ce06 100644 --- a/code/game/objects/items/storage/wallets.dm +++ b/code/game/objects/items/storage/wallets.dm @@ -1,11 +1,10 @@ -<<<<<<< HEAD /obj/item/storage/wallet name = "wallet" desc = "It can hold a few small and personal things." icon_state = "wallet" w_class = WEIGHT_CLASS_SMALL resistance_flags = FLAMMABLE - slot_flags = SLOT_ID + slot_flags = ITEM_SLOT_ID var/obj/item/card/id/front_id = null var/list/combined_access @@ -90,96 +89,3 @@ if(item3_type) new item3_type(src) update_icon() -======= -/obj/item/storage/wallet - name = "wallet" - desc = "It can hold a few small and personal things." - icon_state = "wallet" - w_class = WEIGHT_CLASS_SMALL - resistance_flags = FLAMMABLE - slot_flags = ITEM_SLOT_ID - - var/obj/item/card/id/front_id = null - var/list/combined_access - -/obj/item/storage/wallet/ComponentInitialize() - . = ..() - GET_COMPONENT(STR, /datum/component/storage) - STR.max_items = 4 - STR.can_hold = typecacheof(list( - /obj/item/stack/spacecash, - /obj/item/card, - /obj/item/clothing/mask/cigarette, - /obj/item/flashlight/pen, - /obj/item/seeds, - /obj/item/stack/medical, - /obj/item/toy/crayon, - /obj/item/coin, - /obj/item/dice, - /obj/item/disk, - /obj/item/implanter, - /obj/item/lighter, - /obj/item/lipstick, - /obj/item/match, - /obj/item/paper, - /obj/item/pen, - /obj/item/photo, - /obj/item/reagent_containers/dropper, - /obj/item/reagent_containers/syringe, - /obj/item/screwdriver, - /obj/item/stamp)) - -/obj/item/storage/wallet/Exited(atom/movable/AM) - . = ..() - refreshID() - -/obj/item/storage/wallet/proc/refreshID() - if(!(front_id in src)) - front_id = null - for(var/obj/item/card/id/I in contents) - LAZYINITLIST(combined_access) - LAZYCLEARLIST(combined_access) - if(!front_id) - front_id = I - combined_access |= I.access - update_icon() - -/obj/item/storage/wallet/Entered(atom/movable/AM) - . = ..() - refreshID() - -/obj/item/storage/wallet/update_icon() - var/new_state = "wallet" - if(front_id) - new_state = "wallet_[front_id.icon_state]" - if(new_state != icon_state) //avoid so many icon state changes. - icon_state = new_state - -/obj/item/storage/wallet/GetID() - return front_id - -/obj/item/storage/wallet/GetAccess() - if(LAZYLEN(combined_access)) - return combined_access - else - return ..() - -/obj/item/storage/wallet/random - icon_state = "random_wallet" - -/obj/item/storage/wallet/random/PopulateContents() - var/item1_type = pick( /obj/item/stack/spacecash/c10, /obj/item/stack/spacecash/c100, /obj/item/stack/spacecash/c1000, /obj/item/stack/spacecash/c20, /obj/item/stack/spacecash/c200, /obj/item/stack/spacecash/c50, /obj/item/stack/spacecash/c500) - var/item2_type - if(prob(50)) - item2_type = pick( /obj/item/stack/spacecash/c10, /obj/item/stack/spacecash/c100, /obj/item/stack/spacecash/c1000, /obj/item/stack/spacecash/c20, /obj/item/stack/spacecash/c200, /obj/item/stack/spacecash/c50, /obj/item/stack/spacecash/c500) - var/item3_type = pick( /obj/item/coin/silver, /obj/item/coin/silver, /obj/item/coin/gold, /obj/item/coin/iron, /obj/item/coin/iron, /obj/item/coin/iron ) - - spawn(2) - if(item1_type) - new item1_type(src) - if(item2_type) - new item2_type(src) - if(item3_type) - new item3_type(src) - update_icon() ->>>>>>> ecd0d8b... Merge pull request #37476 from AnturK/thisalwaysbuggedme diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index 133cbfaccb..229aa70ee0 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -1,377 +1,3 @@ -<<<<<<< HEAD -#define WELDER_FUEL_BURN_INTERVAL 13 -/obj/item/weldingtool - name = "welding tool" - desc = "A standard edition welder provided by Nanotrasen." - icon = 'icons/obj/tools.dmi' - icon_state = "welder" - item_state = "welder" - lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' - flags_1 = CONDUCT_1 - slot_flags = SLOT_BELT - force = 3 - throwforce = 5 - hitsound = "swing_hit" - usesound = list('sound/items/welder.ogg', 'sound/items/welder2.ogg') - var/acti_sound = 'sound/items/welderactivate.ogg' - var/deac_sound = 'sound/items/welderdeactivate.ogg' - throw_speed = 3 - throw_range = 5 - w_class = WEIGHT_CLASS_SMALL - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 30) - resistance_flags = FIRE_PROOF - - materials = list(MAT_METAL=70, MAT_GLASS=30) - var/welding = 0 //Whether or not the welding tool is off(0), on(1) or currently welding(2) - var/status = TRUE //Whether the welder is secured or unsecured (able to attach rods to it to make a flamethrower) - var/max_fuel = 20 //The max amount of fuel the welder can hold - var/change_icons = 1 - var/can_off_process = 0 - var/light_intensity = 2 //how powerful the emitted light is when used. - var/progress_flash_divisor = 10 - var/burned_fuel_for = 0 //when fuel was last removed - heat = 3800 - tool_behaviour = TOOL_WELDER - toolspeed = 1 - -/obj/item/weldingtool/Initialize() - . = ..() - create_reagents(max_fuel) - reagents.add_reagent("welding_fuel", max_fuel) - update_icon() - - -/obj/item/weldingtool/proc/update_torch() - if(welding) - add_overlay("[initial(icon_state)]-on") - item_state = "[initial(item_state)]1" - else - item_state = "[initial(item_state)]" - - -/obj/item/weldingtool/update_icon() - cut_overlays() - if(change_icons) - var/ratio = get_fuel() / max_fuel - ratio = CEILING(ratio*4, 1) * 25 - add_overlay("[initial(icon_state)][ratio]") - update_torch() - return - - -/obj/item/weldingtool/process() - switch(welding) - if(0) - force = 3 - damtype = "brute" - update_icon() - if(!can_off_process) - STOP_PROCESSING(SSobj, src) - return - //Welders left on now use up fuel, but lets not have them run out quite that fast - if(1) - force = 15 - damtype = "fire" - ++burned_fuel_for - if(burned_fuel_for >= WELDER_FUEL_BURN_INTERVAL) - use(1) - update_icon() - - //This is to start fires. process() is only called if the welder is on. - open_flame() - - -/obj/item/weldingtool/suicide_act(mob/user) - user.visible_message("[user] welds [user.p_their()] every orifice closed! It looks like [user.p_theyre()] trying to commit suicide!") - return (FIRELOSS) - - -/obj/item/weldingtool/attackby(obj/item/I, mob/user, params) - if(istype(I, /obj/item/screwdriver)) - flamethrower_screwdriver(I, user) - else if(istype(I, /obj/item/stack/rods)) - flamethrower_rods(I, user) - else - . = ..() - update_icon() - -/obj/item/weldingtool/proc/explode() - var/turf/T = get_turf(loc) - var/plasmaAmount = reagents.get_reagent_amount("plasma") - dyn_explosion(T, plasmaAmount/5)//20 plasma in a standard welder has a 4 power explosion. no breaches, but enough to kill/dismember holder - qdel(src) - -/obj/item/weldingtool/attack(mob/living/carbon/human/H, mob/user) - if(!istype(H)) - return ..() - - var/obj/item/bodypart/affecting = H.get_bodypart(check_zone(user.zone_selected)) - - if(affecting && affecting.status == BODYPART_ROBOTIC && user.a_intent != INTENT_HARM) - if(src.use_tool(H, user, 0, volume=50, amount=1)) - if(user == H) - user.visible_message("[user] starts to fix some of the dents on [H]'s [affecting.name].", - "You start fixing some of the dents on [H]'s [affecting.name].") - if(!do_mob(user, H, 50)) - return - item_heal_robotic(H, user, 15, 0) - else - return ..() - - -/obj/item/weldingtool/afterattack(atom/O, mob/user, proximity) - if(!proximity) - return - if(!status && O.is_refillable()) - reagents.trans_to(O, reagents.total_volume) - to_chat(user, "You empty [src]'s fuel tank into [O].") - update_icon() - if(isOn()) - use(1) - var/turf/location = get_turf(user) - location.hotspot_expose(700, 50, 1) - if(get_fuel() <= 0) - set_light(0) - - if(isliving(O)) - var/mob/living/L = O - if(L.IgniteMob()) - message_admins("[key_name_admin(user)] set [key_name_admin(L)] on fire") - log_game("[key_name(user)] set [key_name(L)] on fire") - - -/obj/item/weldingtool/attack_self(mob/user) - if(src.reagents.has_reagent("plasma")) - message_admins("[key_name_admin(user)] activated a rigged welder.") - explode() - switched_on(user) - if(welding) - set_light(light_intensity) - - update_icon() - - -// Returns the amount of fuel in the welder -/obj/item/weldingtool/proc/get_fuel() - return reagents.get_reagent_amount("welding_fuel") - - -// Uses fuel from the welding tool. -/obj/item/weldingtool/use(used = 0) - if(!isOn() || !check_fuel()) - return FALSE - - if(used) - burned_fuel_for = 0 - if(get_fuel() >= used) - reagents.remove_reagent("welding_fuel", used) - check_fuel() - return TRUE - else - return FALSE - - -//Turns off the welder if there is no more fuel (does this really need to be its own proc?) -/obj/item/weldingtool/proc/check_fuel(mob/user) - if(get_fuel() <= 0 && welding) - switched_on(user) - update_icon() - //mob icon update - if(ismob(loc)) - var/mob/M = loc - M.update_inv_hands(0) - - return 0 - return 1 - -//Switches the welder on -/obj/item/weldingtool/proc/switched_on(mob/user) - if(!status) - to_chat(user, "[src] can't be turned on while unsecured!") - return - welding = !welding - if(welding) - if(get_fuel() >= 1) - to_chat(user, "You switch [src] on.") - playsound(loc, acti_sound, 50, 1) - force = 15 - damtype = "fire" - hitsound = 'sound/items/welder.ogg' - update_icon() - START_PROCESSING(SSobj, src) - else - to_chat(user, "You need more fuel!") - switched_off(user) - else - to_chat(user, "You switch [src] off.") - playsound(loc, deac_sound, 50, 1) - switched_off(user) - -//Switches the welder off -/obj/item/weldingtool/proc/switched_off(mob/user) - welding = 0 - set_light(0) - - force = 3 - damtype = "brute" - hitsound = "swing_hit" - update_icon() - - -/obj/item/weldingtool/examine(mob/user) - ..() - to_chat(user, "It contains [get_fuel()] unit\s of fuel out of [max_fuel].") - -/obj/item/weldingtool/is_hot() - return welding * heat - -//Returns whether or not the welding tool is currently on. -/obj/item/weldingtool/proc/isOn() - return welding - -// When welding is about to start, run a normal tool_use_check, then flash a mob if it succeeds. -/obj/item/weldingtool/tool_start_check(mob/living/user, amount=0) - . = tool_use_check(user, amount) - if(. && user) - user.flash_act(light_intensity) - -// Flash the user during welding progress -/obj/item/weldingtool/tool_check_callback(mob/living/user, amount, datum/callback/extra_checks) - . = ..() - if(. && user) - if (progress_flash_divisor == 0) - user.flash_act(min(light_intensity,1)) - progress_flash_divisor = initial(progress_flash_divisor) - else - progress_flash_divisor-- - -// If welding tool ran out of fuel during a construction task, construction fails. -/obj/item/weldingtool/tool_use_check(mob/living/user, amount) - if(!isOn() || !check_fuel()) - to_chat(user, "[src] has to be on to complete this task!") - return FALSE - - if(get_fuel() >= amount) - return TRUE - else - to_chat(user, "You need more welding fuel to complete this task!") - return FALSE - - -/obj/item/weldingtool/proc/flamethrower_screwdriver(obj/item/I, mob/user) - if(welding) - to_chat(user, "Turn it off first!") - return - status = !status - if(status) - to_chat(user, "You resecure [src] and close the fuel tank.") - container_type = NONE - else - to_chat(user, "[src] can now be attached, modified, and refuelled.") - container_type = OPENCONTAINER - add_fingerprint(user) - -/obj/item/weldingtool/proc/flamethrower_rods(obj/item/I, mob/user) - if(!status) - var/obj/item/stack/rods/R = I - if (R.use(1)) - var/obj/item/flamethrower/F = new /obj/item/flamethrower(user.loc) - if(!remove_item_from_storage(F)) - user.transferItemToLoc(src, F, TRUE) - F.weldtool = src - add_fingerprint(user) - to_chat(user, "You add a rod to a welder, starting to build a flamethrower.") - user.put_in_hands(F) - else - to_chat(user, "You need one rod to start building a flamethrower!") - -/obj/item/weldingtool/ignition_effect(atom/A, mob/user) - if(use_tool(A, user, 0, amount=1)) - return "[user] casually lights [A] with [src], what a badass." - else - return "" - -/obj/item/weldingtool/largetank - name = "industrial welding tool" - desc = "A slightly larger welder with a larger tank." - icon_state = "indwelder" - max_fuel = 40 - materials = list(MAT_GLASS=60) - -/obj/item/weldingtool/largetank/cyborg - name = "integrated welding tool" - desc = "An advanced welder designed to be used in robotic systems." - toolspeed = 0.5 - -/obj/item/weldingtool/largetank/flamethrower_screwdriver() - return - - -/obj/item/weldingtool/mini - name = "emergency welding tool" - desc = "A miniature welder used during emergencies." - icon_state = "miniwelder" - max_fuel = 10 - w_class = WEIGHT_CLASS_TINY - materials = list(MAT_METAL=30, MAT_GLASS=10) - change_icons = 0 - -/obj/item/weldingtool/mini/flamethrower_screwdriver() - return - -/obj/item/weldingtool/abductor - name = "alien welding tool" - desc = "An alien welding tool. Whatever fuel it uses, it never runs out." - icon = 'icons/obj/abductor.dmi' - icon_state = "welder" - toolspeed = 0.1 - light_intensity = 0 - change_icons = 0 - -/obj/item/weldingtool/abductor/process() - if(get_fuel() <= max_fuel) - reagents.add_reagent("welding_fuel", 1) - ..() - -/obj/item/weldingtool/hugetank - name = "upgraded industrial welding tool" - desc = "An upgraded welder based of the industrial welder." - icon_state = "upindwelder" - item_state = "upindwelder" - max_fuel = 80 - materials = list(MAT_METAL=70, MAT_GLASS=120) - -/obj/item/weldingtool/experimental - name = "experimental welding tool" - desc = "An experimental welder capable of self-fuel generation and less harmful to the eyes." - icon_state = "exwelder" - item_state = "exwelder" - max_fuel = 40 - materials = list(MAT_METAL=70, MAT_GLASS=120) - var/last_gen = 0 - change_icons = 0 - can_off_process = 1 - light_intensity = 1 - toolspeed = 0.5 - var/nextrefueltick = 0 - -/obj/item/weldingtool/experimental/brass - name = "brass welding tool" - desc = "A brass welder that seems to constantly refuel itself. It is faintly warm to the touch." - resistance_flags = FIRE_PROOF | ACID_PROOF - icon_state = "brasswelder" - item_state = "brasswelder" - - -/obj/item/weldingtool/experimental/process() - ..() - if(get_fuel() < max_fuel && nextrefueltick < world.time) - nextrefueltick = world.time + 10 - reagents.add_reagent("welding_fuel", 1) - -#undef WELDER_FUEL_BURN_INTERVAL -======= #define WELDER_FUEL_BURN_INTERVAL 13 /obj/item/weldingtool name = "welding tool" @@ -744,4 +370,3 @@ reagents.add_reagent("welding_fuel", 1) #undef WELDER_FUEL_BURN_INTERVAL ->>>>>>> ecd0d8b... Merge pull request #37476 from AnturK/thisalwaysbuggedme diff --git a/code/modules/antagonists/highlander/highlander.dm b/code/modules/antagonists/highlander/highlander.dm index 6f44240578..c55f177b7a 100644 --- a/code/modules/antagonists/highlander/highlander.dm +++ b/code/modules/antagonists/highlander/highlander.dm @@ -46,19 +46,11 @@ qdel(I) for(var/obj/item/I in H.held_items) qdel(I) -<<<<<<< HEAD - H.equip_to_slot_or_del(new /obj/item/clothing/under/kilt/highlander(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/radio/headset/heads/captain(H), slot_ears) - H.equip_to_slot_or_del(new /obj/item/clothing/head/beret/highlander(H), slot_head) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/pinpointer/nuke(H), slot_l_store) -======= H.equip_to_slot_or_del(new /obj/item/clothing/under/kilt/highlander(H), SLOT_W_UNIFORM) H.equip_to_slot_or_del(new /obj/item/radio/headset/heads/captain(H), SLOT_EARS) H.equip_to_slot_or_del(new /obj/item/clothing/head/beret/highlander(H), SLOT_HEAD) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat(H), SLOT_SHOES) H.equip_to_slot_or_del(new /obj/item/pinpointer/nuke(H), SLOT_L_STORE) ->>>>>>> ecd0d8b... Merge pull request #37476 from AnturK/thisalwaysbuggedme for(var/obj/item/pinpointer/nuke/P in H) P.attack_self(H) var/obj/item/card/id/W = new(H) diff --git a/code/modules/clothing/ears/_ears.dm b/code/modules/clothing/ears/_ears.dm index cdd25cf436..3a1e246d04 100644 --- a/code/modules/clothing/ears/_ears.dm +++ b/code/modules/clothing/ears/_ears.dm @@ -1,95 +1,46 @@ -<<<<<<< HEAD - -//Ears: currently only used for headsets and earmuffs -/obj/item/clothing/ears - name = "ears" - w_class = WEIGHT_CLASS_TINY - throwforce = 0 - slot_flags = SLOT_EARS - resistance_flags = NONE - -/obj/item/clothing/ears/earmuffs - name = "earmuffs" - desc = "Protects your hearing from loud noises, and quiet ones as well." - icon_state = "earmuffs" - item_state = "earmuffs" - strip_delay = 15 - equip_delay_other = 25 - resistance_flags = FLAMMABLE - flags_2 = BANG_PROTECT_2|HEALS_EARS_2 - -/obj/item/clothing/ears/headphones - name = "headphones" - desc = "Unce unce unce unce. Boop!" - icon = 'icons/obj/clothing/accessories.dmi' - icon_state = "headphones" - item_state = "headphones" - slot_flags = SLOT_EARS | SLOT_HEAD | SLOT_NECK //Fluff item, put it whereever you want! - actions_types = list(/datum/action/item_action/toggle_headphones) - var/headphones_on = FALSE - -/obj/item/clothing/ears/headphones/Initialize() - . = ..() - update_icon() - -/obj/item/clothing/ears/headphones/update_icon() - icon_state = "[initial(icon_state)]_[headphones_on? "on" : "off"]" - item_state = "[initial(item_state)]_[headphones_on? "on" : "off"]" - -/obj/item/clothing/ears/headphones/proc/toggle(owner) - headphones_on = !headphones_on - update_icon() - var/mob/living/carbon/human/H = owner - if(istype(H)) - H.update_inv_ears() - H.update_inv_neck() - H.update_inv_head() - to_chat(owner, "You turn the music [headphones_on? "on. Untz Untz Untz!" : "off."]") -======= - //Ears: currently only used for headsets and earmuffs -/obj/item/clothing/ears - name = "ears" - w_class = WEIGHT_CLASS_TINY - throwforce = 0 - slot_flags = ITEM_SLOT_EARS - resistance_flags = NONE - -/obj/item/clothing/ears/earmuffs - name = "earmuffs" - desc = "Protects your hearing from loud noises, and quiet ones as well." - icon_state = "earmuffs" - item_state = "earmuffs" - strip_delay = 15 - equip_delay_other = 25 - resistance_flags = FLAMMABLE - flags_2 = BANG_PROTECT_2|HEALS_EARS_2 - -/obj/item/clothing/ears/headphones - name = "headphones" - desc = "Unce unce unce unce. Boop!" - icon = 'icons/obj/clothing/accessories.dmi' - icon_state = "headphones" - item_state = "headphones" - slot_flags = ITEM_SLOT_EARS | ITEM_SLOT_HEAD | ITEM_SLOT_NECK //Fluff item, put it whereever you want! - actions_types = list(/datum/action/item_action/toggle_headphones) - var/headphones_on = FALSE - -/obj/item/clothing/ears/headphones/Initialize() - . = ..() - update_icon() - -/obj/item/clothing/ears/headphones/update_icon() - icon_state = "[initial(icon_state)]_[headphones_on? "on" : "off"]" - item_state = "[initial(item_state)]_[headphones_on? "on" : "off"]" - -/obj/item/clothing/ears/headphones/proc/toggle(owner) - headphones_on = !headphones_on - update_icon() - var/mob/living/carbon/human/H = owner - if(istype(H)) - H.update_inv_ears() - H.update_inv_neck() - H.update_inv_head() - to_chat(owner, "You turn the music [headphones_on? "on. Untz Untz Untz!" : "off."]") ->>>>>>> ecd0d8b... Merge pull request #37476 from AnturK/thisalwaysbuggedme + /obj/item/clothing/ears + name = "ears" + w_class = WEIGHT_CLASS_TINY + throwforce = 0 + slot_flags = ITEM_SLOT_EARS + resistance_flags = NONE + + /obj/item/clothing/ears/earmuffs + name = "earmuffs" + desc = "Protects your hearing from loud noises, and quiet ones as well." + icon_state = "earmuffs" + item_state = "earmuffs" + strip_delay = 15 + equip_delay_other = 25 + resistance_flags = FLAMMABLE + flags_2 = BANG_PROTECT_2|HEALS_EARS_2 + + /obj/item/clothing/ears/headphones + name = "headphones" + desc = "Unce unce unce unce. Boop!" + icon = 'icons/obj/clothing/accessories.dmi' + icon_state = "headphones" + item_state = "headphones" + slot_flags = ITEM_SLOT_EARS | ITEM_SLOT_HEAD | ITEM_SLOT_NECK //Fluff item, put it whereever you want! + actions_types = list(/datum/action/item_action/toggle_headphones) + var/headphones_on = FALSE + + /obj/item/clothing/ears/headphones/Initialize() + . = ..() + update_icon() + + /obj/item/clothing/ears/headphones/update_icon() + icon_state = "[initial(icon_state)]_[headphones_on? "on" : "off"]" + item_state = "[initial(item_state)]_[headphones_on? "on" : "off"]" + + /obj/item/clothing/ears/headphones/proc/toggle(owner) + headphones_on = !headphones_on + update_icon() + var/mob/living/carbon/human/H = owner + if(istype(H)) + H.update_inv_ears() + H.update_inv_neck() + H.update_inv_head() + to_chat(owner, "You turn the music [headphones_on? "on. Untz Untz Untz!" : "off."]") + \ No newline at end of file diff --git a/code/modules/mob/living/carbon/monkey/inventory.dm b/code/modules/mob/living/carbon/monkey/inventory.dm index b2ed3e8c74..113d2a6e2f 100644 --- a/code/modules/mob/living/carbon/monkey/inventory.dm +++ b/code/modules/mob/living/carbon/monkey/inventory.dm @@ -1,71 +1,31 @@ -<<<<<<< HEAD /mob/living/carbon/monkey/can_equip(obj/item/I, slot, disable_warning = 0) switch(slot) - if(slot_hands) + if(SLOT_HANDS) if(get_empty_held_indexes()) return TRUE return FALSE - if(slot_wear_mask) + if(SLOT_WEAR_MASK) if(wear_mask) return FALSE - if( !(I.slot_flags & SLOT_MASK) ) + if( !(I.slot_flags & ITEM_SLOT_MASK) ) return FALSE return TRUE - if(slot_neck) + if(SLOT_NECK) if(wear_neck) return FALSE - if( !(I.slot_flags & SLOT_NECK) ) + if( !(I.slot_flags & ITEM_SLOT_NECK) ) return FALSE return TRUE - if(slot_head) + if(SLOT_HEAD) if(head) return FALSE - if( !(I.slot_flags & SLOT_HEAD) ) + if( !(I.slot_flags & ITEM_SLOT_HEAD) ) return FALSE return TRUE - if(slot_back) + if(SLOT_BACK) if(back) return FALSE - if( !(I.slot_flags & SLOT_BACK) ) + if( !(I.slot_flags & ITEM_SLOT_BACK) ) return FALSE return TRUE return FALSE //Unsupported slot - - - -======= -/mob/living/carbon/monkey/can_equip(obj/item/I, slot, disable_warning = 0) - switch(slot) - if(SLOT_HANDS) - if(get_empty_held_indexes()) - return TRUE - return FALSE - if(SLOT_WEAR_MASK) - if(wear_mask) - return FALSE - if( !(I.slot_flags & ITEM_SLOT_MASK) ) - return FALSE - return TRUE - if(SLOT_NECK) - if(wear_neck) - return FALSE - if( !(I.slot_flags & ITEM_SLOT_NECK) ) - return FALSE - return TRUE - if(SLOT_HEAD) - if(head) - return FALSE - if( !(I.slot_flags & ITEM_SLOT_HEAD) ) - return FALSE - return TRUE - if(SLOT_BACK) - if(back) - return FALSE - if( !(I.slot_flags & ITEM_SLOT_BACK) ) - return FALSE - return TRUE - return FALSE //Unsupported slot - - - ->>>>>>> ecd0d8b... Merge pull request #37476 from AnturK/thisalwaysbuggedme diff --git a/modular_citadel/code/__HELPERS/mobs.dm b/modular_citadel/code/__HELPERS/mobs.dm index a6fe446b5d..2666696564 100644 --- a/modular_citadel/code/__HELPERS/mobs.dm +++ b/modular_citadel/code/__HELPERS/mobs.dm @@ -1,28 +1,28 @@ /proc/slot_to_string(slot) switch(slot) - if(slot_back) + if(SLOT_BACK) return "Backpack" - if(slot_wear_mask) + if(SLOT_WEAR_MASK) return "Mask" - if(slot_hands) + if(SLOT_HANDS) return "Hands" - if(slot_belt) + if(SLOT_BELT) return "Belt" - if(slot_ears) + if(SLOT_EARS) return "Ears" - if(slot_glasses) + if(SLOT_GLASSES) return "Glasses" - if(slot_gloves) + if(SLOT_GLOVES) return "Gloves" - if(slot_neck) + if(SLOT_NECK) return "Neck" - if(slot_head) + if(SLOT_HEAD) return "Head" - if(slot_shoes) + if(SLOT_SHOES) return "Shoes" - if(slot_wear_suit) + if(SLOT_WEAR_SUIT) return "Suit" - if(slot_w_uniform) + if(SLOT_W_UNIFORM) return "Uniform" - if(slot_in_backpack) + if(SLOT_IN_BACKPACK) return "In backpack" diff --git a/modular_citadel/code/controllers/subsystem/job.dm b/modular_citadel/code/controllers/subsystem/job.dm index 846c17344c..749d7e1e72 100644 --- a/modular_citadel/code/controllers/subsystem/job.dm +++ b/modular_citadel/code/controllers/subsystem/job.dm @@ -15,15 +15,15 @@ permitted = FALSE if(G.ckeywhitelist && G.ckeywhitelist.len && !(the_mob.client.ckey in G.ckeywhitelist)) permitted = FALSE - if(!equipbackpackstuff && G.category == slot_in_backpack)//snowflake check since plopping stuff in the backpack doesnt work for pre-job equip loadout stuffs + if(!equipbackpackstuff && G.category == SLOT_IN_BACKPACK)//snowflake check since plopping stuff in the backpack doesnt work for pre-job equip loadout stuffs permitted = FALSE - if(equipbackpackstuff && G.category != slot_in_backpack)//ditto + if(equipbackpackstuff && G.category != SLOT_IN_BACKPACK)//ditto permitted = FALSE if(!permitted) continue var/obj/item/I = new G.path if(!M.equip_to_slot_if_possible(I, G.category, disable_warning = TRUE, bypass_equip_delay_self = TRUE)) // If the job's dresscode compliant, try to put it in its slot, first - if(!M.equip_to_slot_if_possible(I, slot_in_backpack, disable_warning = TRUE, bypass_equip_delay_self = TRUE)) // Otherwise, try to put it in the backpack + if(!M.equip_to_slot_if_possible(I, SLOT_IN_BACKPACK, disable_warning = TRUE, bypass_equip_delay_self = TRUE)) // Otherwise, try to put it in the backpack I.forceMove(get_turf(M)) // If everything fails, just put it on the floor under the mob. /datum/controller/subsystem/job/proc/FreeRole(rank) diff --git a/modular_citadel/code/game/objects/items/devices/radio/shockcollar.dm b/modular_citadel/code/game/objects/items/devices/radio/shockcollar.dm index 9917eb6e7b..a9a46ff08d 100644 --- a/modular_citadel/code/game/objects/items/devices/radio/shockcollar.dm +++ b/modular_citadel/code/game/objects/items/devices/radio/shockcollar.dm @@ -24,7 +24,7 @@ /obj/item/electropack/shockcollar/attack_hand(mob/user) if(loc == user) if(slot_flags == SLOT_NECK) - if(user.get_item_by_slot(slot_neck)) + if(user.get_item_by_slot(SLOT_NECK)) to_chat(user, "The collar is fastened tight! You'll need help taking this off!") return ..() diff --git a/modular_citadel/code/modules/client/loadout/__donator.dm b/modular_citadel/code/modules/client/loadout/__donator.dm index 62924c7305..d3910d5554 100644 --- a/modular_citadel/code/modules/client/loadout/__donator.dm +++ b/modular_citadel/code/modules/client/loadout/__donator.dm @@ -2,279 +2,279 @@ /datum/gear/pingcoderfailsafe name = "IF YOU SEE THIS, PING A CODER RIGHT NOW!" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/bikehorn/golden ckeywhitelist = list("This entry should never appear with this variable set.") //If it does, then that means somebody fucked up the whitelist system pretty hard /datum/gear/donortestingbikehorn name = "Donor item testing bikehorn" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/bikehorn geargroupID = "DONORTEST" /datum/gear/kevhorn name = "Airhorn" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/bikehorn/airhorn ckeywhitelist = list("kevinz000") /datum/gear/cebusoap name = "Cebutris' soap" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/custom/ceb_soap ckeywhitelist = list("cebutris") /datum/gear/kiaracloak name = "Kiara's cloak" - category = slot_neck + category = SLOT_NECK path = /obj/item/clothing/neck/cloak/inferno ckeywhitelist = list("inferno707") /datum/gear/kiaracollar name = "Kiara's collar" - category = slot_neck + category = SLOT_NECK path = /obj/item/clothing/neck/petcollar/inferno ckeywhitelist = list("inferno707") /datum/gear/kiaramedal name = "Insignia of Steele" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/clothing/accessory/medal/steele ckeywhitelist = list("inferno707") /datum/gear/sexymimemask name = "The hollow heart" - category = slot_wear_mask + category = SLOT_WEAR_MASK path = /obj/item/clothing/mask/sexymime ckeywhitelist = list("inferno707") /datum/gear/engravedzippo name = "Engraved zippo" - category = slot_hands + category = SLOT_HANDS path = /obj/item/lighter/gold ckeywhitelist = list("dirtyoldharry") /datum/gear/geisha name = "Geisha suit" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/geisha ckeywhitelist = list("atiefling") /datum/gear/specialscarf name = "Special scarf" - category = slot_neck + category = SLOT_NECK path = /obj/item/clothing/neck/scarf/zomb ckeywhitelist = list("zombierobin") /datum/gear/redmadcoat name = "The Mad's labcoat" - category = slot_wear_suit + category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/toggle/labcoat/mad/red ckeywhitelist = list("zombierobin") /datum/gear/santahat name = "Santa hat" - category = slot_head + category = SLOT_HEAD path = /obj/item/clothing/head/santa/fluff ckeywhitelist = list("illotafv") /datum/gear/reindeerhat name = "Reindeer hat" - category = slot_head + category = SLOT_HEAD path = /obj/item/clothing/head/hardhat/reindeer/fluff ckeywhitelist = list("illotafv") /datum/gear/treeplushie name = "Christmas tree plushie" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/toy/plush/tree ckeywhitelist = list("illotafv") /datum/gear/santaoutfit name = "Santa costume" - category = slot_wear_suit + category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/space/santa/fluff ckeywhitelist = list("illotafv") /datum/gear/treecloak name = "Christmas tree cloak" - category = slot_neck + category = SLOT_NECK path = /obj/item/clothing/neck/cloak/festive ckeywhitelist = list("illotafv") /datum/gear/carrotplush name = "Carrot plushie" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/toy/plush/carrot ckeywhitelist = list("improvedname") /datum/gear/carrotcloak name = "Carrot cloak" - category = slot_neck + category = SLOT_NECK path = /obj/item/clothing/neck/cloak/carrot ckeywhitelist = list("improvedname") /datum/gear/albortorosamask name = "Alborto Rosa mask" - category = slot_wear_mask + category = SLOT_WEAR_MASK path = /obj/item/clothing/mask/luchador/zigfie ckeywhitelist = list("zigfie") /datum/gear/mankini name = "Mankini" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/mankini ckeywhitelist = list("zigfie") /datum/gear/pinkshoes name = "Pink shoes" - category = slot_shoes + category = SLOT_SHOES path = /obj/item/clothing/shoes/sneakers/pink ckeywhitelist = list("zigfie") /datum/gear/reecesgreatcoat name = "Reece's Great Coat" - category = slot_wear_suit + category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/trenchcoat/green ckeywhitelist = list("geemiesif") /datum/gear/russianflask name = "Russian flask" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/reagent_containers/food/drinks/flask/russian cost = 2 ckeywhitelist = list("slomka") /datum/gear/stalkermask name = "S.T.A.L.K.E.R. mask" - category = slot_wear_mask + category = SLOT_WEAR_MASK path = /obj/item/clothing/mask/gas/stalker ckeywhitelist = list("slomka") /datum/gear/stripedcollar name = "Striped collar" - category = slot_neck + category = SLOT_NECK path = /obj/item/clothing/neck/petcollar/stripe ckeywhitelist = list("jademanique") /datum/gear/performersoutfit name = "Bluish performer's outfit" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/singery/custom ckeywhitelist = list("killer402402") /datum/gear/vermillion name = "Vermillion clothing" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/suit/vermillion ckeywhitelist = list("fractious") /datum/gear/AM4B name = "Foam Force AM4-B" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/gun/ballistic/automatic/AM4B ckeywhitelist = list("zeronetalpha") /datum/gear/carrotsatchel name = "Carrot Satchel" - category = slot_hands + category = SLOT_HANDS path = /obj/item/storage/backpack/satchel/carrot ckeywhitelist = list("improvedname") /datum/gear/naomisweater name = "worn black sweater" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/bb_sweater/black/naomi ckeywhitelist = list("technicalmagi") /datum/gear/naomicollar name = "worn pet collar" - category = slot_neck + category = SLOT_NECK path = /obj/item/clothing/neck/petcollar/naomi ckeywhitelist = list("technicalmagi") /datum/gear/gladiator name = "Gladiator Armor" - category = slot_wear_suit + category = SLOT_WEAR_SUIT path = /obj/item/clothing/under/gladiator ckeywhitelist = list("aroche") /datum/gear/bloodredtie name = "Blood Red Tie" - category = slot_neck + category = SLOT_NECK path = /obj/item/clothing/neck/tie/bloodred ckeywhitelist = list("kyutness") /datum/gear/puffydress name = "Puffy Dress" - category = slot_wear_suit + category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/puffydress ckeywhitelist = list("stallingratt") /datum/gear/labredblack name = "Black and Red Coat" - category = slot_wear_suit + category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/toggle/labcoat/labredblack ckeywhitelist = list("blakeryan", "durandalphor") /datum/gear/torisword name = "Rainbow Zweihander" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/twohanded/hypereutactic/toy/rainbow ckeywhitelist = list("annoymous35") /datum/gear/darksabre name = "Dark Sabre" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/toy/sword/darksabre ckeywhitelist = list("inferno707") datum/gear/darksabresheath name = "Dark Sabre Sheath" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/storage/belt/sabre/darksabre ckeywhitelist = list("inferno707") /datum/gear/toriball name = "Rainbow Tennis Ball" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/toy/tennis/rainbow ckeywhitelist = list("annoymous35") /datum/gear/izzyball name = "Katlin's Ball" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/toy/tennis/rainbow/izzy ckeywhitelist = list("izzyinbox") /datum/gear/cloak name = "Green Cloak" - category = slot_neck + category = SLOT_NECK path = /obj/item/clothing/neck/cloak/green ckeywhitelist = list("killer402402") /datum/gear/steelflask name = "Steel Flask" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/reagent_containers/food/drinks/flask/steel cost = 2 ckeywhitelist = list("johnnyvitrano") /datum/gear/paperhat name = "Paper Hat" - category = slot_head + category = SLOT_HEAD path = /obj/item/clothing/head/paperhat ckeywhitelist = list("kered2") /datum/gear/cloakce name = "Polychromic CE Cloak" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/clothing/neck/cloak/polychromic/polyce ckeywhitelist = list("worksbythesea", "blakeryan") - + /datum/gear/ssk name = "Stun Sword Kit" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/ssword_kit ckeywhitelist = list("phillip458") diff --git a/modular_citadel/code/modules/client/loadout/_medical.dm b/modular_citadel/code/modules/client/loadout/_medical.dm index e8c8ea453d..a0d0e3f2b2 100644 --- a/modular_citadel/code/modules/client/loadout/_medical.dm +++ b/modular_citadel/code/modules/client/loadout/_medical.dm @@ -1,5 +1,5 @@ /datum/gear/stethoscope name = "Stethoscope" - category = slot_neck + category = SLOT_NECK path = /obj/item/clothing/neck/stethoscope restricted_roles = list("Medical Doctor", "Chief Medical Officer") diff --git a/modular_citadel/code/modules/client/loadout/_security.dm b/modular_citadel/code/modules/client/loadout/_security.dm index 304e99f311..28145d07b9 100644 --- a/modular_citadel/code/modules/client/loadout/_security.dm +++ b/modular_citadel/code/modules/client/loadout/_security.dm @@ -1,71 +1,71 @@ /datum/gear/navyblueuniformhos name = "Head of Security navyblue uniform" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/rank/head_of_security/navyblue restricted_roles = list("Head of Security") /datum/gear/navybluehosberet name = "Head of security's Naviblue beret" - category = slot_head + category = SLOT_HEAD path = /obj/item/clothing/head/beret/sec/navyhos restricted_roles = list("Head of Security") /datum/gear/navybluejackethos name = "head of security's navyblue jacket" - category = slot_wear_suit + category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/security/hos restricted_roles = list("Head of Security") /datum/gear/navybluejacketofficer name = "security officer's navyblue jacket" - category = slot_wear_suit + category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/security/officer restricted_roles = list("Security Officer") /datum/gear/navyblueofficerberet name = "Security officer's Navyblue beret" - category = slot_head + category = SLOT_HEAD path = /obj/item/clothing/head/beret/sec/navyofficer restricted_roles = list("Security Officer") /datum/gear/navyblueuniformofficer name = "security officer navyblue uniform" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/rank/security/navyblue restricted_roles = list("Security officer") /datum/gear/navybluejacketwarden name = "warden navyblue jacket" - category = slot_wear_suit + category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/security/warden restricted_roles = list("Warden") /datum/gear/navybluewardenberet name = "Warden's navyblue beret" - category = slot_head + category = SLOT_HEAD path = /obj/item/clothing/head/beret/sec/navywarden restricted_roles = list("Warden") /datum/gear/navyblueuniformwarden name = "Warden navyblue uniform" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/rank/warden/navyblue restricted_roles = list("Warden") /datum/gear/secskirt name = "Security skirt" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/rank/security/skirt restricted_roles = list("Security Officer", "Warden", "Head of Security") /datum/gear/hosskirt name = "Head of security's skirt" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/rank/head_of_security/skirt restricted_roles = list("Head of Security") /datum/gear/sechud name = "Security Hud" - category = slot_glasses + category = SLOT_GLASSES path = /obj/item/clothing/glasses/hud/security restricted_roles = list("Security Officer", "Warden", "Head of Security") \ No newline at end of file diff --git a/modular_citadel/code/modules/client/loadout/_service.dm b/modular_citadel/code/modules/client/loadout/_service.dm index 56345e9185..9b508bb93f 100644 --- a/modular_citadel/code/modules/client/loadout/_service.dm +++ b/modular_citadel/code/modules/client/loadout/_service.dm @@ -1,13 +1,13 @@ /datum/gear/plushvar name = "Ratvar Plushie" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/toy/plush/plushvar cost = 5 restricted_roles = list("Chaplain") /datum/gear/narplush name = "Narsie Plushie" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/toy/plush/narplush cost = 5 restricted_roles = list("Chaplain") \ No newline at end of file diff --git a/modular_citadel/code/modules/client/loadout/backpack.dm b/modular_citadel/code/modules/client/loadout/backpack.dm index 3c8d74cdac..b3a59425a9 100644 --- a/modular_citadel/code/modules/client/loadout/backpack.dm +++ b/modular_citadel/code/modules/client/loadout/backpack.dm @@ -1,59 +1,59 @@ /datum/gear/plushcarp name = "Space carp plushie" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/toy/plush/carpplushie /datum/gear/plushliz name = "Lizard plushie" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/toy/plush/lizardplushie /datum/gear/plushsnek name = "Snake plushie" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/toy/plush/snakeplushie /datum/gear/plushslime name = "Slime plushie" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/toy/plush/slimeplushie /datum/gear/tennis name = "Classic Tennis Ball" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/toy/tennis /datum/gear/tennisred name = "Red Tennis Ball" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/toy/tennis/red /datum/gear/tennisyellow name = "Yellow Tennis Ball" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/toy/tennis/yellow /datum/gear/tennisgreen name = "Green Tennis Ball" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/toy/tennis/green /datum/gear/tenniscyan name = "Cyan Tennis Ball" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/toy/tennis/cyan /datum/gear/tennisblue name = "Blue Tennis Ball" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/toy/tennis/blue /datum/gear/tennispurple name = "Purple Tennis Ball" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/toy/tennis/purple /datum/gear/dildo name = "Customizable dildo" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/dildo/custom \ No newline at end of file diff --git a/modular_citadel/code/modules/client/loadout/glasses.dm b/modular_citadel/code/modules/client/loadout/glasses.dm index b1e6068a9e..9e7b68bf0d 100644 --- a/modular_citadel/code/modules/client/loadout/glasses.dm +++ b/modular_citadel/code/modules/client/loadout/glasses.dm @@ -1,44 +1,44 @@ /datum/gear/cold name = "Cold goggles" - category = slot_glasses + category = SLOT_GLASSES path = /obj/item/clothing/glasses/cold /datum/gear/eyepatch name = "Eyepatch" - category = slot_glasses + category = SLOT_GLASSES path = /obj/item/clothing/glasses/eyepatch /datum/gear/heat name = "Heat goggles" - category = slot_glasses + category = SLOT_GLASSES path = /obj/item/clothing/glasses/heat /datum/gear/hipster name = "Hipster glasses" - category = slot_glasses + category = SLOT_GLASSES path = /obj/item/clothing/glasses/regular/hipster /datum/gear/jamjar name = "Jamjar glasses" - category = slot_glasses + category = SLOT_GLASSES path = /obj/item/clothing/glasses/regular/jamjar /datum/gear/monocle name = "Monocle" - category = slot_glasses + category = SLOT_GLASSES path = /obj/item/clothing/glasses/monocle /datum/gear/orange name = "Orange glasses" - category = slot_glasses + category = SLOT_GLASSES path = /obj/item/clothing/glasses/orange /datum/gear/red name = "Red Glasses" - category = slot_glasses + category = SLOT_GLASSES path = /obj/item/clothing/glasses/red /datum/gear/prescription name = "Prescription glasses" - category = slot_glasses + category = SLOT_GLASSES path = /obj/item/clothing/glasses/regular diff --git a/modular_citadel/code/modules/client/loadout/gloves.dm b/modular_citadel/code/modules/client/loadout/gloves.dm index d504444506..826e809652 100644 --- a/modular_citadel/code/modules/client/loadout/gloves.dm +++ b/modular_citadel/code/modules/client/loadout/gloves.dm @@ -1,4 +1,4 @@ /datum/gear/fingerless name = "Fingerless Gloves" - category = slot_gloves + category = SLOT_GLOVES path = /obj/item/clothing/gloves/fingerless diff --git a/modular_citadel/code/modules/client/loadout/hands.dm b/modular_citadel/code/modules/client/loadout/hands.dm index 3bb58a8719..3b07ecaec5 100644 --- a/modular_citadel/code/modules/client/loadout/hands.dm +++ b/modular_citadel/code/modules/client/loadout/hands.dm @@ -1,67 +1,67 @@ /datum/gear/cane name = "Cane" - category = slot_hands + category = SLOT_HANDS path = /obj/item/cane /datum/gear/cigarettes name = "Cigarette pack" - category = slot_hands + category = SLOT_HANDS path = /obj/item/storage/fancy/cigarettes /datum/gear/dice name = "Dice bag" - category = slot_hands + category = SLOT_HANDS path = /obj/item/storage/pill_bottle/dice /datum/gear/eightball name = "Magic eightball" - category = slot_hands + category = SLOT_HANDS path = /obj/item/toy/eightball /datum/gear/matches name = "Matchbox" - category = slot_hands + category = SLOT_HANDS path = /obj/item/storage/box/matches /datum/gear/cheaplighter name = "Cheap lighter" - category = slot_hands + category = SLOT_HANDS path = /obj/item/lighter/greyscale /datum/gear/cards name = "Playing cards" - category = slot_hands + category = SLOT_HANDS path = /obj/item/toy/cards/deck /datum/gear/skub name = "Skub" - category = slot_hands + category = SLOT_HANDS path = /obj/item/skub /datum/gear/carpplushie name = "Space carp plushie" - category = slot_hands + category = SLOT_HANDS path = /obj/item/toy/plush/carpplushie /datum/gear/wallet name = "Wallet" - category = slot_hands + category = SLOT_HANDS path = /obj/item/storage/wallet /datum/gear/flask name = "Flask" - category = slot_hands + category = SLOT_HANDS path = /obj/item/reagent_containers/food/drinks/flask cost = 2 /datum/gear/zippolighter name = "Zippo Lighter" - category = slot_hands + category = SLOT_HANDS path = /obj/item/lighter cost = 2 /datum/gear/cigar name = "Cigar" - category = slot_hands + category = SLOT_HANDS path = /obj/item/clothing/mask/cigarette/cigar cost = 4 //smoking is bad mkay diff --git a/modular_citadel/code/modules/client/loadout/head.dm b/modular_citadel/code/modules/client/loadout/head.dm index 168debf2cc..45bf7a3058 100644 --- a/modular_citadel/code/modules/client/loadout/head.dm +++ b/modular_citadel/code/modules/client/loadout/head.dm @@ -1,74 +1,74 @@ /datum/gear/baseball name = "Ballcap" - category = slot_head + category = SLOT_HEAD path = /obj/item/clothing/head/soft/mime /datum/gear/beanie name = "Beanie" - category = slot_head + category = SLOT_HEAD path = /obj/item/clothing/head/beanie /datum/gear/beret name = "Black beret" - category = slot_head + category = SLOT_HEAD path = /obj/item/clothing/head/beret/black /datum/gear/flatcap name = "Flat cap" - category = slot_head + category = SLOT_HEAD path = /obj/item/clothing/head/flatcap /datum/gear/pirate name = "Pirate hat" - category = slot_head + category = SLOT_HEAD path = /obj/item/clothing/head/pirate /datum/gear/rice_hat name = "Rice hat" - category = slot_head + category = SLOT_HEAD path = /obj/item/clothing/head/rice_hat /datum/gear/ushanka name = "Ushanka" - category = slot_head + category = SLOT_HEAD path = /obj/item/clothing/head/ushanka /datum/gear/slime name = "Slime hat" - category = slot_head + category = SLOT_HEAD path = /obj/item/clothing/head/collectable/slime /datum/gear/fedora name = "Fedora" - category = slot_head + category = SLOT_HEAD path = /obj/item/clothing/head/fedora /datum/gear/that name = "Top Hat" - category = slot_head + category = SLOT_HEAD path = /obj/item/clothing/head/that //trek fancy Hats! /datum/gear/trekcap name = "Federation Officer's Cap" - category = slot_head + category = SLOT_HEAD path = /obj/item/clothing/head/caphat/formal/fedcover restricted_roles = list("Captain","Head of Personnel") /datum/gear/trekcapmedisci name = "Federation Officer's Cap" - category = slot_head + category = SLOT_HEAD path = /obj/item/clothing/head/caphat/formal/fedcover/medsci restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist") /datum/gear/trekcapeng name = "Federation Officer's Cap" - category = slot_head + category = SLOT_HEAD path = /obj/item/clothing/head/caphat/formal/fedcover/eng restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster") /datum/gear/trekcapsec name = "Federation Officer's Cap" - category = slot_head + category = SLOT_HEAD path = /obj/item/clothing/head/caphat/formal/fedcover/sec restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster") \ No newline at end of file diff --git a/modular_citadel/code/modules/client/loadout/mask.dm b/modular_citadel/code/modules/client/loadout/mask.dm index 5de520a20a..036e3d3795 100644 --- a/modular_citadel/code/modules/client/loadout/mask.dm +++ b/modular_citadel/code/modules/client/loadout/mask.dm @@ -1,9 +1,9 @@ /datum/gear/balaclava name = "Balaclava" - category = slot_wear_mask + category = SLOT_WEAR_MASK path = /obj/item/clothing/mask/balaclava - + /datum/gear/moustache name = "Fake moustache" - category = slot_wear_mask + category = SLOT_WEAR_MASK path = /obj/item/clothing/mask/fakemoustache diff --git a/modular_citadel/code/modules/client/loadout/neck.dm b/modular_citadel/code/modules/client/loadout/neck.dm index 5e1e0017fe..f7346ec135 100644 --- a/modular_citadel/code/modules/client/loadout/neck.dm +++ b/modular_citadel/code/modules/client/loadout/neck.dm @@ -1,84 +1,84 @@ /datum/gear/bluetie name = "Blue tie" - category = slot_neck + category = SLOT_NECK path = /obj/item/clothing/neck/tie/blue /datum/gear/redtie name = "Red tie" - category = slot_neck + category = SLOT_NECK path = /obj/item/clothing/neck/tie/red /datum/gear/blacktie name = "Black tie" - category = slot_neck + category = SLOT_NECK path = /obj/item/clothing/neck/tie/black /datum/gear/collar name = "Collar" - category = slot_neck + category = SLOT_NECK path = /obj/item/clothing/neck/petcollar /datum/gear/scarf name = "White scarf" - category = slot_neck + category = SLOT_NECK path = /obj/item/clothing/neck/scarf /datum/gear/blackscarf name = "Black scarf" - category = slot_neck + category = SLOT_NECK path = /obj/item/clothing/neck/scarf/black /datum/gear/redscarf name = "Red scarf" - category = slot_neck + category = SLOT_NECK path = /obj/item/clothing/neck/scarf/red /datum/gear/greenscarf name = "Green scarf" - category = slot_neck + category = SLOT_NECK path = /obj/item/clothing/neck/scarf/green /datum/gear/darkbluescarf name = "Dark blue scarf" - category = slot_neck + category = SLOT_NECK path = /obj/item/clothing/neck/scarf/darkblue /datum/gear/purplescarf name = "Purple scarf" - category = slot_neck + category = SLOT_NECK path = /obj/item/clothing/neck/scarf/purple /datum/gear/yellowscarf name = "Yellow scarf" - category = slot_neck + category = SLOT_NECK path = /obj/item/clothing/neck/scarf/yellow /datum/gear/orangescarf name = "Orange scarf" - category = slot_neck + category = SLOT_NECK path = /obj/item/clothing/neck/scarf/orange /datum/gear/cyanscarf name = "Cyan scarf" - category = slot_neck + category = SLOT_NECK path = /obj/item/clothing/neck/scarf/cyan /datum/gear/stripedredscarf name = "Striped red scarf" - category = slot_neck + category = SLOT_NECK path = /obj/item/clothing/neck/stripedredscarf /datum/gear/stripedbluescarf name = "Striped blue scarf" - category = slot_neck + category = SLOT_NECK path = /obj/item/clothing/neck/stripedbluescarf /datum/gear/stripedgreenscarf name = "Striped green scarf" - category = slot_neck + category = SLOT_NECK path = /obj/item/clothing/neck/stripedgreenscarf /datum/gear/headphones name = "Headphones" - category = slot_neck + category = SLOT_NECK path = /obj/item/clothing/ears/headphones diff --git a/modular_citadel/code/modules/client/loadout/shoes.dm b/modular_citadel/code/modules/client/loadout/shoes.dm index 0d233c3a5e..95675ccaeb 100644 --- a/modular_citadel/code/modules/client/loadout/shoes.dm +++ b/modular_citadel/code/modules/client/loadout/shoes.dm @@ -1,39 +1,39 @@ /datum/gear/laceup name = "Laceup shoes" - category = slot_shoes + category = SLOT_SHOES path = /obj/item/clothing/shoes/laceup /datum/gear/workboots name = "Work boots" - category = slot_shoes + category = SLOT_SHOES path = /obj/item/clothing/shoes/workboots /datum/gear/jackboots name = "Jackboots" - category = slot_shoes + category = SLOT_SHOES path = /obj/item/clothing/shoes/jackboots /datum/gear/winterboots name = "Winter boots" - category = slot_shoes + category = SLOT_SHOES path = /obj/item/clothing/shoes/winterboots /datum/gear/sandals name = "Sandals" - category = slot_shoes + category = SLOT_SHOES path = /obj/item/clothing/shoes/sandal /datum/gear/blackshoes name = "Black shoes" - category = slot_shoes + category = SLOT_SHOES path = /obj/item/clothing/shoes/sneakers/black /datum/gear/brownshoes name = "Brown shoes" - category = slot_shoes + category = SLOT_SHOES path = /obj/item/clothing/shoes/sneakers/brown /datum/gear/whiteshoes name = "White shoes" - category = slot_shoes + category = SLOT_SHOES path = /obj/item/clothing/shoes/sneakers/white diff --git a/modular_citadel/code/modules/client/loadout/suit.dm b/modular_citadel/code/modules/client/loadout/suit.dm index 85d5b5cbd0..1e1610ae75 100644 --- a/modular_citadel/code/modules/client/loadout/suit.dm +++ b/modular_citadel/code/modules/client/loadout/suit.dm @@ -1,82 +1,82 @@ /datum/gear/poncho name = "Poncho" - category = slot_wear_suit + category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/poncho /datum/gear/ponchogreen name = "Green poncho" - category = slot_wear_suit + category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/poncho/green /datum/gear/ponchored name = "Red poncho" - category = slot_wear_suit + category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/poncho/red /datum/gear/redhood name = "Red cloak" - category = slot_wear_suit + category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/hooded/cloak/david cost = 3 /datum/gear/jacketbomber name = "Bomber jacket" - category = slot_wear_suit + category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/jacket /datum/gear/jacketleather name = "Leather jacket" - category = slot_wear_suit + category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/jacket/leather /datum/gear/overcoatleather name = "Leather overcoat" - category = slot_wear_suit + category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/jacket/leather/overcoat /datum/gear/jacketpuffer name = "Puffer jacket" - category = slot_wear_suit + category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/jacket/puffer /datum/gear/vestpuffer name = "Puffer vest" - category = slot_wear_suit + category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/jacket/puffer/vest /datum/gear/jacketlettermanbrown name = "Brown letterman jacket" - category = slot_wear_suit + category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/jacket/letterman /datum/gear/jacketlettermanred name = "Red letterman jacket" - category = slot_wear_suit + category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/jacket/letterman_red /datum/gear/jacketlettermanNT name = "Nanotrasen letterman jacket" - category = slot_wear_suit + category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/jacket/letterman_nanotrasen /datum/gear/coat name = "Winter coat" - category = slot_wear_suit + category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/hooded/wintercoat /datum/gear/militaryjacket name = "Military Jacket" - category = slot_wear_suit + category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/jacket/miljacket /datum/gear/ianshirt name = "Ian Shirt" - category = slot_wear_suit + category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/ianshirt /datum/gear/trekds9_coat name = "DS9 Overcoat (use uniform)" - category = slot_wear_suit + category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/storage/trek/ds9 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", @@ -85,24 +85,24 @@ //Federation jackets from movies /datum/gear/trekcmdcap name = "fed (movie) uniform, Captain" - category = slot_wear_suit + category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/storage/fluff/fedcoat/capt restricted_roles = list("Captain","Head of Personnel") /datum/gear/trekcmdmov name = "fed (movie) uniform, sec" - category = slot_wear_suit + category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/storage/fluff/fedcoat restricted_roles = list("Head of Security","Captain","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer","Quartermaster","Warden","Detective","Security Officer") /datum/gear/trekmedscimov name = "fed (movie) uniform, med/sci" - category = slot_wear_suit + category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/storage/fluff/fedcoat/medsci restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist") /datum/gear/trekengmov name = "fed (movie) uniform, ops/eng" - category = slot_wear_suit + category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/storage/fluff/fedcoat/eng restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Cargo Technician", "Shaft Miner", "Quartermaster") diff --git a/modular_citadel/code/modules/client/loadout/uniform.dm b/modular_citadel/code/modules/client/loadout/uniform.dm index c07290cdaf..7c592c60e1 100644 --- a/modular_citadel/code/modules/client/loadout/uniform.dm +++ b/modular_citadel/code/modules/client/loadout/uniform.dm @@ -1,143 +1,143 @@ /datum/gear/suitblack name = "Black suit" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/suit_jacket /datum/gear/suitgreen name = "Green suit" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/suit_jacket/green /datum/gear/suitred name = "Red suit" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/suit_jacket/red /datum/gear/suitcharcoal name = "Charcoal suit" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/suit_jacket/charcoal /datum/gear/suitnavy name = "Navy suit" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/suit_jacket/navy /datum/gear/suitburgundy name = "Burgundy suit" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/suit_jacket/burgundy /datum/gear/suittan name = "Tan suit" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/suit_jacket/tan /datum/gear/suitwhite name = "White suit" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/suit_jacket/white /datum/gear/assistantformal name = "Assistant's formal uniform" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/assistantformal /datum/gear/maidcostume name = "Maid costume" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/maid /datum/gear/mailmanuniform name = "Mailman's jumpsuit" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/rank/mailman /datum/gear/skirtblack name = "Black skirt" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/skirt/black /datum/gear/skirtblue name = "Blue skirt" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/skirt/blue /datum/gear/skirtred name = "Red skirt" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/skirt/red /datum/gear/skirtpurple name = "Purple skirt" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/skirt/purple /datum/gear/kilt name = "Kilt" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/kilt /datum/gear/camoshorts name = "Camo Pants" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/pants/camo /datum/gear/bjeans name = "Black Jeans" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/pants/blackjeans /datum/gear/cjeans name = "Classic Jeans" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/pants/classicjeans /datum/gear/khaki name = "Khaki Pants" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/pants/khaki /datum/gear/wpants name = "White Pants" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/pants/white /datum/gear/rpants name = "Red Pants" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/pants/red /datum/gear/tpants name = "Tan Pants" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/pants/tan /datum/gear/trpants name = "Track Pants" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/pants/track /datum/gear/turtleneck name = "Tactitool Turtleneck" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/syndicate/cosmetic /datum/gear/polykilt name = "Polychromic Kilt" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/polychromic/kilt cost = 3 /datum/gear/polyshorts name = "Polychromic Shorts" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/polychromic/shorts cost = 3 /datum/gear/polyshortpants name = "Polychromic Athletic Shorts" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/polychromic/shortpants cost = 2 @@ -145,94 +145,94 @@ //TOS /datum/gear/trekcmdtos name = "TOS uniform, cmd" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/rank/trek/command restricted_roles = list("Head of Security","Captain","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer","Quartermaster") /datum/gear/trekmedscitos name = "TOS uniform, med/sci" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/rank/trek/medsci restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist") /datum/gear/trekengtos name = "TOS uniform, ops/sec" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/rank/trek/engsec restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster") //TNG /datum/gear/trekcmdtng name = "TNG uniform, cmd" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/rank/trek/command/next restricted_roles = list("Head of Security","Captain","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer","Quartermaster") /datum/gear/trekmedscitng name = "TNG uniform, med/sci" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/rank/trek/medsci/next restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist") /datum/gear/trekengtng name = "TNG uniform, ops/sec" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/rank/trek/engsec/next restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster") //VOY /datum/gear/trekcmdvoy name = "VOY uniform, cmd" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/rank/trek/command/voy restricted_roles = list("Head of Security","Captain","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer","Quartermaster") /datum/gear/trekmedscivoy name = "VOY uniform, med/sci" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/rank/trek/medsci/voy restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist") /datum/gear/trekengvoy name = "VOY uniform, ops/sec" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/rank/trek/engsec/voy restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster") //DS9 /datum/gear/trekcmdds9 name = "DS9 uniform, cmd" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/rank/trek/command/ds9 restricted_roles = list("Head of Security","Captain","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer","Quartermaster") /datum/gear/trekmedscids9 name = "DS9 uniform, med/sci" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/rank/trek/medsci/ds9 restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist") /datum/gear/trekengds9 name = "DS9 uniform, ops/sec" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/rank/trek/engsec/ds9 restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster") //ENT /datum/gear/trekcmdent name = "ENT uniform, cmd" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/rank/trek/command/ent restricted_roles = list("Head of Security","Captain","Head of Personnel","Chief Engineer","Research Director","Chief Medical Officer","Quartermaster") /datum/gear/trekmedscient name = "ENT uniform, med/sci" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/rank/trek/medsci/ent restricted_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Virologist","Geneticist","Research Director","Scientist", "Roboticist") /datum/gear/trekengent name = "ENT uniform, ops/sec" - category = slot_w_uniform + category = SLOT_W_UNIFORM path = /obj/item/clothing/under/rank/trek/engsec/ent restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster") diff --git a/modular_citadel/code/modules/client/preferences.dm b/modular_citadel/code/modules/client/preferences.dm index 741e6f0935..7d73fa618b 100644 --- a/modular_citadel/code/modules/client/preferences.dm +++ b/modular_citadel/code/modules/client/preferences.dm @@ -664,11 +664,11 @@ var/occupied_slots = L[slot_to_string(initial(G.category))] ? L[slot_to_string(initial(G.category))] + 1 : 1 LAZYSET(L, slot_to_string(initial(G.category)), occupied_slots) switch(slot) - if(slot_in_backpack) - if(L[slot_to_string(slot_in_backpack)] < BACKPACK_SLOT_AMT) + if(SLOT_IN_BACKPACK) + if(L[slot_to_string(SLOT_IN_BACKPACK)] < BACKPACK_SLOT_AMT) return TRUE - if(slot_hands) - if(L[slot_to_string(slot_hands)] < HANDS_SLOT_AMT) + if(SLOT_HANDS) + if(L[slot_to_string(SLOT_HANDS)] < HANDS_SLOT_AMT) return TRUE else if(L[slot_to_string(slot)] < DEFAULT_SLOT_AMT) diff --git a/modular_citadel/code/modules/custom_loadout/custom_items.dm b/modular_citadel/code/modules/custom_loadout/custom_items.dm index 481a105749..0abbba1845 100644 --- a/modular_citadel/code/modules/custom_loadout/custom_items.dm +++ b/modular_citadel/code/modules/custom_loadout/custom_items.dm @@ -290,7 +290,7 @@ H = loc if(!H) return - else if(H.get_item_by_slot(slot_neck) == src) + else if(H.get_item_by_slot(SLOT_NECK) == src) if(H.arousalloss < H.max_arousal / 3) H.arousalloss = H.max_arousal / 3 if(prob(5) && H.hallucination < 15) diff --git a/modular_citadel/code/modules/custom_loadout/load_to_mob.dm b/modular_citadel/code/modules/custom_loadout/load_to_mob.dm index c9aab1d906..0a1d8256ae 100644 --- a/modular_citadel/code/modules/custom_loadout/load_to_mob.dm +++ b/modular_citadel/code/modules/custom_loadout/load_to_mob.dm @@ -52,7 +52,7 @@ loaded_atom.forceMove(T) continue var/obj/item/loaded = loaded_atom - var/obj/item/storage/S = H.get_item_by_slot(slot_back) + var/obj/item/storage/S = H.get_item_by_slot(SLOT_BACK) if(istype(S)) S.SendSignal(COMSIG_TRY_STORAGE_INSERT,loaded, TRUE, H) //Force it into their backpack continue diff --git a/modular_citadel/cydonian_armor.dm b/modular_citadel/cydonian_armor.dm index 689165d8bb..209c2d0448 100644 --- a/modular_citadel/cydonian_armor.dm +++ b/modular_citadel/cydonian_armor.dm @@ -51,7 +51,7 @@ /obj/item/clothing/head/helmet/space/hardsuit/lavaknight/equipped(mob/user, slot) ..() - if(slot == slot_head) + if(slot == SLOT_HEAD) emissivelights() /obj/item/clothing/head/helmet/space/hardsuit/lavaknight/dropped(mob/user) @@ -113,7 +113,7 @@ /obj/item/clothing/suit/space/hardsuit/lavaknight/equipped(mob/user, slot) ..() - if(slot == slot_wear_suit) + if(slot == SLOT_WEAR_SUIT) emissivelights() /obj/item/clothing/suit/space/hardsuit/lavaknight/dropped(mob/user) From 63e472050c1deb7d945fdf499684d19c2e2959a9 Mon Sep 17 00:00:00 2001 From: r-esistor <38401208+r-esistor@users.noreply.github.com> Date: Mon, 21 May 2018 03:10:35 -0400 Subject: [PATCH 352/415] Circuit Labels (sorta understanding git edition) (#37633) * Customizable circuit names/descriptions * Circuit descriptions are now copied * Prevents code injection through the desc --- code/modules/integrated_electronics/core/assemblies.dm | 2 +- .../integrated_electronics/core/saved_circuits.dm | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/code/modules/integrated_electronics/core/assemblies.dm b/code/modules/integrated_electronics/core/assemblies.dm index 0844070dd6..72c34b90cc 100644 --- a/code/modules/integrated_electronics/core/assemblies.dm +++ b/code/modules/integrated_electronics/core/assemblies.dm @@ -3,7 +3,7 @@ /obj/item/electronic_assembly name = "electronic assembly" - obj_flags = CAN_BE_HIT + obj_flags = CAN_BE_HIT | UNIQUE_RENAME desc = "It's a case, for building small electronics with." w_class = WEIGHT_CLASS_SMALL icon = 'icons/obj/assemblies/electronic_setups.dmi' diff --git a/code/modules/integrated_electronics/core/saved_circuits.dm b/code/modules/integrated_electronics/core/saved_circuits.dm index b389b0d2d9..bc85cc4d9a 100644 --- a/code/modules/integrated_electronics/core/saved_circuits.dm +++ b/code/modules/integrated_electronics/core/saved_circuits.dm @@ -124,6 +124,10 @@ // Save modified name if(initial(name) != name) assembly_params["name"] = name + + // Save modified description + if(initial(desc) != desc) + assembly_params["desc"] = desc // Save panel status if(opened) @@ -142,6 +146,8 @@ // Validate name and color if(assembly_params["name"] && !reject_bad_name(assembly_params["name"], TRUE)) return "Bad assembly name." + if(assembly_params["desc"] && !reject_bad_text(assembly_params["desc"], TRUE)) + return "Bad assembly description." if(assembly_params["detail_color"] && !(assembly_params["detail_color"] in color_whitelist)) return "Bad assembly color." @@ -151,6 +157,10 @@ // Load modified name, if any. if(assembly_params["name"]) name = assembly_params["name"] + + // Load modified description, if any. + if(assembly_params["desc"]) + desc = assembly_params["desc"] // Load panel status if(assembly_params["opened"]) From 73b0ac78597560bcea3287c7de2f6b49639b1266 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 21 May 2018 00:38:42 -0700 Subject: [PATCH 354/415] Emagging a R&D console now unlocks it and prevents it from being locked as opposed to nothing (#37937) * rdconsole emagging * Fix grammar --- code/modules/research/rdconsole.dm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 81b59624d5..329bbbebee 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -193,9 +193,10 @@ doesn't have toxins access. /obj/machinery/computer/rdconsole/emag_act(mob/user) if(!(obj_flags & EMAGGED)) - to_chat(user, "You disable the security protocols") + to_chat(user, "You disable the security protocols[locked? " and unlock the console.":""].") playsound(src, "sparks", 75, 1) obj_flags |= EMAGGED + locked = FALSE return ..() /obj/machinery/computer/rdconsole/proc/list_categories(list/categories, menu_num as num) @@ -818,6 +819,9 @@ doesn't have toxins access. if(ls["ui_mode"]) ui_mode = text2num(ls["ui_mode"]) if(ls["lock_console"]) + if(obj_flags & EMAGGED) + to_chat(usr, "Security protocol error: Unable to lock.") + return if(allowed(usr)) lock_console(usr) else From 2b9d18597bccb4f0bd17c46ca72f946be5aa6681 Mon Sep 17 00:00:00 2001 From: Mickyan <38563876+Mickyan@users.noreply.github.com> Date: Mon, 21 May 2018 09:53:42 +0200 Subject: [PATCH 356/415] Remove intent auto switch from pacifism (#37938) --- code/modules/mob/living/carbon/human/life.dm | 4 ---- code/modules/mob/living/life.dm | 3 --- 2 files changed, 7 deletions(-) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index be1cda38b6..a7474b6aaa 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -63,10 +63,6 @@ else if(eye_blurry) //blurry eyes heal slowly adjust_blurriness(-1) - if(has_trait(TRAIT_PACIFISM) && a_intent == INTENT_HARM) - to_chat(src, "You don't feel like harming anybody.") - a_intent_change(INTENT_HELP) - if (getBrainLoss() >= 60 && !incapacitated(TRUE)) SendSignal(COMSIG_ADD_MOOD_EVENT, "brain_damage", /datum/mood_event/brain_damage) if(prob(3)) diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index 0c63ad2ab4..47eb649d93 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -133,9 +133,6 @@ eye_blurry = max(eye_blurry-1, 0) if(client && !eye_blurry) clear_fullscreen("blurry") - if(has_trait(TRAIT_PACIFISM) && a_intent == INTENT_HARM) - to_chat(src, "You don't feel like harming anybody.") - a_intent_change(INTENT_HELP) /mob/living/proc/update_damage_hud() return From 177139a1d379b8c26f266487c8d426ed47c797cb Mon Sep 17 00:00:00 2001 From: Nich Date: Mon, 21 May 2018 10:05:57 +0200 Subject: [PATCH 358/415] Replace nauseous with nauseated (#37927) --- code/datums/diseases/advance/symptoms/vomit.dm | 2 +- code/datums/diseases/heart_failure.dm | 2 +- code/game/machinery/computer/arcade.dm | 4 ++-- code/modules/antagonists/abductor/equipment/gland.dm | 2 +- code/modules/mob/living/carbon/human/human_defense.dm | 2 +- code/modules/mob/living/carbon/life.dm | 2 +- code/modules/surgery/organs/liver.dm | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/code/datums/diseases/advance/symptoms/vomit.dm b/code/datums/diseases/advance/symptoms/vomit.dm index 14d7f105ab..53e79f0cc1 100644 --- a/code/datums/diseases/advance/symptoms/vomit.dm +++ b/code/datums/diseases/advance/symptoms/vomit.dm @@ -55,7 +55,7 @@ Bonus switch(A.stage) if(1, 2, 3, 4) if(prob(base_message_chance) && !suppress_warning) - to_chat(M, "[pick("You feel nauseous.", "You feel like you're going to throw up!")]") + to_chat(M, "[pick("You feel nauseated.", "You feel like you're going to throw up!")]") else vomit(M) diff --git a/code/datums/diseases/heart_failure.dm b/code/datums/diseases/heart_failure.dm index a9adf39812..3fbf6ef177 100644 --- a/code/datums/diseases/heart_failure.dm +++ b/code/datums/diseases/heart_failure.dm @@ -34,7 +34,7 @@ to_chat(H, "You feel dizzy.") H.confused += 6 if(prob(3)) - to_chat(H, "You feel [pick("full", "nauseous", "sweaty", "weak", "tired", "short on breath", "uneasy")].") + to_chat(H, "You feel [pick("full", "nauseated", "sweaty", "weak", "tired", "short on breath", "uneasy")].") if(3 to 4) if(!sound) H.playsound_local(H, 'sound/health/slowbeat.ogg',40,0, channel = CHANNEL_HEARTBEAT) diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index b58fb7ee34..46898bb2d7 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -507,9 +507,9 @@ if(ORION_TRAIL_ILLNESS) var/severity = rand(1,3) //pray to RNGesus. PRAY, PIGS if(severity == 1) - to_chat(M, "You suddenly feel slightly nauseous." ) + to_chat(M, "You suddenly feel slightly nauseated." ) if(severity == 2) - to_chat(usr, "You suddenly feel extremely nauseous and hunch over until it passes.") + to_chat(usr, "You suddenly feel extremely nauseated and hunch over until it passes.") M.Stun(60) if(severity >= 3) //you didn't pray hard enough to_chat(M, "An overpowering wave of nausea consumes over you. You hunch over, your stomach's contents preparing for a spectacular exit.") diff --git a/code/modules/antagonists/abductor/equipment/gland.dm b/code/modules/antagonists/abductor/equipment/gland.dm index 6fb84aa030..1e53f778d6 100644 --- a/code/modules/antagonists/abductor/equipment/gland.dm +++ b/code/modules/antagonists/abductor/equipment/gland.dm @@ -122,7 +122,7 @@ owner.grant_language(/datum/language/slime) /obj/item/organ/heart/gland/slime/activate() - to_chat(owner, "You feel nauseous!") + to_chat(owner, "You feel nauseated!") owner.vomit(20) var/mob/living/simple_animal/slime/Slime = new(get_turf(owner), "grey") diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 6cbbd69b4b..4af2fa1134 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -708,7 +708,7 @@ if(toxloss > 10) to_chat(src, "You feel sick.") else if(toxloss > 20) - to_chat(src, "You feel nauseous.") + to_chat(src, "You feel nauseated.") else if(toxloss > 40) to_chat(src, "You feel very unwell!") if(oxyloss) diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 6b72506c02..53b07cd7e4 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -452,7 +452,7 @@ return adjustToxLoss(8, TRUE, TRUE) if(prob(30)) - to_chat(src, "You feel confused and nauseous...")//actual symptoms of liver failure + to_chat(src, "You feel confused and nauseated...")//actual symptoms of liver failure //////////////// diff --git a/code/modules/surgery/organs/liver.dm b/code/modules/surgery/organs/liver.dm index 1c81f31d45..360e58924b 100755 --- a/code/modules/surgery/organs/liver.dm +++ b/code/modules/surgery/organs/liver.dm @@ -41,7 +41,7 @@ C.reagents.metabolize(C, can_overdose=TRUE) if(damage > 10 && prob(damage/3))//the higher the damage the higher the probability - to_chat(C, "You feel [pick("nauseous", "dull pain in your lower body", "confused")].") + to_chat(C, "You feel [pick("nauseated", "a dull pain in your lower body", "confused")].") if(damage > maxHealth)//cap liver damage damage = maxHealth From 7cc9d9103d928ff98fe433c77d504c58ba0cbd66 Mon Sep 17 00:00:00 2001 From: cyclowns Date: Mon, 21 May 2018 01:20:25 -0700 Subject: [PATCH 360/415] Refactors hydrocarbon combustion + other general atmos code changes (#37600) * splits hydrocarbon combustion + other stuff * nob max() thing * whoops * remove proc + new define --- code/controllers/subsystem/air.dm | 3 +- .../atmospherics/gasmixtures/gas_mixture.dm | 2 +- .../atmospherics/gasmixtures/gas_types.dm | 2 + .../atmospherics/gasmixtures/reactions.dm | 165 +++++++++++------- 4 files changed, 106 insertions(+), 66 deletions(-) diff --git a/code/controllers/subsystem/air.dm b/code/controllers/subsystem/air.dm index ce4e6ee271..a46a283254 100644 --- a/code/controllers/subsystem/air.dm +++ b/code/controllers/subsystem/air.dm @@ -29,7 +29,8 @@ SUBSYSTEM_DEF(air) var/list/obj/machinery/atmos_machinery = list() var/list/pipe_init_dirs_cache = list() - + //atmos singletons + var/list/gas_reactions = list() //Special functions lists var/list/turf/active_super_conductivity = list() diff --git a/code/modules/atmospherics/gasmixtures/gas_mixture.dm b/code/modules/atmospherics/gasmixtures/gas_mixture.dm index 75b744e597..6e78256c87 100644 --- a/code/modules/atmospherics/gasmixtures/gas_mixture.dm +++ b/code/modules/atmospherics/gasmixtures/gas_mixture.dm @@ -4,11 +4,11 @@ What are the archived variables for? This prevents race conditions that arise based on the order of tile processing. */ #define MINIMUM_HEAT_CAPACITY 0.0003 +#define MINIMUM_MOLE_COUNT 0.01 #define QUANTIZE(variable) (round(variable,0.0000001))/*I feel the need to document what happens here. Basically this is used to catch most rounding errors, however it's previous value made it so that once gases got hot enough, most procedures wouldnt occur due to the fact that the mole counts would get rounded away. Thus, we lowered it a few orders of magnititude */ GLOBAL_LIST_INIT(meta_gas_info, meta_gas_list()) //see ATMOSPHERICS/gas_types.dm GLOBAL_LIST_INIT(gaslist_cache, init_gaslist_cache()) -GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(/datum/gas/oxygen, /datum/gas/nitrogen, /datum/gas/carbon_dioxide))) // These gasses cannot react amongst themselves /proc/init_gaslist_cache() . = list() diff --git a/code/modules/atmospherics/gasmixtures/gas_types.dm b/code/modules/atmospherics/gasmixtures/gas_types.dm index 0f1a21e1ce..12ad70a9e3 100644 --- a/code/modules/atmospherics/gasmixtures/gas_types.dm +++ b/code/modules/atmospherics/gasmixtures/gas_types.dm @@ -1,4 +1,5 @@ GLOBAL_LIST_INIT(hardcoded_gases, list(/datum/gas/oxygen, /datum/gas/nitrogen, /datum/gas/carbon_dioxide, /datum/gas/plasma)) //the main four gases, which were at one time hardcoded +GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(/datum/gas/oxygen, /datum/gas/nitrogen, /datum/gas/carbon_dioxide, /datum/gas/pluoxium, /datum/gas/stimulum, /datum/gas/nitryl))) //unable to react amongst themselves /proc/meta_gas_list() . = subtypesof(/datum/gas) @@ -124,6 +125,7 @@ GLOBAL_LIST_INIT(hardcoded_gases, list(/datum/gas/oxygen, /datum/gas/nitrogen, / specific_heat = 80 name = "Pluoxium" fusion_power = 10 + /obj/effect/overlay/gas icon = 'icons/effects/tile_effects.dmi' mouse_opacity = MOUSE_OPACITY_TRANSPARENT diff --git a/code/modules/atmospherics/gasmixtures/reactions.dm b/code/modules/atmospherics/gasmixtures/reactions.dm index 15c2f1e4a6..8118b44b70 100644 --- a/code/modules/atmospherics/gasmixtures/reactions.dm +++ b/code/modules/atmospherics/gasmixtures/reactions.dm @@ -30,7 +30,6 @@ #define FUSION_PURITY_THRESHOLD 0.95 #define FUSION_HEAT_DROPOFF (20000+T0C) #define NOBLIUM_FORMATION_ENERGY 2e9 //1 Mole of Noblium takes the planck energy to condense. -/datum/controller/subsystem/air/var/list/gas_reactions //this is our singleton of all reactions /proc/init_gas_reactions() var/list/reaction_types = list() @@ -49,7 +48,7 @@ /datum/gas_reaction //regarding the requirements lists: the minimum or maximum requirements must be non-zero. - //when in doubt, use MINIMUM_HEAT_CAPACITY. + //when in doubt, use MINIMUM_MOLE_COUNT. var/list/min_requirements var/list/max_requirements var/exclude = FALSE //do it this way to allow for addition/removal of reactions midmatch in the future @@ -61,6 +60,7 @@ init_reqs() /datum/gas_reaction/proc/init_reqs() + /datum/gas_reaction/proc/react(datum/gas_mixture/air, atom/location) return NO_REACTION @@ -94,16 +94,20 @@ air.gases[/datum/gas/water_vapor][MOLES] -= MOLES_GAS_VISIBLE . = REACTING -//fire: combustion of plasma and volatile fuel (treated as hydrocarbons). creates hotspots. exothermic -/datum/gas_reaction/fire - priority = -1 //fire should ALWAYS be last - name = "Hydrocarbon Combustion" - id = "fire" +//tritium combustion: combustion of oxygen and tritium (treated as hydrocarbons). creates hotspots. exothermic +/datum/gas_reaction/tritfire + priority = -1 //fire should ALWAYS be last, but tritium fires happen before plasma fires + name = "Tritium Combustion" + id = "tritfire" -/datum/gas_reaction/fire/init_reqs() - min_requirements = list("TEMP" = FIRE_MINIMUM_TEMPERATURE_TO_EXIST) //doesn't include plasma reqs b/c of other, rarer, burning gases. +/datum/gas_reaction/tritfire/init_reqs() + min_requirements = list( + "TEMP" = FIRE_MINIMUM_TEMPERATURE_TO_EXIST, + /datum/gas/tritium = MINIMUM_MOLE_COUNT, + /datum/gas/oxygen = MINIMUM_MOLE_COUNT + ) -/datum/gas_reaction/fire/react(datum/gas_mixture/air, datum/holder) +/datum/gas_reaction/tritfire/react(datum/gas_mixture/air, datum/holder) var/energy_released = 0 var/old_heat_capacity = air.heat_capacity() var/list/cached_gases = air.gases //this speeds things up because accessing datum vars is slow @@ -112,65 +116,99 @@ cached_results[id] = 0 var/turf/open/location = isturf(holder) ? holder : null - //General volatile gas burn - if(cached_gases[/datum/gas/tritium] && cached_gases[/datum/gas/tritium][MOLES]) - var/burned_fuel - if(!cached_gases[/datum/gas/oxygen]) - burned_fuel = 0 - else if(cached_gases[/datum/gas/oxygen][MOLES] < cached_gases[/datum/gas/tritium][MOLES]) - burned_fuel = cached_gases[/datum/gas/oxygen][MOLES]/TRITIUM_BURN_OXY_FACTOR - cached_gases[/datum/gas/tritium][MOLES] -= burned_fuel - else - burned_fuel = cached_gases[/datum/gas/tritium][MOLES]*TRITIUM_BURN_TRIT_FACTOR - cached_gases[/datum/gas/tritium][MOLES] -= cached_gases[/datum/gas/tritium][MOLES]/TRITIUM_BURN_TRIT_FACTOR - cached_gases[/datum/gas/oxygen][MOLES] -= cached_gases[/datum/gas/tritium][MOLES] + var/burned_fuel = 0 + if(cached_gases[/datum/gas/oxygen][MOLES] < cached_gases[/datum/gas/tritium][MOLES]) + burned_fuel = cached_gases[/datum/gas/oxygen][MOLES]/TRITIUM_BURN_OXY_FACTOR + cached_gases[/datum/gas/tritium][MOLES] -= burned_fuel + else + burned_fuel = cached_gases[/datum/gas/tritium][MOLES]*TRITIUM_BURN_TRIT_FACTOR + cached_gases[/datum/gas/tritium][MOLES] -= cached_gases[/datum/gas/tritium][MOLES]/TRITIUM_BURN_TRIT_FACTOR + cached_gases[/datum/gas/oxygen][MOLES] -= cached_gases[/datum/gas/tritium][MOLES] - if(burned_fuel) - energy_released += FIRE_HYDROGEN_ENERGY_RELEASED * burned_fuel - if(location && prob(10) && burned_fuel > TRITIUM_MINIMUM_RADIATION_ENERGY) //woah there let's not crash the server - radiation_pulse(location, energy_released/TRITIUM_BURN_RADIOACTIVITY_FACTOR) + if(burned_fuel) + energy_released += FIRE_HYDROGEN_ENERGY_RELEASED * burned_fuel + if(location && prob(10) && burned_fuel > TRITIUM_MINIMUM_RADIATION_ENERGY) //woah there let's not crash the server + radiation_pulse(location, energy_released/TRITIUM_BURN_RADIOACTIVITY_FACTOR) - ASSERT_GAS(/datum/gas/water_vapor, air) //oxygen+more-or-less hydrogen=H2O - cached_gases[/datum/gas/water_vapor][MOLES] += burned_fuel/TRITIUM_BURN_OXY_FACTOR + ASSERT_GAS(/datum/gas/water_vapor, air) //oxygen+more-or-less hydrogen=H2O + cached_gases[/datum/gas/water_vapor][MOLES] += burned_fuel/TRITIUM_BURN_OXY_FACTOR - cached_results[id] += burned_fuel + cached_results[id] += burned_fuel + + if(energy_released > 0) + var/new_heat_capacity = air.heat_capacity() + if(new_heat_capacity > MINIMUM_HEAT_CAPACITY) + air.temperature = (temperature*old_heat_capacity + energy_released)/new_heat_capacity + + //let the floor know a fire is happening + if(istype(location)) + temperature = air.temperature + if(temperature > FIRE_MINIMUM_TEMPERATURE_TO_EXIST) + location.hotspot_expose(temperature, CELL_VOLUME) + for(var/I in location) + var/atom/movable/item = I + item.temperature_expose(air, temperature, CELL_VOLUME) + location.temperature_expose(air, temperature, CELL_VOLUME) + + return cached_results[id] ? REACTING : NO_REACTION + +//plasma combustion: combustion of oxygen and plasma (treated as hydrocarbons). creates hotspots. exothermic +/datum/gas_reaction/plasmafire + priority = -2 //fire should ALWAYS be last, but plasma fires happen after tritium fires + name = "Plasma Combustion" + id = "plasmafire" + +/datum/gas_reaction/plasmafire/init_reqs() + min_requirements = list( + "TEMP" = FIRE_MINIMUM_TEMPERATURE_TO_EXIST, + /datum/gas/plasma = MINIMUM_MOLE_COUNT, + /datum/gas/oxygen = MINIMUM_MOLE_COUNT + ) + +/datum/gas_reaction/plasmafire/react(datum/gas_mixture/air, datum/holder) + var/energy_released = 0 + var/old_heat_capacity = air.heat_capacity() + var/list/cached_gases = air.gases //this speeds things up because accessing datum vars is slow + var/temperature = air.temperature + var/list/cached_results = air.reaction_results + cached_results[id] = 0 + var/turf/open/location = isturf(holder) ? holder : null //Handle plasma burning - if(cached_gases[/datum/gas/plasma] && cached_gases[/datum/gas/plasma][MOLES] > MINIMUM_HEAT_CAPACITY) - var/plasma_burn_rate = 0 - var/oxygen_burn_rate = 0 - //more plasma released at higher temperatures - var/temperature_scale - var/super_saturation - if(temperature > PLASMA_UPPER_TEMPERATURE) - temperature_scale = 1 + var/plasma_burn_rate = 0 + var/oxygen_burn_rate = 0 + //more plasma released at higher temperatures + var/temperature_scale = 0 + //to make tritium + var/super_saturation = FALSE + + if(temperature > PLASMA_UPPER_TEMPERATURE) + temperature_scale = 1 + else + temperature_scale = (temperature-PLASMA_MINIMUM_BURN_TEMPERATURE)/(PLASMA_UPPER_TEMPERATURE-PLASMA_MINIMUM_BURN_TEMPERATURE) + if(temperature_scale > 0) + oxygen_burn_rate = OXYGEN_BURN_RATE_BASE - temperature_scale + if(cached_gases[/datum/gas/oxygen][MOLES] / cached_gases[/datum/gas/plasma][MOLES] > SUPER_SATURATION_THRESHOLD) //supersaturation. Form Tritium. + super_saturation = TRUE + if(cached_gases[/datum/gas/oxygen][MOLES] > cached_gases[/datum/gas/plasma][MOLES]*PLASMA_OXYGEN_FULLBURN) + plasma_burn_rate = (cached_gases[/datum/gas/plasma][MOLES]*temperature_scale)/PLASMA_BURN_RATE_DELTA else - temperature_scale = (temperature-PLASMA_MINIMUM_BURN_TEMPERATURE)/(PLASMA_UPPER_TEMPERATURE-PLASMA_MINIMUM_BURN_TEMPERATURE) - if(temperature_scale > 0) - var/o2 = cached_gases[/datum/gas/oxygen] ? cached_gases[/datum/gas/oxygen][MOLES] : 0 - oxygen_burn_rate = OXYGEN_BURN_RATE_BASE - temperature_scale - if(o2 / cached_gases[/datum/gas/plasma][MOLES] > SUPER_SATURATION_THRESHOLD) //supersaturation. Form Tritium. - super_saturation = TRUE - if(o2 > cached_gases[/datum/gas/plasma][MOLES]*PLASMA_OXYGEN_FULLBURN) - plasma_burn_rate = (cached_gases[/datum/gas/plasma][MOLES]*temperature_scale)/PLASMA_BURN_RATE_DELTA + plasma_burn_rate = (temperature_scale*(cached_gases[/datum/gas/oxygen][MOLES]/PLASMA_OXYGEN_FULLBURN))/PLASMA_BURN_RATE_DELTA + + if(plasma_burn_rate > MINIMUM_HEAT_CAPACITY) + plasma_burn_rate = min(plasma_burn_rate,cached_gases[/datum/gas/plasma][MOLES],cached_gases[/datum/gas/oxygen][MOLES]/oxygen_burn_rate) //Ensures matter is conserved properly + cached_gases[/datum/gas/plasma][MOLES] = QUANTIZE(cached_gases[/datum/gas/plasma][MOLES] - plasma_burn_rate) + cached_gases[/datum/gas/oxygen][MOLES] = QUANTIZE(cached_gases[/datum/gas/oxygen][MOLES] - (plasma_burn_rate * oxygen_burn_rate)) + if (super_saturation) + ASSERT_GAS(/datum/gas/tritium,air) + cached_gases[/datum/gas/tritium][MOLES] += plasma_burn_rate else - plasma_burn_rate = (temperature_scale*(o2/PLASMA_OXYGEN_FULLBURN))/PLASMA_BURN_RATE_DELTA + ASSERT_GAS(/datum/gas/carbon_dioxide,air) + cached_gases[/datum/gas/carbon_dioxide][MOLES] += plasma_burn_rate - if(plasma_burn_rate > MINIMUM_HEAT_CAPACITY) - ASSERT_GAS(/datum/gas/carbon_dioxide, air) //don't need to assert o2, since if it isn't present we'll never reach this point anyway - plasma_burn_rate = min(plasma_burn_rate,cached_gases[/datum/gas/plasma][MOLES],cached_gases[/datum/gas/oxygen][MOLES]/oxygen_burn_rate) //Ensures matter is conserved properly - cached_gases[/datum/gas/plasma][MOLES] = QUANTIZE(cached_gases[/datum/gas/plasma][MOLES] - plasma_burn_rate) - cached_gases[/datum/gas/oxygen][MOLES] = QUANTIZE(cached_gases[/datum/gas/oxygen][MOLES] - (plasma_burn_rate * oxygen_burn_rate)) - if (super_saturation) - ASSERT_GAS(/datum/gas/tritium,air) - cached_gases[/datum/gas/tritium][MOLES] += plasma_burn_rate - else - ASSERT_GAS(/datum/gas/carbon_dioxide,air) - cached_gases[/datum/gas/carbon_dioxide][MOLES] += plasma_burn_rate + energy_released += FIRE_PLASMA_ENERGY_RELEASED * (plasma_burn_rate) - energy_released += FIRE_PLASMA_ENERGY_RELEASED * (plasma_burn_rate) - - cached_results[id] += (plasma_burn_rate)*(1+oxygen_burn_rate) + cached_results[id] += (plasma_burn_rate)*(1+oxygen_burn_rate) if(energy_released > 0) var/new_heat_capacity = air.heat_capacity() @@ -196,7 +234,6 @@ name = "Plasmic Fusion" id = "fusion" - /datum/gas_reaction/fusion/init_reqs() min_requirements = list( "ENER" = PLASMA_BINDING_ENERGY * 1000, @@ -361,7 +398,7 @@ air.temperature = max(((air.temperature*old_heat_capacity + stim_energy_change)/new_heat_capacity),TCMB) return REACTING -/datum/gas_reaction/nobliumformation //Hyper-Nobelium formation is extrememly endothermic, but requires high temperatures to start. Due to its high mass, hyper-nobelium uses large amounts of nitrogen and tritium. BZ can be used as a catalyst to make it less endothermic. +/datum/gas_reaction/nobliumformation //Hyper-Noblium formation is extrememly endothermic, but requires high temperatures to start. Due to its high mass, hyper-nobelium uses large amounts of nitrogen and tritium. BZ can be used as a catalyst to make it less endothermic. priority = 6 name = "Hyper-Noblium condensation" id = "nobformation" @@ -380,8 +417,8 @@ var/energy_taken = nob_formed*(NOBLIUM_FORMATION_ENERGY/(max(cached_gases[/datum/gas/bz][MOLES],1))) if ((cached_gases[/datum/gas/tritium][MOLES] - 10*nob_formed < 0) || (cached_gases[/datum/gas/nitrogen][MOLES] - 20*nob_formed < 0)) return NO_REACTION - cached_gases[/datum/gas/tritium][MOLES] = max(cached_gases[/datum/gas/tritium][MOLES]- 10*nob_formed,0) - cached_gases[/datum/gas/nitrogen][MOLES] = max(cached_gases[/datum/gas/nitrogen][MOLES]- 20*nob_formed,0) + cached_gases[/datum/gas/tritium][MOLES] -= 10*nob_formed + cached_gases[/datum/gas/nitrogen][MOLES] -= 20*nob_formed cached_gases[/datum/gas/hypernoblium][MOLES]+= nob_formed From 1c51f32b31df9f4928e79dba87842b437ff3924d Mon Sep 17 00:00:00 2001 From: 81Denton <32391752+81Denton@users.noreply.github.com> Date: Mon, 21 May 2018 10:56:43 +0200 Subject: [PATCH 362/415] Remove skewium from saferChems (#37925) --- code/modules/events/vent_clog.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/events/vent_clog.dm b/code/modules/events/vent_clog.dm index 44d3ac121a..ba7b87150b 100644 --- a/code/modules/events/vent_clog.dm +++ b/code/modules/events/vent_clog.dm @@ -14,7 +14,7 @@ var/randomProbability = 1 var/reagentsAmount = 100 var/list/saferChems = list("water","carbon","flour","cleaner","nutriment","condensedcapsaicin","mushroomhallucinogen","lube","pink_glitter", - "plantbgone","blood","charcoal","space_drugs","morphine","holywater","ethanol","hot_coco","sacid","mindbreaker","rotatium","skewium", + "plantbgone","blood","charcoal","space_drugs","morphine","holywater","ethanol","hot_coco","sacid","mindbreaker","rotatium", "pax","laughter","concentrated_barbers_aid","colorful_reagent","dizzysolution","tiresolution","sodiumchloride","beer","hair_dye","sugar","white_glitter","growthserum") //needs to be chemid unit checked at some point From 9b4b9b4f34af9e43b795abcdeeeef852c678b658 Mon Sep 17 00:00:00 2001 From: Tad Hardesty Date: Mon, 21 May 2018 02:45:52 -0700 Subject: [PATCH 364/415] Refresh mob views when atoms enter/exit storage (#37954) --- code/datums/components/storage/storage.dm | 7 ++++++- code/game/objects/items/devices/PDA/PDA.dm | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/code/datums/components/storage/storage.dm b/code/datums/components/storage/storage.dm index 084056fb10..e6d43ed65a 100644 --- a/code/datums/components/storage/storage.dm +++ b/code/datums/components/storage/storage.dm @@ -87,7 +87,8 @@ RegisterSignal(COMSIG_ATOM_ATTACK_PAW, .proc/on_attack_hand) RegisterSignal(COMSIG_ATOM_EMP_ACT, .proc/emp_act) RegisterSignal(COMSIG_ATOM_ATTACK_GHOST, .proc/show_to_ghost) - RegisterSignal(COMSIG_ATOM_EXITED, .proc/_removal_reset) + RegisterSignal(COMSIG_ATOM_ENTERED, .proc/refresh_mob_views) + RegisterSignal(COMSIG_ATOM_EXITED, .proc/_remove_and_refresh) RegisterSignal(COMSIG_ITEM_PRE_ATTACK, .proc/preattack_intercept) RegisterSignal(COMSIG_ITEM_ATTACK_SELF, .proc/attack_self) @@ -402,6 +403,10 @@ return FALSE return master._removal_reset(thing) +/datum/component/storage/proc/_remove_and_refresh(atom/movable/thing) + _removal_reset(thing) + refresh_mob_views() + //Call this proc to handle the removal of an item from the storage item. The item will be moved to the new_location target, if that is null it's being deleted /datum/component/storage/proc/remove_from_storage(atom/movable/AM, atom/new_location) if(!istype(AM)) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 08ae20c792..29897a4506 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -743,7 +743,7 @@ GLOBAL_LIST_EMPTY(PDAs) var/mob/M = loc M.put_in_hands(inserted_item) else - inserted_item.forceMove(get_turf(src)) + inserted_item.forceMove(drop_location()) to_chat(usr, "You remove \the [inserted_item] from \the [src].") inserted_item = null update_icon() From b3eab0058a4f2a8ef0ab7ba142a8434d65085ce9 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 21 May 2018 08:28:15 -0500 Subject: [PATCH 366/415] Automatic changelog generation for PR #6817 [ci skip] --- html/changelogs/AutoChangeLog-pr-6817.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6817.yml diff --git a/html/changelogs/AutoChangeLog-pr-6817.yml b/html/changelogs/AutoChangeLog-pr-6817.yml new file mode 100644 index 0000000000..696432b24e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6817.yml @@ -0,0 +1,4 @@ +author: "resistor" +delete-after: True +changes: + - rscadd: "Added circuit labels! You can now customize the description of your assemblies." From 0e09e1d6832d370a5595e2b0b0426957b00ba714 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 21 May 2018 08:28:49 -0500 Subject: [PATCH 367/415] Automatic changelog generation for PR #6820 [ci skip] --- html/changelogs/AutoChangeLog-pr-6820.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6820.yml diff --git a/html/changelogs/AutoChangeLog-pr-6820.yml b/html/changelogs/AutoChangeLog-pr-6820.yml new file mode 100644 index 0000000000..974a84fc54 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6820.yml @@ -0,0 +1,4 @@ +author: "Mickyan" +delete-after: True +changes: + - bugfix: "Pacifists can now use harm intent for actions that require it (but still can't harm!)" From 601fcf1384e56cf22d8b739b1e13d51c32a77985 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 21 May 2018 08:29:03 -0500 Subject: [PATCH 368/415] Automatic changelog generation for PR #6821 [ci skip] --- html/changelogs/AutoChangeLog-pr-6821.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6821.yml diff --git a/html/changelogs/AutoChangeLog-pr-6821.yml b/html/changelogs/AutoChangeLog-pr-6821.yml new file mode 100644 index 0000000000..d9787acb15 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6821.yml @@ -0,0 +1,4 @@ +author: "Nichlas0010" +delete-after: True +changes: + - spellcheck: "you now feel nauseated instead of nauseous" From add7e32628343b91266c20c3d8639f624287d310 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 21 May 2018 08:29:33 -0500 Subject: [PATCH 369/415] Automatic changelog generation for PR #6823 [ci skip] --- html/changelogs/AutoChangeLog-pr-6823.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6823.yml diff --git a/html/changelogs/AutoChangeLog-pr-6823.yml b/html/changelogs/AutoChangeLog-pr-6823.yml new file mode 100644 index 0000000000..010e1e1017 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6823.yml @@ -0,0 +1,4 @@ +author: "Denton" +delete-after: True +changes: + - balance: "Skewium is much less likely to appear during the Clogged Vents event." From 0529a3e52514619f14a22fbfb5c3bbcf4f469dbf Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 21 May 2018 08:29:49 -0500 Subject: [PATCH 370/415] Automatic changelog generation for PR #6825 [ci skip] --- html/changelogs/AutoChangeLog-pr-6825.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6825.yml diff --git a/html/changelogs/AutoChangeLog-pr-6825.yml b/html/changelogs/AutoChangeLog-pr-6825.yml new file mode 100644 index 0000000000..7fbde9cdf9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6825.yml @@ -0,0 +1,4 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - bugfix: "Removing an ID from a PDA in a backpack no longer hides the ID until something else updates." From 50a8bc3de8ac4da97215211fb659961cd6745af7 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 21 May 2018 08:30:07 -0500 Subject: [PATCH 371/415] Automatic changelog generation for PR #6815 [ci skip] --- html/changelogs/AutoChangeLog-pr-6815.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6815.yml diff --git a/html/changelogs/AutoChangeLog-pr-6815.yml b/html/changelogs/AutoChangeLog-pr-6815.yml new file mode 100644 index 0000000000..68d377a0c7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6815.yml @@ -0,0 +1,4 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - bugfix: "Pipe icons in the RPD now show properly in older versions of IE." From 02887eb721b08e0d3c559d3cfcec0126005dd4a1 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 21 May 2018 08:30:21 -0500 Subject: [PATCH 372/415] Automatic changelog generation for PR #6812 [ci skip] --- html/changelogs/AutoChangeLog-pr-6812.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6812.yml diff --git a/html/changelogs/AutoChangeLog-pr-6812.yml b/html/changelogs/AutoChangeLog-pr-6812.yml new file mode 100644 index 0000000000..16ce89de7f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6812.yml @@ -0,0 +1,4 @@ +author: "Nichlas0010" +delete-after: True +changes: + - bugfix: "Comms consoles won't update while viewing messages" From e415aac87a384e107c03f6eafed97f8d7104d319 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Mon, 21 May 2018 08:38:09 -0500 Subject: [PATCH 373/415] missed one --- modular_citadel/code/modules/client/loadout/__donator.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_citadel/code/modules/client/loadout/__donator.dm b/modular_citadel/code/modules/client/loadout/__donator.dm index 6c2bd35020..4dc40adea0 100644 --- a/modular_citadel/code/modules/client/loadout/__donator.dm +++ b/modular_citadel/code/modules/client/loadout/__donator.dm @@ -280,7 +280,7 @@ datum/gear/darksabresheath /datum/gear/techcoat name = "Techomancers Labcoat" - category = slot_in_backpack + category = SLOT_IN_BACKPACK path = /obj/item/clothing/suit/toggle/labcoat/mad/techcoat ckeywhitelist = list("wilchen") From 6167423c8510a4121bc2f3185e8cd58ba305ed61 Mon Sep 17 00:00:00 2001 From: Tad Hardesty Date: Sat, 19 May 2018 14:06:28 -0700 Subject: [PATCH 374/415] Fix formatting when emagging an R&D console --- code/modules/research/rdconsole.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 329bbbebee..17bacc01d7 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -193,7 +193,7 @@ doesn't have toxins access. /obj/machinery/computer/rdconsole/emag_act(mob/user) if(!(obj_flags & EMAGGED)) - to_chat(user, "You disable the security protocols[locked? " and unlock the console.":""].") + to_chat(user, "You disable the security protocols[locked? " and unlock the console":""].") playsound(src, "sparks", 75, 1) obj_flags |= EMAGGED locked = FALSE From f0c99c5f9c6ab26297b194ec16d6b3c2153f7c71 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Mon, 21 May 2018 12:32:44 -0500 Subject: [PATCH 376/415] Update life.dm --- code/modules/mob/living/carbon/human/life.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 3c1a03f3d6..ca6d71c00c 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -46,7 +46,7 @@ /mob/living/carbon/human/calculate_affecting_pressure(pressure) if(istype(loc, /obj/belly)) //START OF CIT CHANGES - Makes it so you don't suffocate while inside vore organs. Remind me to modularize this some time - Bhijn return ONE_ATMOSPHERE - if(istype(loc, /obj/item/device/dogborg/sleeper)) + if(istype(loc, /obj/item/dogborg/sleeper)) return ONE_ATMOSPHERE //END OF CIT CHANGES if (wear_suit && head && is_type_in_typecache(wear_suit, GLOB.typecache_clothing) && is_type_in_typecache(head, GLOB.typecache_clothing)) var/obj/item/clothing/CS = wear_suit From be6fd4f0caff15ae87b2dcb642e9b6cf58b3bd07 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Mon, 21 May 2018 12:33:14 -0500 Subject: [PATCH 377/415] Update vg_hats.dm --- code/modules/clothing/head/vg_hats.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/clothing/head/vg_hats.dm b/code/modules/clothing/head/vg_hats.dm index 56844193c6..be57619a7a 100644 --- a/code/modules/clothing/head/vg_hats.dm +++ b/code/modules/clothing/head/vg_hats.dm @@ -10,7 +10,6 @@ min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT heat_protection = HEAD max_heat_protection_temperature = SPACE_HELM_MAX_TEMP_PROTECT - flags_1 = STOPSPRESSUREDMAGE_1 strip_delay = 80 dog_fashion = null icon_override = 'modular_citadel/icons/mob/citadel/head.dmi' From 5964fa07122cb166c8dfb49955d0c8c18a9e64e1 Mon Sep 17 00:00:00 2001 From: ShizCalev Date: Sun, 20 May 2018 18:28:11 -0400 Subject: [PATCH 378/415] Fixes defibillator runtime --- code/game/objects/items/defib.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index 67465320a1..875b25a9a5 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -46,11 +46,11 @@ update_charge() /obj/item/defibrillator/proc/update_power() - if(cell) - if(cell.charge < paddles.revivecost) + if(!QDELETED(cell)) + if(QDELETED(paddles) || cell.charge < paddles.revivecost) powered = FALSE else - powered = 1 + powered = TRUE else powered = FALSE @@ -67,7 +67,7 @@ /obj/item/defibrillator/proc/update_charge() if(powered) //so it doesn't show charge if it's unpowered - if(cell) + if(!QDELETED(cell)) var/ratio = cell.charge / cell.maxcharge ratio = CEILING(ratio*4, 1) * 25 add_overlay("[initial(icon_state)]-charge[ratio]") From 60b3384695d62f5bbaba19f984a7173fbd6b1cce Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Mon, 21 May 2018 17:27:15 -0400 Subject: [PATCH 380/415] Merge pull request #37965 from AnturK/whatthecommentsays Fixes fire_act working on deleted things. --- code/modules/atmospherics/environmental/LINDA_fire.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/atmospherics/environmental/LINDA_fire.dm b/code/modules/atmospherics/environmental/LINDA_fire.dm index c58d14f4d4..a3c9c68d55 100644 --- a/code/modules/atmospherics/environmental/LINDA_fire.dm +++ b/code/modules/atmospherics/environmental/LINDA_fire.dm @@ -94,7 +94,7 @@ for(var/A in location) var/atom/AT = A - if(AT && AT != src) // It's possible that the item is deleted in temperature_expose + if(!QDELETED(AT) && AT != src) // It's possible that the item is deleted in temperature_expose AT.fire_act(temperature, volume) return From 9095d482154b726c2629f560997e5dc76f8706c2 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Mon, 21 May 2018 17:28:15 -0400 Subject: [PATCH 382/415] Merge pull request #37955 from AutomaticFrenzy/patch/airlock-autoclose Keep only the most recent airlock autoclose timer --- code/game/machinery/doors/airlock.dm | 8 +++----- code/game/machinery/doors/door.dm | 5 ++++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 76a0c39021..db0a9a5866 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -1070,10 +1070,8 @@ else playsound(src.loc, 'sound/machines/airlockforced.ogg', 30, 1) - if(autoclose && normalspeed) - addtimer(CALLBACK(src, .proc/autoclose), 150) - else if(autoclose && !normalspeed) - addtimer(CALLBACK(src, .proc/autoclose), 15) + if(autoclose) + autoclose_in(normalspeed ? 150 : 15) if(!density) return TRUE @@ -1106,7 +1104,7 @@ if(safe) for(var/atom/movable/M in get_turf(src)) if(M.density && M != src) //something is blocking the door - addtimer(CALLBACK(src, .proc/autoclose), 60) + autoclose_in(60) return if(forced < 2) diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 4685097de1..c7369a6d29 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -274,7 +274,7 @@ for(var/atom/movable/M in get_turf(src)) if(M.density && M != src) //something is blocking the door if(autoclose) - addtimer(CALLBACK(src, .proc/autoclose), 60) + autoclose_in(60) return operating = TRUE @@ -326,6 +326,9 @@ if(!QDELETED(src) && !density && !operating && !locked && !welded && autoclose) close() +/obj/machinery/door/proc/autoclose_in(wait) + addtimer(CALLBACK(src, .proc/autoclose), wait, TIMER_UNIQUE | TIMER_NO_HASH_WAIT | TIMER_OVERRIDE) + /obj/machinery/door/proc/requiresID() return 1 From 1766134062a9ce59084fd29298823a75b38e33e3 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Mon, 21 May 2018 17:31:02 -0400 Subject: [PATCH 384/415] Merge pull request #37943 from AutomaticFrenzy/patch/mind-over-matter Fix mindswap forcibly enabling ambient occlusion --- code/_onclick/hud/hud.dm | 4 +++- code/_onclick/hud/plane_master.dm | 1 + code/modules/client/preferences.dm | 4 +--- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index a17c07357e..e4318059d6 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -196,7 +196,9 @@ screenmob.client.screen -= infodisplay for(var/thing in plane_masters) - screenmob.client.screen += plane_masters[thing] + var/obj/screen/plane_master/PM = plane_masters[thing] + PM.backdrop(screenmob) + screenmob.client.screen += PM hud_version = display_hud_version persistent_inventory_update(screenmob) diff --git a/code/_onclick/hud/plane_master.dm b/code/_onclick/hud/plane_master.dm index 84add465c6..d4559ed66d 100644 --- a/code/_onclick/hud/plane_master.dm +++ b/code/_onclick/hud/plane_master.dm @@ -29,6 +29,7 @@ blend_mode = BLEND_OVERLAY /obj/screen/plane_master/game_world/backdrop(mob/mymob) + filters = list() if(istype(mymob) && mymob.client && mymob.client.prefs && mymob.client.prefs.ambientocclusion) filters += AMBIENT_OCCLUSION diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 231d375bb3..7eb1c25455 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1537,9 +1537,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) ambientocclusion = !ambientocclusion if(parent && parent.screen && parent.screen.len) var/obj/screen/plane_master/game_world/PM = locate(/obj/screen/plane_master/game_world) in parent.screen - PM.filters -= AMBIENT_OCCLUSION - if(ambientocclusion) - PM.filters += AMBIENT_OCCLUSION + PM.backdrop(parent.mob) if("save") save_preferences() From a3c3052f258635b057c0e3320124d2f177323bfe Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Mon, 21 May 2018 17:31:49 -0400 Subject: [PATCH 386/415] Merge pull request #37961 from AutomaticFrenzy/patch/ai-firelock Enable admin AI interaction for firelocks --- code/game/machinery/doors/firedoor.dm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 3f26e7d80d..4a2df11151 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -144,9 +144,7 @@ else close() -/obj/machinery/door/firedoor/interact(mob/user) - if(!issilicon(user)) - return TRUE +/obj/machinery/door/firedoor/attack_ai(mob/user) add_fingerprint(user) if(welded || operating || stat & NOPOWER) return TRUE @@ -156,6 +154,9 @@ close() return TRUE +/obj/machinery/door/firedoor/attack_robot(mob/user) + return attack_ai(user) + /obj/machinery/door/firedoor/attack_alien(mob/user) add_fingerprint(user) if(welded) From ec14a7c7ef2cc01b0c36ddaf896acb07dc67dcff Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Mon, 21 May 2018 17:33:32 -0400 Subject: [PATCH 388/415] Merge pull request #37944 from AutomaticFrenzy/patch/irv-jquery Remove second copy of jQuery used only by IRV polls --- code/modules/admin/create_poll.dm | 2 +- code/modules/client/asset_cache.dm | 7 ++++++- code/modules/mob/dead/new_player/new_player.dm | 1 + code/modules/mob/dead/new_player/poll.dm | 4 ++-- html/IRV/jquery-1.10.2.min.js | 6 ------ 5 files changed, 10 insertions(+), 10 deletions(-) delete mode 100644 html/IRV/jquery-1.10.2.min.js diff --git a/code/modules/admin/create_poll.dm b/code/modules/admin/create_poll.dm index b1cda46ece..90fd6c66c9 100644 --- a/code/modules/admin/create_poll.dm +++ b/code/modules/admin/create_poll.dm @@ -73,7 +73,7 @@ if(!option) return option = sanitizeSQL(option) - var/default_percentage_calc + var/default_percentage_calc = 0 if(polltype != POLLTYPE_IRV) switch(alert("Should this option be included by default when poll result percentages are generated?",,"Yes","No","Cancel")) if("Yes") diff --git a/code/modules/client/asset_cache.dm b/code/modules/client/asset_cache.dm index d3c09b2348..28a3ec23b9 100644 --- a/code/modules/client/asset_cache.dm +++ b/code/modules/client/asset_cache.dm @@ -467,7 +467,12 @@ GLOBAL_LIST_EMPTY(asset_datums) /datum/asset/simple/IRV assets = list( "jquery-ui.custom-core-widgit-mouse-sortable-min.js" = 'html/IRV/jquery-ui.custom-core-widgit-mouse-sortable-min.js', - "jquery-1.10.2.min.js" = 'html/IRV/jquery-1.10.2.min.js' + ) + +/datum/asset/group/IRV + children = list( + /datum/asset/simple/jquery, + /datum/asset/simple/IRV ) /datum/asset/simple/changelog diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm index c6cc8a70ac..9de78d307d 100644 --- a/code/modules/mob/dead/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -234,6 +234,7 @@ if(POLLTYPE_IRV) if (!href_list["IRVdata"]) to_chat(src, "No ordering data found. Please try again or contact an administrator.") + return var/list/votelist = splittext(href_list["IRVdata"], ",") if (!vote_on_irv_poll(pollid, votelist)) to_chat(src, "Vote failed, please try again or contact an administrator.") diff --git a/code/modules/mob/dead/new_player/poll.dm b/code/modules/mob/dead/new_player/poll.dm index d10e32a887..ce710e5186 100644 --- a/code/modules/mob/dead/new_player/poll.dm +++ b/code/modules/mob/dead/new_player/poll.dm @@ -211,7 +211,7 @@ src << browse(null ,"window=playerpolllist") src << browse(output,"window=playerpoll;size=500x250") if(POLLTYPE_IRV) - var/datum/asset/irv_assets = get_asset_datum(/datum/asset/simple/IRV) + var/datum/asset/irv_assets = get_asset_datum(/datum/asset/group/IRV) irv_assets.send(src) var/datum/DBQuery/query_irv_get_votes = SSdbcore.NewQuery("SELECT optionid FROM [format_table_name("poll_vote")] WHERE pollid = [pollid] AND ckey = '[ckey]'") @@ -267,7 +267,7 @@ - +