Merge pull request #52 from gmcferrin/master

Arcane Forging Configuration
This commit is contained in:
The Yeti 2012-01-27 15:35:23 -08:00
commit f93efe54a5
2 changed files with 63 additions and 32 deletions

View File

@ -28,7 +28,7 @@ public class LoadProperties
whoisEnable, statsEnable, addxpEnable, ptpEnable, mmoeditEnable, clearmyspawnEnable, mcgodEnable, mcabilityEnable, mctopEnable,
mcrefreshEnable, enableMotd, enableMySpawn, enableRegen, enableCobbleToMossy, useMySQL, cocoabeans, mushrooms,
toolsLoseDurabilityFromAbilities, pvpxp, miningrequirespickaxe, excavationRequiresShovel, woodcuttingrequiresaxe, eggs, apples, cake, music, diamond, glowstone,
slowsand, sulphur, netherrack, bones, coal, clay, anvilmessages;
slowsand, sulphur, netherrack, bones, coal, clay, anvilmessages, mayDowngradeEnchants, mayLoseEnchants;
public static String xplock, MySQLtablePrefix, MySQLuserName, MySQLserverName, MySQLdbName, MySQLdbPass, mctop, addxp,
xprate, mcability, mcmmo, mcc, mcrefresh, mcgod, stats, mmoedit, ptp, party, myspawn, whois, invite, accept, clearmyspawn, nWood,
@ -40,7 +40,8 @@ public class LoadProperties
msugar, mpumpkin, mwheat, mgold, mdiamond, miron, mredstone, mlapis, mobsidian, mnetherrack, mglowstone, mcoal, mstone, MySQLport,
xpGainMultiplier, superBreakerCooldown, greenTerraCooldown, gigaDrillBreakerCooldown, treeFellerCooldown,
berserkCooldown, serratedStrikeCooldown, skullSplitterCooldown, abilityDurabilityLoss,
feathersConsumedByChimaeraWing, bonesConsumedByCOTW, repairdiamondlevel, rWood, rStone, rIron, rGold, rDiamond, rString, rLeather;
feathersConsumedByChimaeraWing, bonesConsumedByCOTW, repairdiamondlevel, rWood, rStone, rIron, rGold, rDiamond, rString, rLeather,
downgradeRank1, downgradeRank2, downgradeRank3, downgradeRank4, keepEnchantsRank1, keepEnchantsRank2, keepEnchantsRank3, keepEnchantsRank4;
public static double xpbackground_r, xpbackground_g, xpbackground_b, xpborder_r, xpborder_g, xpborder_b, fishing_r, fishing_g, fishing_b, acrobatics_r, acrobatics_g, acrobatics_b, archery_r, archery_g, archery_b, axes_r, axes_g, axes_b,
excavation_r, excavation_g, excavation_b, herbalism_r, herbalism_g, herbalism_b, mining_r, mining_g, mining_b,
@ -221,7 +222,7 @@ public class LoadProperties
write("Experience.Mining.Diamond", 750);
write("Experience.Mining.Iron", 250);
write("Experience.Mining.Redstone", 150);
write("Experience.Mining.lapis", 400);
write("Experience.Mining.Lapis", 400);
write("Experience.Mining.Obsidian", 150);
write("Experience.Mining.Netherrack", 30);
write("Experience.Mining.Glowstone", 30);
@ -352,6 +353,16 @@ public class LoadProperties
write("Skills.Woodcutting.Requires_Axe", true);
write("Skills.Taming.Call_Of_The_Wild.Bones_Required", 10);
write("Arcane_Forging.Downgrades.Enabled", true);
write("Arcane_Forging.Downgrades.Chance.Rank_1", 75);
write("Arcane_Forging.Downgrades.Chance.Rank_2", 50);
write("Arcane_Forging.Downgrades.Chance.Rank_3", 25);
write("Arcane_Forging.Downgrades.Chance.Rank_4", 15);
write("Arcane_Forging.May_Lose_Enchants.Enabled", true);
write("Arcane_Forging.Keep_Enchants.Chance.Rank_1", 10);
write("Arcane_Forging.Keep_Enchants.Chance.Rank_2", 20);
write("Arcane_Forging.Keep_Enchants.Chance.Rank_3", 30);
write("Arcane_Forging.Keep_Enchants.Chance.Rank_4", 40);
loadkeys();
}
private void loadkeys()
@ -550,6 +561,17 @@ public class LoadProperties
rLeather = readInteger("Skills.Repair.Leather.ID", 334);
nLeather = readString("Skills.Repair.String.Name", "Leather");
mayDowngradeEnchants = readBoolean("Arcane_Forging.Downgrades.Enabled", true);
downgradeRank1 = readInteger("Arcane_Forging.Downgrades.Chance.Rank_1", 75);
downgradeRank2 = readInteger("Arcane_Forging.Downgrades.Chance.Rank_2", 50);
downgradeRank3 = readInteger("Arcane_Forging.Downgrades.Chance.Rank_3", 25);
downgradeRank4 = readInteger("Arcane_Forging.Downgrades.Chance.Rank_4", 15);
mayLoseEnchants = readBoolean("Arcane_Forging.May_Lose_Enchants.Enabled", true);
keepEnchantsRank1 = readInteger("Arcane_Forging.Keep_Enchants.Chance.Rank_1", 10);
keepEnchantsRank2 = readInteger("Arcane_Forging.Keep_Enchants.Chance.Rank_2", 20);
keepEnchantsRank3 = readInteger("Arcane_Forging.Keep_Enchants.Chance.Rank_3", 30);
keepEnchantsRank4 = readInteger("Arcane_Forging.Keep_Enchants.Chance.Rank_4", 40);
cocoabeans = readBoolean("Excavation.Drops.Cocoa_Beans", true);
mushrooms = readBoolean("Excavation.Drops.Mushrooms", true);
glowstone = readBoolean("Excavation.Drops.Glowstone", true);

View File

@ -315,44 +315,53 @@ public class Repair {
if(rank == 0)
{
player.sendMessage(mcLocale.getString("Repair.LostEnchants"));
for(Enchantment x : enchants)
if(LoadProperties.mayLoseEnchants())
{
is.removeEnchantment(x);
player.sendMessage(mcLocale.getString("Repair.LostEnchants"));
for(Enchantment x : enchants)
{
is.removeEnchantment(x);
}
}
return;
}
boolean failure = false, downgrade = false;
for(Enchantment x : enchants)
if(LoadProperties.mayLoseEnchants())
{
//Remove enchant
is.removeEnchantment(x);
if(x.canEnchantItem(is))
for(Enchantment x : enchants)
{
if(Math.random() * 100 <= getEnchantChance(rank))
//Remove enchant
is.removeEnchantment(x);
if(x.canEnchantItem(is))
{
if(enchantsLvl[pos] > 1)
if(Math.random() * 100 <= getEnchantChance(rank))
{
if(Math.random() * 100 <= getDowngradeChance(rank))
{
is.addEnchantment(x, enchantsLvl[pos]-1);
downgrade = true;
} else
if(enchantsLvl[pos] > 1)
{
if(LoadProperties.mayDowngradeEnchants())
{
if(Math.random() * 100 <= getDowngradeChance(rank))
{
is.addEnchantment(x, enchantsLvl[pos]-1);
downgrade = true;
} else
{
is.addEnchantment(x, enchantsLvl[pos]);
}
}
}
else {
is.addEnchantment(x, enchantsLvl[pos]);
}
} else {
failure = true;
}
else {
is.addEnchantment(x, enchantsLvl[pos]);
}
} else {
failure = true;
}
pos++;
}
pos++;
}
if(failure == false && downgrade == false)
@ -369,13 +378,13 @@ public class Repair {
switch(rank)
{
case 4:
return 40;
return LoadProperties.keepEnchantsRank4;
case 3:
return 30;
return LoadProperties.keepEnchantsRank3;
case 2:
return 20;
return LoadProperties.keepEnchantsRank2;
case 1:
return 10;
return LoadProperties.keepEnchantsRank1;
default:
return 0;
}
@ -385,13 +394,13 @@ public class Repair {
switch(rank)
{
case 4:
return 15;
return LoadProperties.downgradeRank4;
case 3:
return 25;
return LoadProperties.downgradeRank3;
case 2:
return 50;
return LoadProperties.downgradeRank2;
case 1:
return 75;
return LoadProperties.downgradeRank1;
default:
return 100;
}