This commit is contained in:
CygnusB
2020-12-01 18:09:00 -03:00
parent ec85829dca
commit ad8a067015
99 changed files with 6181 additions and 36 deletions
+3
View File
@@ -35,6 +35,9 @@
if(bleed_rate < 0)
bleed_rate = 0
if(HAS_TRAIT(src, TRAIT_NOMARROW)) //Bloodsuckers don't need to be here.
return
if(bodytemperature >= TCRYO && !(HAS_TRAIT(src, TRAIT_NOCLONE))) //cryosleep or husked people do not pump the blood.
@@ -64,6 +64,8 @@
/mob/living/carbon/adjustBruteLoss(amount, updating_health = TRUE, forced = FALSE)
if (!forced && amount < 0 && HAS_TRAIT(src,TRAIT_NONATURALHEAL))
return FALSE
if(!forced && (status_flags & GODMODE))
return FALSE
if(amount > 0)
@@ -73,6 +75,8 @@
return amount
/mob/living/carbon/adjustFireLoss(amount, updating_health = TRUE, forced = FALSE)
if (!forced && amount < 0 && HAS_TRAIT(src,TRAIT_NONATURALHEAL)) //Vamps don't heal naturally.
return FALSE
if(!forced && (status_flags & GODMODE))
return FALSE
if(amount > 0)
@@ -16,6 +16,13 @@
. = list("<span class='info'>*---------*\nThis is <EM>[!obscure_name ? name : "Unknown"]</EM>!")
var/vampDesc = ReturnVampExamine(user) // Vamps recognize the names of other vamps.
var/vassDesc = ReturnVassalExamine(user) // Vassals recognize each other's marks.
if (vampDesc != "") // If we don't do it this way, we add a blank space to the string...something to do with this --> . += ""
. += vampDesc
if (vassDesc != "")
. += vassDesc
var/list/obscured = check_obscured_slots()
var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE))
@@ -252,7 +259,7 @@
if(DISGUST_LEVEL_DISGUSTED to INFINITY)
msg += "[t_He] look[p_s()] extremely disgusted.\n"
if(blood_volume < (BLOOD_VOLUME_SAFE*blood_ratio))
if(ShowAsPaleExamine())
msg += "[t_He] [t_has] pale skin.\n"
if(bleedsuppress)
@@ -1222,6 +1222,8 @@ GLOBAL_LIST_EMPTY(roundstart_races)
////////
/datum/species/proc/handle_digestion(mob/living/carbon/human/H)
if(HAS_TRAIT(src, TRAIT_NOHUNGER))
return //hunger is for BABIES
//The fucking TRAIT_FAT mutation is the dumbest shit ever. It makes the code so difficult to work with
if(HAS_TRAIT(H, TRAIT_FAT))//I share your pain, past coder.
@@ -44,7 +44,7 @@
C.faction |= "slime"
/datum/species/jelly/spec_life(mob/living/carbon/human/H)
if(H.stat == DEAD) //can't farm slime jelly from a dead slime/jelly person indefinitely
if(H.stat == DEAD || HAS_TRAIT(H, TRAIT_NOMARROW)) //can't farm slime jelly from a dead slime/jelly person indefinitely, and no regeneration for vampires
return
if(!H.blood_volume)
H.blood_volume += 5
@@ -177,6 +177,8 @@
bodies = old_species.bodies
/datum/species/jelly/slime/spec_life(mob/living/carbon/human/H)
if((HAS_TRAIT(H, TRAIT_NOMARROW)))
return
if(H.blood_volume >= BLOOD_VOLUME_SLIME_SPLIT)
if(prob(5))
to_chat(H, "<span class='notice'>You feel very bloated!</span>")
+3
View File
@@ -673,6 +673,9 @@ GLOBAL_LIST_INIT(ballmer_windows_me_msg, list("Yo man, what if, we like, uh, put
//used in human and monkey handle_environment()
/mob/living/carbon/proc/natural_bodytemperature_stabilization()
if (HAS_TRAIT(src, TRAIT_COLDBLOODED))
return 0 //Return 0 as your natural temperature. Species proc handle_environment() will adjust your temperature based on this.
var/body_temperature_difference = BODYTEMP_NORMAL - bodytemperature
switch(bodytemperature)
if(-INFINITY to BODYTEMP_COLD_DAMAGE_LIMIT) //Cold damage limit is 50 below the default, the temperature where you start to feel effects.
+3
View File
@@ -4,4 +4,7 @@
var/datum/antagonist/rev/rev = mind.has_antag_datum(/datum/antagonist/rev)
if(rev)
rev.remove_revolutionary(TRUE)
var/datum/antagonist/bloodsucker/V = mind.has_antag_datum(/datum/antagonist/bloodsucker)
if(V)
mind.remove_antag_datum(V)
..()
@@ -28,6 +28,7 @@
unsuitable_atmos_damage = 0
minbodytemp = 0
maxbodytemp = 100000
blood_volume = 0
/mob/living/simple_animal/astral/death()
icon_state = "shade_dead"
@@ -14,6 +14,7 @@
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
maxbodytemp = INFINITY
minbodytemp = 0
blood_volume = 0
has_unlimited_silicon_privilege = 1
sentience_type = SENTIENCE_ARTIFICIAL
status_flags = NONE //no default canpush
@@ -33,6 +33,7 @@
initial_language_holder = /datum/language_holder/construct
deathmessage = "collapses in a shattered heap."
hud_type = /datum/hud/constructs
blood_volume = 0
var/list/construct_spells = list()
var/playstyle_string = "<span class='big bold'>You are a generic construct!</span><b> Your job is to not exist, and you should probably adminhelp this.</b>"
var/master = null
@@ -3,6 +3,7 @@
desc = "This station is just crawling with bugs."
icon_state = "cockroach"
icon_dead = "cockroach"
blood_volume = 50
health = 1
maxHealth = 1
turns_per_move = 5
@@ -8,6 +8,7 @@
speak_emote = list("clicks")
emote_hear = list("clicks.")
emote_see = list("clacks.")
blood_volume = 350
speak_chance = 1
turns_per_move = 5
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 1)
@@ -10,6 +10,7 @@
emote_see = list("runs in a circle.", "shakes.")
speak_chance = 1
turns_per_move = 5
blood_volume = 250
see_in_dark = 6
maxHealth = 5
health = 5
@@ -20,6 +20,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
icon_living = "magicOrange"
icon_dead = "magicOrange"
speed = 0
blood_volume = 0
a_intent = INTENT_HARM
stop_automated_movement = 1
movement_type = FLYING // Immunity to chasms and landmines, etc.
@@ -19,6 +19,7 @@
spacewalk = TRUE
stat_attack = UNCONSCIOUS
robust_searching = 1
blood_volume = 0
harm_intent_damage = 10
obj_damage = 50
@@ -42,4 +43,4 @@
var/mob/living/carbon/C = target
C.Knockdown(60)
C.visible_message("<span class='danger'>\The [src] knocks down \the [C]!</span>", \
"<span class='userdanger'>\The [src] knocks you down!</span>")
"<span class='userdanger'>\The [src] knocks you down!</span>")
@@ -28,6 +28,7 @@
gold_core_spawnable = HOSTILE_SPAWN
del_on_death = 1
loot = list(/obj/effect/decal/cleanable/robot_debris)
blood_volume = 0
do_footstep = TRUE
@@ -50,6 +50,7 @@ Difficulty: Normal
armour_penetration = 75
melee_damage_lower = 15
melee_damage_upper = 20
blood_volume = 0
speed = 1
move_to_delay = 11
ranged = 1
@@ -22,6 +22,7 @@
environment_smash = ENVIRONMENT_SMASH_NONE
sentience_type = SENTIENCE_BOSS
layer = LARGE_MOB_LAYER
blood_volume = 0
var/doing_move_loop = FALSE
var/mob/living/set_target
var/timerid
@@ -6,6 +6,7 @@
icon_dead = "bat_dead"
icon_gib = "bat_dead"
turns_per_move = 1
blood_volume = 250
response_help = "brushes aside"
response_disarm = "flails at"
response_harm = "hits"
@@ -31,6 +31,7 @@
movement_type = FLYING
pressure_resistance = 300
gold_core_spawnable = NO_SPAWN //too spooky for science
blood_volume = 0
var/ghost_hair_style
var/ghost_hair_color
var/mutable_appearance/ghost_hair
@@ -12,6 +12,7 @@
emote_see = list("rattles")
a_intent = INTENT_HARM
maxHealth = 40
blood_volume = 0
health = 40
speed = 1
harm_intent_damage = 5
@@ -18,6 +18,7 @@
maxHealth = 50000
health = 50000
healable = 0
blood_volume = 0
harm_intent_damage = 10
obj_damage = 100
@@ -13,6 +13,7 @@
response_disarm = "shoves"
response_harm = "hits"
speed = 0
blood_volume = 0
stat_attack = UNCONSCIOUS
robust_searching = 1
environment_smash = ENVIRONMENT_SMASH_NONE
@@ -31,6 +31,7 @@
loot = list(/obj/item/ectoplasm)
del_on_death = TRUE
initial_language_holder = /datum/language_holder/construct
blood_volume = 0
/mob/living/simple_animal/shade/death()
deathmessage = "lets out a contented sigh as [p_their()] form unwinds."
@@ -4,7 +4,8 @@
health = 20
maxHealth = 20
gender = PLURAL //placeholder
blood_volume = 550 //How much blud it has for bloodsucking
status_flags = CANPUSH
var/icon_living = ""
@@ -5,6 +5,7 @@
pass_flags = PASSTABLE
ventcrawler = VENTCRAWLER_ALWAYS
gender = NEUTER
blood_volume = 0 //until someone reworks for them to have slime jelly
var/is_adult = 0
var/docile = 0
faction = list("slime","neutral")
+3
View File
@@ -367,6 +367,9 @@
if(m_intent == MOVE_INTENT_RUN)
m_intent = MOVE_INTENT_WALK
else
if (HAS_TRAIT(src,TRAIT_NORUNNING)) // FULPSTATION 7/10/19 So you can't run during fortitude.
to_chat(src, "You find yourself unable to run.")
return FALSE
m_intent = MOVE_INTENT_RUN
if(hud_used && hud_used.static_inventory)
for(var/obj/screen/mov_intent/selector in hud_used.static_inventory)