mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-19 20:06:28 +01:00
Tajara Biology Additions: Retro Biopunk Edition (#9990)
This commit is contained in:
@@ -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."
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user