public void magic(int spellbook, int spell) { updateAttributes(spellbook, spell); if (!hasLevel(spellbook, spell)) { return; } if (!hasRunes(spellbook, spell)) { return; } switch (spellbook) { case 192: switch (spell) { case 15: // Varrock Teleport if (p.jailed > 0) { p.getActionSender().sendMessage(p, "You are jailed!"); return; } if (p.teleblocked) { p.getActionSender().sendMessage(p, "You are teleport blocked!"); return; } if (p.getWildernessLevel() >= 20) { p.getActionSender().sendMessage(p, "A magical force stops you from teleporting."); return; } p.cityTeleport("Varrock"); break; case 18: // Lumbridge Teleport if (p.jailed > 0) { p.getActionSender().sendMessage(p, "You are jailed!"); return; } if (p.teleblocked) { p.getActionSender().sendMessage(p, "You are teleport blocked!"); return; } if (p.getWildernessLevel() >= 20) { p.getActionSender().sendMessage(p, "A magical force stops you from teleporting."); return; } p.cityTeleport("Lumbridge"); break; case 21: // Falador Teleport if (p.jailed > 0) { p.getActionSender().sendMessage(p, "You are jailed!"); return; } if (p.teleblocked) { p.getActionSender().sendMessage(p, "You are teleport blocked!"); return; } if (p.getWildernessLevel() >= 20) { p.getActionSender().sendMessage(p, "A magical force stops you from teleporting."); return; } p.cityTeleport("Falador"); break; case 26: // Camelot Teleport if (p.jailed > 0) { p.getActionSender().sendMessage(p, "You are jailed!"); return; } if (p.teleblocked) { p.getActionSender().sendMessage(p, "You are teleport blocked!"); return; } if (p.getWildernessLevel() >= 20) { p.getActionSender().sendMessage(p, "A magical force stops you from teleporting."); return; } p.cityTeleport("Camelot"); break; case 60: if (p.attackedBy != null) { p.getActionSender().sendMessage(p, "You cannot teleport while in combat."); return; } if (p.InBounty == 1) { Player p2 = Engine.players[p.bhTarget]; if (p2.username.equalsIgnoreCase("None")) { return; } if (p2.InBounty == 0) { p.getActionSender() .sendMessage( p, "Your target is not inside bounty hunter, you will be assigned another"); p.bhTarget = Engine.bountyhunter.getTargetHigh(p); Engine.BountyHunter.exit(p2, 3); Engine.BountyHunter.exit(p2, 2); Engine.BountyHunter.exit(p2, 1); Engine.BountyHunter.removeHigh(p2); p.getActionSender().setHintIcon(p, 10, p.bhTarget, 1, -1); p.getActionSender().setString(p, "" + p2.username, 653, 8); } if (p2 != null) { if (p2.InBounty == 1 && (p2.bountyArea())) { p.teleportTo( p2.absX + 1, p2.absY, p2.heightLevel, 4, 0, 8939, 8941, 1576, 0, 1577, 0); p.getActionSender() .sendMessage(p, "You Casted Bounty Locate and, Teleported to " + p2.username); } } } break; case 32: // Ardougne Teleport if (p.jailed > 0) { p.getActionSender().sendMessage(p, "You are jailed!"); return; } if (p.teleblocked) { p.getActionSender().sendMessage(p, "You are teleport blocked!"); return; } if (p.getWildernessLevel() >= 20) { p.getActionSender().sendMessage(p, "A magical force stops you from teleporting."); return; } p.cityTeleport("Ardougne"); break; } break; case 193: switch (spell) { case 20: // Paddewwa Teleport if (p.jailed > 0) { p.getActionSender().sendMessage(p, "You are jailed!"); return; } if (p.teleblocked) { p.getActionSender().sendMessage(p, "You are teleport blocked!"); return; } if (p.getWildernessLevel() >= 20) { p.getActionSender().sendMessage(p, "A magical force stops you from teleporting."); return; } p.cityTeleport("Varrock"); break; case 21: // Senntisten Teleport if (p.jailed > 0) { p.getActionSender().sendMessage(p, "You are jailed!"); return; } if (p.teleblocked) { p.getActionSender().sendMessage(p, "You are teleport blocked!"); return; } if (p.getWildernessLevel() >= 20) { p.getActionSender().sendMessage(p, "A magical force stops you from teleporting."); return; } p.cityTeleport("Varrock"); break; case 22: // Kharyrll Teleport if (p.jailed > 0) { p.getActionSender().sendMessage(p, "You are jailed!"); return; } if (p.teleblocked) { p.getActionSender().sendMessage(p, "You are teleport blocked!"); return; } if (p.getWildernessLevel() >= 20) { p.getActionSender().sendMessage(p, "A magical force stops you from teleporting."); return; } p.cityTeleport("Varrock"); break; case 23: // Lassar Teleport if (p.jailed > 0) { p.getActionSender().sendMessage(p, "You are jailed!"); return; } if (p.teleblocked) { p.getActionSender().sendMessage(p, "You are teleport blocked!"); return; } if (p.getWildernessLevel() >= 20) { p.getActionSender().sendMessage(p, "A magical force stops you from teleporting."); return; } p.cityTeleport("Varrock"); break; case 24: // Dareeyak Teleport if (p.jailed > 0) { p.getActionSender().sendMessage(p, "You are jailed!"); return; } if (p.teleblocked) { p.getActionSender().sendMessage(p, "You are teleport blocked!"); return; } if (p.getWildernessLevel() >= 20) { p.getActionSender().sendMessage(p, "A magical force stops you from teleporting."); return; } p.cityTeleport("Varrock"); break; case 25: // Annakarl Teleport if (p.jailed > 0) { p.getActionSender().sendMessage(p, "You are jailed!"); return; } if (p.teleblocked) { p.getActionSender().sendMessage(p, "You are teleport blocked!"); return; } if (p.getWildernessLevel() >= 20) { p.getActionSender().sendMessage(p, "A magical force stops you from teleporting."); return; } p.cityTeleport("Varrock"); break; case 26: // Kamil Teleport if (p.jailed > 0) { p.getActionSender().sendMessage(p, "You are jailed!"); return; } if (p.teleblocked) { p.getActionSender().sendMessage(p, "You are teleport blocked!"); return; } if (p.getWildernessLevel() >= 20) { p.getActionSender().sendMessage(p, "A magical force stops you from teleporting."); return; } p.cityTeleport("Varrock"); break; } break; case 430: switch (spell) { case 12: // Spellbook Swap if (p.getLevelForXP(1) < 40) { p.getActionSender().sendMessage(p, "You need 40 Defence to use Vengeance."); return; } if (p.spellbookSwap) { return; } p.requestAnim(6299, 0); p.requestGFX(1062, 0); p.spellbookSwap = true; p.spellbookSwapTimer = 120; p.getActionSender().setString(p, "Select a Spellbook", 230, 1); p.getActionSender().setString(p, "Normal Magics", 230, 2); p.getActionSender().setString(p, "Ancient Magics", 230, 3); p.getActionSender().setString(p, "Cancel", 230, 4); p.getActionSender().showChatboxInterface(p, 230); break; case 14: // Vengeance if (p.getLevelForXP(1) < 40) { p.getActionSender().sendMessage(p, "You need 40 Defence to use Vengeance."); return; } if (p.vengeanceDelay > 0) { p.getActionSender() .sendMessage(p, " you can only cast vengeance spells once every 30 seconds."); return; } p.requestAnim(4410, 0); p.requestGFX(726, 100); p.vengeance = true; p.vengeanceDelay = 30; p.getActionSender().addSoundEffect(p, 2907, 1, 0, 0); break; } break; } if (p.usedSpellbookSwap) { p.getActionSender().setTab(p, 79, p.spellbook); p.spellbookSwap = false; p.usedSpellbookSwap = false; } p.appendExperience((experience * 1000), 6); removeRunes(spellbook, spell); }