diff --git a/code/modules/mob/living/carbon/human/species/shadekin/shadekin_zz_ch.dm b/code/modules/mob/living/carbon/human/species/shadekin/shadekin_zz_ch.dm index 3df0468bf7..46ac0e9197 100644 --- a/code/modules/mob/living/carbon/human/species/shadekin/shadekin_zz_ch.dm +++ b/code/modules/mob/living/carbon/human/species/shadekin/shadekin_zz_ch.dm @@ -6,6 +6,8 @@ /datum/power/shadekin/create_shade) shadekin_ability_datums = list() var/kin_type + var/energy_light = 0.25 + var/energy_dark = 0.75 /datum/species/shadekin/handle_shade(var/mob/living/carbon/human/H) //Shifted kin don't gain/lose energy (and save time if we're at the cap) @@ -29,41 +31,11 @@ H.adjustFireLoss((-0.10)*darkness) H.adjustBruteLoss((-0.10)*darkness) H.adjustToxLoss((-0.10)*darkness) - dark_gains = 0.75 + //energy_dark and energy_light are set by the shadekin eye traits. + //These are balanced around their playstyles and 2 planned new aggressive abilities + dark_gains = energy_dark else - dark_gains = 0.25 - -//HANDLING FOR KIN EYE TRAITS - if(kin_type) - switch(kin_type) - if(BLUE_EYES) - dark_gains = 0.5 - if(RED_EYES) - if(is_dark) - dark_gains = 0.1 - else - dark_gains = -1 - if(PURPLE_EYES) - if(is_dark) - dark_gains = 1 - else - dark_gains = -0.5 - if(YELLOW_EYES) - if(is_dark) - dark_gains = 3 - else - dark_gains = -2 - if(GREEN_EYES) - if(is_dark) - dark_gains = 2 - else - dark_gains = 0.125 - if(ORANGE_EYES) - if(is_dark) - dark_gains = 0.25 - else - dark_gains = -0.5 -//These are balanced around their playstyles and 2 planned new aggressive abilities + dark_gains = energy_light set_energy(H, get_energy(H) + dark_gains) @@ -73,49 +45,63 @@ /datum/trait/kintype allowed_species = list(SPECIES_SHADEKIN) var/color = BLUE_EYES + name = "Shadekin Blue Adaptation" desc = "Makes your shadekin adapted as a Blue eyed kin! This gives you decreased energy regeneration in darkness, decreased regeneration in the light amd unchanged health!" cost = 0 var_changes = list( "total_health" = 100, + "energy_light" = 0.5, + "energy_dark" = 0.5, "unarmed_types" = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick,/datum/unarmed_attack/shadekinharmbap)) custom_only = FALSE /datum/trait/kintype/red - name = "Shadekin Red Adaption" + name = "Shadekin Red Adaptation" color = RED_EYES desc = "Makes your shadekin adapted as a Red eyed kin! This gives you minimal energy regeneration in darkness, moderate regeneration in the light amd increased health!" var_changes = list( "total_health" = 200, + "energy_light" = -1, + "energy_dark" = 0.1, "unarmed_types" = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick,/datum/unarmed_attack/shadekinharmbap)) /datum/trait/kintype/purple - name = "Shadekin Purple Adaption" + name = "Shadekin Purple Adaptation" color = PURPLE_EYES desc = "Makes your shadekin adapted as a Purple eyed kin! This gives you moderate energy regeneration in darkness, minor degeneration in the light amd increased health!" var_changes = list( "total_health" = 150, + "energy_light" = 1, + "energy_dark" = -0.5, "unarmed_types" = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick,/datum/unarmed_attack/shadekinharmbap)) /datum/trait/kintype/yellow - name = "Shadekin Yellow Adaption" + name = "Shadekin Yellow Adaptation" color = YELLOW_EYES desc = "Makes your shadekin adapted as a Yellow eyed kin! This gives you the highest energy regeneration in darkness, high degeneration in the light amd unchanged health!" var_changes = list( "total_health" = 100, + "energy_light" = 3, + "energy_dark" = -2, "unarmed_types" = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick,/datum/unarmed_attack/shadekinharmbap)) /datum/trait/kintype/green - name = "Shadekin Green Adaption" + name = "Shadekin Green Adaptation" color = GREEN_EYES desc = "Makes your shadekin adapted as a Green eyed kin! This gives you high energy regeneration in darkness, minor regeneration in the light amd unchanged health!" var_changes = list( "total_health" = 100, + "energy_light" = 2, + "energy_dark" = 0.125, "unarmed_types" = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick,/datum/unarmed_attack/shadekinharmbap)) /datum/trait/kintype/orange - name = "Shadekin Orange Adaption" + name = "Shadekin Orange Adaptation" color = ORANGE_EYES desc = "Makes your shadekin adapted as a Orange eyed kin! This gives you minor energy regeneration in darkness, modeate degeneration in the light amd increased health!" var_changes = list( "total_health" = 175, + "energy_light" = 0.25, + "energy_dark" = -0.5, "unarmed_types" = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick,/datum/unarmed_attack/shadekinharmbap)) /datum/trait/kintype/apply(var/datum/species/shadekin/S,var/mob/living/carbon/human/H) - if(color) + if(color && istype(S)) //Sanity check to see if they're actually a shadekin, otherwise just don't do anything. They shouldn't be able to spawn with the trait. S.kin_type = color + ..(S,H) switch(color) if(BLUE_EYES) H.shapeshifter_set_eye_color("0000FF") diff --git a/code/modules/mob/new_player/new_player_vr.dm b/code/modules/mob/new_player/new_player_vr.dm index a317e9a0d9..640e0df388 100644 --- a/code/modules/mob/new_player/new_player_vr.dm +++ b/code/modules/mob/new_player/new_player_vr.dm @@ -62,6 +62,18 @@ pass = FALSE to_chat(src,"Your custom species is not playable. Reconfigure your traits on the VORE tab.") + //CHOMP Addition Begin + if(client?.prefs?.neu_traits) + for(var/T in client.prefs.neu_traits) + var/datum/trait/instance = all_traits[T] + if(client.prefs.species in instance.banned_species) + pass = FALSE + to_chat(src,"One of your traits, [instance.name], is not available for your species! Please fix this conflict and then try again.") + else if(LAZYLEN(instance.allowed_species) && !(client.prefs.species in instance.allowed_species)) //We use else if here, so as to prevent getting two errors for one trait. + pass = FALSE + to_chat(src,"One of your traits, [instance.name], is not available for your species! Please fix this conflict and then try again.") + //CHOMP Addition End + //Final popup notice if (!pass) spawn()