rendered paste bodyfunction fship::breakDir(%reg,%speed)
{
echo("FSHIP BREAK DIR");
%az = free::getShipData(%reg,"az",4);
%axy = free::getShipData(%reg,"axy",4);
echo("AZ " @ %az);
echo("AXY " @ %axy);
%x = 0;
if (%axy == 0 || %axy == 360) { %x = 0; }
if (%axy > 0 && %axy < 90) { %x = %axy / 90; %x = %x * 100; }
if (%axy == 90) { %x = 100; }
if (%axy > 90 && %axy < 180) { %n = %axy - 90; %n = 90 - %n; %n = %n / 90; %x = %n * 100; }
if (%axy == 180) { %x = 0; }
if (%axy > 180 && %axy < 270) { %n = %axy - 180; %n = %n / 90; %x = %n * 100; }
if (%axy == 270) { %x = 100; }
if (%axy > 270 && %axy < 360) { %n = %axy - 270; %n = 90 - %n; %n = %n / 90; %x = %n * 100; }
%y = 0;
if (%axy == 0 || %axy == 360) { %y = 100; }
if (%axy > 0 && %axy < 90) { %n = 90 - %axy; %n = %n / 90; %y = %n * 100; }
if (%axy == 90) { %y = 0; }
if (%axy > 90 && %axy < 180) { %n = %axy - 90; %n = %n / 90; %y = %n * 100; }
if (%axy == 180) { %y = 100; }
if (%axy > 180 && %axy < 270) { %n = %axy - 180; %n = 90 - %n; %n = %n / 90; %y = %n * 100; }
if (%axy == 270) { %y = 0; }
if (%axy > 270 && %axy < 360) { %n = %axy - 270; %n = 90 - %n; %n = %n / 90; %y = %n * 100; }
%z = 0;
if (%az == 0) { %z = 0; }
if (%az < 0 && %az > -90) { %n = 90 + %az; %n = -90 + %n; %n = fstring::negtopos(%n); %n = %n / 90; %z = %n * 100; }
if (%az == -90) { %z = 100; %y = 0; %x = 0; }
if (%az > 0 && %az < 90) { %n = %az / 90; %z = %n * 100; }
if (%az == 90) { %z = 100; %y = 0; %x = 0; }
echo("ZM " @ %zm);
%zm = 0; %xm = 0; %ym = 0;
%x = %x / 100; %xm = %speed * %x; if (%axy >= 0 && %axy <= 180) { %xm = %xm; }
else { %xm = fstring::postoneg(%xm); }
%y = %y / 100; %ym = %speed * %y; if (%axy >= 90 && %axy <= 270) { %ym = fstring::postoneg(%ym); }
else { %ym = %ym; }
%z = %z / 100; %zm = %speed * %z; if (%az <= 0) { %zm = fstring::postoneg(%zm); }
else { %zm = %zm; }
%z = %z * 100;
echo("Z IS " @ %z);
%xsub = 100 - %z; %xsub = %xsub / 100; echo("XM " @ %xm); echo("XSUB " @ %xsub); %xm = %xm * %xsub;
%ysub = 100 - %z; %ysub = %ysub / 100; %ym = %ym * %ysub;
return %xm @ " " @ %ym @ " " @ %zm;
}