diff --git a/code/game/antagonist/outsider/commando.dm b/code/game/antagonist/outsider/commando.dm index 860d99a5d65..58125b66fd4 100644 --- a/code/game/antagonist/outsider/commando.dm +++ b/code/game/antagonist/outsider/commando.dm @@ -46,7 +46,7 @@ var/datum/antagonist/deathsquad/mercenary/commandos syndie_belt.contents += new /obj/item/weapon/shield/energy syndie_belt.contents += new /obj/item/weapon/handcuffs syndie_belt.contents += new /obj/item/weapon/grenade/flashbang - syndie_belt.contents += new /obj/item/weapon/plastique + syndie_belt.contents += new /obj/item/weapon/grenade/frag syndie_belt.contents += new /obj/item/weapon/plastique player.equip_to_slot_or_del(syndie_belt, slot_belt) @@ -56,4 +56,4 @@ var/datum/antagonist/deathsquad/mercenary/commandos create_radio(SYND_FREQ, player) player.faction = "syndicate" - return 1 \ No newline at end of file + return 1 diff --git a/code/game/antagonist/outsider/deathsquad.dm b/code/game/antagonist/outsider/deathsquad.dm index 15b62ec516c..31343c34cfe 100644 --- a/code/game/antagonist/outsider/deathsquad.dm +++ b/code/game/antagonist/outsider/deathsquad.dm @@ -62,7 +62,7 @@ var/datum/antagonist/deathsquad/deathsquad commando_belt.contents += new /obj/item/weapon/grenade/flashbang commando_belt.contents += new /obj/item/weapon/handcuffs commando_belt.contents += new /obj/item/weapon/handcuffs - commando_belt.contents += new /obj/item/weapon/plastique + commando_belt.contents += new /obj/item/weapon/grenade/frag player.equip_to_slot_or_del(commando_belt, slot_belt) var/obj/item/weapon/card/id/id = create_id("Asset Protection", player) diff --git a/code/game/jobs/access_datum.dm b/code/game/jobs/access_datum.dm index 918f05cd902..28bbdec8f8f 100644 --- a/code/game/jobs/access_datum.dm +++ b/code/game/jobs/access_datum.dm @@ -384,6 +384,12 @@ desc = "Medical Equipment" region = ACCESS_REGION_MEDBAY +/var/const/access_paramedic = 67 +/datum/access/access_paramedic + id = access_paramedic + desc = "Paramedic Equipment" + region = ACCESS_REGION_MEDBAY + /****************** * Central Command * ******************/ diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm index 4b9243f53a6..50e77f68be9 100644 --- a/code/game/jobs/job/medical.dm +++ b/code/game/jobs/job/medical.dm @@ -14,10 +14,12 @@ economic_modifier = 10 access = list(access_medical, access_medical_equip, access_morgue, access_genetics, access_heads, access_chemistry, access_virology, access_cmo, access_surgery, access_RC_announce, - access_keycard_auth, access_sec_doors, access_psychiatrist, access_eva, access_external_airlocks) + access_keycard_auth, access_sec_doors, access_psychiatrist, access_eva, access_external_airlocks, + access_paramedic) minimal_access = list(access_medical, access_medical_equip, access_morgue, access_genetics, access_heads, access_chemistry, access_virology, access_cmo, access_surgery, access_RC_announce, - access_keycard_auth, access_sec_doors, access_psychiatrist, access_eva, access_external_airlocks) + access_keycard_auth, access_sec_doors, access_psychiatrist, access_eva, access_external_airlocks, + access_paramedic) minimal_player_age = 10 ideal_character_age = 50 @@ -212,8 +214,8 @@ supervisors = "the chief medical officer" selection_color = "#ffeef0" economic_modifier = 4 - access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_eva, access_maint_tunnels, access_external_airlocks, access_psychiatrist) - minimal_access = list(access_medical, access_medical_equip, access_morgue, access_eva, access_maint_tunnels, access_external_airlocks) + access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_eva, access_maint_tunnels, access_external_airlocks, access_psychiatrist, access_paramedic) + minimal_access = list(access_medical, access_medical_equip, access_morgue, access_eva, access_maint_tunnels, access_external_airlocks, access_paramedic) alt_titles = list("Emergency Medical Technician") equip(var/mob/living/carbon/human/H) diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index 1d1303584da..abb3a6c68f0 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -151,7 +151,7 @@ spawn_positions = 4 supervisors = "the head of security" selection_color = "#ffeeee" - alt_titles = list("Junior Officer") +// alt_titles = list("Junior Officer") //aurora already has security cadets economic_modifier = 4 access = list(access_security, access_eva, access_sec_doors, access_brig, access_maint_tunnels, access_morgue, access_external_airlocks) minimal_access = list(access_security, access_eva, access_sec_doors, access_brig, access_maint_tunnels, access_external_airlocks) diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 82381013812..48e88659e68 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -12,7 +12,7 @@ desc = "Emergency air-tight shutter, capable of sealing off breached areas." icon = 'icons/obj/doors/DoorHazard.dmi' icon_state = "door_open" - req_one_access = list(access_atmospherics, access_engine_equip) + req_one_access = list(access_atmospherics, access_engine_equip, access_paramedic) opacity = 0 density = 0 layer = DOOR_OPEN_LAYER - 0.01 diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index 5bb25e9e38a..acc9b343209 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -137,7 +137,10 @@ /obj/item/device/megaphone, /obj/item/weapon/melee, /obj/item/weapon/gun/projectile/sec, - /obj/item/taperoll/police + /obj/item/taperoll/police, + /obj/item/weapon/material/sword/trench, + /obj/item/weapon/shield/energy, + /obj/item/weapon/shield/riot/tact ) /obj/item/weapon/storage/belt/soulstone @@ -159,7 +162,6 @@ new /obj/item/device/soulstone(src) new /obj/item/device/soulstone(src) - /obj/item/weapon/storage/belt/champion name = "championship belt" desc = "Proves to the world that you are the strongest!" @@ -204,8 +206,13 @@ /obj/item/weapon/plastique, /obj/item/weapon/gun/projectile/pistol, /obj/item/weapon/gun/energy/crossbow, + /obj/item/weapon/material/sword/trench, /obj/item/ammo_casing/a145, - /obj/item/device/radio/uplink + /obj/item/device/radio/uplink, + /obj/item/weapon/card/emag, + /obj/item/device/multitool/hacktool, + /obj/item/weapon/reagent_containers/hypospray/combat, + /obj/item/stack/telecrystal ) /obj/item/weapon/storage/belt/janitor @@ -223,4 +230,4 @@ /obj/item/weapon/reagent_containers/spray, /obj/item/weapon/soap, /obj/item/weapon/storage/bag/trash -) + ) diff --git a/code/modules/clothing/spacesuits/rig/modules/combat.dm b/code/modules/clothing/spacesuits/rig/modules/combat.dm index d95d04268d0..44f2a5935f9 100644 --- a/code/modules/clothing/spacesuits/rig/modules/combat.dm +++ b/code/modules/clothing/spacesuits/rig/modules/combat.dm @@ -89,6 +89,20 @@ new_grenade.activate(H) new_grenade.throw_at(target,fire_force,fire_distance) +/obj/item/rig_module/grenade_launcher/frag + + name = "mounted frag grenade launcher" + desc = "A shoulder-mounted fragmentation explosives dispenser." + selectable = 1 + icon_state = "grenade" + + interface_name = "integrated frag grenade launcher" + interface_desc = "Discharges loaded frag grenades against the wearer's location." + + charges = list( + list("frag grenade", "frag grenade", /obj/item/weapon/grenade/frag, 3) + ) + /obj/item/rig_module/mounted name = "mounted laser cannon" @@ -152,6 +166,50 @@ interface_desc = "A shoulder-mounted cell-powered taser." gun_type = /obj/item/weapon/gun/energy/taser/mounted + +/obj/item/rig_module/mounted/pulse + + name = "mounted pulse rifle" + desc = "A shoulder-mounted battery-powered pulse rifle mount." + icon_state = "pulse" + + interface_name = "mounted pulse rifle" + interface_desc = "A shoulder-mounted cell-powered pulse rifle." + + gun_type = /obj/item/weapon/gun/energy/pulse_rifle/mounted + +/obj/item/rig_module/mounted/smg + + name = "mounted submachine gun" + desc = "A forearm-mounted suit-powered ballistic submachine gun." + icon_state = "smg" + + interface_name = "mounted submachine gun" + interface_desc = "A forearm-mounted suit-powered ballistic submachine gun." + + gun_type = /obj/item/weapon/gun/energy/mountedsmg + +/obj/item/rig_module/mounted/xray + + name = "mounted xray laser gun" + desc = "A forearm-mounted suit-powered xray laser gun." + icon_state = "xray" + + interface_name = "mounted xray laser gun" + interface_desc = "A forearm-mounted suit-powered xray laser gun." + + gun_type = /obj/item/weapon/gun/energy/xray/mounted + +/obj/item/rig_module/mounted/ion + + name = "mounted ion rifle" + desc = "A shoulder-mounted battery-powered ion rifle mount." + icon_state = "ion" + + interface_name = "mounted ion rifle" + interface_desc = "A shoulder-mounted cell-powered ion rifle." + + gun_type = /obj/item/weapon/gun/energy/ionrifle/mounted /obj/item/rig_module/mounted/energy_blade diff --git a/code/modules/clothing/spacesuits/rig/suits/combat.dm b/code/modules/clothing/spacesuits/rig/suits/combat.dm index 3965d57d4a9..7c3712a3b02 100644 --- a/code/modules/clothing/spacesuits/rig/suits/combat.dm +++ b/code/modules/clothing/spacesuits/rig/suits/combat.dm @@ -26,4 +26,46 @@ /obj/item/rig_module/power_sink, /obj/item/rig_module/electrowarfare_suite, /obj/item/rig_module/chem_dispenser/combat - ) \ No newline at end of file + ) + +/obj/item/weapon/rig/military + name = "military hardsuit control module" + desc = "A powerfull hardsuit designed for military operations." + icon_state = "military_rig" + suit_type = "military hardsuit" + armor = list(melee = 80, bullet = 75, laser = 60, energy = 15, bomb = 80, bio = 100, rad = 30) + slowdown = 1 + offline_slowdown = 3 + offline_vision_restriction = 1 + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs) + + chest_type = /obj/item/clothing/suit/space/rig/military + helm_type = /obj/item/clothing/head/helmet/space/rig/military + boot_type = /obj/item/clothing/shoes/magboots/rig/military + glove_type = /obj/item/clothing/gloves/rig/military + +/obj/item/clothing/head/helmet/space/rig/military + light_overlay = "helmet_light_dual_green" + species_restricted = list("Human") + +/obj/item/clothing/suit/space/rig/military + species_restricted = list("Human") + +/obj/item/clothing/shoes/magboots/rig/military + species_restricted = list("Human") + +/obj/item/clothing/gloves/rig/military + species_restricted = list("Human") + +/obj/item/weapon/rig/military/equipped + initial_modules = list( + /obj/item/rig_module/maneuvering_jets, + /obj/item/rig_module/mounted/pulse, + /obj/item/rig_module/vision/thermal, + /obj/item/rig_module/grenade_launcher/frag, + /obj/item/rig_module/ai_container, + /obj/item/rig_module/power_sink, + /obj/item/rig_module/chem_dispenser/combat, + /obj/item/rig_module/chem_dispenser/injector, + /obj/item/rig_module/device/plasmacutter + ) diff --git a/code/modules/clothing/spacesuits/rig/suits/station.dm b/code/modules/clothing/spacesuits/rig/suits/station.dm index c88cbd95f16..dc6829ed09f 100644 --- a/code/modules/clothing/spacesuits/rig/suits/station.dm +++ b/code/modules/clothing/spacesuits/rig/suits/station.dm @@ -99,6 +99,7 @@ offline_vision_restriction = 1 helm_type = /obj/item/clothing/head/helmet/space/rig/eva + glove_type = /obj/item/clothing/gloves/rig/eva allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/toolbox,/obj/item/weapon/storage/briefcase/inflatable,/obj/item/device/t_scanner,/obj/item/weapon/rcd) @@ -113,6 +114,9 @@ /obj/item/rig_module/device/rcd, /obj/item/rig_module/vision/meson ) + +/obj/item/clothing/gloves/rig/eva + siemens_coefficient = 0 /obj/item/weapon/rig/ce @@ -126,14 +130,13 @@ offline_vision_restriction = 0 helm_type = /obj/item/clothing/head/helmet/space/rig/ce + glove_type = /obj/item/clothing/gloves/rig/ce allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd) req_access = list() req_one_access = list() - glove_type = /obj/item/clothing/gloves/rig/ce - /obj/item/weapon/rig/ce/equipped req_access = list(access_ce) diff --git a/code/modules/mob/living/carbon/human/species/station/station.dm b/code/modules/mob/living/carbon/human/species/station/station.dm index cbb1369db81..0a11caa28dd 100644 --- a/code/modules/mob/living/carbon/human/species/station/station.dm +++ b/code/modules/mob/living/carbon/human/species/station/station.dm @@ -101,7 +101,6 @@ name_plural = "Tajaran" icobase = 'icons/mob/human_races/r_tajaran.dmi' deform = 'icons/mob/human_races/r_def_tajaran.dmi' - language = "Siik'maas" tail = "tajtail" tail_animation = 'icons/mob/species/tajaran/tail.dmi' unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws, /datum/unarmed_attack/bite/sharp) diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index 7e433077308..f82863b0948 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -269,6 +269,10 @@ datum/preferences if(undershirt && current_species.appearance_flags & HAS_UNDERWEAR) undershirt_s = new/icon("icon" = 'icons/mob/human.dmi', "icon_state" = undershirt) + var/icon/socks_s = null + if(socks && current_species.appearance_flags & HAS_SOCKS) + socks_s = new/icon("icon" = 'icons/mob/human.dmi', "icon_state" = socks) + var/icon/clothes_s = null if(job_civilian_low & ASSISTANT)//This gives the preview icon clothes depending on which job(if any) is set to 'high' clothes_s = new /icon('icons/mob/uniform.dmi', "grey_s") @@ -706,6 +710,8 @@ datum/preferences preview_icon.Blend(underwear_s, ICON_OVERLAY) if(undershirt_s) preview_icon.Blend(undershirt_s, ICON_OVERLAY) + if(socks_s) + preview_icon.Blend(socks_s, ICON_OVERLAY) if(clothes_s) preview_icon.Blend(clothes_s, ICON_OVERLAY) preview_icon_front = new(preview_icon, dir = SOUTH) @@ -714,4 +720,5 @@ datum/preferences qdel(eyes_s) qdel(underwear_s) qdel(undershirt_s) + qdel(socks_s) qdel(clothes_s) diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index c8fd311dcb6..abf8e1de612 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -75,6 +75,13 @@ obj/item/weapon/gun/energy/retro charge_cost = 100 max_shots = 20 fire_delay = 1 + +/obj/item/weapon/gun/energy/xray/mounted + name = "mounted xray laser gun" + charge_cost = 200 + self_recharge = 1 + use_external_power = 1 + recharge_time = 5 /obj/item/weapon/gun/energy/sniperrifle name = "marksman energy rifle" diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index 277014426a4..0a73350fb11 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -17,8 +17,10 @@ ) /obj/item/weapon/gun/energy/pulse_rifle/mounted + charge_cost = 400 self_recharge = 1 use_external_power = 1 + recharge_time = 10 /obj/item/weapon/gun/energy/pulse_rifle/destroyer name = "pulse destroyer" diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index f3d56779c6f..5c15f376ff7 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -22,6 +22,12 @@ item_state = "ionrifle-empty" else item_state = initial(item_state) + +/obj/item/weapon/gun/energy/ionrifle/mounted + name = "mounted ion rifle" + self_recharge = 1 + use_external_power = 1 + recharge_time = 10 /obj/item/weapon/gun/energy/decloner name = "biological demolecularisor" diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm index 9be138c2715..919917fb3d3 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm @@ -624,12 +624,9 @@ glass_desc = "Don't drop it, or you'll send scalding liquid and glass shards everywhere." /datum/reagent/drink/coffee/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) + ..() if(alien == IS_DIONA) return - ..() - if(alien == IS_TAJARA) - M.adjustToxLoss(0.5 * removed) - M.make_jittery(4) //extra sensitive to caffine if(adj_temp > 0) holder.remove_reagent("frostoil", 10 * removed) diff --git a/html/changelogs/alberky-PR-1291.yml b/html/changelogs/alberky-PR-1291.yml new file mode 100644 index 00000000000..e4a4c10e2c6 --- /dev/null +++ b/html/changelogs/alberky-PR-1291.yml @@ -0,0 +1,6 @@ +author: Alberyk + +delete-after: True + +changes: + - rscadd: "Paramedics and emts have access to firelocks now." diff --git a/icons/mob/rig_back.dmi b/icons/mob/rig_back.dmi index 923939d323e..a5309b5dc9a 100644 Binary files a/icons/mob/rig_back.dmi and b/icons/mob/rig_back.dmi differ diff --git a/icons/obj/rig_modules.dmi b/icons/obj/rig_modules.dmi index d6c96415b8c..4e41ac8caed 100644 Binary files a/icons/obj/rig_modules.dmi and b/icons/obj/rig_modules.dmi differ