diff --git a/L2J_Mobius_01.0_Ertheia/dist/game/data/xsd/AlchemyData.xsd b/L2J_Mobius_01.0_Ertheia/dist/game/data/xsd/AlchemyData.xsd
index d703156dfa..05325e5a0c 100644
--- a/L2J_Mobius_01.0_Ertheia/dist/game/data/xsd/AlchemyData.xsd
+++ b/L2J_Mobius_01.0_Ertheia/dist/game/data/xsd/AlchemyData.xsd
@@ -43,6 +43,7 @@
+
diff --git a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
index 096bfee373..1e043dd7a6 100644
--- a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
+++ b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
@@ -32,6 +32,7 @@ public class AlchemyCraftData
private final int _level;
private final int _grade;
private final int _category;
+ private final float _chance;
private Set _ingredients;
private ItemHolder _productionSuccess;
private ItemHolder _productionFailure;
@@ -42,6 +43,7 @@ public class AlchemyCraftData
_level = set.getInt("level");
_grade = set.getInt("grade");
_category = set.getInt("category");
+ _chance = set.getFloat("chance", 0);
}
public int getId()
@@ -59,6 +61,11 @@ public class AlchemyCraftData
return _grade;
}
+ public float getChance()
+ {
+ return _chance;
+ }
+
public int getCategory()
{
return _category;
diff --git a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
index 348dc87199..dd7073630e 100644
--- a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
+++ b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
@@ -44,8 +44,8 @@ public class RequestAlchemyConversion implements IClientIncomingPacket
private int _craftTimes;
private int _skillId;
private int _skillLevel;
-
// private final Set _ingredients = new HashSet<>();
+
@Override
public boolean read(GameClient client, PacketReader packet)
{
@@ -110,27 +110,31 @@ public class RequestAlchemyConversion implements IClientIncomingPacket
// }
// Chance based on grade.
- final int baseChance;
+ final float baseChance;
+
+ // Custom XML chance value.
+ final float customChance = data.getChance();
+
switch (data.getGrade())
{
case 1: // Elementary
{
- baseChance = 100;
+ baseChance = customChance > 0 ? customChance : 100;
break;
}
case 2: // Intermediate
{
- baseChance = 80;
+ baseChance = customChance > 0 ? customChance : 80;
break;
}
case 3: // Advanced
{
- baseChance = 60;
+ baseChance = customChance > 0 ? customChance : 60;
break;
}
default: // Master
{
- baseChance = 50;
+ baseChance = customChance > 0 ? customChance : 50;
break;
}
}
diff --git a/L2J_Mobius_02.5_Underground/dist/game/data/xsd/AlchemyData.xsd b/L2J_Mobius_02.5_Underground/dist/game/data/xsd/AlchemyData.xsd
index d703156dfa..05325e5a0c 100644
--- a/L2J_Mobius_02.5_Underground/dist/game/data/xsd/AlchemyData.xsd
+++ b/L2J_Mobius_02.5_Underground/dist/game/data/xsd/AlchemyData.xsd
@@ -43,6 +43,7 @@
+
diff --git a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
index 096bfee373..1e043dd7a6 100644
--- a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
+++ b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
@@ -32,6 +32,7 @@ public class AlchemyCraftData
private final int _level;
private final int _grade;
private final int _category;
+ private final float _chance;
private Set _ingredients;
private ItemHolder _productionSuccess;
private ItemHolder _productionFailure;
@@ -42,6 +43,7 @@ public class AlchemyCraftData
_level = set.getInt("level");
_grade = set.getInt("grade");
_category = set.getInt("category");
+ _chance = set.getFloat("chance", 0);
}
public int getId()
@@ -59,6 +61,11 @@ public class AlchemyCraftData
return _grade;
}
+ public float getChance()
+ {
+ return _chance;
+ }
+
public int getCategory()
{
return _category;
diff --git a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
index 348dc87199..dd7073630e 100644
--- a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
+++ b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
@@ -44,8 +44,8 @@ public class RequestAlchemyConversion implements IClientIncomingPacket
private int _craftTimes;
private int _skillId;
private int _skillLevel;
-
// private final Set _ingredients = new HashSet<>();
+
@Override
public boolean read(GameClient client, PacketReader packet)
{
@@ -110,27 +110,31 @@ public class RequestAlchemyConversion implements IClientIncomingPacket
// }
// Chance based on grade.
- final int baseChance;
+ final float baseChance;
+
+ // Custom XML chance value.
+ final float customChance = data.getChance();
+
switch (data.getGrade())
{
case 1: // Elementary
{
- baseChance = 100;
+ baseChance = customChance > 0 ? customChance : 100;
break;
}
case 2: // Intermediate
{
- baseChance = 80;
+ baseChance = customChance > 0 ? customChance : 80;
break;
}
case 3: // Advanced
{
- baseChance = 60;
+ baseChance = customChance > 0 ? customChance : 60;
break;
}
default: // Master
{
- baseChance = 50;
+ baseChance = customChance > 0 ? customChance : 50;
break;
}
}
diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/xsd/AlchemyData.xsd b/L2J_Mobius_03.0_Helios/dist/game/data/xsd/AlchemyData.xsd
index d703156dfa..05325e5a0c 100644
--- a/L2J_Mobius_03.0_Helios/dist/game/data/xsd/AlchemyData.xsd
+++ b/L2J_Mobius_03.0_Helios/dist/game/data/xsd/AlchemyData.xsd
@@ -43,6 +43,7 @@
+
diff --git a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
index 096bfee373..1e043dd7a6 100644
--- a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
+++ b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
@@ -32,6 +32,7 @@ public class AlchemyCraftData
private final int _level;
private final int _grade;
private final int _category;
+ private final float _chance;
private Set _ingredients;
private ItemHolder _productionSuccess;
private ItemHolder _productionFailure;
@@ -42,6 +43,7 @@ public class AlchemyCraftData
_level = set.getInt("level");
_grade = set.getInt("grade");
_category = set.getInt("category");
+ _chance = set.getFloat("chance", 0);
}
public int getId()
@@ -59,6 +61,11 @@ public class AlchemyCraftData
return _grade;
}
+ public float getChance()
+ {
+ return _chance;
+ }
+
public int getCategory()
{
return _category;
diff --git a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
index 348dc87199..dd7073630e 100644
--- a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
+++ b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
@@ -44,8 +44,8 @@ public class RequestAlchemyConversion implements IClientIncomingPacket
private int _craftTimes;
private int _skillId;
private int _skillLevel;
-
// private final Set _ingredients = new HashSet<>();
+
@Override
public boolean read(GameClient client, PacketReader packet)
{
@@ -110,27 +110,31 @@ public class RequestAlchemyConversion implements IClientIncomingPacket
// }
// Chance based on grade.
- final int baseChance;
+ final float baseChance;
+
+ // Custom XML chance value.
+ final float customChance = data.getChance();
+
switch (data.getGrade())
{
case 1: // Elementary
{
- baseChance = 100;
+ baseChance = customChance > 0 ? customChance : 100;
break;
}
case 2: // Intermediate
{
- baseChance = 80;
+ baseChance = customChance > 0 ? customChance : 80;
break;
}
case 3: // Advanced
{
- baseChance = 60;
+ baseChance = customChance > 0 ? customChance : 60;
break;
}
default: // Master
{
- baseChance = 50;
+ baseChance = customChance > 0 ? customChance : 50;
break;
}
}
diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/xsd/AlchemyData.xsd b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/xsd/AlchemyData.xsd
index d703156dfa..05325e5a0c 100644
--- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/xsd/AlchemyData.xsd
+++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/xsd/AlchemyData.xsd
@@ -43,6 +43,7 @@
+
diff --git a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
index 096bfee373..1e043dd7a6 100644
--- a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
+++ b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
@@ -32,6 +32,7 @@ public class AlchemyCraftData
private final int _level;
private final int _grade;
private final int _category;
+ private final float _chance;
private Set _ingredients;
private ItemHolder _productionSuccess;
private ItemHolder _productionFailure;
@@ -42,6 +43,7 @@ public class AlchemyCraftData
_level = set.getInt("level");
_grade = set.getInt("grade");
_category = set.getInt("category");
+ _chance = set.getFloat("chance", 0);
}
public int getId()
@@ -59,6 +61,11 @@ public class AlchemyCraftData
return _grade;
}
+ public float getChance()
+ {
+ return _chance;
+ }
+
public int getCategory()
{
return _category;
diff --git a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
index 348dc87199..dd7073630e 100644
--- a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
+++ b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
@@ -44,8 +44,8 @@ public class RequestAlchemyConversion implements IClientIncomingPacket
private int _craftTimes;
private int _skillId;
private int _skillLevel;
-
// private final Set _ingredients = new HashSet<>();
+
@Override
public boolean read(GameClient client, PacketReader packet)
{
@@ -110,27 +110,31 @@ public class RequestAlchemyConversion implements IClientIncomingPacket
// }
// Chance based on grade.
- final int baseChance;
+ final float baseChance;
+
+ // Custom XML chance value.
+ final float customChance = data.getChance();
+
switch (data.getGrade())
{
case 1: // Elementary
{
- baseChance = 100;
+ baseChance = customChance > 0 ? customChance : 100;
break;
}
case 2: // Intermediate
{
- baseChance = 80;
+ baseChance = customChance > 0 ? customChance : 80;
break;
}
case 3: // Advanced
{
- baseChance = 60;
+ baseChance = customChance > 0 ? customChance : 60;
break;
}
default: // Master
{
- baseChance = 50;
+ baseChance = customChance > 0 ? customChance : 50;
break;
}
}
diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/xsd/AlchemyData.xsd b/L2J_Mobius_05.0_Salvation/dist/game/data/xsd/AlchemyData.xsd
index d703156dfa..05325e5a0c 100644
--- a/L2J_Mobius_05.0_Salvation/dist/game/data/xsd/AlchemyData.xsd
+++ b/L2J_Mobius_05.0_Salvation/dist/game/data/xsd/AlchemyData.xsd
@@ -43,6 +43,7 @@
+
diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
index 096bfee373..1e043dd7a6 100644
--- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
+++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
@@ -32,6 +32,7 @@ public class AlchemyCraftData
private final int _level;
private final int _grade;
private final int _category;
+ private final float _chance;
private Set _ingredients;
private ItemHolder _productionSuccess;
private ItemHolder _productionFailure;
@@ -42,6 +43,7 @@ public class AlchemyCraftData
_level = set.getInt("level");
_grade = set.getInt("grade");
_category = set.getInt("category");
+ _chance = set.getFloat("chance", 0);
}
public int getId()
@@ -59,6 +61,11 @@ public class AlchemyCraftData
return _grade;
}
+ public float getChance()
+ {
+ return _chance;
+ }
+
public int getCategory()
{
return _category;
diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
index 348dc87199..dd7073630e 100644
--- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
+++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
@@ -44,8 +44,8 @@ public class RequestAlchemyConversion implements IClientIncomingPacket
private int _craftTimes;
private int _skillId;
private int _skillLevel;
-
// private final Set _ingredients = new HashSet<>();
+
@Override
public boolean read(GameClient client, PacketReader packet)
{
@@ -110,27 +110,31 @@ public class RequestAlchemyConversion implements IClientIncomingPacket
// }
// Chance based on grade.
- final int baseChance;
+ final float baseChance;
+
+ // Custom XML chance value.
+ final float customChance = data.getChance();
+
switch (data.getGrade())
{
case 1: // Elementary
{
- baseChance = 100;
+ baseChance = customChance > 0 ? customChance : 100;
break;
}
case 2: // Intermediate
{
- baseChance = 80;
+ baseChance = customChance > 0 ? customChance : 80;
break;
}
case 3: // Advanced
{
- baseChance = 60;
+ baseChance = customChance > 0 ? customChance : 60;
break;
}
default: // Master
{
- baseChance = 50;
+ baseChance = customChance > 0 ? customChance : 50;
break;
}
}
diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/xsd/AlchemyData.xsd b/L2J_Mobius_05.5_EtinasFate/dist/game/data/xsd/AlchemyData.xsd
index d703156dfa..05325e5a0c 100644
--- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/xsd/AlchemyData.xsd
+++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/xsd/AlchemyData.xsd
@@ -43,6 +43,7 @@
+
diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
index 096bfee373..1e043dd7a6 100644
--- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
+++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
@@ -32,6 +32,7 @@ public class AlchemyCraftData
private final int _level;
private final int _grade;
private final int _category;
+ private final float _chance;
private Set _ingredients;
private ItemHolder _productionSuccess;
private ItemHolder _productionFailure;
@@ -42,6 +43,7 @@ public class AlchemyCraftData
_level = set.getInt("level");
_grade = set.getInt("grade");
_category = set.getInt("category");
+ _chance = set.getFloat("chance", 0);
}
public int getId()
@@ -59,6 +61,11 @@ public class AlchemyCraftData
return _grade;
}
+ public float getChance()
+ {
+ return _chance;
+ }
+
public int getCategory()
{
return _category;
diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
index 348dc87199..dd7073630e 100644
--- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
+++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
@@ -44,8 +44,8 @@ public class RequestAlchemyConversion implements IClientIncomingPacket
private int _craftTimes;
private int _skillId;
private int _skillLevel;
-
// private final Set _ingredients = new HashSet<>();
+
@Override
public boolean read(GameClient client, PacketReader packet)
{
@@ -110,27 +110,31 @@ public class RequestAlchemyConversion implements IClientIncomingPacket
// }
// Chance based on grade.
- final int baseChance;
+ final float baseChance;
+
+ // Custom XML chance value.
+ final float customChance = data.getChance();
+
switch (data.getGrade())
{
case 1: // Elementary
{
- baseChance = 100;
+ baseChance = customChance > 0 ? customChance : 100;
break;
}
case 2: // Intermediate
{
- baseChance = 80;
+ baseChance = customChance > 0 ? customChance : 80;
break;
}
case 3: // Advanced
{
- baseChance = 60;
+ baseChance = customChance > 0 ? customChance : 60;
break;
}
default: // Master
{
- baseChance = 50;
+ baseChance = customChance > 0 ? customChance : 50;
break;
}
}
diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/xsd/AlchemyData.xsd b/L2J_Mobius_06.0_Fafurion/dist/game/data/xsd/AlchemyData.xsd
index d703156dfa..05325e5a0c 100644
--- a/L2J_Mobius_06.0_Fafurion/dist/game/data/xsd/AlchemyData.xsd
+++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/xsd/AlchemyData.xsd
@@ -43,6 +43,7 @@
+
diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
index 096bfee373..1e043dd7a6 100644
--- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
+++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
@@ -32,6 +32,7 @@ public class AlchemyCraftData
private final int _level;
private final int _grade;
private final int _category;
+ private final float _chance;
private Set _ingredients;
private ItemHolder _productionSuccess;
private ItemHolder _productionFailure;
@@ -42,6 +43,7 @@ public class AlchemyCraftData
_level = set.getInt("level");
_grade = set.getInt("grade");
_category = set.getInt("category");
+ _chance = set.getFloat("chance", 0);
}
public int getId()
@@ -59,6 +61,11 @@ public class AlchemyCraftData
return _grade;
}
+ public float getChance()
+ {
+ return _chance;
+ }
+
public int getCategory()
{
return _category;
diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
index 348dc87199..dd7073630e 100644
--- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
+++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
@@ -44,8 +44,8 @@ public class RequestAlchemyConversion implements IClientIncomingPacket
private int _craftTimes;
private int _skillId;
private int _skillLevel;
-
// private final Set _ingredients = new HashSet<>();
+
@Override
public boolean read(GameClient client, PacketReader packet)
{
@@ -110,27 +110,31 @@ public class RequestAlchemyConversion implements IClientIncomingPacket
// }
// Chance based on grade.
- final int baseChance;
+ final float baseChance;
+
+ // Custom XML chance value.
+ final float customChance = data.getChance();
+
switch (data.getGrade())
{
case 1: // Elementary
{
- baseChance = 100;
+ baseChance = customChance > 0 ? customChance : 100;
break;
}
case 2: // Intermediate
{
- baseChance = 80;
+ baseChance = customChance > 0 ? customChance : 80;
break;
}
case 3: // Advanced
{
- baseChance = 60;
+ baseChance = customChance > 0 ? customChance : 60;
break;
}
default: // Master
{
- baseChance = 50;
+ baseChance = customChance > 0 ? customChance : 50;
break;
}
}
diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/xsd/AlchemyData.xsd b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/xsd/AlchemyData.xsd
index d703156dfa..05325e5a0c 100644
--- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/xsd/AlchemyData.xsd
+++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/xsd/AlchemyData.xsd
@@ -43,6 +43,7 @@
+
diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
index 096bfee373..1e043dd7a6 100644
--- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
+++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
@@ -32,6 +32,7 @@ public class AlchemyCraftData
private final int _level;
private final int _grade;
private final int _category;
+ private final float _chance;
private Set _ingredients;
private ItemHolder _productionSuccess;
private ItemHolder _productionFailure;
@@ -42,6 +43,7 @@ public class AlchemyCraftData
_level = set.getInt("level");
_grade = set.getInt("grade");
_category = set.getInt("category");
+ _chance = set.getFloat("chance", 0);
}
public int getId()
@@ -59,6 +61,11 @@ public class AlchemyCraftData
return _grade;
}
+ public float getChance()
+ {
+ return _chance;
+ }
+
public int getCategory()
{
return _category;
diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
index d25abdb61e..8652d0c227 100644
--- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
+++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
@@ -44,8 +44,8 @@ public class RequestAlchemyConversion implements IClientIncomingPacket
private int _craftTimes;
private int _skillId;
private int _skillLevel;
-
// private final Set _ingredients = new HashSet<>();
+
@Override
public boolean read(GameClient client, PacketReader packet)
{
@@ -110,27 +110,31 @@ public class RequestAlchemyConversion implements IClientIncomingPacket
// }
// Chance based on grade.
- final int baseChance;
+ final float baseChance;
+
+ // Custom XML chance value.
+ final float customChance = data.getChance();
+
switch (data.getGrade())
{
case 1: // Elementary
{
- baseChance = 100;
+ baseChance = customChance > 0 ? customChance : 100;
break;
}
case 2: // Intermediate
{
- baseChance = 80;
+ baseChance = customChance > 0 ? customChance : 80;
break;
}
case 3: // Advanced
{
- baseChance = 60;
+ baseChance = customChance > 0 ? customChance : 60;
break;
}
default: // Master
{
- baseChance = 50;
+ baseChance = customChance > 0 ? customChance : 50;
break;
}
}
diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/xsd/AlchemyData.xsd b/L2J_Mobius_08.2_Homunculus/dist/game/data/xsd/AlchemyData.xsd
index d703156dfa..05325e5a0c 100644
--- a/L2J_Mobius_08.2_Homunculus/dist/game/data/xsd/AlchemyData.xsd
+++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/xsd/AlchemyData.xsd
@@ -43,6 +43,7 @@
+
diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
index 096bfee373..1e043dd7a6 100644
--- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
+++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
@@ -32,6 +32,7 @@ public class AlchemyCraftData
private final int _level;
private final int _grade;
private final int _category;
+ private final float _chance;
private Set _ingredients;
private ItemHolder _productionSuccess;
private ItemHolder _productionFailure;
@@ -42,6 +43,7 @@ public class AlchemyCraftData
_level = set.getInt("level");
_grade = set.getInt("grade");
_category = set.getInt("category");
+ _chance = set.getFloat("chance", 0);
}
public int getId()
@@ -59,6 +61,11 @@ public class AlchemyCraftData
return _grade;
}
+ public float getChance()
+ {
+ return _chance;
+ }
+
public int getCategory()
{
return _category;
diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
index d25abdb61e..8652d0c227 100644
--- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
+++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
@@ -44,8 +44,8 @@ public class RequestAlchemyConversion implements IClientIncomingPacket
private int _craftTimes;
private int _skillId;
private int _skillLevel;
-
// private final Set _ingredients = new HashSet<>();
+
@Override
public boolean read(GameClient client, PacketReader packet)
{
@@ -110,27 +110,31 @@ public class RequestAlchemyConversion implements IClientIncomingPacket
// }
// Chance based on grade.
- final int baseChance;
+ final float baseChance;
+
+ // Custom XML chance value.
+ final float customChance = data.getChance();
+
switch (data.getGrade())
{
case 1: // Elementary
{
- baseChance = 100;
+ baseChance = customChance > 0 ? customChance : 100;
break;
}
case 2: // Intermediate
{
- baseChance = 80;
+ baseChance = customChance > 0 ? customChance : 80;
break;
}
case 3: // Advanced
{
- baseChance = 60;
+ baseChance = customChance > 0 ? customChance : 60;
break;
}
default: // Master
{
- baseChance = 50;
+ baseChance = customChance > 0 ? customChance : 50;
break;
}
}
diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/xsd/AlchemyData.xsd b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/xsd/AlchemyData.xsd
index d703156dfa..05325e5a0c 100644
--- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/xsd/AlchemyData.xsd
+++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/xsd/AlchemyData.xsd
@@ -43,6 +43,7 @@
+
diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
index 096bfee373..1e043dd7a6 100644
--- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
+++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
@@ -32,6 +32,7 @@ public class AlchemyCraftData
private final int _level;
private final int _grade;
private final int _category;
+ private final float _chance;
private Set _ingredients;
private ItemHolder _productionSuccess;
private ItemHolder _productionFailure;
@@ -42,6 +43,7 @@ public class AlchemyCraftData
_level = set.getInt("level");
_grade = set.getInt("grade");
_category = set.getInt("category");
+ _chance = set.getFloat("chance", 0);
}
public int getId()
@@ -59,6 +61,11 @@ public class AlchemyCraftData
return _grade;
}
+ public float getChance()
+ {
+ return _chance;
+ }
+
public int getCategory()
{
return _category;
diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
index d25abdb61e..8652d0c227 100644
--- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
+++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
@@ -44,8 +44,8 @@ public class RequestAlchemyConversion implements IClientIncomingPacket
private int _craftTimes;
private int _skillId;
private int _skillLevel;
-
// private final Set _ingredients = new HashSet<>();
+
@Override
public boolean read(GameClient client, PacketReader packet)
{
@@ -110,27 +110,31 @@ public class RequestAlchemyConversion implements IClientIncomingPacket
// }
// Chance based on grade.
- final int baseChance;
+ final float baseChance;
+
+ // Custom XML chance value.
+ final float customChance = data.getChance();
+
switch (data.getGrade())
{
case 1: // Elementary
{
- baseChance = 100;
+ baseChance = customChance > 0 ? customChance : 100;
break;
}
case 2: // Intermediate
{
- baseChance = 80;
+ baseChance = customChance > 0 ? customChance : 80;
break;
}
case 3: // Advanced
{
- baseChance = 60;
+ baseChance = customChance > 0 ? customChance : 60;
break;
}
default: // Master
{
- baseChance = 50;
+ baseChance = customChance > 0 ? customChance : 50;
break;
}
}
diff --git a/L2J_Mobius_10.2_MasterClass/dist/game/data/xsd/AlchemyData.xsd b/L2J_Mobius_10.2_MasterClass/dist/game/data/xsd/AlchemyData.xsd
index d703156dfa..05325e5a0c 100644
--- a/L2J_Mobius_10.2_MasterClass/dist/game/data/xsd/AlchemyData.xsd
+++ b/L2J_Mobius_10.2_MasterClass/dist/game/data/xsd/AlchemyData.xsd
@@ -43,6 +43,7 @@
+
diff --git a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
index 096bfee373..1e043dd7a6 100644
--- a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
+++ b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/model/alchemy/AlchemyCraftData.java
@@ -32,6 +32,7 @@ public class AlchemyCraftData
private final int _level;
private final int _grade;
private final int _category;
+ private final float _chance;
private Set _ingredients;
private ItemHolder _productionSuccess;
private ItemHolder _productionFailure;
@@ -42,6 +43,7 @@ public class AlchemyCraftData
_level = set.getInt("level");
_grade = set.getInt("grade");
_category = set.getInt("category");
+ _chance = set.getFloat("chance", 0);
}
public int getId()
@@ -59,6 +61,11 @@ public class AlchemyCraftData
return _grade;
}
+ public float getChance()
+ {
+ return _chance;
+ }
+
public int getCategory()
{
return _category;
diff --git a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
index b65c634749..b3ec811b78 100644
--- a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
+++ b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/alchemy/RequestAlchemyConversion.java
@@ -44,8 +44,8 @@ public class RequestAlchemyConversion implements IClientIncomingPacket
private int _craftTimes;
private int _skillId;
private int _skillLevel;
-
// private final Set _ingredients = new HashSet<>();
+
@Override
public boolean read(GameClient client, PacketReader packet)
{
@@ -110,27 +110,31 @@ public class RequestAlchemyConversion implements IClientIncomingPacket
// }
// Chance based on grade.
- final int baseChance;
+ final float baseChance;
+
+ // Custom XML chance value.
+ final float customChance = data.getChance();
+
switch (data.getGrade())
{
case 1: // Elementary
{
- baseChance = 100;
+ baseChance = customChance > 0 ? customChance : 100;
break;
}
case 2: // Intermediate
{
- baseChance = 80;
+ baseChance = customChance > 0 ? customChance : 80;
break;
}
case 3: // Advanced
{
- baseChance = 60;
+ baseChance = customChance > 0 ? customChance : 60;
break;
}
default: // Master
{
- baseChance = 50;
+ baseChance = customChance > 0 ? customChance : 50;
break;
}
}