Skip to content

Commit

Permalink
Merge branch 'master' into hearthkin-name-gen
Browse files Browse the repository at this point in the history
  • Loading branch information
MortoSasye committed Oct 13, 2024
2 parents da1fb5e + 7e72abd commit fa9c47b
Show file tree
Hide file tree
Showing 162 changed files with 6,763 additions and 197 deletions.
4 changes: 4 additions & 0 deletions code/__DEFINES/atom_hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,10 @@
#define DIAG_CAMERA_HUD "22"
/// Steady Hacked APC effect, visible only to Malf AIs
#define MALF_APC_HUD "23"
// DOPPLER ADDITION BEGIN
/// If they have the implanted quirk
#define SEC_IMPLANT_HUD "25"
// DOPPLER ADDITION END

//by default everything in the hud_list of an atom is an image
//a value in hud_list with one of these will change that behavior
Expand Down
4 changes: 4 additions & 0 deletions code/__DEFINES/inventory.dm
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,10 @@ DEFINE_BITFIELD(no_equip_flags, list(
#define HIDEBELT (1<<14)
///hides antennae
#define HIDEANTENNAE (1<<15)
//DOPPLER ADDITION START
#define HIDETAIL (1<<16)
#define HIDEHORNS (1<<17)
//DOPPLER ADDITION END

//bitflags for clothing coverage - also used for limbs
#define HEAD (1<<0)
Expand Down
4 changes: 4 additions & 0 deletions code/__DEFINES/text.dm
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,10 @@
#define FLESH_SCAR_FILE "wounds/flesh_scar_desc.json"
/// File location for bone wound descriptions
#define BONE_SCAR_FILE "wounds/bone_scar_desc.json"
// DOPPLER ADDITION BEGIN - SYNTH WOUNDS
/// File location for metalic wound descriptions
#define METAL_SCAR_FILE "wounds/metal_scar_desc.json"
// DOPPLER ADDITION END
/// File location for scar wound descriptions
#define SCAR_LOC_FILE "wounds/scar_loc.json"
/// File location for exodrone descriptions
Expand Down
11 changes: 8 additions & 3 deletions code/__DEFINES/wounds.dm
Original file line number Diff line number Diff line change
Expand Up @@ -128,11 +128,15 @@ GLOBAL_LIST_INIT(bio_state_anatomy, list(
/// Cranial fissure wound.
#define WOUND_SERIES_CRANIAL_FISSURE "wound_series_cranial_fissure"

// NOVA EDIT ADDITION BEGIN - MUSCLE AND SYNTH WOUNDS
// DOPPLER ADDITION BEGIN - synth wounds
// Have to put it here so I can use it in the global list of wound series
/// See muscle.dm and robotic_blunt.dm
#define WOUND_SERIES_MUSCLE_DAMAGE "nova_wound_series_muscle_damage"

#define WOUND_SERIES_METAL_BLUNT_BASIC "wound_series_metal_blunt_basic"
#define WOUND_SERIES_METAL_BURN_OVERHEAT "wound_series_metal_burn_basic"
#define WOUND_SERIES_WIRE_SLASH_ELECTRICAL_DAMAGE "wound_series_metal_slash_electrical_damage_basic"
#define WOUND_SERIES_WIRE_PIERCE_ELECTRICAL_DAMAGE "wound_series_metal_pierce_electrical_damage_basic"
// DOPPLER ADDITION END
/// A assoc list of (wound typepath -> wound_pregen_data instance). Every wound should have a pregen data.
GLOBAL_LIST_INIT_TYPED(all_wound_pregen_data, /datum/wound_pregen_data, generate_wound_static_data())

Expand Down Expand Up @@ -284,7 +288,8 @@ GLOBAL_LIST_INIT(wounding_types_to_series, list(
/// Assoc list of biotype -> ideal scar file to be used and grab stuff from.
GLOBAL_LIST_INIT(biotypes_to_scar_file, list(
"[BIO_FLESH]" = FLESH_SCAR_FILE,
"[BIO_BONE]" = BONE_SCAR_FILE
"[BIO_BONE]" = BONE_SCAR_FILE,
"[BIO_METAL]" = METAL_SCAR_FILE // DOPPLER EDIT ADDITION - METAL SCARS (see robotic_blunt.dm)
))

// ~burn wound infection defines
Expand Down
10 changes: 0 additions & 10 deletions code/__DEFINES/~doppler_defines/declarations.dm

This file was deleted.

5 changes: 3 additions & 2 deletions code/__DEFINES/~doppler_defines/is_helpers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@
#define issnail(A) (is_species(A, /datum/species/snail))
#define ishemophage(A) (is_species(A, /datum/species/genemod/hemophage))
#define isramatan(A) (is_species(A, /datum/species/ramatan))
//Species with green blood
#define hasgreenblood(A) (isinsectoid(A) || issnail(A) || HAS_TRAIT(A, TRAIT_GREEN_BLOOD))
//Species blood colors
#define hasgreenblood(A) (isinsectoid(A) || issnail(A) || isflyperson(A) || isalien(A) || HAS_TRAIT(A, TRAIT_GREEN_BLOOD))
#define hasblueblood(A) (isandroid(A) || HAS_TRAIT(A, TRAIT_BLUE_BLOOD))
8 changes: 8 additions & 0 deletions code/__DEFINES/~doppler_defines/mutant_blacklists.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
GLOBAL_LIST_INIT(species_blacklist_no_mutant, list(
/datum/species/human,
))

GLOBAL_LIST_INIT(species_blacklist_no_humanoid, list(
/datum/species/golem,
/datum/species/genemod/primitive,
))
4 changes: 2 additions & 2 deletions code/__DEFINES/~doppler_defines/mutant_variations.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
#define MONKEY "monkey"
#define DEER "deer"
#define BUG "bug"
#define SYNTHETIC "synthetic"
#define CYBERNETIC "cybernetic"
#define HUMANOID "humanoid"
#define ALIEN "alien"

Expand All @@ -30,7 +30,7 @@ GLOBAL_LIST_INIT(mutant_variations, list(
LIZARD,
MONKEY,
MOUSE,
SYNTHETIC,
CYBERNETIC,
ALIEN,
))

Expand Down
6 changes: 6 additions & 0 deletions code/__DEFINES/~doppler_defines/quirks.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/// the minimum percentage of RGB darkness reduction that Nova's NV will always give. for base reference, the old NV quirk was equal to 4.5. note: some wide variance in min/max is needed to ensure hue has some chance to linear convert across
#define DOPPLER_NIGHT_VISION_POWER_MIN 4.5
/// the maximum percentage. for reference, low-light adapted eyes (icecats and ashwalkers) have 30.
#define DOPPLER_NIGHT_VISION_POWER_MAX 9
/// percentage of the NIGHT_VISION_POWER_MAX increase that is applied for eyes with low innate flash protection (photophobia quirk/moth eyes). At 0.75, this raises NV to 22.5 at hypersensitive flash_protect.
#define DOPPLER_NIGHT_VISION_SENSITIVITY_MULT 0.75
2 changes: 2 additions & 0 deletions code/__DEFINES/~doppler_defines/signals.dm
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,5 @@
#define COMSIG_PULSATING_TUMOR_REMOVED "pulsating_tumor_removed"
/// From /obj/item/organ/internal/stomach/after_eat(atom/edible)
#define COMSIG_STOMACH_AFTER_EAT "stomach_after_eat"
/// Whenever a baton successfully executes its nonlethal attack. WARNING wonderful FUCKING CODE by niko THIS IS peak AAAAAAAAAAAAH
#define COMSIG_PRE_BATON_FINALIZE_ATTACK "pre_baton_finalize_attack"
46 changes: 42 additions & 4 deletions code/__DEFINES/~doppler_defines/traits.dm
Original file line number Diff line number Diff line change
@@ -1,20 +1,58 @@
////
// Skills
////
/// trait that lets you do xenoarch magnification
#define TRAIT_XENOARCH_QUALIFIED "trait_xenoarch_qualified"

/// Traits granted by glassblowing
#define TRAIT_GLASSBLOWING "glassblowing"

/// Trait that is applied whenever someone or something is glassblowing
#define TRAIT_CURRENTLY_GLASSBLOWING "currently_glassblowing"

////
// Species
////
/// Trait for hemophages particularly!
#define TRAIT_OXYIMMUNE "oxyimmune" // Immune to oxygen damage, ideally give this to all non-breathing species or bad stuff will happen
/// Trait that defines if an android species type is charging their cell
#define TRAIT_CHARGING "charging"
/// Trait which lets species pick from a list of animal traits, used by genemod + subtypes and anthromorphs
#define TRAIT_ANIMALISTIC "animalistic"

// Green blood traits
#define TRAIT_GREEN_BLOOD "green_blood"

// Blue blood traits
#define TRAIT_BLUE_BLOOD "blue_blood"
// Trait that lets golems put stone limbs back on
#define TRAIT_GOLEM_LIMBATTACHMENT "golem_limbattachment"

////
// Quirks
////
/// Trait for extra language point.
#define TRAIT_LINGUIST "linguist"
/// Trait for the excitable quirk, woof!
#define TRAIT_EXCITABLE "wagwag"
/// Trait for if you are left handed
#define TRAIT_LEFT_HANDED "left_handed"
/// Trait for people with the cybernetic quirk
#define TRAIT_PERMITTED_CYBERNETIC "permitted_cybernetic"

////
// Jobs
////
/// Given to the detective, if they have this, they can see syndicate special descriptions.
#define TRAIT_DETECTIVE "detective_ability"

////
// Reagents
////
/// Trait that was granted by a reagent.
#define REAGENT_TRAIT "reagent"
/// Trait that changes the ending effects of twitch leaving your system
#define TRAIT_TWITCH_ADAPTED "twitch_adapted"

////
// Wounds
////
/// When someone is fixing electrical damage, this trait is set and prevents the wound from worsening.
// We use a trait to avoid erronous setting of a variable to false if two people are repairing and one stops.
#define TRAIT_ELECTRICAL_DAMAGE_REPAIRING "electrical_damage_repairing"
4 changes: 4 additions & 0 deletions code/_globalvars/bitfields.dm
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,10 @@ DEFINE_BITFIELD(flags_inv, list(
"HIDESHOES" = HIDESHOES,
"HIDESNOUT" = HIDESNOUT,
"HIDESUITSTORAGE" = HIDESUITSTORAGE,
// DOPPLER ADDITION START
"HIDETAIL" = HIDETAIL,
"HIDEHORNS" = HIDEHORNS,
// DOPPLER ADDITION END
))

DEFINE_BITFIELD(machine_stat, list(
Expand Down
8 changes: 8 additions & 0 deletions code/_globalvars/traits/_traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,11 @@ GLOBAL_LIST_INIT(traits_by_type, list(
/datum/wound = list(
"TRAIT_WOUND_SCANNED" = TRAIT_WOUND_SCANNED,
),
// DOPPLER ADDITON BEGIN
/datum/wound/electrical_damage = list(
"TRAIT_ELECTRICAL_DAMAGE_REPAIRING" = TRAIT_ELECTRICAL_DAMAGE_REPAIRING,
),
// DOPPLER ADDITON END
/obj = list(
"TRAIT_WALLMOUNTED" = TRAIT_WALLMOUNTED,
"TRAIT_CONTRABAND" = TRAIT_CONTRABAND,
Expand Down Expand Up @@ -700,6 +705,9 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_TWITCH_ADAPTED" = TRAIT_TWITCH_ADAPTED,
"TRAIT_GOLEM_LIMBATTACHMENT" = TRAIT_GOLEM_LIMBATTACHMENT,
"TRAIT_LINGUIST" = TRAIT_LINGUIST,
"TRAIT_PERMITTED_CYBERNETIC" = TRAIT_PERMITTED_CYBERNETIC,
"TRAIT_CHARGING" = TRAIT_CHARGING,
"TRAIT_LEFT_HANDED" = TRAIT_LEFT_HANDED,
),
// DOPPLER EDIT ADDITION END
))
Expand Down
5 changes: 4 additions & 1 deletion code/_globalvars/traits/admin_tooling.dm
Original file line number Diff line number Diff line change
Expand Up @@ -382,7 +382,10 @@ GLOBAL_LIST_INIT(admin_visible_traits, list(
"TRAIT_DETECTIVE" = TRAIT_DETECTIVE,
"TRAIT_EXCITABLE" = TRAIT_EXCITABLE,
"TRAIT_TWITCH_ADAPTED" = TRAIT_TWITCH_ADAPTED,
"TRAIT_LINGUIST" = TRAIT_LINGUIST
"TRAIT_LINGUIST" = TRAIT_LINGUIST,
"TRAIT_PERMITTED_CYBERNETIC" = TRAIT_PERMITTED_CYBERNETIC,
"TRAIT_CHARGING" = TRAIT_CHARGING,
"TRAIT_LEFT_HANDED" = TRAIT_LEFT_HANDED,
),
// DOPPLER EDIT ADDITION END
))
Expand Down
2 changes: 2 additions & 0 deletions code/datums/components/jousting.dm
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,8 @@
target.Paralyze(knockdown_time)
user.visible_message(span_danger("[msg]!"))

return usable_charge // DOPPLER EDIT ADDITION - Baton jousting

/**
* Called when a mob moves.
* Handles checking their direction, changing it if they turned,
Expand Down
4 changes: 3 additions & 1 deletion code/datums/quirks/negative_quirks/photophobia.dm
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,15 @@
/datum/quirk/photophobia/proc/update_eyes(obj/item/organ/internal/eyes/target_eyes)
if(!istype(target_eyes))
return
target_eyes.flash_protect = max(target_eyes.flash_protect - 1, FLASH_PROTECTION_HYPER_SENSITIVE)
target_eyes.flash_protect = max(target_eyes.flash_protect - severity, FLASH_PROTECTION_HYPER_SENSITIVE) // DOPPLER EDIT CHANGE - ORIGINAL: target_eyes.flash_protect = max(target_eyes.flash_protect - 1, FLASH_PROTECTION_HYPER_SENSITIVE)
target_eyes.refresh() // DOPPLER EDIT ADDITION

/datum/quirk/photophobia/proc/restore_eyes(obj/item/organ/internal/eyes/normal_eyes)
SIGNAL_HANDLER
if(!istype(normal_eyes))
return
normal_eyes.flash_protect = initial(normal_eyes.flash_protect)
normal_eyes.refresh() // DOPPLER EDIT ADDITION

/datum/quirk/photophobia/proc/on_holder_moved(mob/living/source, atom/old_loc, dir, forced)
SIGNAL_HANDLER
Expand Down
4 changes: 4 additions & 0 deletions code/datums/wounds/bones.dm
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,8 @@
// DOPPLER EDIT ADDITION BEGIN - Green blood color
if(hasgreenblood(victim))
new /obj/effect/temp_visual/dir_setting/bloodsplatter/green(victim.loc, victim.dir)
if(hasblueblood(victim))
new /obj/effect/temp_visual/dir_setting/bloodsplatter/blue(victim.loc, victim.dir)
else
new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir)
// DOPPLER EDIT ADDITION END
Expand All @@ -176,6 +178,8 @@
// DOPPLER EDIT ADDITION BEGIN - Green blood color
if(hasgreenblood(victim))
new /obj/effect/temp_visual/dir_setting/bloodsplatter/green(victim.loc, victim.dir)
if(hasblueblood(victim))
new /obj/effect/temp_visual/dir_setting/bloodsplatter/blue(victim.loc, victim.dir)
else
new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir)
// DOPPLER EDIT ADDITION END
Expand Down
2 changes: 1 addition & 1 deletion code/game/data_huds.dm
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
hud_icons = list(ID_HUD)

/datum/atom_hud/data/human/security/advanced
hud_icons = list(ID_HUD, IMPSEC_FIRST_HUD, IMPLOYAL_HUD, IMPSEC_SECOND_HUD, WANTED_HUD)
hud_icons = list(ID_HUD, IMPSEC_FIRST_HUD, IMPLOYAL_HUD, IMPSEC_SECOND_HUD, WANTED_HUD, SEC_IMPLANT_HUD) // DOPPLER EDIT, old code: hud_icons = list(ID_HUD, IMPSEC_FIRST_HUD, IMPLOYAL_HUD, IMPSEC_SECOND_HUD, WANTED_HUD)

/datum/atom_hud/data/human/fan_hud
hud_icons = list(FAN_HUD)
Expand Down
11 changes: 11 additions & 0 deletions code/game/machinery/computer/crew.dm
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@
. += create_table_notices(list(
"name",
"job",
"charge", //DOPPLER EDIT ADDITION
"is_robot", //DOPPLER EDIT ADDITION
"life_status",
"suffocation",
"toxin",
Expand All @@ -64,6 +66,8 @@
var/list/entry = list()
entry["name"] = player_record["name"]
entry["job"] = player_record["assignment"]
entry["charge"] = player_record["charge"] // DOPPLER EDIT ADDITION
entry["is_robot"] = player_record["is_robot"] // DOPPLER EDIT ADDITION
entry["life_status"] = player_record["life_status"]
entry["suffocation"] = player_record["oxydam"]
entry["toxin"] = player_record["toxdam"]
Expand Down Expand Up @@ -245,6 +249,13 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new)
if (jobs[trim_assignment] != null)
entry["ijob"] = jobs[trim_assignment]

// DOPPLER EDIT ADDITION START
if (isandroid(tracked_human))
var/datum/species/android/energy_holder = tracked_human.dna.species
entry["is_robot"] = TRUE
entry["charge"] = "[round((energy_holder.core_energy/1000000), 0.1)]MJ"
// DOPPLER EDIT ADDITION END

// Broken sensors show garbage data
if (uniform.has_sensor == BROKEN_SENSORS)
entry["life_status"] = rand(0,1)
Expand Down
4 changes: 4 additions & 0 deletions code/game/objects/effects/decals/cleanable/humans.dm
Original file line number Diff line number Diff line change
Expand Up @@ -442,6 +442,8 @@ GLOBAL_LIST_EMPTY(bloody_footprints_cache)
var/obj/effect/decal/cleanable/final_splatter
if(istype(src, /obj/effect/decal/cleanable/blood/hitsplatter/green))
final_splatter = new /obj/effect/decal/cleanable/blood/green/splatter/over_window(prev_loc)
if(istype(src, /obj/effect/decal/cleanable/blood/hitsplatter/blue))
final_splatter = new /obj/effect/decal/cleanable/blood/blue/splatter/over_window(prev_loc)
else
final_splatter = new /obj/effect/decal/cleanable/blood/splatter/over_window(prev_loc)
// DOPPLER EDIT CHANGE END
Expand All @@ -459,6 +461,8 @@ GLOBAL_LIST_EMPTY(bloody_footprints_cache)
var/obj/effect/decal/cleanable/final_splatter
if(istype(src, /obj/effect/decal/cleanable/blood/hitsplatter/green))
final_splatter = new /obj/effect/decal/cleanable/blood/green/splatter/over_window(prev_loc)
if(istype(src, /obj/effect/decal/cleanable/blood/hitsplatter/blue))
final_splatter = new /obj/effect/decal/cleanable/blood/blue/splatter/over_window(prev_loc)
else
final_splatter = new /obj/effect/decal/cleanable/blood/splatter/over_window(prev_loc)
// DOPPLER EDIT CHANGE END
Expand Down
3 changes: 2 additions & 1 deletion code/game/objects/items/crayons.dm
Original file line number Diff line number Diff line change
Expand Up @@ -978,7 +978,7 @@
return ITEM_INTERACT_BLOCKING
if(check_empty(user))
return ITEM_INTERACT_BLOCKING

/* DOPPLER EDIT REMOVAL START
if(isbodypart(interacting_with) && actually_paints)
var/obj/item/bodypart/limb = interacting_with
if(!IS_ORGANIC_LIMB(limb))
Expand All @@ -994,6 +994,7 @@
playsound(user.loc, 'sound/effects/spray.ogg', 5, TRUE, 5)
limb.change_appearance(style_list_icons[choice], greyscale = FALSE)
return ITEM_INTERACT_SUCCESS
DOPPLER EDIT REMOVAL END */
if(interacting_with.color)
paint_color = interacting_with.color
balloon_alert(user, "matched colour of target")
Expand Down
9 changes: 5 additions & 4 deletions code/game/objects/items/melee/baton.dm
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
/// The length of the knockdown applied to the user on clumsy_check()
var/clumsy_knockdown_time = 18 SECONDS
/// How much stamina damage we deal on a successful hit against a living, non-cyborg mob.
var/stamina_damage = 55
var/stamina_damage = 35 // DOPPLER EDIT - Less Stamina Damage (Original: 55)
/// Chance of causing force_say() when stunning a human mob
var/force_say_chance = 33
/// Can we stun cyborgs?
Expand Down Expand Up @@ -185,6 +185,7 @@
if(!in_attack_chain && HAS_TRAIT_FROM(target, TRAIT_IWASBATONED, REF(user)))
return BATON_ATTACK_DONE

SEND_SIGNAL(src, COMSIG_PRE_BATON_FINALIZE_ATTACK, target, user, modifiers, in_attack_chain) // DOPPLER EDIT ADDITION
cooldown_check = world.time + cooldown
if(on_stun_sound)
playsound(get_turf(src), on_stun_sound, on_stun_volume, TRUE, -1)
Expand Down Expand Up @@ -404,7 +405,7 @@
force = 5
cooldown = 2.5 SECONDS
force_say_chance = 80 //very high force say chance because it's funny
stamina_damage = 85
stamina_damage = 115 // DOPPLER EDIT: Original 85
clumsy_knockdown_time = 24 SECONDS
affect_cyborg = TRUE
on_stun_sound = 'sound/items/weapons/contractor_baton/contractorbatonhit.ogg'
Expand Down Expand Up @@ -438,7 +439,7 @@
armor_type = /datum/armor/baton_security
throwforce = 7
force_say_chance = 50
stamina_damage = 60
stamina_damage = 35 // DOPPLER EDIT - 4 baton crit now (Original: 60)
knockdown_time = 5 SECONDS
clumsy_knockdown_time = 15 SECONDS
cooldown = 2.5 SECONDS
Expand Down Expand Up @@ -655,7 +656,7 @@
*/
/obj/item/melee/baton/security/additional_effects_non_cyborg(mob/living/target, mob/living/user)
target.set_jitter_if_lower(40 SECONDS)
target.set_confusion_if_lower(10 SECONDS)
// target.set_confusion_if_lower(10 SECONDS) // DOPPLER EDIT REMOVAL
target.set_stutter_if_lower(16 SECONDS)

SEND_SIGNAL(target, COMSIG_LIVING_MINOR_SHOCK)
Expand Down
Loading

0 comments on commit fa9c47b

Please sign in to comment.