function HasFortunateAdventurer(i,obj)
if HasHeroSkill(heroT[i],33) == not nil and random(10)+1 <= GetHeroStat(heroT[i],5) then
local bufftype = 0
for j = 1,14 do
if obj == "Buff"..j then
bufftype = j
end
end
if allFreeBuffs[bufftype] == 1 then
GiveHeroBattleBonus(heroT[i],1,1)--morale
GiveHeroBattleBonus(heroT[i],0,1)--luck
elseif allFreeBuffs[bufftype] == 2 then
if GetDate(DAY_OF_WEEK) == 7 then
GiveHeroBattleBonus(heroT[i],1,2)--morale
else
GiveHeroBattleBonus(heroT[i],1,1)--morale
end
elseif allFreeBuffs[bufftype] == 3 then
if GetDate(DAY_OF_WEEK) == 7 then
GiveHeroBattleBonus(heroT[i],1,1)--morale
GiveHeroBattleBonus(heroT[i],0,1)--luck
elseif GetDate(DAY_OF_WEEK) == 1 or GetDate(DAY_OF_WEEK) == 3 or GetDate(DAY_OF_WEEK) == 5 then
GiveHeroBattleBonus(heroT[i],0,1)--luck
else
GiveHeroBattleBonus(heroT[i],1,1)--morale
end
elseif allFreeBuffs[bufftype] == 5 then
if GetDate(DAY_OF_WEEK) == 1 then
GiveHeroBattleBonus(heroT[i],2,3)--offence
elseif GetDate(DAY_OF_WEEK) == 2 then
GiveHeroBattleBonus(heroT[i],1,1)--morale
elseif GetDate(DAY_OF_WEEK) == 3 then
GiveHeroBattleBonus(heroT[i],3,3)--defence
elseif GetDate(DAY_OF_WEEK) == 4 then
GiveHeroBattleBonus(heroT[i],0,1)--luck
elseif GetDate(DAY_OF_WEEK) == 5 then
GiveHeroBattleBonus(heroT[i],5,1)--initiative
elseif GetDate(DAY_OF_WEEK) == 6 then
GiveHeroBattleBonus(heroT[i],2,2)--offence
GiveHeroBattleBonus(heroT[i],3,2)--defence
elseif GetDate(DAY_OF_WEEK) == 7 then
GiveHeroBattleBonus(heroT[i],6,1)--speed
end
elseif allFreeBuffs[bufftype] == 6 then
GiveHeroBattleBonus(heroT[i],1,1)--morale
elseif allFreeBuffs[bufftype] == 7 then
if GetDate(DAY_OF_WEEK) == 7 then
GiveHeroBattleBonus(heroT[i],0,2)--luck
else
GiveHeroBattleBonus(heroT[i],0,1)--luck
end
end
end
end
и обновлять после боя
arrayBuffTouched[i] = {0,0,0,0,0,0,0,0}