Code:
public void CreateProjectile(int casterY, int casterX, int offsetY,
int offsetX, int angle, int speed, int gfxMoving, int startHeight,
int endHeight, int MageAttackIndex)
{
label0:
{
int i2 = 1;
do
{
PlayerHandler _tmp = server.playerHandler;
if(i2 >= 650)
break label0;
PlayerHandler _tmp1 = server.playerHandler;
if(PlayerHandler.players[i2] != null)
{
PlayerHandler _tmp2 = server.playerHandler;
client client1 = (client)PlayerHandler.players[i2];
if(client1.WithinDistance(absX, absY, client1.absX, client1.absY, 60) && client1.heightLevel == heightLevel)
{
PlayerHandler _tmp3 = server.playerHandler;
if(PlayerHandler.players[i2] != null)
{
PlayerHandler _tmp4 = server.playerHandler;
if(!PlayerHandler.players[i2].disconnected)
{
client1.outStream.createFrame(85);
client1.outStream.writeByteC(casterY - client1.mapRegionY * 8 - 2);
client1.outStream.writeByteC(casterX - client1.mapRegionX * 8 - 3);
client1.outStream.createFrame(117);
client1.outStream.writeByte(angle);
client1.outStream.writeByte(offsetY);
client1.outStream.writeByte(offsetX);
client1.outStream.writeWord(MageAttackIndex);
client1.outStream.writeWord(gfxMoving);
client1.outStream.writeByte(startHeight);
client1.outStream.writeByte(endHeight);
client1.outStream.writeWord(51);
client1.outStream.writeWord(speed);
client1.outStream.writeByte(16);
client1.outStream.writeByte(64);
}
}
}
}
i2++;
} while(true);
}
}