Skip to content

Commit

Permalink
Adds improviser+learner traits
Browse files Browse the repository at this point in the history
  • Loading branch information
Katskan committed Jul 7, 2023
1 parent 1a4a0eb commit fa33367
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 3 deletions.
10 changes: 9 additions & 1 deletion code/__DEFINES/traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,10 @@
#define TRAIT_USING_WHEELCHAIR "t_using_wheelchair"
/// If the mob will instantly go permadead upon death
#define TRAIT_HARDCORE "t_hardcore"
/// If the mob has experience in frontier surgery with poor tools
#define TRAIT_IMPROVISER "t_improviser"
/// If the mob has experience in frontier surgery with poor tools, and inhuman learning abilities
#define TRAIT_FASTLEARNER "t_fastlearner"

// -- ability traits --
/// Xenos with this trait cannot have plasma transfered to them
Expand Down Expand Up @@ -233,7 +237,9 @@ GLOBAL_LIST_INIT(mob_traits, list(
TRAIT_TWOBORE_TRAINING,
TRAIT_LEADERSHIP,
TRAIT_DEXTROUS,
TRAIT_REAGENT_SCANNER
TRAIT_REAGENT_SCANNER,
TRAIT_IMPROVISER,
TRAIT_FASTLEARNER,
))

/*
Expand Down Expand Up @@ -264,6 +270,8 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_EMOTE_CD_EXEMPT" = TRAIT_EMOTE_CD_EXEMPT,
"TRAIT_LISPING" = TRAIT_LISPING,
"TRAIT_CANNOT_EAT" = TRAIT_CANNOT_EAT,
"TRAIT_IMPROVISER" = TRAIT_IMPROVISER,
"TRAIT_FASTLEARNER" = TRAIT_FASTLEARNER,
),
/mob/living/carbon/xenomorph = list(
"TRAIT_ABILITY_NO_PLASMA_TRANSFER" = TRAIT_ABILITY_NO_PLASMA_TRANSFER,
Expand Down
4 changes: 4 additions & 0 deletions code/modules/gear_presets/survivors.dm
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,10 @@

..()

/datum/equipment_preset/survivor/doctor/load_race(mob/living/carbon/human/new_human,client/mob_client)
..()
ADD_TRAIT(new_human, TRAIT_IMPROVISER, TRAIT_SOURCE_JOB)

/datum/equipment_preset/survivor/doctor/trijent
name = "Survivor - Trijent Doctor"
assignment = "Trijent Dam Doctor"
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/living/carbon/human/species/synthetic.dm
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@
name_plural = "Colonial Synthetics"
uses_ethnicity = TRUE
burn_mod = 0.8
mob_inherent_traits = list(TRAIT_SUPER_STRONG)
mob_inherent_traits = list(TRAIT_SUPER_STRONG, TRAIT_IMPROVISER, TRAIT_FASTLEARNER)

pain_type = /datum/pain/synthetic/colonial
rarity_value = 1.5
Expand Down
3 changes: 2 additions & 1 deletion code/modules/surgery/surgery_steps.dm
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ affected_limb, or location vars. Also, in that case there may be a wait between

if(ispath(tool_type)) //Tool speed modifier. This means hand & any item are 100% efficient as surgical tools.
tool_modifier = tools[tool_type]
if(!(HAS_TRAIT(user, TRAIT_IMPROVISER)))
step_duration *= tool_modifier

if(surgery.lying_required) //Surgery surface modifier.
Expand All @@ -111,7 +112,7 @@ affected_limb, or location vars. Also, in that case there may be a wait between
for(var/obj/surface in get_turf(target)) //Otherwise, get the lowest surface modifier of objects on their turf.
if(surface_modifier > surface.surgery_duration_multiplier)
surface_modifier = surface.surgery_duration_multiplier

if(!(HAS_TRAIT(user, TRAIT_FASTLEARNER)))
step_duration *= surface_modifier

var/list/human_modifiers = list("surgery_speed" = 1.0, "pain_reduction" = 0)
Expand Down

0 comments on commit fa33367

Please sign in to comment.