mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-22 20:57:23 +01:00
[WIP] Trait Tweaks - Heavyweight + Combat Heavyweight, etc
Heavyweight's effect has been moved to a neutral trait of the same name. Combat Heavyweight replaces Heavyweight, offers reduction on all incoming stuns + resistance to knockdown effects. Trait Changes requested by Cyrus: Pain Intolerance + Intolerance High changed to cost 2 + 3 respectively. Big + Giant Mouth are now neutral. They're literally just "I can eat food faster haha." Other Changes: Feedback on AI/Mob mech punch if the player or mob is resistant to the effect of the punch. More TBD.
This commit is contained in:
@@ -302,6 +302,32 @@
|
||||
halloss = 0
|
||||
else
|
||||
..()
|
||||
|
||||
/mob/living/carbon/human/Stun(var/amount)
|
||||
if(amount > 0) //only multiply it by the mod if it's positive, or else it takes longer to fade too!
|
||||
amount = amount*species.stun_mod
|
||||
..(amount)
|
||||
|
||||
/mob/living/carbon/human/SetStunned(var/amount)
|
||||
..()
|
||||
|
||||
/mob/living/carbon/human/AdjustStunned(var/amount)
|
||||
if(amount > 0) // Only multiply it if positive.
|
||||
amount = amount*species.stun_mod
|
||||
..(amount)
|
||||
|
||||
/mob/living/carbon/human/Weaken(var/amount)
|
||||
if(amount > 0) //only multiply it by the mod if it's positive, or else it takes longer to fade too!
|
||||
amount = amount*species.weaken_mod
|
||||
..(amount)
|
||||
|
||||
/mob/living/carbon/human/SetWeakened(var/amount)
|
||||
..()
|
||||
|
||||
/mob/living/carbon/human/AdjustWeakened(var/amount)
|
||||
if(amount > 0) // Only multiply it if positive.
|
||||
amount = amount*species.weaken_mod
|
||||
..(amount)
|
||||
|
||||
/mob/living/carbon/human/getToxLoss()
|
||||
if(species.flags & NO_POISON)
|
||||
|
||||
@@ -109,6 +109,9 @@
|
||||
var/chemOD_mod = 1 // Damage modifier for overdose; higher = more damage from ODs
|
||||
var/alcohol_mod = 1 // Multiplier to alcohol strength; 0.5 = half, 0 = no effect at all, 2 = double, etc.
|
||||
var/pain_mod = 1 // Multiplier to pain effects; 0.5 = half, 0 = no effect (equal to NO_PAIN, really), 2 = double, etc.
|
||||
var/stun_mod = 1 // Multiplier to stun effects; 0.5 = half, - = no effect (immune), 2 = double, etc.
|
||||
var/weaken_mod = 1 // Multiplier to weakness effects; 0.5 = half, - = no effect (immune), 2 = double, etc.
|
||||
// Stuns + Weakens will be rounded to the nearest whole #. If you set 0.5 mod, on a base stun of 3, the return will be 1.5, which rounds to 1. Be careful.
|
||||
var/spice_mod = 1 // Multiplier to spice/capsaicin/frostoil effects; 0.5 = half, 0 = no effect (immunity), 2 = double, etc.
|
||||
var/trauma_mod = 1 // Affects traumatic shock (how fast pain crit happens). 0 = no effect (immunity to pain crit), 2 = double etc.Overriden by "can_feel_pain" var
|
||||
// set below is EMP interactivity for nonsynth carbons
|
||||
|
||||
@@ -103,14 +103,14 @@
|
||||
/datum/trait/negative/pain_intolerance_basic
|
||||
name = "Pain Intolerant"
|
||||
desc = "You are frail and sensitive to pain. You experience 25% more pain from all sources."
|
||||
cost = -1
|
||||
var_changes = list("pain_mod" = 1.25)
|
||||
cost = -2
|
||||
var_changes = list("pain_mod" = 1.2) // CHOMPEdit: Makes this exact opposite of Pain Tolerance Basic.
|
||||
|
||||
/datum/trait/negative/pain_intolerance_advanced
|
||||
name = "High Pain Intolerance"
|
||||
desc = "You are highly sensitive to all sources of pain, and experience 50% more pain."
|
||||
cost = -2
|
||||
var_changes = list("pain_mod" = 1.5) //this makes you extremely vulnerable to most sources of pain, a stunbaton bop or shotgun beanbag will do around 90 agony, almost enough to drop you in one hit
|
||||
cost = -3
|
||||
var_changes = list("pain_mod" = 1.5) //this makes you extremely vulnerable to most sources of pain, a stunbaton bop or shotgun beanbag will do around 90 agony, almost enough to drop you in one hit. CHOMPEdit: This really should cost more if it's this bad.
|
||||
//YW ADDITIONS END
|
||||
|
||||
/datum/trait/negative/conductive
|
||||
|
||||
@@ -40,3 +40,27 @@
|
||||
cost = 0
|
||||
var_changes = list("metabolic_rate" = 2, "hunger_factor" = 1.6, "metabolism" = 0.012) //2x metabolism speed, 32x hunger speed
|
||||
custom_only = FALSE
|
||||
|
||||
/datum/trait/neutral/big_mouth
|
||||
name = "Big mouth"
|
||||
desc = "It takes half as many bites to finish food as it does for most people."
|
||||
cost = 0
|
||||
var_changes = list("bite_mod" = 2)
|
||||
custom_only = FALSE
|
||||
|
||||
/datum/trait/neutral/big_mouth_extreme
|
||||
name = "Giant mouth"
|
||||
desc = "It takes a quarter as many bites to finish food as it does for most people."
|
||||
cost = 0
|
||||
var_changes = list("bite_mod" = 4)
|
||||
custom_only = FALSE
|
||||
|
||||
/datum/trait/neutral/heavyweight
|
||||
name = "Heavyweight"
|
||||
desc = "You are harder to move out of the way due to your sturdiness or frame, and neither players nor mobs can trade places with you."
|
||||
cost = 0
|
||||
custom_only = FALSE
|
||||
|
||||
/datum/trait/neutral/heavyweight/apply(var/datum/species/S,var/mob/living/carbon/human/H)
|
||||
..()
|
||||
H.mob_bump_flag = HEAVY
|
||||
@@ -76,14 +76,16 @@
|
||||
excludes = list(/datum/trait/positive/more_blood,/datum/trait/negative/less_blood,/datum/trait/negative/less_blood_extreme)
|
||||
can_take = ORGANICS
|
||||
|
||||
/datum/trait/positive/heavyweight
|
||||
name = "Heavyweight"
|
||||
desc = "You are more heavyweight or otherwise more sturdy than most species, and as such, it's much more difficult to move you."
|
||||
/datum/trait/positive/heavyweight_combat
|
||||
name = "Combat Heavyweight"
|
||||
desc = "You are more heavyweight or otherwise more sturdy than most species, and as such, more resistant to knockdown effects and stuns. Stuns are only half as effective on you."
|
||||
cost = 2
|
||||
|
||||
/datum/trait/positive/heavyweight/apply(var/datum/species/S,var/mob/living/carbon/human/H)
|
||||
..()
|
||||
H.mob_bump_flag = HEAVY
|
||||
H.mob_size = MOB_LARGE
|
||||
H.stun_mod = 0.5 // Stuns are 1/3 as effective - a stun of 3 seconds will be 1 second after rounding. Set to 0.75 to make a 3 second stun 2 seconds.
|
||||
H.weaken_mod = 0.5 // Stuns are 1/3 as effective - a stun of 3 seconds will be 1 second after rounding. (Weaken is used alongside stun to prevent aiming.)
|
||||
|
||||
/datum/trait/positive/table_passer
|
||||
name = "Table passer"
|
||||
@@ -94,25 +96,12 @@
|
||||
..()
|
||||
H.pass_flags = PASSTABLE
|
||||
|
||||
|
||||
/datum/trait/positive/big_mouth
|
||||
name = "Big mouth"
|
||||
desc = "It takes half as many bites to finish food as it does for most people."
|
||||
cost = 0 //This doesn't deserve a cost.
|
||||
var_changes = list("bite_mod" = 2)
|
||||
|
||||
/datum/trait/positive/grappling_expert
|
||||
name = "Grappling expert"
|
||||
desc = "Your grabs are much harder to escape from, and you are better at escaping from other's grabs!"
|
||||
cost = 3
|
||||
var_changes = list("grab_resist_divisor_victims" = 1.5, "grab_resist_divisor_self" = 0.5, "grab_power_victims" = -1, "grab_power_self" = 1)
|
||||
|
||||
/datum/trait/positive/big_mouth_extreme
|
||||
name = "Giant mouth"
|
||||
desc = "It takes a quarter as many bites to finish food as it does for most people."
|
||||
cost = 0 //This also doesn't deserve a cost.
|
||||
var_changes = list("bite_mod" = 4)
|
||||
|
||||
/datum/trait/positive/absorbent
|
||||
name = "Absorbent"
|
||||
desc = "You are able to clean messes just by walking over them, and gain nutrition from doing so!"
|
||||
|
||||
@@ -36,3 +36,5 @@
|
||||
L.throw_at(get_edge_target_turf(L, throw_dir), throw_dist, 1, src)
|
||||
else
|
||||
to_chat(L, span("warning", "\The [src] punches you with incredible force, but you remain in place."))
|
||||
visible_message(span("danger", "\The [src] slams it's mechanized fist into \the [L] with incredible force, to no visible effect!")) // CHOMPEdit: Mechpunch visible/audible feedback for *resisting* the punch.
|
||||
playsound(src, "punch", 50, 1) // CHOMPEdit: Mechpunch visible/audible feedback for *resisting* the punch.
|
||||
|
||||
Reference in New Issue
Block a user