![]() |
|
King`s Bounty: Warriors of the North Next game in the award-winning King’s Bounty series |
![]() |
|
Thread Tools | Display Modes |
#11
|
|||
|
|||
![]()
I think that somewhere along the line it overwrites the probabilities calculated with 0 so the script takes the first from the table which is dragon hunter, when I take hold of some witch hunters I'll try to find where exactly. My first guess is that it's the first if in:
for i = 1, acnt do local spell_name = tab_spells[i].s if Attack.act_is_spell(0, spell_name) then tab_spells[i].prob = 0 else tab_spells[i].prob = math.min(0, math.ceil(tab_spells[i].prob)) end if someone could comment the 3 lines starting with if and do some testing it'd be great. Cause I'd like to finish the game at least once before digging in code ![]() |
#12
|
|||
|
|||
![]()
Thank you sir for this workaround ! I finally managed to finish the second island without a single crash ! Thanks !
![]() |
#13
|
|||
|
|||
![]()
Rudi:
I tried that, but it made the game crashed (probably something I messed up while editing), so I tried something else that I think would accomplish the same thing: for i = 1, acnt do local spell_name = tab_spells[i].s if Attack.act_is_spell(0, spell_name) then tab_spells[i].prob = math.min(0, math.ceil(tab_spells[i].prob)) else tab_spells[i].prob = math.min(0, math.ceil(tab_spells[i].prob)) end end Unfortunately, it still selected the first spell in the list (bless in my case, since I shuffled bless on top of the spell group). I found an enemy group with two stacks of witch hunters, which should make for some good testing. Interestingly, when I changed that section to this: acnt = table.getn(tab_spells) for i = 1, acnt do local spell_name = tab_spells[i].s if Attack.act_is_spell(0, spell_name) then tab_spells[i].prob = math.min(2, math.ceil(tab_spells[i].prob)) else tab_spells[i].prob = math.min(2, math.ceil(tab_spells[i].prob)) end end The enemy witch hunters still always cast bless, but my witch hunter stack always casts Hell/Fire Breath (the sixth spell in the list). |
#14
|
||||
|
||||
![]()
Seems like you guys are close to figuring it out. I would love that and then I might acutally use Witch Hunters (buggy abilities turn me off).
Sorry I'm useless at programming. When I get in the game next I'm going to see if simply replacing "Last_Hero" with "Dragon_Slayer" in the Skald song area will give me that spell instead (and hopefully, no crash). That's probably the extent of my programming abilities, lol. |
#15
|
|||
|
|||
![]()
Seems to be working for me now. Should have been math.max, not math.min
Code:
for i = 1, acnt do local spell_name = tab_spells[i].s if Attack.act_is_spell(0, spell_name) then tab_spells[i].prob = 0 else tab_spells[i].prob = math.max(0, math.ceil(tab_spells[i].prob)) end end |
#16
|
|||
|
|||
![]()
Nice find, Bhruic. I was just coming back to report that I found a fix (though mine was a little different; tab_spells[i].prob = math.min(10, math.ceil(tab_spells[i].prob)) , but I think yours is the more elegant solution.
This should make the witch hunters a bit more interesting to use now. |
#17
|
|||
|
|||
![]()
I seriously wonder why they even bothered to bring back Last hero at all, when AP eliminated this spell. It is the epytome of uselessness. So much, that for The Legend, I used this spell to mod myself an "Animated Dead" spell in it's place that I could use to resurrect my undead troops.
![]() |
#18
|
|||
|
|||
![]() Quote:
|
#19
|
|||
|
|||
![]()
Try changing the probability to 1 which is 100% in maths. (There is no probability of 5)
|
![]() |
|
|