Gestures + Predator & Stalker

All development conversation and discussion takes place here

Moderator: Moderator

Post Reply
Message
Author
Doctornull
Sher'Tul Godslayer
Posts: 2402
Joined: Tue Jun 18, 2013 10:46 pm
Location: Ambush!

Gestures + Predator & Stalker

#1 Post by Doctornull »

I'm trying to get Gesture of Pain to work with the Stalker and Predator trees.

Any thoughts on what the various bonuses ought to map onto?

I'm assuming that an accuracy bonus can map onto Mindpower, and damage bonus can map onto "bonusDamage".

Also, I'm thinking that the auto-crit for Dismay might be too strong... maybe a +10-50% crit chance bonus instead?

Thanks for any insight!
Check out my addons: Nullpack (classes), Null Tweaks (items & talents), and New Gems fork.

Hachem_Muche
Uruivellas
Posts: 744
Joined: Thu Nov 18, 2010 6:42 pm

Re: Gestures + Predator & Stalker

#2 Post by Hachem_Muche »

Are you looking at adding the Gestures tree to cursed? I think you need to be careful with this.

The Gestures tree is balanced around possible synergy with mindstars and not other melee weapons. Converting normal combat accuracy to a mindpower bonus is almost certain to imbalance it, since it not only would it increase the chance to hit, but the damage as well.

You'd have to redo the way the Predator and Endless hunt bonuses are triggered since Gesture of Pain turns all melee attacks into mind attacks. This would also affect Dismay since it only affects melee attacks.

Stacking the Gesture of Malice bonus with Anatomy and Outmaneuver bonuses (assuming some conversion of physical to mind resistance penalty) would probably also break things by reducing the resistances of almost all enemies to negative values, effectively giving an additional bonus damage multiplier.
Author of the Infinite 500 and PlenumTooltip addons, and the joys of Scaling in ToME.

Doctornull
Sher'Tul Godslayer
Posts: 2402
Joined: Tue Jun 18, 2013 10:46 pm
Location: Ambush!

Re: Gestures + Predator & Stalker

#3 Post by Doctornull »

Hachem_Muche wrote:Are you looking at adding the Gestures tree to cursed?
Sorta. I'm working on a new addon class (the Creep) which is based on Gloom and Gestures, and the Predator and Endless Hunt trees also seem in-theme.

It's a Mindstar using class based on Stealth + Hate.

Hachem_Muche wrote:The Gestures tree is balanced around possible synergy with mindstars and not other melee weapons. Converting normal combat accuracy to a mindpower bonus is almost certain to imbalance it, since it not only would it increase the chance to hit, but the damage as well.
Understood, thanks.

Hachem_Muche wrote:You'd have to redo the way the Predator and Endless hunt bonuses are triggered since Gesture of Pain turns all melee attacks into mind attacks. This would also affect Dismay since it only affects melee attacks.
Very true. The triggers are not currently hooks, but hard-coded in Combat.lua, so the only way to get them to work with Gestures seems to be to copy the code (or write a compatible version of them) inside gestures.lua, and trigger the effects directly from inside Gesture of Pain.

Since the code needs adaptation either way, adapting it to be balanced ought to be possible -- hence me asking here, how to do that! :)

Hachem_Muche wrote:Stacking the Gesture of Malice bonus with Anatomy and Outmaneuver bonuses (assuming some conversion of physical to mind resistance penalty) would probably also break things by reducing the resistances of almost all enemies to negative values, effectively giving an additional bonus damage multiplier.
In a recent game I noticed that Gesture of Malice can make resistances go negative by itself.

What kind of values would be unbalanced? Is there a chart somewhere of what's appropriate damage penetration by character level?

Thanks!
Check out my addons: Nullpack (classes), Null Tweaks (items & talents), and New Gems fork.

Hachem_Muche
Uruivellas
Posts: 744
Joined: Thu Nov 18, 2010 6:42 pm

Re: Gestures + Predator & Stalker

#4 Post by Hachem_Muche »

Doctornull wrote:
Hachem_Muche wrote:You'd have to redo the way the Predator and Endless hunt bonuses are triggered since Gesture of Pain turns all melee attacks into mind attacks. This would also affect Dismay since it only affects melee attacks.
Very true. The triggers are not currently hooks, but hard-coded in Combat.lua, so the only way to get them to work with Gestures seems to be to copy the code (or write a compatible version of them) inside gestures.lua, and trigger the effects directly from inside Gesture of Pain.

Since the code needs adaptation either way, adapting it to be balanced ought to be possible -- hence me asking here, how to do that! :)
The "Combat:attackTarget" hook just happens to be triggered right before gesture of pain is checked, so that's a start. The other bonuses could probably be handled by updating the appropriate talent and temporary effect definitions to check if Gesture of Pain (and Malice) are applicable and adjust their bonuses accordingly.

Doctornull wrote:
Hachem_Muche wrote:Stacking the Gesture of Malice bonus with Anatomy and Outmaneuver bonuses (assuming some conversion of physical to mind resistance penalty) would probably also break things by reducing the resistances of almost all enemies to negative values, effectively giving an additional bonus damage multiplier.
In a recent game I noticed that Gesture of Malice can make resistances go negative by itself.

What kind of values would be unbalanced? Is there a chart somewhere of what's appropriate damage penetration by character level?

Thanks!
Be careful with damage multipliers.
Damage penetration generally reaches 50% at talent level 5, but resistance reduction is different. Negative resistances actually increase damage taken (up to a maximum of 2x). As a guideline, you probably want the resistance reduction to scale like most resistance talents (but not thick skin), depending on whether you want them to stack or not. For reference, Curse of Vulnerability computes its penalty as self:combatTalentSpellDamage(t, 10, 40)).

I am currently a running Mindstar equipped Doomed character with Gestures that has me almost convinced that the class (Doomed) is broken due to stacking damage multipliers (madness/Gesture of malice/darkness effects in this case). The damage stacks up very quickly: For example this character at level 27 was able to wipe out the Orc Ambush in just 6 turns without taking any damage.
Author of the Infinite 500 and PlenumTooltip addons, and the joys of Scaling in ToME.

Doctornull
Sher'Tul Godslayer
Posts: 2402
Joined: Tue Jun 18, 2013 10:46 pm
Location: Ambush!

Re: Gestures + Predator & Stalker

#5 Post by Doctornull »

Hachem_Muche wrote:The "Combat:attackTarget" hook just happens to be triggered right before gesture of pain is checked, so that's a start. The other bonuses could probably be handled by updating the appropriate talent and temporary effect definitions to check if Gesture of Pain (and Malice) are applicable and adjust their bonuses accordingly.
APPLYING the bonuses would need to be done inside Gesture of Pain anyway, so that's a fine place for the checks.

It would be cool if Combat.lua used hooks for the functionality so I could call those same hooks inside Gesture of Pain (possibly interpreting the bonus output differently though).

Hachem_Muche wrote:Be careful with damage multipliers.
Damage penetration generally reaches 50% at talent level 5, but resistance reduction is different. Negative resistances actually increase damage taken (up to a maximum of 2x). As a guideline, you probably want the resistance reduction to scale like most resistance talents (but not thick skin), depending on whether you want them to stack or not. For reference, Curse of Vulnerability computes its penalty as self:combatTalentSpellDamage(t, 10, 40)).

I am currently a running Mindstar equipped Doomed character with Gestures that has me almost convinced that the class (Doomed) is broken due to stacking damage multipliers (madness/Gesture of malice/darkness effects in this case). The damage stacks up very quickly: For example this character at level 27 was able to wipe out the Orc Ambush in just 6 turns without taking any damage.
Huh, if Gestures + Darkness bonus + Feed bonus is broken, then I'm without hope of balancing something based around matching that.

Is Gestures getting nerfed in 1.0.5?
Check out my addons: Nullpack (classes), Null Tweaks (items & talents), and New Gems fork.

Sradac
Sher'Tul
Posts: 1081
Joined: Fri Sep 21, 2007 3:18 am
Location: Angolwen

Re: Gestures + Predator & Stalker

#6 Post by Sradac »

Never nerf gesture! If summoners are allowed to put enemies to -65% resists doomed should keep theirs

Hachem_Muche
Uruivellas
Posts: 744
Joined: Thu Nov 18, 2010 6:42 pm

Re: Gestures + Predator & Stalker

#7 Post by Hachem_Muche »

Gesture of Guarding is getting nerfed but not the rest of the tree. Instead of a flat % damage reduction, it will deflect a % of your unarmed base damage from melee attacks against you a limited number of times per turn based on Cunning.

You can see the repo version of the talent tree here:
http://git.net-core.org/darkgod/t-engin ... stures.lua

My suggestion for balancing your new talents is make their overall effectiveness scale linearly with character level. That is, figure out what a reasonable character build would be at various levels and see how the bonuses shake out. If you can increase your damage by much more than 2x when going from level 10 to 20, for example, you probably need to revise the scaling.
Author of the Infinite 500 and PlenumTooltip addons, and the joys of Scaling in ToME.

Hachem_Muche
Uruivellas
Posts: 744
Joined: Thu Nov 18, 2010 6:42 pm

Re: Gestures + Predator & Stalker

#8 Post by Hachem_Muche »

Sradac wrote:Never nerf gesture! If summoners are allowed to put enemies to -65% resists doomed should keep theirs
I'm not sure how summoners can do that (unless you're including bonuses to summons in that number) but that seems excessive for either class.
The problems I'm seeing with Doomed are that they start off weak and then become almost unstoppable (after around level 20 or so). This performance follows the stacking damage bonuses.
Author of the Infinite 500 and PlenumTooltip addons, and the joys of Scaling in ToME.

Doctornull
Sher'Tul Godslayer
Posts: 2402
Joined: Tue Jun 18, 2013 10:46 pm
Location: Ambush!

Re: Gestures + Predator & Stalker

#9 Post by Doctornull »

I think this is all that I need to change to get Gloom and Gestures to work together.

This function is from Gestures / Gesture of Pain:

Code: Select all

	attack = function(self, t, target)
		local hit = false

		local mindpower = self:combatMindpower()
		local baseDamage = t.getBaseDamage(self, t)
		local bonusDamage = t.getBonusDamage(self, t)
		local bonusCritical = t.getBonusCritical(self, t)

		if target:hasEffect(target.EFF_DISMAYED) then -- change #1
		   bonusCritical = 100
		end

		if self:checkHit(mindpower, target:combatMentalResist()) then
			local damage = self:mindCrit(baseDamage * rng.float(0.5, 1) + bonusDamage, bonusCritical)
			self:project({type="hit", x=target.x,y=target.y}, target.x, target.y, DamageType.MIND, { dam=damage,alwaysHit=true,crossTierChance=25 })
			game:playSoundNear(self, "actions/melee_hit_squish")
			hit = true

			if target:hasEffect(target.EFF_DISMAYED) and damage.crit then -- change #2
			   target:removeEffect(target.EFF_DISMAYED)
			end
		else
			game.logSeen(self, "%s resists the Gesture of Pain.", target.name:capitalize())
			game:playSoundNear(self, "actions/melee_miss")
		end

		if hit then
			local effGloomWeakness = target:hasEffect(target.EFF_GLOOM_WEAKNESS) -- change #3
			if effGloomWeakness and effGloomWeakness.hateBonus or 0 > 0 then
				self:incHate(effGloomWeakness.hateBonus)
				game.logPlayer(self, "#F53CBE#You revel in attacking a weakened foe! (+%d hate)", effGloomWeakness.hateBonus)
				effGloomWeakness.hateBonus = nil
			end

			local stunChance = t.getStunChance(self, t)
			if rng.percent(stunChance) and target:canBe("stun") then
				target:setEffect(target.EFF_STUNNED, 3, {apply_power=self:combatMindpower()})
			end
			
			if self:knowTalent(self.T_GESTURE_OF_MALICE) then
				local tGestureOfMalice = self:getTalentFromId(self.T_GESTURE_OF_MALICE)
				local resistAllChange = tGestureOfMalice.getResistAllChange(self, tGestureOfMalice)
				target:setEffect(target.EFF_MALIGNED, tGestureOfMalice.getDuration(self, tGestureOfMalice), { resistAllChange=resistAllChange })
			end
		
			game.level.map:particleEmitter(target.x, target.y, 1, "melee_attack", {color=colors.VIOLET})
		end

		return self:combatSpeed(), hit
	end,
Does this look correct?

Thanks!
Check out my addons: Nullpack (classes), Null Tweaks (items & talents), and New Gems fork.

Hachem_Muche
Uruivellas
Posts: 744
Joined: Thu Nov 18, 2010 6:42 pm

Re: Gestures + Predator & Stalker

#10 Post by Hachem_Muche »

It looks like it should work (test it for any missing effects!). I assume you intentionally left out the bonuses from Predator and Stalker?
Author of the Infinite 500 and PlenumTooltip addons, and the joys of Scaling in ToME.

Doctornull
Sher'Tul Godslayer
Posts: 2402
Joined: Tue Jun 18, 2013 10:46 pm
Location: Ambush!

Re: Gestures + Predator & Stalker

#11 Post by Doctornull »

Hachem_Muche wrote:It looks like it should work (test it for any missing effects!). I assume you intentionally left out the bonuses from Predator and Stalker?
Yeah, the most important bit is getting Gloom + Gestures working together, and that came down to Dismay's free crit and Weakness's Hate generation.

Figuring out how the bonus(es) for Predator ought to apply is harder than actually applying them...
Check out my addons: Nullpack (classes), Null Tweaks (items & talents), and New Gems fork.

Post Reply