Tal Criatura com tal Magia


Const

frigo = ['Dragon', 'Dragon Lord'];
flam = ['Tarantula', 'Giant Spider'];
tera = ['Orc Warlord', 'Orc Leader'];
vis = ['Frost Dragon', 'Frost Dragon Hatchling'];
mort = ['Cyclops Smith', 'Cyclops Drone'];
hur = ['Nome1', 'Nome2'];
con = ['Nome1', 'Nome2'];
san = ['Nome1', 'Nome2'];
useWand = 1 //se estiver com Wand 1 sem wand 0

function GetExoriType(Crea: TCreature): String;
begin
Result := '';

for z := Low(frigo) to High(frigo) do
begin
if AnsiLowerCase(Crea.Name) = AnsiLowerCase(frigo[z]) then
Result := 'Exori Frigo';
end;

for z := Low(flam) to High(flam) do
begin
if AnsiLowerCase(Crea.Name) = AnsiLowerCase(flam[z]) then
Result := 'Exori Flam';
end;

for z := Low(tera) to High(tera) do
begin
if AnsiLowerCase(Crea.Name) = AnsiLowerCase(tera[z]) then
Result := 'Exori Tera';
end;

for z := Low(vis) to High(vis) do
begin
if AnsiLowerCase(Crea.Name) = AnsiLowerCase(vis[z]) then
Result := 'Exori Vis';
end;

for z := Low(mort) to High(mort) do
begin
if AnsiLowerCase(Crea.Name) = AnsiLowerCase(mort[z]) then
Result := 'Exori Mort';
end;

for z := Low(hur) to High(hur) do
begin
if AnsiLowerCase(Crea.Name) = AnsiLowerCase(hur[z]) then
Result := 'Exori Hur';
end;

for z := Low(con) to High(con) do
begin
if AnsiLowerCase(Crea.Name) = AnsiLowerCase(con[z]) then
Result := 'Exori Con';
end;

for z := Low(san) to High(san) do
begin
if AnsiLowerCase(Crea.Name) = AnsiLowerCase(san[z]) then
Result := 'Exori San';
end;

end;

function GetCreatureByID(ID: integer): TCreature;
var
x: integer;
begin
Result := nil;
for x := 0 to Creatures.Count - 1 do
begin
if x >= Creatures.Count then Break;
if Creatures.Creature[x].ID = ID then
begin
Result := Creatures.Creature[x];
Exit;
end;
end;
end;

begin
sleepTime := 1100;
if useWand = 0 then
sleepTime := 1000;

while not terminated do
begin
updateworld;
if Self.Attacking <> nil then
begin
creature := GetCreatureByID(self.attacking);
if creature <> nil then
begin
exori := GetExoriType(creature);
if exori <> '' then
begin
updateworld;
if (abs(creature.x - self.x) <= 3) and (abs(creature.y - self.y) <= 3) then
begin
if Self.Attacking > 0 then
if creature.visible then
self.say(exori);
end;
end;
end;
end;
sleep(sleepTime);
end;
end;