Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Index: net.sf.l2j;Config.java
- ===================================================================
- --- net.sf.l2j;Config.java (revision 84)
- +++ net.sf.l2j;Config.java (working copy)
- - public static final String GEOENGINE_FILE = "./config/main/geoengine.properties";
- + public static final String GEOENGINE_FILE = "./config/main/geoengine.properties";
- + public static final String PHYSICS_FILE = "./config/customs/physics.properties";
- + public static int BLOW_ATTACK_FRONT;
- + public static int BLOW_ATTACK_SIDE;
- + public static int BLOW_ATTACK_BEHIND;
- + public static int BACKSTAB_ATTACK_FRONT;
- + public static int BACKSTAB_ATTACK_SIDE;
- + public static int BACKSTAB_ATTACK_BEHIND;
- + public static int ANTI_SS_BUG_1;
- + public static int ANTI_SS_BUG_2;
- + public static int ANTI_SS_BUG_3;
- + private static final void loadPhysics()
- + {
- + final ExProperties physics = initProperties(PHYSICS_FILE);
- + BLOW_ATTACK_FRONT = Integer.parseInt(physics.getProperty("BlowAttackFront", "50"));
- + BLOW_ATTACK_SIDE = Integer.parseInt(physics.getProperty("BlowAttackSide", "60"));
- + BLOW_ATTACK_BEHIND = Integer.parseInt(physics.getProperty("BlowAttackBehind", "70"));
- +
- + BACKSTAB_ATTACK_FRONT = Integer.parseInt(physics.getProperty("BackstabAttackFront", "0"));
- + BACKSTAB_ATTACK_SIDE = Integer.parseInt(physics.getProperty("BackstabAttackSide", "0"));
- + BACKSTAB_ATTACK_BEHIND = Integer.parseInt(physics.getProperty("BackstabAttackBehind", "70"));
- + ANTI_SS_BUG_1 = Integer.parseInt(physics.getProperty("Delay", "2700"));
- + ANTI_SS_BUG_2 = Integer.parseInt(physics.getProperty("DelayBow", "1500"));
- + ANTI_SS_BUG_3 = Integer.parseInt(physics.getProperty("DelayNextAttack", "470000"));
- +
- + }
- loadPhysics();
- Index: net.sf.l2j.gameserver.handler.skillhandlers;Blow.java
- ===================================================================
- --- net.sf.l2j.gameserver.handler.skillhandlers;Blow.java (revision 84)
- +++ net.sf.l2j.gameserver.handler.skillhandlers;Blow.java (working copy)
- - byte _successChance = SIDE;
- -
- - if (activeChar.isBehindTarget())
- - _successChance = BEHIND;
- - else if (activeChar.isInFrontOfTarget())
- - _successChance = FRONT;
- + byte _successChance = SIDE;
- +
- + if (activeChar.isBehindTarget())
- + _successChance = BEHIND;
- + else if (activeChar.isInFrontOfTarget())
- + _successChance = FRONT;
- + if (skill.getName().equals("Backstab"))
- + {
- + if (activeChar.isBehindTarget())
- + _successChance = (byte) Config.BACKSTAB_ATTACK_BEHIND;
- + else if (activeChar.isInFrontOfTarget())
- + _successChance = (byte) Config.BACKSTAB_ATTACK_FRONT;
- + else
- + _successChance = (byte) Config.BACKSTAB_ATTACK_SIDE;
- + }
- + else if (activeChar.isBehindTarget())
- + _successChance = (byte) Config.BLOW_ATTACK_BEHIND;
- + else if (activeChar.isInFrontOfTarget())
- + _successChance = (byte) Config.BLOW_ATTACK_FRONT;
- + else
- + _successChance = (byte) Config.BLOW_ATTACK_SIDE;
- Index: net.sf.l2j.gameserver.model.actor;Creature.java
- ===================================================================
- --- net.sf.l2j.gameserver.model.actor;Creature.java (revision 84)
- +++ net.sf.l2j.gameserver.model.actor;Creature.java (working copy)
- - public int calculateTimeBetweenAttacks(Creature target, WeaponType weaponType)
- - {
- - switch (weaponType)
- - {
- - case BOW:
- - return 1500 * 345 / getStat().getPAtkSpd();
- -
- - default:
- - return Formulas.calcPAtkSpd(this, target, getStat().getPAtkSpd());
- - }
- - }
- + public int calculateTimeBetweenAttacks(Creature target, WeaponType weaponType)
- + {
- + switch (weaponType)
- + {
- + case BOW:
- + return Config.ANTI_SS_BUG_2 * 345 / getStat().getPAtkSpd();
- + }
- + return Formulas.calcPAtkSpd(this, target, getStat().getPAtkSpd());
- + }
- Index: net.sf.l2j.gameserver.skills;Formulas.java
- ===================================================================
- --- net.sf.l2j.gameserver.skills;Formulas.java (revision 84)
- +++ net.sf.l2j.gameserver.skills;Formulas.java (working copy)
- - public static final int calcPAtkSpd(Creature attacker, Creature target, double rate)
- - {
- - if (rate < 2)
- - return 2700;
- -
- - return (int) (470000 / rate);
- - }
- + public static final int calcPAtkSpd(Creature attacker, Creature target, double rate)
- + {
- + if (rate < 2.0D)
- + return Config.ANTI_SS_BUG_1;
- + return (int) (Config.ANTI_SS_BUG_3 / rate);
- + }
- Index: config/physics.properties
- ===================================================================
- --- config/physics.properties (revision 84)
- +++ config/physics.properties (working copy)
- + #====================================================
- + # BLOW SETTINGS
- + #====================================================
- + # Chance front
- + BlowAttackFront = 100
- +
- + # Chance on the sides
- + BlowAttackSide = 100
- +
- + # Chance from behind
- + BlowAttackBehind = 100
- +
- + #====================================================
- + # BACKSTAB SETTINGS
- + #====================================================
- + # Chance front
- + BackstabAttackFront = 0
- +
- + # Chance on the sides
- + BackstabAttackSide = 40
- +
- + # Chance from behind
- + BackstabAttackBehind = 100
- + #====================================================
- + # ANTI BUG SS
- + #====================================================
- + #Low = 1500
- + #PvP = 1550
- + DelayBow = 1500
- +
- + # Low = 2700
- + # PvP = 2900
- + Delay = 2900
- +
- + # Low = 470000
- + # PvP = 620000
- + DelayNextAttack = 620000
Add Comment
Please, Sign In to add comment