SixOfSpades Posted July 22, 2009 Share Posted July 22, 2009 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. Link to comment
Avenger Posted July 22, 2009 Share Posted July 22, 2009 This would be a GemRB feature request The original Infinity Engine doesn't support kits in these effect opcodes. You can change the kit only from scripts. AddKit/AddSuperKit Link to comment
SixOfSpades Posted July 22, 2009 Author Share Posted July 22, 2009 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. Link to comment
Avenger Posted July 22, 2009 Share Posted July 22, 2009 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 Link to comment
SixOfSpades Posted July 23, 2009 Author Share Posted July 23, 2009 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. Link to comment
Avenger Posted July 23, 2009 Share Posted July 23, 2009 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. Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.