Skip to content

[(BGEE, BG2) Bug] Barb/monk movement speed/free action issues

CamDawgCamDawg Member, Developer Posts: 3,438
edited August 2012 in Fixed
We've already touched on this one a bit already, and this is another fix in the free action vs. movement speed issues.

Background: Free action works by blocking any effects with opcode 126, movement rate bonus, which is used by spells like entangle and grease to set movement rate to 0. Unfortunately, it's also used by the kit spells that increase the inherent speed increases of monks and barbarians--meaning that a barb/monk under the influence will lose their inherent speed increase or, even worse, permanently miss their speed increase if they're under the influence of free action at level up.

BG2FP worked around this by using the identical opcode 176 for movement rate changes that is not affected by free action and patched the barb/monk speed increases to use it, like so:
// kit innate speed increases should not be prevented by free action
COPY_EXISTING ~spcl151.spl~ ~override~ // barbarian
~spcl812.spl~ ~override~ // monk i
~spcl813.spl~ ~override~ // monk ii
READ_LONG 0x64 "abil_off"
READ_SHORT 0x68 "abil_num"
READ_LONG 0x6a "fx_off"
FOR (index = 0; index < abil_num; index = index + 1) BEGIN
READ_SHORT ("%abil_off%" + 0x1e + (0x28 * "%index%")) "abil_fx_num"
READ_SHORT ("%abil_off%" + 0x20 + (0x28 * "%index%")) "abil_fx_idx"
FOR (index2 = 0; index2 < abil_fx_num; index2 = index2 + 1) BEGIN
READ_SHORT ("%fx_off%" + (0x30 * ("%abil_fx_idx%" + "%index2%"))) "opcode"
PATCH_IF ("%opcode%" = 126) BEGIN // movement rate bonus
WRITE_SHORT ("%fx_off%" + (0x30 * ("%abil_fx_idx%" + "%index2%"))) 176
END
END
END
BUT_ONLY_IF_IT_CHANGES
Post edited by Bhryaen on
TanthalasAndreaColomboBhryaenAvenger_teambg

Comments

  • TanthalasTanthalas Member Posts: 6,738
    @CamDawg

    Maybe add Monk and Barbarian to the title so its more clear what this bug is about?
  • CamDawgCamDawg Member, Developer Posts: 3,438
    Done and done.
  • CorianderCoriander Member Posts: 1,667
    I'll add this.
  • NathanNathan Member Posts: 1,007
    Verified, this has been integrated and should be present in the next build.
  • TanthalasTanthalas Member Posts: 6,738
    Confirmed Fixed

    I've been organizing some illegal races in Candlekeep to test this:

    - Ring of Free Action does not nullify the faster movement rate of Monks.
    - Ring of Free Action does not prevent the increase of movement rate of Monks when they level up.
    - Ring of Free Action does not nullify the faster movement rate of Barbarians.

    Lingering issues:

    - Sometimes equipping/unequipping the Ring of Free Action on my Monk or Barbarian actually sped them for a few seconds. But I think this effect is negligible.

    Note: I hope that the Ring of Free Action is a suitable way of testing this.
  • BhryaenBhryaen Member Posts: 2,874
    Confirmed Fixed:

    Monk with RING09 on still manages to outpace Coran and Kivan while also being unaffected by Web traps in AR2100. Might be useful to have a Message box notification on that though:
    CHARNAME- Resistance to Movement Effects [or some such]
    In vBG1 it seems to be the same, showing either successful saves or nothing at all.

    Same success for Barbarians.
  • CamDawgCamDawg Member, Developer Posts: 3,438
    Isn't ring09 setting a free action icon?
  • TanthalasTanthalas Member Posts: 6,738
    @CamDawg

    Yes it is.
  • BhryaenBhryaen Member Posts: 2,874
    edited August 2012
    @CamDawg
    If you meant that the icon should be enough feedback to know why Web/ Entangle/ etc isn't working, fair enough. I was just looking for confirmation in the bottom message bar for the purposes of confirmation of a successful test and not finding it, so I made the suggestion. After all you get messages like Magic Resistance when a spell fails even though it should be clear with monk resistance or maybe AMUL17 or what-have-you. Or the Cleric feedback for Turning- obvious by the lit Turn tab but still- good to know is working.

    As it was, you can see that when you fail the save, nothing shows up, and since the web traps keep forcing the Save on a regular interval, and since no failed Save ever shows up, one can presume it's working when only 2 successful Saves show up during one trap's duration and 5 during another's, and never a Hold. But, well, I've been doing my best to be less sloppy that way and not presume... As it is a half hour standing in web traps with no effect while Coran and Kivan got Held repeatedly probably means it was successful. :-)
  • CamDawgCamDawg Member, Developer Posts: 3,438
    Yeah, the save thing is annoying. Free action (via spell or ring) protects against every effect in the web spell except one, so your monk was making saves against a sound effect.
Sign In or Register to comment.