![]() |
|
King`s Bounty: Warriors of the North Next game in the award-winning King’s Bounty series |
![]() |
|
Thread Tools | Display Modes |
|
#1
|
|||
|
|||
![]() Quote:
I've never used Alchemists/Engineers in WotN, so I'm not sure if they are supposed to have the option to mix more than one without an item. |
#2
|
|||
|
|||
![]()
Alfheim fix - the Alfheim edda is supposed to only cast beneficial spells on allies and harmful spells on enemies, but it was casting both types on any units
addon_arena.lua original: Code:
local tab_spell_select = { -- õîðîøèå çàêëû {s = "spell_dispell", nf = "magic_immunitet,pawn,boss"}, {s = "spell_haste", nf = "magic_immunitet,pawn,boss"}, {s = "spell_bless", nf = "undead,magic_immunitet,pawn,boss"}, {s = "spell_divine_armor", nf = "undead,magic_immunitet,pawn,boss"}, {s = "spell_reaction", nf = "magic_immunitet,pawn,boss"}, {s = "spell_gifts", nf = "magic_immunitet,pawn,boss"}, -- ïëîõèå çàêëû {s = "spell_defenseless", nf = "magic_immunitet,pawn,boss"}, {s = "spell_slow", nf = "magic_immunitet,pawn,boss"}, {s = "spell_magic_bondage", nf = "mind_immunitet,magic_immunitet,pawn,boss"}, {s = "spell_pygmy", nf = "magic_immunitet,pawn,boss"}, {s = "spell_scare", nf = "magic_immunitet,mind_immunitet,undead,pawn,boss"}, {s = "spell_weakness", nf = "undead,golem,plant,magic_immunitet,pawn,boss"}, {s = "spell_crue_fate", nf = "magic_immunitet,pawn,boss"}--[[, {s = "spell_ram", nf = "magic_immunitet,pawn,boss,mech"}]] } local cast = {} local spell_count = table.getn(tab_spell_select) local acnt = Attack.act_count() local total_prob = 0 for i = 1, spell_count do local spell = (tab_spell_select[i]).s local nfeatures = (tab_spell_select[i]).nf local tab_spell_targets = {} for j = 0, acnt-1 do if not Attack.act_feature(j, nfeatures) and Attack.act_takesdmg(j) then table.insert(tab_spell_targets, j) -- âûáîð áàçîâûõ öåëåé end end if table.getn(tab_spell_targets) > 0 then -- åñòü áàçîâûå öåëè local spell_lvl = Game.Random (1, 3) -- óðîâåíü çàêëà, êîòîðûé áóäåì þçàòü local applicable = Attack.build_spell_attack(spell, spell_lvl).applicable for i, t in ipairs (tab_spell_targets) do if applicable(t) then -- çàêë ïðèìåíèì íà ýòó öåëü local prob = 10 total_prob = total_prob + prob table.insert(cast, {spell = spell, level = spell_lvl, target = t, prob = prob}) end end end end Code:
local tab_spell_select_positive = { -- õîðîøèå çàêëû {s = "spell_dispell", nf = "magic_immunitet,pawn,boss"}, {s = "spell_haste", nf = "magic_immunitet,pawn,boss"}, {s = "spell_bless", nf = "undead,magic_immunitet,pawn,boss"}, {s = "spell_divine_armor", nf = "undead,magic_immunitet,pawn,boss"}, {s = "spell_reaction", nf = "magic_immunitet,pawn,boss"}, {s = "spell_gifts", nf = "magic_immunitet,pawn,boss"} } local tab_spell_select_negative = { -- ïëîõèå çàêëû {s = "spell_defenseless", nf = "magic_immunitet,pawn,boss"}, {s = "spell_slow", nf = "magic_immunitet,pawn,boss"}, {s = "spell_magic_bondage", nf = "mind_immunitet,magic_immunitet,pawn,boss"}, {s = "spell_pygmy", nf = "magic_immunitet,pawn,boss"}, {s = "spell_scare", nf = "magic_immunitet,mind_immunitet,undead,pawn,boss"}, {s = "spell_weakness", nf = "undead,golem,plant,magic_immunitet,pawn,boss"}, {s = "spell_crue_fate", nf = "magic_immunitet,pawn,boss"}--[[, {s = "spell_ram", nf = "magic_immunitet,pawn,boss,mech"}]] } local cast = {} local acnt = Attack.act_count() local total_prob = 0 local spell_count = table.getn(tab_spell_select_positive) for i = 1, spell_count do local spell = (tab_spell_select_positive[i]).s local nfeatures = (tab_spell_select_positive[i]).nf local tab_spell_targets = {} for j = 0, acnt-1 do if not Attack.act_feature(j, nfeatures) and Attack.act_takesdmg(j) and Attack.act_ally(j) then table.insert(tab_spell_targets, j) -- âûáîð áàçîâûõ öåëåé end end if table.getn(tab_spell_targets) > 0 then -- åñòü áàçîâûå öåëè local spell_lvl = Game.Random (1, 3) -- óðîâåíü çàêëà, êîòîðûé áóäåì þçàòü local applicable = Attack.build_spell_attack(spell, spell_lvl).applicable for i, t in ipairs (tab_spell_targets) do if applicable(t) then -- çàêë ïðèìåíèì íà ýòó öåëü local prob = 10 total_prob = total_prob + prob table.insert(cast, {spell = spell, level = spell_lvl, target = t, prob = prob}) end end end end spell_count = table.getn(tab_spell_select_negative) for i = 1, spell_count do local spell = (tab_spell_select_negative[i]).s local nfeatures = (tab_spell_select_negative[i]).nf local tab_spell_targets = {} for j = 0, acnt-1 do if not Attack.act_feature(j, nfeatures) and Attack.act_takesdmg(j) and Attack.act_enemy(j) then table.insert(tab_spell_targets, j) -- âûáîð áàçîâûõ öåëåé end end if table.getn(tab_spell_targets) > 0 then -- åñòü áàçîâûå öåëè local spell_lvl = Game.Random (1, 3) -- óðîâåíü çàêëà, êîòîðûé áóäåì þçàòü local applicable = Attack.build_spell_attack(spell, spell_lvl).applicable for i, t in ipairs (tab_spell_targets) do if applicable(t) then -- çàêë ïðèìåíèì íà ýòó öåëü local prob = 10 total_prob = total_prob + prob table.insert(cast, {spell = spell, level = spell_lvl, target = t, prob = prob}) end end end end |
#3
|
|||
|
|||
![]()
Book of evil correction :
in spells_power.lua Original Quote:
Quote:
|
#4
|
|||
|
|||
![]()
Nice find. Added that to the first post. Also added a fix for the Song of Svartalfheim.
|
#5
|
||||
|
||||
![]() Quote:
Imo, it should always have that 10% chance and having the item (after all, it's a belt slot!) should give you an extra 10% chance. Either that or the description should say 1 item... but then it won't be accurate when you DO have that item. Aargh. Thoughts? |
#6
|
|||
|
|||
![]()
Just do this:
Before: Code:
if Attack.act_human(0) then if Attack.act_name(0) == "alchemist" then if Logic.hero_lu_item_on_body("alchemist_toolkit") then if 10 >= Game.CurLocRand(1, 100) then charge = charge + 1 end end end end Code:
if Attack.act_human( 0 ) then if Attack.act_name( 0 ) == "alchemist" then local chance = 10 if Logic.hero_lu_item_on_body( "alchemist_toolkit" ) then chance = chance + 10 end if chance >= Game.CurLocRand( 1, 100 ) then charge = charge + 1 end end end /C\/C\ Quote:
|
#7
|
||||
|
||||
![]()
Thanks Matt! I'm going to mod my game and make a note of this on the bugs thread. Bhruic when you have time please add this to the summary. Also, thanks so much for tweaking Song of Alfheim. That one was complicated!
And I forget who linked me to the Crystal collector thread - I definitely know what's happening, I just think it's counter intuitive. Why on earth is there a reward for failing to learn your magic and hording up 100 crystals? Is it supposed to favor the Viking class or something? I find it a real killjoy and think it should be total collected. Mod for that would be great. |
#8
|
|||
|
|||
![]() Quote:
|
#9
|
||||
|
||||
![]() Quote:
For me it's not even about holding out on upgrades, it's holding out on learning the magic in the first place. I just don't get rewarding us for not learning our spells in the first place. It would be like having an award for not spending your runes (I know the Rune Mage does that, but imo not the same thing) or an award for never using new troops. Is that supposed to be fun? You know the more I think about it, the more messed up this is. It should be a reward for SPENDING your cyrstals and have a higher requirement. That would reward finding them and doing something useful. Maybe that is the Mod we should make, if it's possible. |
#10
|
|||
|
|||
![]()
Pretty sure Crystal Collector isn't bugged. It's crystal collector, not crystal finder. If you are spending the crystals you aren't collecting them. The medal for getting lots of gold works the same way.
|
![]() |
Thread Tools | |
Display Modes | |
|
|