From 1a1533a2e3cb0c71a6e9dcbe35f3ffbee0fb1880 Mon Sep 17 00:00:00 2001 From: spookydonut Date: Fri, 28 Feb 2020 06:14:39 +0800 Subject: [PATCH] Code docs some mob stuff (#49570) * update damage proc codedocs * docs for mobs * change requests --- code/__DEFINES/mobs.dm | 10 +- code/modules/mob/inventory.dm | 2 +- .../mob/living/carbon/alien/damage_procs.dm | 18 +-- .../mob/living/carbon/carbon_defines.dm | 40 +++---- .../modules/mob/living/carbon/damage_procs.dm | 60 ++++++---- .../mob/living/carbon/human/damage_procs.dm | 3 +- code/modules/mob/living/damage_procs.dm | 53 +++++---- code/modules/mob/living/living_defines.dm | 104 +++++++++--------- code/modules/mob/mob_defines.dm | 4 +- 9 files changed, 162 insertions(+), 132 deletions(-) diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index c5e6c1fc2ae..bbcab316b27 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -35,8 +35,8 @@ #define VENTCRAWLER_ALWAYS 2 //Bloodcrawling defines -#define BLOODCRAWL 1 -#define BLOODCRAWL_EAT 2 +#define BLOODCRAWL 1 /// bloodcrawling, see: [/mob/living/var/bloodcrawl] +#define BLOODCRAWL_EAT 2 /// crawling+mob devour //Mob bio-types flags #define MOB_ORGANIC 1 << 0 @@ -242,9 +242,9 @@ ///The shock doesn't stun. #define SHOCK_NOSTUN (1 << 3) -#define INCORPOREAL_MOVE_BASIC 1 -#define INCORPOREAL_MOVE_SHADOW 2 // leaves a trail of shadows -#define INCORPOREAL_MOVE_JAUNT 3 // is blocked by holy water/salt +#define INCORPOREAL_MOVE_BASIC 1 /// normal movement, see: [/mob/living/var/incorporeal_move] +#define INCORPOREAL_MOVE_SHADOW 2 /// leaves a trail of shadows +#define INCORPOREAL_MOVE_JAUNT 3 /// is blocked by holy water/salt //Secbot and ED209 judgement criteria bitflag values #define JUDGE_EMAGGED (1<<0) diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index b130a21eb7f..96b80844205 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -1,7 +1,7 @@ //These procs handle putting s tuff in your hands //as they handle all relevant stuff like adding it to the player's screen and updating their overlays. -//Returns the thing we're currently holding +///Returns the thing we're currently holding /mob/proc/get_active_held_item() return get_item_for_held_index(active_hand_index) diff --git a/code/modules/mob/living/carbon/alien/damage_procs.dm b/code/modules/mob/living/carbon/alien/damage_procs.dm index 452b162da21..1d0ad8e9d3b 100644 --- a/code/modules/mob/living/carbon/alien/damage_procs.dm +++ b/code/modules/mob/living/carbon/alien/damage_procs.dm @@ -1,13 +1,15 @@ - +///alien immune to tox damage /mob/living/carbon/alien/getToxLoss() - return 0 - -/mob/living/carbon/alien/adjustToxLoss(amount, updating_health = TRUE, forced = FALSE) //alien immune to tox damage return FALSE -//aliens are immune to stamina damage. -/mob/living/carbon/alien/adjustStaminaLoss(amount, updating_health = 1, forced = FALSE) - return +///alien immune to tox damage +/mob/living/carbon/alien/adjustToxLoss(amount, updating_health = TRUE, forced = FALSE) + return FALSE +///aliens are immune to stamina damage. +/mob/living/carbon/alien/adjustStaminaLoss(amount, updating_health = 1, forced = FALSE) + return FALSE + +///aliens are immune to stamina damage. /mob/living/carbon/alien/setStaminaLoss(amount, updating_health = 1) - return + return FALSE diff --git a/code/modules/mob/living/carbon/carbon_defines.dm b/code/modules/mob/living/carbon/carbon_defines.dm index 97fd3e1eb4c..6b6bbb22248 100644 --- a/code/modules/mob/living/carbon/carbon_defines.dm +++ b/code/modules/mob/living/carbon/carbon_defines.dm @@ -6,13 +6,13 @@ hud_possible = list(HEALTH_HUD,STATUS_HUD,ANTAG_HUD,GLAND_HUD,NANITE_HUD,DIAG_NANITE_FULL_HUD) has_limbs = 1 held_items = list(null, null) - var/list/internal_organs = list() //List of /obj/item/organ in the mob. They don't go in the contents for some reason I don't want to know. - var/list/internal_organs_slot= list() //Same as above, but stores "slot ID" - "organ" pairs for easy access. - var/silent = FALSE //Can't talk. Value goes down every life proc. //NOTE TO FUTURE CODERS: DO NOT INITIALIZE NUMERICAL VARS AS NULL OR I WILL MURDER YOU. - var/dreaming = 0 //How many dream images we have left to send + var/list/internal_organs = list() ///List of [/obj/item/organ] in the mob. They don't go in the contents for some reason I don't want to know. + var/list/internal_organs_slot= list() ///Same as [above][/mob/living/carbon/var/internal_organs], but stores "slot ID" - "organ" pairs for easy access. + var/silent = 0 ///Can't talk. Value goes down every life proc. NOTE TO FUTURE CODERS: DO NOT INITIALIZE NUMERICAL VARS AS NULL OR I WILL MURDER YOU. + var/dreaming = 0 ///How many dream images we have left to send - var/obj/item/handcuffed = null //Whether or not the mob is handcuffed - var/obj/item/legcuffed = null //Same as handcuffs but for legs. Bear traps use this. + var/obj/item/handcuffed = null///Whether or not the mob is handcuffed + var/obj/item/legcuffed = null ///Same as handcuffs but for legs. Bear traps use this. var/disgust = 0 @@ -23,15 +23,15 @@ var/obj/item/tank/internal = null var/obj/item/clothing/head = null - var/obj/item/clothing/gloves = null //only used by humans - var/obj/item/clothing/shoes = null //only used by humans. - var/obj/item/clothing/glasses/glasses = null //only used by humans. - var/obj/item/clothing/ears = null //only used by humans. + var/obj/item/clothing/gloves = null ///only used by humans + var/obj/item/clothing/shoes = null ///only used by humans. + var/obj/item/clothing/glasses/glasses = null ///only used by humans. + var/obj/item/clothing/ears = null ///only used by humans. - var/datum/dna/dna = null // Carbon - var/datum/mind/last_mind = null //last mind to control this mob, for blood-based cloning + var/datum/dna/dna = null /// Carbon + var/datum/mind/last_mind = null ///last mind to control this mob, for blood-based cloning - var/failed_last_breath = 0 //This is used to determine if the mob failed a breath. If they did fail a brath, they will attempt to breathe each tick, otherwise just once per 4 ticks. + var/failed_last_breath = 0 ///This is used to determine if the mob failed a breath. If they did fail a brath, they will attempt to breathe each tick, otherwise just once per 4 ticks. var/co2overloadtime = null var/temperature_resistance = T0C+75 @@ -41,13 +41,13 @@ var/rotate_on_lying = 1 - var/tinttotal = 0 // Total level of visualy impairing items + var/tinttotal = 0 /// Total level of visualy impairing items + ///Gets filled up in [create_bodyparts()][/mob/living/carbon/proc/create_bodyparts] var/list/bodyparts = list(/obj/item/bodypart/chest, /obj/item/bodypart/head, /obj/item/bodypart/l_arm, /obj/item/bodypart/r_arm, /obj/item/bodypart/r_leg, /obj/item/bodypart/l_leg) - //Gets filled up in create_bodyparts() - var/list/hand_bodyparts = list() //a collection of arms (or actually whatever the fug /bodyparts you monsters use to wreck my systems) + var/list/hand_bodyparts = list() ///a collection of arms (or actually whatever the fug /bodyparts you monsters use to wreck my systems) var/icon_render_key = "" var/static/list/limb_icon_cache = list() @@ -58,12 +58,12 @@ var/obj/halitem var/hal_screwyhud = SCREWYHUD_NONE var/next_hallucination = 0 - var/cpr_time = 1 //CPR cooldown. + var/cpr_time = 1 ///CPR cooldown. var/damageoverlaytemp = 0 - var/drunkenness = 0 //Overall drunkenness - check handle_alcohol() in life.dm for effects - var/stam_regen_start_time = 0 //used to halt stamina regen temporarily - var/stam_paralyzed = FALSE //knocks you down + var/drunkenness = 0 ///Overall drunkenness + var/stam_regen_start_time = 0 ///used to halt stamina regen temporarily + var/stam_paralyzed = FALSE ///knocks you down /// Protection (insulation) from the heat, Value 0-1 corresponding to the percentage of protection var/heat_protection = 0 // No heat protection diff --git a/code/modules/mob/living/carbon/damage_procs.dm b/code/modules/mob/living/carbon/damage_procs.dm index 2ac4d4e69cc..a329c0c029c 100644 --- a/code/modules/mob/living/carbon/damage_procs.dm +++ b/code/modules/mob/living/carbon/damage_procs.dm @@ -113,31 +113,37 @@ return adjustStaminaLoss(diff, updating_health, forced) -/** adjustOrganLoss - * inputs: slot (organ slot, like ORGAN_SLOT_HEART), amount (damage to be done), and maximum (currently an arbitrarily large number, can be set so as to limit damage) - * outputs: - * description: If an organ exists in the slot requested, and we are capable of taking damage (we don't have GODMODE on), call the damage proc on that organ. +/** + * If an organ exists in the slot requested, and we are capable of taking damage (we don't have [GODMODE] on), call the damage proc on that organ. + * + * Arguments: + * * slot - organ slot, like [ORGAN_SLOT_HEART] + * * amount - damage to be done + * * maximum - currently an arbitrarily large number, can be set so as to limit damage */ /mob/living/carbon/adjustOrganLoss(slot, amount, maximum) var/obj/item/organ/O = getorganslot(slot) if(O && !(status_flags & GODMODE)) O.applyOrganDamage(amount, maximum) -/** setOrganLoss - * inputs: slot (organ slot, like ORGAN_SLOT_HEART), amount(damage to be set to) - * outputs: - * description: If an organ exists in the slot requested, and we are capable of taking damage (we don't have GODMODE on), call the set damage proc on that organ, which can - * set or clear the failing variable on that organ, making it either cease or start functions again, unlike adjustOrganLoss. +/** + * If an organ exists in the slot requested, and we are capable of taking damage (we don't have [GODMODE] on), call the set damage proc on that organ, which can + * set or clear the failing variable on that organ, making it either cease or start functions again, unlike adjustOrganLoss. + * + * Arguments: + * * slot - organ slot, like [ORGAN_SLOT_HEART] + * * amount - damage to be set to */ /mob/living/carbon/setOrganLoss(slot, amount) var/obj/item/organ/O = getorganslot(slot) if(O && !(status_flags & GODMODE)) O.setOrganDamage(amount) -/** getOrganLoss - * inputs: slot (organ slot, like ORGAN_SLOT_HEART) - * outputs: organ damage - * description: If an organ exists in the slot requested, return the amount of damage that organ has +/** + * If an organ exists in the slot requested, return the amount of damage that organ has + * + * Arguments: + * * slot - organ slot, like [ORGAN_SLOT_HEART] */ /mob/living/carbon/getOrganLoss(slot) var/obj/item/organ/O = getorganslot(slot) @@ -146,7 +152,7 @@ //////////////////////////////////////////// -//Returns a list of damaged bodyparts +///Returns a list of damaged bodyparts /mob/living/carbon/proc/get_damaged_bodyparts(brute = FALSE, burn = FALSE, stamina = FALSE, status) var/list/obj/item/bodypart/parts = list() for(var/X in bodyparts) @@ -157,7 +163,7 @@ parts += BP return parts -//Returns a list of damageable bodyparts +///Returns a list of damageable bodyparts /mob/living/carbon/proc/get_damageable_bodyparts(status) var/list/obj/item/bodypart/parts = list() for(var/X in bodyparts) @@ -168,9 +174,13 @@ parts += BP return parts -//Heals ONE bodypart randomly selected from damaged ones. -//It automatically updates damage overlays if necessary -//It automatically updates health status +/** + * Heals ONE bodypart randomly selected from damaged ones. + * + * It automatically updates damage overlays if necessary + * + * It automatically updates health status + */ /mob/living/carbon/heal_bodypart_damage(brute = 0, burn = 0, stamina = 0, updating_health = TRUE, required_status) var/list/obj/item/bodypart/parts = get_damaged_bodyparts(brute,burn,stamina,required_status) if(!parts.len) @@ -182,9 +192,13 @@ return max(damage_calculator - picked.get_damage(TRUE), 0) -//Damages ONE bodypart randomly selected from damagable ones. -//It automatically updates damage overlays if necessary -//It automatically updates health status +/** + * Damages ONE bodypart randomly selected from damagable ones. + * + * It automatically updates damage overlays if necessary + * + * It automatically updates health status + */ /mob/living/carbon/take_bodypart_damage(brute = 0, burn = 0, stamina = 0, updating_health = TRUE, required_status, check_armor = FALSE) var/list/obj/item/bodypart/parts = get_damageable_bodyparts(required_status) if(!parts.len) @@ -193,7 +207,7 @@ if(picked.receive_damage(brute, burn, stamina,check_armor ? run_armor_check(picked, (brute ? "melee" : burn ? "fire" : stamina ? "bullet" : null)) : FALSE)) update_damage_overlays() -//Heal MANY bodyparts, in random order +///Heal MANY bodyparts, in random order /mob/living/carbon/heal_overall_damage(brute = 0, burn = 0, stamina = 0, required_status, updating_health = TRUE) var/list/obj/item/bodypart/parts = get_damaged_bodyparts(brute, burn, stamina, required_status) @@ -218,7 +232,7 @@ if(update) update_damage_overlays() -// damage MANY bodyparts, in random order +/// damage MANY bodyparts, in random order /mob/living/carbon/take_overall_damage(brute = 0, burn = 0, stamina = 0, updating_health = TRUE, required_status) if(status_flags & GODMODE) return //godmode diff --git a/code/modules/mob/living/carbon/human/damage_procs.dm b/code/modules/mob/living/carbon/human/damage_procs.dm index 6b193c740f4..466747fc075 100644 --- a/code/modules/mob/living/carbon/human/damage_procs.dm +++ b/code/modules/mob/living/carbon/human/damage_procs.dm @@ -1,5 +1,4 @@ - +/// depending on the species, it will run the corresponding apply_damage code there /mob/living/carbon/human/apply_damage(damage = 0,damagetype = BRUTE, def_zone = null, blocked = FALSE, forced = FALSE, spread_damage = FALSE) - // depending on the species, it will run the corresponding apply_damage code there return dna.species.apply_damage(damage, damagetype, def_zone, blocked, src, forced, spread_damage) diff --git a/code/modules/mob/living/damage_procs.dm b/code/modules/mob/living/damage_procs.dm index cac062b25ff..65d27edf672 100644 --- a/code/modules/mob/living/damage_procs.dm +++ b/code/modules/mob/living/damage_procs.dm @@ -1,18 +1,24 @@ -/* - apply_damage(a,b,c) - args - a:damage - How much damage to take - b:damage_type - What type of damage to take, brute, burn - c:def_zone - Where to take the damage if its brute or burn - Returns - standard 0 if fail -*/ +/** + * Applies damage to this mob + * + * Sends [COMSIG_MOB_APPLY_DAMGE] + * + * Arguuments: + * * damage - amount of damage + * * damagetype - one of [BRUTE], [BURN], [TOX], [OXY], [CLONE], [STAMINA] + * * def_zone - zone that is being hit if any + * * blocked - armor value applied + * * forced - bypass hit percentage + * * spread_damage - used in overrides + * + * Returns TRUE if damage applied + */ /mob/living/proc/apply_damage(damage = 0,damagetype = BRUTE, def_zone = null, blocked = FALSE, forced = FALSE, spread_damage = FALSE) SEND_SIGNAL(src, COMSIG_MOB_APPLY_DAMGE, damage, damagetype, def_zone) var/hit_percent = (100-blocked)/100 if(!damage || (!forced && hit_percent <= 0)) - return 0 + return FALSE var/damage_amount = forced ? damage : damage * hit_percent switch(damagetype) if(BRUTE) @@ -27,9 +33,10 @@ adjustCloneLoss(damage_amount, forced = forced) if(STAMINA) adjustStaminaLoss(damage_amount, forced = forced) - return 1 + return TRUE -/mob/living/proc/apply_damage_type(damage = 0, damagetype = BRUTE) //like apply damage except it always uses the damage procs +///like [apply_damage][/mob/living/proc/apply_damage] except it always uses the damage procs +/mob/living/proc/apply_damage_type(damage = 0, damagetype = BRUTE) switch(damagetype) if(BRUTE) return adjustBruteLoss(damage) @@ -44,6 +51,7 @@ if(STAMINA) return adjustStaminaLoss(damage) +/// return the damage amount for the type given /mob/living/proc/get_damage_amount(damagetype = BRUTE) switch(damagetype) if(BRUTE) @@ -59,7 +67,7 @@ if(STAMINA) return getStaminaLoss() - +/// applies multiple damages at once via [/mob/living/proc/apply_damage] /mob/living/proc/apply_damages(brute = 0, burn = 0, tox = 0, oxy = 0, clone = 0, def_zone = null, blocked = FALSE, stamina = 0, brain = 0) if(blocked >= 100) return 0 @@ -80,7 +88,7 @@ return 1 - +/// applies various common status effects or common hardcoded mob effects /mob/living/proc/apply_effect(effect = 0,effecttype = EFFECT_STUN, blocked = FALSE) var/hit_percent = (100-blocked)/100 if(!effect || (hit_percent <= 0)) @@ -112,7 +120,7 @@ jitteriness = max(jitteriness,(effect * hit_percent)) return 1 - +/// applies multiple effects at once via [/mob/living/proc/apply_effect] /mob/living/proc/apply_effects(stun = 0, knockdown = 0, unconscious = 0, irradiate = 0, slur = 0, stutter = 0, eyeblur = 0, drowsy = 0, blocked = FALSE, stamina = 0, jitter = 0, paralyze = 0, immobilize = 0) if(blocked >= 100) return BULLET_ACT_BLOCK @@ -240,15 +248,18 @@ /mob/living/proc/setStaminaLoss(amount, updating_health = TRUE, forced = FALSE) return -// heal ONE external organ, organ gets randomly selected from damaged ones. -/// needs to return amount healed in order to calculate things like tend wounds xp gain +/** + * heal ONE external organ, organ gets randomly selected from damaged ones. + * + * needs to return amount healed in order to calculate things like tend wounds xp gain + */ /mob/living/proc/heal_bodypart_damage(brute = 0, burn = 0, stamina = 0, updating_health = TRUE, required_status) . = (adjustBruteLoss(-brute, FALSE) + adjustFireLoss(-burn, FALSE) + adjustStaminaLoss(-stamina, FALSE)) //zero as argument for no instant health update if(updating_health) updatehealth() update_stamina() -// damage ONE external organ, organ gets randomly selected from damaged ones. +/// damage ONE external organ, organ gets randomly selected from damaged ones. /mob/living/proc/take_bodypart_damage(brute = 0, burn = 0, stamina = 0, updating_health = TRUE, required_status, check_armor = FALSE) adjustBruteLoss(brute, FALSE) //zero as argument for no instant health update adjustFireLoss(burn, FALSE) @@ -257,7 +268,7 @@ updatehealth() update_stamina() -// heal MANY bodyparts, in random order +/// heal MANY bodyparts, in random order /mob/living/proc/heal_overall_damage(brute = 0, burn = 0, stamina = 0, required_status, updating_health = TRUE) adjustBruteLoss(-brute, FALSE) //zero as argument for no instant health update adjustFireLoss(-burn, FALSE) @@ -266,7 +277,7 @@ updatehealth() update_stamina() -// damage MANY bodyparts, in random order +/// damage MANY bodyparts, in random order /mob/living/proc/take_overall_damage(brute = 0, burn = 0, stamina = 0, updating_health = TRUE, required_status = null) adjustBruteLoss(brute, FALSE) //zero as argument for no instant health update adjustFireLoss(burn, FALSE) @@ -275,7 +286,7 @@ updatehealth() update_stamina() -//heal up to amount damage, in a given order +///heal up to amount damage, in a given order /mob/living/proc/heal_ordered_damage(amount, list/damage_types) . = amount //we'll return the amount of damage healed for(var/i in damage_types) diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index 3e7dbf13cae..935411b3b0b 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -7,92 +7,96 @@ hud_type = /datum/hud/living - var/resize = 1 //Badminnery resize + var/resize = 1 ///Badminnery resize var/lastattacker = null var/lastattackerckey = null //Health and life related vars - var/maxHealth = 100 //Maximum health that should be possible. - var/health = 100 //A mob's health + var/maxHealth = 100 ///Maximum health that should be possible. + var/health = 100 ///A mob's health //Damage related vars, NOTE: THESE SHOULD ONLY BE MODIFIED BY PROCS - var/bruteloss = 0 //Brutal damage caused by brute force (punching, being clubbed by a toolbox ect... this also accounts for pressure damage) - var/oxyloss = 0 //Oxygen depravation damage (no air in lungs) - var/toxloss = 0 //Toxic damage caused by being poisoned or radiated - var/fireloss = 0 //Burn damage caused by being way too hot, too cold or burnt. - var/cloneloss = 0 //Damage caused by being cloned or ejected from the cloner early. slimes also deal cloneloss damage to victims - var/staminaloss = 0 //Stamina damage, or exhaustion. You recover it slowly naturally, and are knocked down if it gets too high. Holodeck and hallucinations deal this. - var/crit_threshold = HEALTH_THRESHOLD_CRIT // when the mob goes from "normal" to crit + var/bruteloss = 0 ///Brutal damage caused by brute force (punching, being clubbed by a toolbox ect... this also accounts for pressure damage) + var/oxyloss = 0 ///Oxygen depravation damage (no air in lungs) + var/toxloss = 0 ///Toxic damage caused by being poisoned or radiated + var/fireloss = 0 ///Burn damage caused by being way too hot, too cold or burnt. + var/cloneloss = 0 ///Damage caused by being cloned or ejected from the cloner early. slimes also deal cloneloss damage to victims + var/staminaloss = 0 ///Stamina damage, or exhaustion. You recover it slowly naturally, and are knocked down if it gets too high. Holodeck and hallucinations deal this. + var/crit_threshold = HEALTH_THRESHOLD_CRIT /// when the mob goes from "normal" to crit var/mobility_flags = MOBILITY_FLAGS_DEFAULT var/resting = FALSE - var/lying = 0 //number of degrees. DO NOT USE THIS IN CHECKS. CHECK FOR MOBILITY FLAGS INSTEAD!! - var/lying_prev = 0 //last value of lying on update_mobility + var/lying = 0 ///number of degrees. DO NOT USE THIS IN CHECKS. CHECK FOR MOBILITY FLAGS INSTEAD!! + var/lying_prev = 0 ///last value of lying on update_mobility - var/confused = 0 //Makes the mob move in random directions. + var/confused = 0 ///Makes the mob move in random directions. - var/hallucination = 0 //Directly affects how long a mob will hallucinate for + var/hallucination = 0 ///Directly affects how long a mob will hallucinate for - var/last_special = 0 //Used by the resist verb, likely used to prevent players from bypassing next_move by logging in/out. + var/last_special = 0 ///Used by the resist verb, likely used to prevent players from bypassing next_move by logging in/out. var/timeofdeath = 0 - //Allows mobs to move through dense areas without restriction. For instance, in space or out of holder objects. - var/incorporeal_move = FALSE //FALSE is off, INCORPOREAL_MOVE_BASIC is normal, INCORPOREAL_MOVE_SHADOW is for ninjas - //and INCORPOREAL_MOVE_JAUNT is blocked by holy water/salt + /** + * Allows mobs to move through dense areas without restriction. For instance, in space or out of holder objects. + * + * FALSE is off, [INCORPOREAL_MOVE_BASIC] is normal, [INCORPOREAL_MOVE_SHADOW] is for ninjas + * and [INCORPOREAL_MOVE_JAUNT] is blocked by holy water/salt + */ + var/incorporeal_move = FALSE var/list/roundstart_quirks = list() - var/list/surgeries = list() //a list of surgery datums. generally empty, they're added when the player wants them. + var/list/surgeries = list() ///a list of surgery datums. generally empty, they're added when the player wants them. - var/now_pushing = null //used by living/Bump() and living/PushAM() to prevent potential infinite loop. + var/now_pushing = null ///used by [living/Bump()][/mob/living/Bump] and [living/PushAM()][/mob/living/PushAM] to prevent potential infinite loop. var/cameraFollow = null - var/tod = null // Time of death + var/tod = null /// Time of death - var/on_fire = 0 //The "Are we on fire?" var - var/fire_stacks = 0 //Tracks how many stacks of fire we have on, max is usually 20 + var/on_fire = 0 ///The "Are we on fire?" var + var/fire_stacks = 0 ///Tracks how many stacks of fire we have on, max is usually 20 - var/bloodcrawl = 0 //0 No blood crawling, BLOODCRAWL for bloodcrawling, BLOODCRAWL_EAT for crawling+mob devour - var/holder = null //The holder for blood crawling - var/ventcrawler = 0 //0 No vent crawling, 1 vent crawling in the nude, 2 vent crawling always - var/limb_destroyer = 0 //1 Sets AI behavior that allows mobs to target and dismember limbs with their basic attack. + var/bloodcrawl = 0 ///0 No blood crawling, [BLOODCRAWL] for bloodcrawling, [BLOODCRAWL_EAT] for crawling+mob devour + var/holder = null ///The holder for blood crawling + var/ventcrawler = 0 ///0 No vent crawling, 1 vent crawling in the nude, 2 vent crawling always + var/limb_destroyer = 0 ///1 Sets AI behavior that allows mobs to target and dismember limbs with their basic attack. var/mob_size = MOB_SIZE_HUMAN var/mob_biotypes = MOB_ORGANIC - var/metabolism_efficiency = 1 //more or less efficiency to metabolize helpful/harmful reagents and regulate body temperature.. - var/has_limbs = 0 //does the mob have distinct limbs?(arms,legs, chest,head) + var/metabolism_efficiency = 1 ///more or less efficiency to metabolize helpful/harmful reagents and regulate body temperature.. + var/has_limbs = 0 ///does the mob have distinct limbs?(arms,legs, chest,head) var/list/pipes_shown = list() var/last_played_vent - var/smoke_delay = 0 //used to prevent spam with smoke reagent reaction on mob. + var/smoke_delay = 0 ///used to prevent spam with smoke reagent reaction on mob. - var/bubble_icon = "default" //what icon the mob uses for speechbubbles - var/health_doll_icon //if this exists AND the normal sprite is bigger than 32x32, this is the replacement icon state (because health doll size limitations). the icon will always be screen_gen.dmi + var/bubble_icon = "default" ///what icon the mob uses for speechbubbles + var/health_doll_icon ///if this exists AND the normal sprite is bigger than 32x32, this is the replacement icon state (because health doll size limitations). the icon will always be screen_gen.dmi var/last_bumped = 0 - var/unique_name = 0 //if a mob's name should be appended with an id when created e.g. Mob (666) - var/numba = 0 //the id a mob gets when it's created + var/unique_name = 0 ///if a mob's name should be appended with an id when created e.g. Mob (666) + var/numba = 0 ///the id a mob gets when it's created - var/list/butcher_results = null //these will be yielded from butchering with a probability chance equal to the butcher item's effectiveness - var/list/guaranteed_butcher_results = null //these will always be yielded from butchering - var/butcher_difficulty = 0 //effectiveness prob. is modified negatively by this amount; positive numbers make it more difficult, negative ones make it easier + var/list/butcher_results = null ///these will be yielded from butchering with a probability chance equal to the butcher item's effectiveness + var/list/guaranteed_butcher_results = null ///these will always be yielded from butchering + var/butcher_difficulty = 0 ///effectiveness prob. is modified negatively by this amount; positive numbers make it more difficult, negative ones make it easier - var/hellbound = 0 //People who've signed infernal contracts are unrevivable. + var/hellbound = 0 ///People who've signed infernal contracts are unrevivable. var/list/weather_immunities = list() - var/stun_absorption = null //converted to a list of stun absorption sources this mob has when one is added + var/stun_absorption = null ///converted to a list of stun absorption sources this mob has when one is added - var/blood_volume = 0 //how much blood the mob has - var/obj/effect/proc_holder/ranged_ability //Any ranged ability the mob has, as a click override + var/blood_volume = 0 ///how much blood the mob has + var/obj/effect/proc_holder/ranged_ability ///Any ranged ability the mob has, as a click override - var/see_override = 0 //0 for no override, sets see_invisible = see_override in silicon & carbon life process via update_sight() + var/see_override = 0 ///0 for no override, sets see_invisible = see_override in silicon & carbon life process via update_sight() - var/list/status_effects //a list of all status effects the mob has + var/list/status_effects ///a list of all status effects the mob has var/druggy = 0 //Speech @@ -105,21 +109,21 @@ var/datum/riding/riding_datum - var/last_words //used for database logging + var/last_words ///used for database logging var/list/obj/effect/proc_holder/abilities = list() - var/can_be_held = FALSE //whether this can be picked up and held. + var/can_be_held = FALSE ///whether this can be picked up and held. - var/radiation = 0 //If the mob is irradiated. + var/radiation = 0 ///If the mob is irradiated. var/ventcrawl_layer = PIPING_LAYER_DEFAULT var/losebreath = 0 //List of active diseases - var/list/diseases = list() // list of all diseases in a mob + var/list/diseases = list() /// list of all diseases in a mob var/list/disease_resistances = list() - var/slowed_by_drag = TRUE //Whether the mob is slowed down when dragging another prone mob + var/slowed_by_drag = TRUE ///Whether the mob is slowed down when dragging another prone mob - var/list/ownedSoullinks //soullinks we are the owner of - var/list/sharedSoullinks //soullinks we are a/the sharer of + var/list/ownedSoullinks ///soullinks we are the owner of + var/list/sharedSoullinks ///soullinks we are a/the sharer of diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 81aecc74996..8befdae13a4 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -122,7 +122,7 @@ * NB: contains nulls! * * held_items[active_hand_index] is the actively held item, but please use - * get_active_held_item() instead, because OOP + * [get_active_held_item()][/mob/proc/get_active_held_item] instead, because OOP */ var/list/held_items = list() @@ -195,7 +195,7 @@ var/memory_throttle_time = 0 - var/list/alerts = list() // contains /obj/screen/alert only // On /mob so clientless mobs will throw alerts properly + var/list/alerts = list() /// contains [/obj/screen/alert only] // On /mob so clientless mobs will throw alerts properly var/list/screens = list() var/list/client_colours = list() var/hud_type = /datum/hud