Thread: NPC attack issue

Page 1 of 2 12 LastLast
Results 1 to 10 of 12
  1. #1 NPC attack issue 
    Irathient Developer

    mr selby's Avatar
    Join Date
    May 2011
    Age
    28
    Posts
    1,183
    Thanks given
    95
    Thanks received
    166
    Rep Power
    97
    okay, so basically if any player goes and fights a dragon and gets hit with the fire breath, and then if any player goes and fights ANY other npc they also breath fire, like so:



    cant find the issue, and im not missing any "break;" in loadspell or anything
    Reply With Quote  
     

  2. #2  
    Registered Member
    Join Date
    Sep 2013
    Posts
    285
    Thanks given
    3
    Thanks received
    3
    Rep Power
    11
    r u sur its not a dregon
    Reply With Quote  
     

  3. #3  
    Irathient Developer

    mr selby's Avatar
    Join Date
    May 2011
    Age
    28
    Posts
    1,183
    Thanks given
    95
    Thanks received
    166
    Rep Power
    97
    Quote Originally Posted by lrig View Post
    r u sur its not a dregon

    Reply With Quote  
     

  4. #4  
    oof


    Join Date
    Aug 2012
    Posts
    3,150
    Thanks given
    2,847
    Thanks received
    857
    Rep Power
    2260
    rock crabs are descendants of dragons so it would only make sense

    stupid op

    lols
    OT: Post your loadSpell
    Reply With Quote  
     

  5. #5  
    Irathient Developer

    mr selby's Avatar
    Join Date
    May 2011
    Age
    28
    Posts
    1,183
    Thanks given
    95
    Thanks received
    166
    Rep Power
    97
    Quote Originally Posted by Vesia View Post
    rock crabs are descendants of dragons so it would only make sense

    stupid op

    lols
    OT: Post your loadSpell
    all NPC's do it





    Code:
    public void loadSpell(int i) {
    		final Client c = (Client) PlayerHandler.players[npcs[i].oldIndex];
    		switch (npcs[i].npcType) {
    		case 1851:
    			random = Misc.random(2);
    			if (goodDistance(npcs[i].absX, npcs[i].absY, c.absX, c.absY, 2))
    				NPC.attackType = 0 + random;
    			if (NPC.attackType == 0) {
    				NPC.projectileId = -1;
    			} else {
    				NPC.attackType = 2;
    				NPC.projectileId = 280;
    			}
    			break;
    
    		case 10035:
    			random = Misc.random(2);
    			NPC.attackType = 0 + random;
    			if (NPC.attackType == 0) {
    				NPC.projectileId = -1;
    			} else {
    				npcs[i].forceChat("DEEP FREEZE!");
    				NPC.attackType = 2;
    				NPC.projectileId = 539;
    			}
    			break;
    
    
    		case 3847:
    			NPC.attackType = 2;
    			NPC.projectileId = 162;
    			npcs[i].endGfx = 163;
    			break;
    
    		case 10140:
    			random = Misc.random(2);
    			NPC.attackType = 0 + random;
    			if (NPC.attackType == 0) {
    				NPC.projectileId = -1;
    			} else {
    				NPC.attackType = 2;
    				npcs[i].endGfx = 538;
    			}
    			break;
    
    		case 5460:
    			if (goodDistance(npcs[i].absX, npcs[i].absY, c.absX, c.absY, 2))
    				random = Misc.random(1);
    			NPC.attackType = 1 + random;
    			if (NPC.attackType == 1) {
    				NPC.projectileId = -1;
    			} else {
    				NPC.attackType = 2;
    				NPC.projectileId = 5;
    			}
    			break;
    		case 8549:
    			if (goodDistance(npcs[i].absX, npcs[i].absY, c.absX, c.absY, 2))
    				random = Misc.random(2);
    			NPC.attackType = 0 + random;
    			if (NPC.attackType == 0) {
    				NPC.projectileId = -1;
    			} else {
    				NPC.attackType = 2;
    				NPC.projectileId = 2148;
    			}
    			break;
    
    		case 8528:
    			int r71 = 0;
    			if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 3))
    				r71 = Misc.random(2);
    			else
    				r71 = Misc.random(1);
    			if (r71 == 0) {
    				npcs[i].forceChat("This is...TRUE POWER!");
    				NPC.attackType = 2;
    				npcs[i].endGfx = 2169;
    			} else if (r71 == 1) {
    				NPC.attackType = 0;
    				NPC.projectileId = -1;
    			} else if (r71 == 2) { // Turmoil
    				if (npcs[i].HP <= 400 && npcs[i].HP >= 300) {
    					npcs[i].forceAnim(12693); // turm
    					npcs[i].forceChat("There is...NO ESCAPE!");
    					c.gfx0(1311);
    					npcs[i].hitDelayTimer += 3;
    				}
    			} else if (r71 == 3) { // Blood Barrage
    				if (npcs[i].HP <= 800 && npcs[i].HP >= 500) {
    					npcs[i].forceChat("I...need...health!");
    					npcs[i].HP += 15;
    					NPC.attackType = 2;
    					c.gfx0(377);
    					c.sendMessage("Your health has been sapped.");
    				}
    			}
    			break;
    
    		case 8596:
    			int r8 = 0;
    			if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 3))
    				r8 = Misc.random(2);
    			else
    				r8 = Misc.random(1);
    			if (r8 == 0) {
    				npcs[i].forceChat("I'LL FREEZE YOUR BALLS OFF!");
    				NPC.attackType = 2;
    				npcs[i].endGfx = 367;
    			} else if (r8 == 1) {
    				npcs[i].forceChat("TRY TO DEFEND AGAINST THIS, PUSSIES!");
    				NPC.attackType = 1;
    				npcs[i].endGfx = 1449;
    			} else if (r8 == 2) {
    				npcs[i].forceChat("DIE, BITCH!");
    				NPC.attackType = 0;
    				NPC.projectileId = -1;
    			}
    			break;
    
    		case 8282:
    			int r9 = 0;
    			if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 3))
    				r9 = Misc.random(2);
    			else
    				r9 = Misc.random(1);
    			if (r9 == 0) {
    				NPC.attackType = 2;
    				NPC.projectileId = 1940;
    				npcs[i].endGfx = 1941;
    			} else if (r9 == 1) {
    				NPC.attackType = 1;
    				NPC.projectileId = 1937;
    				npcs[i].endGfx = 1938;
    			} else if (r9 == 2) {
    				NPC.attackType = 0;
    				NPC.projectileId = -1;
    			}
    			break;
    		case 9855:
    			int r11 = 0;
    			if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 3))
    				r11 = Misc.random(2);
    			else
    				r11 = Misc.random(1);
    			if (r11 == 0) {
    				npcs[i].forceChat("DIE FROZEN, IN A BLOCK OF ICE!");
    				NPC.attackType = 2;
    				npcs[i].endGfx = 539;
    			} else if (r11 == 1) {
    				npcs[i].forceChat("HAH!");
    				NPC.attackType = 0;
    				NPC.projectileId = -1;
    			}
    			break;
    
    		case 10057:
    			int r12 = 0;
    			if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 3))
    				r12 = Misc.random(2);
    			else
    				r12 = Misc.random(1);
    			if (r12 == 0) {
    				NPC.attackType = 0;
    				NPC.projectileId = -1;
    			} else if (r12 == 1) {
    				npcs[i].forceChat("DEEP FREEZE!");
    				NPC.attackType = 2;
    				if (c.freezeTimer <= 0) {
    					c.freezeTimer = 15;
    					c.sendMessage("You have been frozen!");
    				}
    				NPC.projectileId = 362;
    				npcs[i].endGfx = 369;
    			} else if (r12 == 2) {
    				npcs[i].forceChat("SUFFER IN THE COLD!");
    				NPC.attackType = 1;
    				NPC.projectileId = 362;
    			}
    			break;
    
    		case 9172:
    			int r13 = 0;
    			if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 3))
    				r13 = Misc.random(2);
    			else
    				r13 = Misc.random(1);
    			if (r13 == 0) {
    				NPC.attackType = 2;
    				NPC.projectileId = 500;
    				npcs[i].endGfx = 502;
    			} else if (r13 == 1) {
    				NPC.attackType = 0;
    				NPC.projectileId = -1;
    			}
    			break;
    
    		case 9437:
    			int r10 = 0;
    			if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 3))
    				r10 = Misc.random(2);
    			else
    				r10 = Misc.random(1);
    			if (r10 == 0) {
    				NPC.attackType = 0;
    				NPC.projectileId = -1;
    			} else if (r10 == 1) {
    				npcs[i].forceChat("TASTE MY VENEMOUS SPIKES!");
    				c.getPA().appendPoison(c, 10);
    				NPC.attackType = 1;
    				npcs[i].endGfx = 2166;
    			} else if (r10 == 2) {
    				npcs[i].forceChat("MY ROOTS, HEAL ME!");
    				npcs[i].HP += 15;
    				NPC.attackType = 2;
    				NPC.projectileId = -1;
    			}
    			break;
    
    		case 3843:
    			random = Misc.random(2);
    			NPC.attackType = 0 + random;
    			if (NPC.attackType == 0) {
    				NPC.projectileId = -1;
    			} else {
    				NPC.attackType = 2;
    				npcs[i].endGfx = 367;
    			}
    			break;
    
    		case 9779:
    			random = Misc.random(2);
    			NPC.attackType = 0 + random;
    			if (NPC.attackType == 0) {
    				NPC.projectileId = -1;
    			} else {
    				npcs[i].forceChat("CHARGE!!!!!!!");
    				NPC.attackType = 2;
    				NPC.projectileId = -1;
    				npcs[i].endGfx = 437;
    			}
    			break;
    
    		case 9176:
    			random = Misc.random(2);
    			NPC.attackType = 0 + random;
    			if (NPC.attackType == 0) {
    				NPC.projectileId = -1;
    			} else {
    				npcs[i].forceChat("EAT SOME BONES!");
    				NPC.attackType = 2;
    				npcs[i].endGfx = 520;
    			}
    			break;
    
    		case 9766:
    			random = Misc.random(2);
    			NPC.attackType = 0 + random;
    			if (NPC.attackType == 1) {
    				NPC.projectileId = 26;
    			} else {
    				NPC.attackType = 2;
    				NPC.projectileId = 2183;
    			}
    			break;
    
    		// kalphite queen form 2
    		case 1160:
    			for (int j = 0; j < PlayerHandler.players.length; j++) {
    				if (PlayerHandler.players[j] != null) {
    
    					int kq1 = 0;
    					if (goodDistance(npcs[i].absX, npcs[i].absY, c.absX, c.absY, 2))
    						kq1 = Misc.random(2);
    					else
    						kq1 = Misc.random(1);
    					if (kq1 == 0) {
    						NPC.projectileId = 280; // mage
    						npcs[i].endGfx = 281;
    						NPC.attackType = 2;
    					} else if (kq1 == 1) {
    						NPC.attackType = 1; // range
    						npcs[i].endGfx = 281;
    						NPC.projectileId = 473;
    					} else if (kq1 == 2) {
    						NPC.attackType = 0; // melee
    						NPC.projectileId = -1;
    					}
    				}
    			}
    
    			break;
    		case 2894:
    			NPC.projectileId = 298;
    			NPC.attackType = 1;
    			break;
    
    		case 8564:
    			NPC.projectileId = 26;
    			NPC.attackType = 1;
    			break;
    
    		case 8568:
    			NPC.projectileId = 2148;
    			NPC.attackType = 2;
    			break;
    
    		case 7136:
    			if (goodDistance(npcs[i].absX, npcs[i].absY, c.absX, c.absY, 2))
    				npcs[i].endGfx = 367;
    			NPC.attackType = 2;
    			break;
    
    		case 6203:
    			random = Misc.random(2);
    			if (random == 0 || random == 1) {
    				NPC.attackType = 0;
    				NPC.projectileId = -1;
    			} else {
    				NPC.attackType = 2;
    				NPC.projectileId = 1211;
    			}
    			break;
    		case 5666:
    			random = Misc.random(1);
    			if (random == 0) {
    				NPC.attackType = 1;
    			} else {
    				NPC.attackType = 2;
    
    			}
    			break;
    		case 6206:
    			NPC.attackType = 1;
    			NPC.projectileId = 1209;
    			break;
    		case 6208:
    			NPC.attackType = 2;
    			NPC.projectileId = 1213;
    			break;
    		case 6256:
    			NPC.attackType = 1;
    			NPC.projectileId = 16;
    			break;
    		case 6220:
    			NPC.attackType = 1;
    			NPC.projectileId = 17;
    			break;
    		case 50:
    			int r5 = 0;
    			if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 2))
    				r5 = Misc.random(5);
    			else
    				r5 = Misc.random(3);
    			if (r5 == 0) {
    				NPC.projectileId = 393; // red
    				NPC.attackType = 3;
    			} else if (r5 == 1) {
    				NPC.projectileId = 394; // green
    				NPC.attackType = 2;
    			} else if (r5 == 2) {
    				NPC.projectileId = 395; // white
    				NPC.attackType = 2;
    				if (c.freezeTimer <= 0) {
    					c.freezeTimer = 19;
    					c.sendMessage("You have been frozen!");
    				}
    			} else if (r5 == 3) {
    				NPC.projectileId = 396; // blue
    				NPC.attackType = 2;
    			} else if (r5 == 4) {
    				NPC.projectileId = -1; // melee
    				NPC.attackType = 0;
    			} else if (r5 == 5) {
    				NPC.projectileId = -1; // melee
    				NPC.attackType = 0;
    			}
    			break;
    		case 53:
    		case 54:
    		case 55:
    		case 941:
    		case 1590:
    		case 1591:
    		case 1592:
    			int r6 = 0;
    			if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 2))
    				r6 = Misc.random(2);
    			else
    				r6 = Misc.random(1);
    			if (r6 == 0) {
    				NPC.projectileId = 393; // red
    				NPC.attackType = 3;
    			} else if (r6 == 1) {
    				NPC.projectileId = 393; // red
    				NPC.attackType = 3;
    			} else if (r6 == 2) {
    				NPC.projectileId = -1; // melee
    				NPC.attackType = 0;
    			}
    			break;
    		// arma npcs
    		case 6227: // kilisa
    			NPC.attackType = 0;
    			break;
    		case 6225: // geerin
    		case 6233:
    		case 6230:
    			NPC.attackType = 1;
    			NPC.projectileId = 1190;
    			break;
    		case 6239:
    			NPC.attackType = 1;
    			NPC.projectileId = 1191;
    			break;
    		case 6232:
    			NPC.attackType = 1;
    			NPC.projectileId = 1191;
    			break;
    		case 6276:
    			NPC.attackType = 1;
    			NPC.projectileId = 1195;
    			break;
    		case 6223: // skree
    			NPC.attackType = 2;
    			NPC.projectileId = 1199;
    			break;
    		case 6257: // saradomin strike
    			NPC.attackType = 2;
    			npcs[i].endGfx = 76;
    			break;
    		case 6221: // zamorak strike
    			NPC.attackType = 2;
    			npcs[i].endGfx = 78;
    			break;
    		case 6231: // arma
    			NPC.attackType = 2;
    			NPC.projectileId = 1199;
    			break;
    		case 6222: // kree
    			random = Misc.random(1);
    			NPC.attackType = 1 + random;
    			if (NPC.attackType == 1) {
    				NPC.projectileId = 1197;
    			} else {
    				NPC.attackType = 2;
    				NPC.projectileId = 1198;
    			}
    			break;
    		// sara npcs
    		case 6247: // sara
    			random = Misc.random(1);
    			if (random == 0) {
    				NPC.attackType = 2;
    				npcs[i].endGfx = 1224;
    				NPC.projectileId = -1;
    			} else if (random == 1)
    				NPC.attackType = 0;
    			break;
    		case 6248: // star
    			NPC.attackType = 0;
    			break;
    		case 6250: // growler
    			NPC.attackType = 2;
    			NPC.projectileId = 1203;
    			break;
    		case 6252: // bree
    			NPC.attackType = 1;
    			NPC.projectileId = 9;
    			break;
    		// bandos npcs
    		case 6260: // bandos
    			random = Misc.random(2);
    			if (random == 0 || random == 1) {
    				NPC.attackType = 0;
    			} else {
    				NPC.attackType = 1;
    				// npcs[i].projectileId = 1200;
    			}
    			break;
    		case 9463:
    			random = Misc.random(2);
    			if (random == 0 || random == 1)
    				NPC.attackType = 0;
    			else {
    				c.freezeTimer = 20;
    				NPC.attackType = 2;
    				c.sendMessage("You have been frozen!");
    			}
    			break;
    		case 9467:
    			random = Misc.random(2);
    			if (random == 0 || random == 1)
    				NPC.attackType = 0;
    			else {
    				if (c.poisonDamage <= 0) {
    					c.getPA().appendPoison(c, 12);
    					NPC.attackType = 2;
    					c.sendMessage("You have been poisoned!");
    				}
    			}
    		case 9465:
    			random = Misc.random(2);
    			if (random == 0 || random == 1)
    				NPC.attackType = 0;
    			else {
    				c.playerLevel[5] -= (c.playerLevel[5] * .22);
    				NPC.attackType = 2;
    				c.sendMessage("You feel your prayer drained.");
    				c.getPA().refreshSkill(5);
    			}
    			break;
    		case 795:
    			random = Misc.random(2);
    			if (random == 0 || random == 1)
    				NPC.attackType = 0;
    			else {
    				c.gfx0(369);
    				npcs[i].forceChat("Muhahaha");
    				c.freezeTimer = 15;
    				NPC.attackType = 2;
    			}
    			break;
    		case 3495:
    			random = Misc.random(2);
    			if (random == 0 || random == 1)
    				NPC.attackType = 0;
    			else {
    				c.gfx0(369);
    				npcs[i].forceChat("Semolina-Go!");
    				c.freezeTimer = 10;
    				NPC.attackType = 2;
    			}
    			break;
    		case 3493:
    			random = Misc.random(2);
    			if (random == 0 || random == 1) {
    				NPC.attackType = 0;
    				NPC.projectileId = -1;
    			} else {
    				npcs[i].gfx100(129);
    				NPC.projectileId = 130;
    				npcs[i].endGfx = 131;
    				NPC.attackType = 2;
    			}
    			break;
    		case 3496:
    			random = Misc.random(2);
    			if (random == 0 || random == 1) {
    				NPC.attackType = 0;
    				NPC.projectileId = -1;
    			} else {
    				npcs[i].forceChat("Hssssssssssss");
    				npcs[i].gfx100(550);
    				NPC.projectileId = 551;
    				npcs[i].endGfx = 552;
    				NPC.attackType = 2;
    			}
    			break;
    		case 3491:
    			NPC.projectileId = 106;
    			NPC.attackType = 2;
    			break;
    		case 6261: // strongstack
    			NPC.attackType = 0;
    			break;
    		case 2025:
    			NPC.attackType = 2;
    			int r = Misc.random(3);
    			if (r == 0) {
    				npcs[i].gfx100(158);
    				NPC.projectileId = 159;
    				npcs[i].endGfx = 160;
    			}
    			if (r == 1) {
    				npcs[i].gfx100(161);
    				NPC.projectileId = 162;
    				npcs[i].endGfx = 163;
    			}
    			if (r == 2) {
    				npcs[i].gfx100(164);
    				NPC.projectileId = 165;
    				npcs[i].endGfx = 166;
    			}
    			if (r == 3) {
    				npcs[i].gfx100(155);
    				NPC.projectileId = 156;
    			}
    			break;
    		case 2881: // supreme
    			NPC.attackType = 1;
    			NPC.projectileId = 298;
    			break;
    
    		case 2882: // prime
    			NPC.attackType = 2;
    			NPC.projectileId = 162;
    			npcs[i].endGfx = 477;
    			break;
    
    		case 2028:
    			NPC.attackType = 1;
    			NPC.projectileId = 27;
    			break;
    
    		case 3200:
    			int r2 = Misc.random(1);
    			if (r2 == 0) {
    				NPC.attackType = 1;
    				npcs[i].gfx100(550);
    				NPC.projectileId = 551;
    				npcs[i].endGfx = 552;
    			} else {
    				NPC.attackType = 2;
    				npcs[i].gfx100(553);
    				NPC.projectileId = 554;
    				npcs[i].endGfx = 555;
    			}
    			break;
    		case 2745:
    			int r3 = 0;
    			if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].spawnedBy].absX, PlayerHandler.players[npcs[i].spawnedBy].absY, 1))
    				r3 = Misc.random(2);
    			else
    				r3 = Misc.random(1);
    			if (r3 == 0) {
    				NPC.attackType = 2;
    				npcs[i].endGfx = 157;
    				NPC.projectileId = 1627;
    			} else if (r3 == 1) {
    				NPC.attackType = 1;
    				npcs[i].endGfx = 451;
    				npcs[i].gfx100(1625);
    				NPC.projectileId = -1;
    			} else if (r3 == 2) {
    				NPC.attackType = 0;
    				NPC.projectileId = -1;
    			}
    			break;
    		case 8133:
    			if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 3))
    				r3 = Misc.random(2);
    			else
    				r3 = Misc.random(1);
    			if (r3 == 0) {
    				NPC.attackType = 2;
    				npcs[i].endGfx = -1;
    				NPC.projectileId = 1828;
    			} else if (r3 == 1) {
    				NPC.attackType = 1;
    				npcs[i].endGfx = -1;
    				NPC.projectileId = 1839;
    			} else if (r3 == 2) {
    				NPC.attackType = 0;
    				npcs[i].gfx100(1834);
    				NPC.projectileId = -1;
    			}
    			break;
    		case 3102:
    			NPC.attackType = 1;
    			NPC.projectileId = 1839;
    			break;
    		case 3103:
    			NPC.attackType = 2;
    			NPC.projectileId = 1828;
    			break;
    		case 8349:
    		case 8350:
    		case 8351:
    			if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 2))
    				r3 = Misc.random(2);
    			else
    				r3 = Misc.random(1);
    			if (r3 == 0) {
    				NPC.attackType = 2;
    				npcs[i].gfx100(1885);
    				NPC.projectileId = 1884;
    			} else if (r3 == 1) {
    				NPC.attackType = 1;
    				NPC.projectileId = 1889;
    			} else if (r3 == 2) {
    				NPC.attackType = 0;
    				npcs[i].gfx100(1886);
    				NPC.projectileId = -1;
    			}
    			break;
    		case 2743:
    			NPC.attackType = 2;
    			NPC.projectileId = 445;
    			npcs[i].endGfx = 446;
    			break;
    
    		case 2631:
    			NPC.attackType = 1;
    			NPC.projectileId = 443;
    			break;
    		case 6263:
    			NPC.attackType = 2; // Magic
    			NPC.projectileId = 1203;
    			break;
    		case 6265:
    			NPC.attackType = 1; // Range
    			NPC.projectileId = 1206;
    			break;
    		case 1158:// kq first form
    			int kqRandom = Misc.random(3);
    			if (kqRandom == 2) {
    				NPC.projectileId = 280; // gfx
    				NPC.attackType = 2;
    				npcs[i].endGfx = 279;
    			} else {
    				npcs[i].endGfx = -1;
    				NPC.projectileId = -1;
    				NPC.attackType = 0;
    			}
    			break;
    		case 2892:
    			NPC.projectileId = 94;
    			NPC.attackType = 2;
    			npcs[i].endGfx = 95;
    			break;
    		case 5363:
    			int randoma = Misc.random(2);
    			if (randoma == 0) {
    				NPC.projectileId = 393; // red
    				npcs[i].endGfx = 430;
    				NPC.attackType = 3;
    			} else if (randoma == 1) {
    				NPC.projectileId = -1; // melee
    				npcs[i].endGfx = -1;
    				NPC.attackType = 0;
    			} else if (randoma == 2) {
    				NPC.projectileId = -1; // melee
    				npcs[i].endGfx = -1;
    				NPC.attackType = 0;
    			}
    			break;
    		
    		}
    	}
    Reply With Quote  
     

  6. #6  
    oof


    Join Date
    Aug 2012
    Posts
    3,150
    Thanks given
    2,847
    Thanks received
    857
    Rep Power
    2260
    Quote Originally Posted by mr selby View Post
    all NPC's do it





    Code:
    public void loadSpell(int i) {
    		final Client c = (Client) PlayerHandler.players[npcs[i].oldIndex];
    		switch (npcs[i].npcType) {
    		case 1851:
    			random = Misc.random(2);
    			if (goodDistance(npcs[i].absX, npcs[i].absY, c.absX, c.absY, 2))
    				NPC.attackType = 0 + random;
    			if (NPC.attackType == 0) {
    				NPC.projectileId = -1;
    			} else {
    				NPC.attackType = 2;
    				NPC.projectileId = 280;
    			}
    			break;
    
    		case 10035:
    			random = Misc.random(2);
    			NPC.attackType = 0 + random;
    			if (NPC.attackType == 0) {
    				NPC.projectileId = -1;
    			} else {
    				npcs[i].forceChat("DEEP FREEZE!");
    				NPC.attackType = 2;
    				NPC.projectileId = 539;
    			}
    			break;
    
    
    		case 3847:
    			NPC.attackType = 2;
    			NPC.projectileId = 162;
    			npcs[i].endGfx = 163;
    			break;
    
    		case 10140:
    			random = Misc.random(2);
    			NPC.attackType = 0 + random;
    			if (NPC.attackType == 0) {
    				NPC.projectileId = -1;
    			} else {
    				NPC.attackType = 2;
    				npcs[i].endGfx = 538;
    			}
    			break;
    
    		case 5460:
    			if (goodDistance(npcs[i].absX, npcs[i].absY, c.absX, c.absY, 2))
    				random = Misc.random(1);
    			NPC.attackType = 1 + random;
    			if (NPC.attackType == 1) {
    				NPC.projectileId = -1;
    			} else {
    				NPC.attackType = 2;
    				NPC.projectileId = 5;
    			}
    			break;
    		case 8549:
    			if (goodDistance(npcs[i].absX, npcs[i].absY, c.absX, c.absY, 2))
    				random = Misc.random(2);
    			NPC.attackType = 0 + random;
    			if (NPC.attackType == 0) {
    				NPC.projectileId = -1;
    			} else {
    				NPC.attackType = 2;
    				NPC.projectileId = 2148;
    			}
    			break;
    
    		case 8528:
    			int r71 = 0;
    			if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 3))
    				r71 = Misc.random(2);
    			else
    				r71 = Misc.random(1);
    			if (r71 == 0) {
    				npcs[i].forceChat("This is...TRUE POWER!");
    				NPC.attackType = 2;
    				npcs[i].endGfx = 2169;
    			} else if (r71 == 1) {
    				NPC.attackType = 0;
    				NPC.projectileId = -1;
    			} else if (r71 == 2) { // Turmoil
    				if (npcs[i].HP <= 400 && npcs[i].HP >= 300) {
    					npcs[i].forceAnim(12693); // turm
    					npcs[i].forceChat("There is...NO ESCAPE!");
    					c.gfx0(1311);
    					npcs[i].hitDelayTimer += 3;
    				}
    			} else if (r71 == 3) { // Blood Barrage
    				if (npcs[i].HP <= 800 && npcs[i].HP >= 500) {
    					npcs[i].forceChat("I...need...health!");
    					npcs[i].HP += 15;
    					NPC.attackType = 2;
    					c.gfx0(377);
    					c.sendMessage("Your health has been sapped.");
    				}
    			}
    			break;
    
    		case 8596:
    			int r8 = 0;
    			if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 3))
    				r8 = Misc.random(2);
    			else
    				r8 = Misc.random(1);
    			if (r8 == 0) {
    				npcs[i].forceChat("I'LL FREEZE YOUR BALLS OFF!");
    				NPC.attackType = 2;
    				npcs[i].endGfx = 367;
    			} else if (r8 == 1) {
    				npcs[i].forceChat("TRY TO DEFEND AGAINST THIS, PUSSIES!");
    				NPC.attackType = 1;
    				npcs[i].endGfx = 1449;
    			} else if (r8 == 2) {
    				npcs[i].forceChat("DIE, BITCH!");
    				NPC.attackType = 0;
    				NPC.projectileId = -1;
    			}
    			break;
    
    		case 8282:
    			int r9 = 0;
    			if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 3))
    				r9 = Misc.random(2);
    			else
    				r9 = Misc.random(1);
    			if (r9 == 0) {
    				NPC.attackType = 2;
    				NPC.projectileId = 1940;
    				npcs[i].endGfx = 1941;
    			} else if (r9 == 1) {
    				NPC.attackType = 1;
    				NPC.projectileId = 1937;
    				npcs[i].endGfx = 1938;
    			} else if (r9 == 2) {
    				NPC.attackType = 0;
    				NPC.projectileId = -1;
    			}
    			break;
    		case 9855:
    			int r11 = 0;
    			if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 3))
    				r11 = Misc.random(2);
    			else
    				r11 = Misc.random(1);
    			if (r11 == 0) {
    				npcs[i].forceChat("DIE FROZEN, IN A BLOCK OF ICE!");
    				NPC.attackType = 2;
    				npcs[i].endGfx = 539;
    			} else if (r11 == 1) {
    				npcs[i].forceChat("HAH!");
    				NPC.attackType = 0;
    				NPC.projectileId = -1;
    			}
    			break;
    
    		case 10057:
    			int r12 = 0;
    			if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 3))
    				r12 = Misc.random(2);
    			else
    				r12 = Misc.random(1);
    			if (r12 == 0) {
    				NPC.attackType = 0;
    				NPC.projectileId = -1;
    			} else if (r12 == 1) {
    				npcs[i].forceChat("DEEP FREEZE!");
    				NPC.attackType = 2;
    				if (c.freezeTimer <= 0) {
    					c.freezeTimer = 15;
    					c.sendMessage("You have been frozen!");
    				}
    				NPC.projectileId = 362;
    				npcs[i].endGfx = 369;
    			} else if (r12 == 2) {
    				npcs[i].forceChat("SUFFER IN THE COLD!");
    				NPC.attackType = 1;
    				NPC.projectileId = 362;
    			}
    			break;
    
    		case 9172:
    			int r13 = 0;
    			if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 3))
    				r13 = Misc.random(2);
    			else
    				r13 = Misc.random(1);
    			if (r13 == 0) {
    				NPC.attackType = 2;
    				NPC.projectileId = 500;
    				npcs[i].endGfx = 502;
    			} else if (r13 == 1) {
    				NPC.attackType = 0;
    				NPC.projectileId = -1;
    			}
    			break;
    
    		case 9437:
    			int r10 = 0;
    			if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 3))
    				r10 = Misc.random(2);
    			else
    				r10 = Misc.random(1);
    			if (r10 == 0) {
    				NPC.attackType = 0;
    				NPC.projectileId = -1;
    			} else if (r10 == 1) {
    				npcs[i].forceChat("TASTE MY VENEMOUS SPIKES!");
    				c.getPA().appendPoison(c, 10);
    				NPC.attackType = 1;
    				npcs[i].endGfx = 2166;
    			} else if (r10 == 2) {
    				npcs[i].forceChat("MY ROOTS, HEAL ME!");
    				npcs[i].HP += 15;
    				NPC.attackType = 2;
    				NPC.projectileId = -1;
    			}
    			break;
    
    		case 3843:
    			random = Misc.random(2);
    			NPC.attackType = 0 + random;
    			if (NPC.attackType == 0) {
    				NPC.projectileId = -1;
    			} else {
    				NPC.attackType = 2;
    				npcs[i].endGfx = 367;
    			}
    			break;
    
    		case 9779:
    			random = Misc.random(2);
    			NPC.attackType = 0 + random;
    			if (NPC.attackType == 0) {
    				NPC.projectileId = -1;
    			} else {
    				npcs[i].forceChat("CHARGE!!!!!!!");
    				NPC.attackType = 2;
    				NPC.projectileId = -1;
    				npcs[i].endGfx = 437;
    			}
    			break;
    
    		case 9176:
    			random = Misc.random(2);
    			NPC.attackType = 0 + random;
    			if (NPC.attackType == 0) {
    				NPC.projectileId = -1;
    			} else {
    				npcs[i].forceChat("EAT SOME BONES!");
    				NPC.attackType = 2;
    				npcs[i].endGfx = 520;
    			}
    			break;
    
    		case 9766:
    			random = Misc.random(2);
    			NPC.attackType = 0 + random;
    			if (NPC.attackType == 1) {
    				NPC.projectileId = 26;
    			} else {
    				NPC.attackType = 2;
    				NPC.projectileId = 2183;
    			}
    			break;
    
    		// kalphite queen form 2
    		case 1160:
    			for (int j = 0; j < PlayerHandler.players.length; j++) {
    				if (PlayerHandler.players[j] != null) {
    
    					int kq1 = 0;
    					if (goodDistance(npcs[i].absX, npcs[i].absY, c.absX, c.absY, 2))
    						kq1 = Misc.random(2);
    					else
    						kq1 = Misc.random(1);
    					if (kq1 == 0) {
    						NPC.projectileId = 280; // mage
    						npcs[i].endGfx = 281;
    						NPC.attackType = 2;
    					} else if (kq1 == 1) {
    						NPC.attackType = 1; // range
    						npcs[i].endGfx = 281;
    						NPC.projectileId = 473;
    					} else if (kq1 == 2) {
    						NPC.attackType = 0; // melee
    						NPC.projectileId = -1;
    					}
    				}
    			}
    
    			break;
    		case 2894:
    			NPC.projectileId = 298;
    			NPC.attackType = 1;
    			break;
    
    		case 8564:
    			NPC.projectileId = 26;
    			NPC.attackType = 1;
    			break;
    
    		case 8568:
    			NPC.projectileId = 2148;
    			NPC.attackType = 2;
    			break;
    
    		case 7136:
    			if (goodDistance(npcs[i].absX, npcs[i].absY, c.absX, c.absY, 2))
    				npcs[i].endGfx = 367;
    			NPC.attackType = 2;
    			break;
    
    		case 6203:
    			random = Misc.random(2);
    			if (random == 0 || random == 1) {
    				NPC.attackType = 0;
    				NPC.projectileId = -1;
    			} else {
    				NPC.attackType = 2;
    				NPC.projectileId = 1211;
    			}
    			break;
    		case 5666:
    			random = Misc.random(1);
    			if (random == 0) {
    				NPC.attackType = 1;
    			} else {
    				NPC.attackType = 2;
    
    			}
    			break;
    		case 6206:
    			NPC.attackType = 1;
    			NPC.projectileId = 1209;
    			break;
    		case 6208:
    			NPC.attackType = 2;
    			NPC.projectileId = 1213;
    			break;
    		case 6256:
    			NPC.attackType = 1;
    			NPC.projectileId = 16;
    			break;
    		case 6220:
    			NPC.attackType = 1;
    			NPC.projectileId = 17;
    			break;
    		case 50:
    			int r5 = 0;
    			if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 2))
    				r5 = Misc.random(5);
    			else
    				r5 = Misc.random(3);
    			if (r5 == 0) {
    				NPC.projectileId = 393; // red
    				NPC.attackType = 3;
    			} else if (r5 == 1) {
    				NPC.projectileId = 394; // green
    				NPC.attackType = 2;
    			} else if (r5 == 2) {
    				NPC.projectileId = 395; // white
    				NPC.attackType = 2;
    				if (c.freezeTimer <= 0) {
    					c.freezeTimer = 19;
    					c.sendMessage("You have been frozen!");
    				}
    			} else if (r5 == 3) {
    				NPC.projectileId = 396; // blue
    				NPC.attackType = 2;
    			} else if (r5 == 4) {
    				NPC.projectileId = -1; // melee
    				NPC.attackType = 0;
    			} else if (r5 == 5) {
    				NPC.projectileId = -1; // melee
    				NPC.attackType = 0;
    			}
    			break;
    		case 53:
    		case 54:
    		case 55:
    		case 941:
    		case 1590:
    		case 1591:
    		case 1592:
    			int r6 = 0;
    			if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 2))
    				r6 = Misc.random(2);
    			else
    				r6 = Misc.random(1);
    			if (r6 == 0) {
    				NPC.projectileId = 393; // red
    				NPC.attackType = 3;
    			} else if (r6 == 1) {
    				NPC.projectileId = 393; // red
    				NPC.attackType = 3;
    			} else if (r6 == 2) {
    				NPC.projectileId = -1; // melee
    				NPC.attackType = 0;
    			}
    			break;
    		// arma npcs
    		case 6227: // kilisa
    			NPC.attackType = 0;
    			break;
    		case 6225: // geerin
    		case 6233:
    		case 6230:
    			NPC.attackType = 1;
    			NPC.projectileId = 1190;
    			break;
    		case 6239:
    			NPC.attackType = 1;
    			NPC.projectileId = 1191;
    			break;
    		case 6232:
    			NPC.attackType = 1;
    			NPC.projectileId = 1191;
    			break;
    		case 6276:
    			NPC.attackType = 1;
    			NPC.projectileId = 1195;
    			break;
    		case 6223: // skree
    			NPC.attackType = 2;
    			NPC.projectileId = 1199;
    			break;
    		case 6257: // saradomin strike
    			NPC.attackType = 2;
    			npcs[i].endGfx = 76;
    			break;
    		case 6221: // zamorak strike
    			NPC.attackType = 2;
    			npcs[i].endGfx = 78;
    			break;
    		case 6231: // arma
    			NPC.attackType = 2;
    			NPC.projectileId = 1199;
    			break;
    		case 6222: // kree
    			random = Misc.random(1);
    			NPC.attackType = 1 + random;
    			if (NPC.attackType == 1) {
    				NPC.projectileId = 1197;
    			} else {
    				NPC.attackType = 2;
    				NPC.projectileId = 1198;
    			}
    			break;
    		// sara npcs
    		case 6247: // sara
    			random = Misc.random(1);
    			if (random == 0) {
    				NPC.attackType = 2;
    				npcs[i].endGfx = 1224;
    				NPC.projectileId = -1;
    			} else if (random == 1)
    				NPC.attackType = 0;
    			break;
    		case 6248: // star
    			NPC.attackType = 0;
    			break;
    		case 6250: // growler
    			NPC.attackType = 2;
    			NPC.projectileId = 1203;
    			break;
    		case 6252: // bree
    			NPC.attackType = 1;
    			NPC.projectileId = 9;
    			break;
    		// bandos npcs
    		case 6260: // bandos
    			random = Misc.random(2);
    			if (random == 0 || random == 1) {
    				NPC.attackType = 0;
    			} else {
    				NPC.attackType = 1;
    				// npcs[i].projectileId = 1200;
    			}
    			break;
    		case 9463:
    			random = Misc.random(2);
    			if (random == 0 || random == 1)
    				NPC.attackType = 0;
    			else {
    				c.freezeTimer = 20;
    				NPC.attackType = 2;
    				c.sendMessage("You have been frozen!");
    			}
    			break;
    		case 9467:
    			random = Misc.random(2);
    			if (random == 0 || random == 1)
    				NPC.attackType = 0;
    			else {
    				if (c.poisonDamage <= 0) {
    					c.getPA().appendPoison(c, 12);
    					NPC.attackType = 2;
    					c.sendMessage("You have been poisoned!");
    				}
    			}
    		case 9465:
    			random = Misc.random(2);
    			if (random == 0 || random == 1)
    				NPC.attackType = 0;
    			else {
    				c.playerLevel[5] -= (c.playerLevel[5] * .22);
    				NPC.attackType = 2;
    				c.sendMessage("You feel your prayer drained.");
    				c.getPA().refreshSkill(5);
    			}
    			break;
    		case 795:
    			random = Misc.random(2);
    			if (random == 0 || random == 1)
    				NPC.attackType = 0;
    			else {
    				c.gfx0(369);
    				npcs[i].forceChat("Muhahaha");
    				c.freezeTimer = 15;
    				NPC.attackType = 2;
    			}
    			break;
    		case 3495:
    			random = Misc.random(2);
    			if (random == 0 || random == 1)
    				NPC.attackType = 0;
    			else {
    				c.gfx0(369);
    				npcs[i].forceChat("Semolina-Go!");
    				c.freezeTimer = 10;
    				NPC.attackType = 2;
    			}
    			break;
    		case 3493:
    			random = Misc.random(2);
    			if (random == 0 || random == 1) {
    				NPC.attackType = 0;
    				NPC.projectileId = -1;
    			} else {
    				npcs[i].gfx100(129);
    				NPC.projectileId = 130;
    				npcs[i].endGfx = 131;
    				NPC.attackType = 2;
    			}
    			break;
    		case 3496:
    			random = Misc.random(2);
    			if (random == 0 || random == 1) {
    				NPC.attackType = 0;
    				NPC.projectileId = -1;
    			} else {
    				npcs[i].forceChat("Hssssssssssss");
    				npcs[i].gfx100(550);
    				NPC.projectileId = 551;
    				npcs[i].endGfx = 552;
    				NPC.attackType = 2;
    			}
    			break;
    		case 3491:
    			NPC.projectileId = 106;
    			NPC.attackType = 2;
    			break;
    		case 6261: // strongstack
    			NPC.attackType = 0;
    			break;
    		case 2025:
    			NPC.attackType = 2;
    			int r = Misc.random(3);
    			if (r == 0) {
    				npcs[i].gfx100(158);
    				NPC.projectileId = 159;
    				npcs[i].endGfx = 160;
    			}
    			if (r == 1) {
    				npcs[i].gfx100(161);
    				NPC.projectileId = 162;
    				npcs[i].endGfx = 163;
    			}
    			if (r == 2) {
    				npcs[i].gfx100(164);
    				NPC.projectileId = 165;
    				npcs[i].endGfx = 166;
    			}
    			if (r == 3) {
    				npcs[i].gfx100(155);
    				NPC.projectileId = 156;
    			}
    			break;
    		case 2881: // supreme
    			NPC.attackType = 1;
    			NPC.projectileId = 298;
    			break;
    
    		case 2882: // prime
    			NPC.attackType = 2;
    			NPC.projectileId = 162;
    			npcs[i].endGfx = 477;
    			break;
    
    		case 2028:
    			NPC.attackType = 1;
    			NPC.projectileId = 27;
    			break;
    
    		case 3200:
    			int r2 = Misc.random(1);
    			if (r2 == 0) {
    				NPC.attackType = 1;
    				npcs[i].gfx100(550);
    				NPC.projectileId = 551;
    				npcs[i].endGfx = 552;
    			} else {
    				NPC.attackType = 2;
    				npcs[i].gfx100(553);
    				NPC.projectileId = 554;
    				npcs[i].endGfx = 555;
    			}
    			break;
    		case 2745:
    			int r3 = 0;
    			if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].spawnedBy].absX, PlayerHandler.players[npcs[i].spawnedBy].absY, 1))
    				r3 = Misc.random(2);
    			else
    				r3 = Misc.random(1);
    			if (r3 == 0) {
    				NPC.attackType = 2;
    				npcs[i].endGfx = 157;
    				NPC.projectileId = 1627;
    			} else if (r3 == 1) {
    				NPC.attackType = 1;
    				npcs[i].endGfx = 451;
    				npcs[i].gfx100(1625);
    				NPC.projectileId = -1;
    			} else if (r3 == 2) {
    				NPC.attackType = 0;
    				NPC.projectileId = -1;
    			}
    			break;
    		case 8133:
    			if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 3))
    				r3 = Misc.random(2);
    			else
    				r3 = Misc.random(1);
    			if (r3 == 0) {
    				NPC.attackType = 2;
    				npcs[i].endGfx = -1;
    				NPC.projectileId = 1828;
    			} else if (r3 == 1) {
    				NPC.attackType = 1;
    				npcs[i].endGfx = -1;
    				NPC.projectileId = 1839;
    			} else if (r3 == 2) {
    				NPC.attackType = 0;
    				npcs[i].gfx100(1834);
    				NPC.projectileId = -1;
    			}
    			break;
    		case 3102:
    			NPC.attackType = 1;
    			NPC.projectileId = 1839;
    			break;
    		case 3103:
    			NPC.attackType = 2;
    			NPC.projectileId = 1828;
    			break;
    		case 8349:
    		case 8350:
    		case 8351:
    			if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 2))
    				r3 = Misc.random(2);
    			else
    				r3 = Misc.random(1);
    			if (r3 == 0) {
    				NPC.attackType = 2;
    				npcs[i].gfx100(1885);
    				NPC.projectileId = 1884;
    			} else if (r3 == 1) {
    				NPC.attackType = 1;
    				NPC.projectileId = 1889;
    			} else if (r3 == 2) {
    				NPC.attackType = 0;
    				npcs[i].gfx100(1886);
    				NPC.projectileId = -1;
    			}
    			break;
    		case 2743:
    			NPC.attackType = 2;
    			NPC.projectileId = 445;
    			npcs[i].endGfx = 446;
    			break;
    
    		case 2631:
    			NPC.attackType = 1;
    			NPC.projectileId = 443;
    			break;
    		case 6263:
    			NPC.attackType = 2; // Magic
    			NPC.projectileId = 1203;
    			break;
    		case 6265:
    			NPC.attackType = 1; // Range
    			NPC.projectileId = 1206;
    			break;
    		case 1158:// kq first form
    			int kqRandom = Misc.random(3);
    			if (kqRandom == 2) {
    				NPC.projectileId = 280; // gfx
    				NPC.attackType = 2;
    				npcs[i].endGfx = 279;
    			} else {
    				npcs[i].endGfx = -1;
    				NPC.projectileId = -1;
    				NPC.attackType = 0;
    			}
    			break;
    		case 2892:
    			NPC.projectileId = 94;
    			NPC.attackType = 2;
    			npcs[i].endGfx = 95;
    			break;
    		case 5363:
    			int randoma = Misc.random(2);
    			if (randoma == 0) {
    				NPC.projectileId = 393; // red
    				npcs[i].endGfx = 430;
    				NPC.attackType = 3;
    			} else if (randoma == 1) {
    				NPC.projectileId = -1; // melee
    				npcs[i].endGfx = -1;
    				NPC.attackType = 0;
    			} else if (randoma == 2) {
    				NPC.projectileId = -1; // melee
    				npcs[i].endGfx = -1;
    				NPC.attackType = 0;
    			}
    			break;
    		
    		}
    	}

    Was joking, and actually, post your applyDamage method in NPCHandler
    Reply With Quote  
     

  7. #7  
    Irathient Developer

    mr selby's Avatar
    Join Date
    May 2011
    Age
    28
    Posts
    1,183
    Thanks given
    95
    Thanks received
    166
    Rep Power
    97
    Quote Originally Posted by Vesia View Post
    Was joking, and actually, post your applyDamage method in NPCHandler
    Code:
    public void applyDamage(int i) {
    		if (npcs[i] != null) {
    			if (PlayerHandler.players[npcs[i].oldIndex] == null) {
    				return;
    			}
    			if (npcs[i].isDead)
    				return;
    			Client c = (Client) PlayerHandler.players[npcs[i].oldIndex];
    			if (multiAttacks(i)) {
    				multiAttackDamage(i);
    				return;
    			}
    			// half
    			if (c.playerIndex <= 0 && c.npcIndex <= 0)
    				if (c.autoRet == 1)
    					c.npcIndex = i;
    			if (c.attackTimer <= 3 || c.attackTimer == 0 && c.npcIndex == 0
    					&& c.oldNpcIndex == 0) {
    				c.startAnimation(c.getCombat().getBlockEmote());
    			}
    			if (c.respawnTimer <= 0) {
    				int damage = 0;
    				if (NPC.attackType == 0) {
    					damage = Misc.random(npcs[i].maxHit);
    					if (10 + Misc.random(c.getCombat().calculateMeleeDefence()) > Misc
    							.random(NPCHandler.npcs[i].attack)) {
    						damage = 0;
    					}
    					if (c.prayerActive[18] || c.curseActive[9]) { // protect from melee
    						if (npcs[i].npcType >= 1 && npcs[i].npcType <= 15000)
    							damage = (damage / 2);
    						else if (npcs[i].npcType == 2745) {
    							damage = 0;
    					}
    					}
    					if (c.playerLevel[3] - damage < 0) {
    						damage = c.playerLevel[3];
    					}
    				}
    
    				if (NPC.attackType == 1) { // range
    					damage = Misc.random(npcs[i].maxHit);
    					if (10 + Misc.random(c.getCombat().calculateRangeDefence()) > Misc
    							.random(NPCHandler.npcs[i].attack)) {
    						damage = 0;
    					}
    					if (c.prayerActive[17]) { // protect from range
    						if (npcs[i].npcType >= 1 && npcs[i].npcType <= 15000)
    							damage = (damage / 2);
    						else if (npcs[i].npcType == 2745) {
    							damage = 0;
    					}
    					}
    					if (c.playerLevel[3] - damage < 0) {
    						damage = c.playerLevel[3];
    					}
    				}
    
    				if (NPC.attackType == 2) { // magic
    					damage = Misc.random(npcs[i].maxHit);
    					boolean magicFailed = false;
    					if (10 + Misc.random(c.getCombat().mageDef()) > Misc
    							.random(NPCHandler.npcs[i].attack)) {
    						damage = 0;
    						magicFailed = true;
    					}
    					if (c.prayerActive[16]) { // protect from magic
    						if (npcs[i].npcType >= 1 && npcs[i].npcType <= 15000)
    							damage = (damage / 2);
    						else if (npcs[i].npcType == 2745) {
    							damage = 0;
    							magicFailed = true;
    					}
    					}
    					if (c.playerLevel[3] - damage < 0) {
    						damage = c.playerLevel[3];
    					}
    					if (npcs[i].endGfx > 0
    							&& (!magicFailed || isFightCaveNpc(i))) {
    						c.gfx100(npcs[i].endGfx);
    					} else {
    						c.gfx100(85);
    					}
    				}
    
    				if (NPC.attackType == 3) { // fire breath
    					int anti = c.getPA().antiFire();
    					if (anti == 0) {
    						damage = Misc.random(30) + 10;
    						c.sendMessage("You are badly burnt by the dragon's fire!");
    					} else if (anti == 1)
    						damage = Misc.random(12);
    					else if (anti == 2)
    						damage = Misc.random(5);
    					if (c.playerLevel[3] - damage < 0)
    						damage = c.playerLevel[3];
    					c.gfx100(npcs[i].endGfx);
    				}
    				handleSpecialEffects(c, i, damage);
    				c.logoutDelay = System.currentTimeMillis(); // logout delay
    				// c.setHitDiff(damage);
    				c.handleHitMask(damage);
    				c.playerLevel[3] -= damage;
    				c.getPA().refreshSkill(3);
    				c.updateRequired = true;
    				// c.setHitUpdateRequired(true);
    			}
    		}
    	}
    Reply With Quote  
     

  8. #8  
    oof


    Join Date
    Aug 2012
    Posts
    3,150
    Thanks given
    2,847
    Thanks received
    857
    Rep Power
    2260
    Code:
    if (NPC.attackType == 3) { // fire breath
    					int anti = c.getPA().antiFire();
    					if (anti == 0) {
    						damage = Misc.random(30) + 10;
    						c.sendMessage("You are badly burnt by the dragon's fire!");
    					} else if (anti == 1)
    						damage = Misc.random(12);
    					else if (anti == 2)
    						damage = Misc.random(5);
    					if (c.playerLevel[3] - damage < 0)
    						damage = c.playerLevel[3];
    					c.gfx100(npcs[i].endGfx);
    				}
    The attackType 3 is for dragons. Try looking in the attackPlayer method for an attackType being set. If you can't find anything, try adding

    Code:
    npcs[i].attackType = 0;
    somewhere above where loadSpell is called in attackPlayer
    Reply With Quote  
     

  9. #9  
    Irathient Developer

    mr selby's Avatar
    Join Date
    May 2011
    Age
    28
    Posts
    1,183
    Thanks given
    95
    Thanks received
    166
    Rep Power
    97
    Quote Originally Posted by Vesia View Post
    Code:
    if (NPC.attackType == 3) { // fire breath
    					int anti = c.getPA().antiFire();
    					if (anti == 0) {
    						damage = Misc.random(30) + 10;
    						c.sendMessage("You are badly burnt by the dragon's fire!");
    					} else if (anti == 1)
    						damage = Misc.random(12);
    					else if (anti == 2)
    						damage = Misc.random(5);
    					if (c.playerLevel[3] - damage < 0)
    						damage = c.playerLevel[3];
    					c.gfx100(npcs[i].endGfx);
    				}
    The attackType 3 is for dragons. Try looking in the attackPlayer method for an attackType being set. If you can't find anything, try adding

    Code:
    npcs[i].attackType = 0;
    somewhere above where loadSpell is called in attackPlayer
    cant find anything that would make all npcs do it with attackType = 3,

    and the second method didnt work
    Reply With Quote  
     

  10. #10  
    oof


    Join Date
    Aug 2012
    Posts
    3,150
    Thanks given
    2,847
    Thanks received
    857
    Rep Power
    2260
    Quote Originally Posted by mr selby View Post
    cant find anything that would make all npcs do it with attackType = 3,

    and the second method didnt work

    dayum somethin must be conflictin'
    Reply With Quote  
     

Page 1 of 2 12 LastLast

Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Similar Threads

  1. Adding npc attacks back in Untouched!
    By Yorick in forum Tutorials
    Replies: 12
    Last Post: 07-17-2008, 11:10 AM
  2. Making NPCs attack players..
    By Pancakebuddy in forum Tutorials
    Replies: 4
    Last Post: 06-07-2008, 03:56 AM
  3. NPC Attack Speed
    By Viper in forum Tutorials
    Replies: 5
    Last Post: 04-07-2008, 07:52 PM
  4. Making Npcs attack with Mage! - ##
    By Oo Java in forum Tutorials
    Replies: 14
    Last Post: 10-02-2007, 07:15 PM
  5. Editing NPC Attack Emotes
    By Shawn101 in forum Tutorials
    Replies: 5
    Last Post: 08-13-2007, 10:07 PM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •