Jump to content

Search the Community

Showing results for tags 'damage'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • RuneLocus
    • News & Announcements
    • Information Booth
    • Website Support
    • Introductions
    • Chat
    • Forum Games
  • RuneScape Development
    • RSPS General
    • RuneScape Private Server (RS2)
    • RuneScape Private Server (503+)
    • RuneScape Private Server (EoC 742+)
  • Other
    • Digital Art
    • Gaming
    • Webdevelopment
    • Computers
  • Marketplace
    • RuneScape Market
    • RSPS Market
    • Others Market
    • Freelance Middleman Services
  • Super Secret Club's Topics

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Found 18 results

  1. Today I posted a thread where I asked for help with a bug in the PvP system. After hours of searching I found the problem and solution. In the class Player there is a method "dealDamage". In the method there is the following code that is duplicated: if (teleTimer <= 0) playerLevel[3] -= damage; else { if (hitUpdateRequired) hitUpdateRequired = false; if (hitUpdateRequired2) hitUpdateRequired2 = false; } Delete one of them and your problem is solved! I hope this fix will help someone
  2. Athreal

    Npc damage problem

    I have an issue where an npc will hit on first hit but never hit again after that. I figured out the no damage part somewhere along the way though.
  3. Hello! I got a severe problem. When i fight npc's on my rsps(Hybrid pvp source) and i hit 0's it still takes damage from the npc. I've looked and havent found what could be wrong, anyone that can help me? Thank you!
  4. Hello guys, i have recently added penguins into my server, and i wanted to progress to make a multiplier for the players. This basically means players will upgrade there multiplier allowing them to hit harder on the penguins giving them more tokens. I need to create an instance of this but ive forgotten how, any help is muchly appreciated. Thank you.
  5. On corp ruby (e) bolts have a max hit of 1000, on nex they should have a max hit of 500, but on rune-evo source it hit's like 1500 sometimes? I need to find a way to make the damage cap to 500
  6. VoltexRsPs

    Damage problem

    Hello, I was killing some monsters on my server to test some stuff and range and magic do like no damage and I dont want to make the gear just OP so is there a way just to make magic and range stronger? I will pay if someone helps me
  7. madman

    adding magic damage

    [code] public void setEquipmentBonus() { int a = bonuses.getBonus(0); int b = bonuses.getBonus(1); int c = bonuses.getBonus(2); int d = bonuses.getBonus(5); int dc = bonuses.getBonus(6); int ds = bonuses.getBonus(7); int m = bonuses.getBonus(8); int mm = bonuses.getBonus(3); int e = bonuses.getBonus(10); int p = bonuses.getBonus(11); int s = bonuses.getBonus(12); int f = bonuses.getBonus(4); int g = bonuses.getBonus(9); actionSender.sendString("Stab: "+a, 667, 36); actionSender.sendString("Slash: "+b, 667, 37); actionSender.sendString("Crush: "+c, 667, 38); actionSender.sendString("Magic: "+mm, 667, 39); actionSender.sendString("Ranged: "+f, 667, 40); actionSender.sendString("Stab: "+d, 667, 41); actionSender.sendString("Slash: "+dc, 667, 42); actionSender.sendString("Crush: "+ds, 667, 43); actionSender.sendString("Magic: "+m, 667, 44); actionSender.sendString("Ranged: "+g, 667, 45); actionSender.sendString("Strength: +"+e, 667, 48); actionSender.sendString("Ranged Str: +"+s, 667, 50); actionSender.sendString("Prayer: +"+p, 667, 49); actionSender.sendString("Summoning: 0", 667, 46); actionSender.sendString(bonuses.weight[0]+"kg", 667, 32); [/code] i dont know if its it but i cant think of anything else i have tried to add int to the item def but doesnt work and im not sure how i would go about adding it
  8. So I made a command "::damage". I made it for people using Dharoks, to lower there hp. But I don't know how to code the damage hits, I want it to damage you 4 times for 10 damage each, 40 damage total. Sorta like a overload, but no effects on the stats other then the damage. If you could help me that would be great :) thanks
  9. 317. Anyone know how to code the divine spirit shield spec and damage reductions? and same with Elysian?
  10. im slowing getting back into making servers again and ive forgotten about how add a multi area, and also adding damage to a npc and make it a certain type of damage (range,mage,melee)
  11. Kinetickurro

    NPC Damage

    Note: This is a 317 Delta source I am having trouble with the npc damage, some npc's damage is way too high for their level or just way too high in general. I have tried editing the specific NPC in npchandler.java in the source files, here is an example: [CODE] if (npcs[NPCID].npcType == 1973) { npcs[NPCID].animNumber = 451; // Giant Skeleton hitDiff = 1 + misc.random(1); ; [/CODE] Yes I know animation number is wrong, but the point was to try to lower the NPC damage. But it didn't work. Any suggestions or any ideas to how to fix would be great. Is there any other source files dealing with NPC damage, or is this client based?
  12. Darker

    PVP Damage

    Recently, i fixed x10 hits on pvp, but now, they only hits like 110, 130 , 120 not 104, 102, 114 and stuff, any fix?
  13. I know where the hit splats are located, but I am looking for the actual damage for range. I have it for player vs player, but I can't seem to find it for player vs npc. Anyone know? I am looking for the class that contains the damage variable for range if I was too confusing above.
  14. So if anyone needs helping making the magic damage added on, just ask. I will personally do it through team viewer.
  15. When i attack a npc. the hitsplats show nothing. but when they attack me, they show. help? edit: When attacking another player, hitsplats show? still any help?
  16. HP is x10, Damage is x10 in pvp but in pvm it isn't. I'm guessing it has something to do with PlayerVsNpc.java lol Just a guess :P but I don't know what it is in there that's making it like this. When Npc's fight back their hits are x10 and it removes the correct amount of damage. So far I've only managed to make the players hits x10 but it only removes the damage as if it was hitting the hits but without the x10 lol And I don't understand programming enough yet to figure out what it could be. This is my PlayerVsNpc.java file: [code]package com.rs2hd.content.skills.combat; import com.rs2hd.event.Event; import com.rs2hd.model.Equipment; import com.rs2hd.model.NPC; import com.rs2hd.model.Player; import com.rs2hd.model.Skills; import com.rs2hd.model.World; import com.rs2hd.tickable.Tickable; import com.rs2hd.util.Misc; import com.rs2hd.content.skills.prayer.CursesEffectsHandlerNpc; /** * @author Dragonkk 40% * */ public class PlayerVsNpc { private transient Player p; public int autoCast; public int autoCastAncient; public boolean autoCasting; private int projectile = -1; private int req; private int gfx2; private int damage; private int anim; private int gfx; private boolean usingAncient; private int magicIndex; boolean usingBarrage = false; boolean freeze = false; boolean barrage = false; int freezeDelay = 0; public void setPlayer(Player p) { this.p = p; } public void Attack(NPC n) { if(p == null || n == null) { System.out.println("p/n = null"); return; } if(p.isDead() || n.isDead()) { p.resetAttack(); return; } if(p.AttackingNpc == false) { return; } Equipment e = p.getEquipment(); if(n.getId() == 3375) { if(e.get(Equipment.SLOT_WEAPON) == null) { p.getActionSender().sendMessage("You need a rubber chicken to attack this"); n.Attacking = false; p.resetAttack(); return; } if(e.get(Equipment.SLOT_WEAPON).getId() != 4566) { p.getActionSender().sendMessage("You need a rubber chicken to attack this"); n.Attacking = false; p.resetAttack(); return; } } if(n.getId() == 10101) { p.getActionSender().sendMessage("You cant attack this npcs anymore!"); n.Attacking = false; p.resetAttack(); return; } if(n.getId() == 10000) { p.getActionSender().sendMessage("You cant attack this npcs anymore!"); n.Attacking = false; p.resetAttack(); return; } if(n.getId() == 10602) { p.getActionSender().sendMessage("You cant attack this npcs anymore!"); n.Attacking = false; p.resetAttack(); return; } if(n.getId() == 10457) { p.getActionSender().sendMessage("You cant attack this npcs anymore!"); n.Attacking = false; p.resetAttack(); return; } if (p.THICKSKIN == true && p.PrayerTime == 0) { n.hit(Misc.random(25)); p.PrayerTime = 15; n.graphics(1935); return; } if(p.getSkills().getLevel(Skills.SLAYER) < p.getSlayer().getRequiredLevel(n.getId())) { p.getActionSender().sendMessage("You need a level of " + p.getSlayer().getRequiredLevel(n.getId()) + " slayer to attack this monster!"); p.resetAttack(); return; } n.pid = p.getIndex(); n.giveDrop = p.getIndex(); n.Attacking = true; if(autoCasting == true) { MagicAttack(p, n); } else if (usingRange(p)) { RangeAttack(p, n); } else { MeleeAttack(p, n); } } public boolean FullDharokEquipped() { try { if(p.getEquipment().get(0).getDefinition().getId() == 4716 && p.getEquipment().get(4).getDefinition().getId() == 4720 && p.getEquipment().get(7).getDefinition().getId() == 4722 && p.getEquipment().get(3).getDefinition().getId() == 4718) { return true; } return false; } catch (Exception e) { return false; } } //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ public void MagicAttack(final Player p, final NPC n) { try { if (p.LeechAttack == true) { CursesEffectsHandlerNpc.handleLeechAttack(p, n); p.leechDelay = System.currentTimeMillis() + Misc.random(100000); } if (p.LeechRange == true) { CursesEffectsHandlerNpc.handleLeechRanged(p, n); p.leechDelay = System.currentTimeMillis() + Misc.random(100000); } if (p.LeechMagic == true) { CursesEffectsHandlerNpc.handleLeechMagic(p, n); p.leechDelay = System.currentTimeMillis() + Misc.random(100000); } if (p.LeechDefence == true) { CursesEffectsHandlerNpc.handleLeechDefence(p, n); p.leechDelay = System.currentTimeMillis() + Misc.random(100000); } if (p.LeechStrength == true) { CursesEffectsHandlerNpc.handleLeechStrength(p, n); p.leechDelay = System.currentTimeMillis() + Misc.random(100000); } if (p.SpecialAttackLeech == true) { CursesEffectsHandlerNpc.handleSpecLeech(p, n); p.leechDelay = System.currentTimeMillis() + Misc.random(100000); } if (p.SapWarrior == true) { CursesEffectsHandlerNpc.SapWarrior(p, n); } if (p.SapRanger == true) { CursesEffectsHandlerNpc.SapRanger(p, n); } if (p.SapSpirit == true) { CursesEffectsHandlerNpc.SapSpirit(p, n); } if (p.SapMage == true) { CursesEffectsHandlerNpc.SapMage(p, n); } if (p.DeflectRange == true) { CursesEffectsHandlerNpc.DeflectRange(p, n); } if (p.DeflectMelee == true) { CursesEffectsHandlerNpc.DeflectMelee(p, n); } if (p.DeflectMagic == true) { CursesEffectsHandlerNpc.DeflectMagic(p, n); } if (p.Soulsplit == true && damage >= 1) { CursesEffectsHandlerNpc.handleSoulSplit(p, n, damage); } if(autoCasting == true) { switch(p.magicType) { case 192: switch(autoCast) { case 25://Wind strike if(!p.getInventory().contains(556, 1)|| !p.getInventory().contains(558, 1)) { p.sm("You need the correct runes to cast this spell"); p.resetAttack(); return; } else { if (p.MageTime == 0 && p.getInventory().contains(556, 1) && p.getInventory().contains(558, 1)) { p.getInventory().deleteItem(556, 1); p.getInventory().deleteItem(558, 1); gfx = 90; anim = 1162; projectile = 91; damage = 2; gfx2 = 92; req = 0; p.MageTime = 5; usingAncient = false; } } break; case 28: //Water strike if(!p.getInventory().contains(556, 1)|| !p.getInventory().contains(558, 1)|| !p.getInventory().contains(555, 1)) { p.sm("You need the correct runes to cast this spell"); p.resetAttack(); return; } else { if (p.MageTime == 0 && p.getInventory().contains(556, 1) && p.getInventory().contains(558, 1) && p.getInventory().contains(555, 1)) { p.getInventory().deleteItem(556, 1); p.getInventory().deleteItem(554, 1); p.getInventory().deleteItem(555, 1); gfx = 93; anim = 1162; projectile = 94; damage = 4; gfx2 = 95; req = 5; p.MageTime = 5; usingAncient = false; } } break; case 30: //Earth strike if(!p.getInventory().contains(556, 1)|| !p.getInventory().contains(558, 1)|| !p.getInventory().contains(557, 1)) { p.sm("You need the correct runes to cast this spell"); p.resetAttack(); return; } else { if (p.MageTime == 0 && p.getInventory().contains(556, 1) && p.getInventory().contains(558, 1) && p.getInventory().contains(557, 1)) { p.getInventory().deleteItem(556, 1); p.getInventory().deleteItem(558, 1); p.getInventory().deleteItem(557, 1); gfx = 96; anim = 1162; projectile = 97; damage = 6; gfx2 = 98; req = 9; p.MageTime = 5; usingAncient = false; } } break; case 32: //Fire strike if(!p.getInventory().contains(556, 2)|| !p.getInventory().contains(554, 3)|| !p.getInventory().contains(557, 1)) { p.sm("You need the correct runes to cast this spell"); p.resetAttack(); return; } else { if (p.MageTime == 0 && p.getInventory().contains(556, 2) && p.getInventory().contains(554, 3) && p.getInventory().contains(557, 1)) { p.getInventory().deleteItem(556, 2); p.getInventory().deleteItem(554, 3); p.getInventory().deleteItem(557, 1); gfx = 99; anim = 1162; projectile = 100; damage = 8; gfx2 = 101; req = 13; p.MageTime = 5; usingAncient = false; } } break; case 34: //Wind bolt if(!p.getInventory().contains(556, 2)|| !p.getInventory().contains(562, 1)) { p.sm("You need the correct runes to cast this spell"); p.resetAttack(); return; } else { if (p.MageTime == 0 && p.getInventory().contains(556, 2) && p.getInventory().contains(562, 1)) { p.getInventory().deleteItem(556, 2); p.getInventory().deleteItem(562, 1); gfx = 117; anim = 1162; projectile = 118; damage = 9; gfx2 = 119; req = 17; p.MageTime = 5; usingAncient = false; } } break; case 39: //Water bolt if(!p.getInventory().contains(556, 2)|| !p.getInventory().contains(562, 1)|| !p.getInventory().contains(666, 2)) { p.sm("You need the correct runes to cast this spell"); p.resetAttack(); return; } else { if (p.MageTime == 0 && p.getInventory().contains(556, 2) && p.getInventory().contains(562, 1) && p.getInventory().contains(555, 2)) { p.getInventory().deleteItem(556, 2); p.getInventory().deleteItem(562, 1); p.getInventory().deleteItem(555, 2); gfx = 120; anim = 1162; projectile = 121; damage = 10; gfx2 = 122; req = 23; usingAncient = false; p.MageTime = 5; } } break; case 42: //Earth bolt if(!p.getInventory().contains(556, 2)|| !p.getInventory().contains(562, 1)|| !p.getInventory().contains(557, 3)) { p.sm("You need the correct runes to cast this spell"); p.resetAttack(); return; } else { if (p.MageTime == 0 && p.getInventory().contains(556, 2) && p.getInventory().contains(562, 1) && p.getInventory().contains(557, 3)) { p.getInventory().deleteItem(556, 2); p.getInventory().deleteItem(562, 1); p.getInventory().deleteItem(557, 3); gfx = 123; anim = 1162; projectile = 124; damage = 11; gfx2 = 125; req = 29; usingAncient = false; p.MageTime = 5; } } break; case 45: //Fire bolt if(!p.getInventory().contains(556, 3)|| !p.getInventory().contains(562, 1)|| !p.getInventory().contains(554, 3)) { p.sm("You need the correct runes to cast this spell"); p.resetAttack(); return; } else { if (p.MageTime == 0 && p.getInventory().contains(556, 3) && p.getInventory().contains(562, 1) && p.getInventory().contains(554, 3)) { p.getInventory().deleteItem(556, 3); p.getInventory().deleteItem(562, 1); p.getInventory().deleteItem(554, 3); gfx = 126; anim = 1162; projectile = 127; damage = 12; gfx2 = 128; req = 35; usingAncient = false; p.MageTime = 5; } } break; case 49: //Wind blast if(!p.getInventory().contains(556, 3)|| !p.getInventory().contains(560, 1)) { p.sm("You need the correct runes to cast this spell"); p.resetAttack(); return; } else { if (p.MageTime == 0 && p.getInventory().contains(556, 3) && p.getInventory().contains(560, 1)) { p.getInventory().deleteItem(556, 3); p.getInventory().deleteItem(560, 1); gfx = 132; anim = 1162; projectile = 133; damage = 13; gfx2 = 134; req = 41; usingAncient = false; p.MageTime = 5; } } break; case 52: //Water blast if(!p.getInventory().contains(556, 3)|| !p.getInventory().contains(560, 1)|| !p.getInventory().contains(555, 3)) { p.sm("You need the correct runes to cast this spell"); p.resetAttack(); return; } else { if (p.MageTime == 0 && p.getInventory().contains(556, 3) && p.getInventory().contains(560, 1) && p.getInventory().contains(555, 3)) { p.getInventory().deleteItem(556, 3); p.getInventory().deleteItem(560, 1); p.getInventory().deleteItem(555, 3); gfx = 135; anim = 1162; projectile = 136; damage = 14; gfx2 = 137; req = 47; usingAncient = false; p.MageTime = 5; } } break; case 58: //Earth blast if(!p.getInventory().contains(556, 3)|| !p.getInventory().contains(560, 1)|| !p.getInventory().contains(557, 3)) { p.sm("You need the correct runes to cast this spell"); p.resetAttack(); return; } else { if (p.MageTime == 0 && p.getInventory().contains(556, 3) && p.getInventory().contains(560, 1) && p.getInventory().contains(557, 3)) { p.getInventory().deleteItem(556, 3); p.getInventory().deleteItem(560, 1); p.getInventory().deleteItem(557, 3); gfx = 138; anim = 1162; projectile = 139; damage = 15; gfx2 = 140; req = 53; usingAncient = false; p.MageTime = 5; } } break; case 63: //Fire blast if(!p.getInventory().contains(556, 4)|| !p.getInventory().contains(560, 1)|| !p.getInventory().contains(554, 5)) { p.sm("You need the correct runes to cast this spell"); p.resetAttack(); return; } else { if (p.MageTime == 0 && p.getInventory().contains(556, 4) && p.getInventory().contains(560, 1) && p.getInventory().contains(554, 5)) { p.getInventory().deleteItem(556, 4); p.getInventory().deleteItem(560, 1); p.getInventory().deleteItem(554, 5); gfx = 129; anim = 1162; projectile = 130; damage = 16; gfx2 = 131; req = 59; usingAncient = false; p.MageTime = 5; } } break; case 70: //Wind wave if(!p.getInventory().contains(556, 5)|| !p.getInventory().contains(565, 1)) { p.sm("You need the correct runes to cast this spell"); p.resetAttack(); return; } else { if (p.MageTime == 0 && p.getInventory().contains(556, 5) && p.getInventory().contains(565, 1)) { p.getInventory().deleteItem(556, 5); p.getInventory().deleteItem(560, 1); gfx = 158; anim = 1162; projectile = 159; damage = 17; gfx2 = 160; req = 62; usingAncient = false; p.MageTime = 5; } } break; case 73: //Water wave if(!p.getInventory().contains(556, 5)|| !p.getInventory().contains(565, 1)|| !p.getInventory().contains(555, 7)) { p.sm("You need the correct runes to cast this spell"); p.resetAttack(); return; } else { if (p.MageTime == 0 && p.getInventory().contains(556, 5) && p.getInventory().contains(562, 1) && p.getInventory().contains(557, 7)) { p.getInventory().deleteItem(556, 5); p.getInventory().deleteItem(560, 1); p.getInventory().deleteItem(555, 7); gfx = 161; anim = 1162; projectile = 162; damage = 18; gfx2 = 163; req = 65; usingAncient = false; p.MageTime = 5; } } break; case 77: //Earth Wave if(!p.getInventory().contains(556, 5)|| !p.getInventory().contains(565, 1)|| !p.getInventory().contains(557, 7)) { p.sm("You need the correct runes to cast this spell"); p.resetAttack(); return; } else { if (p.MageTime == 0 && p.getInventory().contains(556, 5) && p.getInventory().contains(565, 1) && p.getInventory().contains(557, 7)) { p.getInventory().deleteItem(556, 5); p.getInventory().deleteItem(560, 1); p.getInventory().deleteItem(557, 7); gfx = 164; anim = 1162; projectile = 165; damage = 19; gfx2 = 166; req = 70; usingAncient = false; p.MageTime = 5; } } break; case 80: //FireWave if(!p.getInventory().contains(556, 5)|| !p.getInventory().contains(565, 1)|| !p.getInventory().contains(554, 7)) { p.sm("You need the correct runes to cast this spell"); p.resetAttack(); return; } else { if (p.MageTime == 0 && p.getInventory().contains(556, 5) && p.getInventory().contains(565, 1) && p.getInventory().contains(554, 7)) { p.getInventory().deleteItem(556, 5); p.getInventory().deleteItem(560, 1); p.getInventory().deleteItem(554, 7); gfx = 155; anim = 1162; projectile = 156; damage = 20; gfx2 = 157; req = 75; usingAncient = false; p.MageTime =5; } } } break; case 193: projectile = -1; gfx = -1; usingAncient = true; switch (autoCastAncient) { case 23: //Ice barrage if(p.getSkills().getLevel(6) < 94) { p.sm("You need 94 magic to cast this spell"); p.resetAttack(); n.resetAttack(); return; } if (!(p.getInventory().contains(560, 4) && p.getInventory().contains(565,2) && p.getInventory().contains(555,6))) { p.getActionSender().sendMessage("You do not have the runes needed for this spell."); p.resetAttack(); n.resetAttack(); return; } if(p.getSkills().getLevel(6) > 93) { gfx = 368; anim = 1979; damage = 30; gfx2 = 369; req = 94; freeze = true; usingBarrage = true; freezeDelay = 20; p.getInventory().deleteItem(560, 4); p.getInventory().deleteItem(566, 3); p.getInventory().deleteItem(555, 6); } break; case 35: //Shadow barrage if(p.getSkills().getLevel(6) < 88) { p.sm("You need 88 magic to cast this spell"); p.resetAttack(); n.resetAttack(); return; } if (!(p.getInventory().contains(560, 4) && p.getInventory().contains(566,3) && p.getInventory().contains(565,2) && p.getInventory().contains(556,1))) { p.getActionSender().sendMessage("You do not have the runes needed for this spell."); p.resetAttack(); n.resetAttack(); return; } if(p.getSkills().getLevel(6) > 97) { //gfx = 368; anim = 1978; damage = 28; gfx2 = 383; req = 88; p.getInventory().deleteItem(560, 4); p.getInventory().deleteItem(566, 3); p.getInventory().deleteItem(565, 2); p.getInventory().deleteItem(556, 1); } break; case 31: //Smoke barrage if(p.getSkills().getLevel(6) < 86) { p.sm("You need 86 magic to cast this spell"); p.resetAttack(); n.resetAttack(); return; } if (!(p.getInventory().contains(560, 4) && p.getInventory().contains(554,4) && p.getInventory().contains(565,2) && p.getInventory().contains(556,1))) { p.getActionSender().sendMessage("You do not have the runes needed for this spell."); p.resetAttack(); n.resetAttack(); return; } if(p.getSkills().getLevel(6) > 95) { //gfx = 368; anim = 1979; damage = 27; gfx2 = 391; req = 86; p.getInventory().deleteItem(560, 4); p.getInventory().deleteItem(554, 4); p.getInventory().deleteItem(565, 2); p.getInventory().deleteItem(556, 1); } break; case 21: //Ice blitz if(p.getSkills().getLevel(6) < 82) { p.sm("You need 82 magic to cast this spell"); p.resetAttack(); n.resetAttack(); return; } if (!(p.getInventory().contains(560, 2) && p.getInventory().contains(565,2) && p.getInventory().contains(555,3))) { p.getActionSender().sendMessage("You do not have the runes needed for this spell."); p.resetAttack(); n.resetAttack(); return; } if(p.getSkills().getLevel(6) > 81) { //gfx = 368; anim = 1978; damage = 26; gfx2 = 367; req = 82; freeze = true; freezeDelay = 15; p.getInventory().deleteItem(560, 2); p.getInventory().deleteItem(565, 2); p.getInventory().deleteItem(555, 3); } break; case 25: //Blood Blitz if(p.getSkills().getLevel(6) < 92) { p.sm("You need 92 magic to cast this spell"); p.resetAttack(); n.resetAttack(); return; } if (!(p.getInventory().contains(560, 2) && p.getInventory().contains(565,2))) { p.getActionSender().sendMessage("You do not have the runes needed for this spell."); p.resetAttack(); n.resetAttack(); return; } if(p.getSkills().getLevel(6) > 91) { //gfx = 368; anim = 1978; damage = 25; gfx2 = 375; req = 80; p.getInventory().deleteItem(560, 2); p.getInventory().deleteItem(565, 2); } break; case 33: //Shadow blitz if(p.getSkills().getLevel(6) < 76) { p.sm("You need 76 magic to cast this spell"); p.resetAttack(); n.resetAttack(); return; } if (!(p.getInventory().contains(560, 2) && p.getInventory().contains(565,2) && p.getInventory().contains(556,2) && p.getInventory().contains(566,2))) { p.getActionSender().sendMessage("You do not have the runes needed for this spell."); p.resetAttack(); n.resetAttack(); return; } if(p.getSkills().getLevel(6) > 75) { //gfx = 368; anim = 1978; damage = 24; gfx2 = 381; req = 76; p.getInventory().deleteItem(560, 2); p.getInventory().deleteItem(565, 2); p.getInventory().deleteItem(556, 2); p.getInventory().deleteItem(566, 2); } break; case 29: //Smoke blitz if(p.getSkills().getLevel(6) < 74) { p.sm("You need 74 magic to cast this spell"); p.resetAttack(); n.resetAttack(); return; } if (!(p.getInventory().contains(560, 2) && p.getInventory().contains(565,2) && p.getInventory().contains(554,2) && p.getInventory().contains(565,2))) { p.getActionSender().sendMessage("You do not have the runes needed for this spell."); p.resetAttack(); n.resetAttack(); return; } if(p.getSkills().getLevel(6) > 73) { //gfx = 368; anim = 1978; damage = 23; gfx2 = 387; req = 74; p.getInventory().deleteItem(560, 2); p.getInventory().deleteItem(565, 2); p.getInventory().deleteItem(554, 2); p.getInventory().deleteItem(556, 2); } break; case 22: //Ice burst if(p.getSkills().getLevel(6) < 70) { p.sm("You need 70 magic to cast this spell"); p.resetAttack(); n.resetAttack(); return; } if (!(p.getInventory().contains(562, 4) && p.getInventory().contains(560,2) && p.getInventory().contains(555,4))) { p.getActionSender().sendMessage("You do not have the runes needed for this spell."); p.resetAttack(); n.resetAttack(); return; } if(p.getSkills().getLevel(6) > 69) { // gfx = 368; anim = 1979; damage = 22; gfx2 = 363; req = 70; freeze = true; freezeDelay = 10; p.getInventory().deleteItem(562, 4); p.getInventory().deleteItem(560, 2); p.getInventory().deleteItem(555, 4); } break; case 26: //Blood Burst if(p.getSkills().getLevel(6) < 68) { p.sm("You need 68 magic to cast this spell"); p.resetAttack(); n.resetAttack(); return; } if (!(p.getInventory().contains(560, 2) && p.getInventory().contains(565,4) && p.getInventory().contains(562,4))) { p.getActionSender().sendMessage("You do not have the runes needed for this spell."); p.resetAttack(); n.resetAttack(); return; } if(p.getSkills().getLevel(6) > 67) { // gfx = 368; anim = 1979; damage = 21; gfx2 = 376; req = 68; p.getInventory().deleteItem(560, 2); p.getInventory().deleteItem(565, 4); p.getInventory().deleteItem(562, 4); } break; case 34: //Shadow Burst if(p.getSkills().getLevel(6) < 64) { p.sm("You need 64 magic to cast this spell"); p.resetAttack(); n.resetAttack(); return; } if (!(p.getInventory().contains(562, 4) && p.getInventory().contains(560,2) && p.getInventory().contains(556,1) && p.getInventory().contains(566,2))) { p.getActionSender().sendMessage("You do not have the runes needed for this spell."); p.resetAttack(); n.resetAttack(); return; } if(p.getSkills().getLevel(6) > 63) { //gfx = 368; anim = 1978; damage = 17; gfx2 = 382; req = 64; p.getInventory().deleteItem(562, 4); p.getInventory().deleteItem(560, 2); p.getInventory().deleteItem(556, 1); p.getInventory().deleteItem(566, 2); } break; case 30: //Smoke Burst if(p.getSkills().getLevel(6) < 62) { p.sm("You need 62 magic to cast this spell"); p.resetAttack(); n.resetAttack(); return; } if (!(p.getInventory().contains(562, 4) && p.getInventory().contains(560,2) && p.getInventory().contains(554,2) && p.getInventory().contains(556,2))) { p.getActionSender().sendMessage("You do not have the runes needed for this spell."); p.resetAttack(); n.resetAttack(); return; } if(p.getSkills().getLevel(6) > 61) { //gfx = 368; anim = 1979; damage = 17; gfx2 = 389; req = 62; p.getInventory().deleteItem(562, 4); p.getInventory().deleteItem(560, 2); p.getInventory().deleteItem(554, 2); p.getInventory().deleteItem(556, 2); } break; case 20: //Ice rush if(p.getSkills().getLevel(6) < 58) { p.sm("You need 58 magic to cast this spell"); p.resetAttack(); n.resetAttack(); return; } if (!(p.getInventory().contains(562, 2) && p.getInventory().contains(560,2) && p.getInventory().contains(555,2))) { p.getActionSender().sendMessage("You do not have the runes needed for this spell."); p.resetAttack(); n.resetAttack(); return; } if(p.getSkills().getLevel(6) > 57) { //gfx = 368; anim = 1978; damage = 16; gfx2 = 361; req = 58; freeze = true; freezeDelay = 5; p.getInventory().deleteItem(562, 2); p.getInventory().deleteItem(560, 2); p.getInventory().deleteItem(555, 2); } break; case 24: //Blood Rush if(p.getSkills().getLevel(6) < 56) { p.sm("You need 56 magic to cast this spell"); p.resetAttack(); n.resetAttack(); return; } if (!(p.getInventory().contains(562, 2) && p.getInventory().contains(560,2) && p.getInventory().contains(565,1))) { p.getActionSender().sendMessage("You do not have the runes needed for this spell."); p.resetAttack(); n.resetAttack(); return; } if(p.getSkills().getLevel(6) > 55) { //gfx = 368; anim = 1978; damage = 15; gfx2 = 361; req = 56; p.getInventory().deleteItem(562, 2); p.getInventory().deleteItem(560, 2); p.getInventory().deleteItem(565, 1); } break; case 32: //Shadow Rush if(p.getSkills().getLevel(6) < 52) { p.sm("You need 52 magic to cast this spell"); p.resetAttack(); n.resetAttack(); return; } if (!(p.getInventory().contains(562, 2) && p.getInventory().contains(560,1) && p.getInventory().contains(556,1) && p.getInventory().contains(566,1))) { p.getActionSender().sendMessage("You do not have the runes needed for this spell."); p.resetAttack(); n.resetAttack(); return; } if(p.getSkills().getLevel(6) > 51) { //gfx = 368; anim = 1978; damage = 14; gfx2 = 379; req = 52; p.getInventory().deleteItem(562, 2); p.getInventory().deleteItem(560, 2); p.getInventory().deleteItem(556, 1); p.getInventory().deleteItem(566, 1); } break; case 28: //Smoke Rush if(p.getSkills().getLevel(6) < 52) { p.sm("You need 52 magic to cast this spell"); p.resetAttack(); n.resetAttack(); return; } if (!(p.getInventory().contains(562, 2) && p.getInventory().contains(560,1) && p.getInventory().contains(554,1) && p.getInventory().contains(556,1))) { p.getActionSender().sendMessage("You do not have the runes needed for this spell."); p.resetAttack(); n.resetAttack(); return; } if(p.getSkills().getLevel(6) > 51) { // gfx = 368; anim = 1978; damage = 13; gfx2 = 385; req = 50; p.getInventory().deleteItem(562, 2); p.getInventory().deleteItem(560, 2); p.getInventory().deleteItem(554, 1); p.getInventory().deleteItem(556, 1); } break; case 39:// miasmic barrage if(p.getSkills().getLevel(6) < 97) { p.sm("You need 97 magic to cast this spell"); p.resetAttack(); n.resetAttack(); return; } if (!(p.getEquipment().get(3).getDefinition().getId() == 13867 && p.getInventory().contains(565, 4) && p.getInventory().contains(557,4) && p.getInventory().contains(566,2))) { p.getActionSender().sendMessage("You do not have the runes needed for this spell."); p.resetAttack(); n.resetAttack(); return; } if(p.getSkills().getLevel(6) > 96) { gfx = 1853; anim = 10518; damage = 35; gfx2 = 1854; req = 97; p.getInventory().deleteItem(565, 4); p.getInventory().deleteItem(557, 4); p.getInventory().deleteItem(566, 4); } break; case 37://miasmic blitz if(p.getSkills().getLevel(6) < 85) { p.sm("You need 85 magic to cast this spell"); p.resetAttack(); n.resetAttack(); return; } if (!(p.getEquipment().get(3).getDefinition().getId() == 13867 && p.getInventory().contains(565, 2) && p.getInventory().contains(557,3) && p.getInventory().contains(566,3))) { p.getActionSender().sendMessage("You do not have the runes needed for this spell."); p.resetAttack(); n.resetAttack(); return; } if(p.getSkills().getLevel(6) > 84) { //gfx = 368; anim = 10524; damage = 30; gfx2 = 1850; req = 52; p.getInventory().deleteItem(565, 2); p.getInventory().deleteItem(557, 3); p.getInventory().deleteItem(566, 3); } break; case 38://miasmic burst if(p.getSkills().getLevel(6) < 73) { p.sm("You need 73 magic to cast this spell"); p.resetAttack(); n.resetAttack(); return; } if (!(p.getEquipment().get(3).getDefinition().getId() == 13867 && p.getInventory().contains(562, 4) && p.getInventory().contains(557,2) && p.getInventory().contains(566,2))) { p.getActionSender().sendMessage("You do not have the runes needed for this spell."); p.resetAttack(); n.resetAttack(); return; } if(p.getSkills().getLevel(6) > 72) { //gfx = 368; anim = 10516; damage = 25; gfx2 = 1848; req = 52; p.getInventory().deleteItem(562, 4); p.getInventory().deleteItem(557, 2); p.getInventory().deleteItem(566, 2); } break; case 36://miasmic rush if(p.getSkills().getLevel(6) < 73) { p.sm("You need 73 magic to cast this spell"); p.resetAttack(); n.resetAttack(); return; } if (!(p.getEquipment().get(3).getDefinition().getId() == 13867 && p.getInventory().contains(562, 2) && p.getInventory().contains(557,1) && p.getInventory().contains(566,1))) { p.getActionSender().sendMessage("You do not have the runes needed for this spell."); p.resetAttack(); n.resetAttack(); return; } if(p.getSkills().getLevel(6) > 72) { gfx = 1845; anim = 10513; damage = 18; gfx2 = 1846; req = 61; p.getInventory().deleteItem(565, 2); p.getInventory().deleteItem(557, 1); p.getInventory().deleteItem(566, 1); } break; } break; } } if ( p.getSkills().getLevelForXp(6) <= req) { p.sm("You need level " + req+ " magic to use this spell."); p.pvn().autoCasting = false; p.getWalkingQueue().reset();// fixed } else if(Misc.getDistance(p.getLocation().getX(), p.getLocation().getY(), n.getLocation().getX(), n.getLocation().getY()) <= 8) { p.getWalkingQueue().reset(); } /*if(usingBarrage == true) {// && p.combatDelay == 0 for (final NPC npc : World.getWorld().getNpcs()) { if (Misc.getDistance(n.getLocation().getX(), n.getLocation().getY(), p.getLocation().getX(), p.getLocation().getY()) <= 2) { continue; } if (npc == null || npc.isDead()) { return; } final int magichit = Misc.random(damage); p.getInventory().deleteItem(560, 4); p.getInventory().deleteItem(566, 3); p.getInventory().deleteItem(555, 6); p.turnTo(n); //p.combatDelay =+ 5; p.getWalkingQueue().reset(); p.graphics(gfx, (100 << 16)); p.animate(anim); World.getWorld().registerEvent(new Event(getMagicDelay()) { public void execute() { npc.hit(p, magichit); p.getSkills().addXp(6, magichit * 650); npc.graphics(gfx2); this.stop(); } }); } }*/ if(p.combatDelay == 0) { final int magichit = Misc.random(damage); p.turnTo(n); p.combatDelay =+ 5; p.getWalkingQueue().reset(); p.graphics(gfx, (100 << 16)); p.animate(anim); World.getWorld().getProjectileManager().fire(p.getLocation(), n.getLocation(), 50, 70, projectile, 43, 31, n); World.getWorld().registerEvent(new Event(getMagicDelay()) { public void execute() { n.hit(p, magichit); p.getSkills().addXp(6, magichit * 650); n.graphics(gfx2); this.stop(); } }); } } catch(Exception e) { } } //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ public void RangeAttack(final Player p, final NPC p2) { try { if(Misc.getDistance(p.getLocation().getX(), p.getLocation().getY(), p2.getLocation().getX(), p2.getLocation().getY()) <= 8) { p.getWalkingQueue().reset(); } if (p.LeechAttack == true) { CursesEffectsHandlerNpc.handleLeechAttack(p, p2); p.leechDelay = System.currentTimeMillis() + Misc.random(100000); } if (p.LeechRange == true) { CursesEffectsHandlerNpc.handleLeechRanged(p, p2); p.leechDelay = System.currentTimeMillis() + Misc.random(100000); } if (p.LeechMagic == true) { CursesEffectsHandlerNpc.handleLeechMagic(p, p2); p.leechDelay = System.currentTimeMillis() + Misc.random(100000); } if (p.LeechDefence == true) { CursesEffectsHandlerNpc.handleLeechDefence(p, p2); p.leechDelay = System.currentTimeMillis() + Misc.random(100000); } if (p.LeechStrength == true) { CursesEffectsHandlerNpc.handleLeechStrength(p, p2); p.leechDelay = System.currentTimeMillis() + Misc.random(100000); } if (p.SpecialAttackLeech == true) { CursesEffectsHandlerNpc.handleSpecLeech(p, p2); p.leechDelay = System.currentTimeMillis() + Misc.random(100000); } if (p.SapWarrior == true) { CursesEffectsHandlerNpc.SapWarrior(p, p2); } if (p.SapRanger == true) { CursesEffectsHandlerNpc.SapRanger(p, p2); } if (p.SapSpirit == true) { CursesEffectsHandlerNpc.SapSpirit(p, p2); } if (p.DeflectRange == true) { CursesEffectsHandlerNpc.DeflectRange(p, p2); } if (p.DeflectMelee == true) { CursesEffectsHandlerNpc.DeflectMelee(p, p2); } if (p.DeflectMagic == true) { CursesEffectsHandlerNpc.DeflectMagic(p, p2); } if (p.Soulsplit == true && damage >= 1) { CursesEffectsHandlerNpc.handleSoulSplit(p, p2, damage); } if(p.combatDelay == 0 && p.cantPk == false) { if(!p.getEquipment().hasAmmo()) { p.sm("You dont have any ammo in your backpack."); return; } p2.pid = p.getIndex(); p2.Attacking = true; p.combatDelay += PkDefinitions.getCombatDelay(p); if(p.getEquipment().isWieldingHandCannon()) { if(p.usingSpecial) { p.usingSpecial = false; p.specialAmount -= p.getSpecialAmount(); if (p.specialAmount < p.getSpecialAmount()) { p.usingSpecial = false; p.getActionSender().sendMessage("You do not have enough special energy."); return; } p.usingSpecial = false; p.specialAmount -= p.getSpecialAmount(); p.animate(12174, 0); p.graphics(2138, 0); World.getWorld().getProjectileManager().fire(p.getLocation(), p2.getLocation(), 0, 70, 2143, 43, 31, p2); World.getWorld().registerEvent(new Event(getMagicDelay()) { public void execute() { p2.hit(p, Misc.random(p.NPCMaxHitRange() * 1.50)); BossesDef(p, p2 , (int) (p.NPCMaxHitRange() * 1.50), 0); p2.animate(p2.getDefenceAnimation()); this.stop(); } }); } else { p.animate(PkDefinitions.getCombatAnim(p)); p.graphics(2138, 0); World.getWorld().getProjectileManager().fire(p.getLocation(), p2.getLocation(), 0, 70, 2143, 43, 31, p2); World.getWorld().registerEvent(new Event(getMagicDelay()) { public void execute() { p2.hit(p, Misc.random(p.NPCMaxHitRange())); BossesDef(p, p2 , (int) (p.NPCMaxHitRange()), 0); p2.animate(p2.getDefenceAnimation()); this.stop(); } }); } } else if(p.getEquipment().isWieldingDbow()) { if(p.usingSpecial) { if (p.specialAmount < p.getSpecialAmount()) { p.usingSpecial = false; p.getActionSender().sendMessage("You do not have enough special energy."); return; } p.usingSpecial = false; p.specialAmount -= p.getSpecialAmount(); p.animate(PkDefinitions.getCombatAnim(p)); p.graphics(getDbowDrawback(), (100 << 16)); World.getWorld().getProjectileManager().fire(p.getLocation(), p2.getLocation(), 50, 70, getDbowSpec(), 43, 31, p2); World.getWorld().registerEvent(new Event(100) { public void execute() { World.getWorld().getProjectileManager().fire(p.getLocation(), p2.getLocation(), 50, 70, getDbowSpec(), 43, 31, p2); this.stop(); } }); World.getWorld().registerEvent(new Event(getMagicDelay()) { public void execute() { BossesDef(p, p2 , (int) (p.NPCMaxHitRange() * 0), 0); p2.hit(p, Misc.random(p.NPCMaxHitRange() * 0)); this.stop(); } }); World.getWorld().registerEvent(new Event(getMagicDelay()) { public void execute() { BossesDef(p, p2 , (int) (p.NPCMaxHitRange() * 0), 0); p2.hit(p, Misc.random(p.NPCMaxHitRange() * 0)); p2.animate(p2.getDefenceAnimation()); this.stop(); } }); } else { p.animate(PkDefinitions.getCombatAnim(p)); p.graphics(getDbowDrawback(), (100 << 16)); World.getWorld().getProjectileManager().fire(p.getLocation(), p2.getLocation(), 50, 70, p.getEquipment().getProjectileId(), 43, 31, p2); World.getWorld().registerEvent(new Event(100) { public void execute() { World.getWorld().getProjectileManager().fire(p.getLocation(), p2.getLocation(), 50, 70, p.getEquipment().getProjectileId(), 43, 31, p2); this.stop(); } }); World.getWorld().registerEvent(new Event(getMagicDelay()) { public void execute() { BossesDef(p, p2 , (int) (p.NPCMaxHitRange()), 0); p2.hit(p, Misc.random(p.NPCMaxHitRange())); p2.animate(p2.getDefenceAnimation()); this.stop(); } }); World.getWorld().registerEvent(new Event(getMagicDelay()) { public void execute() { BossesDef(p, p2 , (int) (p.NPCMaxHitRange()), 0); p2.hit(p, Misc.random(p.NPCMaxHitRange())); this.stop(); } }); } } else if(p.getEquipment().isWieldingCBow()) { p.animate(PkDefinitions.getCombatAnim(p)); World.getWorld().getProjectileManager().fire(p.getLocation(), p2.getLocation(), 50, 70, p.getEquipment().getProjectileId(), 43, 31, p2); World.getWorld().registerEvent(new Event(getMagicDelay()) { public void execute() { if(Misc.random(10) == 1) { EnchantSpec(p, p2, p.NPCMaxHitRange()); p2.animate(p2.getDefenceAnimation()); this.stop(); } else { p2.hit(p, p.NPCMaxHitRange()); BossesDef(p, p2 , (int) (p.NPCMaxHitRange()), 0); p2.animate(p2.getDefenceAnimation()); this.stop(); } } }); } else if(p.usingSpecial) { } else { if(p.getEquipment().get(3).getDefinition().getId() == 15241) { p.sm("You need to be wearing handcannon ammo to fire this weapon."); return; } p.animate(PkDefinitions.getCombatAnim(p)); World.getWorld().getProjectileManager().fire(p.getLocation(), p2.getLocation(), 50, 70, p.getEquipment().getProjectileId(), 43, 31, p2); World.getWorld().registerEvent(new Event(getMagicDelay()) { public void execute() { p2.hit(p, Misc.random(p.NPCMaxHitRange())); BossesDef(p, p2 , (int) (p.NPCMaxHitRange()), 0); this.stop(); } }); } } } catch(Exception e) { } } //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ public void EnchantSpec(Player p, NPC n, int rangeDamage) { try { switch(p.getEquipment().get(13).getDefinition().getId()) { case 9242: rangeDamage = rangeDamage + Misc.random((n.getHp()/5)); if (rangeDamage >= 100) rangeDamage = 100; p.hit(Misc.random(p.getHp())/10); n.graphics(754); p.getActionSender().SendSound(2912,100,0); break; case 9244: rangeDamage = rangeDamage + Misc.random(25); n.graphics(756); p.getActionSender().SendSound(2915,100,0); break; case 9245: rangeDamage = Misc.random((int) (rangeDamage * 1.25)); p.heal(rangeDamage); n.graphics(753); p.getActionSender().SendSound(2917,100,0); break; case 9237: n.pid = -1; n.Attacking = false; n.graphics(755); p.getActionSender().SendSound(2914,100,0); } BossesDef(p, n , rangeDamage, 1); n.hit(p, rangeDamage); } catch(Exception e) { } } //---------------------------------------------------------------------------------------------------------------------------------------------------------------- public void MeleeAttack(final Player p, final NPC n) { int distance = 1; if (n.getId() == 8133 || (n.getId() >= 1158 && n.getId() <= 1160) || n.getId() == 6260 || n.getId() == 6222) { distance = 4; } if (n.getId() == 8350 || n.getId() == 8351 || n.getId() == 8352) { distance = 4; } if(Misc.getDistance(p.getLocation().getX(), p.getLocation().getY(), n.getLocation().getX(), n.getLocation().getY()) <= distance) { if(p.combatDelay == 0) { n.pid = p.getIndex(); n.Attacking = true; final int meleeDamage = Misc.random(p.NPCMaxHitMelee()); final int meleeDamage2 = Misc.random(p.NPCMaxHitMelee()); BossesDef(p, n , meleeDamage, 0); p.turnTo(n); n.turnTo(p); p.combatDelay = PkDefinitions.getCombatDelay(p); if(!p.usingSpecial) { World.getWorld().submit(new Tickable(1) { @Override public void execute() { n.hit(p, meleeDamage); n.animate(n.getDefenceAnimation()); this.stop(); } }); p.animate(PkDefinitions.getCombatAnim(p)); } if (p.LeechAttack == true) { CursesEffectsHandlerNpc.handleLeechAttack(p, n); p.leechDelay = System.currentTimeMillis() + Misc.random(100000); } if (p.LeechRange == true) { CursesEffectsHandlerNpc.handleLeechRanged(p, n); p.leechDelay = System.currentTimeMillis() + Misc.random(100000); } if (p.LeechMagic == true) { CursesEffectsHandlerNpc.handleLeechMagic(p, n); p.leechDelay = System.currentTimeMillis() + Misc.random(100000); } if (p.LeechDefence == true) { CursesEffectsHandlerNpc.handleLeechDefence(p, n); p.leechDelay = System.currentTimeMillis() + Misc.random(100000); } if (p.LeechStrength == true) { CursesEffectsHandlerNpc.handleLeechStrength(p, n); p.leechDelay = System.currentTimeMillis() + Misc.random(100000); } if (p.SpecialAttackLeech == true) { CursesEffectsHandlerNpc.handleSpecLeech(p, n); p.leechDelay = System.currentTimeMillis() + Misc.random(100000); } if (p.Soulsplit == true && meleeDamage >= 1) { CursesEffectsHandlerNpc.handleSoulSplit(p, n, meleeDamage); } if (p.SapWarrior == true) { CursesEffectsHandlerNpc.SapWarrior(p, n); } if (p.SapRanger == true) { CursesEffectsHandlerNpc.SapRanger(p, n); } if (p.SapSpirit == true) { CursesEffectsHandlerNpc.SapSpirit(p, n); } if (p.SapMage == true) { CursesEffectsHandlerNpc.SapMage(p, n); } if (p.DeflectRange == true) { CursesEffectsHandlerNpc.DeflectRange(p, n); } if (p.DeflectMelee == true) { CursesEffectsHandlerNpc.DeflectMelee(p, n); } if (p.DeflectMagic == true) { CursesEffectsHandlerNpc.DeflectMagic(p, n); } if(p.usingSpecial) { p.usingSpecial = false; if (p.specialAmount >= p.getSpecialAmount()) { p.specialAmount -= p.getSpecialAmount(); switch(p.getEquipment().get(3).getDefinition().getId()) { case 14484: p.graphics(1950, 0); p.animate(10961, 0); int dclaw1 = meleeDamage/2;int dclaw2 = meleeDamage/4;int dclaw3 = meleeDamage/4; if (meleeDamage == 0) { dclaw1 = Misc.random(p.MaxHitMelee()); dclaw2 = dclaw1/2; dclaw3 = dclaw1/4; } if (meleeDamage == 0 && dclaw1 == 0) { dclaw2 = Misc.random(p.MaxHitMelee()); dclaw3= dclaw2/2; } if (meleeDamage == 0 && dclaw1 == 0 && dclaw2 == 0) { dclaw3 = Misc.random(p.MaxHitMelee()); } n.hit(p, meleeDamage); n.hit(p, dclaw1); n.hit(p, dclaw2); n.hit(p, dclaw3); break; case 14486: p.graphics(1950, 0); p.animate(10961, 0); int dclaw5 = meleeDamage/6;int dclaw6 = meleeDamage/8;int dclaw7 = meleeDamage/8; if (meleeDamage == 0) { dclaw1 = Misc.random(p.MaxHitMelee()); dclaw2 = dclaw5/6; dclaw3 = dclaw7/8; } if (meleeDamage == 0 && dclaw5 == 0) { dclaw6 = Misc.random(p.MaxHitMelee()); dclaw7= dclaw6/6; } if (meleeDamage == 0 && dclaw5 == 0 && dclaw6 == 0) { dclaw3 = Misc.random(p.MaxHitMelee()); } n.hit(p, meleeDamage); n.hit(p, dclaw5); n.hit(p, dclaw6); n.hit(p, dclaw7); break; case 13899: World.getWorld().submit(new Tickable(1) { public void execute() { n.hit(p, (int) (meleeDamage * 1.10)); this.stop(); } }); p.animate(10502, 0); break; case 13902: World.getWorld().submit(new Tickable(1) { public void execute() { n.hit(p, (int) (meleeDamage * 1.25)); this.stop(); } }); p.graphics(1840, 0); p.animate(10505, 0); break; case 15259: World.getWorld().submit(new Tickable(1) { public void execute() { n.hit(p, meleeDamage); this.stop(); } }); p.animate(12031, 0); p.graphics(2144, 100); break; case 4151: case 13444: case 15441: case 15442: case 15443: case 15444: n.graphics(2108, 0); p.animate(11969, 0); World.getWorld().submit(new Tickable(1) { public void execute() { n.hit(p, meleeDamage); BossesDef(p, n , meleeDamage, 0); this.stop(); } }); break; case 1215: case 10581: n.graphics(252, (100 << 16)); p.animate(1062, 0); World.getWorld().submit(new Tickable(1) { public void execute() { n.hit(p, (int) (meleeDamage * 1.10)); n.hit(p, (int) (meleeDamage2 * 1.10)); BossesDef(p, n , (int) (meleeDamage * 1.10), 0); BossesDef(p, n , (int) (meleeDamage2 * 1.10), 0); this.stop(); } }); p.getActionSender().SendSound(2537,100,0); break; case 5698: n.graphics(252, (100 << 16)); p.animate(1062, 0); World.getWorld().submit(new Tickable(1) { public void execute() { n.hit(p, (int) (meleeDamage * 1.10)); n.hit(p, (int) (meleeDamage2 * 1.10)); BossesDef(p, n , (int) (meleeDamage * 1.10), 0); BossesDef(p, n , (int) (meleeDamage2 * 1.10), 0); this.stop(); } }); p.getActionSender().SendSound(2537,100,0); break; case 11730: p.graphics(1224, 0); p.animate(7072, 0); n.graphics(1194, 0); World.getWorld().submit(new Tickable(1) { public void execute() { n.hit(p, meleeDamage); n.hit(p, meleeDamage2); BossesDef(p, n , meleeDamage2, 0); this.stop(); } }); p.getActionSender().SendSound(3853,100,0); break; case 11694: p.graphics(1222, 0); p.animate(7074, 0); World.getWorld().submit(new Tickable(1) { public void execute() { n.hit(p, (int) (meleeDamage * 1.15)); BossesDef(p, n , (int) (meleeDamage * 1.15), 0); this.stop(); } }); p.getActionSender().SendSound(3865,100, 0); break; case 11716: p.graphics(1225, 0); p.animate(7001, 0); World.getWorld().submit(new Tickable(1) { public void execute() { n.hit(p, (int) (meleeDamage * 1.10)); BossesDef(p, n, (int) (meleeDamage * 1.10), 0); this.stop(); } }); break; case 13450: p.graphics(1222, 0); p.animate(7074, 0); final int hit13450 = (int) (meleeDamage * 1.65); World.getWorld().submit(new Tickable(1) { public void execute() { n.hit(p, hit13450); BossesDef(p, n, (int) (meleeDamage * 1.65), 0); this.stop(); } }); p.getActionSender().SendSound(3865,100, 0); break; case 10887: p.graphics(1027, 0); p.animate(5870, 0); final int hit10887 = (int) (meleeDamage * 1.05); World.getWorld().submit(new Tickable(1) { public void execute() { n.hit(p, hit10887); BossesDef(p, n, (int) (meleeDamage * 1.05), 0); this.stop(); } }); break; case 11696: p.graphics(1223, 0); p.animate(7073, 0); final int hit11696 = (int) (meleeDamage * 1.10); World.getWorld().submit(new Tickable(1) { public void execute() { BossesDef(p, n, (int) (meleeDamage * 1.10), 0); n.hit(p, hit11696); this.stop(); } }); p.getActionSender().SendSound(3834,100,0); break; case 11698: p.graphics(1220, 0); p.animate(7071, 0); p.heal(meleeDamage/2); World.getWorld().submit(new Tickable(1) { public void execute() { n.hit(p, meleeDamage); BossesDef(p, n, meleeDamage, 0); this.stop(); } }); p.getActionSender().SendSound(3857,100,0); break; case 11700: p.graphics(2110, 0); p.animate(7070, 0); n.graphics(2111, 0); World.getWorld().submit(new Tickable(1) { public void execute() { n.hit(p, meleeDamage); BossesDef(p, n, meleeDamage, 0); this.stop(); } }); p.getActionSender().SendSound(3857,100,0); break; case 13117: // invalius flail thing final int lflail1 = meleeDamage/5; final int lflail2 = meleeDamage/8; p.graphics(1930, 0); n.graphics(1931, 0); p.animate(1658, 0); World.getWorld().submit(new Tickable(1) { public void execute() { n.hit(p, lflail1); n.hit(p, lflail2); this.stop(); } }); break; case 13451://lent bgs p.graphics(1223, 0); p.animate(7073, 0); final int hit13451 = (int) (meleeDamage * 1.15); World.getWorld().submit(new Tickable(1) { public void execute() { BossesDef(p, n, (int) (meleeDamage * 1.15), 0); n.hit(p, hit13451); this.stop(); } }); p.getActionSender().SendSound(3834,100,0); break; case 13452://lent sgs p.graphics(1220, 0); p.animate(7071, 0); p.heal(meleeDamage); World.getWorld().submit(new Tickable(1) { public void execute() { n.hit(p, meleeDamage); BossesDef(p, n, meleeDamage, 0); this.stop(); } }); p.getActionSender().SendSound(3857,100,0); break; case 13453://lent zgs p.graphics(2110, 0); p.animate(7070, 0); n.graphics(2111, 0); World.getWorld().submit(new Tickable(1) { public void execute() { n.hit(p, meleeDamage); BossesDef(p, n , meleeDamage, 0); this.stop(); } }); p.getActionSender().SendSound(3857,100,0); break; case 1305: p.graphics(2117, 0); p.animate(12031, 0); final int hit1305 = (int) (meleeDamage * 1.20); World.getWorld().submit(new Tickable(1) { public void execute() { BossesDef(p, n, (int) (meleeDamage * 1.20), 0); n.hit(p, hit1305); this.stop(); } }); p.getActionSender().SendSound(2529,100,0); break; case 4587: p.graphics(2118, 0); p.animate(12005, 0); World.getWorld().submit(new Tickable(1) { public void execute() { n.hit(p, meleeDamage); BossesDef(p, n, meleeDamage, 0); this.stop(); } }); p.getActionSender().SendSound(2540,100,0); break; case 3204: p.graphics(282, 50); n.graphics(254, 100); p.animate(1665, 0); World.getWorld().submit(new Tickable(1) { public void execute() { n.hit(p, meleeDamage); n.hit(p, meleeDamage2); BossesDef(p, n, meleeDamage, 0); BossesDef(p, n, meleeDamage2, 0); this.stop(); } }); break; case 1434: p.graphics(251, 50); p.animate(1060, 0); World.getWorld().submit(new Tickable(1) { public void execute() { int hit1434 = (int) (meleeDamage * 1.25); BossesDef(p, n, (int) (meleeDamage * 1.25), 0); n.hit(p, hit1434); this.stop(); } }); p.getActionSender().SendSound(2541,100,0); break; case 7158: p.graphics(559, 0); p.animate(3157, 0); World.getWorld().submit(new Tickable(1) { public void execute() { n.hit(p, meleeDamage); BossesDef(p, n, meleeDamage, 0); this.stop(); } }); break; default: n.hit(p, meleeDamage); BossesDef(p, n , meleeDamage, 0); p.animate(PkDefinitions.getCombatAnim(p)); p.getActionSender().sendMessage("This weapon has no special Attack, if you still see special bar please relogin."); } }else{p.getActionSender().sendMessage("You do not have enough special energy.");} } } } } //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ public int getMagicDelay() { NPC p2 = World.getWorld().getNpcs().get(magicIndex); if (p == null || p2 == null) return 1300; if (Misc.getDistance(p.getLocation().getX(), p.getLocation().getY(), p2.getLocation().getX(), p2.getLocation().getY()) == 1) return 700; if (Misc.getDistance(p.getLocation().getX(), p.getLocation().getY(), p2.getLocation().getX(), p2.getLocation().getY()) == 2) return 700; if (Misc.getDistance(p.getLocation().getX(), p.getLocation().getY(), p2.getLocation().getX(), p2.getLocation().getY()) == 3) return 900; if (Misc.getDistance(p.getLocation().getX(), p.getLocation().getY(), p2.getLocation().getX(), p2.getLocation().getY()) == 4) return 1050; if (Misc.getDistance(p.getLocation().getX(), p.getLocation().getY(), p2.getLocation().getX(), p2.getLocation().getY()) == 5) return 1050; if (Misc.getDistance(p.getLocation().getX(), p.getLocation().getY(), p2.getLocation().getX(), p2.getLocation().getY()) == 6) return 1050; if (Misc.getDistance(p.getLocation().getX(), p.getLocation().getY(), p2.getLocation().getX(), p2.getLocation().getY()) == 7) return 1050; if (Misc.getDistance(p.getLocation().getX(), p.getLocation().getY(), p2.getLocation().getX(), p2.getLocation().getY()) == 8) return 1050; if (Misc.getDistance(p.getLocation().getX(), p.getLocation().getY(), p2.getLocation().getX(), p2.getLocation().getY()) == 9) return 1045; if (Misc.getDistance(p.getLocation().getX(), p.getLocation().getY(), p2.getLocation().getX(), p2.getLocation().getY()) == 10) return 1045; return 1; } //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ public boolean usingRange(Player p) { if(p.getEquipment().get(3) == null) { return false; } switch(p.getEquipment().get(3).getDefinition().getId()) { case 14684: case 4212: case 4214: case 4734: case 11235: case 15701: case 15702: case 15703: case 15704: case 9185: case 18357: case 861: case 868: case 867: case 866: case 865: case 863: case 14121: case 15241: case 10034: case 11230: case 841: case 843: case 845: case 847: case 849: case 851: case 17295: case 853: case 855: case 857: case 859: return true; case 0: return false; case -1: return false; default: return false; } } public boolean LightEquipped(Player p) { try { if(p.getEquipment().get(3).getDefinition().getId() == 6746 || p.getEquipment().get(3).getDefinition().getId() == 6745){ return true; } return false; } catch (Exception e) { return false; } } public void BossesDef(final Player p, final NPC n , int Damage, int AttType) { p.addHitExp(p, Damage); switch (n.getId()) { case 8324: case 8325: case 8326: case 8327: if (n.NPCCharges > 0) { n.NPCDamage[AttType] += Damage; if (n.NPCDamage[0] >= 15) { n.NPCDamage[0] = 0; n.setId(8325); } if (n.NPCDamage[1] >= 15) { n.NPCDamage[1] = 0; n.setId(8326); } if (n.NPCDamage[2] >= 15) { n.NPCDamage[2] = 0; n.setId(8327); } } break; case 8350: case 8351: case 8352: n.NPCDamage[AttType] += Damage; if (n.NPCDamage[0] >= 31) { n.NPCDamage[0] = 0; n.setId(8352); } if (n.NPCDamage[1] >= 31) { n.NPCDamage[1] = 0; n.setId(8351); } if (n.NPCDamage[2] >= 31) { n.NPCDamage[2] = 0; n.setId(8350); } if (n.UsingThis == false) { n.graphics(1885); if (LightEquipped(p) && Misc.random(2) == 1) { n.UsingThis = true; p.sm("The demon is temporarily weakened by your weapon."); World.getWorld().registerEvent(new Event(30000) { public void execute() { if (!n.isDead()) { p.sm("The Tormented demon regains its strength against your weapon."); } n.UsingThis = false; this.stop(); } }); } } break; } } public int getDbowDrawback() { switch(p.getEquipment().get(13).getDefinition().getId()) { case 11212: return 1110; case 892: return 1109; case 890: return 1108; case 888: return 1107; case 886: return 1106; case 884: return 1105; case 882: return 1104; default: return 1114; } } public int getDbowSpec() { switch(p.getEquipment().get(13).getDefinition().getId()) { case 11212: return 1099; default: return 1102; } } /*public int getMaxHit(Player p) { int base = damage; double strengthMultiplier = (baseBonus * 0.00175) + 0.1; int maxHit = (int) Math.floor(combatStrength * strengthMultiplier * 1.05); if(FullDharokEquipped()) { maxHit += (int)((p.getSkills().getLevelForXp(3) - p.getSkills().getLevel(3))/2.2); } }*/ }[/code] And if anyone could point out the problem and a fix for the problem then that would be greatly appreciated lol :) Cheers, Bananana
  17. How can I make it so there is 10x damage and max hp level is 999 or something like they have in runescape I have delta based server (depulse source) please help me
×