Use summoner buffs outside the party

This script allows your party leader to invite a Summoner, have the summoner use a Seraphim buff, then leave the party. It’s paired with the auto SS script for Champions

uses SysUtils;

const MIN_BUFF_TIME = 1000*5;  // 5 seconds
const EFFECT_NAME = 'Gift of Seraphim';
const SUMMONER_NAME = 'test';

function BuffTime(const Name: string; Obj: TL2Live = nil): cardinal;
var i: integer;
begin
  result:= 0;                                            
  if (Obj = nil) then Obj:= User;                    
  for i:= 0 to Obj.Buffs.Count-1 do begin            
    if (Obj.Buffs.Items(i).Name = Name) then begin    
      result:= Obj.Buffs.Items(i).EndTime;           
      break;
    end;
  end;
end;

function isInParty(cname:string):boolean;
var
  i:integer;
begin
  Result:=false;
  for i:= 0 to Party.Chars.count - 1 do
    if (SameText(Party.Chars.items(i).name,cname)) then begin
      Result:=true;
      Exit;
    end;
end;

function wait(ms:integer):boolean;
begin
  delaY(ms);
  Result:=true;
end;

procedure checkSeraphim;
begin
 while wait(500) do begin
  if (BuffTime(EFFECT_NAME) < MIN_BUFF_TIME) then begin
     Engine.inviteParty(SUMMONER_NAME);
  end
  else begin
     if (isInParty(SUMMONER_NAME)) then
      Engine.DismissParty(SUMMONER_NAME);
  end;
 end;
end;

procedure checkChampions;
begin
     while true do begin
        delay(1000);
        if (Engine.Status = lsOnline) then begin
            if (user.target.Team <> 0) then begin
                Engine.AutoSoulShot('Soulshot (A-grade)', true); // [true] = Enable soulshots
             end else begin
                Engine.AutoSoulShot('Soulshot (A-grade)', false); // [false] = Disable soulshots
             end;
        end;
     end;
end;

begin
  Script.NewThread(@checkSeraphim);
  Script.NewThread(@checkChampions);
  delay(-1);
end.

Author: Velmsun