Axelut

Physics SS and Dagger

May 10th, 2023
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Index: net.sf.l2j;Config.java
  2. ===================================================================
  3. --- net.sf.l2j;Config.java (revision 84)
  4. +++ net.sf.l2j;Config.java (working copy)
  5.  
  6. -   public static final String GEOENGINE_FILE = "./config/main/geoengine.properties";
  7.  
  8. +   public static final String GEOENGINE_FILE = "./config/main/geoengine.properties";
  9.  
  10. +   public static final String PHYSICS_FILE = "./config/customs/physics.properties";
  11.  
  12. +   public static int BLOW_ATTACK_FRONT;
  13. +   public static int BLOW_ATTACK_SIDE;
  14. +   public static int BLOW_ATTACK_BEHIND;
  15. +   public static int BACKSTAB_ATTACK_FRONT;
  16. +   public static int BACKSTAB_ATTACK_SIDE;
  17. +   public static int BACKSTAB_ATTACK_BEHIND;
  18. +   public static int ANTI_SS_BUG_1;
  19. +   public static int ANTI_SS_BUG_2;
  20. +   public static int ANTI_SS_BUG_3;
  21.  
  22. +   private static final void loadPhysics()
  23. +   {
  24. +   final ExProperties physics = initProperties(PHYSICS_FILE); 
  25. +   BLOW_ATTACK_FRONT = Integer.parseInt(physics.getProperty("BlowAttackFront", "50"));
  26. +   BLOW_ATTACK_SIDE = Integer.parseInt(physics.getProperty("BlowAttackSide", "60"));
  27. +   BLOW_ATTACK_BEHIND = Integer.parseInt(physics.getProperty("BlowAttackBehind", "70"));
  28. +  
  29. +   BACKSTAB_ATTACK_FRONT = Integer.parseInt(physics.getProperty("BackstabAttackFront", "0"));
  30. +   BACKSTAB_ATTACK_SIDE = Integer.parseInt(physics.getProperty("BackstabAttackSide", "0"));
  31. +   BACKSTAB_ATTACK_BEHIND = Integer.parseInt(physics.getProperty("BackstabAttackBehind", "70"));
  32.  
  33. +   ANTI_SS_BUG_1 = Integer.parseInt(physics.getProperty("Delay", "2700"));
  34. +   ANTI_SS_BUG_2 = Integer.parseInt(physics.getProperty("DelayBow", "1500"));
  35. +   ANTI_SS_BUG_3 = Integer.parseInt(physics.getProperty("DelayNextAttack", "470000"));
  36. +  
  37. +   }
  38.  
  39.  
  40.  
  41. loadPhysics();
  42.  
  43.  
  44. Index: net.sf.l2j.gameserver.handler.skillhandlers;Blow.java
  45. ===================================================================
  46. --- net.sf.l2j.gameserver.handler.skillhandlers;Blow.java (revision 84)
  47. +++ net.sf.l2j.gameserver.handler.skillhandlers;Blow.java (working copy)
  48.  
  49. -   byte _successChance = SIDE;
  50. -  
  51. -   if (activeChar.isBehindTarget())
  52. -       _successChance = BEHIND;
  53. -   else if (activeChar.isInFrontOfTarget())
  54. -       _successChance = FRONT;
  55.  
  56. +   byte _successChance = SIDE;
  57. +  
  58. +   if (activeChar.isBehindTarget())
  59. +       _successChance = BEHIND;
  60. +   else if (activeChar.isInFrontOfTarget())
  61. +       _successChance = FRONT;
  62.            
  63. +   if (skill.getName().equals("Backstab"))
  64. +   {
  65. +   if (activeChar.isBehindTarget())
  66. +       _successChance = (byte) Config.BACKSTAB_ATTACK_BEHIND;
  67. +   else if (activeChar.isInFrontOfTarget())
  68. +       _successChance = (byte) Config.BACKSTAB_ATTACK_FRONT;
  69. +   else
  70. +       _successChance = (byte) Config.BACKSTAB_ATTACK_SIDE;
  71. +   }
  72. +   else if (activeChar.isBehindTarget())
  73. +       _successChance = (byte) Config.BLOW_ATTACK_BEHIND;
  74. +   else if (activeChar.isInFrontOfTarget())
  75. +       _successChance = (byte) Config.BLOW_ATTACK_FRONT;
  76. +   else
  77. +   _successChance = (byte) Config.BLOW_ATTACK_SIDE;
  78.    
  79.  
  80. Index: net.sf.l2j.gameserver.model.actor;Creature.java
  81. ===================================================================
  82. --- net.sf.l2j.gameserver.model.actor;Creature.java (revision 84)
  83. +++ net.sf.l2j.gameserver.model.actor;Creature.java (working copy)
  84.  
  85. -   public int calculateTimeBetweenAttacks(Creature target, WeaponType weaponType)
  86. -   {
  87. -       switch (weaponType)
  88. -       {
  89. -           case BOW:
  90. -               return 1500 * 345 / getStat().getPAtkSpd();
  91. -          
  92. -           default:
  93. -               return Formulas.calcPAtkSpd(this, target, getStat().getPAtkSpd());
  94. -       }
  95. -   }
  96.  
  97. +   public int calculateTimeBetweenAttacks(Creature target, WeaponType weaponType)
  98. +   {
  99. +       switch (weaponType)
  100. +       {
  101. +           case BOW:
  102. +               return Config.ANTI_SS_BUG_2 * 345 / getStat().getPAtkSpd();
  103. +       }
  104. +       return Formulas.calcPAtkSpd(this, target, getStat().getPAtkSpd());
  105. +   }
  106.  
  107. Index: net.sf.l2j.gameserver.skills;Formulas.java
  108. ===================================================================
  109. --- net.sf.l2j.gameserver.skills;Formulas.java (revision 84)
  110. +++ net.sf.l2j.gameserver.skills;Formulas.java (working copy)
  111.  
  112. -   public static final int calcPAtkSpd(Creature attacker, Creature target, double rate)
  113. -   {
  114. -       if (rate < 2)
  115. -           return 2700;
  116. -      
  117. -       return (int) (470000 / rate);
  118. -   }
  119.  
  120. +   public static final int calcPAtkSpd(Creature attacker, Creature target, double rate)
  121. +   {
  122. +       if (rate < 2.0D)
  123. +           return Config.ANTI_SS_BUG_1;
  124. +       return (int) (Config.ANTI_SS_BUG_3 / rate);
  125. +   }
  126.  
  127. Index: config/physics.properties
  128. ===================================================================
  129. --- config/physics.properties (revision 84)
  130. +++ config/physics.properties (working copy)
  131.  
  132.  
  133. +   #====================================================
  134. +   #               BLOW SETTINGS
  135. +   #====================================================
  136. +   # Chance front
  137. +   BlowAttackFront = 100
  138. +  
  139. +   # Chance on the sides
  140. +   BlowAttackSide = 100
  141. +  
  142. +   # Chance from behind
  143. +   BlowAttackBehind = 100
  144. +  
  145. +   #====================================================
  146. +   #            BACKSTAB SETTINGS        
  147. +   #====================================================
  148. +   # Chance front
  149. +   BackstabAttackFront = 0
  150. +  
  151. +   # Chance on the sides
  152. +   BackstabAttackSide = 40
  153. +  
  154. +   # Chance from behind
  155. +   BackstabAttackBehind = 100
  156.  
  157. +   #====================================================
  158. +   #                 ANTI BUG SS
  159. +   #====================================================
  160. +   #Low = 1500
  161. +   #PvP = 1550
  162. +   DelayBow = 1500
  163. +  
  164. +   # Low = 2700
  165. +   # PvP = 2900
  166. +   Delay = 2900
  167. +  
  168. +   # Low = 470000
  169. +   # PvP = 620000
  170. +   DelayNextAttack = 620000
Add Comment
Please, Sign In to add comment