diff --git a/code/_globalvars/lists/loadout_categories.dm b/code/_globalvars/lists/loadout_categories.dm index 26c4ae17ffc3..db69507a10b4 100644 --- a/code/_globalvars/lists/loadout_categories.dm +++ b/code/_globalvars/lists/loadout_categories.dm @@ -15,7 +15,7 @@ GLOBAL_LIST_INIT(loadout_categories, list( LOADOUT_CATEGORY_SHOES = LOADOUT_SUBCATEGORIES_NONE, LOADOUT_CATEGORY_GLOVES = LOADOUT_SUBCATEGORIES_NONE, LOADOUT_CATEGORY_GLASSES = LOADOUT_SUBCATEGORIES_NONE, - LOADOUT_CATEGORY_DONATOR = list(LOADOUT_SUBCATEGORY_NONE, LOADOUT_SUBCATEGORIES_DON01, LOADOUT_SUBCATEGORIES_DON02, LOADOUT_SUBCATEGORIES_DON03, LOADOUT_SUBCATEGORIES_DON04), + LOADOUT_CATEGORY_DONATOR = list(LOADOUT_SUBCATEGORIES_DON01, LOADOUT_SUBCATEGORIES_DON02, LOADOUT_SUBCATEGORIES_DON03, LOADOUT_SUBCATEGORIES_DON04), LOADOUT_CATEGORY_UNLOCKABLE = LOADOUT_SUBCATEGORIES_NONE, LOADOUT_CATEGORY_GENERAL_UNDER = list(LOADOUT_SUBCATEGORY_UNDERWEAR, LOADOUT_SUBCATEGORY_SHIRT, LOADOUT_SUBCATEGORY_SOCKS), LOADOUT_CATEGORY_WRISTS = list(LOADOUT_SUBCATEGORY_WATCHES, LOADOUT_SUBCATEGORY_NONE), //DIDN'T NOTICE THIS diff --git a/code/modules/cargo/packs/materials.dm b/code/modules/cargo/packs/materials.dm index ca3da27bace6..5cbd1716f2d2 100644 --- a/code/modules/cargo/packs/materials.dm +++ b/code/modules/cargo/packs/materials.dm @@ -17,7 +17,7 @@ crate_type = /obj/structure/closet/secure_closet/cargo name = "50 Cardboard Sheets" desc = "Создайте кучу коробок." - cost = 300 //thrice their export value + cost = 3000 contains = list(/obj/item/stack/sheet/cardboard/fifty) /datum/supply_pack/materials/license50 @@ -31,14 +31,14 @@ crate_type = /obj/structure/closet/secure_closet/cargo name = "50 Стеклянных листов" desc = "Let some nice light in with fifty glass sheets!" - cost = 300 //double their export value + cost = 3000 contains = list(/obj/item/stack/sheet/glass/fifty) /datum/supply_pack/materials/metal50 crate_type = /obj/structure/closet/secure_closet/cargo name = "50 Metal Sheets" desc = "Любой строительный проект начинается с хорошей стопки из пятидесяти металлических листов!" - cost = 300 //double their export value + cost = 3000 contains = list(/obj/item/stack/sheet/metal/fifty) /datum/supply_pack/materials/plasteel20 @@ -52,21 +52,21 @@ crate_type = /obj/structure/closet/secure_closet/cargo name = "20 Plastic Sheets" desc = "Соберите неограниченное количество игрушек из пятидесяти пластиковых листов!" - cost = 200 // double their export + cost = 2000 contains = list(/obj/item/stack/sheet/plastic/twenty) /datum/supply_pack/materials/sandstone30 crate_type = /obj/structure/closet/secure_closet/cargo name = "30 Sandstone Blocks" desc = "Ни песчаные, ни каменные, эти тридцать блоков все равно выполнят свою работу." - cost = 150 // five times their export + cost = 1500 contains = list(/obj/item/stack/sheet/mineral/sandstone/thirty) /datum/supply_pack/materials/wood20 crate_type = /obj/structure/closet/secure_closet/cargo name = "20 Wood Planks" desc = "Превратите скучную плитку в красивый панельный пол и многое другое с помощью двадцати деревянных досок!" - cost = 400 // 6-7 planks shy from having equal import/export prices + cost = 4000 // 6-7 planks shy from having equal import/export prices contains = list(/obj/item/stack/sheet/mineral/wood/twenty) /datum/supply_pack/materials/rcdammo diff --git a/code/modules/jobs/job_types/service/assistant.dm b/code/modules/jobs/job_types/service/assistant.dm index d5a9fda002e1..ed8e50196936 100644 --- a/code/modules/jobs/job_types/service/assistant.dm +++ b/code/modules/jobs/job_types/service/assistant.dm @@ -17,7 +17,6 @@ Assistant paycheck = PAYCHECK_ASSISTANT // Get a job. Job reassignment changes your paycheck now. Get over it. paycheck_department = ACCOUNT_CIV display_order = JOB_DISPLAY_ORDER_ASSISTANT - dresscodecompliant = FALSE always_can_respawn_as = TRUE threat = 0.2 diff --git a/code/modules/jobs/job_types/service/clown.dm b/code/modules/jobs/job_types/service/clown.dm index 1c198c271f14..f2172aacb62f 100644 --- a/code/modules/jobs/job_types/service/clown.dm +++ b/code/modules/jobs/job_types/service/clown.dm @@ -77,7 +77,7 @@ /datum/outfit/job/clown/pre_equip(mob/living/carbon/human/H, visualsOnly) . = ..() if(HAS_TRAIT(SSstation, STATION_TRAIT_BANANIUM_SHIPMENTS)) - backpack_contents[/obj/item/stack/sheet/mineral/bananium] = 5 + backpack_contents[/obj/item/stack/sheet/mineral/bananium] = 25 /datum/outfit/job/clown/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE, client/preference_source) ..() diff --git a/code/modules/projectiles/guns/misc/medbeam.dm b/code/modules/projectiles/guns/misc/medbeam.dm index 4a64317fd9a8..4e53e3f608c4 100644 --- a/code/modules/projectiles/guns/misc/medbeam.dm +++ b/code/modules/projectiles/guns/misc/medbeam.dm @@ -14,6 +14,9 @@ var/datum/beam/current_beam = null var/mounted = 0 //Denotes if this is a handheld or mounted version + var/main_heal = -8 + var/second_heal = -2 + weapon_weight = WEAPON_MEDIUM /obj/item/gun/medbeam/Initialize(mapload) @@ -114,10 +117,10 @@ /obj/item/gun/medbeam/proc/on_beam_tick(var/mob/living/target) if(target.health != target.maxHealth) new /obj/effect/temp_visual/heal(get_turf(target), "#80F5FF") - target.adjustBruteLoss(-4) - target.adjustFireLoss(-4) - target.adjustToxLoss(-1, forced = TRUE) - target.adjustOxyLoss(-1) + target.adjustBruteLoss(main_heal) + target.adjustFireLoss(main_heal) + target.adjustToxLoss(second_heal, forced = TRUE) + target.adjustOxyLoss(second_heal) return /obj/item/gun/medbeam/proc/on_beam_release(var/mob/living/target) @@ -129,6 +132,8 @@ //////////////////////////////Mech Version/////////////////////////////// /obj/item/gun/medbeam/mech mounted = 1 + main_heal = -16 + second_heal = -4 /obj/item/gun/medbeam/mech/Initialize(mapload) . = ..() diff --git a/code/modules/research/designs/mecha_designs.dm b/code/modules/research/designs/mecha_designs.dm index 5099c6f108d1..bff707f40774 100644 --- a/code/modules/research/designs/mecha_designs.dm +++ b/code/modules/research/designs/mecha_designs.dm @@ -41,6 +41,7 @@ build_path = /obj/item/circuitboard/mecha/gygax/main category = list("Exosuit Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE + min_security_level = SEC_LEVEL_AMBER /datum/design/board/gygax_peri name = "\"Gygax\" Peripherals Control module" @@ -49,6 +50,7 @@ build_path = /obj/item/circuitboard/mecha/gygax/peripherals category = list("Exosuit Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE + min_security_level = SEC_LEVEL_AMBER /datum/design/board/gygax_targ name = "\"Gygax\" Weapons & Targeting Control module" @@ -57,6 +59,7 @@ build_path = /obj/item/circuitboard/mecha/gygax/targeting category = list("Exosuit Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE + min_security_level = SEC_LEVEL_AMBER /datum/design/board/durand_main name = "\"Durand\" Central Control module" @@ -65,6 +68,7 @@ build_path = /obj/item/circuitboard/mecha/durand/main category = list("Exosuit Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE + min_security_level = SEC_LEVEL_AMBER /datum/design/board/durand_peri name = "\"Durand\" Peripherals Control module" @@ -73,6 +77,7 @@ build_path = /obj/item/circuitboard/mecha/durand/peripherals category = list("Exosuit Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE + min_security_level = SEC_LEVEL_AMBER /datum/design/board/durand_targ name = "\"Durand\" Weapons & Targeting Control module" @@ -81,6 +86,7 @@ build_path = /obj/item/circuitboard/mecha/durand/targeting category = list("Exosuit Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE + min_security_level = SEC_LEVEL_AMBER /datum/design/board/honker_main name = "\"H.O.N.K\" Central Control module" @@ -114,6 +120,7 @@ build_path = /obj/item/circuitboard/mecha/phazon/main category = list("Exosuit Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE + min_security_level = SEC_LEVEL_RED /datum/design/board/phazon_peri name = "\"Phazon\" Peripherals Control module" @@ -123,6 +130,7 @@ build_path = /obj/item/circuitboard/mecha/phazon/peripherals category = list("Exosuit Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE + min_security_level = SEC_LEVEL_RED /datum/design/board/phazon_targ name = "\"Phazon\" Weapons & Targeting Control module" @@ -132,6 +140,7 @@ build_path = /obj/item/circuitboard/mecha/phazon/targeting category = list("Exosuit Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE + min_security_level = SEC_LEVEL_RED //////////////////////////////////////// /////////// Mecha Equpment ///////////// @@ -146,6 +155,7 @@ materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") + min_security_level = SEC_LEVEL_RED /datum/design/mech_seedscatter name = "Exosuit Weapon (Melon Seed \"Scattershot\")" @@ -156,6 +166,7 @@ materials = list(/datum/material/iron=10000, /datum/material/glass = 10000) construction_time = 70 category = list("Exosuit Equipment") + min_security_level = SEC_LEVEL_RED /datum/design/mech_scattershot_ammo name = "Scattershot Ammunition" @@ -167,6 +178,7 @@ construction_time = 20 category = list("Exosuit Ammunition", "Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY + min_security_level = SEC_LEVEL_RED /datum/design/mech_carbine name = "Exosuit Weapon (FNX-99 \"Hades\" Carbine)" @@ -177,6 +189,7 @@ materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") + min_security_level = SEC_LEVEL_RED /datum/design/mech_carbine_ammo name = "FNX-99 Carbine Ammunition" @@ -188,6 +201,7 @@ construction_time = 20 category = list("Exosuit Ammunition", "Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY + min_security_level = SEC_LEVEL_RED /datum/design/mech_ion name = "Exosuit Weapon (MKIV Ion Heavy Cannon)" @@ -198,6 +212,7 @@ materials = list(/datum/material/iron=20000,/datum/material/silver=6000,/datum/material/uranium=2000) construction_time = 100 category = list("Exosuit Equipment") + min_security_level = SEC_LEVEL_RED /datum/design/mech_tesla name = "Exosuit Weapon (MKI Tesla Cannon)" @@ -208,6 +223,7 @@ materials = list(/datum/material/iron=20000,/datum/material/silver=8000) construction_time = 100 category = list("Exosuit Equipment") + min_security_level = SEC_LEVEL_RED /datum/design/mech_laser name = "Exosuit Weapon (CH-PS \"Immolator\" Laser)" @@ -218,6 +234,7 @@ materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") + min_security_level = SEC_LEVEL_RED /datum/design/mech_laser_heavy name = "Exosuit Weapon (CH-LC \"Solaris\" Laser Cannon)" @@ -228,6 +245,7 @@ materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") + min_security_level = SEC_LEVEL_RED /datum/design/mech_grenade_launcher name = "Exosuit Weapon (SGL-6 Grenade Launcher)" @@ -238,6 +256,7 @@ materials = list(/datum/material/iron=22000,/datum/material/gold=6000,/datum/material/silver=8000) construction_time = 100 category = list("Exosuit Equipment") + min_security_level = SEC_LEVEL_AMBER /datum/design/mech_grenade_launcher_ammo name = "SGL-6 Grenade Launcher Ammunition" @@ -249,6 +268,7 @@ construction_time = 20 category = list("Exosuit Ammunition", "Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY + min_security_level = SEC_LEVEL_AMBER /datum/design/mech_missile_rack name = "Exosuit Weapon (BRM-6 Missile Rack)" @@ -259,6 +279,7 @@ materials = list(/datum/material/iron=22000,/datum/material/gold=6000,/datum/material/silver=8000) construction_time = 100 category = list("Exosuit Equipment") + min_security_level = SEC_LEVEL_RED /datum/design/mech_missile_rack_ammo name = "BRM-6 Missile Rack Ammunition" @@ -270,6 +291,7 @@ construction_time = 20 category = list("Exosuit Ammunition", "Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY + min_security_level = SEC_LEVEL_RED /datum/design/clusterbang_launcher name = "Exosuit Module (SOB-3 Clusterbang Launcher)" @@ -280,6 +302,7 @@ materials = list(/datum/material/iron=20000,/datum/material/gold=10000,/datum/material/uranium=10000) construction_time = 100 category = list("Exosuit Equipment") + min_security_level = SEC_LEVEL_AMBER /datum/design/clusterbang_launcher_ammo name = "SOB-3 Clusterbang Launcher Ammunition" @@ -291,6 +314,7 @@ construction_time = 20 category = list("Exosuit Ammunition", "Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY + min_security_level = SEC_LEVEL_AMBER /datum/design/mech_wormhole_gen name = "Exosuit Module (Localized Wormhole Generator)" @@ -411,6 +435,7 @@ materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") + min_security_level = SEC_LEVEL_BLUE /datum/design/mech_lmg name = "Exosuit Weapon (\"Ultra AC 2\" LMG)" @@ -421,6 +446,7 @@ materials = list(/datum/material/iron=10000) construction_time = 100 category = list("Exosuit Equipment") + min_security_level = SEC_LEVEL_RED /datum/design/mech_lmg_ammo name = "Ultra AC 2 Ammunition" @@ -432,6 +458,7 @@ construction_time = 20 category = list("Exosuit Ammunition", "Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY + min_security_level = SEC_LEVEL_RED /datum/design/mech_sleeper name = "Exosuit Medical Equipment (Mounted Sleeper)" @@ -462,3 +489,52 @@ construction_time = 250 build_path = /obj/item/mecha_parts/mecha_equipment/medical/mechmedbeam category = list("Exosuit Equipment") + +/datum/design/thrusters + name = "Exosuit Thrusters" + desc = "Реактивный двигатель для меха." + id = "mech_thrusters" + build_type = MECHFAB + build_path = /obj/item/mecha_parts/mecha_equipment/thrusters + materials = list(/datum/material/iron=10000) + construction_time = 100 + category = list("Exosuit Equipment") + +/datum/design/combat_mech_beacon + name = "Combat Mech Beacon" + desc = "Combat Mech Beacon" + id = "combat_mech_beacon" + build_type = PROTOLATHE + build_path = /obj/item/choice_beacon/pact_mecha + materials = list(/datum/material/iron=200000,/datum/material/gold=15000,/datum/material/uranium=15000, /datum/material/titanium=15000, /datum/material/diamond=15000) + construction_time = 20 + category = list("Exosuit Modules") + departmental_flags = DEPARTMENTAL_FLAG_SECURITY + min_security_level = SEC_LEVEL_RED + +/datum/design/combat_mech_beacon/medical + name = "Medical Mech Beacon" + desc = "Medical Mech Beacon" + id = "medical_mech_beacon" + build_path = /obj/item/choice_beacon/pact_mecha/medical + materials = list(/datum/material/iron=200000,/datum/material/glass=25000, /datum/material/silver=25000) + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + min_security_level = SEC_LEVEL_BLUE + +/datum/design/combat_mech_beacon/cargo + name = "Cargo Mech Beacon" + desc = "Cargo Mech Beacon" + id = "cargo_mech_beacon" + build_path = /obj/item/choice_beacon/pact_mecha/cargo + materials = list(/datum/material/iron=200000,/datum/material/glass=25000, /datum/material/silver=25000) + departmental_flags = DEPARTMENTAL_FLAG_CARGO + min_security_level = SEC_LEVEL_BLUE + +/datum/design/combat_mech_beacon/engineer + name = "Engineer Mech Beacon" + desc = "Engineer Mech Beacon" + id = "engineer_mech_beacon" + build_path = /obj/item/choice_beacon/pact_mecha/engineer + materials = list(/datum/material/iron=200000,/datum/material/glass=25000, /datum/material/silver=25000) + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING + min_security_level = SEC_LEVEL_BLUE diff --git a/code/modules/research/designs/mechfabricator_designs.dm b/code/modules/research/designs/mechfabricator_designs.dm index 553d8868addf..a7bb289e1baa 100644 --- a/code/modules/research/designs/mechfabricator_designs.dm +++ b/code/modules/research/designs/mechfabricator_designs.dm @@ -200,6 +200,7 @@ materials = list(/datum/material/iron=20000) construction_time = 100 category = list("Gygax") + min_security_level = SEC_LEVEL_AMBER /datum/design/gygax_torso name = "Exosuit Torso (\"Gygax\")" @@ -209,6 +210,7 @@ materials = list(/datum/material/iron=20000,/datum/material/glass=10000,/datum/material/diamond=2000) construction_time = 300 category = list("Gygax") + min_security_level = SEC_LEVEL_AMBER /datum/design/gygax_head name = "Exosuit Head (\"Gygax\")" @@ -218,6 +220,7 @@ materials = list(/datum/material/iron=10000,/datum/material/glass=5000, /datum/material/diamond=2000) construction_time = 200 category = list("Gygax") + min_security_level = SEC_LEVEL_AMBER /datum/design/gygax_left_arm name = "Exosuit Left Arm (\"Gygax\")" @@ -227,6 +230,7 @@ materials = list(/datum/material/iron=15000, /datum/material/diamond=1000) construction_time = 200 category = list("Gygax") + min_security_level = SEC_LEVEL_AMBER /datum/design/gygax_right_arm name = "Exosuit Right Arm (\"Gygax\")" @@ -236,6 +240,7 @@ materials = list(/datum/material/iron=15000, /datum/material/diamond=1000) construction_time = 200 category = list("Gygax") + min_security_level = SEC_LEVEL_AMBER /datum/design/gygax_left_leg name = "Exosuit Left Leg (\"Gygax\")" @@ -245,6 +250,7 @@ materials = list(/datum/material/iron=15000, /datum/material/diamond=2000) construction_time = 200 category = list("Gygax") + min_security_level = SEC_LEVEL_AMBER /datum/design/gygax_right_leg name = "Exosuit Right Leg (\"Gygax\")" @@ -254,6 +260,7 @@ materials = list(/datum/material/iron=15000, /datum/material/diamond=2000) construction_time = 200 category = list("Gygax") + min_security_level = SEC_LEVEL_AMBER /datum/design/gygax_armor name = "Exosuit Armor (\"Gygax\")" @@ -263,6 +270,7 @@ materials = list(/datum/material/iron=15000,/datum/material/diamond=10000,/datum/material/titanium=10000) construction_time = 600 category = list("Gygax") + min_security_level = SEC_LEVEL_AMBER //Medical Gygax /datum/design/medigax_chassis @@ -273,6 +281,7 @@ materials = list(/datum/material/iron=20000) construction_time = 100 category = list("Medical-Spec Gygax") + min_security_level = SEC_LEVEL_BLUE /datum/design/medigax_torso name = "Exosuit Torso (\"Medical Gygax\")" @@ -282,6 +291,7 @@ materials = list(/datum/material/iron=20000,/datum/material/glass=10000,/datum/material/diamond=2000) construction_time = 300 category = list("Medical-Spec Gygax") + min_security_level = SEC_LEVEL_BLUE /datum/design/medigax_head name = "Exosuit Head (\"Medical Gygax\")" @@ -291,6 +301,7 @@ materials = list(/datum/material/iron=10000,/datum/material/glass=5000, /datum/material/diamond=2000) construction_time = 200 category = list("Medical-Spec Gygax") + min_security_level = SEC_LEVEL_BLUE /datum/design/medigax_left_arm name = "Exosuit Left Arm (\"Medical Gygax\")" @@ -300,6 +311,7 @@ materials = list(/datum/material/iron=15000, /datum/material/diamond=1000) construction_time = 200 category = list("Medical-Spec Gygax") + min_security_level = SEC_LEVEL_BLUE /datum/design/medigax_right_arm name = "Exosuit Right Arm (\"Medical Gygax\")" @@ -309,6 +321,7 @@ materials = list(/datum/material/iron=15000, /datum/material/diamond=1000) construction_time = 200 category = list("Medical-Spec Gygax") + min_security_level = SEC_LEVEL_BLUE /datum/design/medigax_left_leg name = "Exosuit Left Leg (\"Medical Gygax\")" @@ -318,6 +331,7 @@ materials = list(/datum/material/iron=15000, /datum/material/diamond=2000) construction_time = 200 category = list("Medical-Spec Gygax") + min_security_level = SEC_LEVEL_BLUE /datum/design/medigax_right_leg name = "Exosuit Right Leg (\"Medical Gygax\")" @@ -327,6 +341,7 @@ materials = list(/datum/material/iron=15000, /datum/material/diamond=2000) construction_time = 200 category = list("Medical-Spec Gygax") + min_security_level = SEC_LEVEL_BLUE /datum/design/medigax_armor name = "Exosuit Armor (\"Medical Gygax\")" @@ -336,6 +351,7 @@ materials = list(/datum/material/iron=15000,/datum/material/diamond=10000,/datum/material/titanium=10000) construction_time = 600 category = list("Medical-Spec Gygax") + min_security_level = SEC_LEVEL_BLUE //Durand /datum/design/durand_chassis @@ -346,6 +362,7 @@ materials = list(/datum/material/iron=25000) construction_time = 100 category = list("Durand") + min_security_level = SEC_LEVEL_AMBER /datum/design/durand_torso name = "Exosuit Torso (\"Durand\")" @@ -355,6 +372,7 @@ materials = list(/datum/material/iron=25000,/datum/material/glass=10000,/datum/material/silver=10000) construction_time = 300 category = list("Durand") + min_security_level = SEC_LEVEL_AMBER /datum/design/durand_head name = "Exosuit Head (\"Durand\")" @@ -364,6 +382,7 @@ materials = list(/datum/material/iron=10000,/datum/material/glass=15000,/datum/material/silver=2000) construction_time = 200 category = list("Durand") + min_security_level = SEC_LEVEL_AMBER /datum/design/durand_left_arm name = "Exosuit Left Arm (\"Durand\")" @@ -373,6 +392,7 @@ materials = list(/datum/material/iron=10000,/datum/material/silver=4000) construction_time = 200 category = list("Durand") + min_security_level = SEC_LEVEL_AMBER /datum/design/durand_right_arm name = "Exosuit Right Arm (\"Durand\")" @@ -382,6 +402,7 @@ materials = list(/datum/material/iron=10000,/datum/material/silver=4000) construction_time = 200 category = list("Durand") + min_security_level = SEC_LEVEL_AMBER /datum/design/durand_left_leg name = "Exosuit Left Leg (\"Durand\")" @@ -391,6 +412,7 @@ materials = list(/datum/material/iron=15000,/datum/material/silver=4000) construction_time = 200 category = list("Durand") + min_security_level = SEC_LEVEL_AMBER /datum/design/durand_right_leg name = "Exosuit Right Leg (\"Durand\")" @@ -400,6 +422,7 @@ materials = list(/datum/material/iron=15000,/datum/material/silver=4000) construction_time = 200 category = list("Durand") + min_security_level = SEC_LEVEL_AMBER /datum/design/durand_armor name = "Exosuit Armor (\"Durand\")" @@ -409,6 +432,7 @@ materials = list(/datum/material/iron=30000,/datum/material/uranium=25000,/datum/material/titanium=20000) construction_time = 600 category = list("Durand") + min_security_level = SEC_LEVEL_AMBER //H.O.N.K /datum/design/honk_chassis @@ -484,6 +508,7 @@ materials = list(/datum/material/iron=20000) construction_time = 100 category = list("Phazon") + min_security_level = SEC_LEVEL_RED /datum/design/phazon_torso name = "Exosuit Torso (\"Phazon\")" @@ -493,6 +518,7 @@ materials = list(/datum/material/iron=35000,/datum/material/glass=10000,/datum/material/plasma=20000) construction_time = 300 category = list("Phazon") + min_security_level = SEC_LEVEL_RED /datum/design/phazon_head name = "Exosuit Head (\"Phazon\")" @@ -502,6 +528,7 @@ materials = list(/datum/material/iron=15000,/datum/material/glass=5000,/datum/material/plasma=10000) construction_time = 200 category = list("Phazon") + min_security_level = SEC_LEVEL_RED /datum/design/phazon_left_arm name = "Exosuit Left Arm (\"Phazon\")" @@ -511,6 +538,7 @@ materials = list(/datum/material/iron=20000,/datum/material/plasma=10000) construction_time = 200 category = list("Phazon") + min_security_level = SEC_LEVEL_RED /datum/design/phazon_right_arm name = "Exosuit Right Arm (\"Phazon\")" @@ -520,6 +548,7 @@ materials = list(/datum/material/iron=20000,/datum/material/plasma=10000) construction_time = 200 category = list("Phazon") + min_security_level = SEC_LEVEL_RED /datum/design/phazon_left_leg name = "Exosuit Left Leg (\"Phazon\")" @@ -529,6 +558,7 @@ materials = list(/datum/material/iron=20000,/datum/material/plasma=10000) construction_time = 200 category = list("Phazon") + min_security_level = SEC_LEVEL_RED /datum/design/phazon_right_leg name = "Exosuit Right Leg (\"Phazon\")" @@ -538,6 +568,7 @@ materials = list(/datum/material/iron=20000,/datum/material/plasma=10000) construction_time = 200 category = list("Phazon") + min_security_level = SEC_LEVEL_RED /datum/design/phazon_armor name = "Exosuit Armor (\"Phazon\")" @@ -547,6 +578,7 @@ materials = list(/datum/material/iron=25000,/datum/material/plasma=20000,/datum/material/titanium=20000) construction_time = 300 category = list("Phazon") + min_security_level = SEC_LEVEL_RED //Exosuit Equipment /datum/design/mech_hydraulic_clamp @@ -714,6 +746,7 @@ materials = list(/datum/material/iron=10000,/datum/material/glass=15000,/datum/material/diamond = 10000) construction_time = 120 category = list("Cyborg Upgrade Modules") + min_security_level = SEC_LEVEL_RED /datum/design/borg_transform_clown name = "Cyborg Upgrade (Clown Module)" @@ -839,7 +872,7 @@ name = "Exosuit Tracking Beacon" id = "mecha_tracking" build_type = MECHFAB - build_path =/obj/item/mecha_parts/mecha_tracking + build_path = /obj/item/mecha_parts/mecha_tracking materials = list(/datum/material/iron=500) construction_time = 50 category = list("Misc") diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index d40300aaa5c4..79bfd32fd938 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -548,7 +548,7 @@ build_path = /obj/item/organ/eyes/robotic/thermals category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL - min_security_level = SEC_LEVEL_AMBER + min_security_level = SEC_LEVEL_RED /datum/design/cyberimp_antidrop name = "Anti-Drop Implant" @@ -560,7 +560,7 @@ build_path = /obj/item/organ/cyberimp/brain/anti_drop category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL - min_security_level = SEC_LEVEL_BLUE + min_security_level = SEC_LEVEL_AMBER /datum/design/cyberimp_antistun name = "CNS Rebooter Implant" @@ -572,7 +572,7 @@ build_path = /obj/item/organ/cyberimp/brain/anti_stun category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL - min_security_level = SEC_LEVEL_BLUE + min_security_level = SEC_LEVEL_AMBER /datum/design/cyberimp_robot_radshielding name = "ECC System Guard Implant" @@ -617,7 +617,7 @@ build_path = /obj/item/organ/cyberimp/chest/reviver category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL - min_security_level = SEC_LEVEL_BLUE + min_security_level = SEC_LEVEL_AMBER /datum/design/cyberimp_thrusters name = "Thrusters Set Implant" @@ -629,7 +629,7 @@ build_path = /obj/item/organ/cyberimp/chest/thrusters category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL - min_security_level = SEC_LEVEL_BLUE + min_security_level = SEC_LEVEL_AMBER ///////////////////////////////////////// ////////////Regular Implants///////////// diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index b934ae11dcab..43a344f2ae41 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -16,7 +16,7 @@ name = "Speed Loader (.38)" id = "sec_38lethal" build_path = /obj/item/ammo_box/c38/lethal - min_security_level = SEC_LEVEL_AMBER + min_security_level = SEC_LEVEL_RED /datum/design/c38_trac name = "Speed Loader (.38 TRAC)" @@ -27,7 +27,7 @@ build_path = /obj/item/ammo_box/c38/trac category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY - min_security_level = SEC_LEVEL_BLUE + min_security_level = SEC_LEVEL_RED /datum/design/c38_hotshot name = "Speed Loader (.38 Hot Shot)" @@ -38,7 +38,7 @@ build_path = /obj/item/ammo_box/c38/hotshot category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY - min_security_level = SEC_LEVEL_AMBER + min_security_level = SEC_LEVEL_RED /datum/design/c38_iceblox name = "Speed Loader (.38 Iceblox)" @@ -49,7 +49,7 @@ build_path = /obj/item/ammo_box/c38/iceblox category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY - min_security_level = SEC_LEVEL_AMBER + min_security_level = SEC_LEVEL_RED ////////////////// //Mag-Rifle Mags// @@ -64,7 +64,7 @@ build_path = /obj/item/ammo_box/magazine/mmag/lethal category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY - min_security_level = SEC_LEVEL_AMBER + min_security_level = SEC_LEVEL_RED /datum/design/mag_magrifle/nl name = "Magrifle Magazine (Non-Lethal)" @@ -83,7 +83,7 @@ build_path = /obj/item/ammo_box/magazine/mmag/small/lethal category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY - min_security_level = SEC_LEVEL_AMBER + min_security_level = SEC_LEVEL_RED /datum/design/mag_magpistol/nl name = "Magpistol Magazine (Non-Lethal)" @@ -106,7 +106,7 @@ build_path = /obj/item/ammo_box/magazine/wt550m9 category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY - min_security_level = SEC_LEVEL_AMBER + min_security_level = SEC_LEVEL_RED /datum/design/mag_oldsmg/ap_mag name = "WT-550 Semi-Auto SMG Armour Piercing Magazine (4.6x30mm AP)" @@ -115,7 +115,7 @@ materials = list(/datum/material/iron = 6000, /datum/material/silver = 600) build_path = /obj/item/ammo_box/magazine/wt550m9/wtap departmental_flags = DEPARTMENTAL_FLAG_SECURITY - min_security_level = SEC_LEVEL_AMBER + min_security_level = SEC_LEVEL_RED /datum/design/mag_oldsmg/ic_mag name = "WT-550 Semi-Auto SMG Incendiary Magazine (4.6x30mm IC)" @@ -141,7 +141,7 @@ materials = list(/datum/material/iron = 6000) build_path = /obj/item/ammo_box/magazine/wt550m9/wtrubber departmental_flags = DEPARTMENTAL_FLAG_SECURITY - min_security_level = SEC_LEVEL_BLUE + min_security_level = SEC_LEVEL_AMBER ////////////// //Ammo Shells/ @@ -155,46 +155,49 @@ build_path = /obj/item/ammo_box/shotgun category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY + min_security_level = SEC_LEVEL_BLUE /datum/design/beanbag_slug/sec id = "sec_beanbag" build_type = PROTOLATHE category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY + min_security_level = SEC_LEVEL_BLUE /datum/design/rubbershot/sec id = "sec_rshot" build_type = PROTOLATHE category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY + min_security_level = SEC_LEVEL_AMBER /datum/design/shotgun_slug/sec id = "sec_slug" build_type = PROTOLATHE category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY - min_security_level = SEC_LEVEL_AMBER + min_security_level = SEC_LEVEL_RED /datum/design/buckshot_shell/sec id = "sec_bshot" build_type = PROTOLATHE category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY - min_security_level = SEC_LEVEL_BLUE + min_security_level = SEC_LEVEL_RED /datum/design/shotgun_dart/sec id = "sec_dart" build_type = PROTOLATHE category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY - min_security_level = SEC_LEVEL_BLUE + min_security_level = SEC_LEVEL_RED /datum/design/incendiary_slug/sec id = "sec_islug" build_type = PROTOLATHE category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY - min_security_level = SEC_LEVEL_AMBER + min_security_level = SEC_LEVEL_RED /datum/design/stunshell name = "Stun Shell" @@ -205,6 +208,7 @@ build_path = /obj/item/ammo_casing/shotgun/stunslug category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_SCIENCE + min_security_level = SEC_LEVEL_AMBER /datum/design/techshell name = "Unloaded Technological Shotshell" @@ -241,6 +245,7 @@ build_path = /obj/item/firing_pin/test_range category = list("Firing Pins") departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_SCIENCE + min_security_level = SEC_LEVEL_BLUE /datum/design/pin_mindshield name = "Mindshield Firing Pin" @@ -251,6 +256,7 @@ build_path = /obj/item/firing_pin/implant/mindshield category = list("Firing Pins") departmental_flags = DEPARTMENTAL_FLAG_SECURITY + min_security_level = SEC_LEVEL_AMBER /datum/design/pin_explorer name = "Outback Firing Pin" @@ -261,6 +267,7 @@ build_path = /obj/item/firing_pin/explorer category = list("Firing Pins") departmental_flags = DEPARTMENTAL_FLAG_SECURITY + min_security_level = SEC_LEVEL_BLUE ////////////// //Guns//////// @@ -275,7 +282,7 @@ build_path = /obj/item/gun/energy/laser/carbine/nopin category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY - min_security_level = SEC_LEVEL_AMBER + min_security_level = SEC_LEVEL_RED /datum/design/stunrevolver name = "Tesla Revolver" @@ -286,7 +293,7 @@ build_path = /obj/item/gun/energy/tesla_revolver category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY - min_security_level = SEC_LEVEL_AMBER + min_security_level = SEC_LEVEL_RED /datum/design/nuclear_gun name = "Advanced Energy Gun" @@ -297,7 +304,7 @@ build_path = /obj/item/gun/energy/e_gun/nuclear category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY - min_security_level = SEC_LEVEL_AMBER + min_security_level = SEC_LEVEL_RED /datum/design/beamrifle name = "Beam Marksman Rifle" @@ -308,7 +315,7 @@ build_path = /obj/item/gun/energy/beam_rifle category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY - min_security_level = SEC_LEVEL_AMBER + min_security_level = SEC_LEVEL_RED /datum/design/decloner name = "Decloner" @@ -331,7 +338,7 @@ build_path = /obj/item/gun/syringe/rapidsyringe category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL - min_security_level = SEC_LEVEL_AMBER + min_security_level = SEC_LEVEL_RED /datum/design/temp_gun name = "Temperature Gun" @@ -342,7 +349,7 @@ build_path = /obj/item/gun/energy/temperature category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY - min_security_level = SEC_LEVEL_AMBER + min_security_level = SEC_LEVEL_RED /datum/design/flora_gun name = "Floral Somatoray" @@ -363,7 +370,7 @@ build_path = /obj/item/gun/energy/xray category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY - min_security_level = SEC_LEVEL_AMBER + min_security_level = SEC_LEVEL_RED /datum/design/ioncarbine name = "Ion Carbine" @@ -374,7 +381,7 @@ build_path = /obj/item/gun/energy/ionrifle/carbine category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY - min_security_level = SEC_LEVEL_AMBER + min_security_level = SEC_LEVEL_RED /datum/design/wormhole_projector name = "Bluespace Wormhole Projector" @@ -405,7 +412,7 @@ build_path = /obj/item/gun/energy/kinetic_accelerator/crossbow/large category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY - min_security_level = SEC_LEVEL_AMBER + min_security_level = SEC_LEVEL_RED /datum/design/magpistol name = "Magpistol" @@ -442,6 +449,7 @@ build_path = /obj/item/grenade/chem_grenade/large category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE + min_security_level = SEC_LEVEL_BLUE /datum/design/pyro_grenade name = "Pyro Grenade" @@ -452,6 +460,7 @@ build_path = /obj/item/grenade/chem_grenade/pyro category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE + min_security_level = SEC_LEVEL_BLUE /datum/design/cryo_grenade name = "Cryo Grenade" @@ -462,6 +471,7 @@ build_path = /obj/item/grenade/chem_grenade/cryo category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE + min_security_level = SEC_LEVEL_BLUE /datum/design/adv_grenade name = "Advanced Release Grenade" @@ -472,6 +482,7 @@ build_path = /obj/item/grenade/chem_grenade/adv_release category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE + min_security_level = SEC_LEVEL_BLUE /////////// //Shields// @@ -486,6 +497,7 @@ build_path = /obj/item/shield/riot/tele category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY + min_security_level = SEC_LEVEL_BLUE /datum/design/energy_shield name = "Energy Resistant Shield" @@ -496,6 +508,7 @@ build_path = /obj/item/shield/riot/energy_proof category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY + min_security_level = SEC_LEVEL_BLUE /datum/design/kinetic_shield name = "Kinetic Resistant Shield" @@ -506,6 +519,7 @@ build_path = /obj/item/shield/riot/kinetic_proof category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY + min_security_level = SEC_LEVEL_BLUE ////////// //MISC//// @@ -520,6 +534,7 @@ build_path = /obj/item/suppressor category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY + min_security_level = SEC_LEVEL_BLUE /datum/design/cleric_mace name = "Cleric Mace" diff --git a/code/modules/research/machinery/departmental_techfab.dm b/code/modules/research/machinery/departmental_techfab.dm index 7fd5f9a94605..0f6ecd6a0620 100644 --- a/code/modules/research/machinery/departmental_techfab.dm +++ b/code/modules/research/machinery/departmental_techfab.dm @@ -39,4 +39,4 @@ allowed_department_flags = DEPARTMENTAL_FLAG_ALL|DEPARTMENTAL_FLAG_SECURITY department_tag = "Security" circuit = /obj/item/circuitboard/machine/techfab/department/security - lathe_prod_time = 1.3 + lathe_prod_time = 1 diff --git a/code/modules/research/techweb/nodes/mecha_nodes.dm b/code/modules/research/techweb/nodes/mecha_nodes.dm index 88a7ba5d1c57..8b14dde1f6bb 100644 --- a/code/modules/research/techweb/nodes/mecha_nodes.dm +++ b/code/modules/research/techweb/nodes/mecha_nodes.dm @@ -68,12 +68,20 @@ "phazon_peri", "phazon_targ", "phazon_armor") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3000) +/datum/techweb_node/medigax + id = "mech_medigax" + display_name = "EXOSUIT: Medical-Spec Gygax" + description = "Medical-Spec Gygax designs" + prereq_ids = list("mech_gygax", "mecha_odysseus", "mech_durand", "adv_mecha") + design_ids = list("combat_mech_beacon", "medical_mech_beacon", "engineer_mech_beacon", "cargo_mech_beacon") + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3000) + /datum/techweb_node/adv_mecha_tools id = "adv_mecha_tools" display_name = "Advanced Exosuit Equipment" description = "Tools for high level mech suits" prereq_ids = list("adv_mecha") - design_ids = list("mech_rcd") + design_ids = list("mech_rcd", "mech_thrusters") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) /datum/techweb_node/med_mech_tools diff --git a/code/modules/vehicles/mecha/_mecha.dm b/code/modules/vehicles/mecha/_mecha.dm index 1dd5104a73e7..7e6b8bcfa256 100644 --- a/code/modules/vehicles/mecha/_mecha.dm +++ b/code/modules/vehicles/mecha/_mecha.dm @@ -301,7 +301,7 @@ C.forceMove(src) cell = C return - cell = new /obj/item/stock_parts/cell/high/plus(src) + cell = new /obj/item/stock_parts/cell/hyper(src) ///Adds a scanning module, for use in Map-spawned mechs, Nuke Ops mechs, and admin-spawned mechs. Mechs built by hand will replace this. /obj/vehicle/sealed/mecha/proc/add_scanmod(obj/item/stock_parts/scanning_module/sm=null) diff --git a/code/modules/vehicles/mecha/combat/durand.dm b/code/modules/vehicles/mecha/combat/durand.dm index e8693e635000..17d57e69cefe 100644 --- a/code/modules/vehicles/mecha/combat/durand.dm +++ b/code/modules/vehicles/mecha/combat/durand.dm @@ -4,7 +4,7 @@ icon_state = "durand" movedelay = 4 dir_in = 1 //Facing North. - max_integrity = 400 + max_integrity = 500 deflect_chance = 30 armor = list(MELEE = 50, BULLET = 55, LASER = 40, ENERGY = 30, BOMB = 30, BIO = 0, RAD = 60, FIRE = 100, ACID = 100) max_temperature = 50000 @@ -12,7 +12,6 @@ wreckage = /obj/structure/mecha_wreckage/durand var/obj/durand_shield/shield - /obj/vehicle/sealed/mecha/combat/durand/Initialize(mapload) . = ..() shield = new /obj/durand_shield(loc, src, layer, dir) diff --git a/code/modules/vehicles/mecha/equipment/tools/other_tools.dm b/code/modules/vehicles/mecha/equipment/tools/other_tools.dm index 348a4bb6ecf1..a833fd9d254d 100644 --- a/code/modules/vehicles/mecha/equipment/tools/other_tools.dm +++ b/code/modules/vehicles/mecha/equipment/tools/other_tools.dm @@ -558,8 +558,6 @@ /obj/item/mecha_parts/mecha_equipment/thrusters/ion //for mechs with built-in thrusters, should never really exist un-attached to a mech name = "Ion thruster package" desc = "A set of thrusters that allow for exosuit movement in zero-gravity environments." - detachable = FALSE - salvageable = FALSE effect_type = /obj/effect/particle_effect/ion_trails /obj/item/mecha_parts/mecha_equipment/thrusters/ion/thrust(movement_dir) diff --git a/code/modules/vehicles/mecha/mecha_control_console.dm b/code/modules/vehicles/mecha/mecha_control_console.dm index ff5ea1305919..fe75d1de5ccd 100644 --- a/code/modules/vehicles/mecha/mecha_control_console.dm +++ b/code/modules/vehicles/mecha/mecha_control_console.dm @@ -129,6 +129,11 @@ M.diag_hud_set_mechtracking() chassis = M +/obj/item/mecha_parts/mecha_tracking/proc/attach(obj/vehicle/sealed/mecha/M) + LAZYADD(M.trackers, src) + M.diag_hud_set_mechtracking() + chassis = M + /** * Attempts to EMP mech that the tracker is attached to, if there is one and tracker is not on cooldown */ @@ -136,7 +141,7 @@ if(recharging) return if(chassis) - chassis.emp_act(80) + chassis.emp_act(160) addtimer(CALLBACK(src, /obj/item/mecha_parts/mecha_tracking/proc/recharge), 5 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE) recharging = TRUE diff --git a/code/modules/vehicles/mecha/mecha_defense.dm b/code/modules/vehicles/mecha/mecha_defense.dm index 6204b5b023f3..948fcbb459ca 100644 --- a/code/modules/vehicles/mecha/mecha_defense.dm +++ b/code/modules/vehicles/mecha/mecha_defense.dm @@ -158,7 +158,8 @@ occupant.update_mouse_pointer() if(!equipment_disabled && occupants) //prevent spamming this message with back-to-back EMPs to_chat(occupants, "Error -- Connection to equipment control unit has been lost.") - addtimer(CALLBACK(src, /obj/vehicle/sealed/mecha/proc/restore_equipment), 3 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE) + if(!QDELETED(src)) + addtimer(CALLBACK(src, /obj/vehicle/sealed/mecha/proc/restore_equipment), 3 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE) equipment_disabled = 1 /obj/vehicle/sealed/mecha/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) diff --git a/code/modules/vehicles/mecha/medical/odysseus.dm b/code/modules/vehicles/mecha/medical/odysseus.dm index dd693f9dbb8b..aa56a3616e98 100644 --- a/code/modules/vehicles/mecha/medical/odysseus.dm +++ b/code/modules/vehicles/mecha/medical/odysseus.dm @@ -22,7 +22,12 @@ if(isliving(M)) var/mob/living/L = M var/datum/atom_hud/hud = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] - hud.remove_hud_from(L) + var/mob/living/carbon/human/H = M + var/obj/item/organ/cyberimp/eyes/hud/CIH = M.getorgan(/obj/item/organ/cyberimp/eyes/hud) + if(istype(H.glasses, /obj/item/clothing/glasses/hud/health) || istype(CIH, /obj/item/organ/cyberimp/eyes/hud/medical)) + return ..() + else + hud.remove_hud_from(L) return ..() /obj/vehicle/sealed/mecha/medical/odysseus/mmi_moved_inside(obj/item/mmi/M, mob/user) diff --git a/code/modules/vehicles/mecha/working/ripley.dm b/code/modules/vehicles/mecha/working/ripley.dm index 40b2e6140222..00dd4f95279f 100644 --- a/code/modules/vehicles/mecha/working/ripley.dm +++ b/code/modules/vehicles/mecha/working/ripley.dm @@ -83,7 +83,6 @@ max_integrity = 250 resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF armor = list(MELEE = 40, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 60, BIO = 0, RAD = 70, FIRE = 100, ACID = 100) - max_equip = 5 // More armor, less tools enclosed = TRUE enter_delay = 40 diff --git a/config/entries/donator.txt b/config/entries/donator.txt index 86cc6a09e286..73894fb5e413 100644 --- a/config/entries/donator.txt +++ b/config/entries/donator.txt @@ -4,7 +4,7 @@ #Specify group followed by ckey for each ckey. -#TIER_1_DONATORS SmiLeYcom +TIER_1_DONATORS SmiLeYcom #TIER_2_DONATORS SmiLeYcom diff --git a/icons/mecha/mecha_equipment.dmi b/icons/mecha/mecha_equipment.dmi index 5e277af7cca2..21c3a1692b55 100644 Binary files a/icons/mecha/mecha_equipment.dmi and b/icons/mecha/mecha_equipment.dmi differ diff --git a/modular_bluemoon/SmiLeY/code/janitor/cool_broom.dm b/modular_bluemoon/SmiLeY/code/janitor/cool_broom.dm index 690092cccc5a..326bcd9ce04e 100644 --- a/modular_bluemoon/SmiLeY/code/janitor/cool_broom.dm +++ b/modular_bluemoon/SmiLeY/code/janitor/cool_broom.dm @@ -1,5 +1,5 @@ /obj/item/gun/energy/broom - name = "Энергетическая Супер-Метла" + name = "Energy Super Broom" desc = "Новейшая разработка отдела РнД. Позволяет вам эффективно подметать мусор, не вставая с кресла." icon = 'modular_bluemoon/SmiLeY/code/janitor/broom.dmi' icon_state = "broomgun" @@ -106,8 +106,8 @@ if(ismob(AM)) var/mob/M = AM if(M.mind?.assigned_role == CLOWN) - return TRUE*2 - if(isclown(AM) || isdrone(AM) || isswarmer(AM) || isdead(AM) || ismouse(AM) || ishuman(AM) ) + return TRUE*4 + if(isdrone(AM) || isswarmer(AM) || isdead(AM) || ismouse(AM) || iscatperson(AM) ) return TRUE*2 // reserved for mob/living //refactor later, this is ugly #undef PUSHING diff --git a/modular_bluemoon/SmiLeY/code/titanfall.dm b/modular_bluemoon/SmiLeY/code/titanfall.dm new file mode 100644 index 000000000000..c060366e147f --- /dev/null +++ b/modular_bluemoon/SmiLeY/code/titanfall.dm @@ -0,0 +1,28 @@ +/obj/item/choice_beacon/pact_mecha + name = "Combat Mech Beacon" + desc = "Благодаря этому маячку вы сможете вызвать один из мехов с Фрегатов Туманности Синие Луны. За Пакт!" + var/pact_mecha_list = list("Main Battle Mech Durand Mk1A1" = /obj/vehicle/sealed/mecha/combat/durand/loaded, + "Main Battle Mech mk. I" = /obj/vehicle/sealed/mecha/combat/gygax/loaded) + +/obj/item/choice_beacon/pact_mecha/generate_display_names() + if(!pact_mecha_list) + pact_mecha_list = list() + var/list/templist = typesof(/obj/item/storage/box/hero) //we have to convert type = name to name = type, how lovely! + for(var/V in templist) + var/atom/A = V + pact_mecha_list[initial(A.name)] = A + return pact_mecha_list + +/obj/item/choice_beacon/pact_mecha/medical + name = "Medical Pact Mech Beacon" + pact_mecha_list = list("Vey-Med Odysseus" = /obj/vehicle/sealed/mecha/medical/odysseus/loaded, + "Vey-Med Gygax" = /obj/vehicle/sealed/mecha/medical/medigax/loaded) + +/obj/item/choice_beacon/pact_mecha/cargo + name = "Cargo Pact Mech Beacon" + pact_mecha_list = list("Autonomous Power Loader Unit MK-I" = /obj/vehicle/sealed/mecha/working/ripley/loaded, + "Autonomous Power Loader Unit MK-II" = /obj/vehicle/sealed/mecha/working/ripley/mkii/loaded) + +/obj/item/choice_beacon/pact_mecha/engineer + name = "Engineer Pact Mech Beacon" + pact_mecha_list = list("Autonomous Power Loader Unit MK-II-F" = /obj/vehicle/sealed/mecha/working/ripley/firefighter/loaded) diff --git a/modular_bluemoon/SmiLeY/code/titanfall_mechs.dm b/modular_bluemoon/SmiLeY/code/titanfall_mechs.dm new file mode 100644 index 000000000000..516a1401ce5b --- /dev/null +++ b/modular_bluemoon/SmiLeY/code/titanfall_mechs.dm @@ -0,0 +1,96 @@ +/obj/vehicle/sealed/mecha/combat/durand/loaded/Initialize(mapload) + . = ..() + var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_tracking(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/repair_droid(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster(src) + ME.attach(src) + max_ammo() + +/obj/vehicle/sealed/mecha/combat/gygax/loaded/Initialize(mapload) + . = ..() + var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_tracking(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/thrusters/ion(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay(src) + ME.attach(src) + max_ammo() + +/obj/vehicle/sealed/mecha/medical/odysseus/loaded/Initialize(mapload) + . = ..() + var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/medical/mechmedbeam(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_tracking(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/medical/syringe_gun(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/medical/sleeper(src) + ME.attach(src) + +/obj/vehicle/sealed/mecha/medical/medigax/loaded/Initialize(mapload) + . = ..() + var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/medical/mechmedbeam(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_tracking(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/thrusters/ion(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/medical/sleeper(src) + ME.attach(src) + +/obj/vehicle/sealed/mecha/working/ripley/loaded/Initialize(mapload) + . = ..() + var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/drill(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_tracking(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/thrusters/ion(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/hydraulic_clamp(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/rcd(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/extinguisher(src) + ME.attach(src) + +/obj/vehicle/sealed/mecha/working/ripley/mkii/loaded/Initialize(mapload) + . = ..() + var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/drill/diamonddrill(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/hydraulic_clamp(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/weapon/energy/plasma(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_tracking(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/mining_scanner(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster(src) + ME.attach(src) + +/obj/vehicle/sealed/mecha/working/ripley/firefighter/loaded/Initialize(mapload) + . = ..() + var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/drill/diamonddrill(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_tracking(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/thrusters/ion(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/hydraulic_clamp(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/rcd(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/extinguisher(src) + ME.attach(src) diff --git a/modular_bluemoon/fluffs/code/donator.dm b/modular_bluemoon/fluffs/code/donator.dm index da9046667b5e..e55ce0334a8a 100644 --- a/modular_bluemoon/fluffs/code/donator.dm +++ b/modular_bluemoon/fluffs/code/donator.dm @@ -230,14 +230,14 @@ name = "Flektarn Montur" slot = ITEM_SLOT_OCLOTHING path = /obj/item/clothing/suit/donator/bm/flektarn_montur - ckeywhitelist = list("vulpshiro", "dolbajob", "stgs", "leony24") + ckeywhitelist = list("vulpshiro", "dolbajob", "stgs", "leony24", "dcp9371") subcategory = LOADOUT_SUBCATEGORIES_DON02 /datum/gear/donator/bm/flektarn_beret name = "Flektarn Beret" slot = ITEM_SLOT_HEAD path = /obj/item/clothing/head/donator/bm/flektarn_beret - ckeywhitelist = list("vulpshiro", "dolbajob", "stgs", "leony24") + ckeywhitelist = list("vulpshiro", "dolbajob", "stgs", "leony24", "dcp9371") subcategory = LOADOUT_SUBCATEGORIES_DON02 /datum/gear/donator/bm/skull_patch diff --git a/modular_bluemoon/kovac_shitcode/code/lambda_code.dm b/modular_bluemoon/kovac_shitcode/code/lambda_code.dm index 80b641dc0efa..8665e84a9a85 100644 --- a/modular_bluemoon/kovac_shitcode/code/lambda_code.dm +++ b/modular_bluemoon/kovac_shitcode/code/lambda_code.dm @@ -10,20 +10,3 @@ /datum/map_template/shuttle/lambda/code suffix = "code" - - -// Различное - -/obj/vehicle/sealed/mecha/combat/durand/loaded/Initialize(mapload) - . = ..() - var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/thrusters/ion(src) - ME.attach(src) - ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg - ME.attach(src) - ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/flashbang - ME.attach(src) - ME = new /obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster - ME.attach(src) - ME = new /obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster - ME.attach(src) - max_ammo() diff --git a/modular_bluemoon/kovac_shitcode/code/modules/clothing/outfits/ert.dm b/modular_bluemoon/kovac_shitcode/code/modules/clothing/outfits/ert.dm index ef697d17e2d2..9a410b5be319 100644 --- a/modular_bluemoon/kovac_shitcode/code/modules/clothing/outfits/ert.dm +++ b/modular_bluemoon/kovac_shitcode/code/modules/clothing/outfits/ert.dm @@ -236,7 +236,7 @@ ears = /obj/item/radio/headset/nri/bowman/command r_hand = /obj/item/gun/ballistic/automatic/vss backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ - /obj/item/choice_beacon/nri_mech=1,\ + /obj/item/choice_beacon/nri_mech=1,\ /obj/item/storage/box/syndie_kit/revolver=1,\ /obj/item/storage/ifak=1,\ /obj/item/ammo_box/magazine/vss_mag=4) diff --git a/tgstation.dme b/tgstation.dme index 4a5e19502619..204efa04c73e 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -4319,6 +4319,8 @@ #include "modular_bluemoon\SmiLeY\code\noose.dm" #include "modular_bluemoon\SmiLeY\code\space.dm" #include "modular_bluemoon\SmiLeY\code\tentacle.dm" +#include "modular_bluemoon\SmiLeY\code\titanfall.dm" +#include "modular_bluemoon\SmiLeY\code\titanfall_mechs.dm" #include "modular_bluemoon\SmiLeY\code\ert\party_ert.dm" #include "modular_bluemoon\SmiLeY\code\ert\pizza_ert.dm" #include "modular_bluemoon\SmiLeY\code\ert\vdv_ert.dm"