![]() |
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 :) |
Thank you sir for this workaround ! I finally managed to finish the second island without a single crash ! Thanks ! :D
|
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). |
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. |
Seems to be working for me now. Should have been math.max, not math.min
Code:
for i = 1, acnt do |
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. |
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. :)
|
Quote:
|
Try changing the probability to 1 which is 100% in maths. (There is no probability of 5)
|
All times are GMT. The time now is 03:35 PM. |
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright © 2007 Fulqrum Publishing. All rights reserved.