Esempio n. 1
0
 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);
 }