Skip to content
This repository has been archived by the owner on Sep 12, 2021. It is now read-only.

Commit

Permalink
Wounds (#886)
Browse files Browse the repository at this point in the history
* Adds Medical Wounds: Bamboo Bones and the Skin of Your Teeth

Co-authored-by: Ryll Ryll <[email protected]>

* Adds recoil damage to hulk('s arms) when smashing walls or machines

Co-authored-by: zxaber <[email protected]>
Co-authored-by: Rohesie <[email protected]>

* Fixes clothing repair not working, adds better pronoun handling

Co-authored-by: ShizCalev <[email protected]>

* Add Wound option to nanite Host Scan program

Co-authored-by: Jordan Brown <[email protected]>

* Bone hurting juice hurts bones

Co-authored-by: Ryll Ryll <[email protected]>

* fixes oversight with wound_bonus of damage from being thrown into a wall

Co-authored-by: ATH1909 <[email protected]>

* Bubblegum and Legion don't wound anymore

Co-authored-by: Ryll Ryll <[email protected]>

* Fixes log_wound runtime

Co-authored-by: ShizCalev <[email protected]>

* Fixes hulk arms breaking when punching non walls

Co-authored-by: zxaber <[email protected]>

* You can now contract viruses from licking wounds

Co-authored-by: Ryll Ryll <[email protected]>

* Shrapnel mines no longer crash server, cleans up pellets a bit, take 2

Co-authored-by: Ryll Ryll <[email protected]>
Co-authored-by: Rohesie <[email protected]>

* Removes turf embedding

Co-authored-by: Ryll Ryll <[email protected]>

* Wounds part 2: Piercing wounds, dismemberment changes, housekeeping

Co-authored-by: Ryll Ryll <[email protected]>
Co-authored-by: Rohesie <[email protected]>

* Adds unit tests for suffering Wounds

Co-authored-by: Ryll Ryll <[email protected]>

* Tones down embedded damage, especially for spears

Co-authored-by: Ryll Ryll <[email protected]>

* Fixes lollipop embedding, emagged mediborg pops can now embed

Co-authored-by: Ryll Ryll <[email protected]>

* Immovable rods penetrate harder

Co-authored-by: Ryll Ryll <[email protected]>

* Refactors Temporal Scarring, changes how it works

Co-authored-by: Ryll Ryll <[email protected]>

* Fixes space vine/kudzu aggressive spread friendly fire

Co-authored-by: Angust <[email protected]>

* Tackling now disables throwmode when you hit something

Co-authored-by: Ryll Ryll <[email protected]>

* Execution/gunpoint shots work properly with pellet clouds

Co-authored-by: Ryll Ryll <[email protected]>

* Grabbing Yourself + Wound Fixes: Take 2 (+Minor Scar Changes)

Co-authored-by: Ryll Ryll <[email protected]>

* Skeletons can treat their bone wounds again

Co-authored-by: Ryll Ryll <[email protected]>

* Zombies can be decapped again

Co-authored-by: Ryll Ryll <[email protected]>

* Fixes scars sticking around after a limb is dismembered

Co-authored-by: Ryll Ryll <[email protected]>

* Fix runtime with CANT_WOUND weapons that use pellet_cloud

Co-authored-by: Timberpoes <[email protected]>

* Fixes an embed runtime

Co-authored-by: Rohesie <[email protected]>

* Fixes projectile impacts + messages, embedding

Co-authored-by: Ryll Ryll <[email protected]>

* Fixes scars sticking around after a limb is dismembered pt.2

Co-authored-by: Ryll Ryll <[email protected]>

* Fixes infinite, (almost) free wound treatment with stacked medical items

Co-authored-by: MrMelbert <[email protected]>

* Replaces sleeping carp pierce immunity with wound resistance

Co-authored-by: Ryll Ryll <[email protected]>
Co-authored-by: Rohesie <[email protected]>

* Temporal Scarring is now per-character-slot

Co-authored-by: Ryll Ryll <[email protected]>

* Flypeople can now get wounds (This time im not stupid)

Co-authored-by: John Willard <[email protected]>

* Felinids can no longer contract organ failure by licking wounds

Co-authored-by: Ryll Ryll <[email protected]>

* Improvised bone fixes no longer take a ridiculous amount of time to heal

Co-authored-by: Ryll Ryll <[email protected]>
Co-authored-by: Rohesie <[email protected]>

* Some bugfixes

* More bugfixes

* Circlehand fixes


Co-authored-by: Ryll Ryll <[email protected]>

* Dismemberment wound tweaks


Co-authored-by: Ryll Ryll <[email protected]>

* Limb disable refactor


Co-authored-by: Rohesie <[email protected]>

* Fixes disabled limbs from compound fractures


Co-authored-by: Ryll Ryll <[email protected]>

* More bugfixes

* Fixes staminacrit not paralyzing


Co-authored-by: Rohesie <[email protected]>

* Fix cryo cells locking up those with prosthetic limbs


Co-authored-by: Jared-Fogle <[email protected]>

* More wounds changes

Removed critical wounds, changed dislocation to bone bruise, removed hulk recoil

* More flexible system for innate/roundstart skills.


Co-authored-by: Timberpoes <[email protected]>

* Adds roundstart skills to jobs

* More changes

* More work

* Bugfixes, adding gauze injectors to vending

* Fixes

* Appease linter

* Right, forgot this

* Remove nonexistent unit test

* Ports linter appeasement



Co-authored-by: spookydonut <[email protected]>

* More linter fixes

* Fixes unit test more

* Add bonesetter to medical vending machine

Co-authored-by: Ryll Ryll <[email protected]>
Co-authored-by: zxaber <[email protected]>
Co-authored-by: Rohesie <[email protected]>
Co-authored-by: ShizCalev <[email protected]>
Co-authored-by: Jordan Brown <[email protected]>
Co-authored-by: ATH1909 <[email protected]>
Co-authored-by: Angust <[email protected]>
Co-authored-by: Timberpoes <[email protected]>
Co-authored-by: MrMelbert <[email protected]>
Co-authored-by: John Willard <[email protected]>
Co-authored-by: Jared-Fogle <[email protected]>
Co-authored-by: spookydonut <[email protected]>
  • Loading branch information
13 people authored Sep 11, 2021
1 parent ef63512 commit 6e98df9
Show file tree
Hide file tree
Showing 342 changed files with 6,542 additions and 1,620 deletions.
9 changes: 3 additions & 6 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,9 @@
"tgui/.yarn": true,
"tgui/.pnp.*": true
},
"workbench.editorAssociations": [
{
"filenamePattern": "*.dmi",
"viewType": "imagePreview.previewEditor"
}
],
"workbench.editorAssociations": {
"*.dmi": "imagePreview.previewEditor"
},
"files.eol": "\n",
"gitlens.advanced.blame.customArguments": ["-w"]
}
10 changes: 8 additions & 2 deletions code/__DEFINES/DNA.dm
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@
#define TR_KEEPORGANS (1<<8)
#define TR_KEEPSTUNS (1<<9)
#define TR_KEEPREAGENTS (1<<10)

#define TR_KEEPSTAMINADAMAGE (1<<11)
//species traits for mutantraces
#define MUTCOLORS 1
#define HAIR 2
Expand Down Expand Up @@ -135,7 +135,12 @@
#define NOHUSK 22 // Can't be husked.
#define ROBOTIC_LIMBS 23 //limbs start out as robotic; but also use organic icons. If you want to use the default ones, you'll have to use on_species_gain
#define NOMOUTH 24
#define NO_BONES 25 //WS Edit - Breakable Bones

/// Used for determining which wounds are applicable to this species.
/// if we have flesh (can suffer slash/piercing/burn wounds, requires they don't have NOBLOOD)
#define HAS_FLESH 25
/// if we have bones (can suffer bone wounds)
#define HAS_BONE 26

//organ slots
#define ORGAN_SLOT_BRAIN "brain"
Expand Down Expand Up @@ -175,6 +180,7 @@
#define CHROMOSOME_NONE 1
#define CHROMOSOME_USED 2

//used for mob's genetic gender (mainly just for pronouns, members of sexed species with plural gender refer to their body_type for the actual sprites, which is not genetic)
#define G_MALE 1
#define G_FEMALE 2
#define G_PLURAL 3
8 changes: 8 additions & 0 deletions code/__DEFINES/admin.dm
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,14 @@
#define ADMIN_PUNISHMENT_SUPPLYPOD "Supply Pod"
#define ADMIN_PUNISHMENT_MAZING "Puzzle"
#define ADMIN_PUNISHMENT_IMMERSE "Fully Immerse"
#define ADMIN_PUNISHMENT_FAT "Fatten up"
#define ADMIN_PUNISHMENT_FAKEBWOINK "Fake bwoink"
#define ADMIN_PUNISHMENT_NUGGET "Nugget"
#define ADMIN_PUNISHMENT_CRACK ":B:oneless"
#define ADMIN_PUNISHMENT_BLEED ":B:loodless"
#define ADMIN_PUNISHMENT_PERFORATE ":B:erforate"
#define ADMIN_PUNISHMENT_SCARIFY "Scarify"
#define ADMIN_PUNISHMENT_SHOES "Knot Shoes"
#define ADMIN_PUNISHMENT_NYA "Neko"//WS Edit - Admin Punishment: Cat Tongue

#define AHELP_ACTIVE 1
Expand Down
41 changes: 25 additions & 16 deletions code/__DEFINES/combat.dm
Original file line number Diff line number Diff line change
Expand Up @@ -127,19 +127,28 @@ GLOBAL_LIST_INIT(shove_disarming_types, typecacheof(list(
//Combat object defines

//Embedded objects
#define EMBEDDED_PAIN_CHANCE 15 //Chance for embedded objects to cause pain (damage user)
#define EMBEDDED_ITEM_FALLOUT 5 //Chance for embedded object to fall out (causing pain but removing the object)
#define EMBED_CHANCE 45 //Chance for an object to embed into somebody when thrown (if it's sharp)
#define EMBEDDED_PAIN_MULTIPLIER 2 //Coefficient of multiplication for the damage the item does while embedded (this*item.w_class)
#define EMBEDDED_FALL_PAIN_MULTIPLIER 5 //Coefficient of multiplication for the damage the item does when it falls out (this*item.w_class)
#define EMBEDDED_IMPACT_PAIN_MULTIPLIER 4 //Coefficient of multiplication for the damage the item does when it first embeds (this*item.w_class)
#define EMBED_THROWSPEED_THRESHOLD 4 //The minimum value of an item's throw_speed for it to embed (Unless it has embedded_ignore_throwspeed_threshold set to 1)
#define EMBEDDED_UNSAFE_REMOVAL_PAIN_MULTIPLIER 8 //Coefficient of multiplication for the damage the item does when removed without a surgery (this*item.w_class)
#define EMBEDDED_UNSAFE_REMOVAL_TIME 30 //A Time in ticks, total removal time = (this*item.w_class)
#define EMBEDDED_JOSTLE_CHANCE 5 //Chance for embedded objects to cause pain every time they move (jostle)
#define EMBEDDED_JOSTLE_PAIN_MULTIPLIER 1 //Coefficient of multiplication for the damage the item does while
#define EMBEDDED_PAIN_STAM_PCT 0.0 //This percentage of all pain will be dealt as stam damage rather than brute (0-1)
#define EMBED_CHANCE_TURF_MOD -15 //You are this many percentage points less likely to embed into a turf (good for things glass shards and spears vs walls)
///Chance for embedded objects to cause pain (damage user)
#define EMBEDDED_PAIN_CHANCE 15
///Chance for embedded object to fall out (causing pain but removing the object)
#define EMBEDDED_ITEM_FALLOUT 5
///Chance for an object to embed into somebody when thrown
#define EMBED_CHANCE 45
///Coefficient of multiplication for the damage the item does while embedded (this*item.w_class)
#define EMBEDDED_PAIN_MULTIPLIER 2
///Coefficient of multiplication for the damage the item does when it first embeds (this*item.w_class)
#define EMBEDDED_IMPACT_PAIN_MULTIPLIER 4
///The minimum value of an item's throw_speed for it to embed (Unless it has embedded_ignore_throwspeed_threshold set to 1)
#define EMBED_THROWSPEED_THRESHOLD 4
///Coefficient of multiplication for the damage the item does when it falls out or is removed without a surgery (this*item.w_class)
#define EMBEDDED_UNSAFE_REMOVAL_PAIN_MULTIPLIER 6
///A Time in ticks, total removal time = (this*item.w_class)
#define EMBEDDED_UNSAFE_REMOVAL_TIME 30
///Chance for embedded objects to cause pain every time they move (jostle)
#define EMBEDDED_JOSTLE_CHANCE 5
///Coefficient of multiplication for the damage the item does while
#define EMBEDDED_JOSTLE_PAIN_MULTIPLIER 1
///This percentage of all pain will be dealt as stam damage rather than brute (0-1)
#define EMBEDDED_PAIN_STAM_PCT 0.0

#define EMBED_HARMLESS list("pain_mult" = 0, "jostle_pain_mult" = 0, "ignore_throwspeed_threshold" = TRUE)
#define EMBED_HARMLESS_SUPERIOR list("pain_mult" = 0, "jostle_pain_mult" = 0, "ignore_throwspeed_threshold" = TRUE, "embed_chance" = 100, "fall_chance" = 0.1)
Expand Down Expand Up @@ -190,9 +199,9 @@ GLOBAL_LIST_INIT(shove_disarming_types, typecacheof(list(
#define REFLECT_FAKEPROJECTILE (1<<1)

//Object/Item sharpness
#define IS_BLUNT 0
#define IS_SHARP 1
#define IS_SHARP_ACCURATE 2
#define SHARP_NONE 0
#define SHARP_EDGED 1
#define SHARP_POINTY 2

//His Grace.
#define HIS_GRACE_SATIATED 0 //He hungers not. If bloodthirst is set to this, His Grace is asleep.
Expand Down
65 changes: 46 additions & 19 deletions code/__DEFINES/dcs/signals.dm
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,22 @@
#define COMSIG_ELEMENT_DETACH "element_detach"

// /atom signals
#define COMSIG_ATOM_CREATED "atom_created" ///from base of atom/proc/Initialize(): sent any time a new atom is created
#define COMSIG_PARENT_ATTACKBY "atom_attackby" ///from base of atom/attackby(): (/obj/item, /mob/living, params)
#define COMPONENT_NO_AFTERATTACK 1 //Return this in response if you don't want afterattack to be called
#define COMSIG_ATOM_HULK_ATTACK "hulk_attack" ///from base of atom/attack_hulk(): (/mob/living/carbon/human)
#define COMSIG_ATOM_ATTACK_ANIMAL "attack_animal" ///from base of atom/animal_attack(): (/mob/user)
#define COMSIG_PARENT_EXAMINE "atom_examine" ///from base of atom/examine(): (/mob)
#define COMSIG_ATOM_GET_EXAMINE_NAME "atom_examine_name" ///from base of atom/get_examine_name(): (/mob, list/overrides)
///from base of atom/proc/Initialize(): sent any time a new atom is created
#define COMSIG_ATOM_CREATED "atom_created"
//from SSatoms InitAtom - Only if the atom was not deleted or failed initialization
#define COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZE "atom_init_success"
///from base of atom/attackby(): (/obj/item, /mob/living, params)
#define COMSIG_PARENT_ATTACKBY "atom_attackby"
///Return this in response if you don't want afterattack to be called
#define COMPONENT_NO_AFTERATTACK (1<<0)
///from base of atom/attack_hulk(): (/mob/living/carbon/human)
#define COMSIG_ATOM_HULK_ATTACK "hulk_attack"
///from base of atom/animal_attack(): (/mob/user)
#define COMSIG_ATOM_ATTACK_ANIMAL "attack_animal"
///from base of atom/examine(): (/mob)
#define COMSIG_PARENT_EXAMINE "atom_examine"
///from base of atom/get_examine_name(): (/mob, list/overrides)
#define COMSIG_ATOM_GET_EXAMINE_NAME "atom_examine_name"
#define COMSIG_PARENT_EXAMINE_MORE "atom_examine_more" ///from base of atom/examine_more(): (/mob)
//Positions for overrides list
#define EXAMINE_POSITION_ARTICLE 1
Expand Down Expand Up @@ -345,6 +354,8 @@
///from base of mob/swap_hand(): (obj/item)
#define COMSIG_MOB_SWAP_HANDS "mob_swap_hands"
#define COMPONENT_BLOCK_SWAP (1<<0)
///from /obj/structure/door/crush(): (mob/living/crushed, /obj/machinery/door/crushing_door)
#define COMSIG_LIVING_DOORCRUSHED "living_doorcrush"

///from base of mob/living/resist() (/mob/living)
#define COMSIG_LIVING_RESIST "living_resist"
Expand All @@ -364,9 +375,6 @@
#define COMSIG_LIVING_REVIVE "living_revive"
///from base of /mob/living/regenerate_limbs(): (noheal, excluded_limbs)
#define COMSIG_LIVING_REGENERATE_LIMBS "living_regen_limbs"
///from base of /obj/item/bodypart/proc/attach_limb(): (new_limb, special) allows you to fail limb attachment
#define COMSIG_LIVING_ATTACH_LIMB "living_attach_limb"
#define COMPONENT_NO_ATTACH 1
///from base of mob/living/set_buckled(): (new_buckled)
#define COMSIG_LIVING_SET_BUCKLED "living_set_buckled"

Expand Down Expand Up @@ -398,6 +406,15 @@

///When a carbon mob hugs someone, this is called on the carbon mob.
#define COMSIG_CARBON_HUG "carbon_hug"
// /mob/living/carbon physiology signals
#define COMSIG_CARBON_GAIN_WOUND "carbon_gain_wound" //from /datum/wound/proc/apply_wound() (/mob/living/carbon/C, /datum/wound/W, /obj/item/bodypart/L)
#define COMSIG_CARBON_LOSE_WOUND "carbon_lose_wound" //from /datum/wound/proc/remove_wound() (/mob/living/carbon/C, /datum/wound/W, /obj/item/bodypart/L)
///from base of /obj/item/bodypart/proc/attach_limb(): (new_limb, special) allows you to fail limb attachment
#define COMSIG_CARBON_ATTACH_LIMB "carbon_attach_limb"
#define COMPONENT_NO_ATTACH (1<<0)
#define COMSIG_CARBON_REMOVE_LIMB "carbon_remove_limb" //from base of /obj/item/bodypart/proc/drop_limb(special, dismembered)
#define COMSIG_BODYPART_GAUZED "bodypart_gauzed" // from /obj/item/bodypart/proc/apply_gauze(/obj/item/stack/gauze)
#define COMSIG_BODYPART_GAUZE_DESTROYED "bodypart_degauzed" // from [/obj/item/bodypart/proc/seep_gauze] when it runs out of absorption

///from base of mob/living/carbon/soundbang_act(): (list(intensity))
#define COMSIG_CARBON_SOUNDBANG "carbon_soundbang"
Expand Down Expand Up @@ -516,15 +533,25 @@
#define COMSIG_GRENADE_ARMED "grenade_armed" //called in /obj/item/gun/process_fire (user, target, params, zone_override)

// /obj/projectile signals (sent to the firer)
#define COMSIG_PROJECTILE_SELF_ON_HIT "projectile_self_on_hit" // from base of /obj/projectile/proc/on_hit(): (atom/movable/firer, atom/target, Angle)
#define COMSIG_PROJECTILE_ON_HIT "projectile_on_hit" // from base of /obj/projectile/proc/on_hit(): (atom/movable/firer, atom/target, Angle)
#define COMSIG_PROJECTILE_BEFORE_FIRE "projectile_before_fire" // from base of /obj/projectile/proc/fire(): (obj/projectile, atom/original_target)
#define COMSIG_PROJECTILE_FIRE "projectile_fire" // from the base of /obj/projectile/proc/fire(): ()
#define COMSIG_PROJECTILE_PREHIT "com_proj_prehit" // sent to targets during the process_hit proc of projectiles
#define COMSIG_PROJECTILE_RANGE_OUT "projectile_range_out" // sent to targets during the process_hit proc of projectiles
#define COMSIG_EMBED_TRY_FORCE "item_try_embed" // sent when trying to force an embed (mainly for projectiles, only used in the embed element)

#define COMSIG_PELLET_CLOUD_INIT "pellet_cloud_init" // sent to targets during the process_hit proc of projectiles

///from base of /obj/projectile/proc/on_hit(), like COMSIG_PROJECTILE_ON_HIT but on the projectile itself and with the hit limb (if any): (atom/movable/firer, atom/target, Angle, hit_limb)
#define COMSIG_PROJECTILE_SELF_ON_HIT "projectile_self_on_hit"
///from base of /obj/projectile/proc/on_hit(): (atom/movable/firer, atom/target, Angle)
#define COMSIG_PROJECTILE_ON_HIT "projectile_on_hit"
///from base of /obj/projectile/proc/fire(): (obj/projectile, atom/original_target)
#define COMSIG_PROJECTILE_BEFORE_FIRE "projectile_before_fire"
///from the base of /obj/projectile/proc/fire(): ()
#define COMSIG_PROJECTILE_FIRE "projectile_fire"
///sent to targets during the process_hit proc of projectiles
#define COMSIG_PROJECTILE_PREHIT "com_proj_prehit"
///sent to targets during the process_hit proc of projectiles
#define COMSIG_PROJECTILE_RANGE_OUT "projectile_range_out"
///from [/obj/item/proc/tryEmbed] sent when trying to force an embed (mainly for projectiles and eating glass)
#define COMSIG_EMBED_TRY_FORCE "item_try_embed"
#define COMPONENT_EMBED_SUCCESS (1<<1)

///sent to targets during the process_hit proc of projectiles
#define COMSIG_PELLET_CLOUD_INIT "pellet_cloud_init"

// /obj/mecha signals
#define COMSIG_MECHA_ACTION_ACTIVATE "mecha_action_activate" //sent from mecha action buttons to the mecha they're linked to
Expand Down
8 changes: 0 additions & 8 deletions code/__DEFINES/is_helpers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -189,14 +189,6 @@ GLOBAL_LIST_INIT(turfs_without_ground, typecacheof(list(

#define iscash(A) (istype(A, /obj/item/coin) || istype(A, /obj/item/stack/spacecash) || istype(A, /obj/item/holochip))

GLOBAL_LIST_INIT(pointed_types, typecacheof(list(
/obj/item/pen,
/obj/item/screwdriver,
/obj/item/reagent_containers/syringe,
/obj/item/kitchen/fork)))

#define is_pointed(W) (is_type_in_typecache(W, GLOB.pointed_types))

#define isbodypart(A) (istype(A, /obj/item/bodypart))

#define isprojectile(A) (istype(A, /obj/projectile))
Expand Down
3 changes: 3 additions & 0 deletions code/__DEFINES/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -412,6 +412,9 @@ GLOBAL_LIST_INIT(pda_styles, sortList(list(MONO, VT, ORBITRON, SHARE)))
#define LOCATIONS_FILE "locations.json"
#define WANTED_FILE "wanted_message.json"
#define VISTA_FILE "steve.json"
#define FLESH_SCAR_FILE "wounds/flesh_scar_desc.json"
#define BONE_SCAR_FILE "wounds/bone_scar_desc.json"
#define SCAR_LOC_FILE "wounds/scar_loc.json"

//Fullscreen overlay resolution in tiles.
#define FULLSCREEN_OVERLAY_RESOLUTION_X 15
Expand Down
6 changes: 4 additions & 2 deletions code/__DEFINES/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -117,12 +117,14 @@
#define TRAUMA_RESILIENCE_BASIC 1 //Curable with chems
#define TRAUMA_RESILIENCE_SURGERY 2 //Curable with brain surgery
#define TRAUMA_RESILIENCE_LOBOTOMY 3 //Curable with lobotomy
#define TRAUMA_RESILIENCE_MAGIC 4 //Curable only with magic
#define TRAUMA_RESILIENCE_ABSOLUTE 5 //This is here to stay
#define TRAUMA_RESILIENCE_WOUND 4 //Curable by healing the head wound
#define TRAUMA_RESILIENCE_MAGIC 5 //Curable only with magic
#define TRAUMA_RESILIENCE_ABSOLUTE 6 //This is here to stay

//Limit of traumas for each resilience tier
#define TRAUMA_LIMIT_BASIC 3
#define TRAUMA_LIMIT_SURGERY 2
#define TRAUMA_LIMIT_WOUND 2
#define TRAUMA_LIMIT_LOBOTOMY 3
#define TRAUMA_LIMIT_MAGIC 3
#define TRAUMA_LIMIT_ABSOLUTE INFINITY
Expand Down
8 changes: 7 additions & 1 deletion code/__DEFINES/obj_flags.dm
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,12 @@
#define NO_MAT_REDEMPTION (1<<5) // Stops you from putting things like an RCD or other items into an ORM or protolathe for materials.
#define DROPDEL (1<<6) // When dropped, it calls qdel on itself
#define NOBLUDGEON (1<<7) // when an item has this it produces no "X has been hit by Y with Z" message in the default attackby()
#define ABSTRACT (1<<9) // for all things that are technically items but used for various different stuff
#define ABSTRACT (1<<9) // for all things that are technically items but used for various different stuff <= wow thanks for the fucking insight sherlock
#define IMMUTABLE_SLOW (1<<10) // When players should not be able to change the slowdown of the item (Speed potions, etc)
#define IN_STORAGE (1<<11) //is this item in the storage item, such as backpack? used for tooltips
#define SURGICAL_TOOL (1<<12) //Tool commonly used for surgery: won't attack targets in an active surgical operation on help intent (in case of mistakes)
#define EYE_STAB (1<<13) /// Item can be used to eyestab
#define HAND_ITEM (1<<14) /// If an item is just your hand (circled hand, slapper) and shouldn't block things like riding

// Flags for the clothing_flags var on /obj/item/clothing

Expand All @@ -58,3 +59,8 @@
#define ORGAN_VITAL (1<<4) //Currently only the brain
#define ORGAN_EDIBLE (1<<5) //is a snack? :D
#define ORGAN_SYNTHETIC_EMP (1<<6) //Synthetic organ affected by an EMP. Deteriorates over time.

/// Integrity defines for clothing (not flags but close enough)
#define CLOTHING_PRISTINE 0 // We have no damage on the clothing
#define CLOTHING_DAMAGED 1 // There's some damage on the clothing but it still has at least one functioning bodypart and can be equipped
#define CLOTHING_SHREDDED 2 // The clothing is useless and cannot be equipped unless repaired first
11 changes: 10 additions & 1 deletion code/__DEFINES/skills.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,17 @@
#define SKILL_LVL 1
#define SKILL_EXP 2

// Level experience requirements
#define SKILL_EXP_NONE 0
#define SKILL_EXP_NOVICE 100
#define SKILL_EXP_APPRENTICE 250
#define SKILL_EXP_JOURNEYMAN 500
#define SKILL_EXP_EXPERT 900
#define SKILL_EXP_MASTER 1500
#define SKILL_EXP_LEGENDARY 2500

//Allows us to get EXP from level, or level from EXP
#define SKILL_EXP_LIST list(0, 100, 250, 500, 900, 1500, 2500)
#define SKILL_EXP_LIST list(SKILL_EXP_NONE, SKILL_EXP_NOVICE, SKILL_EXP_APPRENTICE, SKILL_EXP_JOURNEYMAN, SKILL_EXP_EXPERT, SKILL_EXP_MASTER, SKILL_EXP_LEGENDARY)

//Skill modifier types
#define SKILL_SPEED_MODIFIER "skill_speed_modifier"//ideally added/subtracted in speed calculations to make you do stuff faster
Expand Down
4 changes: 4 additions & 0 deletions code/__DEFINES/status_effects.dm
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@

#define STATUS_EFFECT_ANTIMAGIC /datum/status_effect/antimagic //grants antimagic (and reapplies if lost) for the duration

#define STATUS_EFFECT_DETERMINED /datum/status_effect/determined //currently in a combat high from being seriously wounded

/////////////
// DEBUFFS //
/////////////
Expand Down Expand Up @@ -99,6 +101,8 @@

#define STATUS_EFFECT_FAKE_VIRUS /datum/status_effect/fake_virus //gives you fluff messages for cough, sneeze, headache, etc but without an actual virus

#define STATUS_EFFECT_LIMP /datum/status_effect/limp //For when you have a busted leg (or two!) and want additional slowdown when walking on that leg

/////////////
// NEUTRAL //
/////////////
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/tools.dm
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
#define TOOL_DRILL "drill"
#define TOOL_SCALPEL "scalpel"
#define TOOL_SAW "saw"
#define TOOL_BONESET "bonesetter"

// If delay between the start and the end of tool operation is less than MIN_TOOL_SOUND_DELAY,
// tool sound is only played when op is started. If not, it's played twice.
Expand Down
4 changes: 4 additions & 0 deletions code/__DEFINES/traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
#define TRAIT_LIMBATTACHMENT "limb_attach"
#define TRAIT_NOLIMBDISABLE "no_limb_disable"
#define TRAIT_EASYLIMBDISABLE "easy_limb_disable"
#define TRAIT_EASILY_WOUNDED "easy_limb_wound"
#define TRAIT_HARDLY_WOUNDED "hard_limb_wound"
#define TRAIT_TOXINLOVER "toxinlover"
#define TRAIT_NOBREATH "no_breath"
#define TRAIT_ANTIMAGIC "anti_magic"
Expand Down Expand Up @@ -207,6 +209,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
//non-mob traits
/// Used for limb-based paralysis, where replacing the limb will fix it.
#define TRAIT_PARALYSIS "paralysis"
/// Used for limbs.
#define TRAIT_DISABLED_BY_WOUND "disabled-by-wound"

#define TRAIT_KEEP_TOGETHER "keep-together"

Expand Down
Loading

0 comments on commit 6e98df9

Please sign in to comment.