@Override public void process() { if (getCombatTimer() == 0) sendNpcWalk(); if (needsRespawn) { respawnTimer--; } if (isDead()) { hiddenTimer--; if (hiddenTimer == 3 && isVisible) { getUpdateFlags().sendAnimation(getDefinition().getDeathAnimation(), 0); } if (hiddenTimer <= 0 && isVisible) { needsRespawn = true; isVisible = false; getUpdateFlags().setUpdateRequired(true); } if (respawnTimer <= 0 && !isVisible && needsRespawn) { getPosition().setAs(spawnPosition); isVisible = true; setDead(false); getUpdateFlags().sendAnimation(65535, 0); respawnTimer = definition.getRespawnTimer(); hiddenTimer = definition.getHiddenTimer(); hp = definition.getMaxHp(); needsRespawn = false; } } getCombat().combatTick(this); getFollowing().followTick(this); }
/** * Creates a new Npc. * * @param npcId the NPC ID */ public Npc(NpcDefinition definition, int npcId) { this.setNpcId(npcId); getUpdateFlags().setUpdateRequired(true); this.definition = definition; hp = definition.getMaxHp(); hiddenTimer = definition.getHiddenTimer(); respawnTimer = definition.getRespawnTimer(); initAttributes(); }
public void sendTransform(int transformId) { NpcDefinition def = World.getDefinitions()[transformId]; this.transformId = transformId; transformUpdate = true; setNpcId(transformId); getUpdateFlags().setUpdateRequired(true); respawnTimer = def.getRespawnTimer(); hiddenTimer = def.getHiddenTimer(); hp = def.getMaxHp(); }
@Override public void hit(int damage, int hitType) { if (damage > hp) { damage = hp; } hp -= damage; if (!getUpdateFlags().isHitUpdate()) { getUpdateFlags().setDamage(damage); getUpdateFlags().setHitType(hitType); getUpdateFlags().setHitUpdate(true); } else { getUpdateFlags().setDamage2(damage); getUpdateFlags().setHitType2(hitType); getUpdateFlags().setHitUpdate2(true); } setDamage(damage); setHitType(hitType); if (hp <= 0) { setDead(true); getUpdateFlags().sendAnimation(definition.getDeathAnimation(), 65); } }
static final int method1977(int i) { anInt6902++; if (Class213.aNode_Sub27_2512.aClass320_Sub10_7300.method3718(false) == 0) { for (int i_2_ = 0; (i_2_ ^ 0xffffffff) > (Class357.anInt4429 ^ 0xffffffff); i_2_++) { if ((Class320_Sub7.anInterface21Array8275[i_2_].method77(-24069) ^ 0xffffffff) == -116 || Class320_Sub7.anInterface21Array8275[i_2_].method77(i ^ ~0x5e05) == 'S') { Class213.aNode_Sub27_2512.method2690( 56, 1, Class213.aNode_Sub27_2512.aClass320_Sub10_7300); Node_Sub32.aBoolean7377 = true; break; } } } if (Class110.aClass110_1384 == Class252.aClass110_3189) { Runtime runtime = Runtime.getRuntime(); int i_3_ = (int) ((runtime.totalMemory() - runtime.freeMemory()) / 1024L); long l = Class313.method3650(false); if (Class4.aLong123 == 0L) { Class4.aLong123 = l; } if (i_3_ > 16384 && -Class4.aLong123 + l < 5000L) { if (-Class290.aLong3647 + l > 1000L) { System.gc(); Class290.aLong3647 = l; } return 0; } } if (Class110.aClass110_1390 == Class252.aClass110_3189) { if (Class144_Sub1.aClass232_6802 == null) { Class144_Sub1.aClass232_6802 = new Class232( Class267.aClass266_3449, Class320_Sub1.aClass141_8207, Class239.RSA_EXPONENT, Node_Sub38_Sub32.aBigInteger10430); } if (!Class144_Sub1.aClass232_6802.method2136(255)) { return 0; } Node_Sub38_Sub27.method2878(73, null, true, 0); Class320_Sub13.aBoolean8335 = !Node_Sub46.method2948(16062); Class320_Sub6.index32or34 = Class58.method576(false, Class320_Sub13.aBoolean8335 ? 34 : 32, 1, i + 1); Class273.index33 = Class58.method576(false, 33, 1, 2); AnimableAnimator_Sub1.aClass302_9091 = Class58.method576(false, 13, 1, i ^ 0x3); } if (Class110.aClass110_1392 == Class252.aClass110_3189) { boolean bool = Class273.index33.method3520((byte) 15); int i_4_ = GraphicsToolkit.aClass34_Sub1Array1547[33].method376(i + 99); i_4_ = i_4_ + GraphicsToolkit.aClass34_Sub1Array1547[!Class320_Sub13.aBoolean8335 ? 32 : 34] .method376(100); i_4_ += GraphicsToolkit.aClass34_Sub1Array1547[13].method376(i + 99); i_4_ = i_4_ + (bool ? 100 : Class273.index33.method3511(19492)); if (i_4_ != 400) { return i_4_ / 4; } Class171.anInt2066 = Class320_Sub6.index32or34.method3505(false); Class251.anInt3185 = Class273.index33.method3505(false); Node_Sub38_Sub28.method2888((byte) 61, Class320_Sub6.index32or34); int i_5_ = Class213.aNode_Sub27_2512.aClass320_Sub11_7264.method3722(false); Class174.aClass250_2094 = new Class250(Class209.aClass353_2483, Class35.language, Class273.index33); int[] is = Class174.aClass250_2094.method3091(i_5_, (byte) 104); if (is.length == 0) { is = Class174.aClass250_2094.method3091(0, (byte) 100); } Class373 class373 = new Class373(Class320_Sub6.index32or34, AnimableAnimator_Sub1.aClass302_9091); if (is.length > 0) { Class235_Sub1.anInterface16Array8978 = new Interface16[is.length]; for (int i_6_ = 0; (i_6_ ^ 0xffffffff) > (Class235_Sub1.anInterface16Array8978.length ^ 0xffffffff); i_6_++) Class235_Sub1.anInterface16Array8978[i_6_] = new Class327(Class174.aClass250_2094.method3093(is[i_6_], false), class373); } } if (Class110.aClass110_1394 == Class252.aClass110_3189) { Class49.method484( (byte) 111, AnimableAnimator_Sub1.aClass302_9091, Class320_Sub6.index32or34, Class36.method392((byte) -36)); } if (Class110.aClass110_1395 == Class252.aClass110_3189) { int i_7_ = Class190.method1940(255); int i_8_ = aa_Sub3.method160(i ^ ~0x15c5); if (i_8_ > i_7_) { return 100 * i_7_ / i_8_; } } if (Class110.aClass110_1396 == Class252.aClass110_3189) { if (Class235_Sub1.anInterface16Array8978 != null && (Class235_Sub1.anInterface16Array8978.length ^ 0xffffffff) < -1) { if ((Class235_Sub1.anInterface16Array8978[0].method58(27285) ^ 0xffffffff) > -101) { return 0; } if ((Class235_Sub1.anInterface16Array8978.length ^ 0xffffffff) < -2 && Class174.aClass250_2094.method3092(false) && (Class235_Sub1.anInterface16Array8978[1].method58(27285) ^ 0xffffffff) > -101) { return 0; } } Class300.method3497((byte) 107, Class93.aGraphicsToolkit1241); Class320_Sub21.method3760(true, Class93.aGraphicsToolkit1241); Class48.method478(1, (byte) 126); } if (Class110.aClass110_1397 == Class252.aClass110_3189) { for (int i_9_ = 0; i_9_ < 4; i_9_++) Class304.SCENE_CLIP_DATA_PLANES[i_9_] = Class63.method707( Node_Sub54.GAME_SCENE_WDITH, Class377_Sub1.GAME_SCENE_HEIGHT, (byte) 42); } if (Class252.aClass110_3189 == Class110.aClass110_1398) { Node_Sub38_Sub39.aClass302_10500 = Class58.method576(false, 8, 1, i + 1); Class181.aClass302_2158 = Class58.method576(false, 0, 1, i ^ 0x3); Class75.aClass302_1003 = Class58.method576(false, 1, 1, 2); Class4.index2 = Class58.method576(false, 2, 1, 2); Class293.aClass302_3681 = Class58.method576(false, 3, 1, 2); Class148.aClass302_1827 = Class58.method576(false, 4, 1, 2); Animable_Sub1_Sub1.aClass302_10618 = Class58.method576(true, 5, 1, 2); SeekableFile.index6 = Class58.method576(true, 6, 1, i ^ 0x3); Class107.aClass302_1364 = Class58.method576(false, 7, 1, 2); Class282.aClass302_3583 = Class58.method576(false, 9, 1, i ^ 0x3); Class250.aClass302_3179 = Class58.method576(false, 10, 1, 2); Class179.aClass302_2132 = Class58.method576(false, 11, 1, 2); Class21.aClass302_357 = Class58.method576(false, 12, 1, 2); Class78.aClass302_1033 = Class58.method576(false, 14, 1, i ^ 0x3); Class218.aClass302_2563 = Class58.method576(false, 15, 1, 2); Class247.aClass302_3143 = Class58.method576(false, 16, 1, 2); Class14.index17 = Class58.method576(false, 17, 1, 2); Class174.aClass302_2093 = Class58.method576(false, 18, 1, i + 1); Class205.index19 = Class58.method576(false, 19, 1, i ^ 0x3); Class262_Sub23.aClass302_7886 = Class58.method576(false, 20, 1, i + 1); Node_Sub15_Sub5.aClass302_9805 = Class58.method576(false, 21, 1, i ^ 0x3); Class127.index22 = Class58.method576(false, 22, 1, 2); r_Sub1.aClass302_11047 = Class58.method576(true, 23, 1, i ^ 0x3); Node_Sub38_Sub4.aClass302_10116 = Class58.method576(false, 24, 1, i + 1); Node_Sub18.aClass302_7150 = Class58.method576(false, 25, 1, 2); Node_Sub38_Sub10.aClass302_10197 = Class58.method576(true, 26, 1, 2); CacheNode_Sub5.aClass302_9477 = Class58.method576(false, 27, 1, i + 1); Class176.aClass302_2102 = Class58.method576(true, 28, 1, i + 1); Class262_Sub3.aClass302_7715 = Class58.method576(false, 29, 1, 2); Node_Sub15_Sub10.aClass302_9853 = Class58.method576(true, 35, 1, 2); Class326.index30 = Class58.method576(true, 30, 1, i ^ 0x3); Class262_Sub2.index31 = Class58.method576(true, 31, 1, i ^ 0x3); Node_Sub38_Sub38.index36 = Class58.method576(true, 36, 2, 2); } if (Class252.aClass110_3189 == Class110.aClass110_1399) { int i_10_ = 0; for (int i_11_ = 0; i_11_ < GraphicsToolkit.aClass34_Sub1Array1547.length; i_11_++) { if (GraphicsToolkit.aClass34_Sub1Array1547[i_11_] != null) { i_10_ = i_10_ + GraphicsToolkit.aClass34_Sub1Array1547[i_11_].method376(i + 99) * Class249.anIntArray3151[i_11_] / 100; } } if ((i_10_ ^ 0xffffffff) != -101) { if (Node_Sub51.anInt7633 < 0) { Node_Sub51.anInt7633 = i_10_; } return 100 * (-Node_Sub51.anInt7633 + i_10_) / (100 - Node_Sub51.anInt7633); } Node_Sub16.method2589(Node_Sub38_Sub39.aClass302_10500, 1); Class49.method484( (byte) 103, AnimableAnimator_Sub1.aClass302_9091, Node_Sub38_Sub39.aClass302_10500, Class36.method392((byte) -13)); } if (Class252.aClass110_3189 == Class110.aClass110_1400) { byte[] bs = Class176.aClass302_2102.method3518((byte) 52, 4); if (bs == null) { return 0; } MainFile.method175(bs, true); ItemDefinitions.method1690((byte) -109); Class48.method478(2, (byte) 100); } if (i != 1) { method1973(15, -83); } if (Class110.aClass110_1401 == Class252.aClass110_3189) { IOException_Sub1.method133(255, Class326.index30, Class240.aSignLink2946); } if (Class110.aClass110_1402 == Class252.aClass110_3189) { int i_12_ = Class290_Sub6.method3438(i + 14626); if ((i_12_ ^ 0xffffffff) > -101) { return i_12_; } Class268.method3292((byte) -127, Class176.aClass302_2102.method3518((byte) 111, 1)); CacheNode_Sub4.aClass1_9466 = new Class1(Class176.aClass302_2102); Class45.aShortArrayArray5265 = CacheNode_Sub4.aClass1_9466.aShortArrayArray106; Class117_Sub2.aShortArrayArrayArray5151 = CacheNode_Sub4.aClass1_9466.aShortArrayArrayArray113; Class63.aClass363_922 = new Class363(Class176.aClass302_2102); } if (Class110.aClass110_1403 == Class252.aClass110_3189) { if ((CacheNode_Sub4.aClass1_9466.anInt110 ^ 0xffffffff) != 0 && !Class107.aClass302_1364.method3515(0, CacheNode_Sub4.aClass1_9466.anInt110, 0)) { return 99; } TemporaryItemDefinition.aD565 = new Class274( Node_Sub38_Sub10.aClass302_10197, Class282.aClass302_3583, Node_Sub38_Sub39.aClass302_10500); Class188_Sub2_Sub2.aClass36_9366 = new Class36(Class209.aClass353_2483, Class35.language, Class4.index2); InputStream_Sub2.aClass281_83 = new Class281( Class209.aClass353_2483, Class35.language, Class4.index2, Class63.aClass363_922); Class186.aClass239_2249 = new Class239( Class209.aClass353_2483, Class35.language, Class4.index2, Node_Sub38_Sub39.aClass302_10500); Class328.aClass362_4112 = new Class362(Class209.aClass353_2483, Class35.language, Class14.index17); Class290_Sub7.aClass71_8134 = new Class71(Class209.aClass353_2483, Class35.language, Class4.index2); r.aClass58_9578 = new Class58(Class209.aClass353_2483, Class35.language, Class4.index2); Class296.aClass186_5429 = new Class186( Class209.aClass353_2483, Class35.language, Class4.index2, Node_Sub38_Sub39.aClass302_10500); Class42.aClass181_643 = new Class181( Class209.aClass353_2483, Class35.language, Class4.index2, Class107.aClass302_1364); Class269.aClass308_3469 = new Class308(Class209.aClass353_2483, Class35.language, Class4.index2); Class32.aClass359_508 = new Class359(Class209.aClass353_2483, Class35.language, Class4.index2); Class186.aClass112_2256 = new Class112( Class209.aClass353_2483, Class35.language, true, Class247.aClass302_3143, Class107.aClass302_1364); Class304.aClass215_3834 = new Class215( Class209.aClass353_2483, Class35.language, Class4.index2, Node_Sub38_Sub39.aClass302_10500); Node_Sub54.aClass338_7671 = new Class338( Class209.aClass353_2483, Class35.language, Class4.index2, Node_Sub38_Sub39.aClass302_10500); Class366.aClass279_4526 = new Class279( Class209.aClass353_2483, Class35.language, true, Class174.aClass302_2093, Class107.aClass302_1364); EntityNode_Sub3_Sub1.aClass86_9166 = new Class86( Class209.aClass353_2483, Class35.language, true, Class188_Sub2_Sub2.aClass36_9366, Class205.index19, Class107.aClass302_1364, null); Class146.aClass32_1812 = new Class32(Class209.aClass353_2483, Class35.language, Class4.index2); Class18.aClass37_306 = new Class37( Class209.aClass353_2483, Class35.language, Class262_Sub23.aClass302_7886, Class181.aClass302_2158, Class75.aClass302_1003); Class171.aClass278_2062 = new Class278(Class209.aClass353_2483, Class35.language, Class4.index2); CacheNode_Sub6.aClass57_9480 = new Class57(Class209.aClass353_2483, Class35.language, Class4.index2); Class16.aClass101_228 = new Class101( Class209.aClass353_2483, Class35.language, Node_Sub15_Sub5.aClass302_9805, Class107.aClass302_1364); Node_Sub9_Sub4.aClass180_9727 = new Class180(Class209.aClass353_2483, Class35.language, Class4.index2); Class382.aClass142_5246 = new Class142(Class209.aClass353_2483, Class35.language, Class4.index2); Node_Sub53.aClass176_7667 = new Class176(Class209.aClass353_2483, Class35.language, Class4.index2); IOException_Sub1.aClass128_85 = new Class128(Class209.aClass353_2483, Class35.language, Class127.index22); Class188_Sub2_Sub1.aClass229_9354 = new Class229(Class209.aClass353_2483, Class35.language, Class4.index2); Class336.aClass315_4173 = new Class315(Class209.aClass353_2483, Class35.language, Class4.index2); Class291_Sub1.aClass13_8198 = new Class13(Class209.aClass353_2483, Class35.language, Class4.index2); NpcDefinition.method3001( Class293.aClass302_3681, AnimableAnimator_Sub1.aClass302_9091, Node_Sub38_Sub39.aClass302_10500, (byte) 64, Class107.aClass302_1364); Node_Sub10.method2539(Class262_Sub3.aClass302_7715, -128); Class42.aClass122_631 = new Class122( Class35.language, Node_Sub38_Sub4.aClass302_10116, Node_Sub18.aClass302_7150); Node_Sub36_Sub1.aClass109_10035 = new Class109( Class35.language, Node_Sub38_Sub4.aClass302_10116, Node_Sub18.aClass302_7150, new Class220()); OutputStream_Sub2.method139((byte) -110); Class186.aClass112_2256.method1143( -2098, (Class213.aNode_Sub27_2512.aClass320_Sub19_7301.method3751(false) ^ 0xffffffff) == -1); Class24.aClass275_442 = new Class275(); Class320_Sub12.method3728(0); Class28.method333(Class18.aClass37_306, -1); Node_Sub38_Sub9.method2822(CacheNode_Sub5.aClass302_9477, 0); Class218.method2077(TemporaryItemDefinition.aD565, Class107.aClass302_1364, false); Class163 class163 = new Class163(Class250.aClass302_3179.method3529("huffman", "", i)); Animable_Sub2.method834(-123, class163); try { jagmisc.init(); } catch (Throwable throwable) { /* empty */ } Animable_Sub3_Sub1.aClass234_11017 = Class300.method3498(4); Node_Sub23.aNode_Sub39_7201 = new Node_Sub39(true, Class240.aSignLink2946); } if (Class110.aClass110_1405 == Class252.aClass110_3189) { int i_13_ = Class200_Sub1.method2017(0, Node_Sub38_Sub39.aClass302_10500) + Node_Sub30.method2721(true, false); int i_14_ = CacheNode_Sub16_Sub2.method2391((byte) 99) - -aa_Sub3.method160(-5573); if ((i_13_ ^ 0xffffffff) > (i_14_ ^ 0xffffffff)) { return 100 * i_13_ / i_14_; } } if (Class110.aClass110_1406 == Class252.aClass110_3189) { Class20.method275( r_Sub1.aClass302_11047, Class290_Sub7.aClass71_8134, r.aClass58_9578, Class186.aClass112_2256, Class304.aClass215_3834, Node_Sub54.aClass338_7671, Class24.aClass275_442); } if (Class110.aClass110_1407 == Class252.aClass110_3189) { Node_Sub38_Sub3.aStringArray10105 = new String[Class382.aClass142_5246.anInt1760]; Class320_Sub22.anIntArray8417 = new int[Node_Sub53.aClass176_7667.anInt2105]; FileOnDisk.aBooleanArray1332 = new boolean[Node_Sub53.aClass176_7667.anInt2105]; for (int i_15_ = 0; (Node_Sub53.aClass176_7667.anInt2105 ^ 0xffffffff) < (i_15_ ^ 0xffffffff); i_15_++) { if ((Node_Sub53.aClass176_7667.method1805(i_15_, -4409).anInt3208 ^ 0xffffffff) == -1) { FileOnDisk.aBooleanArray1332[i_15_] = true; Class188_Sub1_Sub1.anInt9333++; } Class320_Sub22.anIntArray8417[i_15_] = -1; } Class120.method1230(124); Animable_Sub1_Sub1.aClass302_10618.method3504(false, (byte) 31, true); SeekableFile.index6.method3504(true, (byte) 31, true); Node_Sub38_Sub39.aClass302_10500.method3504(true, (byte) 31, true); AnimableAnimator_Sub1.aClass302_9091.method3504(true, (byte) 31, true); Class250.aClass302_3179.method3504(true, (byte) 31, true); Class4.index2.anInt3795 = 2; Node_Sub38_Sub31.aBoolean10418 = true; Class14.index17.anInt3795 = 2; Class247.aClass302_3143.anInt3795 = 2; Class174.aClass302_2093.anInt3795 = 2; Class205.index19.anInt3795 = 2; Class262_Sub23.aClass302_7886.anInt3795 = 2; Node_Sub15_Sub5.aClass302_9805.anInt3795 = 2; } if (Class252.aClass110_3189 == Class110.aClass110_1408) { if (!CacheNode_Sub15.method2379(i + 7014, CacheNode_Sub4.aClass1_9466.anInt120)) { return 0; } boolean bool = true; for (int i_16_ = 0; i_16_ < Class134_Sub3.aWidgetArrayArray9035[CacheNode_Sub4.aClass1_9466.anInt120].length; i_16_++) { IComponentDefinitions widget = Class134_Sub3.aWidgetArrayArray9035[CacheNode_Sub4.aClass1_9466.anInt120][i_16_]; if (widget.type == 5 && widget.anInt4820 != -1 && !Node_Sub38_Sub39.aClass302_10500.method3515(0, widget.anInt4820, 0)) { bool = false; } } if (!bool) { return 0; } } if (Class110.aClass110_1409 == Class252.aClass110_3189) { Class245.method3069(-1, true); } if (Class110.aClass110_1410 == Class252.aClass110_3189) { Class243.aClass340_3069.method3952(100); try { Class132.aThread1677.join(); } catch (InterruptedException interruptedexception) { return 0; } Class235_Sub1.anInterface16Array8978 = null; Class243.aClass340_3069 = null; Class320_Sub6.index32or34 = null; Class273.index33 = null; Class132.aThread1677 = null; Class174.aClass250_2094 = null; MainFile.method174((byte) -110); CacheNode_Sub1.aBoolean9425 = (Class213.aNode_Sub27_2512.aClass320_Sub10_7300.method3718(false) ^ 0xffffffff) == -2; Class213.aNode_Sub27_2512.method2690(24, 1, Class213.aNode_Sub27_2512.aClass320_Sub10_7300); if (CacheNode_Sub1.aBoolean9425) { Class213.aNode_Sub27_2512.method2690( 116, 0, Class213.aNode_Sub27_2512.aClass320_Sub29_7291); } else if (Class213.aNode_Sub27_2512.aClass320_Sub29_7291.aBoolean8486 && Node_Sub23.aNode_Sub39_7201.anInt7484 < 512 && (Node_Sub23.aNode_Sub39_7201.anInt7484 ^ 0xffffffff) != -1) { Class213.aNode_Sub27_2512.method2690(61, 0, Class213.aNode_Sub27_2512.aClass320_Sub29_7291); } Node_Sub38_Sub31.method2893(1); if (!CacheNode_Sub1.aBoolean9425) { Class22.method300( Class213.aNode_Sub27_2512.aClass320_Sub29_7291.method3791(false), true, false); } else { Class22.method300(0, true, false); } Node_Sub38_Sub19.method2850( i ^ 0x2, Class213.aNode_Sub27_2512.aClass320_Sub1_7287.method3678(false), -1, false, -1); Class300.method3497((byte) 107, Class93.aGraphicsToolkit1241); Class320_Sub21.method3760(true, Class93.aGraphicsToolkit1241); Class130.method1557( (byte) -126, Node_Sub38_Sub39.aClass302_10500, Class93.aGraphicsToolkit1241); Class173.method1800((byte) -61, Node_Sub52.aGLSpriteArray7655); } return Class169_Sub3.method1781((byte) 82); }
static final void parseEntityPacket(EntityPacket class74, byte i) { try { anInt81++; if (class74 == Class348_Sub26.entityPacket4) { int i_0_ = Class299.gameBuffer.method3342(); int i_1_ = i_0_ >> 255189570; int i_2_ = 0x3 & i_0_; int i_3_ = Class36.anIntArray487[i_1_]; int i_4_ = Class299.gameBuffer.getShort(); int i_5_ = Class299.gameBuffer.method3393((byte) 65); int i_6_ = NpcLoader.anInt3581 + (0x7 & i_5_ >> -1635951004); int i_7_ = FileArchiveTracker.anInt4786 - -(i_5_ & 0x7); if (Class282.method2112(126, Class312.anInt3931) || ((i_6_ ^ 0xffffffff) <= -1 && i_7_ >= 0 && (i_6_ ^ 0xffffffff) > (Class367_Sub4.mapSizeX ^ 0xffffffff) && ((Class348_Sub40_Sub3.mapSizeY ^ 0xffffffff) < (i_7_ ^ 0xffffffff)))) Class348_Sub12.method2800( Class348_Sub40_Sub12.anInt9200, 0, i_7_, -1, i_1_, i_3_, i_2_, i_4_, (byte) 121, i_6_); } else if (class74 == Class348_Sub40_Sub38.aClass74_9475) { int i_8_ = Class299.gameBuffer.getUByte(); int i_9_ = NpcLoader.anInt3581 + ((0x7a & i_8_) >> -1746270140); int i_10_ = FileArchiveTracker.anInt4786 - -(i_8_ & 0x7); int i_11_ = Class299.gameBuffer.getShort(); int i_12_ = Class299.gameBuffer.getUByte(); int i_13_ = Class299.gameBuffer.getShort(); int i_14_ = Class299.gameBuffer.getUByte(); if ((i_9_ ^ 0xffffffff) <= -1 && i_10_ >= 0 && (Class367_Sub4.mapSizeX ^ 0xffffffff) < (i_9_ ^ 0xffffffff) && Class348_Sub40_Sub3.mapSizeY > i_10_) { int i_15_ = 512 * i_9_ - -256; int i_16_ = 256 + 512 * i_10_; int i_17_ = Class348_Sub40_Sub12.anInt9200; if ((i_17_ ^ 0xffffffff) > -4 && NpcDefinition.isElevatedTile(i_9_, i_10_)) i_17_++; Class318_Sub1_Sub3_Sub4 class318_sub1_sub3_sub4 = (new Class318_Sub1_Sub3_Sub4( i_11_, i_13_, Class367_Sub11.logicCycle, Class348_Sub40_Sub12.anInt9200, i_17_, i_15_, Class275.method2064(i_15_, Class348_Sub40_Sub12.anInt9200, 11219, i_16_) + -i_12_, i_16_, i_9_, i_9_, i_10_, i_10_, i_14_)); r_Sub2.aClass262_10492.addToFront( new Class348_Sub42_Sub6(class318_sub1_sub3_sub4), -20180); } } else if (class74 == Class91.aClass74_1519) { int i_18_ = Class299.gameBuffer.getUByte(); int i_19_ = NpcLoader.anInt3581 - -(i_18_ >> -36700604 & 0x7); int i_20_ = (0x7 & i_18_) + FileArchiveTracker.anInt4786; int i_21_ = Class299.gameBuffer.getShort(); if (i_21_ == 65535) i_21_ = -1; int i_22_ = Class299.gameBuffer.getUByte(); int i_23_ = i_22_ >> 1523259332 & 0xf; int i_24_ = 0x7 & i_22_; int i_25_ = Class299.gameBuffer.getUByte(); int i_26_ = Class299.gameBuffer.getUByte(); int i_27_ = Class299.gameBuffer.getShort(); if ((i_19_ ^ 0xffffffff) <= -1 && i_20_ >= 0 && i_19_ < Class367_Sub4.mapSizeX && ((Class348_Sub40_Sub3.mapSizeY ^ 0xffffffff) < (i_20_ ^ 0xffffffff))) { int i_28_ = 1 + i_23_; if (((i_19_ + -i_28_ ^ 0xffffffff) >= ((((Mob) Class132.localPlayer).xList[0]) ^ 0xffffffff)) && ((((Mob) Class132.localPlayer).xList[0]) ^ 0xffffffff) >= (i_28_ + i_19_ ^ 0xffffffff) && ((-i_28_ + i_20_ ^ 0xffffffff) >= ((((Mob) Class132.localPlayer).yList[0]) ^ 0xffffffff)) && ((((Mob) Class132.localPlayer).yList[0]) ^ 0xffffffff) >= (i_20_ + i_28_ ^ 0xffffffff)) Class239_Sub10.method1760( i_21_, i_26_, false, ((i_20_ << -933699064) + (((Class348_Sub40_Sub12.anInt9200) << 642077912) + ((i_19_ << 546083312) - -i_23_))), (byte) -98, i_24_, i_27_, i_25_); } } else if (class74 == Class348_Sub35.aClass74_6977) { int i_29_ = Class299.gameBuffer.getShort(); int i_30_ = Class299.gameBuffer.getUByte(); Class348_Sub40_Sub12.objectLoader.getObject(0, i_29_).method478(i_30_, -31076); } else if (Class348_Sub16_Sub1.aClass74_8853 == class74) { int i_31_ = Class299.gameBuffer.getUByte(); int i_32_ = NpcLoader.anInt3581 + ((i_31_ & 0x7b) >> -2020145372); int i_33_ = (i_31_ & 0x7) + FileArchiveTracker.anInt4786; int i_34_ = Class299.gameBuffer.getShort(); if ((i_34_ ^ 0xffffffff) == -65536) i_34_ = -1; int i_35_ = Class299.gameBuffer.getUByte(); int i_36_ = 0xf & i_35_ >> -1716101724; int i_37_ = 0x7 & i_35_; int i_38_ = Class299.gameBuffer.getUByte(); int i_39_ = Class299.gameBuffer.getUByte(); int i_40_ = Class299.gameBuffer.getShort(); if (i_32_ >= 0 && (i_33_ ^ 0xffffffff) <= -1 && i_32_ < Class367_Sub4.mapSizeX && i_33_ < Class348_Sub40_Sub3.mapSizeY) { int i_41_ = i_36_ + 1; if ((((Mob) Class132.localPlayer).xList[0]) >= i_32_ - i_41_ && (((Mob) Class132.localPlayer).xList[0]) <= i_41_ + i_32_ && ((-i_41_ + i_33_ ^ 0xffffffff) >= ((((Mob) Class132.localPlayer).yList[0]) ^ 0xffffffff)) && (i_33_ - -i_41_ >= (((Mob) Class132.localPlayer).yList[0]))) Class37.method358( i_37_, (i_36_ + (i_33_ << -253122776) + ((Class348_Sub40_Sub12.anInt9200 << 2052446744) + (i_32_ << 788919504))), i_38_, i_39_, i_40_, i_34_, -29494); } } else if (Class265.aClass74_4689 == class74) { int i_42_ = Class299.gameBuffer.readLEShort(false); if ((i_42_ ^ 0xffffffff) == -65536) i_42_ = -1; int i_43_ = Class299.gameBuffer.method3342(); int i_44_ = ((i_43_ & 0x71) >> -1548700220) + NpcLoader.anInt3581; int i_45_ = FileArchiveTracker.anInt4786 + (i_43_ & 0x7); int i_46_ = Class299.gameBuffer.method3329((byte) 21); int i_47_ = i_46_ >> -96368574; int i_48_ = i_46_ & 0x3; int i_49_ = Class36.anIntArray487[i_47_]; NativeToolkit.method3824( i_45_, i_42_, i_47_, i_44_, i_48_, 115, Class348_Sub40_Sub12.anInt9200, i_49_); } else if (class74 == Class286_Sub1.aClass74_6201) { int i_50_ = Class299.gameBuffer.getUByte(); int i_51_ = (i_50_ >> 1727755396 & 0xf) + NpcLoader.anInt3581 * 2; int i_52_ = (i_50_ & 0xf) + FileArchiveTracker.anInt4786 * 2; int i_53_ = Class299.gameBuffer.getUByte(); boolean bool = (0x1 & i_53_ ^ 0xffffffff) != -1; boolean bool_54_ = (i_53_ & 0x2) != 0; int i_55_ = bool_54_ ? i_53_ >> 1838371906 : -1; int i_56_ = (Class299.gameBuffer.getByte() + i_51_); int i_57_ = (Class299.gameBuffer.getByte() + i_52_); int i_58_ = Class299.gameBuffer.getWord(13638); int i_59_ = Class299.gameBuffer.getWord(13638); int i_60_ = Class299.gameBuffer.getShort(); int i_61_ = Class299.gameBuffer.getUByte(); if (!bool_54_) i_61_ *= 4; else i_61_ = (byte) i_61_; int i_62_ = (Class299.gameBuffer.getUByte() * 4); int i_63_ = Class299.gameBuffer.getShort(); int i_64_ = Class299.gameBuffer.getShort(); int i_65_ = Class299.gameBuffer.getUByte(); int i_66_ = Class299.gameBuffer.getShort(); if (i_65_ == 255) i_65_ = -1; if (i_51_ >= 0 && i_52_ >= 0 && ((2 * Class367_Sub4.mapSizeX ^ 0xffffffff) < (i_51_ ^ 0xffffffff)) && ((Class367_Sub4.mapSizeX * 2 ^ 0xffffffff) < (i_52_ ^ 0xffffffff)) && (i_56_ ^ 0xffffffff) <= -1 && i_57_ >= 0 && ((Class348_Sub40_Sub3.mapSizeY * 2 ^ 0xffffffff) < (i_56_ ^ 0xffffffff)) && 2 * Class348_Sub40_Sub3.mapSizeY > i_57_ && i_60_ != 65535) { i_57_ *= 256; i_56_ = 256 * i_56_; i_62_ <<= 2; i_51_ = 256 * i_51_; i_66_ <<= 2; i_61_ <<= 2; i_52_ *= 256; if (i_58_ != 0 && (i_55_ ^ 0xffffffff) != 0) { Mob class318_sub1_sub3_sub3 = null; if ((i_58_ ^ 0xffffffff) > -1) { int i_67_ = -i_58_ + -1; if ((i_67_ ^ 0xffffffff) != (Class348_Sub42_Sub11.localPlayerId ^ 0xffffffff)) class318_sub1_sub3_sub3 = (ClassicLoadingScreen.onscreenPlayers[i_67_]); else class318_sub1_sub3_sub3 = (Class132.localPlayer); } else { int i_68_ = i_58_ + -1; Class348_Sub22 class348_sub22 = ((Class348_Sub22) Class282.aClass356_3654.get((long) i_68_)); if (class348_sub22 != null) class318_sub1_sub3_sub3 = (((Class348_Sub22) class348_sub22).aClass318_Sub1_Sub3_Sub3_Sub1_6859); } if (class318_sub1_sub3_sub3 != null) { Class225 class225 = class318_sub1_sub3_sub3.method2422((byte) 72); if ((((Class225) class225).anIntArrayArray2939 != null) && (((Class225) class225).anIntArrayArray2939[i_55_]) != null) i_61_ -= (((Class225) class225).anIntArrayArray2939[i_55_][1]); if ((((Class225) class225).anIntArrayArray2910 != null) && (((Class225) class225).anIntArrayArray2910[i_55_]) != null) i_61_ -= (((Class225) class225).anIntArrayArray2910[i_55_][1]); } } Class318_Sub1_Sub3_Sub5 class318_sub1_sub3_sub5 = (new Class318_Sub1_Sub3_Sub5( i_60_, Class348_Sub40_Sub12.anInt9200, Class348_Sub40_Sub12.anInt9200, i_51_, i_52_, i_61_, i_63_ - -Class367_Sub11.logicCycle, i_64_ + Class367_Sub11.logicCycle, i_65_, i_66_, i_58_, i_59_, i_62_, bool, i_55_)); class318_sub1_sub3_sub5.method2471( (byte) -103, (-i_62_ + Class275.method2064(i_56_, Class348_Sub40_Sub12.anInt9200, 11219, i_57_)), i_57_, i_63_ + Class367_Sub11.logicCycle, i_56_); Class348_Sub40_Sub17.aClass262_9240.addToFront( new Class348_Sub42_Sub18(class318_sub1_sub3_sub5), -20180); } } else if (class74 == Class348_Sub42_Sub8_Sub2.aClass74_10437) { int i_69_ = Class299.gameBuffer.getWordLE128(-128); int i_70_ = Class299.gameBuffer.method3342(); int i_71_ = FileArchiveTracker.anInt4786 + (i_70_ & 0x7); int i_72_ = Class90.baseRegionY + i_71_; int i_73_ = NpcLoader.anInt3581 + (i_70_ >> 760724900 & 0x7); int i_74_ = za_Sub2.baseRegionX + i_73_; Class348_Sub37 class348_sub37 = ((Class348_Sub37) (Class130.aClass356_1895.get( (long) (i_72_ << 1888522446 | Class348_Sub40_Sub12.anInt9200 << 1520501788 | i_74_)))); if (class348_sub37 != null) { for (Class348_Sub34 class348_sub34 = ((Class348_Sub34) ((Class348_Sub37) class348_sub37).aClass262_6998.getFirst(4)); class348_sub34 != null; class348_sub34 = ((Class348_Sub34) ((Class348_Sub37) class348_sub37).aClass262_6998.nextForward((byte) 49))) { if ((((Class348_Sub34) class348_sub34).anInt6973 ^ 0xffffffff) == (0x7fff & i_69_ ^ 0xffffffff)) { class348_sub34.removeNode(); break; } } if (((Class348_Sub37) class348_sub37).aClass262_6998.isEnd((byte) 18)) class348_sub37.removeNode(); if ((i_73_ ^ 0xffffffff) <= -1 && i_71_ >= 0 && Class367_Sub4.mapSizeX > i_73_ && Class348_Sub40_Sub3.mapSizeY > i_71_) Class203.method1479(i_71_, (byte) -125, i_73_, Class348_Sub40_Sub12.anInt9200); } } else if (Class59_Sub1_Sub2.aClass74_8662 == class74) { int i_75_ = Class299.gameBuffer.readLEShort(false); int i_76_ = Class299.gameBuffer.readLEShort(false); int i_77_ = Class299.gameBuffer.getUByte(); int i_78_ = FileArchiveTracker.anInt4786 - -(0x7 & i_77_); int i_79_ = i_78_ + Class90.baseRegionY; int i_80_ = NpcLoader.anInt3581 - -((i_77_ & 0x79) >> 1608302404); int i_81_ = za_Sub2.baseRegionX - -i_80_; boolean bool = (i_80_ >= 0 && i_78_ >= 0 && Class367_Sub4.mapSizeX > i_80_ && Class348_Sub40_Sub3.mapSizeY > i_78_); if (bool || Class282.method2112(124, Class312.anInt3931)) { GameFont.method3459( new Class348_Sub34(i_76_, i_75_), Class348_Sub40_Sub12.anInt9200, i_79_, i_81_, -2); if (bool) Class203.method1479(i_78_, (byte) -124, i_80_, Class348_Sub40_Sub12.anInt9200); } } else if (class74 == Class374.aClass74_4537) { int i_82_ = Class299.gameBuffer.method3393((byte) 83); int i_83_ = i_82_ >> 348707138; int i_84_ = 0x3 & i_82_; int i_85_ = Class36.anIntArray487[i_83_]; int i_86_ = Class299.gameBuffer.getUByte(); int i_87_ = NpcLoader.anInt3581 + (i_86_ >> 1120623460 & 0x7); int i_88_ = FileArchiveTracker.anInt4786 - -(0x7 & i_86_); if (Class282.method2112(i ^ 0x73, Class312.anInt3931) || ((i_87_ ^ 0xffffffff) <= -1 && i_88_ >= 0 && (i_87_ ^ 0xffffffff) > (Class367_Sub4.mapSizeX ^ 0xffffffff) && ((Class348_Sub40_Sub3.mapSizeY ^ 0xffffffff) < (i_88_ ^ 0xffffffff)))) Class348_Sub12.method2800( Class348_Sub40_Sub12.anInt9200, 0, i_88_, -1, i_83_, i_85_, i_84_, -1, (byte) 125, i_87_); } else { if (i != 8) aClass114_82 = null; if (Class39.aClass74_515 == class74) { int i_89_ = Class299.gameBuffer.getUByte(); int i_90_ = FileArchiveTracker.anInt4786 + (0x7 & i_89_); int i_91_ = i_90_ + Class90.baseRegionY; int i_92_ = (NpcLoader.anInt3581 - -((i_89_ & 0x7a) >> -1560406972)); int i_93_ = za_Sub2.baseRegionX + i_92_; int i_94_ = Class299.gameBuffer.getShort(); int i_95_ = Class299.gameBuffer.getShort(); int i_96_ = Class299.gameBuffer.getShort(); if (Class130.aClass356_1895 != null) { Class348_Sub37 class348_sub37 = ((Class348_Sub37) (Class130.aClass356_1895.get( (long) (i_93_ | ((Class348_Sub40_Sub12.anInt9200 << -670457092) | i_91_ << -1291559154))))); if (class348_sub37 != null) { for (Class348_Sub34 class348_sub34 = ((Class348_Sub34) ((Class348_Sub37) class348_sub37).aClass262_6998.getFirst(4)); class348_sub34 != null; class348_sub34 = ((Class348_Sub34) ((Class348_Sub37) class348_sub37) .aClass262_6998.nextForward((byte) 34))) { if ((((Class348_Sub34) class348_sub34).anInt6973) == (0x7fff & i_94_) && i_95_ == ((Class348_Sub34) class348_sub34).anInt6971) { class348_sub34.removeNode(); ((Class348_Sub34) class348_sub34).anInt6971 = i_96_; GameFont.method3459( class348_sub34, (Class348_Sub40_Sub12.anInt9200), i_91_, i_93_, i ^ ~0x9); break; } } if (i_92_ >= 0 && (i_90_ ^ 0xffffffff) <= -1 && ((Class367_Sub4.mapSizeX ^ 0xffffffff) < (i_92_ ^ 0xffffffff)) && ((i_90_ ^ 0xffffffff) > (Class348_Sub40_Sub3.mapSizeY ^ 0xffffffff))) Class203.method1479(i_90_, (byte) -125, i_92_, (Class348_Sub40_Sub12.anInt9200)); } } } else if (class74 == Class327.aClass74_4098) { int i_97_ = Class299.gameBuffer.readLEShort(false); int i_98_ = Class299.gameBuffer.getUByte(); int i_99_ = (0x7 & i_98_) + FileArchiveTracker.anInt4786; int i_100_ = Class90.baseRegionY + i_99_; int i_101_ = NpcLoader.anInt3581 - -((i_98_ & 0x7b) >> 1853674564); int i_102_ = za_Sub2.baseRegionX + i_101_; int i_103_ = Class299.gameBuffer.method3355(-25); int i_104_ = Class299.gameBuffer.method3355(123); if (i_104_ != Class348_Sub42_Sub11.localPlayerId) { boolean bool = (i_101_ >= 0 && i_99_ >= 0 && ((Class367_Sub4.mapSizeX ^ 0xffffffff) < (i_101_ ^ 0xffffffff)) && ((Class348_Sub40_Sub3.mapSizeY ^ 0xffffffff) < (i_99_ ^ 0xffffffff))); if (bool || Class282.method2112(122, Class312.anInt3931)) { GameFont.method3459( new Class348_Sub34(i_103_, i_97_), Class348_Sub40_Sub12.anInt9200, i_100_, i_102_, i + -10); if (bool) Class203.method1479(i_99_, (byte) -120, i_101_, (Class348_Sub40_Sub12.anInt9200)); } } } else if (class74 == ModelPolygon.aClass74_2157) { int i_105_ = Class299.gameBuffer.getUByte(); boolean bool = (0x80 & i_105_ ^ 0xffffffff) != -1; int i_106_ = NpcLoader.anInt3581 - -(i_105_ >> 619621731 & 0x7); int i_107_ = (0x7 & i_105_) + FileArchiveTracker.anInt4786; int i_108_ = i_106_ - -Class299.gameBuffer.getByte(); int i_109_ = (Class299.gameBuffer.getByte() + i_107_); int i_110_ = Class299.gameBuffer.getWord(13638); int i_111_ = Class299.gameBuffer.getShort(); int i_112_ = (Class299.gameBuffer.getUByte() * 4); int i_113_ = (Class299.gameBuffer.getUByte() * 4); int i_114_ = Class299.gameBuffer.getShort(); int i_115_ = Class299.gameBuffer.getShort(); int i_116_ = Class299.gameBuffer.getUByte(); if ((i_116_ ^ 0xffffffff) == -256) i_116_ = -1; int i_117_ = Class299.gameBuffer.getShort(); if (i_106_ >= 0 && (i_107_ ^ 0xffffffff) <= -1 && ((Class367_Sub4.mapSizeX ^ 0xffffffff) < (i_106_ ^ 0xffffffff)) && i_107_ < Class348_Sub40_Sub3.mapSizeY && (i_108_ ^ 0xffffffff) <= -1 && (i_109_ ^ 0xffffffff) <= -1 && Class367_Sub4.mapSizeX > i_108_ && ((i_109_ ^ 0xffffffff) > (Class348_Sub40_Sub3.mapSizeY ^ 0xffffffff)) && (i_111_ ^ 0xffffffff) != -65536) { i_117_ <<= 2; i_109_ = 256 + i_109_ * 512; i_113_ <<= 2; i_108_ = 256 + 512 * i_108_; i_107_ = i_107_ * 512 + 256; i_106_ = i_106_ * 512 + 256; i_112_ <<= 2; Class318_Sub1_Sub3_Sub5 class318_sub1_sub3_sub5 = (new Class318_Sub1_Sub3_Sub5( i_111_, Class348_Sub40_Sub12.anInt9200, Class348_Sub40_Sub12.anInt9200, i_106_, i_107_, i_112_, i_114_ + Class367_Sub11.logicCycle, Class367_Sub11.logicCycle + i_115_, i_116_, i_117_, 0, i_110_, i_113_, bool, -1)); class318_sub1_sub3_sub5.method2471( (byte) -103, Class275.method2064(i_108_, (Class348_Sub40_Sub12.anInt9200), 11219, i_109_) + -i_113_, i_109_, i_114_ + Class367_Sub11.logicCycle, i_108_); Class348_Sub40_Sub17.aClass262_9240.addToFront( new Class348_Sub42_Sub18(class318_sub1_sub3_sub5), -20180); } } else if (Class186.aClass74_2491 == class74) { Class299.gameBuffer.getUByte(); int i_118_ = Class299.gameBuffer.getUByte(); int i_119_ = (i_118_ >> -1291024188 & 0x7) + NpcLoader.anInt3581; int i_120_ = (0x7 & i_118_) + FileArchiveTracker.anInt4786; int i_121_ = Class299.gameBuffer.getShort(); int i_122_ = Class299.gameBuffer.getUByte(); int i_123_ = Class299.gameBuffer.getTri(); String string = Class299.gameBuffer.getJstr(); Class6.method205( i_121_, i_119_, i_123_, string, i_122_, -109, i_120_, Class348_Sub40_Sub12.anInt9200); } else { Class156.method1242("T3 - " + class74, null, 15004); Class348_Sub40_Sub34.method3141(false, (byte) 11); } } } catch (RuntimeException runtimeexception) { throw Class348_Sub17.method2929( runtimeexception, ("sfa.A(" + (class74 != null ? "{...}" : "null") + ',' + i + ')')); } }