Jump to content

Kit Revisions Beta 20


Recommended Posts

I've tried changing condition, didn't work.

Removing "protection from spell" opcode

Changing spell cast to something else

Looking how fireshield works to tweak it so

various combinations of above.

none worked :( I'm completely at a loss here. Moreover, since the Opcodes in IESDP and NI don't match - 11 are listed in IESDP and NI shows 8.

Link to comment

I'm starting to think opcode 232 is somewhat glitched. One thing I noticed is that even Diehard doesn't work when regen is set to 1 hp every 6 seconds (icon is displayed but the character doesn't regain hp), but it works at level 14 when regen is 1 hp every 3 seconds. I remember you telling me Diehard working fine on your install even at level 11, can you confirm it?

 

Anyway, unfortunately I'm falling asleep (I got almost no rest the last night), thus I have to delay more tests to tomorrow. I'll try to get up early, this damn issue won't let me sleep well. :(

Link to comment

I'm tired as well. I'll recheck Diehard, I tweaked Berserker to get it at level 1 a few days ago and something indeed was wrong (maybe my tweak :D ). From my memory, it does regenerate, but much slower than 1hp/6 seconds. Will test it and let you know.

 

EDIT:

Good news!

It works correctly for me. Icon is displayed when first he goes below 50% with a slight delay, and sometimes briefly dissapears - but regeneration is there, and it seems to be 1 every 6 seconds. Hard to tell since time in BG isn't calculated exactly as on a stopwatch, but it's approximately correct.

Of course, it's a slow regeneration rate. That's why I constantly bragged about increasing it :p .

At level 14 it's faster, and at level 17 even faster.

Try observing with "Tab" key pressed for about 10-15 seconds. Thing about it is it doesn't trigger instantly. Icon displays very quickly but not regeneration itself, it can have more than 5 seconds delay before it regenerates even 1HP.

Potion of speed or Haste double the amount, so you'll surely notice the difference.

Edited by kreso
Link to comment

It's past 3 o'clock here. But....I think I have something done. Demi, you should verify that this works and I haven't made a total mess. However, this was quite helpful. I don't know if the solution is there, but it was for mine line of thinking. Anyways, I opened dvcl323.spl via NI. Under "spell ability" I opened the second one, "spell cast on condition" doesn't seem to work - my thinking was it's that what should be changed. I right-clicked on it, edit as hex, so that it reads e8 03 h. Of course, this is all a bunch of **** to me (I work with people, not programming, so this might as well be Mandarine Chinese).

I can confirm that Berserker goes in Frenzy when struck. I tested it with 100% chance (dvcl323c.spl) and 20%, works as intended.

Now, I noticed several issues so this definitely needs work; most notably -

even though Berserk effect is there, no additional bonuses are - no +1 apr, no AC penalty etc.

I hope this helped a bit.

 

EDIT:

Ummm....this only works for saved games. If I create a new Berserker, I get CTD when I click on "Skills" tab on character generation :(. Hope this helped anyway.

 

EDIT 2:

I tried replicating this. It doesn't work. Berserker from saved game had a Berserk flag set, that's why he was "yellow-circled" when the battle started. Due to how this works, sometimes he'd go "Frenzy" sooner, sometimes later. Bah. :( That's why no additional Frenzy bonuses were there.

Now I hope at least the link above will provide some useful info.

Edited by kreso
Link to comment

Character level is 18 (new ToB char). Neither Diehard nor Frenzy work.

 

EDIT I have added the same effect onto item with permanent timing - it worked fine. Compared both effects in the save (from CLAB and from item) in NI - they look identical.

 

EDIT 2: WTF??? I've removed the effect from the item, reloaded the clean save - Frenzy works now.

 

EDIT 3: Rolfmao, it's incredible :lol: I've noticed that there was only one 232 in the save. So I've dug further - the autosave has NOTHING AT ALL (guess the save with working Frenzy wasn't clean after all?).

 

EDIT 4: Well, that sums it up - effects are simply not applied to the character, including DVCL323's 248 too. More still, I get the "You can not cast multiple instances of the same contingency spell on yourself" immediately after the game starts, and removing the regen effect from the pre-equipped Ring of Regeneration has changed nothing.

 

EDIT 5: I've removed the 232 from DVCL323, and there was no message now, but still nothing has appeared in CRE's saved effects.

Edited by Ardanis
Link to comment

I think ToBEx simply added the option to tweak how often the condition to trigger the spell is checked, which can be useful to make Diehard trigger without delay for example, but afaik it should not make a difference for our particular issue.

 

The absurd thing is that I've also tried to simply make dvcl322 (the working Diehard 'cast spell on condition') cast dvcl323a (Frenzy) instead of dvcl322a (regen) and it stopped working!

 

Character level is 18 (new ToB char). Neither Diehard nor Frenzy work.
Wtf? I created 3 Berserkers in a row and Diehard worked fine each time...what the hell is going on? Should we ask help to A64? I'm really lost here...
Link to comment

Character level is 18 (new ToB char). Neither Diehard nor Frenzy work.

Confirmed. Diehard seems to when gained at 11, and then upgrades twice correctly. However, when starting ToB it doesn't work.

I believe this is the feature of the uploaded beta, I'm quite sure it worked a day ago. Gonna try reverting to beta15 and see if it works there.

 

EDIT

It works with beta 15 in ToB. As I recall, it works with the original beta 16 as well. I tried this many times, so I'm quite certain.

 

EDIT 2:

in the post above I was refering to this

 

It's a hard-coded part of the effect if the parent resource is a SPL.

 

if (effect.nParentResourceType == 1 && //spell

effect.rParentResource.IsNotEmpty()) {

CSpellProtection* pSpellProt = IENew CSpellProtection();

pSpellProt->rSpell = effect.rParentResource;

pSpellProt->strrefMsg = creTarget.GetCurrentObject().EnemyAlly <= EA_CONTROLLEDCUTOFF ? 0x806C : -1;

creTarget.cdsCurrent.m_SpellProtections.AddTail(pSpellProt);

}

If the opcode 232 parent resource type is a spell, a spell protection gets added against the parent resource. 0x806C is the strref you are mentioning. Only happens to controlled characters (neutral and enemy AI still have the restriction, but the strref is -1).

 

 

Aha. This solves the mystery why effects are not read after opcode 232. This also has consequences of aura-like spells and blade barriers to be non-refreshable while they're active.

 

The developers might have intended this to prevent the functioning of more than one contingency at a time. Making this protection kick in only if internally accessed via contingency would make this opcode more reliable. In that case, to prevent characters from taking damage from fireshield/blade barrier more than once, this opcode does need that "non-stacking" property you are deprecating. I'd think this is a fix rather than an extension.

 

-Galactygon

Edited by kreso
Link to comment

Character level is 18 (new ToB char). Neither Diehard nor Frenzy work.

Confirmed. Diehard seems to when gained at 11, and then upgrades twice correctly. However, when starting ToB it doesn't work.

I believe this is the feature of the uploaded beta, I'm quite sure it worked a day ago. Gonna try reverting to beta15 and see if it works there.

Wait a second...I have not touched Diehard at all since the last beta, if it worked back then it should still work!

 

But...what if the problem is "character generation"? It might be that getting these effects at level up work and getting them at character generation doesn't. It makes no sense but it's not like anything make sense right now.

 

 

Edit: F**K! I guessed right. :( If I get the ability at level up everything works fine (Berserker enters a frenzy when struck), but if the abillity is gained at character generation it doesn't work. Thanks BG engine.

Edited by Demivrgvs
Link to comment

If this is true, I fail to see why Diehard works in previous beta even if I start ToB game. But then again,

It makes no sense but it's not like anything make sense right now.

Anyhow, if you can make it work when level-up is gained, is it possible to get this ability at level 2 so it would work?

 

EDIT

I tried editing clab and assigning 323 at level 2. It works. Can't believe it, but it works.

Edited by kreso
Link to comment

It would not work for SoA characters, who start at level 7.

 

Latest news - I was able to get it to work partially (248 and Diehard appearing) after some tweaking of dvcl332 and dvcl323, but when I've used the original files and deleted Frenzy from dvcl323 it broke once again. I suspect something may have to do with b16's SPLs, but I'm not sure, will test more.

Link to comment
I tried editing clab and assigning 323 at level 2. It works. Can't believe it, but it works.
Well, not for me.

 

EDIT

Well, it does also seem to have do with dvcl323 and dvcl322 themselves.

Edited by Ardanis
Link to comment
I have solved the issue with 248 not appearing - it had the probability set to 0.

If you mean the "5% chance on hit" (while not enraged) to enter a frenzy, that was disabled on purpose man. :) It was still there only in case we wanted to re-enable it.
Link to comment

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.

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.

×
×
  • Create New...