Version 1.2.03 WIP

This commit is contained in:
nossr50 2011-12-03 02:49:10 -08:00
parent 942a8363f3
commit 59429f066d
7 changed files with 29 additions and 16 deletions

View File

@ -1,5 +1,16 @@
Changelog: Changelog:
#Versions without changelogs probably had very small misc fixes, like tweaks to the source code #Versions without changelogs probably had very small misc fixes, like tweaks to the source code
Version 1.2.03
Fixed problems with mmoedit and fishing
Version 1.2.02
Added measures to prevent easy xp from hacks that cause a ridiculous amount of clicks per second
Fixed bug where Call Of The Wild used only 1 bone to summon
Reduced Endermen XP from 3x to 2x
The number of bonus fish caught from fishing has been reduced
Fishing XP reduced from 1500 to 800
Fishing XP is now configurable in the config file
Version 1.2.01 Version 1.2.01
Added a setting to turn off abilities completely from config Added a setting to turn off abilities completely from config
Added a setting to just turn off ability messages from config Added a setting to just turn off ability messages from config

View File

@ -390,7 +390,7 @@ public class Combat
} else } else
{ {
if(entity instanceof Enderman) if(entity instanceof Enderman)
xp = (xpinc * 3); xp = (xpinc * 2);
else if(entity instanceof Creeper) else if(entity instanceof Creeper)
xp = (xpinc * 4); xp = (xpinc * 4);
else if(entity instanceof Silverfish) else if(entity instanceof Silverfish)

View File

@ -34,7 +34,7 @@ public class LoadProperties
xprate, mcability, mcmmo, mcc, mcrefresh, mcgod, stats, mmoedit, ptp, party, myspawn, whois, invite, accept, clearmyspawn, nWood, xprate, mcability, mcmmo, mcc, mcrefresh, mcgod, stats, mmoedit, ptp, party, myspawn, whois, invite, accept, clearmyspawn, nWood,
nStone, nIron, nGold, nDiamond, locale; nStone, nIron, nGold, nDiamond, locale;
public static int mwatch, xpbar_x, xpbar_y, xpicon_x, xpicon_y, mstring, mbucket, mweb, public static int mfishing, mwatch, xpbar_x, xpbar_y, xpicon_x, xpicon_y, mstring, mbucket, mweb,
chimaeraId, msandstone, mcocoa, water_thunder, cure_self, cure_other, mslimeballs, mbones, msulphur, mslowsand, chimaeraId, msandstone, mcocoa, water_thunder, cure_self, cure_other, mslimeballs, mbones, msulphur, mslowsand,
mmushroom2, mglowstone2, mmelon, mmusic, mdiamond2, mbase, mapple, meggs, mcake, mpine, mbirch, mspruce, mcactus, mmushroom, mflower, mmushroom2, mglowstone2, mmelon, mmusic, mdiamond2, mbase, mapple, meggs, mcake, mpine, mbirch, mspruce, mcactus, mmushroom, mflower,
msugar, mpumpkin, mwheat, mgold, mdiamond, miron, mredstone, mlapis, mobsidian, mnetherrack, mglowstone, mcoal, mstone, MySQLport, msugar, mpumpkin, mwheat, mgold, mdiamond, miron, mredstone, mlapis, mobsidian, mnetherrack, mglowstone, mcoal, mstone, MySQLport,
@ -255,6 +255,7 @@ public class LoadProperties
write("Experience.Excavation.String", 200); write("Experience.Excavation.String", 200);
write("Experience.Excavation.Bucket", 100); write("Experience.Excavation.Bucket", 100);
write("Experience.Excavation.Web", 150); write("Experience.Excavation.Web", 150);
write("Experience.Fishing.Base", 800);
//write("Sorcery.Spells.Water.Thunder", 75); //write("Sorcery.Spells.Water.Thunder", 75);
//write("Sorcery.Spells.Curative.Cure_Self.Mana_Cost", 5); //write("Sorcery.Spells.Curative.Cure_Self.Mana_Cost", 5);
@ -468,6 +469,8 @@ public class LoadProperties
mstone = readInteger("Experience.Mining.Stone", 30); mstone = readInteger("Experience.Mining.Stone", 30);
msandstone = readInteger("Experience.Mining.Sandstone", 30); msandstone = readInteger("Experience.Mining.Sandstone", 30);
mfishing = readInteger("Experience.Fishing.Base", 800);
greenTerraCooldown = readInteger("Abilities.Cooldowns.Green_Terra", 240); greenTerraCooldown = readInteger("Abilities.Cooldowns.Green_Terra", 240);
superBreakerCooldown = readInteger("Abilities.Cooldowns.Super_Breaker", 240); superBreakerCooldown = readInteger("Abilities.Cooldowns.Super_Breaker", 240);
gigaDrillBreakerCooldown = readInteger("Abilities.Cooldowns.Giga_Drill_Breaker", 240); gigaDrillBreakerCooldown = readInteger("Abilities.Cooldowns.Giga_Drill_Breaker", 240);

View File

@ -57,7 +57,7 @@ public class PlayerProfile
//TIMESTAMPS //TIMESTAMPS
//ATS = (Time of) Activation Time Stamp //ATS = (Time of) Activation Time Stamp
//DATS = (Time of) Deactivation Time Stamp //DATS = (Time of) Deactivation Time Stamp
private int recentlyHurt = 0, berserkATS = 0, berserkDATS = 0, gigaDrillBreakerATS = 0, gigaDrillBreakerDATS = 0, private int xpGainATS = 0, recentlyHurt = 0, berserkATS = 0, berserkDATS = 0, gigaDrillBreakerATS = 0, gigaDrillBreakerDATS = 0,
respawnATS = 0, mySpawnATS = 0, greenTerraATS = 0, greenTerraDATS = 0, superBreakerATS = 0, superBreakerDATS = 0, serratedStrikesATS = 0, serratedStrikesDATS = 0, treeFellerATS = 0, treeFellerDATS = 0, respawnATS = 0, mySpawnATS = 0, greenTerraATS = 0, greenTerraDATS = 0, superBreakerATS = 0, superBreakerDATS = 0, serratedStrikesATS = 0, serratedStrikesDATS = 0, treeFellerATS = 0, treeFellerDATS = 0,
skullSplitterATS = 0, skullSplitterDATS = 0, hoePreparationATS = 0, axePreparationATS = 0, pickaxePreparationATS = 0, fistsPreparationATS = 0, shovelPreparationATS = 0, swordsPreparationATS = 0; skullSplitterATS = 0, skullSplitterDATS = 0, hoePreparationATS = 0, axePreparationATS = 0, pickaxePreparationATS = 0, fistsPreparationATS = 0, shovelPreparationATS = 0, swordsPreparationATS = 0;
@ -992,9 +992,12 @@ public class PlayerProfile
*/ */
public void addXP(SkillType skillType, int newvalue, Player thisplayer) public void addXP(SkillType skillType, int newvalue, Player thisplayer)
{ {
if(thisplayer.getGameMode() == GameMode.CREATIVE) if(System.currentTimeMillis() < ((xpGainATS*1000)+250) || thisplayer.getGameMode() == GameMode.CREATIVE)
return; return;
//Setup a timestamp of when xp was given
xpGainATS = (int) (System.currentTimeMillis()/1000);
double bonusModifier = 0; double bonusModifier = 0;
String leaderName = ""; String leaderName = "";
@ -1099,6 +1102,7 @@ public class PlayerProfile
skillsXp.put(SkillType.UNARMED, skillsXp.get(SkillType.UNARMED)-newvalue); skillsXp.put(SkillType.UNARMED, skillsXp.get(SkillType.UNARMED)-newvalue);
skillsXp.put(SkillType.EXCAVATION, skillsXp.get(SkillType.EXCAVATION)-newvalue); skillsXp.put(SkillType.EXCAVATION, skillsXp.get(SkillType.EXCAVATION)-newvalue);
skillsXp.put(SkillType.AXES, skillsXp.get(SkillType.AXES)-newvalue); skillsXp.put(SkillType.AXES, skillsXp.get(SkillType.AXES)-newvalue);
skillsXp.put(SkillType.FISHING, skillsXp.get(SkillType.FISHING)-newvalue);
} else { } else {
skillsXp.put(skillType, skillsXp.get(skillType)-newvalue); skillsXp.put(skillType, skillsXp.get(skillType)-newvalue);
} }
@ -1130,6 +1134,7 @@ public class PlayerProfile
skills.put(SkillType.UNARMED, newvalue); skills.put(SkillType.UNARMED, newvalue);
skills.put(SkillType.EXCAVATION, newvalue); skills.put(SkillType.EXCAVATION, newvalue);
skills.put(SkillType.AXES, newvalue); skills.put(SkillType.AXES, newvalue);
skills.put(skillType.FISHING, newvalue);
skillsXp.put(SkillType.TAMING, 0); skillsXp.put(SkillType.TAMING, 0);
skillsXp.put(SkillType.MINING, 0); skillsXp.put(SkillType.MINING, 0);
@ -1142,6 +1147,7 @@ public class PlayerProfile
skillsXp.put(SkillType.UNARMED, 0); skillsXp.put(SkillType.UNARMED, 0);
skillsXp.put(SkillType.EXCAVATION, 0); skillsXp.put(SkillType.EXCAVATION, 0);
skillsXp.put(SkillType.AXES, 0); skillsXp.put(SkillType.AXES, 0);
skillsXp.put(skillType.FISHING, newvalue);
} else { } else {
skills.put(skillType, newvalue); skills.put(skillType, newvalue);
skillsXp.put(skillType, newvalue); skillsXp.put(skillType, newvalue);

View File

@ -274,7 +274,7 @@ public class mcPlayerListener extends PlayerListener
ItemStack[] inventory = player.getInventory().getContents(); ItemStack[] inventory = player.getInventory().getContents();
for(ItemStack x : inventory){ for(ItemStack x : inventory){
if(x != null && x.getType() == Material.BONE){ if(x != null && x.getAmount() > LoadProperties.bonesConsumedByCOTW-1 && x.getType() == Material.BONE){
if(x.getAmount() >= LoadProperties.bonesConsumedByCOTW) if(x.getAmount() >= LoadProperties.bonesConsumedByCOTW)
{ {
x.setAmount(x.getAmount() - LoadProperties.bonesConsumedByCOTW); x.setAmount(x.getAmount() - LoadProperties.bonesConsumedByCOTW);

View File

@ -18,6 +18,7 @@ import org.bukkit.inventory.ItemStack;
import org.bukkit.material.Wool; import org.bukkit.material.Wool;
import com.gmail.nossr50.Users; import com.gmail.nossr50.Users;
import com.gmail.nossr50.config.LoadProperties;
import com.gmail.nossr50.datatypes.PlayerProfile; import com.gmail.nossr50.datatypes.PlayerProfile;
import com.gmail.nossr50.datatypes.SkillType; import com.gmail.nossr50.datatypes.SkillType;
import com.gmail.nossr50.locale.mcLocale; import com.gmail.nossr50.locale.mcLocale;
@ -152,30 +153,22 @@ public class Fishing {
{ {
case 1: case 1:
getFishingResultsTier1(player, event); getFishingResultsTier1(player, event);
Users.getProfile(player).addXP(SkillType.FISHING, 1500, player);
player.getWorld().dropItem(player.getLocation(), new ItemStack(Material.RAW_FISH, 1));
break; break;
case 2: case 2:
getFishingResultsTier2(player, event); getFishingResultsTier2(player, event);
Users.getProfile(player).addXP(SkillType.FISHING, 1500, player);
player.getWorld().dropItem(player.getLocation(), new ItemStack(Material.RAW_FISH, 2));
break; break;
case 3: case 3:
getFishingResultsTier3(player, event); getFishingResultsTier3(player, event);
Users.getProfile(player).addXP(SkillType.FISHING, 1500, player);
player.getWorld().dropItem(player.getLocation(), new ItemStack(Material.RAW_FISH, 3));
break; break;
case 4: case 4:
getFishingResultsTier4(player, event); getFishingResultsTier4(player, event);
Users.getProfile(player).addXP(SkillType.FISHING, 1500, player);
player.getWorld().dropItem(player.getLocation(), new ItemStack(Material.RAW_FISH, 4));
break; break;
case 5: case 5:
getFishingResultsTier5(player, event); getFishingResultsTier5(player, event);
Users.getProfile(player).addXP(SkillType.FISHING, 1500, player);
player.getWorld().dropItem(player.getLocation(), new ItemStack(Material.RAW_FISH, 5));
break; break;
} }
player.getWorld().dropItem(player.getLocation(), new ItemStack(Material.RAW_FISH, 1));
Users.getProfile(player).addXP(SkillType.FISHING, LoadProperties.mfishing, player);
Skills.XpCheckSkill(SkillType.FISHING, player); Skills.XpCheckSkill(SkillType.FISHING, player);
} }

View File

@ -1,6 +1,6 @@
name: mcMMO name: mcMMO
main: com.gmail.nossr50.mcMMO main: com.gmail.nossr50.mcMMO
version: 1.2.01 version: 1.2.03
softdepend: [Spout] softdepend: [Spout]
author: nossr50 author: nossr50
description: mcMMO takes core Minecraft game mechanics and expands them to add an extensive RPG experience, the goal of the project has always been a quality RPG experience. Everything in mcMMO is carefully thought out and is constantly improving. mcMMO adds eleven skills to train in and level in, while also offering a high level of customization for server admins. There are countless features, including custom sounds, graphical elements, and more added when running mcMMO in conjunction with Spout. I carefully read feedback and evaluate the mechanics of mcMMO in every update to provide an ever-evolving experience. description: mcMMO takes core Minecraft game mechanics and expands them to add an extensive RPG experience, the goal of the project has always been a quality RPG experience. Everything in mcMMO is carefully thought out and is constantly improving. mcMMO adds eleven skills to train in and level in, while also offering a high level of customization for server admins. There are countless features, including custom sounds, graphical elements, and more added when running mcMMO in conjunction with Spout. I carefully read feedback and evaluate the mechanics of mcMMO in every update to provide an ever-evolving experience.