-- $Id: bot_Egnum.lua,v 1.24 2010-02-26 15:43:30 a.abolishin Exp $ --[[ AKEB (c) 28.10.2008 11:31 a.abolishin ПЕРЕД УДАРОМ с вероятностью {P1} и при наличии {M2} маны Сделать следующее: Применить на себя абилку {A1} с вероятностью {P2} либо {A2} c вероятностью 1-{P2} Применить на себя абилку {A3} Применить на N живых ботов в своей команде с артикулами {K1} и {K2} абилку {A4} ВМЕСТО удара разыгрывается событие: - либо с вероятностью {P3} и при наличии {M1} маны применяется абилка {A9} на текущего противника - либо с вероятностью {P4} Делается следующее: ----- Применяется на себя абилка {А7} ----- Применяется абилка {А6} на {N1} случайных противников. Если до этого суммарное количество абилок {А5} и {A6} на любом из этих противников противнике было больше или равно {N2}-1, то на него сразу же применяется абилка {A8}. - иначе рандомный удар ----------------------------------------------------------------------------------------------------- 15.01.2009 Изменения в скрипте bot_Egnum.lua - Если до этого суммарное количество абилок {А5},{A6} и {A10} на любом из этих противников/противнике было больше или равно {N2}-1, то на него сразу же применяется абилка {A8}. Так же, добавить в скрипт возможность применить на живых ботов в своей команде с артикулами {K1}, {K2} и {K3}, КРОМЕ СЕБЯ, абилку {A4}. К3 – 701 ----------------------------------------------------------------------------------------------------- Скрипт: bot_Egnum.lua Управляющая функция: bot_Egnum bot_Egnum_t --]] function bot_Egnum_r(A, C) if my.status ~= FS_PS_ACTIVE then -- если наш статус неактивный, ничего не делаем return end local bot = PERS(my.persPtr) -- призыв и жуководство (отлечка) if (bot.mp >= C[2]) and (math.random() <= C[3]) then if math.random() <= C[4] then aux.useEffect({artId = A[1]}) else aux.useEffect({artId = A[2]}) end aux.useEffect({artId = A[3]}) local randPers = aux.getPersList(my.teamNum, true, true, nil, C[12]) if randPers then for _,persPtr in pairs(randPers) do local pers = PERS(persPtr) if (pers.artId == C[7]) or (pers.artId == C[8]) or (pers.artId == C[9]) then aux.useEffect({artId = A[4]}, persPtr) end end end end -- парализующий заряд local r3 = math.random() if r3 <= C[6] then aux.useEffect({artId = A[7]}) local persList = aux.getPersList(aux.oppTeamNum(), true, nil, nil, C[10]) for _,persPtr in pairs(persList) do local effCount = 0 for _,effPtr in pairs(EFF_LIST(persPtr)) do local eff = EFF(effPtr) if eff.active and ((eff.artId == A[5]) or (eff.artId == A[6]) or (eff.artId == A[10])) then effCount = effCount + 1 end end aux.useEffect({artId = A[6]}, persPtr) if effCount > C[11] then aux.useEffect({artId = A[8]}, persPtr) end end -- луч тьмы elseif (r3 <= (C[6] + C[5])) and (bot.mp >= C[1]) then aux.useEffect({artId = A[9]}, my.oppPtr) else ATTACK(math.random(3)) end end -- botId = 674, 701, 710, 841 if not bot_Egnum then -- призыв осквернителя x2, жуководство x2, парализующий заряд, парализующий поток, анимация паралича, -- паралич дыхания, луч тьмы, парализующий заряд bot_Egnum_Abilities = {3449, 3450, 3447, 3448, 3445, 3444, 3451, 3446, 3510, 3912} -- mana x2, rolls x4, botIds x3, N1, N2, N bot_Egnum_Const = {50, 1000, 0.03, 0.40, 0.2, 0.02, 672, 673, 701, 4, 3, 10} end function bot_Egnum() bot_Egnum_r(bot_Egnum_Abilities, bot_Egnum_Const) end -- botId = 769, 842 if not bot_Egnum_sov then -- призыв осквернителя x2, жуководство x2, парализующий заряд, парализующий поток, анимация паралича, -- паралич дыхания, луч тьмы, парализующий заряд bot_Egnum_sov_Abilities = {3449,3450,3447,4926,3445,4927,3451,3446,3510,3912} -- mana x2, rolls x4, botIds x3, N1, N2, N bot_Egnum_sov_Const = {50,1000,0.045,0.40,0.2,0.02,672,673,701,4,4,10} end function bot_Egnum_sov() bot_Egnum_r(bot_Egnum_sov_Abilities, bot_Egnum_sov_Const) end -- botId = if not bot_Egnum_t then -- призыв осквернителя x2, жуководство x2, парализующий заряд, парализующий поток, анимация паралича, -- паралич дыхания, луч тьмы, парализующий заряд bot_Egnum_t_Abilities = {3449,3450,3447,3448,3445,3444,3451,3446,3510,3912} -- mana x2, rolls x4, botIds x3, N1, N2, N bot_Egnum_t_Const = {50,1000,0.30,0.40,0.20,0.20,672,673,701,4,4,10} end function bot_Egnum_t() bot_Egnum_r(bot_Egnum_t_Abilities, bot_Egnum_t_Const) end -- botId = if not bot_Egnum_t2 then -- призыв осквернителя x2, жуководство x2, парализующий заряд, парализующий поток, анимация паралича, -- паралич дыхания, луч тьмы, парализующий заряд bot_Egnum_t2_Abilities = {3449,3450,3447,3448,3445,3444,3451,3446,3510,3912} -- mana x2, rolls x4, botIds x3, N1, N2, N bot_Egnum_t2_Const = {50,200,0.07,0.40,0.2,1,672,673,701,4,4,10} end function bot_Egnum_t2() bot_Egnum_r(bot_Egnum_t2_Abilities, bot_Egnum_t2_Const) end