Jump to content


Photo

Increasing existing affects in characters


  • Please log in to reply
143 replies to this topic

#141 Sasha Al'Therin

Sasha Al'Therin
  • Modder
  • 615 posts

Posted 13 November 2011 - 03:40 PM

It's the same deal as levels, but slightly more complex. To compare the xp values i would need to duplicate the possible states into a state machine since there is no XPGT(S:Global).

guess i'm not seeing it...

personally i don't see why a player would want to use thief skills on more than one party member. they could always have a thief join the party if they want a backup. make the mod protagonist only...

that said, I'd use some combination of these

0x4094 Level(O:Object*,I:Level*)
0x4095 LevelGT(O:Object*,I:Level*)
0x4096 LevelLT(O:Object*,I:Level*)
0x40C3 XP(O:Object*,I:XP)
0x40C4 XPGT(O:Object*,I:XP)
0x40C5 XPLT(O:Object*,I:XP)

to determine how many skill points total need to be offered on first use of the mod, set a global equal to the level.
then when level goes up and global is one under offer normal level up amount of skills to be spread about.... Else just ask the player at install time how they want to spread the skills at each level up. Either one set for all or a different spread for each level up. then preset the effects to apply as they chose.

but i understand you want in game choices instead...

My working mods:
an AI Party Script for BG2 game engine DOWNLOAD LINK ONLY!
Interactive Tweaks for BG series with some IWD support. DOWNLOAD LINK ONLY!
Rest For 8 Hours an IWD mod
-------------------------------------------
My contributions: BG1Fixpack, BG1Tweaks
On Hold: Solestia an NPC for SOA
-------------------------------------------
My website: http://sasha-altheri...s.com/index.htm


#142 i30817

i30817
  • Member
  • 611 posts

Posted 13 November 2011 - 07:02 PM

Yes, that it. Character development of a sort. I'm still thinking about the penalty. Subtract the exp needed to get to the equivalent thief level? Make having the script set give a penality to XP (if there's a effect for this).

Anyway your suggestion in code form (took a while to compile, weidu doesn't like recursions):
Spoiler


I'm going to try to use it like this:
Spoiler


One script tree leads to another, leads to another ... until the last leads back to the original script (trying to replace the player script in a cutscene - though i can try a creature later).

Edit: tested, it's far too slow (due to being bounded by the AI ticks clock - change AI script waits until the next AI update i think.

Anyway, my tokens weren't being set with DialogueSetGlobal. I'm using the last TobEx version. Broken?


Edit2: DialogueSG(S:Name*,I:Num*) works though. Huh, I'm using "GLOBAL" too.

Edited by i30817, 13 November 2011 - 08:03 PM.


#143 i30817

i30817
  • Member
  • 611 posts

Posted 14 November 2011 - 12:30 PM

<snip>

to determine how many skill points total need to be offered on first use of the mod, set a global equal to the level.
then when level goes up and global is one under offer normal level up amount of skills to be spread about.... Else just ask the player at install time how they want to spread the skills at each level up. Either one set for all or a different spread for each level up. then preset the effects to apply as they chose.


Its very easy for the thieves skill to overflow if you focus on one - to avoid this i need to know the current skill level exactly - and that is altered by dexterity, cheating even items (those +50% or minus 40% items come to mind) that might change.

You can also easily level up more than once if using a single class and a low level single classed char.
For these reasons, the checks for the level and skills need occur any time you go to distribute skills - this doesn't solve all problems; but at least it makes my particular mod not add to them, so it's the fault of other things (items can be removed, dex increases not so much).

Or i can just cap things to 150, call it a "limitation" of the item - and ignore the racial and dex bonus; at least until and if Ascension64 adds a StatToGlobal function - though this doesn't solve the need to know the level for getting the right amount if points and when to allow "level up". That should be a lot faster thought (prob can even be done in a single dialog state with 50 replies).

Leave the automatic level up for when i can check the level rapidly in a AI script (cool idea that, would make things more seamless)

Edited by i30817, 14 November 2011 - 12:56 PM.


#144 i30817

i30817
  • Member
  • 611 posts

Posted 14 November 2011 - 03:11 PM

Hmmm... i could actually just start the level up dialog when the actual level is > the "thief" one in the script. Then differentiate there...

Edit: Oh wait, i can't since LevelGT doesn't work on globals...

Edited by i30817, 14 November 2011 - 03:25 PM.