Jump to content
Sign in to follow this  
SixOfSpades

changing kits

Recommended Posts

I'd like to request an extension of an existing feature, please: Opcode 72, Set IDS State, does not have an option to access KIT.IDS. I've tried values of 7 through 100 as the "IDS File," but none of them seem to cause any difference in-game. If adding kits to this opcode is possible, could you please look into it?

 

I'm using version 7.0j.

Share this post


Link to post

This would be a GemRB feature request :hm:

 

The original Infinity Engine doesn't support kits in these effect opcodes.

 

You can change the kit only from scripts.

AddKit/AddSuperKit

Edited by Avenger

Share this post


Link to post

So . . . the only way to achieve this is in a game that's already been ported over to GemRB? Am I understanding you correctly?

 

It's important that the player be able to cycle between existing kits, adding new ones wouldn't do the job.

Share this post


Link to post

AddKit/AddSuperKit are IE actions.

I'm sure they are NOT working perfectly in GemRB. (I still need to find out how exactly these work in BG2).

 

Kits cannot be changed by effects in either game.

The only thing GemRB has is a way to specify ANY stat based immunity, similar to the ones in IWD2.

 

GemRB implements 0xe9 (proficiency) in a way, it could be used to change all stats, but only if the new stat is bigger than the previous one. This is a little different from the original proficiency effect, which allows changing only the proficiency stats.

0x11a (set scripting state) allows only modifying the first 100 stats after the first scripting state. (The IE didn't have boundary checks so it allowed negative and positive values, but it was useless, as IE stats are not all dwords, etc, etc. causing different crashes and weird behaviour). But the kit stat is before the scripting state stats, so this isn't useful.

 

So, back to your original question, if you want to switch to a new kit, i think AddKit is what you need.

Something like this:

 

if

hotkey(b)

checkstat(myself,A_KIT,kit)

then

response #100

AddKit(B_KIT)

end

 

if

hotkey(b)

checkstat(myself,B_KIT,KIT)

then

response #100

addkit(C_KIT)

end

..

..

if

hotkey(b)

checkstat(myself,Z_KIT,KIT)

then

response #100

addkit(A_KIT)

end

Edited by Avenger

Share this post


Link to post

Thank you. It is a testament to my ignorance of scripting that I have little more than an inkling of how to make a spell that implements what you just said, but it's a glimmer that I can work with. I shall now putter away in the the depths of IESDP until my devious little mind is satisfied.

Share this post


Link to post

I usually prefer spells over scripting, but in this case it is impossible to achieve by pure spell effects.

 

First try to create the script.

You can assign a script to a player character by editing the savegame in dltcep.

Once the script works reliably, you can try to find ways how to use it smoothly.

It is always possible to assign a script by effect. (Set AI script)

 

You can also create a dialogue to set the kit.

In this case, create an invisible creature with the dialogue assigned to it.

The kit changing spell would simply summon this creature.

Share this post


Link to post
Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...