Jump to content

Edit History

Please note that revisions older than 365 days are pruned and will no longer show here
JoeSloeMoe

JoeSloeMoe

On 3/10/2024 at 5:28 PM, Hells_Janitor said:

 

You fixed this with just xml? I'd love to know how you did it ...

Hey Hells_J,

The algorithm is basically the following:

For a given LBU Perk (e.g. lbu_SkullCrusher)

- have a local level variable keep track of the progress level (e.g. lbu_SkullCrusher_Lvl)

- everytime the ProgressLevel is increased for lbu_SkullCrusher the code also increases the corresponding lbu_SkullCrusher_Lvl.

- at the start of the lbu_SkullCrusher Perk code, check that ProgressLevel(lbu_SkullCrusher) is exactly equal to lbu_SkullCrusher_Lvl

- if they are not equal call a buff to review all Perk level variables compared to the Perks'  ProgressLevel

 

We cant assign a variable's value to the ProgressLevel variable and we cant assign the ProgressLevel value directly to a variable either (or at least I couldn't figure out how)

So instead, the buff will iterate over all ProgressLevels and level variables:

    For each Perk: Iterate until (ProgressLevel == level variable) for all Perks

      - if ProgressLevel < level variable  ? then add one to ProgressLevel (something has reset the Perk Level eg Forgettin Elixer)

      - if ProgressLevel > level variable  ? then add one to  level variable (this allows for installing on existing games - this might only be needed for the initial release)

 

So now if you drink a Forgetin Elixer the buff will be engaged as soon as you use any tool/weapon covered by the LBU Perks. The buff will put the Progress Lvl back to where is was for all Perks. Its not instant though, its done over some time in the background as the code increases the progress levels by one once per buff iteration.

 

cheers

JoeSloeMoe

JoeSloeMoe

On 3/10/2024 at 5:28 PM, Hells_Janitor said:

 

You fixed this with just xml? I'd love to know how you did it ...

Hey Hells_J,

The algorithm is basically the following:

For a given LBU Perk (e.g. lbu_SkullCrusher)

- have a local level variable keep track of the progress level (e.g. lbu_SkullCrusher_Lvl)

- everytime the ProgressLevel is increased for lbu_SkullCrusher the code also increases the corresponding lbu_SkullCrusher_Lvl.

- at the start of the lbu_SkullCrusher Perk code, check that ProgressLevel(lbu_SkullCrusher) is exactly equal to lbu_SkullCrusher_Lvl

- if they are not equal call a buff to review all Perk level variables compared to the Perks'  ProgressLevel

 

We cant assign a variable's value to the ProgressLevel variable and we cant assign the ProgressLevel value directly to a variable either (or at least I couldn't figure out how)

So instead, the buff will iterate over all ProgressLevels and level variables:

    For each Perk: Iterate until (ProgressLevel == level variable) for all Perks

      - if ProgressLevel < level variable  ? then add one to ProgressLevel (something has reset the Perk Level eg Forgettin Elixer)

      - if ProgressLevel > level variable  ? then add one to  level variable (this allows for installing on existing games - this might only be needed for the initial release)

 

So now if you drink a Forgetin Elixer the buff will be engaged as soon as you use any tool/weapon covered by the LBU Perks. The buff will put the Progress Lvl back to where is was. Its not instant though, its done over some time in the background as the code increases the progress levels by one once per buff iteration.

 

cheers

JoeSloeMoe

JoeSloeMoe

On 3/10/2024 at 5:28 PM, Hells_Janitor said:

 

You fixed this with just xml? I'd love to know how you did it ...

Hey Hells_J,

The algorithm is basically the following:

For a given LBU Perk (e.g. lbu_SkullCrusher)

- have a local level variable keep track of the progress level (e.g. lbu_SkullCrusher_Lvl)

- everytime the ProgressLevel is increased for lbu_SkullCrusher the code also increases the corresponding lbu_SkullCrusher_Lvl.

- at the start of the lbu_SkullCrusher Perk code, check that ProgressLevel(lbu_SkullCrusher) is exactly equal to lbu_SkullCrusher_Lvl

- if they are not equal call a buff to review all Perk level variables compared to the Perks'  ProgressLevel

 

We cant assign a variable's value to the ProgressLevel variable and we cant assign the ProgressLevel value directly to a variable either (or at least I couldn't figure out how)

So instead, the buff will iterate over all ProgressLevels and level variables:

    For each Perk: Iterate until (ProgressLevel == level variable) for all Perks

      - if ProgressLevel < level variable  ? then add one to ProgressLevel (something has reset the Perk Level eg Forgettin Elixer)

      - if ProgressLevel > level variable  ? then add one to  level variable (this allows for installing on existing games - this might only be needed for the initial release)

 

So now if you drink a Forgetin Elixer the buff will be engaged as soon as you use any tool/weapon covered by the LBU Perks. The buff will put the Progress Lvl back to where is was. Its not instant, its done over some time in the background as the code increases the progress levels once per buff iteration.

 

cheers

JoeSloeMoe

JoeSloeMoe

23 hours ago, Hells_Janitor said:

 

You fixed this with just xml? I'd love to know how you did it ...

Hey Hells_J,

The algorithm is basically the following:

For a given LBU Perk (e.g. lbu_SkullCrusher)

- have a local level variable keep track of the progress level (e.g. lbu_SkullCrusher_Lvl)

- everytime the ProgressLevel is increased for lbu_SkullCrusher the code also increases the corresponding lbu_SkullCrusher_Lvl.

- at the start of the lbu_SkullCrusher Perk code, check that ProgressLevel(lbu_SkullCrusher) is exactly equal to lbu_SkullCrusher_Lvl

- if they are not equal call a buff to review all Perk level variables compared to the Perks'  ProgressLevel

 

We cant assign a variable's value to the ProgressLevel variable and we cant assign the ProgressLevel value directly to a variable either (or at least I couldn't figure out how)

So instead, the buff will iterate over all ProgressLevels and level variables:

    For each Perk: Iterate until (ProgressLevel == level variable) for all Perks

      - if ProgressLevel < level variable  ? then add one to ProgressLevel (something has reset the Perk Level eg Forgettin Elixer)

      - if ProgressLevel > level variable  ? then add one to  level variable (this allows for installing on existing games - this might only be needed for the initial release)

 

So now if you drink a Forgetin Elixer the buff will be engaged as soon as you use any tool/weapon covered by the LBU Perks. The buff will put the Progress Lvl back to where is was.

 

cheers

×
×
  • Create New...