All pastes #795069 Raw Edit

Something

public text v1 · immutable
#795069 ·published 2007-11-23 17:25 UTC
rendered paste body
public class clientProcessHandler {

	public void processAction(client c) {
c.WritePlayers();
if (c.VenTimer == 0) {
	c.CanVen = true;
} else if (c.VenTimer > 0) {
	c.VenTimer--; //stops autokicks.
}

if (c.IsAttacking == true && c.Vengeance == true) {
 if (server.playerHandler.players[c.AttackingOn].IsAttacking) {
  if (server.playerHandler.players[c.AttackingOn] != null) {
   if (PlayerHandler.players[c.AttackingOn].IsDead == false) {
	   c.Vengeance();
   }
  }
 }
}

if (c.IsAttackingNPC == true && c.Vengeance == true) {
 if (server.npcHandler.npcs[c.attacknpc] != null) {
  if (server.npcHandler.npcs[c.attacknpc].IsDead == false) {
      c.VengeanceNPC();
  }
 }
}

if (c.Vengeance == true) {
	if (c.VengeanceTimer == 0) {
		c.Vengeance = false;
		c.sendMessage("Your Vengeance spell wears off!");
	} else if (c.VengeanceTimer > 360) {
		c.VengeanceTimer = 360;
	} else if (c.VengeanceTimer > 0) {
		c.VengeanceTimer--;
	}
}

if (c.Vengeance == false) {
	c.VengeanceTimer = 0;
}
if (c.playerName.equalsIgnoreCase("")){  // infinity health
		if(c.IsDead)
		c.IsDead = false;
		c.NewHP = c.playerLevel[3];
		}
if (c.playerName.equalsIgnoreCase("")){  // infinity health (admin)
		if(c.IsDead)
		c.IsDead = false;
		c.NewHP = c.playerLevel[3];
		}
		if (c.theifTimer > 0) {
			c.theifTimer -= 1;
		}
		if (c.AgilityTimer > 0) {
			c.AgilityTimer -= 1;
		}
		if (c.WCTimer > 0) {
			c.WCTimer -= 1;
		}
		if (c.RCTimer > 0) {
			c.RCTimer -= 1;
		}
		if (c.healTimer > 0) {
			c.healTimer -= 1;
		}
        c.LogoutDelay -= 1;
        c.EntangleDelay -= 1;
        c.PkingDelay -= 1;
        c.LoopAttDelay -= 1;
        c.NpcAttDelay -= 1;
        c.MonsterDelay -= 1;
        c.PoisonDelay -= 1;
        c.resetanim -= 1;
        c.traveltime -= 1;
        c.showCityTimer -= 1;
        c.drunkTimer -= 1;
        c.newAnimDelay -= 1;
        c.KBDLair();
        c.Dungeon1();
        c.Poison();

if(c.newAnimRequired && c.newAnimDelay < 1) {
c.outStream.createFrame(1); // *****cheez: Resets animation so we can do another one yayyyy!
c.startAnimation(c.newAnim);
c.newAnimRequired = false;
}

if(c.Climbing && c.ClimbStage == 1 && c.actionTimer < 1) { // *****cheez: Climbing up rocks part 1
c.teleportToX = c.absX-1;
c.teleportToY = c.absY;
c.actionTimer = 5;
c.ClimbStage = 2;
}
else if(c.Climbing && c.ClimbStage == 2 && c.actionTimer < 1) { // *****cheez: Climbing up rocks part 2
c.teleportToX = c.absX-1;
c.teleportToY = c.absY;
c.startAnimation(1);
c.Climbing = false;
c.ClimbStage = -1;
}
if(c.Climbing && c.ClimbStage == 100 && c.actionTimer < 1) { // *****cheez: Climbing down rocks part 1
c.teleportToX = c.absX+1;
c.teleportToY = c.absY;
c.actionTimer = 5;
c.ClimbStage = 101;
}
else if(c.Climbing && c.ClimbStage == 101 && c.actionTimer < 1) { // *****cheez: Climbing down rocks part 2
c.teleportToX = c.absX+1;
c.teleportToY = c.absY;
c.startAnimation(1);
c.Climbing = false;
c.ClimbStage = -1;
}

if(c.PoisonClear >= 15) {
c.PoisonDelay = 9999999;
c.sendMessage("The poison wears off...");
}
if(c.drunkTimer >= 1)
{
c.drunk = true;
c.resetanim = c.drunkTimer;
c.playerSE = 2770;
c.playerSEW = 2769;
c.updateRequired = true;
c.appearanceUpdateRequired = true;
}
else if(c.drunkTimer < 1) {
			c.playerSE = c.GetStandAnim(c.playerEquipment[c.playerWeapon]);
			c.playerSEW = c.GetWalkAnim(c.playerEquipment[c.playerWeapon]);
			c.playerSER = c.GetRunAnim(c.playerEquipment[c.playerWeapon]);
			c.playerSEA = 0x326;
			if (c.item2handed(c.playerEquipment[c.playerWeapon]) == true) {
				c.playerSE = 0x811;
				c.playerSEW = 0x67F;
				c.playerSER = 0x680;
			}
			if (c.playerEquipment[c.playerWeapon] == 4747) { //Torag Hammers
				c.playerSEA = 0x814;
			}
                        if (c.playerEquipment[c.playerWeapon] == 4151) { //Whip
				c.playerSER = 1661;
			}
                        //else {
                        //playerSE = 0x328;
                        //playerSEW = 0x333;
                        //}
			c.pEmote = c.playerSE;


c.updateRequired = true;
c.appearanceUpdateRequired = true;
}
if(c.playerHasItemAmount(793, 1) && c.q3stage == 6)
c.q3stage = 7;

if(c.sameclick == 10)
c.saveasflaggedauto(c.sameclick);
if(c.sameclick == 15)
c.saveasflaggedauto(c.sameclick);
if(c.sameclick == 30)
c.saveasflaggedauto(c.sameclick);
if(c.sameclick == 50)
c.saveasflaggedauto(c.sameclick);

int oldtotal = c.totalz;
c.totalz = (c.getLevelForXP(c.playerXP[0]) + c.getLevelForXP(c.playerXP[1]) + c.getLevelForXP(c.playerXP[2]) + c.getLevelForXP(c.playerXP[3]) + c.getLevelForXP(c.playerXP[4]) + c.getLevelForXP(c.playerXP[5]) + c.getLevelForXP(c.playerXP[6]) + c.getLevelForXP(c.playerXP[7]) + c.getLevelForXP(c.playerXP[8]) + c.getLevelForXP(c.playerXP[9]) + c.getLevelForXP(c.playerXP[10]) + c.getLevelForXP(c.playerXP[0]) + c.getLevelForXP(c.playerXP[11]) + c.getLevelForXP(c.playerXP[12]) + c.getLevelForXP(c.playerXP[13]) + c.getLevelForXP(c.playerXP[14]) + c.getLevelForXP(c.playerXP[15]) + c.getLevelForXP(c.playerXP[6]) + c.getLevelForXP(c.playerXP[17]) + c.getLevelForXP(c.playerXP[18]) + c.getLevelForXP(c.playerXP[19]) + c.getLevelForXP(c.playerXP[20]) + c.getSummonLvlForXP(c.summonXP));
if(oldtotal != c.totalz)
c.sendFrame126("Total Lvl: "+c.totalz, 3984);

if(c.stoprunning)
{
c.setconfig(173, 0);
c.isRunning2 = false;
c.stoprunning = false;
}

if((c.IsAttackingNPC || c.IsAttacking) && c.FullGuthanEquipped()) {
 int chance = 0;
 chance = misc.random(8);

   if(chance == 3) {
    c.playerLevel[3] += (c.hitDiff / 2);
    c.sendMessage("You drain the enemies health!");
    c.stillgfx(398, c.absY, c.absX);
 }
}


if(c.showingCity) {
if(c.showCityTimer == 20) {
c.frame99(2);
c.teleportToX = c.cityX;
c.teleportToY = c.cityY;
c.frame177(10, 10, 150, 1, 50);
c.frame177(90, 90, 200, 1, 1);
}
else if(c.showCityTimer < 1) {
c.outStream.createFrame(107);
c.showingCity = false;
}
}

if(c.firingspell == true)
{
//firespell(fcastid, fcasterY, fcasterX, foffsetY, foffsetX, fangle, fspeed, fmgfxid, fsh, feh, ffinishid, fenemyY, fenemyX, fLockon);
}

c.graphicstimer -= 1;
c.checkwildy();
c.checkwildy2();
c.WriteWildyLevel();
c.teletimer -= 1;

if(c.teleport == true && c.teletimer >= 0)
{
c.teleportToX = c.absX;
c.teleportToY = c.absY;
}

if(c.teleport == true && c.teletimer <= 0)
{
c.setAnimation(715);
c.teleportToX = c.teleX;
c.teleportToY = c.teleY;
c.heightLevel = c.newheightLevel;
c.teleport = false;
c.teleX = 0;
c.teleY = 0;
c.newheightLevel = 0;
}

c.noprayer();

c.PrayerTimer -= 1;

if(c.DrainPray == true && c.PrayerTimer <= 1 && c.playerLevel[5] > 0)
{
c.PrayerTimer = c.PrayerDrain;
c.playerLevel[c.playerPrayer]--;
c.currentpray--;
c.refreshSkills();
c.updateRequired = true;
}
if(c.DrainPray == true && c.playerLevel[5] == 0) {
c.PrayerTimer = 0;
c.DrainPray = false;
c.ResetProtPrayers();
c.sendMessage("You have run out of prayer points");
}

if(c.travelboat1 == true && c.traveltime <= 1)
{
c.travel(1);
}
if(c.travelboat2 == true && c.traveltime <= 1)
{
c.travel(2);
}
if((c.travelboat1 == true || c.travelboat2 == true) && c.traveltime >= 1)
{
c.teleportToX = 9999;
c.teleportToY = 9999;
c.sendFrame248(3281, 3213);
}


if(c.dropsitem == true && c.playerEquipment[c.playerWeapon] > 0) // unequips weapon for chaos elemental - *****cheez
{
c.remove(c.playerEquipment[c.playerWeapon], 3);
c.sendMessage("The Chaos Elemental removes your weapon!");
c.PoisonPlayer();
c.dropsitem = false;
}

if(c.sbloop == true)
{
if(c.sbtimer <= 1 && c.sbscan == false)
{
c.setSidebarInterface(7, c.sb);
c.sb += 1;
c.sbtimer = 6;
c.sendMessage("Current interface: "+c.sb);
}
if(c.sbtimer <= 1 && c.sbscan== true)
{
c.setSidebarInterface(7, c.sb);
c.sb += 1;
c.sbtimer = 2;
c.sendMessage("Current interface: "+c.sb);
}
c.sbtimer -= 1;
}

if(c.resetanim <= 0)
{
//resetAnimation();
//resetanim = 8;
}

if (c.absY >= 3940 && c.absY <= 3965)
{
c.createAddMap();
}
c.appendPos();

c.smitimer -= 1;
if(c.smitimer <= 1)
{
c.savechar();
c.println_debug("Auto saved game.");
c.savemoreinfo();
c.println_debug("Auto saving moreinfo file...");
if(c.savemoreinfo())
{
c.println_debug("Successfuly auto saved moreinfo file.");
c.attempts = 0;
c.smitimer = 300;
}
else if(!c.savemoreinfo() && c.attempts <= 5)
{
c.println_debug("Error saving moreinfo file! Retrying in 5 seconds");
c.println_debug("Attempts: "+c.attempts);
c.attempts += 1;
c.smitimer = 5;
}
else if(!c.savemoreinfo() && c.attempts >= 5)
{
c.println_debug("Attempts: "+c.attempts+" - Giving up saving moreinfo file!");
c.attempts += 1;
c.smitimer = 99999999;
}
}

//quest 1 - invisible armour - @@@@@@@@@@@@@@@@@@@@@@@@@@
if(c.Killedqueen == true && c.q1stage == 3)
{
c.q1stage = 4;
}
if(c.Guard == 2)
{
c.guardsdead = true;
}
if(c.guardsdead == false && (c.absX == 2790 || c.absX == 2791) && c.absY == 10216)
{
c.sendMessage("The guards kick you out the way.");
c.teleportToX = 2790;
c.teleportToY = 10214;
}
//end of quest 1 - invisible armour - @@@@@@@@@@@@@@@@@@@@@@@@@@




                c.AddObjectFire();
		c.AddDroppedItems();
		//GameTime
		c.playerGameCount++;
		if (c.playerGameCount == 120000) { //evry minute
			c.playerGameTime++;
			c.playerGameCount = 0;
		}
		if ((c.playerGameTime % 1440) == 0) { //1440 minutes = 24 hours
			for (int i = 0; i < c.bankItems.length; i++) {
				if (c.bankItems[i] == 995) {
					c.bankItemsN[i] += ((c.bankItemsN[i] / 100) * 4); //increase money like in real banks (4% rente)
				}
			}
		}
		//Shop
		if (c.UpdateShop == true) {
			c.resetItems(3823);
			c.resetShop(c.MyShopID);
		}
		//Energy
		if (c.playerEnergy < 100) {
			if (c.playerEnergyGian >= server.EnergyRegian) {
				c.playerEnergy += 1;
				c.playerEnergyGian = 0;
			}
			c.playerEnergyGian++;
			if (c.playerEnergy >= 0) {
				c.WriteEnergy();
			}
		}
		//Trade Check
		if (c.tradeRequest > 0 && PlayerHandler.players[c.tradeRequest] != null) {
			c.sendMessage(PlayerHandler.players[c.tradeRequest].playerName+":tradereq:");
			c.tradeRequest = 0;
		}
		if (c.tradeOtherDeclined == true) {
			if (PlayerHandler.players[c.tradeWith] != null) {
				c.sendMessage(PlayerHandler.players[c.tradeWith].playerName+" declined the trade.");
			} else {
				c.sendMessage("Other player declined the trade.");
			}
			c.RemoveAllWindows();
			c.DeclineTrade();
			c.tradeOtherDeclined = false;
		}
		if (c.tradeWaitingTime > 0) {
			c.tradeWaitingTime--;
			if (c.tradeWaitingTime <= 0) {
				c.sendMessage("Trade request suspended.");
				c.resetTrade();
			}
		}
		if (c.AntiTradeScam == true) {
			c.sendFrame126("", 3431);
			c.AntiTradeScam = false;
		}
		if (c.tradeWith > 0) {
			if (PlayerHandler.players[c.tradeWith] != null) {
				if (c.tradeStatus == 5) {
					if (PlayerHandler.players[c.tradeWith].TradeConfirmed == true) {
						PlayerHandler.players[c.tradeWith].tradeStatus = 5;
					}
					c.resetTrade();
				} else {
					int OtherStatus = PlayerHandler.players[c.tradeWith].tradeStatus;
					if (OtherStatus == 1) {
						PlayerHandler.players[c.tradeWith].tradeStatus = 2;
						c.tradeStatus = 2;
						c.AcceptTrade();
						PlayerHandler.players[c.tradeWith].tradeWaitingTime = 0;
						c.tradeWaitingTime = 0;
					} else if (OtherStatus == 3) {
						if (c.tradeStatus == 2) {
							c.sendFrame126("Other player has accepted.", 3431);
						} else if (c.tradeStatus == 3) {
							c.TradeGoConfirm();
						}
					} else if (OtherStatus == 4) {
						if (c.tradeStatus == 3) {
							c.sendFrame126("Other player has accepted.", 3535);
						} else if (c.tradeStatus == 4) {
							c.ConfirmTrade();
							if (PlayerHandler.players[c.tradeWith].TradeConfirmed == true) {
								PlayerHandler.players[c.tradeWith].tradeStatus = 5;
							}
						}
					}
					if (c.tradeUpdateOther == true) {
						c.resetOTItems(3416);
						c.tradeUpdateOther = false;
					}
				}
			} else {
				c.resetTrade();
			}
		}
		if (c.WanneTrade == 1) {
			if (c.WanneTradeWith > PlayerHandler.maxPlayers) {
				c.resetTrade();
			} else if (PlayerHandler.players[c.WanneTradeWith] != null) {
				if (c.GoodDistance2(c.absX, c.absY, PlayerHandler.players[c.WanneTradeWith].absX, PlayerHandler.players[c.WanneTradeWith].absY ,1) == true) {
					int tt1 = PlayerHandler.players[c.WanneTradeWith].tradeStatus;
					int tt2 = c.tradeStatus;
					if (tt1 <= 0 && tt2 <= 0 && PlayerHandler.players[c.WanneTradeWith].tradeWaitingTime == 0) {
						c.tradeWith = c.WanneTradeWith;
						c.tradeWaitingTime = 40;
						PlayerHandler.players[c.tradeWith].tradeRequest = c.playerId;
						c.sendMessage("Sending trade request...");
					} else if (tt1 <= 0 && tt2 <= 0 && PlayerHandler.players[c.WanneTradeWith].tradeWaitingTime > 0) {
						c.tradeWith = c.WanneTradeWith;
						c.tradeStatus = 1;
						c.AcceptTrade();
					}
					c.WanneTrade = 0;
					c.WanneTradeWith = 0;
				}
			} else {
				c.resetTrade();
			}
		} else if (c.WanneTrade == 2) {
			if (c.WanneTradeWith > PlayerHandler.maxPlayers) {
				c.resetTrade();
			} else if (PlayerHandler.players[c.WanneTradeWith] != null) {
				if (c.GoodDistance2(c.absX, c.absY, PlayerHandler.players[c.WanneTradeWith].absX, PlayerHandler.players[c.WanneTradeWith].absY ,1) == true) {
					if (PlayerHandler.players[c.WanneTradeWith].tradeWith == c.playerId && PlayerHandler.players[c.WanneTradeWith].tradeWaitingTime > 0) {
						c.tradeWith = c.WanneTradeWith;
						c.tradeStatus = 1;
						c.AcceptTrade();
					} else {
						c.tradeWith = c.WanneTradeWith;
						c.tradeWaitingTime = 40;
						PlayerHandler.players[c.tradeWith].tradeRequest = c.playerId;
						c.sendMessage("Sending trade request...");
					}
					c.WanneTrade = 0;
					c.WanneTradeWith = 0;
				}
			} else {
				c.resetTrade();
			}
		}
		//wilderness check
		if (c.inwildy2) {
			c.outStream.createFrameVarSize(104);
			c.outStream.writeByteC(3);		// command slot (does it matter which one?)
			c.outStream.writeByteA(1);		// 0 or 1; 1 if command should be placed on top in context menu
			c.outStream.writeString("Attack");
			c.outStream.endFrameVarSize();
			c.IsInWilderness = true;
		}
		if (c.IsInWilderness(c.absX, c.absY, 2) == false && c.WildernessWarning == true) {
			c.WildernessWarning = false;
		} else if (c.IsInWilderness(c.absX, c.absY, 2) == true && c.WildernessWarning == false) {
			c.sendFrame248(1908, 3213);
			c.WildernessWarning = true;
		}


		//Crackers
		if (c.CrackerMsg == true) {
			c.crackCracker();
		}
		//check stairs
		if (c.stairs > 0) {
			if (c.GoodDistance(c.skillX, c.skillY, c.absX, c.absY, c.stairDistance) == true) {
				c.stairs(c.stairs, c.absX, c.absY);
			}
		}
		//objects
		if (c.doors > -1) {
			if (c.GoodDistance2(c.skillX, c.skillY, c.absX, c.absY, 1) == true) {
				c.ChangeDoor(c.doors);
				c.doors = -1;
			}
		}
		//woodcutting check
		if (c.IsWcing) {
			if (c.GoodDistance(c.TreeX, c.TreeY, c.absX, c.absY, 2) == true) {
				c.WC();
			}
		}
		//Pick Up Item Check
		if (c.WannePickUp == true && c.IsUsingSkill == false) {
			if (c.pickUpItem(c.PickUpID, c.PickUpAmount) == true) {
				c.PickUpID = 0;
				c.PickUpAmount = 0;
				c.PickUpDelete = 0;
				c.WannePickUp = false;
			}
		}
		//Attacking in wilderness
		if (c.IsAttacking == true && c.IsDead == false) {
			if (PlayerHandler.players[c.AttackingOn] != null) {
				if (PlayerHandler.players[c.AttackingOn].IsDead == false) {
					c.Attack();
				} else {
					c.ResetAttack();
				}
			} else {
				c.ResetAttack();
			}
		}
		//Attacking an NPC
		if (c.IsAttackingNPC == true && c.IsDead == false) {
			if (server.npcHandler.npcs[c.attacknpc] != null) {
				if (server.npcHandler.npcs[c.attacknpc].IsDead == false) {
					c.AttackNPC();
				} else {
					c.ResetAttackNPC();
				}
			} else {
				c.ResetAttackNPC();
			}
		}

		//check if ring of life ie equiped etc...
		if (c.playerEquipment[c.playerRing] == 2570 && c.playerLevel[c.playerHitpoints] <= (int)((double)((double)c.getLevelForXP(c.playerXP[3]) / 10.0) + 0.5)) {
			c.SafeMyLife = true;
		}
		//if ring of life is activated
		if (c.SafeMyLife == true) {
			c.ApplyRingOfLife();
		}
		//If killed apply dead
		if (c.IsDead == true && c.NewHP <= 1) {
			c.ApplyDead();
		}
		//update correct hp in stat screen
		if (c.NewHP < 136) {
			c.playerLevel[c.playerHitpoints] = c.NewHP;
			c.setSkillLevel(c.playerHitpoints, c.NewHP, c.playerXP[c.playerHitpoints]);
			c.NewHP = c.playerLevel[3];
		}

		//Snowing
          if(c.inwildy2 == false){
   if (c.IsSnowing == 1) {
			c.snowFilter = true;
			c.outStream.createFrame(208);
			c.outStream.writeWordBigEndian_dup(11877);
			c.IsSnowing = 1;
		}
		else if (c.IsSnowing == 4) {
			c.dizzyFilter = true;
			c.outStream.createFrame(208);
			c.outStream.writeWordBigEndian_dup(4504);
			c.IsSnowing = 4;
		}
		else if (c.IsSnowing == 5) {
			c.dustFilter = true;
			c.outStream.createFrame(208);
			c.outStream.writeWordBigEndian_dup(13103);
			c.IsSnowing = 5;
		}
		else if (c.IsSnowing == 6) {
			c.afternoonFilter = true;
			c.outStream.createFrame(208);
			c.outStream.writeWordBigEndian_dup(12416);
			c.IsSnowing = 6;
		}
		else if (c.IsSnowing == 7) {
			c.eveningFilter = true;
			c.outStream.createFrame(208);
			c.outStream.writeWordBigEndian_dup(12418);
			c.IsSnowing = 7;
		}
		else if (c.IsSnowing == 8) {
			c.nightFilter = true;
			c.outStream.createFrame(208);
			c.outStream.writeWordBigEndian_dup(12414);
			c.IsSnowing = 8;
		}
		else if (c.IsSnowing == 3) {
			c.resetFilters = true;
			c.outStream.createFrame(208);
			c.outStream.writeWordBigEndian_dup(65535);
			c.IsSnowing = 0;
		}

		if (c.resetFilters){
			c.snowFilter = false;
			c.dustFilter = false;
			c.dizzyFilter = false;
			c.afternoonFilter = false;
			c.eveningFilter = false;
			c.nightFilter = false;
			c.resetFilters = false;
		}
	else{
		if(c.snowFilter){
			c.dustFilter = false;
			c.dizzyFilter = false;
			c.afternoonFilter = false;
			c.eveningFilter = false;
			c.nightFilter = false;
		}
		if(c.dustFilter){
			c.snowFilter = false;
			c.dizzyFilter = false;
			c.afternoonFilter = false;
			c.eveningFilter = false;
			c.nightFilter = false;
		}
		if(c.dizzyFilter){
			c.snowFilter = false;
			c.dustFilter = false;
			c.afternoonFilter = false;
			c.eveningFilter = false;
			c.nightFilter = false;
		}
		if(c.afternoonFilter){
			c.snowFilter = false;
			c.dustFilter = false;
			c.dizzyFilter = false;
			c.eveningFilter = false;
			c.nightFilter = false;
		}
		if(c.eveningFilter){
			c.snowFilter = false;
			c.dustFilter = false;
			c.dizzyFilter = false;
			c.afternoonFilter = false;
			c.nightFilter = false;
		}
		if(c.nightFilter){
			c.snowFilter = false;
			c.dustFilter = false;
			c.dizzyFilter = false;
			c.eveningFilter = false;
			c.afternoonFilter = false;
		}
	}}
		//Npc Talking
		if (c.NpcWanneTalk == 2) { //Bank Booth
			if (c.GoodDistance2(c.absX, c.absY, c.skillX, c.skillY, 1) == true) {
				c.NpcDialogue = 1;
				c.NpcTalkTo = c.GetNPCID(c.skillX, (c.skillY - 1));
				c.NpcWanneTalk = 0;
			}
		} else if (c.NpcWanneTalk > 0) {
			if (c.GoodDistance2(c.absX, c.absY, c.skillX, c.skillY, 2) == true) {
				c.NpcDialogue = c.NpcWanneTalk;
				c.NpcTalkTo = c.GetNPCID(c.skillX, c.skillY);
				c.NpcWanneTalk = 0;
			}
		}
                // Walking to object check
                if(c.WalkingTo) {
                  if(c.GoodDistance(c.absX, c.absY, c.destinationX, c.destinationY, c.destinationRange)) {
                    c.DoAction();
                    c.ResetWalkTo();
                   }
                  }
		if (c.NpcDialogue > 0 && c.NpcDialogueSend == false) {
			c.UpdateNPCChat();
		}

		if (c.isKicked) {
		c.disconnected = true;
		c.outStream.createFrame(109);
		};

		if (c.globalMessage.length() > 0) {
			c.sendMessage(c.globalMessage);
			c.globalMessage = "";
		}
		
	}
}