Skip to content

Commit

Permalink
Merge remote-tracking branch 'cmss13-devs/master' into project/fax_re…
Browse files Browse the repository at this point in the history
…sponders/main
  • Loading branch information
realforest2001 committed Nov 19, 2024
2 parents c6b6d54 + 0e1ae6b commit efcdaea
Show file tree
Hide file tree
Showing 36 changed files with 537 additions and 320 deletions.
24 changes: 13 additions & 11 deletions .github/workflows/ci_suite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,29 +6,31 @@ on:
merge_group:
jobs:
run_linters:
if: "!contains(github.event.head_commit.message, '[ci skip]')"
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
name: Run Linters
runs-on: ubuntu-latest
concurrency:
group: run_linters-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Restore SpacemanDMM cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/SpacemanDMM
key: ${{ runner.os }}-spacemandmm-${{ secrets.CACHE_PURGE_KEY }}
- name: Restore Yarn cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: tgui/.yarn/cache
key: ${{ runner.os }}-yarn-${{ secrets.CACHE_PURGE_KEY }}-${{ hashFiles('tgui/yarn.lock') }}
restore-keys: |
${{ runner.os }}-build-
${{ runner.os }}-
- name: Restore Rust cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.cargo
key: ${{ runner.os }}-rust
Expand Down Expand Up @@ -75,7 +77,7 @@ jobs:
- run: ./DMCompiler_linux-x64/DMCompiler --suppress-unimplemented colonialmarines.dme

compile_all_maps:
if: "!contains(github.event.head_commit.message, '[ci skip]')"
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
name: Compile Maps
runs-on: ubuntu-latest
steps:
Expand All @@ -92,7 +94,7 @@ jobs:
tools/build/build --ci dm -DCIBUILDING -DCITESTING -DALL_MAPS
find_all_maps:
if: "!contains(github.event.head_commit.message, '[ci skip]')"
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
name: Find Maps to Test
runs-on: ubuntu-latest
outputs:
Expand All @@ -117,7 +119,7 @@ jobs:
ALTERNATE_TESTS_JSON=$(jq -nRc '[inputs | capture("^(?<major>[0-9]+)\\.(?<minor>[0-9]+): (?<map>.+)$")]' .github/alternate_byond_versions.txt)
echo "alternate_tests=$ALTERNATE_TESTS_JSON" >> $GITHUB_OUTPUT
run_all_tests:
if: "!contains(github.event.head_commit.message, '[ci skip]')"
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
name: Unit Tests
needs: [find_all_maps]
strategy:
Expand All @@ -132,7 +134,7 @@ jobs:
map: ${{ matrix.map }}

run_alternate_tests:
if: "!contains(github.event.head_commit.message, '[ci skip]') && needs.find_all_maps.outputs.alternate_tests != '[]'"
if: ( !contains(github.event.head_commit.message, '[ci skip]') && needs.find_all_maps.outputs.alternate_tests != '[]' )
name: Alternate Tests
needs: [find_all_maps]
strategy:
Expand All @@ -149,15 +151,15 @@ jobs:
minor: ${{ matrix.setup.minor }}

check_alternate_tests:
if: "!contains(github.event.head_commit.message, '[ci skip]') && needs.find_all_maps.outputs.alternate_tests != '[]'"
if: ( !contains(github.event.head_commit.message, '[ci skip]') && needs.find_all_maps.outputs.alternate_tests != '[]' )
name: Check Alternate Tests
needs: [run_alternate_tests]
runs-on: ubuntu-latest
steps:
- run: echo Alternate tests passed.

test_windows:
if: "!contains(github.event.head_commit.message, '[ci skip]')"
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
name: Windows Build
runs-on: windows-latest
concurrency:
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 @@ -5,7 +5,7 @@ on:
- master
jobs:
generate_documentation:
if: "!contains(github.event.head_commit.message, '[ci skip]')"
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
runs-on: ubuntu-latest
concurrency: gen-docs
steps:
Expand Down
27 changes: 27 additions & 0 deletions code/datums/decorators/gamemode_decorator.dm
Original file line number Diff line number Diff line change
Expand Up @@ -119,4 +119,31 @@ GAMEMODE_DECORATOR(/obj/item/clothing/suit/storage/marine/M35, /datum/game_mode/
ARMOR_EDIT(armor_internaldamage, CLOTHING_ARMOR_HIGH)
))

//************ USCM Helmet Values ************//

GAMEMODE_DECORATOR(/obj/item/clothing/head/helmet/marine, /datum/game_mode/extended/faction_clash, list(
ARMOR_EDIT(armor_bullet, CLOTHING_ARMOR_HIGH),
ARMOR_EDIT(armor_bomb, CLOTHING_ARMOR_MEDIUM),
ARMOR_EDIT(armor_internaldamage, CLOTHING_ARMOR_HIGH)
))

GAMEMODE_DECORATOR(/obj/item/clothing/head/helmet/marine/specialist, /datum/game_mode/extended/faction_clash, list(
ARMOR_EDIT(armor_bomb, CLOTHING_ARMOR_ULTRAHIGH),
))

//************ Shoe Values ************//

GAMEMODE_DECORATOR(/obj/item/clothing/shoes/marine, /datum/game_mode/extended/faction_clash, list(
ARMOR_EDIT(armor_bullet, CLOTHING_ARMOR_HIGHPLUS),
ARMOR_EDIT(armor_bomb, CLOTHING_ARMOR_MEDIUM),
ARMOR_EDIT(armor_internaldamage, CLOTHING_ARMOR_MEDIUMHIGH)
))

//************ Glove Values ************//

GAMEMODE_DECORATOR(/obj/item/clothing/gloves/marine, /datum/game_mode/extended/faction_clash, list(
ARMOR_EDIT(armor_bullet, CLOTHING_ARMOR_HIGH),
ARMOR_EDIT(armor_internaldamage, CLOTHING_ARMOR_HIGH)
))

//*********************** ------------------ ***********************//
2 changes: 2 additions & 0 deletions code/datums/keybinding/human.dm
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,8 @@
return FALSE
if(grabbed_atom.anchored)
return FALSE
if(istype(grabbed_atom, /obj/structure))
return FALSE
return TRUE

/datum/keybinding/human/pixel_shift/north
Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/nuclearbomb.dm
Original file line number Diff line number Diff line change
Expand Up @@ -576,7 +576,7 @@ GLOBAL_VAR_INIT(bomb_set, FALSE)
hive = GLOB.hive_datum[hivenumber]
if(!length(hive.totalXenos))
return
xeno_announcement(SPAN_XENOANNOUNCE("We get a sense of impending doom... the hive killer is ready to be activated."), hive.hivenumber, XENO_GENERAL_ANNOUNCE)
xeno_announcement(SPAN_XENOANNOUNCE("We get a sense of impending doom... the hive killer is ready to be activated. Our only chance now is to disable the device itself."), hive.hivenumber, XENO_GENERAL_ANNOUNCE)
return

announcement_helper("DECRYPTION IN [floor(decryption_time/10)] SECONDS.", "[MAIN_AI_SYSTEM] Nuclear Tracker", humans_uscm, 'sound/misc/notice1.ogg')
Expand Down
8 changes: 4 additions & 4 deletions code/game/objects/items/explosives/grenades/marines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -485,9 +485,9 @@
/// Factor to mutiply the effect range has on damage.
var/falloff_dam_reduction_mult = 20
/// Post falloff calc damage is divided by this to get xeno slowdown
var/xeno_slowdown_numerator = 12
var/xeno_slowdown_numerator = 11
/// Post falloff calc damage is multipled by this to get human stamina damage
var/human_stam_dam_factor = 0.9
var/human_stam_dam_factor = 0.5

/obj/item/explosive/grenade/sebb/get_examine_text(mob/user)
. = ..()
Expand Down Expand Up @@ -613,14 +613,14 @@
mob.apply_damage(damage_applied, BURN)
if((mob_dist < (range-3))) // 2 tiles around small superslow
mob.Superslow(2)
mob.Slow(damage_applied/11)
mob.Slow(damage_applied/xeno_slowdown_numerator)

if(mob_dist < 1) // Range based stuff, standing ontop of the equivalent of a canned lighting bolt should mess you up.
mob.Superslow(3) // Note that humans will likely be in stamcrit so it's always worse for them when ontop of it and we can just balancing it on xenos.
mob.eye_blurry = damage_applied/4
mob.Daze(1)
else if((mob_dist < (range-1)) && (mob.mob_size < MOB_SIZE_XENO_VERY_SMALL)) // Flicker stun humans that are closer to the grenade and larvas too.
mob.apply_effect(1 + (damage_applied/100),WEAKEN) // 1 + damage/40
mob.apply_effect(1 + (damage_applied/100),WEAKEN) // 1 + damage/100
mob.eye_blurry = damage_applied/8

else
Expand Down
7 changes: 7 additions & 0 deletions code/game/objects/items/reagent_containers/autoinjectors.dm
Original file line number Diff line number Diff line change
Expand Up @@ -265,6 +265,13 @@
else
to_chat(user, SPAN_DANGER("You have no idea where to inject [src]."))

if(uses_left == 0)
addtimer(CALLBACK(src, PROC_REF(remove_crystal)), 120 SECONDS)

/obj/item/reagent_container/hypospray/autoinjector/yautja/proc/remove_crystal()
visible_message(SPAN_DANGER("[src] collapses into nothing."))
qdel(src)

/obj/item/reagent_container/hypospray/autoinjector/skillless
name = "first-aid autoinjector"
chemname = "tricordrazine"
Expand Down
6 changes: 3 additions & 3 deletions code/game/objects/structures/fence.dm
Original file line number Diff line number Diff line change
Expand Up @@ -162,14 +162,14 @@

if(W.flags_item & NOBLUDGEON) return

if(HAS_TRAIT(W, TRAIT_TOOL_WIRECUTTERS) || istype(W, /obj/item/attachable/bayonet))
if(HAS_TRAIT(W, TRAIT_TOOL_WIRECUTTERS) || istype(W, /obj/item/attachable/bayonet) || istype(W, /obj/item/weapon/bracer_attachment))
user.visible_message(SPAN_NOTICE("[user] starts cutting through [src] with [W]."),
SPAN_NOTICE("You start cutting through [src] with [W]."))
playsound(src.loc, 'sound/items/Wirecutter.ogg', 25, 1)

//Bayonets are 3/4th as effective at cutting fences
//Bayonets and Wristblades are 3/4th as effective at cutting fences
var duration = 10 * user.get_skill_duration_multiplier(SKILL_CONSTRUCTION)
if(istype(W, /obj/item/attachable/bayonet))
if(istype(W, /obj/item/attachable/bayonet) || istype(W, /obj/item/weapon/bracer_attachment))
duration *= 1.5

if(do_after(user, duration, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_BUILD))
Expand Down
Loading

0 comments on commit efcdaea

Please sign in to comment.