a.greene Posted September 6 Posted September 6 Is it possible to restore lost, drained or used innate abilities without resting? I found #261 Spell: Restore Lost Spells effect, but the parameters are only for wizard/bard/sorcerer and cleric/druid/sharman Any ideas or suggestions would be appreciated... Quote
Connelly Posted September 6 Posted September 6 It can be done. There are a couple mods for it in the Beamdog forums, and there was iiSpellSystemAdjustments, but it only works for the original games. I remember finding a fork working for EE, but can't remember where. Somewhere in Spellhold Studios' forum I think. Quote
Jarno Mikkola Posted September 7 Posted September 7 (edited) 4 hours ago, Connelly said: It can be done. There are a couple mods for it in the Beamdog forums, and there was iiSpellSystemAdjustments, but it only works for the original games. I remember finding a fork working for EE, but can't remember where. Somewhere in Spellhold Studios' forum I think. Would live to see the ii's thing to work, cause the original definitely didn't work, so it was taken back in the next version. Yes, the ORIGINAL version v5. Also at the time, it had LARGE errors as "we didn't know" the .spl files internals so well as we do todays. Which had consequencies. I know this cause I rewrote the fiunction to make my own mod... just look at the readme: Quote V4.1 [19/05/2022] - Packaging update, no content changes V4 [01/06/2007] ... So, it's still as buggy as it was originally. Now, I didn't look at the code well enough to know if there is still the bugs that were in the original ... but that would say that the readme is a lie if they were not present. Also, you might want to read this, in the .tp2 code: Edited September 7 by Jarno Mikkola Quote
CamDawg Posted September 7 Posted September 7 Spell/opcode-wise, not really. You can do it via scripting with a combo of RemoveSpell + AddSpecialAbility. If it doesn't need to be tied to a specific time or event, you can always make it an at-will innate like the Pocket Plane ability (spin649). Quote
Jarno Mikkola Posted September 7 Posted September 7 57 minutes ago, CamDawg said: You can do it via scripting with a combo of RemoveSpell + AddSpecialAbility I would do this via spell effects, rather than scripting... aka, the spell that casts itself, also applies an effect that removes itself, and then an delayed effect that restores itself after the timer has passed, NO SCRIPTING needed. Quote
jastey Posted September 7 Posted September 7 Probably not what you had in mind, but the Rest() action applied individually for every party member does all resting things without advancing time / playing a resting video / triggering scripted at-rest-actions/dialogues. Quote
Jarno Mikkola Posted September 7 Posted September 7 (edited) 2 hours ago, CamDawg said: Yes, that's the at-will method I mentioned. If it's delayed, it's not at will... but sure. Just like my level'ed spell restorations were at will, except they should take 8 hours to restore say level 9 spells, so you cannot for example make the SCS's mages Time Stop indefinitely, which is a feature that it now checks and stops after a specific amount of time. Which is a thing that happens if you don't actually set a timer... or set the timer to zero. Erhm so the maximum delay in the original iiSpell... thing is LONG... which is between zero and 256 seconds... while the byte that it's written is actually a dword. Which is a fair bit more longer possible delay. (as it's 256*256) Also, it should be noted that as innate spells are innate, you cannot use the 261 opcode to restore them, you need to use a combination of opcode 172 to remove and opcode 147 to regain. And yes, that can fudge things up if it's done wrongly. Edited September 7 by Jarno Mikkola Quote
CamDawg Posted September 7 Posted September 7 For an at-will (delayed or otherwise) it's op 172 paired with op 171, not 147. Op 147 adds spells to your spell book so that you can memorize them, it won't bring it back for another casting. Quote
a.greene Posted September 7 Author Posted September 7 Thank you to everyone who responded. I appreciate your comments. Quote
Jarno Mikkola Posted September 8 Posted September 8 19 hours ago, CamDawg said: For an at-will (delayed or otherwise) it's op 172 paired with op 171, not 147. Yes, that is the correct opcodes... I don't have my notes here, so I couldn't check... but thanks. Quote
MindTyrant Posted October 9 Posted October 9 On 9/6/2024 at 9:49 PM, Jarno Mikkola said: I would do this via spell effects, rather than scripting... aka, the spell that casts itself, also applies an effect that removes itself, and then an delayed effect that restores itself after the timer has passed, NO SCRIPTING needed. Could you please break down what you mean by "spell that casts itself"? I got it to generally work, but if something happens which makes the spell fail, such as equipping a weapon that has Opcode 206 against this power dynamically applied to it, the power is just expended but not removed, requiring rest to get back my at-will power. Suggestions? Quote
Jarno Mikkola Posted October 9 Posted October 9 (edited) 37 minutes ago, MindTyrant said: Could you please break down what you mean by "spell that casts itself"? I got it to generally work, but if something happens which makes the spell fail, such as equipping a weapon that has Opcode 206 against this power dynamically applied to it, the power is just expended but not removed, requiring rest to get back my at-will power. Suggestions? Did you make it at cast effect, not after completing casting ? As the first cannot fail, while the later can. The first component in iiSpellSys... uses flawed version what later became weidus macros, called ADD_SPELL_EFFECT -type of function, which have a very regulated structure, while what I propose is the usage of the .. ADD_SPELL_CFEFFECT macro. ... well the old mod had a separate component for that fuction, starting from here... the second component. But like stated, it is not perfect. So rather than all the mumbojumbo about INSERT_BYTE etc, at line 69 and forward, you use a presettled weidu's function called LAUNCH_PATCH_FUNCTION or later term, LPF ... and giving it a few predetermined variables found in the above linked macro listing and you can do the same thing is very few lines of code. Or even one. ... The reason I give this type of answer is that I cannot find the code I ones possessed to update my original iiSpellAdjustment mod at SHSforums ... I had it coded ... but I never actually tested the thing. Cause I didn't have a BG2 install.. Edited October 9 by Jarno Mikkola Quote
MindTyrant Posted October 10 Posted October 10 On 9/6/2024 at 9:49 PM, Jarno Mikkola said: I would do this via spell effects, rather than scripting... aka, the spell that casts itself, also applies an effect that removes itself, and then an delayed effect that restores itself after the timer has passed, NO SCRIPTING needed. I am trying to do an at-will power with no scripting, using just near infinity. 13 hours ago, Jarno Mikkola said: Did you make it at cast effect, not after completing casting ? As the first cannot fail, while the later can. The first component in iiSpellSys... I am not sure what you mean by this "at cast effect". Are you talking about another Opcode? At the end of my kit granted spell, the second to last effect is a permanent Opcode 172 removal of the same spell followed by a 6 second delayed Opcode 171 giving the ability of the same spell. The only problem is if the spell fails for some reason, the at will spell just disappears. It only comes back on rest. I am not sure what you mean by iiSpellSys. It looks like a discontinued mod and the innate version was removed. It looks very dependent on scripting, just too much for a novice. I am not what to take from it. Quote
subtledoctor Posted October 10 Posted October 10 (edited) Just don’t have a delay. As long as the op172 effect is first (higher, in NI), they can both be set to “instant/permanent” and the oo172 will process before the op171, and you will have an at-will innate. Edited October 10 by subtledoctor Quote
Recommended Posts
Join the conversation
You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.