Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Non-antag vox nerfs. #9194

Merged
merged 2 commits into from
Aug 15, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion code/game/objects/items/weapons/material/shards.dm
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@
if(ishuman(M))
var/mob/living/carbon/human/H = M

if(H.species.siemens_coefficient<0.5) //Thick skin.
if(H.species.get_siemens_coefficient(H) < 0.5) //Thick skin.
return

if( H.shoes || ( H.wear_suit && (H.wear_suit.body_parts_covered & FEET) ) )
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/weapons/traps.dm
Original file line number Diff line number Diff line change
Expand Up @@ -357,7 +357,7 @@
if(ishuman(L))
var/mob/living/carbon/human/H = L

if(H.species.siemens_coefficient<0.5) //Thick skin.
if(H.species.get_siemens_coefficient(H) < 0.5) //Thick skin.
return

if( H.shoes || ( H.wear_suit && (H.wear_suit.body_parts_covered & FEET) ) )
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/living/carbon/human/human.dm
Original file line number Diff line number Diff line change
Expand Up @@ -310,7 +310,7 @@
if (!def_zone)
def_zone = pick("l_hand", "r_hand")

if(species.siemens_coefficient == -1)
if(species.get_siemens_coefficient(src) == -1)
if(stored_shock_by_ref["\ref[src]"])
stored_shock_by_ref["\ref[src]"] += shock_damage
else
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/living/carbon/human/human_defense.dm
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ emp_act
if (!def_zone)
return 1.0

var/siemens_coefficient = max(species.siemens_coefficient,0)
var/siemens_coefficient = max(species.get_siemens_coefficient(src),0)

var/list/clothing_items = list(head, wear_mask, wear_suit, w_uniform, gloves, shoes) // What all are we checking?
for(var/obj/item/clothing/C in clothing_items)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ Variables you may want to make use of are:
flash_mod = 0.9
sound_mod = 0.9
chemOD_mod = 0.9
siemens_coefficient = 0.9
shock_vulnerability = 0.9

spawn_flags = SPECIES_IS_RESTRICTED
appearance_flags = HAS_SKIN_TONE | HAS_EYE_COLOR
Expand Down Expand Up @@ -199,7 +199,7 @@ Variables you may want to make use of are:

/datum/species/event1/proc/toggle_cloning()
flags ^= NO_SCAN

/datum/species/event1/proc/toggle_defibbing()
flags ^= NO_DEFIB

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
radiation_mod = 0.9
flash_mod = 0.9
sound_mod = 0.9
siemens_coefficient = 0.9
shock_vulnerability = 0.9

spawn_flags = SPECIES_IS_RESTRICTED
appearance_flags = HAS_SKIN_COLOR | HAS_EYE_COLOR | HAS_HAIR_COLOR | HAS_UNDERWEAR
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
light_dam = 2
darksight = 8
has_organ = list()
siemens_coefficient = 0
shock_vulnerability = 0

blood_color = "#CCCCCC"
flesh_color = "#AAAAAA"
Expand All @@ -30,4 +30,4 @@
/datum/species/shadow/handle_death(var/mob/living/carbon/human/H)
spawn(1)
new /obj/effect/decal/cleanable/ash(H.loc)
qdel(H)
qdel(H)
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
flash_mod = 0
chemOD_mod = 0

siemens_coefficient = 0
shock_vulnerability = 0

death_message = "falls over and stops moving!"
knockout_message = "falls over and stops moving!"
Expand All @@ -50,4 +50,4 @@
heat_level_2 = 3000
heat_level_3 = 4000

body_temperature = T20C
body_temperature = T20C
14 changes: 13 additions & 1 deletion code/modules/mob/living/carbon/human/species/outsider/vox.dm
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@

breath_type = "nitrogen"
poison_type = "oxygen"
siemens_coefficient = 0.2
shock_vulnerability = 0.2

flags = NO_SCAN
spawn_flags = SPECIES_CAN_JOIN | SPECIES_IS_WHITELISTED
Expand Down Expand Up @@ -210,3 +210,15 @@
"datum" = body_marking_styles_list["Vox Claws"]
)
return TRUE

// Nerfs some vox aspects if you aren't an antag (ie. raider, merc)
// TODO: raider/non-raider voxforms, if there's some way to do that nicely...
/datum/species/vox/can_shred(mob/living/carbon/human/H, ignore_intent)
if(H.mind && player_is_antag(H.mind))
return ..()
return FALSE

/datum/species/vox/get_siemens_coefficient(var/mob/living/carbon/human/H)
if(H.mind && player_is_antag(H.mind))
return ..()
return 0.65 // resistant, but still able to be tased/shocked to an extent
2 changes: 1 addition & 1 deletion code/modules/mob/living/carbon/human/species/species.dm
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@
// Body/form vars.
var/list/inherent_verbs = list() // Species-specific verbs.
var/has_fine_manipulation = 1 // Can use small items.
var/siemens_coefficient = 1 // The lower, the thicker the skin and better the insulation.
var/shock_vulnerability = 1 // Used as Siemen's coefficient. The lower, the thicker the skin and better the insulation.
var/darksight = 2 // Native darksight distance.
var/flags = 0 // Various specific features.
var/appearance_flags = 0 // Appearance/display related features.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -131,3 +131,6 @@

/datum/species/proc/get_slowdown(var/mob/living/carbon/human/H)
return slowdown

/datum/species/proc/get_siemens_coefficient(var/mob/living/carbon/human/H)
return shock_vulnerability
4 changes: 2 additions & 2 deletions code/modules/mob/living/carbon/human/species/station/golem.dm
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/punch)
flags = NO_PAIN | NO_SCAN | NO_POISON | NO_MINOR_CUT | NO_DEFIB
spawn_flags = SPECIES_IS_RESTRICTED
siemens_coefficient = 0
shock_vulnerability = 0

assisted_langs = list()

Expand All @@ -35,4 +35,4 @@
H.mind.special_role = "Golem"
H.real_name = "adamantine golem ([rand(1, 1000)])"
H.name = H.real_name
..()
..()
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ var/global/datum/species/shapeshifter/promethean/prometheans
body_temperature = T20C // Room temperature

rarity_value = 5
siemens_coefficient = 0.8
shock_vulnerability = 0.8

water_resistance = 0
water_damage_mod = 0.3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -507,7 +507,7 @@
water_movement = -4 //Ignore shallow water
rarity_value = 3
hud_type = /datum/hud_data/diona
siemens_coefficient = 0.3
shock_vulnerability = 0.3
show_ssd = "completely quiescent"
health_hud_intensity = 2.5
item_slowdown_mod = 0.1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
rarity_value = 3

has_fine_manipulation = 0
siemens_coefficient = 0
shock_vulnerability = 0
gluttonous = GLUT_SMALLER

brute_mod = 0.5 // Hardened carapace.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

if(ishuman(L))
var/mob/living/carbon/human/H = L
stun_power *= max(H.species.siemens_coefficient, 0)
stun_power *= max(H.species.get_siemens_coefficient(H), 0)

if(prob(stun_power * 10)) // Try an electric shock.
power_charge = max(0, power_charge - 3)
Expand Down
2 changes: 1 addition & 1 deletion code/modules/power/power.dm
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@
PN.trigger_warning(5)
if(istype(M,/mob/living/carbon/human))
var/mob/living/carbon/human/H = M
if(H.species.siemens_coefficient <= 0)
if(H.species.get_siemens_coefficient(H) <= 0)
return
if(H.gloves)
var/obj/item/clothing/gloves/G = H.gloves
Expand Down