From c6289ffff15ee4f90a575ed99724ef1f5ad15eb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=BA=D1=82=D0=BE?= <65656972+xDanilcusx@users.noreply.github.com> Date: Fri, 20 Oct 2023 22:47:42 +0300 Subject: [PATCH] Autodoc rebuff, wrong modes no longer voteable, shotgun special ammo sound buff, SO novice surgery (#10) Co-authored-by: Morrow --- .../configuration/entries/general.dm | 2 +- code/controllers/subsystem/ticker.dm | 2 +- code/datums/ammo/ammo.dm | 3 +++ code/datums/ammo/bullet/shotgun.dm | 2 ++ code/datums/skills/uscm.dm | 1 + .../colonialmarines/ai/colonialmarines_ai.dm | 1 + .../colonialmarines/whiskey_outpost.dm | 2 +- code/game/gamemodes/game_mode.dm | 2 +- code/game/machinery/medical_pod/autodoc.dm | 23 ++++++++++++++++++- code/modules/projectiles/gun.dm | 13 +++++++---- 10 files changed, 41 insertions(+), 10 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]'") diff --git a/code/datums/ammo/ammo.dm b/code/datums/ammo/ammo.dm index 8000ebe04c..638b487515 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" + /// 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 cb2a14f6ea..ccebda8c51 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 + firing_freq_offset = SOUND_FREQ_LOW //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 + 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/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 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) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 9581903461..723426b842 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -1677,6 +1677,11 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed projectile_to_fire.shot_from = src + if(user) + projectile_to_fire.firer = user + if(isliving(user)) + projectile_to_fire.def_zone = user.zone_selected + return 1 /obj/item/weapon/gun/proc/play_firing_sounds(obj/projectile/projectile_to_fire, mob/user) @@ -1690,13 +1695,11 @@ 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 + 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) if(active_attachable.fire_sound) //If we're firing from an attachment, use that noise instead. @@ -1704,7 +1707,7 @@ 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, firesound_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) else