![]() |
|
King`s Bounty: Warriors of the North Next game in the award-winning King’s Bounty series |
![]() |
|
Thread Tools | Display Modes |
|
#1
|
|||
|
|||
![]()
sorry if the instructions weren't clear; the file has to be extracted from ses.kfs
i'll upload mine so you can compare just unpack in your sessions\addon folder to use |
#2
|
|||
|
|||
![]()
Thank you Sir!
|
#3
|
||||
|
||||
![]()
Yay, thank you. I'm actually going to try replacing the Last Hero with Dragon Slayer to see if it works... that way he'll at least have a 4th spell (and that one seems like what a bard should sing about!).
We are starting to need a collected Mods thread. Not it! Lol. Last edited by camelotcrusade; 10-30-2012 at 03:34 PM. |
#4
|
||||
|
||||
![]()
I am wondering if we can use this same file (unit_special_attacks.lua) to fix the Witch Hunter's "Magical Help" which right now always gives Dragon Slayer. It *might* be this section:
--------------- function special_magic_buff_attack() Attack.act_aseq(0, "buff") local dmgts = Attack.aseq_time(0, "x") local tab_spells = { {s = "dragon_slayer", prob = 0}, {s = "dark_knight", prob = 0}, {s = "light_knight", prob = 0}, {s = "divine_armor", prob = 0}, {s = "fire_breath", prob = 0}, {s = "haste", prob = 0}, {s = "stone_skin", prob = 0}, {s = "bless", prob = 0}, } ------------------ It actually goes on for a while, but if somebody who is better than I am at reading this code could look at it, maybe you can tell us what to tweak so "Magical Help" isn't always dragon slayer. Last edited by camelotcrusade; 10-30-2012 at 03:33 PM. |
#5
|
|||
|
|||
![]()
Regarding the witch hunter's issue:
I tried editing the file and replacing the prob = 0 with prob = 5. That made no difference in game. I then tried moving the {s = "bless", prob = 0}, line above the {s = "dragon_slayer", prob = 0}, line. After making that change, now my witch hunters always cast bless. It looks like the buff as it currently stands always casts the first buff in the list. |
#6
|
||||
|
||||
![]() Quote:
============= 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 = 0 else tab_spells[i].prob = math.min(0, math.ceil(tab_spells[i].prob)) end end local spell = random_choice(tab_spells) if spell.s == "dragon_slayer" then spell_dragon_slayer_attack(2, dmgts, 0) elseif spell.s == "dark_knight" then spell_dark_knight_attack(2, dmgts, 0) elseif spell.s == "light_knight" then spell_light_knight_attack(2, dmgts, 0) elseif spell.s == "divine_armor" then spell_divine_armor_attack(2, dmgts, 0) elseif spell.s == "fire_breath" then spell_fire_breath_attack(2, dmgts, 0) elseif spell.s == "haste" then spell_haste_attack(2, dmgts, 0) elseif spell.s == "stone_skin" then spell_stone_skin_attack(2, dmgts, 0) elseif spell.s == "bless" then spell_bless_attack(2, dmgts, 0) end ========== Maybe the key is in there? |
#7
|
|||
|
|||
![]()
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 ![]() |
#8
|
|||
|
|||
![]()
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.
![]() |
#9
|
|||
|
|||
![]()
Try changing the probability to 1 which is 100% in maths. (There is no probability of 5)
|
#10
|
|||
|
|||
![]() Quote:
|
![]() |
|
|