[SVN] Berserker continuously lowers armor/infinite movespeed

Where bugs go to lie down and rest

Moderator: Moderator

Post Reply
Message
Author
Stition
Higher
Posts: 64
Joined: Sun Nov 20, 2011 12:21 am

[SVN] Berserker continuously lowers armor/infinite movespeed

#1 Post by Stition »

Every time berserker is activated, it permanently reduces armor by 10. This wasn't present in 1.0.4 and I checked to make sure my version of the svn wasn't screwed up.

I also figured out how celerity is permanently increasing move speed:
when points are removed from celerity with a movement infusion active, the move speed gets permanently increased, as high as someone has the patience for.

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

Re: [SVN] Berserker continuously lowers armor/infinite moves

#2 Post by Hachem_Muche »

Stition wrote:Every time berserker is activated, it permanently reduces armor by 10. This wasn't present in 1.0.4 and I checked to make sure my version of the svn wasn't screwed up.

I also figured out how celerity is permanently increasing move speed:
when points are removed from celerity with a movement infusion active, the move speed gets permanently increased, as high as someone has the patience for.
Berzerker has lowered both defense and armor while active for some time.
The problem with celerity should be fixed as part of the scaling changes in the next version.
Author of the Infinite 500 and PlenumTooltip addons, and the joys of Scaling in ToME.

SageAcrin
Sher'Tul Godslayer
Posts: 1884
Joined: Tue Apr 10, 2012 6:52 pm

Re: [SVN] Berserker continuously lowers armor/infinite moves

#3 Post by SageAcrin »

I believe he means it permanently lowers your armor now.

Sure enough, a quick glance at SVN code finds the problem;

Code: Select all

		return {
			armor = self:addTemporaryValue("combat_armor", -10),
			stun = self:addTemporaryValue("stun_immune", t.getImmune(self, t)),
			pin = self:addTemporaryValue("pin_immune", t.getImmune(self, t)),
			dam = self:addTemporaryValue("combat_dam", t.getDam(self, t)),
			atk = self:addTemporaryValue("combat_atk", t.getAtk(self, t)),
			def = self:addTemporaryValue("combat_def", -10),
			armor = self:addTemporaryValue("combat_armor", -10),
		}
It's lowering armor twice! Oops.

Sianist
Halfling
Posts: 106
Joined: Fri May 10, 2013 2:10 pm

Re: [SVN] Berserker continuously lowers armor/infinite moves

#4 Post by Sianist »

and only adding armor once on the way back when deactivating the talent?

SageAcrin
Sher'Tul Godslayer
Posts: 1884
Joined: Tue Apr 10, 2012 6:52 pm

Re: [SVN] Berserker continuously lowers armor/infinite moves

#5 Post by SageAcrin »

Yeah.

Basically, if I read it right, it's creating a temporary value for the -10 Armor and reducing your armor by 10, then overwriting it with another temporary value with the same name and reducing your armor by 10 again.

So when it goes to restore it, you only get one of the two back.

Looks like it's been fixed already in depository.

Post Reply