L2JMobius

C4 C4 Formulas & Others adjust

emilianoify · 3 · 888

Offline emilianoify

  • Heir
  • **
    • Posts: 35
  • Try first after ask for help
Hello, all little changes for C4.

I continue working on this.

Formulas.java

Added:

Patk against GIANT and Magic Creatures.
Patk and Def vs Valakas in Stat.

Deleted:

Patk against ANGELS, Pdef again Bug, plants, etc.
BigBlunt and BigSword cases.
After C4 modif like summons in pvp or nobless damage. Following the comments in the file.
Pdef modifiers in calcChargeSkillsDam
// In C5 summons make 10 % less dmg in PvP.
// After C4 nobles make 4% more dmg in PvP.

CreatureStat and Creature

Deleted:

GetPtak and GetPdef vs some mobs type.

Stat.java

Removed:

PDEF_PLANTS("pDef-plants"),
PDEF_INSECTS("pDef-insects"),
PDEF_ANIMALS("pDef-animals"),
PDEF_MONSTERS("pDef-monsters"),
PDEF_DRAGONS("pDef-dragons"),
PDEF_ANGELS("pDef-angels"),
PDEF_GIANTS("pDef-giants"),
PDEF_MCREATURES("pDef-magicCreature"),
PATK_ANGELS("pAtk-angels"),

Download paths from here:

https://www.mediafire.com/file/r8911qelu52vy8n/Path.rar/file


Online Mobius

  • Distinguished King
  • *****
    • Posts: 16064
Need the related XML changes you did.
Code: [Select]
Error in file C:\eclipse_L2jMobius\workspace\L2J_Mobius_C4_ScionsOfDestiny\dist\game\data\stats\skills\4000-4099.xml java.util.NoSuchElementException: Unknown name 'pDef-insects' for enum BaseStats
Error in file C:\eclipse_L2jMobius\workspace\L2J_Mobius_C4_ScionsOfDestiny\dist\game\data\stats\skills\4400-4499.xml java.util.NoSuchElementException: Unknown name 'pDef-magicCreature' for enum BaseStats

Also proper patch.
Code: [Select]
Index: java/org/l2jmobius/gameserver/model/actor/Creature.java
===================================================================
--- java/org/l2jmobius/gameserver/model/actor/Creature.java (revision 12009)
+++ java/org/l2jmobius/gameserver/model/actor/Creature.java (working copy)
@@ -8418,16 +8418,6 @@
  }
 
  /**
- * Gets the p atk angels.
- * @param target the target
- * @return the p atk angels
- */
- public double getPAtkAngels(Creature target)
- {
- return getStat().getPAtkAngels(target);
- }
-
- /**
  * Gets the p atk insects.
  * @param target the target
  * @return the p atk insects
@@ -8487,66 +8477,6 @@
  }
 
  /**
- * Gets the p def plants.
- * @param target the target
- * @return the p def plants
- */
- public double getPDefPlants(Creature target)
- {
- return getStat().getPDefPlants(target);
- }
-
- /**
- * Gets the p def insects.
- * @param target the target
- * @return the p def insects
- */
- public double getPDefInsects(Creature target)
- {
- return getStat().getPDefInsects(target);
- }
-
- /**
- * Gets the p def animals.
- * @param target the target
- * @return the p def animals
- */
- public double getPDefAnimals(Creature target)
- {
- return getStat().getPDefAnimals(target);
- }
-
- /**
- * Gets the p def monsters.
- * @param target the target
- * @return the p def monsters
- */
- public double getPDefMonsters(Creature target)
- {
- return getStat().getPDefMonsters(target);
- }
-
- /**
- * Gets the p def dragons.
- * @param target the target
- * @return the p def dragons
- */
- public double getPDefDragons(Creature target)
- {
- return getStat().getPDefDragons(target);
- }
-
- /**
- * Gets the p def angels.
- * @param target the target
- * @return the p def angels
- */
- public double getPDefAngels(Creature target)
- {
- return getStat().getPDefAngels(target);
- }
-
- /**
  * Gets the p def.
  * @param target the target
  * @return the p def
@@ -8577,26 +8507,6 @@
  }
 
  /**
- * Gets the p def giants.
- * @param target the target
- * @return the p def giants
- */
- public double getPDefGiants(Creature target)
- {
- return getStat().getPDefGiants(target);
- }
-
- /**
- * Gets the p def magic creatures.
- * @param target the target
- * @return the p def magic creatures
- */
- public double getPDefMagicCreatures(Creature target)
- {
- return getStat().getPDefMagicCreatures(target);
- }
-
- /**
  * Gets the physical attack range.
  * @return the physical attack range
  */
Index: java/org/l2jmobius/gameserver/model/actor/stat/CreatureStat.java
===================================================================
--- java/org/l2jmobius/gameserver/model/actor/stat/CreatureStat.java (revision 12009)
+++ java/org/l2jmobius/gameserver/model/actor/stat/CreatureStat.java (working copy)
@@ -644,16 +644,6 @@
  }
 
  /**
- * Return the PAtk Modifier against angels.
- * @param target the target
- * @return the p atk angels
- */
- public double getPAtkAngels(Creature target)
- {
- return calcStat(Stat.PATK_ANGELS, 1, target, null);
- }
-
- /**
  * Return the PAtk Modifier against insects.
  * @param target the target
  * @return the p atk insects
@@ -731,66 +721,6 @@
  }
 
  /**
- * Gets the p def plants.
- * @param target the target
- * @return the p def plants
- */
- public double getPDefPlants(Creature target)
- {
- return calcStat(Stat.PDEF_PLANTS, 1, target, null);
- }
-
- /**
- * Gets the p def insects.
- * @param target the target
- * @return the p def insects
- */
- public double getPDefInsects(Creature target)
- {
- return calcStat(Stat.PDEF_INSECTS, 1, target, null);
- }
-
- /**
- * Gets the p def animals.
- * @param target the target
- * @return the p def animals
- */
- public double getPDefAnimals(Creature target)
- {
- return calcStat(Stat.PDEF_ANIMALS, 1, target, null);
- }
-
- /**
- * Gets the p def monsters.
- * @param target the target
- * @return the p def monsters
- */
- public double getPDefMonsters(Creature target)
- {
- return calcStat(Stat.PDEF_MONSTERS, 1, target, null);
- }
-
- /**
- * Gets the p def dragons.
- * @param target the target
- * @return the p def dragons
- */
- public double getPDefDragons(Creature target)
- {
- return calcStat(Stat.PDEF_DRAGONS, 1, target, null);
- }
-
- /**
- * Gets the p def angels.
- * @param target the target
- * @return the p def angels
- */
- public double getPDefAngels(Creature target)
- {
- return calcStat(Stat.PDEF_ANGELS, 1, target, null);
- }
-
- /**
  * Return the PDef (base+modifier) of the Creature.
  * @param target the target
  * @return the p def
@@ -985,26 +915,6 @@
  }
 
  /**
- * Return the PDef Modifier against giants.
- * @param target the target
- * @return the p def giants
- */
- public double getPDefGiants(Creature target)
- {
- return calcStat(Stat.PDEF_GIANTS, 1, target, null);
- }
-
- /**
- * Return the PDef Modifier against giants.
- * @param target the target
- * @return the p def magic creatures
- */
- public double getPDefMagicCreatures(Creature target)
- {
- return calcStat(Stat.PDEF_MCREATURES, 1, target, null);
- }
-
- /**
  * Return the PAtk Modifier against giants.
  * @param target the target
  * @return the p atk giants
Index: java/org/l2jmobius/gameserver/model/skill/Formulas.java
===================================================================
--- java/org/l2jmobius/gameserver/model/skill/Formulas.java (revision 12009)
+++ java/org/l2jmobius/gameserver/model/skill/Formulas.java (working copy)
@@ -1306,12 +1306,6 @@
  // Weapon random damage
  damage *= attacker.getRandomDamageMultiplier();
 
- // After C4 nobles make 4% more dmg in PvP.
- if ((attacker instanceof Player) && ((Player) attacker).isNoble() && ((target instanceof Player) || (target instanceof Summon)))
- {
- damage *= 1.04;
- }
-
  // Must be removed, after armor resistances are checked.
  // These values are a quick fix to balance dagger gameplay and give armor resistances vs dagger. daggerWpnRes could also be used if a skill was given to all classes. The values here try to be a compromise. They were originally added in a late C4 rev (2289).
  if (target instanceof Player)
@@ -1403,18 +1397,6 @@
  }
  }
 
- // In C5 summons make 10 % less dmg in PvP.
- if ((attacker instanceof Summon) && (target instanceof Player))
- {
- damage *= 0.9;
- }
-
- // After C4 nobles make 4% more dmg in PvP.
- if ((attacker instanceof Player) && ((Player) attacker).isNoble() && ((target instanceof Player) || (target instanceof Summon)))
- {
- damage *= 1.04;
- }
-
  // defence modifier depending of the attacker weapon
  final Weapon weapon = attacker.getActiveWeaponItem();
  Stat stat = null;
@@ -1467,16 +1449,7 @@
  stat = Stat.SWORD_WPN_VULN;
  break;
  }
- case BIGSWORD:
- {
- stat = Stat.BIGSWORD_WPN_VULN;
- break;
- }
- case BIGBLUNT:
- {
- stat = Stat.BIGBLUNT_WPN_VULN;
- break;
- }
+
  }
  }
 
@@ -1541,11 +1514,17 @@
  {
  switch (((Npc) target).getTemplate().getRace())
  {
- case ANGEL:
+
+ case GIANT:
  {
- damage *= attacker.getPAtkAngels(target);
+ damage *= attacker.getPAtkGiants(target);
  break;
  }
+ case MAGICCREATURE:
+ {
+ damage *= attacker.getPAtkMagicCreatures(target);
+ break;
+ }
  case ANIMAL:
  {
  damage *= attacker.getPAtkAnimals(target);
@@ -1576,7 +1555,9 @@
  damage *= attacker.getPAtkUndead(target);
  break;
  }
+
  }
+
  }
 
  if (shld && ((100 - Config.ALT_PERFECT_SHLD_BLOCK) < Rnd.get(100)))
@@ -1693,18 +1674,6 @@
  mAtk *= ssModifier;
  double damage = ((91 * Math.sqrt(mAtk)) / mDef) * skill.getPower(attacker) * calcSkillVulnerability(target, skill);
 
- // In C5 summons make 10 % less dmg in PvP.
- if ((attacker instanceof Summon) && (target instanceof Player))
- {
- damage *= 0.9;
- }
-
- // After C4 nobles make 4% more dmg in PvP.
- if ((attacker instanceof Player) && ((Player) attacker).isNoble() && ((target instanceof Player) || (target instanceof Summon)))
- {
- damage *= 1.04;
- }
-
  // Failure calculation
  if (Config.ALT_GAME_MAGICFAILURES && !calcMagicSuccess(attacker, target, skill))
  {
@@ -3035,16 +3004,7 @@
  stat = Stat.BLUNT_WPN_VULN;
  break;
  }
- case BIGSWORD:
- {
- stat = Stat.BIGSWORD_WPN_VULN;
- break;
- }
- case BIGBLUNT:
- {
- stat = Stat.BIGBLUNT_WPN_VULN;
- break;
- }
+
  case DAGGER:
  {
  stat = Stat.DAGGER_WPN_VULN;
@@ -3091,12 +3051,6 @@
  // Weapon random damage
  damage *= attacker.getRandomDamageMultiplier();
 
- // After C4 nobles make 4% more dmg in PvP.
- if ((attacker instanceof Player) && ((Player) attacker).isNoble() && ((target instanceof Player) || (target instanceof Summon)))
- {
- damage *= 1.04;
- }
-
  if (shld && Config.ALT_GAME_SHIELD_BLOCKS)
  {
  damage -= target.getShldDef();
@@ -3113,49 +3067,43 @@
  {
  case BEAST:
  {
- multiplier = 1 + ((attacker.getPAtkMonsters(target) - target.getPDefMonsters(target)) / 100);
+ multiplier = 1 + attacker.getPAtkMonsters(target);
  damage *= multiplier;
  break;
  }
  case ANIMAL:
  {
- multiplier = 1 + ((attacker.getPAtkAnimals(target) - target.getPDefAnimals(target)) / 100);
+ multiplier = 1 + attacker.getPAtkAnimals(target);
  damage *= multiplier;
  break;
  }
  case PLANT:
  {
- multiplier = 1 + ((attacker.getPAtkPlants(target) - target.getPDefPlants(target)) / 100);
+ multiplier = 1 + attacker.getPAtkPlants(target);
  damage *= multiplier;
  break;
  }
  case DRAGON:
  {
- multiplier = 1 + ((attacker.getPAtkDragons(target) - target.getPDefDragons(target)) / 100);
+ multiplier = 1 + attacker.getPAtkDragons(target);
  damage *= multiplier;
  break;
  }
- case ANGEL:
- {
- multiplier = 1 + ((attacker.getPAtkAngels(target) - target.getPDefAngels(target)) / 100);
- damage *= multiplier;
- break;
- }
  case BUG:
  {
- multiplier = 1 + ((attacker.getPAtkInsects(target) - target.getPDefInsects(target)) / 100);
+ multiplier = 1 + attacker.getPAtkInsects(target);
  damage *= multiplier;
  break;
  }
  case GIANT:
  {
- multiplier = 1 + ((attacker.getPAtkGiants(target) - target.getPDefGiants(target)) / 100);
+ multiplier = 1 + attacker.getPAtkGiants(target);
  damage *= multiplier;
  break;
  }
  case MAGICCREATURE:
  {
- multiplier = 1 + ((attacker.getPAtkMagicCreatures(target) - target.getPDefMagicCreatures(target)) / 100);
+ multiplier = 1 + attacker.getPAtkMagicCreatures(target);
  damage *= multiplier;
  break;
  }
Index: java/org/l2jmobius/gameserver/model/skill/Stat.java
===================================================================
--- java/org/l2jmobius/gameserver/model/skill/Stat.java (revision 12009)
+++ java/org/l2jmobius/gameserver/model/skill/Stat.java (working copy)
@@ -124,7 +124,6 @@
  FALL_VULN("fallVuln"),
  CAST_INTERRUPT("concentration"),
  CRIT_VULN("critVuln"), // Resistence to Crit DMG.
-
  DEBUFF_IMMUNITY("debuffImmunity"),
 
  NONE_WPN_VULN("noneWpnVuln"), // Shields!!!
@@ -157,20 +156,9 @@
  PATK_MONSTERS("pAtk-monsters"),
  PATK_DRAGONS("pAtk-dragons"),
  PATK_UNDEAD("pAtk-undead"),
- PATK_ANGELS("pAtk-angels"),
-
  PATK_GIANTS("pAtk-giants"),
  PATK_MCREATURES("pAtk-magicCreature"),
- PDEF_GIANTS("pDef-giants"),
- PDEF_MCREATURES("pDef-magicCreature"),
-
  PDEF_UNDEAD("pDef-undead"),
- PDEF_PLANTS("pDef-plants"),
- PDEF_INSECTS("pDef-insects"),
- PDEF_ANIMALS("pDef-animals"),
- PDEF_MONSTERS("pDef-monsters"),
- PDEF_DRAGONS("pDef-dragons"),
- PDEF_ANGELS("pDef-angels"),
 
  ATK_REUSE("atkReuse"),
  P_REUSE("pReuse"),


Offline emilianoify

  • Heir
  • **
    • Posts: 35
  • Try first after ask for help
Wow, i dont see that error, now im not secure what is the function of this methods.

I dont see thats skills on databases like l2j.ru.

For the moment i go revert the gpdef and gpatk changes.

Just adjust in formulas for After c4 / c5 comments.