Skip to content

Commit

Permalink
Merge branch 'cmss13-devs:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
LC4492 committed Jul 28, 2023
2 parents a57121c + 2cff80d commit 4dd090a
Show file tree
Hide file tree
Showing 157 changed files with 20,219 additions and 11,905 deletions.
14 changes: 0 additions & 14 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -167,20 +167,6 @@ Certain PRs, such as those which directly change number values (i.e. health, rec

* We understand that having something you have worked on for quite some time being denied can be frustrating. Therefore, it is recommended that you check with a maintainer before beginning to code your PR if you have any doubts that it will be accepted. This will save everyone's time and energy.

## Good Boy Points

Each GitHub account has a score known as Good Boy Points, or GBP. This is a system we use to ensure that the codebase stays maintained and that contributors fix bugs as well as add features.

The GBP gain or loss for a PR depends on the type of changes the PR makes, represented by the tags assigned to the PR by the CM-SS13 github bot or maintainers. Generally speaking, fixing bugs, updating sprites, or improving maps increases your GBP score, while adding mechanics, or rebalancing things will cost you GBP.

The GBP change of a PR is the sum of greatest positive and lowest negative values it has. For example, a PR that has tags worth +10, +4, -1, -7, will net 3 GBP (10 - 7).

Negative GBP increases the likelihood of a maintainer closing your PR. With that chance being higher the lower your GBP is. Be sure to use the proper tags in the changelog to prevent unnecessary GBP loss. Maintainers reserve the right to change tags as they deem appropriate.

There is no benefit to having a higher positive GBP score, since GBP only comes into consideration when it is negative.

You can see each tag and their GBP values [Here](https://github.com/cmss13-devs/cmss13/blob/master/.github/gbp.toml).

## Porting features/sprites/sounds/tools from other codebases

If you are porting features/tools from other codebases, you must give them credit where it's due. Typically, crediting them in your pull request and the changelog is the recommended way of doing it. Take note of what license they use though, porting stuff from AGPLv3 and GPLv3 codebases are allowed.
Expand Down
4 changes: 2 additions & 2 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ Put screenshots and videos here with an empty line between the screenshots and t

# Changelog

<!-- If your PR modifies aspects of the game that can be concretely observed by players or admins you should add a changelog. If your change does NOT meet this description, remove this section. Be sure to properly mark your PRs to prevent unnecessary GBP loss. Please note that maintainers freely reserve the right to remove and add tags should they deem it appropriate. You can attempt to finagle the system all you want, but it's best to shoot for clear communication right off the bat. -->
<!-- If you add a name after the ':cl', that name will be used in the changelog. You must add your CKEY after the CL if your GitHub name doesn't match. Be sure to properly mark your PRs to prevent unnecessary GBP loss. Maintainers freely reserve the right to remove and add tags should they deem it appropriate. -->
<!-- If your PR modifies aspects of the game that can be concretely observed by players or admins you should add a changelog. If your change does NOT meet this description, remove this section. Be sure to properly label your changes in the changelog. Please note that maintainers freely reserve the right to remove and add tags should they deem it appropriate. You can attempt to finagle the system all you want, but it's best to shoot for clear communication right off the bat. -->
<!-- If you add a name after the ':cl', that name will be used in the changelog. You must add your CKEY after the CL if your GitHub name doesn't match. Maintainers freely reserve the right to remove and add tags should they deem it appropriate. -->

:cl:
add: Added something
Expand Down
2 changes: 1 addition & 1 deletion .github/alternate_byond_versions.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@
# Example:
# 500.1337: runtimestation

515.1603: lv624
515.1610: lv624
23 changes: 0 additions & 23 deletions .github/gbp.toml

This file was deleted.

42 changes: 0 additions & 42 deletions .github/workflows/gbp.yml

This file was deleted.

44 changes: 0 additions & 44 deletions .github/workflows/gbp_collect.yml

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,7 @@
#define JOE_EMOTE_CATEGORY_WARNING "Warning"
#define JOE_EMOTE_CATEGORY_QUESTION "Question"
#define JOE_EMOTE_CATEGORY_NOTICE "Notice"

#define YAUTJA_EMOTE_CATEGORY_FAKESOUND "Fake Sound"
#define YAUTJA_EMOTE_CATEGORY_VOICE "Voice Synthesizer"
#define YAUTJA_EMOTE_CATEGORY_SPECIES "Yautja"
11 changes: 11 additions & 0 deletions code/__DEFINES/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,17 @@ var/global/list/job_command_roles = JOB_COMMAND_ROLES_LIST

#define CMB_GRUNT_LIST list(JOB_CMB, JOB_CMB_TL)

//-------- FORECON --------//

#define JOB_FORECON_CO "Reconnaissance Commander"
#define JOB_FORECON_SL "Reconnaissance Squad Leader"
#define JOB_FORECON_SYN "Reconnaissance Synthetic"
#define JOB_FORECON_SNIPER "Reconnaissance Sniper"
#define JOB_FORECON_MARKSMAN "Reconnaissance Marksman"
#define JOB_FORECON_SUPPORT "Reconnaissance Support Technician"
#define JOB_FORECON_RIFLEMAN "Reconnaissance Rifleman"
#define JOB_FORECON_SMARTGUNNER "Reconnaissance Smartgunner"

//-------- UPP --------//
#define JOB_UPP "UPP Private"
#define JOB_UPP_CONSCRIPT "UPP Conscript"
Expand Down
3 changes: 2 additions & 1 deletion code/__DEFINES/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -131,8 +131,9 @@
#define XENO_HIVE_MUTATED "xeno_hive_mutated"
#define XENO_HIVE_FORSAKEN "xeno_hive_forsaken"
#define XENO_HIVE_YAUTJA "xeno_hive_yautja"
#define XENO_HIVE_RENEGADE "xeno_hive_renegade"

#define ALL_XENO_HIVES list(XENO_HIVE_NORMAL, XENO_HIVE_CORRUPTED, XENO_HIVE_ALPHA, XENO_HIVE_BRAVO, XENO_HIVE_CHARLIE, XENO_HIVE_DELTA, XENO_HIVE_FERAL, XENO_HIVE_TAMED, XENO_HIVE_MUTATED, XENO_HIVE_FORSAKEN, XENO_HIVE_YAUTJA)
#define ALL_XENO_HIVES list(XENO_HIVE_NORMAL, XENO_HIVE_CORRUPTED, XENO_HIVE_ALPHA, XENO_HIVE_BRAVO, XENO_HIVE_CHARLIE, XENO_HIVE_DELTA, XENO_HIVE_FERAL, XENO_HIVE_TAMED, XENO_HIVE_MUTATED, XENO_HIVE_FORSAKEN, XENO_HIVE_YAUTJA, XENO_HIVE_RENEGADE)

//=================================================

Expand Down
2 changes: 1 addition & 1 deletion code/__DEFINES/mode.dm
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@
#define ROUNDSTATUS_FOG_DOWN 1
#define ROUNDSTATUS_PODDOORS_OPEN 2

#define LATEJOIN_MARINES_PER_LATEJOIN_LARVA 3
#define LATEJOIN_MARINES_PER_LATEJOIN_LARVA 2.5

//=================================================
#define SHOW_ITEM_ANIMATIONS_NONE 0 //Do not show any item pickup animations
Expand Down
4 changes: 4 additions & 0 deletions code/__DEFINES/typecheck/xenos.dm
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,10 @@
if(!hive)
return FALSE

if(hivenumber == XENO_HIVE_RENEGADE)
var/datum/hive_status/corrupted/renegade/renegade_hive = hive
return renegade_hive.iff_protection_check(src, attempt_harm_mob)

return hive.is_ally(attempt_harm_mob)

// need this to set the data for walls/eggs/huggers when they are initialized
Expand Down
3 changes: 2 additions & 1 deletion code/_globalvars/global_lists.dm
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,8 @@ GLOBAL_LIST_INIT_TYPED(hive_datum, /datum/hive_status, list(
XENO_HIVE_TAMED = new /datum/hive_status/corrupted/tamed(),
XENO_HIVE_MUTATED = new /datum/hive_status/mutated(),
XENO_HIVE_FORSAKEN = new /datum/hive_status/forsaken(),
XENO_HIVE_YAUTJA = new /datum/hive_status/yautja()
XENO_HIVE_YAUTJA = new /datum/hive_status/yautja(),
XENO_HIVE_RENEGADE = new /datum/hive_status/corrupted/renegade(),
))

GLOBAL_LIST_INIT(xeno_evolve_times, setup_xeno_evolve_times())
Expand Down
10 changes: 7 additions & 3 deletions code/controllers/subsystem/mapping.dm
Original file line number Diff line number Diff line change
Expand Up @@ -123,10 +123,14 @@ SUBSYSTEM_DEF(mapping)
++i

// load the maps
for (var/P in parsed_maps)
var/datum/parsed_map/pm = P
if (!pm.load(1, 1, start_z + parsed_maps[P], no_changeturf = TRUE))
for (var/datum/parsed_map/pm as anything in parsed_maps)
var/cur_z = start_z + parsed_maps[pm]
if (!pm.load(1, 1, cur_z, no_changeturf = TRUE))
errorList |= pm.original_path
if(istype(z_list[cur_z], /datum/space_level))
var/datum/space_level/cur_level = z_list[cur_z]
cur_level.x_bounds = pm.bounds[MAP_MAXX]
cur_level.y_bounds = pm.bounds[MAP_MAXY]
if(!silent)
INIT_ANNOUNCE("Loaded [name] in [(REALTIMEOFDAY - start_time)/10]s!")
return parsed_maps
Expand Down
5 changes: 5 additions & 0 deletions code/datums/emergency_calls/emergency_call.dm
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@
var/list/datum/emergency_call/all_calls = list() //initialized at round start and stores the datums.
var/datum/emergency_call/picked_calls[] = list() //Which distress calls are currently active

/datum/game_mode/proc/ares_online()
var/name = "ARES Online"
var/input = "ARES. Online. Good morning, marines."
shipwide_ai_announcement(input, name, 'sound/AI/ares_online.ogg')

//The distress call parent. Cannot be called itself due to "name" being a filtered target.
/datum/emergency_call
var/name = "name"
Expand Down
46 changes: 23 additions & 23 deletions code/datums/factions/uscm.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@
name = "United States Colonial Marines"
faction_tag = FACTION_MARINE

/datum/faction/uscm/modify_hud_holder(image/holder, mob/living/carbon/human/H)
var/datum/squad/squad = H.assigned_squad
/datum/faction/uscm/modify_hud_holder(image/holder, mob/living/carbon/human/current_human)
var/datum/squad/squad = current_human.assigned_squad
if(istype(squad))
var/squad_clr = squad_colors[H.assigned_squad.color]
var/squad_clr = current_human.assigned_squad.equipment_color
var/marine_rk
var/obj/item/card/id/I = H.get_idcard()
var/obj/item/card/id/I = current_human.get_idcard()
var/_role
if(H.job)
_role = H.job
if(current_human.job)
_role = current_human.job
else if(I)
_role = I.rank
switch(GET_DEFAULT_ROLE(_role))
Expand All @@ -29,42 +29,42 @@
if(JOB_MARINE_RAIDER) marine_rk = "soc"
if(JOB_MARINE_RAIDER_SL) marine_rk = "soctl"
if(JOB_MARINE_RAIDER_CMD) marine_rk = "soccmd"
if(squad.squad_leader == H)
if(squad.squad_leader == current_human)
switch(squad.squad_type)
if("Squad") marine_rk = "leader_a"
if("Team") marine_rk = "soctl_a"

H.langchat_styles = "langchat_bolded" // bold text for bold leaders
current_human.langchat_styles = "langchat_bolded" // bold text for bold leaders
else
H.langchat_styles = initial(H.langchat_styles)
current_human.langchat_styles = initial(current_human.langchat_styles)

H.langchat_color = squad_colors_chat[H.assigned_squad.color]
current_human.langchat_color = current_human.assigned_squad.chat_color

if(!marine_rk) marine_rk = H.rank_fallback
if(!marine_rk) marine_rk = current_human.rank_fallback
if(marine_rk)
var/image/IMG = image('icons/mob/hud/marine_hud.dmi', H, "hudsquad")
var/image/IMG = image('icons/mob/hud/marine_hud.dmi', current_human, "hudsquad")
if(squad_clr)
IMG.color = squad_clr
else
IMG.color = "#5A934A"
holder.overlays += IMG
holder.overlays += image('icons/mob/hud/marine_hud.dmi', H, "hudsquad_[marine_rk]")
if(H.assigned_squad && H.assigned_fireteam)
var/image/IMG2 = image('icons/mob/hud/marine_hud.dmi', H, "hudsquad_[H.assigned_fireteam]")
holder.overlays += image('icons/mob/hud/marine_hud.dmi', current_human, "hudsquad_[marine_rk]")
if(current_human.assigned_squad && current_human.assigned_fireteam)
var/image/IMG2 = image('icons/mob/hud/marine_hud.dmi', current_human, "hudsquad_[current_human.assigned_fireteam]")
IMG2.color = squad_clr
holder.overlays += IMG2
if(H.assigned_squad.fireteam_leaders[H.assigned_fireteam] == H)
var/image/IMG3 = image('icons/mob/hud/marine_hud.dmi', H, "hudsquad_ftl")
if(current_human.assigned_squad.fireteam_leaders[current_human.assigned_fireteam] == current_human)
var/image/IMG3 = image('icons/mob/hud/marine_hud.dmi', current_human, "hudsquad_ftl")
IMG3.color = squad_clr
holder.overlays += IMG3
else
var/marine_rk
var/border_rk
var/icon_prefix = "hudsquad_"
var/obj/item/card/id/ID = H.get_idcard()
var/obj/item/card/id/ID = current_human.get_idcard()
var/_role
if(H.mind)
_role = H.job
if(current_human.mind)
_role = current_human.job
else if(ID)
_role = ID.rank
switch(_role)
Expand Down Expand Up @@ -188,9 +188,9 @@
icon_prefix = "cmb_"

if(marine_rk)
var/image/I = image('icons/mob/hud/marine_hud.dmi', H, "hudsquad")
var/image/I = image('icons/mob/hud/marine_hud.dmi', current_human, "hudsquad")
I.color = "#5A934A"
holder.overlays += I
holder.overlays += image('icons/mob/hud/marine_hud.dmi', H, "[icon_prefix][marine_rk]")
holder.overlays += image('icons/mob/hud/marine_hud.dmi', current_human, "[icon_prefix][marine_rk]")
if(border_rk)
holder.overlays += image('icons/mob/hud/marine_hud.dmi', H, "hudmarineborder[border_rk]")
holder.overlays += image('icons/mob/hud/marine_hud.dmi', current_human, "hudmarineborder[border_rk]")
4 changes: 4 additions & 0 deletions code/datums/map_config.dm
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
var/shuttles = list()

var/announce_text = ""
var/infection_announce_text = ""

var/squads_max_num = 4

Expand Down Expand Up @@ -339,6 +340,9 @@
if(json["announce_text"])
announce_text = json["announce_text"]

if(json["infection_announce_text"])
infection_announce_text = json["infection_announce_text"]

if(json["weather_holder"])
weather_holder = text2path(json["weather_holder"])
if(!weather_holder)
Expand Down
2 changes: 1 addition & 1 deletion code/datums/recipe.dm
Original file line number Diff line number Diff line change
Expand Up @@ -769,7 +769,7 @@
/datum/recipe/syntikabob
items = list(
/obj/item/stack/rods,
/obj/item/reagent_container/food/snacks/meat/syntiflesh,
/obj/item/reagent_container/food/snacks/meat/synthmeat,
)
result = /obj/item/reagent_container/food/snacks/monkeykabob

Expand Down
6 changes: 3 additions & 3 deletions code/datums/skills.dm
Original file line number Diff line number Diff line change
Expand Up @@ -530,15 +530,15 @@ MILITARY SURVIVORS
SKILL_JTAC = SKILL_JTAC_TRAINED,
)

/datum/skills/military/survivor/forecon_grenadier
name = "Reconnaissance Grenadier"
/datum/skills/military/survivor/forecon_sniper
name = "Reconnaissance Sniper"
skills = list(
SKILL_ENGINEER = SKILL_ENGINEER_ENGI,
SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_DEFAULT,
SKILL_MELEE_WEAPONS = SKILL_MELEE_TRAINED,
SKILL_CQC = SKILL_CQC_TRAINED,
SKILL_FIREARMS = SKILL_FIREARMS_TRAINED,
SKILL_SPEC_WEAPONS = SKILL_SPEC_GRENADIER,
SKILL_SPEC_WEAPONS = SKILL_SPEC_SNIPER,
SKILL_MEDICAL = SKILL_MEDICAL_TRAINED,
SKILL_ENDURANCE = SKILL_ENDURANCE_SURVIVOR,
SKILL_LEADERSHIP = SKILL_LEAD_NOVICE,
Expand Down
Loading

0 comments on commit 4dd090a

Please sign in to comment.