mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-26 06:22:26 +01:00
Tajara Biology Additions: Retro Biopunk Edition (#9990)
This commit is contained in:
@@ -2273,6 +2273,7 @@
|
||||
#include "code\modules\organs\internal\lungs.dm"
|
||||
#include "code\modules\organs\internal\stomach.dm"
|
||||
#include "code\modules\organs\internal\species\diona.dm"
|
||||
#include "code\modules\organs\internal\species\tajara.dm"
|
||||
#include "code\modules\organs\subtypes\augment.dm"
|
||||
#include "code\modules\organs\subtypes\autakh.dm"
|
||||
#include "code\modules\organs\subtypes\diona.dm"
|
||||
|
||||
@@ -585,7 +585,7 @@ var/list/global/slot_flags_enumeration = list(
|
||||
"<span class='danger'>You stab yourself in the [eyes.singular_name] with [src]!</span>" \
|
||||
)
|
||||
|
||||
eyes.damage += rand(3,4)
|
||||
eyes.take_damage(rand(3,4))
|
||||
if(eyes.damage >= eyes.min_bruised_damage)
|
||||
if(M.stat != 2)
|
||||
if(eyes.robotic <= 1) //robot eyes bleeding might be a bit silly
|
||||
|
||||
@@ -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
|
||||
@@ -0,0 +1,9 @@
|
||||
author: Alberyk, Kyres1, TheStriker
|
||||
|
||||
delete-after: True
|
||||
|
||||
changes:
|
||||
- rscadd: "Tajara have a higher nutrition and hydration thresholds and get hungry slower, this is a bit different between subspecies."
|
||||
- rscadd: "Tajara process chemicals a bit slower."
|
||||
- rscadd: "Tajara have their own set of organs with some differences in functions, flavor and icons."
|
||||
- rscadd: "Tajara now have a somewhat proper night vision verb that can be toggled. While it allows the user to see in the darkness, it removes all the color. Being flashed or hurt in the eyes disables it. Tajaran eyes are also bigger and have a higher chance of being hit when attacking the head."
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 19 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 50 KiB |
Reference in New Issue
Block a user