Jump to content

Boots of Speed vs. Refinements


Recommended Posts

The FP alters the Boots fo Speed so that a character receiving E.G. the Endurance HLA is finally slowed down http://www.shsforums.net/index.php?showtopic=31725. This is because a percentage based speed adjustment is non-stackable with inc/dec adjustments (and with other percentage based adjustments).

 

Fix: replace the current code:

 

// boots of speed, grandmaster armor haste > movement rate bonus fix
COPY_EXISTING ~boot01.itm~ ~override~
		  ~leat24.itm~ ~override~
 PATCH_IF (SOURCE_SIZE > 0x71) THEN BEGIN // protects against invalid files
READ_LONG   0x6a "fx_off"
READ_SHORT  0x70 "fx_num"
WHILE ("%fx_num%" > 0) BEGIN
  SET "fx_num" = ("%fx_num%" - 1)
  READ_SHORT ("%fx_off%" + ("%fx_num%" * 0x30)) "type"
  PATCH_IF( "%type%" = 16 ) BEGIN  // if haste effect
	WRITE_SHORT ("%fx_off%" +		("%fx_num%" * 0x30)) 126 // change to movementrate bonus
	WRITE_LONG  ("%fx_off%" + 0x04 + ("%fx_num%" * 0x30)) 200 // of 200%
	WRITE_LONG  ("%fx_off%" + 0x08 + ("%fx_num%" * 0x30)) 2   // via set%
	WRITE_BYTE  ("%fx_off%" + 0x0d + ("%fx_num%" * 0x30)) 0
  END
END
 END
 BUT_ONLY_IF_IT_CHANGES

 

So that it uses inc/dec rather than set%:

 

// boots of speed, grandmaster armor haste > movement rate bonus fix
COPY_EXISTING ~boot01.itm~ ~override~
		  ~leat24.itm~ ~override~
 PATCH_IF (SOURCE_SIZE > 0x71) THEN BEGIN // protects against invalid files
READ_LONG   0x6a "fx_off"
READ_SHORT  0x70 "fx_num"
WHILE ("%fx_num%" > 0) BEGIN
  SET "fx_num" = ("%fx_num%" - 1)
  READ_SHORT ("%fx_off%" + ("%fx_num%" * 0x30)) "type"
  PATCH_IF( "%type%" = 16 ) BEGIN  // if haste effect
	WRITE_SHORT ("%fx_off%" +		("%fx_num%" * 0x30)) 126 // change to movementrate bonus
	WRITE_LONG  ("%fx_off%" + 0x04 + ("%fx_num%" * 0x30)) 10 // of +10
	WRITE_LONG  ("%fx_off%" + 0x08 + ("%fx_num%" * 0x30)) 0   // via inc/dec
	WRITE_BYTE  ("%fx_off%" + 0x0d + ("%fx_num%" * 0x30)) 0
  END
END
 END
 BUT_ONLY_IF_IT_CHANGES

 

If you'd rather not do this, I'm also going to add similar code to Refs anyway to account for other mods with similar adjustments.

Link to comment
If you'd rather not do this, I'm also going to add similar code to Refs anyway to account for other mods with similar adjustments.

You'll need detection code regardless--IIRC this was originally a BD fix. My sole concern is the issue with stacking, though, as you'll get 4x the movement rate with both the armor and the boots.

Link to comment
Equipped Ability : increases movement rate

 

Abilities: Increase movement rate as Boots of Speed

Doesn't this usually mean they are stackable?

 

EDIT: also, how stacking works isn't really clear. In that thread, the OP says that spell and boots using inc/dec don't stack, yet I recall the Inc/Dec penalty from Refinements' Armors stacking correctly with the Shield's and the Boots.

Link to comment

Except that they've never been cumulative, and there's no reason to think BioWare wanted them to be.

 

I hate the boots, so I changed them locally to a +2 bonus (movement rate 11); I have the armor at +3, but I can't decide if the bonus should be higher (of course, I never use the boots nor armor, so it's all just a waste of my life). In any case, it's far more sane than movement rate 18.

Link to comment

We may actually need to do something here - stacking Boots of Speed with haste takes you slightly over the speed limit the engine can handle; missed triggers can result.

 

The original implementation didn't stack with haste (being, as it was, haste) but we can't revert to it - when someone with one apr gets type 2 hasted they end up with .5 apr, which is "randomly get one attack this round, or get none, with no guarantee of ever getting any attacks this combat".

 

As long as people don't end up with a total of > 15, this should be functional. Imagine, however, the vast and despondent outcry if we were to drop the bonus to +2, or disable haste wile wearing the boots.

 

Any suggestions?

Link to comment
stacking Boots of Speed with haste takes you slightly over the speed limit the engine can handle; missed triggers can result.
It merrily happens often with just Haste alone.

 

Leave the bonus +10, we've been living with it for ten years.

Link to comment
Leave the bonus +10, we've been living with it for ten years.

 

You've been living with set to 200% (rate = 18), actually. Hence the bigg's original post. Final movement rate dependent on whether you put your shoes or your cheetah necklace on first.

Link to comment

Archived

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

×
×
  • Create New...