Tajara Biology Additions: Retro Biopunk Edition (#9990)

This commit is contained in:
Alberyk
2020-10-04 15:22:41 -03:00
committed by GitHub
parent d287077763
commit b8b1cd5e8a
10 changed files with 176 additions and 16 deletions
@@ -92,17 +92,11 @@
move_trail = /obj/effect/decal/cleanable/blood/tracks/paw
meat_type = /obj/item/reagent_containers/food/snacks/meat/adhomai
/datum/species/monkey/tajaran/get_random_name()
return "farwa ([rand(100,999)])" // HACK HACK HACK, oh lords of coding please forgive me!
/datum/species/monkey/tajaran/m_sai
name = SPECIES_MONKEY_TAJARA_MSAI
greater_form = SPECIES_TAJARA_MSAI
/datum/species/monkey/tajaran/zhan_khazan
name = SPECIES_MONKEY_TAJARA_ZHAN
greater_form = SPECIES_TAJARA_ZHAN
/datum/species/monkey/skrell
name = SPECIES_MONKEY_SKRELL
short_name = "nea"
@@ -80,6 +80,28 @@
zombie_type = SPECIES_ZOMBIE_TAJARA
has_organ = list(
BP_HEART = /obj/item/organ/internal/heart/tajara,
BP_LUNGS = /obj/item/organ/internal/lungs/tajara,
BP_LIVER = /obj/item/organ/internal/liver/tajara,
BP_KIDNEYS = /obj/item/organ/internal/kidneys/tajara,
BP_STOMACH = /obj/item/organ/internal/stomach/tajara,
BP_BRAIN = /obj/item/organ/internal/brain/tajara,
BP_APPENDIX = /obj/item/organ/internal/appendix/tajara,
BP_EYES = /obj/item/organ/internal/eyes/night
)
stomach_capacity = 6
max_nutrition_factor = 1.2
max_hydration_factor = 1.2
nutrition_loss_factor = 0.8
hydration_loss_factor = 0.8
metabolism_mod = 0.8
meat_type = /obj/item/reagent_containers/food/snacks/meat/adhomai
/datum/species/tajaran/after_equip(var/mob/living/carbon/human/H)
. = ..()
if(H.shoes)
@@ -28,11 +28,17 @@
heat_level_2 = 360 //RaceDefault 380 Default 400
heat_level_3 = 700 //RaceDefault 800 Default 1000
primitive_form = SPECIES_MONKEY_TAJARA_ZHAN
allowed_accents = list(ACCENT_REPUBICLANSIIK, ACCENT_NAZIRASIIK, ACCENT_CREVAN, ACCENT_DASNRRASIIK, ACCENT_HIGHHARRSIIK, ACCENT_LOWHARRSIIK, ACCENT_AMOHDASIIK,
ACCENT_RURALDELVAHHI, ACCENT_NOMADDELVAHHI)
stomach_capacity = 7
max_nutrition_factor = 1.3
max_hydration_factor = 1.3
nutrition_loss_factor = 0.7
hydration_loss_factor = 0.7
/datum/species/tajaran/m_sai
name = SPECIES_TAJARA_MSAI
name_plural = "M'sai Tajaran"
@@ -56,9 +62,14 @@
heat_level_2 = 390 //RaceDefault 380 Default 400
heat_level_3 = 900 //RaceDefault 800 Default 1000
primitive_form = SPECIES_MONKEY_TAJARA_MSAI
default_h_style = "M'sai Ears"
secondary_langs = list(LANGUAGE_SIIK_MAAS, LANGUAGE_SIIK_TAJR, LANGUAGE_SIGN_TAJARA)
allowed_accents = list(ACCENT_REPUBICLANSIIK, ACCENT_NAZIRASIIK, ACCENT_CREVAN, ACCENT_DASNRRASIIK, ACCENT_HIGHHARRSIIK, ACCENT_LOWHARRSIIK, ACCENT_AMOHDASIIK)
max_nutrition_factor = 1.2
max_hydration_factor = 1.2
nutrition_loss_factor = 0.9
hydration_loss_factor = 0.9
@@ -0,0 +1,125 @@
/obj/item/organ/internal/eyes/night
name = "light sensitive eyes"
desc = "A pair of Tajaran eyes accustomed to the low light conditions of Adhomai."
icon_state = "tajaran_eyes"
action_button_name = "Activate Low Light Vision"
relative_size = 8
var/night_vision = FALSE
var/datum/client_color/vision_color = /datum/client_color/monochrome
var/eye_emote = "'s eyes dilate!"
/obj/item/organ/internal/eyes/night/Destroy()
disable_night_vision()
. = ..()
/obj/item/organ/internal/eyes/night/removed(var/mob/living/carbon/human/target)
. = ..()
disable_night_vision()
/obj/item/organ/internal/eyes/night/replaced()
. = ..()
disable_night_vision()
/obj/item/organ/internal/eyes/night/refresh_action_button()
. = ..()
if(.)
action.button_icon_state = "night_eyes"
if(action.button)
action.button.update_icon()
/obj/item/organ/internal/eyes/night/attack_self(var/mob/user)
. = ..()
if(owner.last_special > world.time)
return
if(use_check(user, USE_ALLOW_NON_ADJACENT))
return
if(is_broken())
return
if(status & ORGAN_ROBOT)
return
if(!night_vision)
enable_night_vision()
else
disable_night_vision()
owner.last_special = world.time + 20
/obj/item/organ/internal/eyes/night/take_damage(var/amount, var/silent = 0)
..()
disable_night_vision()
/obj/item/organ/internal/eyes/night/take_internal_damage(var/amount, var/silent = 0)
..()
disable_night_vision()
/obj/item/organ/internal/eyes/night/flash_act()
if(!owner)
return
to_chat(owner, SPAN_WARNING("Your eyes burn with the intense light of the flash!"))
owner.Weaken(5)
disable_night_vision()
owner.last_special = world.time + 100
/obj/item/organ/internal/eyes/night/proc/enable_night_vision()
if(!owner)
return
if(night_vision)
return
var/show_message = TRUE
for(var/obj/item/protection in list(owner.head, owner.wear_mask, owner.glasses))
if((protection && (protection.body_parts_covered & EYES)))
break
show_message = FALSE
if(show_message && eye_emote)
owner.emote("me", 1, eye_emote)
night_vision = TRUE
owner.stop_sight_update = TRUE
owner.see_invisible = SEE_INVISIBLE_NOLIGHTING
owner.add_client_color(vision_color)
/obj/item/organ/internal/eyes/night/proc/disable_night_vision()
if(!owner)
return
if(!night_vision)
return
night_vision = FALSE
owner.stop_sight_update = FALSE
owner.remove_client_color(vision_color)
/obj/item/organ/internal/stomach/tajara
name = "reinforced stomach"
desc = "A Tajara stomach adapted to help the body conserve energy during digestion."
icon_state = "tajaran_stomach"
stomach_volume = 80
/obj/item/organ/internal/lungs/tajara
name = "insulated lungs"
desc = "A pair of Tajaran lungs that help preserve the warmth of the air while breathing."
icon_state = "tajaran_lungs"
/obj/item/organ/internal/liver/tajara
desc = "An alien liver capable of filtering Adhomian toxins and chemicals."
icon_state = "tajaran_liver"
/obj/item/organ/internal/heart/tajara
desc = "A robust heart capable of helping to preserve body temperature through blood circulation."
icon_state = "tajaran_heart"
dead_icon = "tajaran_heart"
/obj/item/organ/internal/kidneys/tajara
desc = "Alien kidneys adapted to the Tajaran physiology."
icon_state = "tajaran_kidneys"
/obj/item/organ/internal/brain/tajara
icon_state = "tajaran_brain"
/obj/item/organ/internal/appendix/tajara
name = "fat reservoir"
icon_state = "tajaran_appendix"
desc = "An Adhomian organ that stores fat and nutrients for the winter."
+2 -4
View File
@@ -12,6 +12,7 @@
var/datum/reagents/metabolism/ingested
var/next_cramp = 0
var/should_process_alcohol = TRUE
var/stomach_volume = 65
/obj/item/organ/internal/stomach/Destroy()
QDEL_NULL(ingested)
@@ -99,8 +100,6 @@
if(is_usable())
ingested.metabolize()
#define STOMACH_VOLUME 65
/obj/item/organ/internal/stomach/process()
..()
if(owner)
@@ -133,7 +132,7 @@
var/effective_volume = ingested.total_volume + alcohol_volume
// Just over the limit, the probability will be low. It rises a lot such that at double ingested it's 64% chance.
var/vomit_probability = (effective_volume / STOMACH_VOLUME) ** 6
var/vomit_probability = (effective_volume / stomach_volume) ** 6
if(prob(vomit_probability))
owner.vomit()
@@ -141,5 +140,4 @@
if(!QDELETED(M))
qdel(M)
#undef STOMACH_VOLUME
#undef PUKE_ACTION_NAME