Attack X monster first

To use edit these values

  • Name=['Dwarf Guard', 'Dwarf Soldier', 'Dwarf'];
    • Change them to monsters you would like to attack first.
  • SwitchAt=30;
    • If the monster has lass % hp than this, we will NOT change to the stronger monster.

Only set it to the hard monsters and not all of them since bats, snakes, dwarfs are not really a threat.

Const
Name=['Dwarf Guard', 'Dwarf Soldier', 'Dwarf'];
SwitchAt=30;// the % of the current attacked monster
            //that if the monster has lass % hp than this, we Will NOt change to the stronger monster.
function GetPlace(st:string):integer;
var
x:integer;
begin
Result:=1000;
for x:=Low(Name) To High(Name) do
  begin
   if Name[x]=st then
   Result:=x;
   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;

function IsCreatureBesideYou(c: TCreature): boolean;
begin
   UpdateWorld;
   Result := False;
   if (abs(c.X-self.X) <= 1) and (abs(c.Y-self.Y) <= 1) then begin
    if c.Z = self.Z then begin
     Result := True;
    end;
   end;
end;

var
x:integer;
b:boolean;
begin
while not terminated do
  begin
    b:=false;
   updateworld;
   If (Self.Attacking<>0) then
    begin
    Creature:=GetCreatureByID(Self.Attacking);
     if Creature<>nil then
      if SwitchAt<Creature.Health then
      begin
       for x := 0 to Creatures.Count - 1 do
        begin
        updateworld;
         if b then break;
         if x >= Creatures.Count then Break;
         if Creatures.Creature[x].NPC then
         if Creatures.Creature[x].z=self.z then
         if Creatures.Creature[x].Name<>self.name then
         if Creatures.Creature[x].Attacking = false then
         if IsCreatureBesideYou(Creatures.Creature[x]) then
         if GetPlace(Creature.Name)>GetPlace(Creatures.Creature[x].Name) then
             begin
               sleep(100);
                updateworld;
                Creatures.Creature[x].attacking:=true;
                 B:=true;
              end;
         end;
       end;
      end;
     Sleep(100);
   end;
end;
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License