Files
WildkinsandGitHub 3d183d7262 Begin, the Lag Wars Have (#21839)
<img width="700" height="848" alt="image"
src="https://github.com/user-attachments/assets/e0db50af-35db-43c7-b78e-6c1ea5ac569c"
/>

you take a tiny little two year LOA and this happens
this PR hits some large lag culprits:
- UpdateOverlays() getting spammed by human/update_icon. This was 0.85%
of server CPU time during the event. Doesn't sound like a whole lot but
it's insane. 99% of it was caused by sloppy duplicate calls of
update_icon in set_dir (as well as update icon itself!). Refactored to
stop that
- Makes Follow menu update manually, which cuts down on the 2.8 million
REF() calls it made during the event. This was ~1% of CPU time including
ui_data as well.
- Gets rid of a bunch of random runtimes and some lighting-related
harddels.
- NanoUIs now clean themselves up when their owner qdels rather than
forcing the owner to do REF(src) and close all matching UIs. saves us
~0.1% server cpu time! wowza!
2026-02-09 23:20:48 +00:00

137 lines
4.0 KiB
Plaintext

/mob/living/carbon/human
light_system = MOVABLE_LIGHT
blocks_emissive = EMISSIVE_BLOCK_NONE
// Tail Style
var/tail_style = null
//Hair colour and style
var/r_hair = 0
var/g_hair = 0
var/b_hair = 0
var/h_style = "Bald"
//Hair gradient color and style
var/r_grad = 0
var/g_grad = 0
var/b_grad = 0
var/g_style = "None"
//Facial hair colour and style
var/r_facial = 0
var/g_facial = 0
var/b_facial = 0
var/f_style = "Shaved"
//Eye colour
var/r_eyes = 0
var/g_eyes = 0
var/b_eyes = 0
var/s_tone = 0 //Skin tone
//Skin colour
var/r_skin = 0
var/g_skin = 0
var/b_skin = 0
var/size_multiplier = 1 //multiplier for the mob's icon size
var/damage_multiplier = 1 //multiplies melee combat damage
var/default_lighting_alpha = LIGHTING_PLANE_ALPHA_VISIBLE
var/lipstick_color = null //no lipstick by default
var/age = 30 //Player's age (pure fluff)
var/b_type = "A+" //Player's bloodtype
var/list/all_underwear = list()
var/list/all_underwear_metadata = list()
var/list/hide_underwear = list()
var/backbag = OUTFIT_BACKPACK //Which backpack type the player has chosen. Nothing, Satchel or Backpack.
var/backbag_style = OUTFIT_JOBSPECIFIC
var/backbag_color = OUTFIT_NOTHING
var/backbag_strap = TRUE
var/pda_choice = OUTFIT_TAB_PDA
var/headset_choice = OUTFIT_HEADSET
var/last_chew = 0 // Used for hand chewing
// General information
var/citizenship = ""
var/employer_faction = ""
var/religion = ""
//Equipment slots
var/obj/item/wear_suit = null
var/obj/item/w_uniform = null
var/obj/item/shoes = null
var/obj/item/belt = null
var/obj/item/gloves = null
var/obj/item/glasses = null
var/obj/item/head = null
var/obj/item/l_ear = null
var/obj/item/r_ear = null
var/obj/item/wear_id = null
var/obj/item/r_store = null
var/obj/item/l_store = null
var/obj/item/s_store = null
var/obj/item/wrists = null
var/obj/item/pants = null
var/icon/stand_icon = null
var/icon/lying_icon = null
var/voice = "" //Instead of new say code calling GetVoice() over and over and over, we're just going to ask this variable, which gets updated in Life()
var/miming = null //Toggle for the mime's abilities.
var/special_voice = "" // For changing our voice. Used by a symptom.
var/last_dam = -1 //Used for determining if we need to process all organs or just some or even none.
var/list/bad_external_organs = list()// organs we check until they are good.
var/list/bad_internal_organs = list()//A list of internal organs which are damaged.
//This isnt used for regular processing, since all internal organs are regularly processed anyway, but it can be used as a shortlist for calls that only care about damaged organs
var/xylophone = 0 //For the spoooooooky xylophone cooldown
var/mob/remoteview_target = null
var/hand_blood_color
var/list/flavor_texts = list()
var/list/gunshot_residue
var/pulling_punches // Are you trying not to hurt your opponent?
mob_bump_flag = HUMAN
mob_push_flags = ~HEAVY
mob_swap_flags = ~HEAVY
var/flash_protection = 0 // Total level of flash protection
var/equipment_tint_total = 0 // Total level of visualy impairing items
var/equipment_darkness_modifier // Darkvision modifier from equipped items
var/equipment_vision_flags // Extra vision flags from equipped items
var/equipment_see_invis // Max see invibility level granted by equipped items
var/equipment_prescription // Eye prescription granted by equipped items
var/list/equipment_overlays = list() // Extra overlays from equipped items
var/is_noisy = FALSE // if TRUE, movement should make sound.
var/bodyfall_sound = SFX_BODYFALL
var/footsound = SFX_FOOTSTEP_BLANK
var/last_x = 0
var/last_y = 0
var/cached_bodytype
var/stance_damage = 0 //Whether this mob's ability to stand has been affected
var/datum/unarmed_attack/default_attack //default unarmed attack
var/datum/martial_art/primary_martial_art = null
var/list/datum/martial_art/known_martial_arts = null
var/triage_tag = TRIAGE_NONE
var/lobotomized = FALSE //additional check for isAdvancedToolUser that can be set manually by things