mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
Various character-related changes (#11111)
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
/datum/species/can_shred(var/mob/living/carbon/human/H, var/ignore_intent)
|
||||
if(!ignore_intent && H.a_intent != I_HURT)
|
||||
return FALSE
|
||||
if(H.get_feralness())
|
||||
return TRUE
|
||||
return ..()
|
||||
@@ -0,0 +1,17 @@
|
||||
/datum/unarmed_attack/punch/chimera //special feral attack that gets stronger as they get angrier. YR3 strain deals slightly more damage, but doesn't cause bleeding
|
||||
damage = 3
|
||||
|
||||
/datum/unarmed_attack/punch/chimera/get_unarmed_damage(var/mob/living/carbon/human/user)
|
||||
return damage + user.get_feralness() / 5
|
||||
|
||||
/datum/unarmed_attack/punch/chimera/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armour,var/attack_damage,var/zone)
|
||||
..()
|
||||
if(user.get_feralness() && !(target == user))
|
||||
var/selfdamage = ((user.get_feralness() / 10)- 15)
|
||||
if(selfdamage > 0)
|
||||
var/selfdamagezone = null
|
||||
if (user.hand)
|
||||
selfdamagezone = pick(BP_L_ARM, BP_L_HAND)
|
||||
else
|
||||
selfdamagezone = pick(BP_R_ARM, BP_R_HAND)
|
||||
user.apply_damage(selfdamage, BRUTE, selfdamagezone, 0, 0, sharp=FALSE, edge=FALSE)
|
||||
@@ -76,3 +76,15 @@
|
||||
name = "Carbon Dioxide Breather"
|
||||
desc = "You breathe carbon dioxide instead of oxygen, much like a plant. Oxygen is not poisonous to you."
|
||||
var_changes = list("breath_type" = GAS_CO2, "exhale_type" = GAS_O2, "ideal_air_type" = /datum/gas_mixture/belly_air/carbon_dioxide_breather)
|
||||
|
||||
/datum/trait/negative/synth_pain
|
||||
name = "Obligate Pain Simulation"
|
||||
desc = "Due to a structural flaw, hard-coding, or other inherent weakness, your body can feel pain, and you can't turn it off."
|
||||
cost = -4
|
||||
custom_only = FALSE
|
||||
can_take = SYNTHETICS
|
||||
excludes = list(/datum/trait/neutral/synth_cosmetic_pain)
|
||||
|
||||
/datum/trait/negative/synth_pain/apply(datum/species/S, mob/living/carbon/human/H, trait_prefs)
|
||||
H.synth_cosmetic_pain = TRUE
|
||||
. = ..()
|
||||
|
||||
@@ -16,3 +16,34 @@
|
||||
/datum/trait/neutral/hide/apply(var/datum/species/S,var/mob/living/carbon/human/H)
|
||||
..()
|
||||
add_verb(H,/mob/living/proc/hide) //CHOMPEdit TGPanel
|
||||
|
||||
/datum/trait/neutral/xenochimera_YR3
|
||||
sort = TRAIT_SORT_SPECIES
|
||||
allowed_species = list(SPECIES_XENOCHIMERA)
|
||||
name = "Xenochimera: YR3 strain"
|
||||
desc = "You're a xenochimera formed of a novel strain of the Roanoke's disease. Compared \
|
||||
to a normal xenochimera, you're far slower, hit harder, and have blunter claws. \
|
||||
The virus is adapted to a hotter environment, and you're resistant to burns and heat. \
|
||||
A strange quirk of the infection results in your body readily consuming nanotech"
|
||||
cost = 0
|
||||
category = 0
|
||||
custom_only = FALSE
|
||||
special_env = TRUE
|
||||
excludes = list(/datum/trait/negative/speed_slow_plus, /datum/trait/negative/speed_slow, /datum/trait/neutral/hotadapt, /datum/trait/neutral/coldadapt)
|
||||
var_changes = list("slowdown" = 1, "burn_mod" = 0.7, "unarmed_types" = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/punch/chimera, /datum/unarmed_attack/bite/sharp), "heat_level_1" = 420, "heat_level_2" = 480, "heat_level_3" = 1100, "breath_heat_level_1" = 450, "breath_heat_level_2" = 530, "breath_heat_level_3" = 1500, "heat_discomfort_level" = 390) //xenochim are already tank
|
||||
|
||||
/datum/trait/neutral/xenochimera_YR3/handle_environment_special(mob/living/carbon/human/H)
|
||||
var/list/nanitereagents = list(REAGENT_HEALINGNANITES, REAGENT_SHREDDINGNANITES, REAGENT_IRRADIATEDNANITES, REAGENT_NEUROPHAGENANITES, REAGENT_NIFREPAIRNANITES)
|
||||
for(var/reagent in nanitereagents)
|
||||
if(H.reagents.has_reagent(reagent))
|
||||
H.adjust_nutrition(H.reagents.get_reagent_amount(reagent))
|
||||
H.reagents.del_reagent(reagent)
|
||||
if(H.nif)
|
||||
var/obj/item/nif/implant = H.nif
|
||||
implant.wear(5)
|
||||
H.adjust_nutrition(10)
|
||||
if(!implant.durability)
|
||||
implant.unimplant(H)
|
||||
qdel_null(implant)
|
||||
H.adjust_nutrition(100)
|
||||
to_chat(H, span_critical("Your NIF lets out one last sputter as it finally gives out"))
|
||||
|
||||
@@ -1,23 +1,29 @@
|
||||
var/const/YR3_monitor_styles = "blank=YR3_blank;\
|
||||
orangefoureyes=YR3_foureyes_orange;\
|
||||
orangebigeyes=YR3_bigeyes_orange;\
|
||||
orangemonoeye=YR3_monoeye_orange;\
|
||||
greenfoureyes=YR3_foureyes_green;\
|
||||
greenbigeyes=YR3_bigeyes_green;\
|
||||
greenmonoeye=YR3_monoeye_green;\
|
||||
cyanfoureyes=YR3_foureyes_cyan;\
|
||||
cyanbigeyes=YR3_bigeyes_cyan;\
|
||||
cyanmonoeye=YR3_monoeye_cyan;\
|
||||
redfoureyes=YR3_foureyes_red;\
|
||||
redbigeyes=YR3_bigeyes_red;\
|
||||
redmonoeye=YR3_monoeye_red;\
|
||||
pinkfoureyes=YR3_foureyes_pink;\
|
||||
pinkbigeyes=YR3_bigeyes_pink;\
|
||||
pinkmonoeye=YR3_monoeye_pink;\
|
||||
IF_ICON_COLOR_IS_WRONG_TURN_YOUR_EYE_COLOR_TO_BLACK=YR3_blank;\
|
||||
whitefoureyes=YR3_foureyes_white;\
|
||||
whitebigeyes=YR3_bigeyes_white;\
|
||||
whitemonoeye=YR3_monoeye_white;\
|
||||
whitemonoeyenopupil=YR3_blindeye_white;\
|
||||
whiteeyes=YR3_eyes_white;\
|
||||
whiteloading=YR3_loading_white;\
|
||||
orangefoureyes=YR3_foureyes_orange;\
|
||||
orangebigeyes=YR3_bigeyes_orange;\
|
||||
orangeeyes=YR3_eyes_orange;\
|
||||
orangeloading=YR3_loading_orange;\
|
||||
greenfoureyes=YR3_foureyes_green;\
|
||||
greenbigeyes=YR3_bigeyes_green;\
|
||||
greeneyes=YR3_eyes_green;\
|
||||
greenloading=YR3_loading_green;\
|
||||
cyanfoureyes=YR3_foureyes_cyan;\
|
||||
cyanbigeyes=YR3_bigeyes_cyan;\
|
||||
cyaneyes=YR3_eyes_cyan;\
|
||||
cyanloading=YR3_loading_cyan;\
|
||||
pinkfoureyes=YR3_foureyes_pink;\
|
||||
pinkbigeyes=YR3_bigeyes_pink;\
|
||||
pinkeyes=YR3_eyes_pink;\
|
||||
pinkloading=YR3_loading_pink;\
|
||||
redfoureyes=YR3_foureyes_red;\
|
||||
redbigeyes=YR3_bigeyes_red;\
|
||||
redeyes=YR3_eyes_red;\
|
||||
redloading=YR3_loading_red;\
|
||||
bluescreen=YR3_bsod;\
|
||||
interrogative=YR3_interrogative;\
|
||||
alarm=YR3_danger;\
|
||||
@@ -25,16 +31,13 @@ var/const/YR3_monitor_styles = "blank=YR3_blank;\
|
||||
surprise=YR3_surprise;\
|
||||
heart=YR3_heart;\
|
||||
query=YR3_query;\
|
||||
loading=YR3_computing;\
|
||||
smiley=YR3_smiley;\
|
||||
sadface=YR3_sadface;\
|
||||
skull=YR3_skull;\
|
||||
dangerskull=YR3_skulldanger;\
|
||||
endo=YR3_safebar;\
|
||||
processing1=YR3_processing;\
|
||||
processing2=YR3_assimilating;\
|
||||
processed=YR3_processed;\
|
||||
pskull=YR3_pskull"
|
||||
cracked=YR3_cracked;\
|
||||
broken=YR3_broken;\
|
||||
containmentbreach=YR3_crackedopenbloody"
|
||||
|
||||
/datum/robolimb/enviroshell
|
||||
company = "YR3 Enviroshell"
|
||||
|
||||
Reference in New Issue
Block a user