--[[ a.abolishin Царь скорпионов. Более чистая версия quest_scorp.lua. UPDATE Арама 27.03.2012 Добавлена управляющая функция для бота Дух Царя скорпионов ]] function bot_Scorpion_r(A, C) local bot = PERS(my.persPtr) -- время призыва if bot_ScorpionSummonTime == nil then bot_ScorpionSummonTime = {} end if bot_ScorpionSummonTime[bot.id] == nil then bot_ScorpionSummonTime[bot.id] = my.stime + C[1] end -- озверение if bot_ScorpionEnrage == nil then bot_ScorpionEnrage = {} end if bot_ScorpionEnrage[bot.id] == nil then bot_ScorpionEnrage[bot.id] = C[5] end -- укус if bot_ScorpionBite == nil then bot_ScorpionBite = {} end if bot_ScorpionBite[bot.id] == nil then bot_ScorpionBite[bot.id] = C[6] end -- если наш статус неактивный, ничего не делаем if my.status ~= FS_PS_ACTIVE then return end -- призыв скорпионов if A[4] and (bot_ScorpionSummonTime[bot.id] <= my.stime) then for _=1, C[2] do aux.useEffect({artId = A[4]}) end bot_ScorpionSummonTime[bot.id] = my.stime + C[1] end local hpC = bot.hp/bot.hpMax -- удар жалом (крит + яд + атака) if hpC <= (bot_ScorpionBite[bot.id] * C[3]) then aux.useEffect({artId = A[1]}) aux.useEffect({artId = A[2]}, my.oppPtr) bot_ScorpionBite[bot.id] = bot_ScorpionBite[bot.id] - 1 else ATTACK(math.random(3)) -- озверение if hpC <= (bot_ScorpionEnrage[bot.id] * C[4]) then aux.useEffect({artId = A[3]}) bot_ScorpionEnrage[bot.id] = bot_ScorpionEnrage[bot.id] - 1 end end end function bot_Scorpion() -- крит, травилка, стан, призыв local A = {2285, 2300, 2284, 2286} -- время призыва, кол-во призываемых мобов, шаг для укуса, шаг для озверения, кол-во озверений, кол-во укусов local C = {30, 1, 0.05, 0.1, 9, 19} bot_Scorpion_r(A, C) end function bot_Scorpion_ghost() -- крит, травилка, стан, призыв local A = {2285, 2300, 2284, 11275} -- время призыва, кол-во призываемых мобов, шаг для укуса, шаг для озверения, кол-во озверений, кол-во укусов local C = {900, 10, 0.05, 0.1, 9, 19} bot_Scorpion_r(A, C) end function bot_Scorpion_Morok() -- крит, травилка, стан local A = {2285, 2300, 2284} -- время призыва, кол-во призываемых мобов, шаг для укуса, шаг для озверения, кол-во озверений, кол-во укусов local C = {0, 0, 0.7, 0.3, 1, 1} bot_Scorpion_r(A, C) end function bot_Scorpion_Morok1854() -- крит, травилка, стан local A = {14031, 14032, 14030} -- время призыва, кол-во призываемых мобов, шаг для укуса, шаг для озверения, кол-во озверений, кол-во укусов local C = {0, 0, 0.7, 0.3, 1, 1} bot_Scorpion_r(A, C) end