Jump to content

Kit Revisions (Fighters)


Demivrgvs

Recommended Posts

Demi, I think we have a problem with rage durations. SCS kitted fighters are scripted to use Rages every 10 rounds (berserker) and every 5 rounds (barbarian). With durations change, barbarians fail to use it.

- didn't vanilla's Berserker had 10 rounds duration plus 5 rounds of fatigue? How can they use it again after 10 rounds? o.O

- you mean Barbarians try to re-cast it every 5 rounds even if they are already enraged or under fatigue?

 

Btw, I was sure SCS used a check to determine if the character was under the effect of a Rage, did it changed with the latest versions?

Link to comment
This is SCS berserker rage:


IF

!GlobalTimerNotExpired("castspell","LOCALS")

HaveSpell(BERSERKER_RAGE)

See(NearestEnemyOf(Myself))

!GlobalTimerNotExpired("raging","LOCALS")

THEN

RESPONSE #100

SetGlobalTimer("castspell","LOCALS",ONE_ROUND)

Spell(Myself,BERSERKER_RAGE)

SetGlobalTimer("raging","LOCALS",TEN_ROUNDS)

END


Barbarian rage:


IF

!GlobalTimerNotExpired("castspell","LOCALS")

HaveSpell(BARBARIAN_RAGE)

See(NearestEnemyOf(Myself))

!GlobalTimerNotExpired("raging","LOCALS")

THEN

RESPONSE #100

SetGlobalTimer("castspell","LOCALS",ONE_ROUND)

Spell(Myself,BARBARIAN_RAGE)

SetGlobalTimer("raging","LOCALS",FIVE_ROUNDS)

END

Link to comment

I did some tweaking to SCS relevant scripts governing this. To make long story short, there's but one value (timer) to work with for berserker and one for barbarian.

Right now, SCS uses 60 seconds for Berserker Rage counter and 30 seconds for Barbarian Rage counter. Berskerker Rage is clearly broken, since even without KR it won' t work properly if a berserker chooses to use his Rage while winded.

Suggested tweak (it's very easy to modify SCS accordigly):

 

Berserker Rage - I've set the SCS timer to 90 seconds, Rage lasts 1 turn (doesn't change/scale with levels). It has quite a few drawbacks already, and I'll experiment with some berserk opcode usage (yes, again :D ) to see what I can come up with. I had a splendid no-reload through entire BG1 and most of BG2, even with fairly liberal usage of the berserk (100% chance when hit in Raged state).

 

Barbarian Rage - SCS Timer set to 60 seconds. Now, with KR, barby has 30/39/48 seconds of Rage, followed by 30 sec fatigue. SCS, as it is, can't cope with it.

I've tweaked this.

They start with 36 sec Rage, 24 sec Fatigue

level 10 - 42 sec rage, 18 sec fatigue

level 19 - 48 sec rage, 12 sec fatigue

 

P.S.

Yes, I know other Revisions do take proirity over KR, but still.... :p

Link to comment

Let me know how it goes, I'll be back on KR soon (you do know how much I'm working on other stuff these days though).

 

That being said, considering that SCS timer is broken even for vanilla Berserker I would probably not consider this as a mandatory parameter to change KR's rages. SCS has to change that stuff anyway if DavidW will ever be back. If he does, then we will ask him to use more reasonable timers.

Link to comment

As it happens, I've been looking at the exact same excerpt from SCS not long ago, and identified the same problem. In short, Rage can use Detectable Spells, whereas Enrage is a bit more tricky due to its cooldown. The latter can be flagged as well, albeit it will need ToBEx (which SCS already uses). So yes, we just have to catch David and explain the issue to him.

Link to comment

Class Features:

...

- At 7th level, gains an additional half attack per round. This increases to an additional whole attack per round at 13th level.

I'll remind you that this is not an class feature at all, it's a rule set in stone by the wspatck.2da table, and as such, I would actually remove this from here(the class description) completely.

And because if it's not a class feature, you can then set the zero proficiency to not allow the fighters to gain the extra hits per round as they don't even know how to use the weapon, which would be useful for the purposes of balancing all the proficiency maximums and their consequences for more than just a few of the typical classes that have them.

 

There's more than this, but I'll have to compile the idea some other time. and it's not just Fighters, but all the classes.

Link to comment

I have a couple of ideas for implementation of specific fighter features:

 

Stances

 

I know that at one point there was talk of having stances be semi-permenant. IIRC, it was decided that this was unfeasible, though I don't remember why (and can't find the specific discussion here). However, isn't it possible to (e.g.) create stances as having a unique secondary type--I think you were talking about this for something else--which could be dispelled by activation of another stance (and/or a special ability created by the stance called 'end stance' or similar)? If necessary, each stance could have it's own secondary type. The sequence might go something like:

 

Offensive Stance

- (230) Remove Secondary Type (Defensive Stance) Target: Self (all target self)

- Effects of stance itself, no change except a very long duration (e.g. 24 hrs) or perhaps even permanent.

- (172) Remove Spell (Offensive Stance Secondary Type)

- (172) Remove Spell (Defensive Stance Secondary Type*)

- (171) Give Ability (Defensive Stance--assuming the class has this stance)

- (171) Give ability ("End Stance")

*Assuming secondary type but however it would play out

 

End Stance

- (230) Remove Secondary Type: (Offensive Stance)

- (230) Remove Secondary Type: (Defensive Stance)

- (172) Remove Spell (Offensive Stance)

- (172) Remove Spell (Defensive Stance)

- (171) Give ability (Offensive Stance)

- (171) Give Ability (Defensive Stance)

 

and, of course, Defensive stance is just like Offensive Stance, but reversed:

 

Defensive Stance

- (230) Remove Secondary Type (Offensive Stance) Target: Self (all target self)

- Effects of stance itself, no change except a very long duration (e.g. 24 hrs) or perhaps even permanent.

- (172) Remove Spell (Defensive Stance)

- (172) Remove Spell (Offensive Stance)

- (171) Give Ability (Offensive Stance--assuming the class has this stance)

- (171) Give ability ("End Stance")

 

This way the character can stay in the stance as long as they like. When they need to change stances or end their stance, they can do so, and it automatically dispels their current stance. (Btw, the stances might also be considered incompatible with spellcasting--perhaps, e.g. increasing casting time--harder to do the intricate movements while adequately defending oneself--so a f/m doesn't spend the whole day in defensive stance).

 

Armor Training

 

I've been thinking about this ability again. I had an idea that, if it works, has tremendous potential. I think it could be best explained via example.

 

Lets say that you wanted fighters to gain armor training at level 8 that gave him +5% physical/electricity/fire/cold/acid resistance when wearing leather, +15% physical resistance when wearing something heavier.

 

Step one: Give them 4 abilities in their clab:

For Leathers:

 

AP_Spl001: A spl that gives +5% physical/etc resistance.

AP_Spl002: A spl that 'protects' the character from spl001 (using either 206, or 204 or 205 with unique types; whatever works best)

 

And for heavier armors:

 

AP_Spl003: A spl that gives +15% physical resistance.

AP_Spl004: A spl that protects from spl003.

 

I assume that this wouldn't give the character any benefits. However, the appropriate armors have this as an 'as equipped' effect:

 

Leathers:

Effect(whatever opcode): Protection from Spl002

 

Other armor: Protection from Spl004.

 

If it works correctly, then they should have the bonuses when the armor is equipped, but not otherwise. I suppose I am assuming that protection from opcodes 'suppress' ongoing effects rather than dispel them outright and that the effect would resume when the protection is removed. I'm also assuming that protect from opcodes actually protect a creature from an ongoing effect. No idea if this is the case. Even if I am wrong about this, perhaps there might be another, more plausible but similar method to the same or similar results.

 

This has some fun potential because you could give all sorts of equipment specialties to different classes:

 

- Archers that can make better use of bows after a certain level: shoot faster, more accurate, more often etc. when equipping bows--a virtual ranged weapon specialty.

- Kensai that can 'deflect arrows' as long as they have a melee weapon equipped.

- Wizards that can use a normal staff or other item as a 'focus' making their spells a bit stronger (e.g. using opcode 191)

- Pretty much anything else you might want to use 183 for.

 

EDIT: Clairity

Link to comment

If it works correctly, then they should have the bonuses when the armor is equipped, but not otherwise. I suppose I am assuming that protection from opcodes 'suppress' ongoing effects rather than dispel them outright and that the effect would resume when the protection is removed. I'm also assuming that protect from opcodes actually protect a creature from an ongoing effect. No idea if this is the case. Even if I am wrong about this, perhaps there might be another, more plausible but similar method to the same or similar results.

I know the mechanic you've described, but it doesn't work on a continuous basis. It can be made to work via aura-like effect, but the latter is infamous for its own issues. Those are somewhat fixed in ToBEx... but I wouldn't seriously consider it anyway, because aura only adds yet another layer of complexity. We'll need opcode 183 fixed before such concepts become feasible.

Link to comment

 

If it works correctly, then they should have the bonuses when the armor is equipped, but not otherwise. I suppose I am assuming that protection from opcodes 'suppress' ongoing effects rather than dispel them outright and that the effect would resume when the protection is removed. I'm also assuming that protect from opcodes actually protect a creature from an ongoing effect. No idea if this is the case. Even if I am wrong about this, perhaps there might be another, more plausible but similar method to the same or similar results.

 

I know the mechanic you've described, but it doesn't work on a continuous basis. It can be made to work via aura-like effect, but the latter is infamous for its own issues. Those are somewhat fixed in ToBEx... but I wouldn't seriously consider it anyway, because aura only adds yet another layer of complexity. We'll need opcode 183 fixed before such concepts become feasible.

Bummer

Link to comment

 

Stances

 

If necessary, each stance could have it's own secondary type.

 

-harder to do the intricate movements while adequately defending oneself--so a f/m doesn't spend the whole day in defensive stance).

 

- secondary types will eventualy be there, yes

- def.stance penalties are already implemented

 

does deathless frenzy make me lose control of my berserker?

Kind of, yes. Only if there are enemies around, but the mechanic governing this is wacky.

Link to comment

Here's a crazy idea:

What always bothered me with 1x/day usable abilities (Rage, Called Shot, Kai, wahtever) is that for all their power, in BG1, resting without real reason but to gain back an innate is quite prevalent.

In BG2/ToB, things are even worse (a high-level bowman can spam Called shot constantly in battle, slowing down everyone).

Thus, what I created for my own abuse is this - each kit with innates gains one single use of innate (i.e. Berserker has one Rage, even at level 40). Once used, he gains it back after a set period (I've made it 2 turns for Berserker Rage, for example). Archers gain Called Shot every 5 rounds after usage. Barbarians gain Rage after 8 rounds etc. Kai can be used once in 5 rounds.

What I think with this is that AI will no longer try to use Rages when not able to (they won't have them) but will use as soon as they're available again. As so far, I'm quite enjoying this run. Much more fluid, with no needles resting in between Rages/Called Shots.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...