Code: Select all
// Magery script fo DRW. crafted by Sevenamber
Program Magery;
{$Include 'all.inc'}
var
mtime : TDateTime;
tmana: integer;
i:integer;
const
minLimOfMana=7;// минимальный уровень маны, после которого начинаем медитировать
CastSpell='Poison';
eat=$09D0;// тип еды
NS =$0F88;// тип NS
mishenb=$0EFA;// на что будем пускать
procedure medium;// медитируем
begin
if connected then
repeat
mtime:=Now;
UseSkill('Meditation');
repeat
checksave;
until ((InJournalBetweenTimes('concentration|peace', mtime, Now)<>-1) or (Mana=Int) or (dead) or (not connected));
until ((InJournalBetweenTimes('You are at peace', mtime, Now)<>-1) or dead or (not connected));
UseObject(FindType(eat,Backpack));
end;
procedure Wait_Target(time_ms:Cardinal);
var
TempTime,SumTime:Cardinal;
begin
SumTime:=0;
repeat
checksave;
TempTime:=Timer;
SumTime:=SumTime+(Timer-TempTime);
until ((targetpresent) or (dead) or (not connected) or (SumTime>time_ms));
end;
begin
clearjournal;
SetARStatus(true);
while not Dead do
begin
while not connected do wait(1000);
checksave;
tmana:=Mana;
if Mana > minLimOfMana then
begin
if TargetPresent then CancelTarget;
// подсчёт NS
i := Count(NS);
addtosystemjournal('осталось: ' + inttostr(i) +' NS');
//
cast(CastSpell);
Wait_Target(10000);
WaitTargetType(mishenb);
repeat
checksave;
until ((tmana>Mana) or (not connected) or dead);
end
else medium;
end;
end.