Author Topic: How to change the Paladin Horse Speed?  (Read 984 times)

Legacy_WhiZard

  • Hero Member
  • *****
  • Posts: 2149
  • Karma: +0/-0
How to change the Paladin Horse Speed?
« Reply #30 on: May 07, 2014, 08:50:58 pm »


               

Shouldn't be.  Haste does not have stacking issues beyond reaching the cap.  If White Tiger saw -40 (60% movement speed) being as fast as +50 (150% movement speed) then having haste on before or after the adjustment will still produce 90% movement speed (for the -40) and 150% (for the +50).  Enough of a difference to be noticeable.



               
               

               
            

Legacy_WhiZard

  • Hero Member
  • *****
  • Posts: 2149
  • Karma: +0/-0
How to change the Paladin Horse Speed?
« Reply #31 on: May 07, 2014, 09:09:41 pm »


               

My last two thoughts on what could be triggering the problem:


 


1) An include file was changed and the script was recompiled.  The relevant script for this is x3_s3_horse as this handles the mounting (which is when the variable on the horse is transferred as a speed increase to the rider).  First look at the include (x3_inc_horse) to make sure no unintended changes are left in it, and then recompile x3_s3_horse.


 


2) You may be using a horse or skin improvement system from the vault which may have a different way of discerning speed adjustments.  If so, find out what horse or skin fix you are using and check the documentation to see what changes have been made.



               
               

               
            

Legacy_WhiteTiger

  • Hero Member
  • *****
  • Posts: 889
  • Karma: +0/-0
How to change the Paladin Horse Speed?
« Reply #32 on: May 07, 2014, 09:45:35 pm »


               


Is the paladin doing the summoning already hasted? I haven't looked at the relevant code, but if it uses the function I think it does, there's probably a stacking issue with haste.


 


Funky




 


No, it isn't. The PC paladin (5) is in need of items, without one hasted.  '<img'>



               
               

               


                     Modifié par WhiteTiger, 07 mai 2014 - 10:06 .
                     
                  


            

Legacy_WhiteTiger

  • Hero Member
  • *****
  • Posts: 889
  • Karma: +0/-0
How to change the Paladin Horse Speed?
« Reply #33 on: May 07, 2014, 09:51:13 pm »


               


My last two thoughts on what could be triggering the problem:


 


2) You may be using a horse or skin improvement system from the vault which may have a different way of discerning speed adjustments.  If so, find out what horse or skin fix you are using and check the documentation to see what changes have been made.




 


I'm using the default horse skin by bioware, however, with some custom (HP, AC...) by GFF editor.


               
               

               
            

Legacy_WhiteTiger

  • Hero Member
  • *****
  • Posts: 889
  • Karma: +0/-0
How to change the Paladin Horse Speed?
« Reply #34 on: May 07, 2014, 10:19:45 pm »


               


My last two thoughts on what could be triggering the problem:


 


1) An include file was changed and the script was recompiled.  The relevant script for this is x3_s3_horse as this handles the mounting (which is when the variable on the horse is transferred as a speed increase to the rider).  First look at the include (x3_inc_horse) to make sure no unintended changes are left in it, and then recompile x3_s3_horse.




 


Does the problem is that the constant HORSE_DEFAULT_SPEED_INCREASE is equivalent to 99?


 


In the #x3_inc_horse is setted "const int HORSE_DEFAULT_SPEED_INCREASE = 99".


 


If the value is 0 then it will use the HORSE_DEFAULT_SPEED_INCREASE constant value.


               
               

               
            

Legacy_WhiZard

  • Hero Member
  • *****
  • Posts: 2149
  • Karma: +0/-0
How to change the Paladin Horse Speed?
« Reply #35 on: May 07, 2014, 10:57:06 pm »


               

That constant is capped at +50 by the function that accesses it.  So the default speed applied is +50 if the variable is not set.



               
               

               
            

Legacy_Proleric

  • Hero Member
  • *****
  • Posts: 1750
  • Karma: +0/-0
How to change the Paladin Horse Speed?
« Reply #36 on: May 07, 2014, 11:32:42 pm »


               To diagnose what the horse system is actually doing here, it would help to know what local variables are set on (a) the summoned horse (b) the mounted Paladin, as reported by dm_dumplocals.
               
               

               
            

Legacy_WhiZard

  • Hero Member
  • *****
  • Posts: 2149
  • Karma: +0/-0
How to change the Paladin Horse Speed?
« Reply #37 on: May 08, 2014, 01:00:05 am »


               

I found the problem.  The paladin horses have override scripts for their mounting and dismounting.  The mount script x3_s2_palmount (note that it is s2 not s3) doesn't pass the horse object on to the speed calculation.  Instead it passes OBJECT_INVALID.  To fix this edit x3_s2_palmount on line 29 and change it to:


 


HORSE_SupportIncreaseSpeed(oRider,GetSpellTargetObject());



               
               

               
            

Legacy_WhiteTiger

  • Hero Member
  • *****
  • Posts: 889
  • Karma: +0/-0
How to change the Paladin Horse Speed?
« Reply #38 on: May 08, 2014, 01:44:57 am »


               


The paladin horses have override scripts for their mounting and dismounting.  The mount script x3_s2_palmount (note that it is s2 not s3) doesn't pass the horse object on to the speed calculation.  Instead it passes OBJECT_INVALID.  To fix this edit x3_s2_palmount on line 29 and change it to:


 


HORSE_SupportIncreaseSpeed(oRider,GetSpellTargetObject());




 


Good job on the script, WhiZardThat was a great ...


 


Worked, thank you very much  '<img'> '<img'>  '<img'>  ':lol:' 



               
               

               
            

Legacy_WhiteTiger

  • Hero Member
  • *****
  • Posts: 889
  • Karma: +0/-0
How to change the Paladin Horse Speed?
« Reply #39 on: May 08, 2014, 02:27:58 am »


               

My notes: Caution if you set the variable to the script "x3_s3_palmount" between line 64 and 65.



SetLocalInt(oMount, "X3_HORSE_MOUNT_SPEED", X);

Because this code above will be set just one time. When you dismount, you get a new horse without the variable, however get the default speed again.


 


It works fine with blueprint edits.



               
               

               
            

Legacy_WhiteTiger

  • Hero Member
  • *****
  • Posts: 889
  • Karma: +0/-0
How to change the Paladin Horse Speed?
« Reply #40 on: May 08, 2014, 02:53:07 am »


               


Is the paladin doing the summoning already hasted? I haven't looked at the relevant code, but if it uses the function I think it does, there's probably a stacking issue with haste.


 


Funky




 


Surely, the haste increase the horse speed (tested), but what was happening is that the variable wasn't taking effect on horse XD