From 37e64b6adb9414c20c5961c0dd310862dda4efef Mon Sep 17 00:00:00 2001 From: xDanilcusx Date: Fri, 20 Oct 2023 04:36:19 +0300 Subject: [PATCH 1/5] autodoc rebuff --- code/game/machinery/medical_pod/autodoc.dm | 23 +++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/medical_pod/autodoc.dm b/code/game/machinery/medical_pod/autodoc.dm index 7049df4c66..5b40f70bc4 100644 --- a/code/game/machinery/medical_pod/autodoc.dm +++ b/code/game/machinery/medical_pod/autodoc.dm @@ -1,7 +1,7 @@ //Autodoc /obj/structure/machinery/medical_pod/autodoc name = "\improper autodoc emergency medical system" - desc = "An emergency surgical device designed to perform life-saving treatments and basic surgeries on patients automatically, without the need of a surgeon.
It still requires someone with medical knowledge to program the treatments correctly; for this reason, colonies that use these often have paramedics trained in autodoc operation." + desc = "A fancy machine developed to be capable of operating on people with minimal human intervention. The interface is rather complex and would only be useful to trained Doctors however." icon_state = "autodoc_open" entry_timer = 2 SECONDS @@ -36,6 +36,11 @@ else icon_state = "autodoc_open" +/obj/structure/machinery/medical_pod/autodoc/get_examine_text(mob/user) + . = ..() + if(ishuman(user)) + . += SPAN_NOTICE("It has [stored_metal] metal available for limb replacements.") + /obj/structure/machinery/medical_pod/autodoc/Initialize() . = ..() connect_autodoc_console() @@ -730,10 +735,22 @@ dat += "Brute Damage Treatment
" if(isnull(surgeryqueue["burn"])) dat += "Burn Damage Treatment
" + dat += "Orthopedic Surgeries" + dat += "
" + if(isnull(surgeryqueue["broken"])) + dat += "Broken Bone Surgery
" + if(isnull(surgeryqueue["internal"])) + dat += "Internal Bleeding Surgery
" if(isnull(surgeryqueue["open"])) dat += "Close Open Incisions
" if(isnull(surgeryqueue["shrapnel"])) dat += "Shrapnel Removal Surgery
" + dat += "Organ Surgeries" + dat += "
" + if(isnull(surgeryqueue["eyes"])) + dat += "Corrective Eye Surgery
" + if(isnull(surgeryqueue["organdamage"])) + dat += "Organ Damage Treatment
" dat += "Hematology Treatments" dat += "
" if(isnull(surgeryqueue["blood"])) @@ -743,6 +760,10 @@ if(isnull(surgeryqueue["toxin"])) dat += "Bloodstream Toxin Removal
" dat += "
" + if(isnull(surgeryqueue["facial"])) + dat += "Facial Reconstruction Surgery
" + if(isnull(surgeryqueue["missing"])) + dat += "Limb Replacement Surgery
" else dat += "The autodoc is empty." dat += text("Close", user) From 78584e9dccd505febc5b5282f68b118844584f48 Mon Sep 17 00:00:00 2001 From: xDanilcusx Date: Fri, 20 Oct 2023 04:37:26 +0300 Subject: [PATCH 2/5] definetly not rigged vote --- code/game/gamemodes/colonialmarines/ai/colonialmarines_ai.dm | 1 + code/game/gamemodes/colonialmarines/whiskey_outpost.dm | 2 +- code/game/gamemodes/game_mode.dm | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/code/game/gamemodes/colonialmarines/ai/colonialmarines_ai.dm b/code/game/gamemodes/colonialmarines/ai/colonialmarines_ai.dm index 79ddc146e9..e2125379b0 100644 --- a/code/game/gamemodes/colonialmarines/ai/colonialmarines_ai.dm +++ b/code/game/gamemodes/colonialmarines/ai/colonialmarines_ai.dm @@ -2,6 +2,7 @@ name = "Distress Signal: Lowpop" config_tag = "Distress Signal: Lowpop" required_players = 0 + votable = TRUE flags_round_type = MODE_INFESTATION|MODE_NEW_SPAWN diff --git a/code/game/gamemodes/colonialmarines/whiskey_outpost.dm b/code/game/gamemodes/colonialmarines/whiskey_outpost.dm index 3d856f35ce..c36e21b6e7 100644 --- a/code/game/gamemodes/colonialmarines/whiskey_outpost.dm +++ b/code/game/gamemodes/colonialmarines/whiskey_outpost.dm @@ -75,7 +75,7 @@ hardcore = TRUE - votable = TRUE + votable = FALSE vote_cycle = 25 // approx. once every 5 days, if it wins the vote taskbar_icon = 'icons/taskbar/gml_wo.png' diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 5382d80f37..f3c01c619b 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -17,7 +17,7 @@ var/global/cas_tracking_id_increment = 0 //this var used to assign unique tracki /datum/game_mode var/name = "invalid" var/config_tag = null - var/votable = TRUE + var/votable = FALSE var/vote_cycle = null var/probability = 0 var/list/datum/mind/modePlayer = new From 45d9744487c27120dc8b76e88a2d5f6aae2a04df Mon Sep 17 00:00:00 2001 From: xDanilcusx Date: Fri, 20 Oct 2023 05:55:15 +0300 Subject: [PATCH 3/5] shoot louder not smarter --- code/datums/ammo/ammo.dm | 3 +++ code/datums/ammo/bullet/shotgun.dm | 2 ++ code/modules/projectiles/gun.dm | 9 +++++++-- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/code/datums/ammo/ammo.dm b/code/datums/ammo/ammo.dm index 8000ebe04c..65b2d1762c 100644 --- a/code/datums/ammo/ammo.dm +++ b/code/datums/ammo/ammo.dm @@ -89,6 +89,9 @@ /// The flicker that plays when a bullet hits a target. Usually red. Can be nulled so it doesn't show up at all. var/hit_effect_color = "#FF0000" + /// currently responsible for increasing firing sound volume ONLY + var/special = FALSE + /datum/ammo/New() set_bullet_traits() diff --git a/code/datums/ammo/bullet/shotgun.dm b/code/datums/ammo/bullet/shotgun.dm index cb2a14f6ea..ecb9f453ac 100644 --- a/code/datums/ammo/bullet/shotgun.dm +++ b/code/datums/ammo/bullet/shotgun.dm @@ -162,6 +162,7 @@ damage = 140 penetration = ARMOR_PENETRATION_TIER_4 bonus_projectiles_amount = EXTRA_PROJECTILES_TIER_6 + special = TRUE //buckshot variant only used by the masterkey shotgun attachment. /datum/ammo/bullet/shotgun/buckshot/masterkey @@ -196,6 +197,7 @@ max_range = 8 damage = 140 penetration = ARMOR_PENETRATION_TIER_4 + special = TRUE /* 8 GAUGE SHOTGUN AMMO diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 9581903461..6499d221dc 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -1679,6 +1679,8 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed return 1 +#define SPECIAL_AMMUNITION_FIRING_VOLUME 100 + /obj/item/weapon/gun/proc/play_firing_sounds(obj/projectile/projectile_to_fire, mob/user) if(!user) //The gun only messages when fired by a user. return @@ -1696,6 +1698,7 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed //Guns with low ammo have their firing sound var/firing_sndfreq = (current_mag && (current_mag.current_rounds / current_mag.max_rounds) > GUN_LOW_AMMO_PERCENTAGE) ? FALSE : SOUND_FREQ_HIGH + var/sound_volume = in_chamber.ammo.special ? SPECIAL_AMMUNITION_FIRING_VOLUME : firesound_volume //firing from an attachment if(active_attachable && active_attachable.flags_attach_features & ATTACH_PROJECTILE) @@ -1704,12 +1707,14 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed else if(!(flags_gun_features & GUN_SILENCED)) if (firing_sndfreq && fire_rattle) - playsound(user, fire_rattle, firesound_volume, FALSE)//if the gun has a unique 'mag rattle' SFX play that instead of pitch shifting. + playsound(user, fire_rattle, sound_volume, FALSE)//if the gun has a unique 'mag rattle' SFX play that instead of pitch shifting. else - playsound(user, actual_sound, firesound_volume, firing_sndfreq) + playsound(user, actual_sound, sound_volume, firing_sndfreq) else playsound(user, actual_sound, 25, firing_sndfreq) +#undef SPECIAL_AMMUNITION_FIRING_VOLUME + /obj/item/weapon/gun/proc/simulate_scatter(obj/projectile/projectile_to_fire, atom/target, turf/curloc, turf/targloc, mob/user, bullets_fired = 1) var/fire_angle = Get_Angle(curloc, targloc) var/total_scatter_angle = projectile_to_fire.scatter From 2774d3248a49c417e5d84e299563356e07384631 Mon Sep 17 00:00:00 2001 From: xDanilcusx Date: Fri, 20 Oct 2023 21:54:48 +0300 Subject: [PATCH 4/5] "Distress Signal: Lowpop" as standart gamemode --- code/controllers/configuration/entries/general.dm | 2 +- code/controllers/subsystem/ticker.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/controllers/configuration/entries/general.dm b/code/controllers/configuration/entries/general.dm index cc3d00fd95..640eb12ea9 100644 --- a/code/controllers/configuration/entries/general.dm +++ b/code/controllers/configuration/entries/general.dm @@ -271,7 +271,7 @@ Voting // Gamemode to auto-switch to at the start of the round /datum/config_entry/string/gamemode_default - config_entry_value = "Extended" + config_entry_value = "Distress Signal: Lowpop" /datum/config_entry/number/rounds_until_hard_restart config_entry_value = -1 // -1 is disabled by default, 0 is every round, x is after so many rounds diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 88627669aa..cfa415f15c 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -333,7 +333,7 @@ SUBSYSTEM_DEF(ticker) if(mode) GLOB.master_mode = SSmapping.configs[GROUND_MAP].force_mode ? SSmapping.configs[GROUND_MAP].force_mode : mode else - GLOB.master_mode = "Extended" + GLOB.master_mode = "Distress Signal: Lowpop" log_game("Saved mode is '[GLOB.master_mode]'") From 5263eceb7a778d05c3969fc7f9a2899ab42b172c Mon Sep 17 00:00:00 2001 From: Morrow Date: Fri, 20 Oct 2023 15:46:58 -0400 Subject: [PATCH 5/5] A few little things --- code/datums/ammo/ammo.dm | 4 ++-- code/datums/ammo/bullet/shotgun.dm | 4 ++-- code/datums/skills/uscm.dm | 1 + code/modules/projectiles/gun.dm | 20 +++++++++----------- 4 files changed, 14 insertions(+), 15 deletions(-) diff --git a/code/datums/ammo/ammo.dm b/code/datums/ammo/ammo.dm index 65b2d1762c..638b487515 100644 --- a/code/datums/ammo/ammo.dm +++ b/code/datums/ammo/ammo.dm @@ -89,8 +89,8 @@ /// The flicker that plays when a bullet hits a target. Usually red. Can be nulled so it doesn't show up at all. var/hit_effect_color = "#FF0000" - /// currently responsible for increasing firing sound volume ONLY - var/special = FALSE + /// Changes the freq of firing sound based on ammo type + var/firing_freq_offset = FALSE /datum/ammo/New() set_bullet_traits() diff --git a/code/datums/ammo/bullet/shotgun.dm b/code/datums/ammo/bullet/shotgun.dm index ecb9f453ac..ccebda8c51 100644 --- a/code/datums/ammo/bullet/shotgun.dm +++ b/code/datums/ammo/bullet/shotgun.dm @@ -162,7 +162,7 @@ damage = 140 penetration = ARMOR_PENETRATION_TIER_4 bonus_projectiles_amount = EXTRA_PROJECTILES_TIER_6 - special = TRUE + firing_freq_offset = SOUND_FREQ_LOW //buckshot variant only used by the masterkey shotgun attachment. /datum/ammo/bullet/shotgun/buckshot/masterkey @@ -197,7 +197,7 @@ max_range = 8 damage = 140 penetration = ARMOR_PENETRATION_TIER_4 - special = TRUE + firing_freq_offset = SOUND_FREQ_LOW /* 8 GAUGE SHOTGUN AMMO diff --git a/code/datums/skills/uscm.dm b/code/datums/skills/uscm.dm index d99fdda8dd..73ce4ef972 100644 --- a/code/datums/skills/uscm.dm +++ b/code/datums/skills/uscm.dm @@ -290,6 +290,7 @@ COMMAND STAFF SKILL_VEHICLE = SKILL_VEHICLE_SMALL, SKILL_JTAC = SKILL_JTAC_EXPERT, SKILL_INTEL = SKILL_INTEL_TRAINED, + SKILL_SURGERY = SKILL_SURGERY_NOVICE, ) /datum/skills/SEA diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 6499d221dc..723426b842 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -1677,9 +1677,12 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed projectile_to_fire.shot_from = src - return 1 + if(user) + projectile_to_fire.firer = user + if(isliving(user)) + projectile_to_fire.def_zone = user.zone_selected -#define SPECIAL_AMMUNITION_FIRING_VOLUME 100 + return 1 /obj/item/weapon/gun/proc/play_firing_sounds(obj/projectile/projectile_to_fire, mob/user) if(!user) //The gun only messages when fired by a user. @@ -1692,13 +1695,10 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed if(projectile_to_fire.ammo && projectile_to_fire.ammo.sound_override) actual_sound = projectile_to_fire.ammo.sound_override - projectile_to_fire.firer = user - if(isliving(user)) - projectile_to_fire.def_zone = user.zone_selected - //Guns with low ammo have their firing sound var/firing_sndfreq = (current_mag && (current_mag.current_rounds / current_mag.max_rounds) > GUN_LOW_AMMO_PERCENTAGE) ? FALSE : SOUND_FREQ_HIGH - var/sound_volume = in_chamber.ammo.special ? SPECIAL_AMMUNITION_FIRING_VOLUME : firesound_volume + + firing_sndfreq = in_chamber.ammo.firing_freq_offset ? in_chamber.ammo.firing_freq_offset : firing_sndfreq //firing from an attachment if(active_attachable && active_attachable.flags_attach_features & ATTACH_PROJECTILE) @@ -1707,14 +1707,12 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed else if(!(flags_gun_features & GUN_SILENCED)) if (firing_sndfreq && fire_rattle) - playsound(user, fire_rattle, sound_volume, FALSE)//if the gun has a unique 'mag rattle' SFX play that instead of pitch shifting. + playsound(user, fire_rattle, firesound_volume, FALSE) //if the gun has a unique 'mag rattle' SFX play that instead of pitch shifting. else - playsound(user, actual_sound, sound_volume, firing_sndfreq) + playsound(user, actual_sound, firesound_volume, firing_sndfreq) else playsound(user, actual_sound, 25, firing_sndfreq) -#undef SPECIAL_AMMUNITION_FIRING_VOLUME - /obj/item/weapon/gun/proc/simulate_scatter(obj/projectile/projectile_to_fire, atom/target, turf/curloc, turf/targloc, mob/user, bullets_fired = 1) var/fire_angle = Get_Angle(curloc, targloc) var/total_scatter_angle = projectile_to_fire.scatter