Skip to content

Commit

Permalink
Merge pull request #128 from honkpocket/paranoid-android
Browse files Browse the repository at this point in the history
Robot species and stuff
  • Loading branch information
Nerev4r authored Oct 12, 2024
2 parents 4d4c8e4 + 7b01a86 commit 3287b2a
Show file tree
Hide file tree
Showing 127 changed files with 6,390 additions and 165 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/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
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"
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
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
4 changes: 4 additions & 0 deletions code/game/objects/structures/crates_lockers/crates.dm
Original file line number Diff line number Diff line change
Expand Up @@ -277,6 +277,10 @@
new /obj/item/reagent_containers/blood/o_plus(src)
new /obj/item/reagent_containers/blood/lizard(src)
new /obj/item/reagent_containers/blood/ethereal(src)
// DOPPLER ADDITION START
new /obj/item/reagent_containers/blood/robot(src)
new /obj/item/reagent_containers/blood/bug(src)
// DOPPLER ADDITION END
for(var/i in 1 to 3)
new /obj/item/reagent_containers/blood/random(src)

Expand Down
4 changes: 4 additions & 0 deletions code/modules/mob/living/basic/bots/medbot/medbot_ai.dm
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,10 @@
search_range = (mode_flags & MEDBOT_STATIONARY_MODE) ? 1 : initial(search_range)
var/list/ignore_keys = controller.blackboard[BB_TEMPORARY_IGNORE_LIST]
for(var/mob/living/carbon/human/treatable_target in oview(search_range, controller.pawn))
// DOPPLER EDIT ADDITION START
if(treatable_target.mob_biotypes & MOB_ROBOTIC)
continue
// DOPPLER EDIT ADDITION END
if(LAZYACCESS(ignore_keys, treatable_target) || treatable_target.stat == DEAD)
continue
if((access_flags & BOT_COVER_EMAGGED) && treatable_target.stat == CONSCIOUS)
Expand Down
10 changes: 7 additions & 3 deletions code/modules/mob/living/blood.dm
Original file line number Diff line number Diff line change
Expand Up @@ -361,7 +361,7 @@

//to add a splatter of blood or other mob liquid.
/mob/living/proc/add_splatter_floor(turf/T, small_drip)
if(get_blood_id() != /datum/reagent/blood && !hasgreenblood(src)) // DOPPLER EDIT CHANGE START - ORIGINAL: if(get_blood_id() != /datum/reagent/blood)
if(get_blood_id() != /datum/reagent/blood && !hasgreenblood(src) && !hasblueblood(src)) // DOPPLER EDIT CHANGE START - ORIGINAL: if(get_blood_id() != /datum/reagent/blood)
return
if(!T)
T = get_turf(src)
Expand All @@ -385,7 +385,9 @@
// DOPPLER EDIT CHANGE START - ORIGINAL: drop = new(T, get_static_viruses())
if(hasgreenblood(src))
drop = new /obj/effect/decal/cleanable/blood/drip/green(T, get_static_viruses())
else
if(hasblueblood(src))
drop = new /obj/effect/decal/cleanable/blood/drip/blue(T, get_static_viruses())
if(!hasblueblood(src) && !hasgreenblood(src))
drop = new(T, get_static_viruses())
// DOPPLER EDIT END
drop.transfer_mob_blood_dna(src)
Expand All @@ -397,7 +399,9 @@
// DOPPLER EDIT CHANGE START - ORIGINAL: B = new /obj/effect/decal/cleanable/blood/splatter(T, get_static_viruses())
if(hasgreenblood(src))
B = new /obj/effect/decal/cleanable/blood/green/splatter(T, get_static_viruses())
else
if(hasblueblood(src))
B = new /obj/effect/decal/cleanable/blood/blue/splatter(T, get_static_viruses())
if(!hasblueblood(src) && !hasgreenblood(src))
B = new /obj/effect/decal/cleanable/blood/splatter(T, get_static_viruses())
// DOPPLER EDIT END
if(QDELETED(B)) //Give it up
Expand Down
2 changes: 2 additions & 0 deletions code/modules/mob/living/carbon/carbon.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1444,6 +1444,8 @@
var/obj/effect/decal/cleanable/blood/hitsplatter/our_splatter
if(hasgreenblood(src))
our_splatter = new /obj/effect/decal/cleanable/blood/hitsplatter/green(loc)
if(hasblueblood(src))
our_splatter = new /obj/effect/decal/cleanable/blood/hitsplatter/blue(loc)
else
our_splatter = new /obj/effect/decal/cleanable/blood/hitsplatter(loc)
// DOPPLER EDIT CHANGE END
Expand Down
8 changes: 8 additions & 0 deletions code/modules/mob/living/carbon/human/death.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,14 @@ GLOBAL_LIST_EMPTY(dead_players_during_shift)
/mob/living/carbon/human/spawn_gibs(drop_bitflags=NONE)
if(flags_1 & HOLOGRAM_1)
return
// DOPPLER ADDITION START
if(isandroid(src))
new /obj/effect/gibspawner/robot(drop_location(), src, get_static_viruses())
return
if(hasgreenblood(src))
new /obj/effect/gibspawner/xeno/bodypartless(drop_location(), src, get_static_viruses())
return
// DOPPLER ADDITION END
if(drop_bitflags & DROP_BODYPARTS)
new /obj/effect/gibspawner/human(drop_location(), src, get_static_viruses())
else
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 @@ -5,7 +5,7 @@
icon = 'icons/mob/human/human.dmi'
icon_state = "human_basic"
appearance_flags = KEEP_TOGETHER|TILE_BOUND|PIXEL_SCALE|LONG_GLIDE
hud_possible = list(HEALTH_HUD,STATUS_HUD,ID_HUD,WANTED_HUD,IMPLOYAL_HUD,IMPSEC_FIRST_HUD,IMPSEC_SECOND_HUD,ANTAG_HUD,GLAND_HUD,SENTIENT_DISEASE_HUD,FAN_HUD)
hud_possible = list(HEALTH_HUD,STATUS_HUD,ID_HUD,WANTED_HUD,IMPLOYAL_HUD,IMPSEC_FIRST_HUD,IMPSEC_SECOND_HUD,ANTAG_HUD,GLAND_HUD,SENTIENT_DISEASE_HUD,FAN_HUD,SEC_IMPLANT_HUD) // DOPPLER EDIT, old code: hud_possible = list(HEALTH_HUD,STATUS_HUD,ID_HUD,WANTED_HUD,IMPLOYAL_HUD,IMPSEC_FIRST_HUD,IMPSEC_SECOND_HUD,ANTAG_HUD,GLAND_HUD,SENTIENT_DISEASE_HUD,FAN_HUD)
hud_type = /datum/hud/human
pressure_resistance = 25
can_buckle = TRUE
Expand Down
12 changes: 8 additions & 4 deletions code/modules/projectiles/projectile.dm
Original file line number Diff line number Diff line change
Expand Up @@ -330,13 +330,17 @@
var/splatter_dir = dir
if(starting)
splatter_dir = get_dir(starting, target_turf)
if(isalien(living_target) || hasgreenblood(living_target)) // DOPPLER EDIT CHANGE - Green blood color - Original line: if(isalien(living_target))
new /obj/effect/temp_visual/dir_setting/bloodsplatter/green(target_turf, splatter_dir) // DOPPLER EDIT CHANGE - Green blood color - Original line: new /obj/effect/temp_visual/dir_setting/bloodsplatter/xenosplatter(target_turf, splatter_dir)
else
// DOPPLER ADDITION START
if(hasblueblood(living_target))
new /obj/effect/temp_visual/dir_setting/bloodsplatter/blue(target_turf, splatter_dir)
if(hasgreenblood(living_target))
new /obj/effect/temp_visual/dir_setting/bloodsplatter/green(target_turf, splatter_dir)
if(!hasblueblood(living_target) && !hasgreenblood(living_target))
new /obj/effect/temp_visual/dir_setting/bloodsplatter(target_turf, splatter_dir)
// DOPPLER ADDITION END
if(prob(33))
living_target.add_splatter_floor(target_turf)
else if (hit_bodypart?.biological_state & (BIO_METAL|BIO_WIRED))
if (hit_bodypart?.biological_state & (BIO_ROBOTIC)) // DOPPLER EDIT - old code: else if (hit_bodypart?.biological_state & (BIO_METAL|BIO_WIRED))
var/random_damage_mult = RANDOM_DECIMAL(0.85, 1.15) // SOMETIMES you can get more or less sparks
var/damage_dealt = ((damage / (1 - (blocked / 100))) * random_damage_mult)

Expand Down
Loading

0 comments on commit 3287b2a

Please sign in to comment.