diff --git a/code/datums/ammo/misc.dm b/code/datums/ammo/misc.dm index a482d2686055..d3ce356372be 100644 --- a/code/datums/ammo/misc.dm +++ b/code/datums/ammo/misc.dm @@ -97,6 +97,15 @@ R.durationfire = BURN_TIME_INSTANT new /obj/flamer_fire(T, cause_data, R, 0) +/datum/ammo/flamethrower/sentry_flamer/wy + name = "sticky fire" + flamer_reagent_id = "stickynapalm" + shell_speed = AMMO_SPEED_TIER_4 + +/datum/ammo/flamethrower/sentry_flamer/upp + name = "gel fire" + flamer_reagent_id = "napalmgel" + /datum/ammo/flare name = "flare" ping = null //no bounce off. diff --git a/code/game/machinery/sentry_holder.dm b/code/game/machinery/sentry_holder.dm index 255e718f40b8..d9215e98c2e4 100644 --- a/code/game/machinery/sentry_holder.dm +++ b/code/game/machinery/sentry_holder.dm @@ -116,6 +116,11 @@ desc = "A box that deploys a sentry turret for protection of the residents in the area." turret_path = /obj/structure/machinery/defenses/sentry/premade/deployable/colony +/obj/structure/machinery/sentry_holder/wy + health = 200 + desc = "A box that deploys a sentry turret for protecting Weyland-Yutani personnel" + turret_path = /obj/structure/machinery/defenses/sentry/premade/deployable/wy + /obj/structure/machinery/sentry_holder/almayer icon_state = "floor_sentry_installed" turret_path = /obj/structure/machinery/defenses/sentry/premade/deployable/almayer diff --git a/code/modules/defenses/defenses.dm b/code/modules/defenses/defenses.dm index a29941fd0c6c..61c5a80a2473 100644 --- a/code/modules/defenses/defenses.dm +++ b/code/modules/defenses/defenses.dm @@ -138,12 +138,16 @@ switch(selection) if(FACTION_MARINE) faction_group = FACTION_LIST_MARINE - if(SENTRY_FACTION_WEYLAND) - faction_group = FACTION_LIST_MARINE_WY if(SENTRY_FACTION_HUMAN) faction_group = FACTION_LIST_HUMANOID if(SENTRY_FACTION_COLONY) faction_group = list(FACTION_MARINE, FACTION_COLONIST) + if(SENTRY_FACTION_WEYLAND) + faction_group = FACTION_LIST_MARINE_WY + if(FACTION_WY) + faction_group = FACTION_LIST_WY + if(FACTION_UPP) + faction_group = FACTION_LIST_UPP /obj/structure/machinery/defenses/start_processing() diff --git a/code/modules/defenses/handheld.dm b/code/modules/defenses/handheld.dm index 233dad313d25..5b5831c9bb15 100644 --- a/code/modules/defenses/handheld.dm +++ b/code/modules/defenses/handheld.dm @@ -143,6 +143,41 @@ defense_type = /obj/structure/machinery/defenses/sentry/mini deployment_time = 0.75 SECONDS +/obj/item/defenses/handheld/sentry/wy + name = "handheld WY 202-GMA1 smart sentry" + desc = "A compact version of the Weyland-Yutani defenses. Designed for deployment in the field." + icon = 'icons/obj/structures/machinery/defenses/wy_defenses.dmi' + icon_state = "Normal wy_sentry_handheld" + defense_type = /obj/structure/machinery/defenses/sentry/wy + deployment_time = 5 SECONDS + +/obj/item/defenses/handheld/sentry/wy/mini + name = "handheld WY 14-GRA2 mini sentry" + icon_state = "Mini wy_sentry_handheld" + defense_type = /obj/structure/machinery/defenses/sentry/mini/wy + deployment_time = 2 SECONDS + +/obj/item/defenses/handheld/sentry/wy/heavy + name = "handheld WY 2-ADT-A3 heavy sentry" + icon = 'icons/obj/structures/machinery/defenses/wy_heavy.dmi' + icon_state = "Heavy wy_sentry_handheld" + defense_type = /obj/structure/machinery/defenses/sentry/dmr/wy + deployment_time = 10 SECONDS + +/obj/item/defenses/handheld/sentry/upp + name = "handheld UPP SDS-R3 sentry gun" + desc = "A compact version of the UPP defense sentry SDS-R1. Designed for deployment in the field." + icon = 'icons/obj/structures/machinery/defenses/upp_defenses.dmi' + icon_state = "Normal upp_sentry_handheld" + defense_type = /obj/structure/machinery/defenses/sentry/upp + deployment_time = 5 SECONDS + +/obj/item/defenses/handheld/sentry/upp/light + name = "handheld UPP SDS-R8 light sentry" + desc = "A compact version of the UPP defense sentry SDS-R7. Designed for deployment in the field." + icon_state = "Light upp_sentry_handheld" + defense_type = /obj/structure/machinery/defenses/sentry/upp/light + deployment_time = 2 SECONDS // FLAMER BASE AND UPGRADES /obj/item/defenses/handheld/sentry/flamer @@ -202,6 +237,24 @@ defense_type = /obj/structure/machinery/defenses/sentry/flamer/plasma ammo_convert = /obj/item/ammo_magazine/sentry_flamer/glob +/obj/item/defenses/handheld/sentry/flamer/wy + name = "handheld WY 406-FE2 smart sentry" + desc = "A compact version of the Weyland-Yutani defenses. Designed for deployment in the field." + icon = 'icons/obj/structures/machinery/defenses/wy_defenses.dmi' + icon_state = "Normal wy_flamer_handheld" + defense_type = /obj/structure/machinery/defenses/sentry/flamer/wy + deployment_time = 5 SECONDS + ammo_convert = /obj/item/ammo_magazine/sentry_flamer/wy + +/obj/item/defenses/handheld/sentry/flamer/upp + name = "handheld UPP SDS-R5 sentry flamer" + desc = "A compact version of the UPP defenses. Designed for deployment in the field." + icon = 'icons/obj/structures/machinery/defenses/upp_defenses.dmi' + icon_state = "Normal upp_flamer_handheld" + defense_type = /obj/structure/machinery/defenses/sentry/flamer/upp + deployment_time = 5 SECONDS + ammo_convert = /obj/item/ammo_magazine/sentry_flamer/upp + // TESLA BASE AND UPGRADES /obj/item/defenses/handheld/tesla_coil @@ -300,4 +353,19 @@ deployment_time = 2 SECONDS defense_type = /obj/structure/machinery/defenses/planted_flag/range +/obj/item/defenses/handheld/planted_flag/wy + name = "handheld WY planted flag" + desc = "A compact version of the Weyland-Yutani defenses. Designed for deployment in the field." + icon = 'icons/obj/structures/machinery/defenses/wy_defenses.dmi' + icon_state = "WY planted_flag_handheld" + deployment_time = 3 SECONDS + defense_type = /obj/structure/machinery/defenses/planted_flag/wy + +/obj/item/defenses/handheld/planted_flag/upp + name = "handheld UPP planted flag" + desc = "A compact version of the UPP defenses. Designed for deployment in the field." + icon = 'icons/obj/structures/machinery/defenses/upp_defenses.dmi' + icon_state = "UPP planted_flag_handheld" + deployment_time = 5 SECONDS + defense_type = /obj/structure/machinery/defenses/planted_flag/upp diff --git a/code/modules/defenses/planted_flag.dm b/code/modules/defenses/planted_flag.dm index fc50b6ba53f0..d2b9b23e8f3b 100644 --- a/code/modules/defenses/planted_flag.dm +++ b/code/modules/defenses/planted_flag.dm @@ -115,6 +115,40 @@ H.activate_order_buff(COMMAND_ORDER_FOCUS, buff_intensity, 5 SECONDS) H.activate_order_buff(COMMAND_ORDER_MOVE, buff_intensity, 5 SECONDS) +/obj/structure/machinery/defenses/planted_flag/wy + name = "WY planted flag" + desc = "A planted flag with the iconic WY flag plastered all over it, you feel a burst of energy by its mere sight." + icon = 'icons/obj/structures/machinery/defenses/wy_defenses.dmi' + disassemble_time = 6 SECONDS + hack_time = 25 SECONDS + health = 300 + health_max = 300 + area_range = 11 + handheld_type = /obj/item/defenses/handheld/planted_flag/wy + defense_type = "WY" + selected_categories = list( + SENTRY_CATEGORY_IFF = SENTRY_FACTION_WEYLAND, + ) + +/obj/structure/machinery/defenses/planted_flag/wy/apply_buff_to_player(mob/living/carbon/human/H) + H.activate_order_buff(COMMAND_ORDER_HOLD, buff_intensity, 2 SECONDS) + H.activate_order_buff(COMMAND_ORDER_FOCUS, buff_intensity, 2 SECONDS) + H.activate_order_buff(COMMAND_ORDER_MOVE, buff_intensity, 2 SECONDS) + +/obj/structure/machinery/defenses/planted_flag/upp + name = "UPP planted flag" + desc = "A planted flag with the iconic UPP flag plastered all over it, you feel a burst of energy by its mere sight." + icon = 'icons/obj/structures/machinery/defenses/upp_defenses.dmi' + disassemble_time = 5 SECONDS + health = 300 + health_max = 300 + area_range = 11 + handheld_type = /obj/item/defenses/handheld/planted_flag/upp + defense_type = "UPP" + selected_categories = list( + SENTRY_CATEGORY_IFF = FACTION_UPP, + ) + /obj/item/storage/backpack/jima name = "JIMA frame mount" icon = 'icons/obj/items/clothing/backpacks.dmi' diff --git a/code/modules/defenses/sentry.dm b/code/modules/defenses/sentry.dm index 3a8a50b5eed7..11b53fd4a317 100644 --- a/code/modules/defenses/sentry.dm +++ b/code/modules/defenses/sentry.dm @@ -18,7 +18,7 @@ var/fire_delay = 4 var/immobile = FALSE //Used for prebuilt ones. var/obj/item/ammo_magazine/ammo = new /obj/item/ammo_magazine/sentry - var/sentry_type = "sentry" //Used for the icon + var/sentry_type = "uac_sentry" //Used for the icon display_additional_stats = TRUE /// Light strength when turned on var/luminosity_strength = 5 @@ -45,7 +45,7 @@ /// action list is configurable for all subtypes, this is just an example choice_categories = list( // SENTRY_CATEGORY_ROF = list(ROF_SINGLE, ROF_BURST, ROF_FULL_AUTO), - SENTRY_CATEGORY_IFF = list(FACTION_MARINE, SENTRY_FACTION_WEYLAND, SENTRY_FACTION_HUMAN), + SENTRY_CATEGORY_IFF = list(FACTION_MARINE, SENTRY_FACTION_WEYLAND, SENTRY_FACTION_HUMAN, FACTION_UPP), ) selected_categories = list( @@ -115,16 +115,16 @@ overlays.Cut() if(stat == DEFENSE_DAMAGED) - overlays += "[defense_type] uac_[sentry_type]_destroyed" + overlays += "[defense_type] [sentry_type]_destroyed" return if(!ammo || ammo && !ammo.current_rounds) - overlays += "[defense_type] uac_[sentry_type]_noammo" + overlays += "[defense_type] [sentry_type]_noammo" return if(turned_on) - overlays += "[defense_type] uac_[sentry_type]_on" + overlays += "[defense_type] [sentry_type]_on" else - overlays += "[defense_type] uac_[sentry_type]" + overlays += "[defense_type] [sentry_type]" /obj/structure/machinery/defenses/sentry/attack_hand_checks(mob/user) @@ -526,6 +526,23 @@ choice_categories[SENTRY_CATEGORY_IFF] = list(SENTRY_FACTION_COLONY, SENTRY_FACTION_WEYLAND) selected_categories[SENTRY_CATEGORY_IFF] = SENTRY_FACTION_COLONY +/obj/structure/machinery/defenses/sentry/premade/deployable/wy + name = "WY 5-GSE3 Static Turret" + desc = "An old static, semi-automated turret with AI targeting capabilities from Weyland-Yutani." + icon = 'icons/obj/structures/machinery/defenses/wy_static.dmi' + defense_type = "Static" + sentry_type = "wy_sentry" + health = 350 + health_max = 350 + faction_group = list(FACTION_MARINE, FACTION_COLONIST, FACTION_SURVIVOR, FACTION_WY) + fire_delay = 0.6 SECONDS + damage_mult = 2 + +/obj/structure/machinery/defenses/sentry/premade/deployable/wy/Initialize() + . = ..() + choice_categories[SENTRY_CATEGORY_IFF] = list(SENTRY_FACTION_COLONY, SENTRY_FACTION_WEYLAND) + selected_categories[SENTRY_CATEGORY_IFF] = SENTRY_FACTION_COLONY + /obj/structure/machinery/defenses/sentry/premade/deployable/almayer name = "UA-635C Static Gauss Turret" desc = "A fully-automated defence turret with mid-range targeting capabilities. Armed with a modified M32-S Autocannon and an internal belt feed and modified for UA warship use." @@ -740,5 +757,86 @@ new /obj/item/stack/sheet/plasteel/medium_stack(loc) return ..() +/obj/structure/machinery/defenses/sentry/wy + name = "WY 202-GMA1 Smart Sentry" + desc = "A deployable, fully-automated turret with AI targeting capabilities used by the PMC." + icon = 'icons/obj/structures/machinery/defenses/wy_defenses.dmi' + sentry_type = "wy_sentry" + fire_delay = 2 SECONDS + health = 350 + health_max = 350 + damage_mult = 3.5 + disassemble_time = 5 SECONDS + hack_time = 25 SECONDS + sentry_range = 6 + omni_directional = TRUE + handheld_type = /obj/item/defenses/handheld/sentry/wy + ammo = new /obj/item/ammo_magazine/sentry/wy + selected_categories = list( + SENTRY_CATEGORY_IFF = SENTRY_FACTION_WEYLAND, + ) + +/obj/structure/machinery/defenses/sentry/mini/wy + name = "WY 14-GRA2 Mini Sentry" + desc = "A deployable, semi-automated turret with AI targeting capabilities used by the PMC." + icon = 'icons/obj/structures/machinery/defenses/wy_defenses.dmi' + sentry_type = "wy_sentry" + fire_delay = 0.08 SECONDS + health = 200 + health_max = 200 + damage_mult = 0.3 + disassemble_time = 2 SECONDS + hack_time = 25 SECONDS + handheld_type = /obj/item/defenses/handheld/sentry/wy/mini + ammo = new /obj/item/ammo_magazine/sentry/wy/mini + selected_categories = list( + SENTRY_CATEGORY_IFF = SENTRY_FACTION_WEYLAND, + ) + +/obj/structure/machinery/defenses/sentry/dmr/wy + name = "WY 2-ADT-A3 Heavy Sentry" + desc = "A deployable, semi-automated turret with AI targeting capabilities used by the PMC." + defense_type = "Heavy" + icon = 'icons/obj/structures/machinery/defenses/wy_heavy.dmi' + sentry_type = "wy_sentry" + fire_delay = 4 SECONDS + health = 600 + health_max = 600 + damage_mult = 5 + disassemble_time = 10 SECONDS + hack_time = 25 SECONDS + sentry_range = 8 + handheld_type = /obj/item/defenses/handheld/sentry/wy + ammo = new /obj/item/ammo_magazine/sentry/wy + selected_categories = list( + SENTRY_CATEGORY_IFF = SENTRY_FACTION_WEYLAND, + ) + +/obj/structure/machinery/defenses/sentry/upp + name = "UPP SDS-R3 Sentry Gun" + desc = "A deployable, fully-automated turret with AI targeting capabilities used by the UPP." + icon = 'icons/obj/structures/machinery/defenses/upp_defenses.dmi' + sentry_type = "upp_sentry" + health = 300 + health_max = 300 + damage_mult = 1.2 + disassemble_time = 5 SECONDS + handheld_type = /obj/item/defenses/handheld/sentry/upp + ammo = new /obj/item/ammo_magazine/sentry/upp + selected_categories = list( + SENTRY_CATEGORY_IFF = FACTION_UPP, + ) + +/obj/structure/machinery/defenses/sentry/upp/light + name = "UPP SDS-R8 Light Sentry" + defense_type = "Light" + fire_delay = 0.3 SECONDS + health = 200 + health_max = 200 + disassemble_time = 2 SECONDS + sentry_range = 3 + omni_directional = TRUE + handheld_type = /obj/item/defenses/handheld/sentry/upp/light + #undef SENTRY_FIREANGLE #undef SENTRY_RANGE diff --git a/code/modules/defenses/sentry_flamer.dm b/code/modules/defenses/sentry_flamer.dm index 711bdaa54857..979d18eb41d1 100644 --- a/code/modules/defenses/sentry_flamer.dm +++ b/code/modules/defenses/sentry_flamer.dm @@ -1,10 +1,10 @@ /obj/structure/machinery/defenses/sentry/flamer - name = "\improper UA 42-F sentry flamer" + name = "\improper UA 42-F Sentry Flamer" icon = 'icons/obj/structures/machinery/defenses/flamer.dmi' desc = "A deployable, semi-automated turret with AI targeting capabilities. Armed with a special flamer and a 100 liters fuel tank." fire_delay = 30 ammo = new /obj/item/ammo_magazine/sentry_flamer - sentry_type = "flamer" + sentry_type = "uac_flamer" handheld_type = /obj/item/defenses/handheld/sentry/flamer health = 200 health_max = 200 @@ -99,3 +99,68 @@ range_bounds = RECT(x, y - (FLAMER_SENTRY_SNIPER_RANGE/2), FLAMER_SENTRY_SNIPER_RANGE, FLAMER_SENTRY_SNIPER_RANGE) #undef FLAMER_SENTRY_SNIPER_RANGE + + +/obj/structure/machinery/defenses/sentry/flamer/wy + name = "WY 406-FE2 Smart Sentry" + icon = 'icons/obj/structures/machinery/defenses/wy_defenses.dmi' + desc = "A deployable, fully-automated turret with AI targeting capabilities used by the PMC." + health = 300 + health_max = 300 + fire_delay = 2 SECONDS + disassemble_time = 5 SECONDS + hack_time = 25 SECONDS + ammo = new /obj/item/ammo_magazine/sentry_flamer/wy + sentry_type = "wy_flamer" + sentry_range = 6 + omni_directional = TRUE + handheld_type = /obj/item/defenses/handheld/sentry/flamer/wy + selected_categories = list( + SENTRY_CATEGORY_ROF = ROF_SINGLE, + SENTRY_CATEGORY_IFF = SENTRY_FACTION_WEYLAND, + ) + +/obj/structure/machinery/defenses/sentry/flamer/wy/destroyed_action() + visible_message("[icon2html(src, viewers(src))] [SPAN_WARNING("The [name] starts spitting out sparks and smoke!")]") + playsound(loc, 'sound/mecha/critdestrsyndi.ogg', 25, 1) + for(var/i = 1 to 6) + setDir(pick(NORTH, EAST, SOUTH, WEST)) + sleep(2) + + if(ammo.current_rounds != 0) + var/datum/reagent/napalm/sticky/sticky_napalm = new() + new /obj/flamer_fire(loc, create_cause_data("sentry explosion", owner_mob), sticky_napalm, 2) + cell_explosion(loc, 10, 10, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, create_cause_data("sentry explosion", owner_mob)) + if(!QDELETED(src)) + qdel(src) + + +/obj/structure/machinery/defenses/sentry/flamer/upp + name = "UPP SDS-R5 Sentry Flamer" + icon = 'icons/obj/structures/machinery/defenses/upp_defenses.dmi' + desc = "A deployable, fully-automated turret with AI targeting capabilities used by the UPP." + health = 300 + health_max = 300 + fire_delay = 1 SECONDS + disassemble_time = 5 SECONDS + ammo = new /obj/item/ammo_magazine/sentry_flamer/upp + sentry_type = "upp_flamer" + handheld_type = /obj/item/defenses/handheld/sentry/flamer/upp + selected_categories = list( + SENTRY_CATEGORY_ROF = ROF_SINGLE, + SENTRY_CATEGORY_IFF = FACTION_UPP, + ) + +/obj/structure/machinery/defenses/sentry/flamer/upp/destroyed_action() + visible_message("[icon2html(src, viewers(src))] [SPAN_WARNING("The [name] starts spitting out sparks and smoke!")]") + playsound(loc, 'sound/mecha/critdestrsyndi.ogg', 25, 1) + for(var/i = 1 to 6) + setDir(pick(NORTH, EAST, SOUTH, WEST)) + sleep(2) + + if(ammo.current_rounds != 0) + var/datum/reagent/napalm/gel/gel_napalm = new() + new /obj/flamer_fire(loc, create_cause_data("sentry explosion", owner_mob), gel_napalm, 2) + cell_explosion(loc, 10, 10, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, create_cause_data("sentry explosion", owner_mob)) + if(!QDELETED(src)) + qdel(src) diff --git a/code/modules/gear_presets/pmc.dm b/code/modules/gear_presets/pmc.dm index 16c65dde01aa..8dde038f3891 100644 --- a/code/modules/gear_presets/pmc.dm +++ b/code/modules/gear_presets/pmc.dm @@ -1688,8 +1688,8 @@ list("POUCHES (CHOOSE 2)", 0, null, null, null), new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/tool/shovel/etool/folded, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/defenses/handheld/sentry/mini, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/defenses/handheld/sentry/mini, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/defenses/handheld/sentry/wy/mini, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/defenses/handheld/sentry/wy/mini, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/construction/full, WEAR_L_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/construction/full, WEAR_R_STORE) @@ -1755,9 +1755,9 @@ list("POUCHES (CHOOSE 2)", 0, null, null, null), list("Essential Engineer Set", 0, /obj/effect/essentials_set/engi, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY), list("HANDHELD DEFENSE (CHOOSE 1)", 0, null, null, null), - list("JIMA Planted Flag", 0, /obj/item/defenses/handheld/planted_flag, MARINE_CAN_BUY_ATTACHMENT, VENDOR_ITEM_MANDATORY), - list("UA 42-F Sentry Flamer", 0, /obj/item/defenses/handheld/sentry/flamer, MARINE_CAN_BUY_ATTACHMENT, VENDOR_ITEM_MANDATORY), - list("UA 571-C Sentry Gun", 0, /obj/item/defenses/handheld/sentry, MARINE_CAN_BUY_ATTACHMENT, VENDOR_ITEM_MANDATORY), + list("WY Planted Flag", 0, /obj/item/defenses/handheld/planted_flag/wy, MARINE_CAN_BUY_ATTACHMENT, VENDOR_ITEM_MANDATORY), + list("WY 406-FE2 Smart Sentry", 0, /obj/item/defenses/handheld/sentry/flamer/wy, MARINE_CAN_BUY_ATTACHMENT, VENDOR_ITEM_MANDATORY), + list("WY 202-GMA1 Smart Sentry", 0, /obj/item/defenses/handheld/sentry/wy, MARINE_CAN_BUY_ATTACHMENT, VENDOR_ITEM_MANDATORY), list("ENGINEERING SUPPLIES", 0, null, null, null), list("Airlock Circuit Board", 2, /obj/item/circuitboard/airlock, null, VENDOR_ITEM_REGULAR), diff --git a/code/modules/gear_presets/upp.dm b/code/modules/gear_presets/upp.dm index 450662ba25c3..417a893ffdee 100644 --- a/code/modules/gear_presets/upp.dm +++ b/code/modules/gear_presets/upp.dm @@ -418,7 +418,7 @@ new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //.33 new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //.66 new_human.equip_to_slot_or_del(new /obj/item/device/motiondetector/hacked, WEAR_IN_BACK) //1.66 - new_human.equip_to_slot_or_del(new /obj/item/defenses/handheld/sentry/mini, WEAR_IN_BACK) //2.66 + new_human.equip_to_slot_or_del(new /obj/item/defenses/handheld/sentry/upp/light, WEAR_IN_BACK) //2.66 //face new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/cct, WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/welding(new_human), WEAR_EYES) @@ -491,9 +491,9 @@ list("Essential Sapper Set", 0, /obj/effect/essentials_set/engi, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY), list("HANDHELD DEFENSE (CHOOSE 1)", 0, null, null, null), - list("JIMA Planted Flag", 0, /obj/item/defenses/handheld/planted_flag, MARINE_CAN_BUY_ATTACHMENT, VENDOR_ITEM_MANDATORY), - list("UA 42-F Sentry Flamer", 0, /obj/item/defenses/handheld/sentry/flamer, MARINE_CAN_BUY_ATTACHMENT, VENDOR_ITEM_MANDATORY), - list("UA 571-C Sentry Gun", 0, /obj/item/defenses/handheld/sentry, MARINE_CAN_BUY_ATTACHMENT, VENDOR_ITEM_MANDATORY), + list("UPP Planted Flag", 0, /obj/item/defenses/handheld/planted_flag/upp, MARINE_CAN_BUY_ATTACHMENT, VENDOR_ITEM_MANDATORY), + list("UPP SDS-R5 Sentry Flamer", 0, /obj/item/defenses/handheld/sentry/flamer/upp, MARINE_CAN_BUY_ATTACHMENT, VENDOR_ITEM_MANDATORY), + list("UPP SDS-R3 Sentry Gun", 0, /obj/item/defenses/handheld/sentry/upp, MARINE_CAN_BUY_ATTACHMENT, VENDOR_ITEM_MANDATORY), list("ENGINEERING SUPPLIES", 0, null, null, null), list("Airlock Circuit Board", 2, /obj/item/circuitboard/airlock, null, VENDOR_ITEM_REGULAR), @@ -2566,8 +2566,8 @@ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/np92, WEAR_IN_BACK) //1.3 new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/np92, WEAR_IN_BACK) //1.6 new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/np92, WEAR_IN_BACK) //2 - new_human.equip_to_slot_or_del(new /obj/item/device/motiondetector/hacked, WEAR_IN_BACK) //3 - new_human.equip_to_slot_or_del(new /obj/item/defenses/handheld/sentry/mini, WEAR_IN_BACK) //4 + new_human.equip_to_slot_or_del(new /obj/item/defenses/handheld/sentry/upp/light, WEAR_IN_BACK) //3 + new_human.equip_to_slot_or_del(new /obj/item/device/motiondetector/hacked, WEAR_IN_BACK) //4 //face new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/cct, WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/welding(new_human), WEAR_EYES) diff --git a/code/modules/projectiles/magazines/sentries.dm b/code/modules/projectiles/magazines/sentries.dm index 4e885278050b..c76688d97a4e 100644 --- a/code/modules/projectiles/magazines/sentries.dm +++ b/code/modules/projectiles/magazines/sentries.dm @@ -29,6 +29,30 @@ max_rounds = 50 default_ammo = /datum/ammo/bullet/shotgun/buckshot +/obj/item/ammo_magazine/sentry/wy + name = "H20 ammo drum (10x42mm Caseless)" + desc = "An ammo drum of 200 10x42mm caseless rounds for the WY 202-GMA1 Smart Sentry. Just feed it into the sentry gun's ammo port when its ammo is depleted." + icon = 'icons/obj/items/weapons/guns/ammo_by_faction/wy.dmi' + icon_state = "wy22e5" + caliber = "10x42mm" + max_rounds = 200 + +/obj/item/ammo_magazine/sentry/wy/mini + name = "H16 ammo drum (10x12mm Caseless)" + desc = "An ammo drum of 1000 10x12mm caseless rounds for the WY 14-GRA2 Mini Sentry. Just feed it into the sentry gun's ammo port when its ammo is depleted." + icon = 'icons/obj/items/weapons/guns/ammo_by_faction/wy.dmi' + icon_state = "wy22e5" + caliber = "10x12mm" + max_rounds = 1000 + +/obj/item/ammo_magazine/sentry/upp + name = "SR32 ammo drum (10x32mm Caseless)" + desc = "An ammo drum of 200 10x32mm caseless rounds for the UPP SDS-R3 Sentry Gun. Just feed it into the sentry gun's ammo port when its ammo is depleted." + icon = 'icons/obj/items/weapons/guns/ammo_by_faction/upp.dmi' + icon_state = "uppsds4" + caliber = "10x42mm" + max_rounds = 200 + // FLAMER Sentry /obj/item/ammo_magazine/sentry_flamer name = "sentry incinerator tank" @@ -51,3 +75,21 @@ name = "mini sentry incinerator tank" desc = "A fuel tank of Ultra Thick Napthal Fuel, used in the UA 45-FM." default_ammo = /datum/ammo/flamethrower/sentry_flamer/mini + +/obj/item/ammo_magazine/sentry_flamer/wy + name = "wy sentry incinerator tank" + desc = "A fuel tank of Ultra Thick Sticky Napthal Fuel, used in the WY 406-FE2." + icon = 'icons/obj/items/weapons/guns/ammo_by_faction/wy.dmi' + icon_state = "wy22e5" + caliber = "Sticky Napalm" + max_rounds = 200 + default_ammo = /datum/ammo/flamethrower/sentry_flamer/wy + +/obj/item/ammo_magazine/sentry_flamer/upp + name = "upp sentry incinerator tank" + desc = "A fuel tank of Ultra Thick Gel Napthal Fuel, used in the UPP SDS-R5 Sentry Flamer." + icon = 'icons/obj/items/weapons/guns/ammo_by_faction/upp.dmi' + icon_state = "uppsds4" + caliber = "Sticky Napalm" + max_rounds = 200 + default_ammo = /datum/ammo/flamethrower/sentry_flamer/upp diff --git a/icons/obj/items/weapons/guns/ammo_by_faction/upp.dmi b/icons/obj/items/weapons/guns/ammo_by_faction/upp.dmi index 5632ca31481e..7327bf6a611b 100644 Binary files a/icons/obj/items/weapons/guns/ammo_by_faction/upp.dmi and b/icons/obj/items/weapons/guns/ammo_by_faction/upp.dmi differ diff --git a/icons/obj/items/weapons/guns/ammo_by_faction/wy.dmi b/icons/obj/items/weapons/guns/ammo_by_faction/wy.dmi index 11eab502b0cf..6a8bbca97e4f 100644 Binary files a/icons/obj/items/weapons/guns/ammo_by_faction/wy.dmi and b/icons/obj/items/weapons/guns/ammo_by_faction/wy.dmi differ diff --git a/icons/obj/structures/machinery/defenses/upp_defenses.dmi b/icons/obj/structures/machinery/defenses/upp_defenses.dmi new file mode 100644 index 000000000000..09313b374f36 Binary files /dev/null and b/icons/obj/structures/machinery/defenses/upp_defenses.dmi differ diff --git a/icons/obj/structures/machinery/defenses/wy_defenses.dmi b/icons/obj/structures/machinery/defenses/wy_defenses.dmi new file mode 100644 index 000000000000..a05da0cf7703 Binary files /dev/null and b/icons/obj/structures/machinery/defenses/wy_defenses.dmi differ diff --git a/icons/obj/structures/machinery/defenses/wy_heavy.dmi b/icons/obj/structures/machinery/defenses/wy_heavy.dmi new file mode 100644 index 000000000000..a6a7fbf49c8e Binary files /dev/null and b/icons/obj/structures/machinery/defenses/wy_heavy.dmi differ diff --git a/icons/obj/structures/machinery/defenses/wy_static.dmi b/icons/obj/structures/machinery/defenses/wy_static.dmi new file mode 100644 index 000000000000..92a890880221 Binary files /dev/null and b/icons/obj/structures/machinery/defenses/wy_static.dmi differ