rendered paste bodybool PathLVLtwo()
{
currentlevel_Pathing = 0;//0=lvl2,1=lvl3,2=throne
orderOFnodeINFO = 0;
LoadMap();
CombineMaplvl2_();
Do_Path();
My_Character.WaitingReassign = 0;
int Farthest_ = 0;
int X_Tele = 0;
int Y_Tele = 0;
for (short n___=0; n___ < 25 ; n___++)
{
for (short n=0; n < 200 ; n++)
{
short CropNow = 0;
for (short nn=0; nn < 200 ; nn++)
{
Map_lvl2[n][nn][3]=Map_lvl2[n][nn][2];
if ((Map_lvl2[n][nn][2]==1)&&(CropNow<1))
{
Map_lvl2[n][nn][3]=0;
CropNow++;
}
else if (Map_lvl2[n][nn][2]==0)
{
short crop_O = 0;
crop_O = nn - 1;
if (crop_O < 0){crop_O=0;}
Map_lvl2[n][crop_O][3]=0;
CropNow = 0;
}
}
}
for (short n=0; n < 200 ; n++)
{
short CropNow = 0;
for (short nn=0; nn < 200 ; nn++)
{
//Map_lvl2[nn][n][3]=Map_lvl2[nn][n][2];
if ((Map_lvl2[nn][n][3]==1)&&(CropNow<1))
{
Map_lvl2[nn][n][3]=0;
CropNow++;
}
else if (Map_lvl2[nn][n][3]==0)
{
short crop_O = 0;
crop_O = nn - 1;
if (crop_O < 0){crop_O=0;}
Map_lvl2[crop_O][n][3]=0;
CropNow = 0;
}
}
}
int Warp_Slot = -1;
for (short nn=0; nn < 256 ; nn++)
{
if ((All_Objects[nn].ObjectType == 0x02) && (All_Objects[nn].Unit_ID == 82) && (All_Objects[nn].Y_pos > 11920) && (All_Objects[nn].Y_pos < 13400))
{
Warp_Slot = nn;
break;
}
}
X_Tele = 0;
Y_Tele = 0;
if ((Warp_Slot > -1) && (Map_lvl2[(All_Objects[Warp_Slot].X_pos - 12500)/5][(All_Objects[Warp_Slot].Y_pos - 11920)/5][3] == 1))
{
X_Tele = All_Objects[Warp_Slot].X_pos;
Y_Tele = All_Objects[Warp_Slot].Y_pos;
//LogWrite_("Found_Warp.log",true,"Warp has been found at %d,%d Slot %d . Checking maploaded at %d,%d \n",All_Objects[Warp_Slot].X_pos,All_Objects[Warp_Slot].Y_pos,Warp_Slot,(All_Objects[Warp_Slot].X_pos - 12500)/5,(All_Objects[Warp_Slot].Y_pos - 11920)/5);
if (((abs(My_Character.X_pos - X_Tele)) > 46) || ((abs(My_Character.Y_pos-Y_Tele))>46))
{
X_Tele = 0;
Y_Tele = 0;
}
}
if ((X_Tele + Y_Tele) == 0)
{
Farthest_ = 0;
for (short n_=0; n_ < 200 ; n_++)
{
for (short nn_=0; nn_ < 200 ; nn_++)
{
if ((Map_lvl2[n_][nn_][3] == 1) || (((((My_Character.X_pos-12500)/5)+7)>n_) && ((((My_Character.X_pos-12500)/5)-7)<n_) && ((((My_Character.Y_pos-11920)/5)+7)>nn_) && ((((My_Character.Y_pos-11920)/5)-7)<nn_)))
{
if (Map_lvl2[n_][nn_][1] > Farthest_)
{
if (((abs(My_Character.X_pos - (12500 + (n_*5)))) < 46) && ((abs(My_Character.Y_pos-(11920 + (nn_*5)))) < 46))
{
Farthest_ = Map_lvl2[n_][nn_][1];
X_Tele = (12500 + (n_*5));
Y_Tele = (11920 + (nn_*5));
}
}
}
}
}
}
if ((X_Tele + Y_Tele)==0){break;}
My_Character.WaitingReassign = 0;
CastRightSkill(X_Tele,Y_Tele);
for (short nn=0; nn < 600 ; nn++)
{
if (My_Character.WaitingReassign == 1){break;}
Sleep(1);
}
if(CheckIfNearEntrance()){break;}
}
if(CheckIfNearEntrance())
{
for (short nn=0; nn < 256 ; nn++)
{
if ((All_Objects[nn].ObjectType == 0x02) && (All_Objects[nn].Unit_ID == 82) && (All_Objects[nn].Y_pos > 11920) && (All_Objects[nn].Y_pos < 13400))
{
for (short n=0; n < 14 ; n++)
{
RunToTarget(5,All_Objects[nn].UID);
Sleep(25);
UnitInteract(5,All_Objects[nn].UID);
for (short nnn=0; nnn < 500 ; nnn++)
{
if (My_Character.Y_pos > 13000){break;}
Sleep(1);
}
if (My_Character.Y_pos > 13000){return true; break;}
if (n = 13){return false;}
}
break;
}
}
}
else
{
return false;
}
}