Code: Select all
Program Spirit;
{$Include 'all.inc'}
var
k : integer;
ctime : TDateTime;
	procedure TrySpirit;
		begin
			repeat
				waitconnection(3000);
				ctime := Now;
				k := 0
				UseSkill('Spirit Speak');
				repeat
					wait(100);
					k := k + 1;
				until (InJournalBetweenTimes('You fail|You channel|You lack|You establish', ctime, Now)<>-1) or (Mana < (MaxMana - 50)) or (k > 300);
				wait(500);
				If (InJournalBetweenTimes('You establish', ctime, Now)<>-1) then
				begin
					wait(5000);
					SetWarMode(true);
					wait(500);
					SetWarMode(false);
				end;
			until (Mana < (MaxMana - 50));
		end;
	procedure TryMedit;
		begin
			while (Mana < MaxMana) do
			begin
				waitconnection(3000);
				ctime := Now;
				k := 0
				UseSkill('Meditation');
				repeat
					wait(100);
					k := k + 1;
				until (InJournalBetweenTimes('reached full mana|lost', ctime, Now)<>-1) or (k > 600);
				wait(500);
			end;
		end;
Begin
	while not Dead do
	begin
		TrySpirit;
		TryMedit;
	end;
End.


