//Damage things //TODO: merge these down to reduce on defines //Way to waste perfectly good damagetype names (BRUTE) on this... If you were really worried about case sensitivity, you could have just used lowertext(damagetype) in the proc... #define CUT "cut" #define BRUISE "bruise" #define BRUTE "brute" #define BURN "fire" #define TOX "tox" #define OXY "oxy" #define CLONE "clone" #define STAMINA "stamina" #define BRAIN "brain" #define STUN "stun" #define WEAKEN "weaken" #define PARALYZE "paralize" #define IRRADIATE "irradiate" #define STUTTER "stutter" #define SLUR "slur" #define EYE_BLUR "eye_blur" #define DROWSY "drowsy" #define JITTER "jitter" //I hate adding defines like this but I'd much rather deal with bitflags than lists and string searches #define BRUTELOSS 1 #define FIRELOSS 2 #define TOXLOSS 4 #define OXYLOSS 8 #define SHAME 16 //Bitflags defining which status effects could be or are inflicted on a mob #define CANSTUN 1 #define CANWEAKEN 2 #define CANPARALYSE 4 #define CANPUSH 8 #define PASSEMOTES 16 //Mob has a cortical borer or holders inside of it that need to see emotes. #define GOTTAGOFAST 32 #define GOTTAGOFAST_METH 64 #define IGNORESLOWDOWN 128 #define GODMODE 4096 #define FAKEDEATH 8192 //Replaces stuff like changeling.changeling_fakedeath #define XENO_HOST 16384 //Tracks whether we're gonna be a baby alien's mummy. //Grab levels #define GRAB_PASSIVE 1 #define GRAB_AGGRESSIVE 2 #define GRAB_NECK 3 #define GRAB_UPGRADING 4 #define GRAB_KILL 5 //Hostile Mob AI Status #define AI_ON 1 #define AI_IDLE 2 #define AI_OFF 3 //Attack types for checking shields/hit reactions #define MELEE_ATTACK 1 #define UNARMED_ATTACK 2 #define PROJECTILE_ATTACK 3 #define THROWN_PROJECTILE_ATTACK 4 #define LEAP_ATTACK 5 //attack visual effects #define ATTACK_EFFECT_PUNCH "punch" #define ATTACK_EFFECT_KICK "kick" #define ATTACK_EFFECT_SMASH "smash" #define ATTACK_EFFECT_CLAW "claw" #define ATTACK_EFFECT_DISARM "disarm" #define ATTACK_EFFECT_BITE "bite" #define ATTACK_EFFECT_MECHFIRE "mech_fire" #define ATTACK_EFFECT_MECHTOXIN "mech_toxin" #define ATTACK_EFFECT_BOOP "boop" //Honk //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) //Gun Stuff #define SAWN_INTACT 0 #define SAWN_OFF 1 #define WEAPON_LIGHT 0 #define WEAPON_MEDIUM 1 #define WEAPON_HEAVY 2 #define EXPLODE_NONE 0 //Don't even ask me why we need this. #define EXPLODE_DEVASTATE 1 #define EXPLODE_HEAVY 2 #define EXPLODE_LIGHT 3 #define EMP_HEAVY 1 #define EMP_LIGHT 2