本文整理汇总了C#中RunescapeServer.player.Player.getUpdateFlags方法的典型用法代码示例。如果您正苦于以下问题:C# Player.getUpdateFlags方法的具体用法?C# Player.getUpdateFlags怎么用?C# Player.getUpdateFlags使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类RunescapeServer.player.Player
的用法示例。
在下文中一共展示了Player.getUpdateFlags方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: execute
public void execute(Player player, string[] arguments)
{
foreach (Skills.SKILL skill in Enum.GetValues(typeof(Skills.SKILL)))
{
player.getSkills().setCurLevel(skill, 99);
player.getSkills().setXp(skill, Skills.getXpForLevel(99));
}
player.getPackets().sendSkillLevels();
player.getUpdateFlags().setAppearanceUpdateRequired(true);
}
示例2: execute
public void execute(Player player, string[] arguments)
{
if (arguments.Length == 0)
{
player.getPackets().sendMessage("[PlayerAsNpc command]: ::pnpc npcId");
return;
}
int npcId = 0;
if (!int.TryParse(arguments[0], out npcId))
{
player.getPackets().sendMessage("[PlayerAsNpc command]: ::pnpc npcId [npcId is not a number error]");
return;
}
player.getAppearance().setNpcId(npcId);
player.getUpdateFlags().setAppearanceUpdateRequired(true);
}
示例3: execute
public void execute(Player player, string[] arguments)
{
if (arguments.Length == 0)
{
player.getPackets().sendMessage("[Test Damage command]: ::testdmg dmg ::testdmg 2000");
return;
}
int dmg = 0;
Hits.Hit hit;
if (!int.TryParse(arguments[0], out dmg))
{
dmg = 0;
hit = new Hits.Hit(dmg, Hits.HitType.NO_DAMAGE);
}
else
{
hit = new Hits.Hit(dmg, Hits.HitType.NORMAL_DAMAGE);
}
player.getHits().setHit1(hit);
player.getUpdateFlags().setHitUpdateRequired(true);
}
示例4: crossDitch
public static void crossDitch(Player p, int x, int y) {
if (p.getTemporaryAttribute("unmovable") != null) {
return;
}
AreaEvent crossDitchAreaEvent = new AreaEvent(p, x, y - 1, x, y + 2);
crossDitchAreaEvent.setAction(() => {
p.getPackets().closeInterfaces();
p.getWalkingQueue().resetWalkingQueue();
p.setTemporaryAttribute("unmovable", true);
int newY = p.getLocation().getY() >= 3523 ? p.getLocation().getY()-3 : p.getLocation().getY()+3;
int dir = newY == 3 ? 0 : 4;
Location faceLocation = new Location(p.getLocation().getX(), dir == 3 ? 3523 : 3520, 0);
p.setFaceLocation(faceLocation);
Event crossDitchMoveEvent = new Event(500);
crossDitchMoveEvent.setAction(() => {
crossDitchMoveEvent.stop();
p.setLastAnimation(new Animation(6132));
int regionX = p.getUpdateFlags().getLastRegion().getRegionX();
int regionY = p.getUpdateFlags().getLastRegion().getRegionY();
int lX = (p.getLocation().getX() - ((regionX - 6) * 8));
int lY = (p.getLocation().getY() - ((regionY - 6) * 8));
ForceMovement movement = new ForceMovement(lX, lY, lX, newY, 33, 60, dir);
p.setForceMovement(movement);
p.setFaceLocation(new Location(x, y, 0));
Event crossDitchTeleportEvent = new Event(1250);
crossDitchTeleportEvent.setAction(() => {
crossDitchTeleportEvent.stop();
int playerY = p.getLocation().getY();
int nY = playerY >= 3523 ? 3520 : 3523;
p.teleport(new Location(p.getLocation().getX(), nY, 0));
p.removeTemporaryAttribute("unmovable");
});
Server.registerEvent(crossDitchTeleportEvent);
});
Server.registerEvent(crossDitchMoveEvent);
});
Server.registerCoordinateEvent(crossDitchAreaEvent);
}
示例5: resetVariables
private void resetVariables(Player p) {
p.setSkullCycles(0);
p.getSpecialAttack().resetSpecial();
p.setLastkiller(null);
p.setDead(false);
p.setEntityFocus(65535);
p.setPoisonAmount(0);
p.clearKillersHits();
p.setLastVengeanceTime(0);
p.setVengeance(false);
p.removeTemporaryAttribute("willDie");
p.setFrozen(false);
p.removeTemporaryAttribute("unmovable");
p.setAntifireCycles(0);
p.setSuperAntipoisonCycles(0);
p.setTeleblockTime(0);
p.removeTemporaryAttribute("teleblocked");
p.setTarget(null);
p.setAttacker(null);
foreach (Skills.SKILL skill in Enum.GetValues(typeof(Skills.SKILL)))
p.getSkills().setCurLevel(skill, p.getSkills().getMaxLevel(skill));
p.getPackets().sendSkillLevels();
Prayer.deactivateAllPrayers(p);
if (p.getTemporaryAttribute("cantDoAnything") != null) {
p.getAppearance().setInvisible(false);
p.getUpdateFlags().setAppearanceUpdateRequired(true);
p.removeTemporaryAttribute("cantDoAnything");
p.removeTemporaryAttribute("unmovable");
teleportToWaitingRoom(p, false);
p.getPackets().closeInterfaces();
p.getPackets().setMinimapStatus(0);
p.getPackets().clearMapFlag();
}
}
示例6: useOrb
public void useOrb(Player p, int button) {
if (p.getTemporaryAttribute("teleporting") != null) {
return;
}
if (button == -1) {
AreaEvent useOrbAreaEvent = new AreaEvent(p, 2398, 5171, 2400, 5173);
useOrbAreaEvent.setAction(() => {
p.getPackets().displayInventoryInterface(374);
p.getAppearance().setInvisible(true);
p.getUpdateFlags().setAppearanceUpdateRequired(true);
p.setTemporaryAttribute("cantDoAnything", true);
p.setTemporaryAttribute("unmovable", true);
p.getPackets().setMinimapStatus(2);
Event useOrbEvent = new Event(500);
useOrbEvent.setAction(() => {
useOrbEvent.stop();
int random = misc.random(4);
p.teleport(new Location(ORB_COORDINATES[1][random], ORB_COORDINATES[2][random], 0));
});
Server.registerEvent(useOrbEvent);
});
Server.registerCoordinateEvent(useOrbAreaEvent);
} else {
if (p.getTemporaryAttribute("cantDoAnything") != null) {
if (button == 5) {
Event useOrbTwoEvent = new Event(500);
useOrbTwoEvent.setAction(() => {
useOrbTwoEvent.stop();
p.getAppearance().setInvisible(false);
p.getUpdateFlags().setAppearanceUpdateRequired(true);
p.removeTemporaryAttribute("cantDoAnything");
p.removeTemporaryAttribute("unmovable");
teleportToWaitingRoom(p, false);
p.getPackets().closeInterfaces();
p.getPackets().setMinimapStatus(0);
p.getPackets().clearMapFlag();
});
Server.registerEvent(useOrbTwoEvent);
return;
}
for (int i = 0; i < ORB_COORDINATES[0].Length; i++) {
if (button == ORB_COORDINATES[0][i]) {
int j = i;
p.setTemporaryAttribute("teleporting", true);
Event teleportToOrbEvent = new Event(500);
teleportToOrbEvent.setAction(() => {
teleportToOrbEvent.stop();
p.teleport(new Location(ORB_COORDINATES[1][j], ORB_COORDINATES[2][j], 0));
Teleport.resetTeleport(p);
});
Server.registerEvent(teleportToOrbEvent);
return;
}
}
}
}
}
示例7: tileAvailable
public bool tileAvailable(Player p)
{
Location l = p.getLocation();
int regionX = p.getUpdateFlags().getLastRegion().getRegionX();
int regionY = p.getUpdateFlags().getLastRegion().getRegionY();
int x = l.getX() - ((regionX - 6) * 8);
int y = l.getY() - ((regionY - 6) * 8);
return (regionData[l.getZ(), x, y]) == 0;
}
示例8: doObstacle
public static void doObstacle(Player p, int index) {
if (p.getTemporaryAttribute("unmovable") != null) {
return;
}
switch (index)
{
case 0: // 3 planks, northern (east side)
case 1: // 3 planks, middle (east side)
case 2: // 3 planks, southern (east side)
case 3: // 3 planks, northern (west side)
case 4: // 3 planks, middle (west side)
case 5: // 3 planks, southern (west side)
int logXCoord = index <= 2 ? (int)AGILITY_ARENA_OBJECTS[index][1] + 1 : (int)AGILITY_ARENA_OBJECTS[index][1] - 1;
int logDirectionX = index <= 2 ? -7 : +7;
CoordinateEvent plankObstaclesCoordinateEvent = new CoordinateEvent(p, new Location(logXCoord, (int)AGILITY_ARENA_OBJECTS[index][2], 3));
plankObstaclesCoordinateEvent.setAction(() =>
{
bool running = p.getWalkingQueue().isRunToggled();
p.getWalkingQueue().setRunToggled(false);
p.getWalkingQueue().resetWalkingQueue();
p.getPackets().clearMapFlag();
p.setTemporaryAttribute("unmovable", true);
p.getAppearance().setWalkAnimation(155);
p.getUpdateFlags().setAppearanceUpdateRequired(true);
p.getWalkingQueue().forceWalk(logDirectionX, 0);
Event plankObstaclesEvent = new Event(4300);
plankObstaclesEvent.setAction(() =>
{
plankObstaclesEvent.stop();
p.removeTemporaryAttribute("unmovable");
p.getAppearance().setWalkAnimation(-1);
p.getUpdateFlags().setAppearanceUpdateRequired(true);
p.getSkills().addXp(Skills.SKILL.AGILITY, (double)AGILITY_ARENA_OBJECTS[index][3]);
p.getWalkingQueue().setRunToggled(running);
});
Server.registerEvent(plankObstaclesEvent);
});
Server.registerCoordinateEvent(plankObstaclesCoordinateEvent);
break;
case 6: //Handholds obstacle east of planks.
case 7: //Handholds obstacle west of planks.
int handHoldsDirectionX = 1;
int handHoldsDirectionY = 1;
if (index == 6) {
handHoldsDirectionX = -1;
handHoldsDirectionY = +1;
} else if (index == 7) {
handHoldsDirectionX = +1;
handHoldsDirectionY = -1;
}
CoordinateEvent handholdsObstacleCoordinateEvent = new CoordinateEvent(p, new Location((int)AGILITY_ARENA_OBJECTS[index][1], (int)AGILITY_ARENA_OBJECTS[index][2], 3));
handholdsObstacleCoordinateEvent.setAction(() =>
{
bool running = p.getWalkingQueue().isRunToggled();
p.getWalkingQueue().setRunToggled(false);
p.getWalkingQueue().resetWalkingQueue();
p.getPackets().clearMapFlag();
p.setTemporaryAttribute("unmovable", true);
p.setLastAnimation(new Animation(1121));
p.setFaceLocation(new Location(p.getLocation().getX(), p.getLocation().getY() + handHoldsDirectionY, 3));
Event handholdsObstaclesEvent = new Event(700);
int handholdsObstaclesCounter = 0;
handholdsObstaclesEvent.setAction(() =>
{
p.setLastAnimation(new Animation(1122));
int regionX = p.getUpdateFlags().getLastRegion().getRegionX();
int regionY = p.getUpdateFlags().getLastRegion().getRegionY();
int lX = (p.getLocation().getX() - ((regionX - 6) * 8));
int lY = (p.getLocation().getY() - ((regionY - 6) * 8));
p.setForceMovement(new ForceMovement(lX, lY, lX + handHoldsDirectionX, lY, 0, 5, 0));
if (handholdsObstaclesCounter++ >= 7)
{
p.setLastAnimation(new Animation(65535));
handholdsObstaclesEvent.stop();
p.removeTemporaryAttribute("unmovable");
p.getSkills().addXp(Skills.SKILL.AGILITY, (double)AGILITY_ARENA_OBJECTS[index][3]);
p.getWalkingQueue().setRunToggled(running);
return;
}
Event teleportEvent = new Event(500);
teleportEvent.setAction(() =>
{
teleportEvent.stop();
p.teleport(new Location(p.getLocation().getX() + handHoldsDirectionX, p.getLocation().getY(), 3));
});
Server.registerEvent(teleportEvent);
});
Server.registerEvent(handholdsObstaclesEvent);
});
Server.registerCoordinateEvent(handholdsObstacleCoordinateEvent);
break;
}
}
示例9: levelUp
public static void levelUp(Player player, SKILL skill)
{
int skillIndex = Convert.ToInt32(skill);
String s = "<br><br><br>";
String s1 = "<br><br><br><br>";
if (player.getTemporaryAttribute("teleporting") == null)
{
player.setLastGraphics(new Graphics(199, 0, 100));
}
int skillFlashFlags = (int)(player.getTemporaryAttribute("skillFlashFlags") == null ? 0 : (int)player.getTemporaryAttribute("skillFlashFlags"));
skillFlashFlags |= SKILL_FLASH_BITMASKS[skillIndex];
player.setTemporaryAttribute("skillFlashFlags", skillFlashFlags);
player.getPackets().sendMessage("You've just advanced a " + SKILL_NAME[skillIndex] + " level! You have reached level " + player.getSkills().getMaxLevel(skillIndex) + ".");
player.getPackets().modifyText(s + "Congratulations, you have just advanced a " + SKILL_NAME[skillIndex] + " level!", 740, 0);
player.getPackets().modifyText(s1 + "You have now reached level " + player.getSkills().getMaxLevel(skillIndex) + ".", 740, 1);
player.getPackets().modifyText("", 740, 2);
player.getPackets().sendConfig(1179, SKILL_ICON_BITMASKS[skillIndex] | skillFlashFlags); //start flashing appropriate skill icons
player.getPackets().sendChatboxInterface2(740);
player.getUpdateFlags().setAppearanceUpdateRequired(true);
}
示例10: appendForceMovement
private static void appendForceMovement(Player p, PacketBuilder updateBlock)
{
Location myLocation = p.getUpdateFlags().getLastRegion();
ForceMovement fm = p.getForceMovement();
updateBlock.addByteC(fm.getX1());
updateBlock.addByte((byte)(fm.getY1()));
updateBlock.addByteA(fm.getX2());
updateBlock.addByte((byte)fm.getY2());
updateBlock.addLEShort(fm.getSpeed1());
updateBlock.addLEShort(fm.getSpeed2());
updateBlock.addByteC(fm.getDirection());
}
示例11: update
/**
* Update the specified player.
* @param p
*/
public static void update(Player player)
{
//Creates a list of new players in area. [This only happens once.. no rebuilding like all runescape 2 servers.]
player.getLocalEnvironment().updatePlayersInArea();
//Attempt to skip a pointless update if possible.
//Any current users on screen got a update for me.
bool hasAppearanceUpdate = player.getLocalEnvironment().getSeenPlayers().Exists(new Predicate<Player>(delegate(Player p) { return p.getUpdateFlags().hasAnyUpdate(); }));
//No new pending players and no players pending to get removed from screen.
bool hasAddRemoveUpdate = (player.getLocalEnvironment().getNewPlayers().Count > 0 || player.getLocalEnvironment().getRemovedPlayers().Count > 0);
//no updates.. exit.
if (!hasAppearanceUpdate && !hasAddRemoveUpdate && !player.getUpdateFlags().hasAnyUpdate() && !player.getUpdateFlags().didMapRegionChange() && player.getConnection().getPingCount() < 7) return;
player.getConnection().resetPingCount();
if(player.getUpdateFlags().didMapRegionChange())
player.getPackets().sendMapRegion();
PacketBuilder mainPacket = new PacketBuilder().setId(225).setSize(Packet.Size.VariableShort).initBitAccess();
PacketBuilder updateBlock = new PacketBuilder().setSize(Packet.Size.Bare);
if (player.getUpdateFlags().isTeleporting()) { //teleport
mainPacket.addBits(1, 1);
mainPacket.addBits(2, 3);
mainPacket.addBits(7, player.getLocation().getLocalY(player.getUpdateFlags().getLastRegion())); //currentX
mainPacket.addBits(1, 1);
mainPacket.addBits(2, player.getLocation().getZ()); //heightLevel
mainPacket.addBits(1, player.getUpdateFlags().isUpdateRequired() ? 1 : 0);
mainPacket.addBits(7, player.getLocation().getLocalX(player.getUpdateFlags().getLastRegion())); //currentY
} else {
if (player.getSprites().getPrimarySprite() == -1) { //no movement
mainPacket.addBits(1, player.getUpdateFlags().isUpdateRequired() ? 1 : 0);
if (player.getUpdateFlags().isUpdateRequired())
mainPacket.addBits(2, 0);
} else { //movement.
mainPacket.addBits(1, 1);
if (player.getSprites().getSecondarySprite() == -1) { //not running
mainPacket.addBits(2, 1);
mainPacket.addBits(3, player.getSprites().getPrimarySprite()); //walk
mainPacket.addBits(1, player.getUpdateFlags().isUpdateRequired() ? 1 : 0);
} else {
mainPacket.addBits(2, 2);
mainPacket.addBits(1, 1);
mainPacket.addBits(3, player.getSprites().getPrimarySprite()); //walk
mainPacket.addBits(3, player.getSprites().getSecondarySprite()); //run
mainPacket.addBits(1, player.getUpdateFlags().isUpdateRequired() ? 1 : 0);
}
}
}
if(player.getUpdateFlags().isUpdateRequired())
appendUpdateBlock(player, updateBlock, false); //update my own updates.
mainPacket.addBits(8, player.getLocalEnvironment().getSeenPlayers().Count); //All players I've seen already (not new players)
//Send information of all the players in our own location.
foreach (Player p in player.getLocalEnvironment().getSeenPlayers())
{
if (player.getLocalEnvironment().getRemovedPlayers().Contains(p)) {
mainPacket.addBits(1, 1); //update required.
mainPacket.addBits(2, 3); //delete player.
continue;
} else if (p.getSprites().getPrimarySprite() == -1) {
if(p.getUpdateFlags().isUpdateRequired()) {
mainPacket.addBits(1, 1); //update required.
mainPacket.addBits(2, 0); //finish
} else {
mainPacket.addBits(1, 0); //no update required, either region changed or no movement change.
}
} else if (p.getSprites().getPrimarySprite() != -1 && p.getSprites().getSecondarySprite() == -1) {
mainPacket.addBits(1, 1); //update required.
mainPacket.addBits(2, 1); //update just walk direction sprite
mainPacket.addBits(3, p.getSprites().getPrimarySprite());
mainPacket.addBits(1, p.getUpdateFlags().isUpdateRequired() ? 1 : 0);
} else if (p.getSprites().getPrimarySprite() != -1 && p.getSprites().getSecondarySprite() != -1) { //Bit 2 = 2, updates both sprites.
mainPacket.addBits(1, 1); //update required.
mainPacket.addBits(2, 2); //update both walk & run sprites.
mainPacket.addBits(1, 1);
mainPacket.addBits(3, p.getSprites().getPrimarySprite());
mainPacket.addBits(3, p.getSprites().getSecondarySprite());
mainPacket.addBits(1, p.getUpdateFlags().isUpdateRequired() ? 1 : 0);
}
if (p.getUpdateFlags().isUpdateRequired())
appendUpdateBlock(p, updateBlock, false);
}
//Send information of all the new players in our own location.
foreach (Player p in player.getLocalEnvironment().getNewPlayers())
{
int yPos = p.getLocation().getY() - player.getLocation().getY();
int xPos = p.getLocation().getX() - player.getLocation().getX();
mainPacket.addBits(11, p.getIndex()); //playerId of new player.
mainPacket.addBits(1, 1);
mainPacket.addBits(5, xPos < 0 ? xPos + 32 : xPos);
//.........这里部分代码省略.........
示例12: appendUpdateBlock
private static void appendUpdateBlock(Player p, PacketBuilder updateBlock, bool forceAppearance)
{
int mask = 0x0;
AppearanceUpdateFlags flags = p.getUpdateFlags();
if (flags.isHitUpdateRequired())
{
mask |= 0x1;
}
if (flags.isEntityFocusUpdateRequired())
{
mask |= 0x2;
}
if (flags.isAppearanceUpdateRequired() || forceAppearance)
{
mask |= 0x4;
}
if (flags.isAnimationUpdateRequired())
{
mask |= 0x8;
}
if (flags.isForceTextUpdateRequired())
{
mask |= 0x20;
}
if (flags.isFaceLocationUpdateRequired())
{
mask |= 0x40;
}
if (flags.isChatTextUpdateRequired())
{
mask |= 0x80;
}
if (flags.isGraphicsUpdateRequired())
{
mask |= 0x100;
}
if (flags.isHit2UpdateRequired())
{
mask |= 0x200;
}
if (flags.isForceMovementRequired())
{
mask |= 0x400; //mask |= 0x800;
}
if (mask >= 0x100) //0x100=256 [full byte], so use two bytes.
{
mask |= 0x10;
updateBlock.addLEShort(mask);
//updateBlock.addByte((byte)(mask & 0xFF));
//updateBlock.addByte((byte)(mask >> 8));
}
else
{
updateBlock.addByte((byte)(mask & 0xFF));
}
if (flags.isChatTextUpdateRequired())
{
appendChatTextUpdate(p, updateBlock);
}
if (flags.isHitUpdateRequired())
{
appendHitUpdate(p, updateBlock);
}
if (flags.isAnimationUpdateRequired())
{
appendAnimationUpdate(p, updateBlock);
}
if (flags.isAppearanceUpdateRequired() || forceAppearance)
{
appendAppearanceUpdate(p, updateBlock);
}
if (flags.isEntityFocusUpdateRequired())
{
appendFaceEntityUpdate(p, updateBlock);
}
if (flags.isForceMovementRequired())
{
appendForceMovement(p, updateBlock);
}
if (flags.isForceTextUpdateRequired())
{
appendForceTextUpdate(p, updateBlock);
}
if (flags.isHit2UpdateRequired())
{
appendHit2Update(p, updateBlock);
}
if (flags.isGraphicsUpdateRequired())
{
appendGraphicsUpdate(p, updateBlock);
}
if (flags.isFaceLocationUpdateRequired())
{
appendFaceLocationUpdate(p, updateBlock);
}
}
示例13: emote
//.........这里部分代码省略.........
else if (buttonId == 37)
{
player.setLastAnimation(new Animation(2836, 0));
}
else if (buttonId == 38)
{
player.setLastAnimation(new Animation(6111, 0));
}
else if (buttonId == 39)
{
Skillcape.emote(player);
}
else if (buttonId == 40)
{
player.setLastAnimation(new Animation(7531, 0));
}
else if (buttonId == 41)
{
player.setLastAnimation(new Animation(2414, 0));
player.setLastGraphics(new Graphics(1537, 0));
}
else if (buttonId == 42)
{
player.setLastAnimation(new Animation(8770, 0));
player.setLastGraphics(new Graphics(1553, 0));
}
else if (buttonId == 43) // Explore
{
player.setLastAnimation(new Animation(9990, 0));
player.setLastGraphics(new Graphics(1734, 0));
}
else if (buttonId == 44) { // Trick
player.setLastAnimation(new Animation(10530, 0));
player.setLastGraphics(new Graphics(1864, 0));
}
else if (buttonId == 45) { // Freeze
player.setLastAnimation(new Animation(11044, 0));
player.setLastGraphics(new Graphics(1973, 0));
}
else if (buttonId == 46)
{
//TODO: lol todo.. umm ya.. unmovable remover is here so..
//it can be used to cheat to remove unmovable spells haha.
//to fix: make another unmovable check so there would be 2 ways to become unmovable.
//trigger the turkey emote event which changes animation/graphic based on delay.
if (player.getTemporaryAttribute("turkeyEmoteInProgress") == null) {
player.setTemporaryAttribute("turkeyEmoteStage", 11);
player.setTemporaryAttribute("turkeyEmoteInProgress", 1);
} else {
//Force cancellation of the turkeyEmote Event.
player.setTemporaryAttribute("turkeyEmoteStage", -1);
//Don't create a new event until the old one is stopped.
return false;
}
Event turkeyEmoteEvent = new Event(500); //500 milliseconds per stage timer (adjust this for better results).
turkeyEmoteEvent.setAction(() =>
{
int turkeyEmoteStage = (int)(player.getTemporaryAttribute("turkeyEmoteStage") == null ? -1 : (int)player.getTemporaryAttribute("turkeyEmoteStage"));
if (turkeyEmoteStage <= 0)
{
//kill off this event.
turkeyEmoteEvent.stop();
player.removeTemporaryAttribute("unmovable");
player.setTemporaryAttribute("turkeyEmoteInProgress", null);
return;
}
if (turkeyEmoteStage == 11) {
player.setLastAnimation(new Animation(10994, 0));
} else if (turkeyEmoteStage == 10) {
player.setLastGraphics(new Graphics(1714, 0));
} else if (turkeyEmoteStage == 9) {
player.setLastAnimation(new Animation(10996, 0));
player.setTemporaryAttribute("unmovable", true);
player.getAppearance().setNpcId(8499);
player.getUpdateFlags().setAppearanceUpdateRequired(true);
} else if (turkeyEmoteStage == 1) {
player.setLastAnimation(new Animation(10995, 0));
player.setLastGraphics(new Graphics(1714, 0));
player.getAppearance().setNpcId(-1);
player.getUpdateFlags().setAppearanceUpdateRequired(true);
player.removeTemporaryAttribute("unmovable");
player.removeTemporaryAttribute("turkeyEmoteStage");
}
if (turkeyEmoteStage > 0) {
turkeyEmoteStage--;
player.setTemporaryAttribute("turkeyEmoteStage", turkeyEmoteStage);
}
});
Server.registerEvent(turkeyEmoteEvent);
}
else
{
return false;
}
return true;
}