From: Xanith
I'm willing to help. Unfortunately I do not know much about Coding with MSI. =[ But I'll try.
Well the most important part, I think, is to get a good IsTeleporting function written. Look at IsAlching
function MSI_IsAlching(WaitTime: Integer): Boolean;
var
t: Integer;
b: TBox;
begin
t := (GetSystemTime + WaitTime);
b := IntToBox(MSCX - 30, MSCY - 40, MSCX + 30, MSCY + 15);
SMART_DrawBoxEx(True, b, clRed);
while (GetSystemTime < t) do
begin
if (PixelShift(b, 200) > ANIM_COL_ALCH) then
begin
MSI_SubDebug('We are alching!');
Result := True;
Exit;
end;
Wait(RandomRange(10, 30));
end;
Result := False;
end;
Not very complex. We can even work in Reflection animations to ``confirm" the color results (i.e. if color thinks we're teleporting, check the reflection animation to make sure).
I think that would be a good place to start. :)