Skip to content

Commit

Permalink
Merge branch 'master' into obimprovement
Browse files Browse the repository at this point in the history
  • Loading branch information
Cthulhu80 committed Jun 30, 2023
2 parents 9e96213 + 0a68bd3 commit 9383366
Show file tree
Hide file tree
Showing 34 changed files with 113 additions and 61 deletions.
6 changes: 3 additions & 3 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,10 +74,10 @@ These are the few directives we have for project maintainers.
- Try to get secondary maintainer approval before merging if you are able to.
- PRs with empty commits intended to generate a changelog.
- Do not merge PRs that contain content from the [banned content list](./CONTRIBUTING.md#banned-content).
- Do not merge PRs that contain balance changes without GA approval. Exceptions include:
- Any PR that has been un-reviewed by a GA for 7 days.
- Do not merge PRs that contain balance changes without Maintainer Manager approval. Exceptions include:
- Any PR that has been un-reviewed by a Maintainer Manager for 7 days.
- Do not remove the DNM label that another Maintainer has applied. Exceptions include:
- GAs removing a DNM label placed by a Maintainer for Balance/Design reasons
- Maintainer Managers removing a DNM label placed by a Maintainer for Balance/Design reasons

These are not steadfast rules as maintainers are expected to use their best judgement when operating.

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/generate_documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
run: |
~/dmdoc
touch dmdoc/.nojekyll
echo codedocs.tgstation13.org > dmdoc/CNAME
echo docs.cm-ss13.com > dmdoc/CNAME
- name: Deploy
uses: JamesIves/[email protected]
with:
Expand Down
3 changes: 3 additions & 0 deletions code/__DEFINES/traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,9 @@
//ie. naming a regulation tape "example" will become regulation tape (example)
#define TRAIT_ITEM_RENAME_SPECIAL "t_item_rename_special"

// This item can't be implanted into someone, regardless of the size of the item.
#define TRAIT_ITEM_NOT_IMPLANTABLE "t_item_not_implantable"

//-- structure traits --
// TABLE TRAITS
/// If the table is being flipped, prevent any changes that will mess with adjacency handling
Expand Down
6 changes: 4 additions & 2 deletions code/datums/emergency_calls/cryo_marines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,12 @@
shuttle_id = ""
var/leaders = 0

/datum/emergency_call/cryo_squad/spawn_candidates(announce, override_spawn_loc)
/datum/emergency_call/cryo_squad/spawn_candidates(announce, override_spawn_loc, announce_dispatch_message)
var/datum/squad/marine/cryo/cryo_squad = RoleAuthority.squads_by_type[/datum/squad/marine/cryo]
leaders = cryo_squad.num_leaders
return ..()
. = ..()
if(length(members))
shipwide_ai_announcement("Successfully deployed [length(members)] Foxtrot marines.")

/datum/emergency_call/cryo_squad/create_member(datum/mind/M, turf/override_spawn_loc)
set waitfor = 0
Expand Down
6 changes: 4 additions & 2 deletions code/datums/emergency_calls/cryo_marines_heavy.dm
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,12 @@

var/leaders = 0

/datum/emergency_call/cryo_squad_equipped/spawn_candidates(announce, override_spawn_loc)
/datum/emergency_call/cryo_squad_equipped/spawn_candidates(announce, override_spawn_loc, announce_dispatch_message)
var/datum/squad/marine/cryo/cryo_squad = RoleAuthority.squads_by_type[/datum/squad/marine/cryo]
leaders = cryo_squad.num_leaders
return ..()
. = ..()
if(length(members))
shipwide_ai_announcement("Successfully deployed [length(members)] Foxtrot marines.")

/datum/emergency_call/cryo_squad_equipped/create_member(datum/mind/M, turf/override_spawn_loc)
set waitfor = 0
Expand Down
3 changes: 2 additions & 1 deletion code/game/objects/items/devices/motion_detector.dm
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
item_state = "motion_detector"
flags_atom = FPRINT| CONDUCT
flags_equip_slot = SLOT_WAIST
inherent_traits = list(TRAIT_ITEM_NOT_IMPLANTABLE)
var/list/blip_pool = list()
var/detector_range = 14
var/detector_mode = MOTION_DETECTOR_LONG
Expand Down Expand Up @@ -309,7 +310,7 @@
name = "hacked motion detector"
desc = "A device that usually picks up non-USCM signals, but this one's been hacked to detect all non-freelancer movement instead. Fight fire with fire!"
iff_signal = FACTION_MERCENARY

/obj/item/device/motiondetector/hacked/pmc
name = "corporate motion detector"
desc = "A device that usually picks up non-USCM signals, but this one's been reprogrammed to detect all non-PMC movement instead. Very corporate."
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/structures/crates_lockers/closets.dm
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@

/obj/structure/closet/proc/toggle(mob/living/user)
user.next_move = world.time + 5
if(!(src.opened ? src.close() : src.open()))
if(!(src.opened ? src.close(user) : src.open()))
to_chat(user, SPAN_NOTICE("It won't budge!"))
return

Expand Down
2 changes: 2 additions & 0 deletions code/modules/character_traits/biology_traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -59,11 +59,13 @@
return

ADD_TRAIT(target, TRAIT_LISPING, TRAIT_SOURCE_QUIRK)
target.speech_problem_flag = TRUE

..()

/datum/character_trait/biology/lisp/unapply_trait(mob/living/carbon/human/target)
REMOVE_TRAIT(target, TRAIT_LISPING, TRAIT_SOURCE_QUIRK)
target.speech_problem_flag = FALSE
..()

/datum/character_trait/biology/bad_leg
Expand Down
13 changes: 12 additions & 1 deletion code/modules/cm_marines/dropship_equipment.dm
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,13 @@
deployed_turret.start_processing()
deployed_turret.set_range()

deployed_turret.linked_cam = new(deployed_turret.loc, "[capitalize_first_letters(ship_base.name)] [capitalize_first_letters(name)]")
if (linked_shuttle.id == DROPSHIP_ALAMO)
deployed_turret.linked_cam.network = list(CAMERA_NET_ALAMO)
else if (linked_shuttle.id == DROPSHIP_NORMANDY)
deployed_turret.linked_cam.network = list(CAMERA_NET_NORMANDY)


/obj/structure/dropship_equipment/sentry_holder/proc/undeploy_sentry()
if(!deployed_turret)
return
Expand All @@ -267,8 +274,12 @@
deployed_turret.stop_processing()
deployed_turret.unset_range()
icon_state = "sentry_system_installed"
QDEL_NULL(deployed_turret.linked_cam)


/obj/structure/dropship_equipment/sentry_holder/Destroy()
if(deployed_turret)
QDEL_NULL(deployed_turret.linked_cam)
. = ..()


/// Holder for the dropship mannable machinegun system
Expand Down
12 changes: 9 additions & 3 deletions code/modules/cm_marines/equipment/gear.dm
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@
var/is_animating = FALSE
var/first_open = TRUE
exit_stun = 0
/// used to implement a delay before tarp can be entered again after opened (anti-exploit)
COOLDOWN_DECLARE(toggle_delay)

/obj/structure/closet/bodybag/tarp/snow
icon_state = "snowtarp_closed"
Expand Down Expand Up @@ -91,9 +93,9 @@
exit_stun = 1
can_store_dead = TRUE

/obj/structure/closet/bodybag/tarp/reactive/scout/close()
/obj/structure/closet/bodybag/tarp/reactive/scout/close(mob/user)
if(!skillcheck(usr, SKILL_SPEC_WEAPONS, SKILL_SPEC_ALL) && usr.skills.get_skill_level(SKILL_SPEC_WEAPONS) != SKILL_SPEC_SCOUT)
to_chat(usr, SPAN_WARNING("You don't seem to know how to use [src]..."))
to_chat(user, SPAN_WARNING("You don't seem to know how to use [src]..."))
return
. = ..()

Expand Down Expand Up @@ -137,10 +139,14 @@
return

/obj/structure/closet/bodybag/tarp/open()
COOLDOWN_START(src, toggle_delay, 3 SECONDS) //3 seconds must pass before tarp can be closed
. = ..()
handle_cloaking()

/obj/structure/closet/bodybag/tarp/close()
/obj/structure/closet/bodybag/tarp/close(mob/user)
if(!COOLDOWN_FINISHED(src, toggle_delay))
to_chat(user, SPAN_WARNING("It is too soon to close [src]!"))
return FALSE
. = ..()
handle_cloaking()

Expand Down
2 changes: 2 additions & 0 deletions code/modules/defenses/sentry.dm
Original file line number Diff line number Diff line change
Expand Up @@ -539,11 +539,13 @@
choice_categories = list()
selected_categories = list()
var/obj/structure/dropship_equipment/sentry_holder/deployment_system
var/obj/structure/machinery/camera/cas/linked_cam

/obj/structure/machinery/defenses/sentry/premade/dropship/Destroy()
if(deployment_system)
deployment_system.deployed_turret = null
deployment_system = null
QDEL_NULL(linked_cam)
. = ..()

#define SENTRY_SNIPER_RANGE 10
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/dead/observer/observer.dm
Original file line number Diff line number Diff line change
Expand Up @@ -398,7 +398,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
var/is_nested = (buckled && istype(buckled, /obj/structure/bed/nest)) ? TRUE : FALSE
var/obj/structure/bed/nest/nest = FALSE
if(is_nested)
text_prompt += "\nSince you're nested, you will be given a chance to reenter your body upon being freed."
text_prompt += "\nSince you're nested, you will get a chance to reenter your body if freed."
nest = buckled
var/response = tgui_alert(src, text_prompt, "Are you sure you want to ghost?", options)
if(response == "Aghost")
Expand Down
4 changes: 2 additions & 2 deletions code/modules/mob/living/carbon/human/human_damage.dm
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@ In most cases it makes more sense to use apply_damage() instead! And make sure t
apply_damage(burn, BURN, picked, sharp, edge)
UpdateDamageIcon()
updatehealth()
speech_problem_flag = 1
speech_problem_flag = TRUE


//Heal MANY limbs, in random order
Expand All @@ -308,7 +308,7 @@ In most cases it makes more sense to use apply_damage() instead! And make sure t

parts -= picked
updatehealth()
speech_problem_flag = 1
speech_problem_flag = TRUE
if(update) UpdateDamageIcon()

// damage MANY limbs, in random order
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/living/carbon/human/human_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@

var/voice

var/speech_problem_flag = 0
var/speech_problem_flag = FALSE

var/special_voice = "" // For changing our voice. Used by a symptom.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
return

if(disabilities & TOURETTES)
speech_problem_flag = 1
speech_problem_flag = TRUE
if((prob(10) && knocked_out <= 1))
apply_effect(10, STUN)
spawn()
Expand All @@ -36,7 +36,7 @@
return

if(disabilities & NERVOUS)
speech_problem_flag = 1
speech_problem_flag = TRUE
if(prob(10))
stuttering = max(10, stuttering)
return
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@
if(regular_update && halloss > 0)
apply_damage(-3, HALLOSS)
else if(sleeping)
speech_problem_flag = 1
speech_problem_flag = TRUE
if(regular_update)
handle_dreams()
apply_damage(-3, HALLOSS)
Expand Down Expand Up @@ -122,7 +122,7 @@
handle_statuses()

if(paralyzed)
speech_problem_flag = 1
speech_problem_flag = TRUE
apply_effect(1, WEAKEN)
silent = 1
blinded = TRUE
Expand Down
10 changes: 5 additions & 5 deletions code/modules/mob/living/carbon/human/life/life_helpers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -216,18 +216,18 @@

/mob/living/carbon/human/handle_silent()
if(..())
speech_problem_flag = 1
speech_problem_flag = TRUE
return silent

/mob/living/carbon/human/handle_slurring()
if(..())
speech_problem_flag = 1
speech_problem_flag = TRUE
return slurring

/mob/living/carbon/human/handle_stunned()
if(stunned)
adjust_effect(-species.stun_reduction, STUN, EFFECT_FLAG_LIFE)
speech_problem_flag = 1
speech_problem_flag = TRUE
return stunned

/mob/living/carbon/human/handle_dazed()
Expand All @@ -237,7 +237,7 @@
var/final_reduction = skill_resistance + 1
adjust_effect(-final_reduction, DAZE, EFFECT_FLAG_LIFE)
if(dazed)
speech_problem_flag = 1
speech_problem_flag = TRUE
return dazed

/mob/living/carbon/human/handle_knocked_down()
Expand All @@ -262,7 +262,7 @@

/mob/living/carbon/human/handle_stuttering()
if(..())
speech_problem_flag = 1
speech_problem_flag = TRUE
return stuttering

#define HUMAN_TIMER_TO_EFFECT_CONVERSION (0.05) //(1/20) //once per 2 seconds, with effect equal to endurance, which is used later
Expand Down
17 changes: 9 additions & 8 deletions code/modules/mob/living/carbon/human/say.dm
Original file line number Diff line number Diff line change
Expand Up @@ -262,45 +262,46 @@ for it but just ignore it.
/mob/living/carbon/human/proc/handle_speech_problems(message)
var/list/returns[3]
var/verb = "says"
var/handled = 0
var/handled = FALSE
if(silent)
message = ""
handled = 1
handled = TRUE
if(sdisabilities & DISABILITY_MUTE)
message = ""
handled = 1
handled = TRUE
if(wear_mask)
if(istype(wear_mask, /obj/item/clothing/mask/horsehead))
var/obj/item/clothing/mask/horsehead/hoers = wear_mask
if(hoers.voicechange)
message = pick("NEEIIGGGHHHH!", "NEEEIIIIGHH!", "NEIIIGGHH!", "HAAWWWWW!", "HAAAWWW!")
verb = pick("whinnies","neighs", "says")
handled = 1
handled = TRUE

var/braindam = getBrainLoss()
if(slurring || stuttering || dazed || braindam >= 60)
msg_admin_niche("[key_name(src)] stuttered while saying: \"[message]\"") //Messages that get modified by the 4 reasons below have their original message logged too
if(slurring)
message = slur(message)
verb = pick("stammers","stutters")
handled = 1
handled = TRUE
if(stuttering)
message = NewStutter(message)
verb = pick("stammers", "stutters")
handled = 1
handled = TRUE
if(dazed)
message = DazedText(message)
verb = pick("mumbles", "babbles")
handled = 1
handled = TRUE
if(braindam >= 60)
handled = 1
handled = TRUE
if(prob(braindam/4))
message = stutter(message, stuttering)
verb = pick("stammers", "stutters")
if(prob(braindam))
message = uppertext(message)
verb = pick("yells like an idiot","says rather loudly")
if(HAS_TRAIT(src, TRAIT_LISPING))
handled = TRUE
var/old_message = message
message = lisp_replace(message)
if(old_message != message)
Expand Down
7 changes: 5 additions & 2 deletions code/modules/mob/living/carbon/xenomorph/xeno_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -286,7 +286,7 @@
var/bonus_larva_spawn_chance = 1
var/hijack_burrowed_surge = FALSE //at hijack, start spawning lots of burrowed
/// how many burrowed is going to spawn during larva surge
var/hijack_burrowed_left = 0
var/hijack_burrowed_left = 0

var/ignore_slots = FALSE
var/dynamic_evolution = TRUE
Expand Down Expand Up @@ -1006,7 +1006,10 @@

/datum/hive_status/proc/can_spawn_as_hugger(mob/dead/observer/user)
if(!GLOB.hive_datum || ! GLOB.hive_datum[hivenumber])
return
return FALSE
if(jobban_isbanned(user, JOB_XENOMORPH)) // User is jobbanned
to_chat(user, SPAN_WARNING("You are banned from playing aliens and cannot spawn as a xenomorph."))
return FALSE
if(world.time < hugger_timelock)
to_chat(user, SPAN_WARNING("The hive cannot support facehuggers yet..."))
return FALSE
Expand Down
2 changes: 2 additions & 0 deletions code/modules/surgery/implant.dm
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,8 @@
if(.)
if(is_surgery_tool(tool)) //Make sure you still have all your tools after a surgery.
return FALSE
if(HAS_TRAIT(tool, TRAIT_ITEM_NOT_IMPLANTABLE))
return FALSE
if(tool.w_class > get_max_wclass(surgery))
to_chat(user, SPAN_WARNING("[tool] is too big to implant into [surgery.target]'s [surgery.affected_limb.cavity]!"))
return FALSE
Expand Down
4 changes: 4 additions & 0 deletions html/changelogs/AutoChangeLog-pr-3675.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
author: "TheGamerdk"
delete-after: True
changes:
- rscadd: "ARES will announce how many Foxtrot marines that woke up."
4 changes: 0 additions & 4 deletions html/changelogs/AutoChangeLog-pr-3724.yml

This file was deleted.

4 changes: 4 additions & 0 deletions html/changelogs/AutoChangeLog-pr-3737.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
author: "ihatethisengine"
delete-after: True
changes:
- rscadd: "Added cameras to dropship deployable sentries."
Loading

0 comments on commit 9383366

Please sign in to comment.