Merge branch 'configurable' into api

This commit is contained in:
Shane Freeder 2020-02-29 01:01:26 +00:00
commit a26216b0d0
No known key found for this signature in database
GPG Key ID: A3F61EA5A085289C
22 changed files with 73 additions and 53 deletions

View File

@ -1,4 +1,3 @@
<<<<<<< HEAD
Version 2.2.0 Version 2.2.0
!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!
@ -204,6 +203,16 @@ Version 2.2.0
Added API method to check if a skill was being level capped Added API method to check if a skill was being level capped
Added 'UndefinedSkillBehaviour' for trying to use a method that has no behaviour defined for the provided skill Added 'UndefinedSkillBehaviour' for trying to use a method that has no behaviour defined for the provided skill
Version 2.1.118
Fixed another dupe bug
Blast Mining no longer reduces debris from explosions due to some issues with the Bukkit API
Modified locale string 'Mining.Blast.Effect' to remove debris reduction mention
Rupture now fires a FakeEntityDamageByEntityEvent before damaging its victims (cancelling it will be ignored)
Version 2.1.117
Fixed a rare http error when polling Mojang for UUIDs
Fixed a bug that allowed duping
Version 2.1.116 Version 2.1.116
Fixed directional plants not maintaining their direction when replanted Fixed directional plants not maintaining their direction when replanted

View File

@ -21,9 +21,12 @@ public class PlayerDebugCommand extends BaseCommand {
@Default @Default
public void onCommand(CommandSender sender) { public void onCommand(CommandSender sender) {
if(sender instanceof Player) { if(sender instanceof Player) {
BukkitMMOPlayer mcMMOPlayer = pluginRef.getUserManager().getPlayer((Player) sender); BukkitMMOPlayer mcMMOPlayer = plugin.getUserManager().getPlayer((Player) sender);
if(mcMMOPlayer == null)
return;
mcMMOPlayer.toggleDebugMode(); //Toggle debug mode mcMMOPlayer.toggleDebugMode(); //Toggle debug mode
pluginRef.getNotificationManager().sendPlayerInformationChatOnlyPrefixed(mcMMOPlayer.getNative(), "Commands.Mmodebug.Toggle", String.valueOf(mcMMOPlayer.isDebugMode())); plugin.getNotificationManager().sendPlayerInformationChatOnlyPrefixed(mcMMOPlayer.getNative(), "Commands.Mmodebug.Toggle", String.valueOf(mcMMOPlayer.isDebugMode()));
} else { } else {
//TODO: Localize //TODO: Localize
sender.sendMessage("Players only"); sender.sendMessage("Players only");

View File

@ -20,7 +20,7 @@ public class MiningCommand extends SkillCommand {
private int bonusTNTDrops; private int bonusTNTDrops;
private double blastRadiusIncrease; private double blastRadiusIncrease;
private String oreBonus; private String oreBonus;
private String debrisReduction; // private String debrisReduction;
private String blastDamageDecrease; private String blastDamageDecrease;
private boolean canSuperBreaker; private boolean canSuperBreaker;
@ -42,7 +42,7 @@ public class MiningCommand extends SkillCommand {
blastMiningRank = miningManager.getBlastMiningTier(); blastMiningRank = miningManager.getBlastMiningTier();
bonusTNTDrops = miningManager.getDropMultiplier(); bonusTNTDrops = miningManager.getDropMultiplier();
oreBonus = percent.format(miningManager.getOreBonus() / 30.0D); // Base received in TNT is 30% oreBonus = percent.format(miningManager.getOreBonus() / 30.0D); // Base received in TNT is 30%
debrisReduction = percent.format(miningManager.getDebrisReduction() / 30.0D); // Base received in TNT is 30% // debrisReduction = percent.format(miningManager.getDebrisReduction() / 30.0D); // Base received in TNT is 30%
blastDamageDecrease = percent.format(miningManager.getBlastDamageModifier() / 100.0D); blastDamageDecrease = percent.format(miningManager.getBlastDamageModifier() / 100.0D);
blastRadiusIncrease = miningManager.getBlastRadiusModifier(); blastRadiusIncrease = miningManager.getBlastRadiusModifier();
} }
@ -81,8 +81,8 @@ public class MiningCommand extends SkillCommand {
} }
if (canBlast) { if (canBlast) {
messages.add(getStatMessage(false, true, SubSkillType.MINING_BLAST_MINING, String.valueOf(blastMiningRank), String.valueOf(pluginRef.getRankTools().getHighestRank(SubSkillType.MINING_BLAST_MINING)), pluginRef.getLocaleManager().getString("SuperAbility.BlastMining.Effect", oreBonus, debrisReduction, bonusTNTDrops))); messages.add(getStatMessage(false, true, SubSkillType.MINING_BLAST_MINING, String.valueOf(blastMiningRank), String.valueOf(pluginRef.getRankTools().getHighestRank(SubSkillType.MINING_BLAST_MINING)), pluginRef.getLocaleManager().getString("Mining.Blast.Effect", oreBonus, bonusTNTDrops)));
//messages.add(pluginRef.getLocaleManager().getString("SuperAbility.BlastMining.Rank", blastMiningRank, RankUtils.getHighestRank(SubSkillType.MINING_BLAST_MINING), pluginRef.getLocaleManager().getString("SuperAbility.BlastMining.Effect", oreBonus, debrisReduction, bonusTNTDrops))); //messages.add(LocaleLoader.getString("Mining.Blast.Rank", blastMiningRank, RankUtils.getHighestRank(SubSkillType.MINING_BLAST_MINING), LocaleLoader.getString("Mining.Blast.Effect", oreBonus, debrisReduction, bonusTNTDrops)));
} }
if (canDemoExpert) { if (canDemoExpert) {

View File

@ -791,8 +791,8 @@ public class EntityListener implements Listener {
MiningManager miningManager = pluginRef.getUserManager().getPlayer(player).getMiningManager(); MiningManager miningManager = pluginRef.getUserManager().getPlayer(player).getMiningManager();
if (miningManager.canUseBlastMining()) { if (miningManager.canUseBlastMining()) {
miningManager.blastMiningDropProcessing(event.getYield(), event.blockList()); miningManager.blastMiningDropProcessing(event.getYield(), event);
event.setYield(0); // event.setYield(0);
} }
} }

View File

@ -2,11 +2,13 @@ package com.gmail.nossr50.runnables.skills;
import com.gmail.nossr50.datatypes.interactions.NotificationType; import com.gmail.nossr50.datatypes.interactions.NotificationType;
import com.gmail.nossr50.datatypes.skills.BleedContainer; import com.gmail.nossr50.datatypes.skills.BleedContainer;
import com.gmail.nossr50.events.fake.FakeEntityDamageByEntityEvent;
import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.util.sounds.SoundType; import com.gmail.nossr50.util.sounds.SoundType;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.entity.LivingEntity; import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.scheduler.BukkitRunnable; import org.bukkit.scheduler.BukkitRunnable;
@ -161,6 +163,10 @@ public class BleedTimerTask extends BukkitRunnable {
// debugMessage+="TargetHealthBeforeDMG=["+String.valueOf(target.getHealth())+"], "; // debugMessage+="TargetHealthBeforeDMG=["+String.valueOf(target.getHealth())+"], ";
//Fire a fake event
FakeEntityDamageByEntityEvent fakeEntityDamageByEntityEvent = (FakeEntityDamageByEntityEvent) pluginRef.getCombatTools().sendEntityDamageEvent(containerEntry.getValue().damageSource, target, EntityDamageEvent.DamageCause.CUSTOM, damage);
Bukkit.getPluginManager().callEvent(fakeEntityDamageByEntityEvent);
pluginRef.getCombatTools().dealNoInvulnerabilityTickDamageRupture(target, damage, containerEntry.getValue().damageSource, toolTier); pluginRef.getCombatTools().dealNoInvulnerabilityTickDamageRupture(target, damage, containerEntry.getValue().damageSource, toolTier);
double victimHealthAftermath = target.getHealth(); double victimHealthAftermath = target.getHealth();

View File

@ -14,9 +14,11 @@ import com.gmail.nossr50.skills.SkillManager;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.block.Block; import org.bukkit.block.Block;
import org.bukkit.block.BlockState; import org.bukkit.block.BlockState;
import org.bukkit.block.Container;
import org.bukkit.enchantments.Enchantment; import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.entity.TNTPrimed; import org.bukkit.entity.TNTPrimed;
import org.bukkit.event.entity.EntityExplodeEvent;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import java.util.ArrayList; import java.util.ArrayList;
@ -137,53 +139,45 @@ public class MiningManager extends SkillManager {
* Handler for explosion drops and XP gain. * Handler for explosion drops and XP gain.
* *
* @param yield The % of blocks to drop * @param yield The % of blocks to drop
* @param blockList The list of blocks to drop * @param event The {@link EntityExplodeEvent}
*/ */
public void blastMiningDropProcessing(float yield, List<Block> blockList) { public void blastMiningDropProcessing(float yield, EntityExplodeEvent event) {
List<BlockState> ores = new ArrayList<>(); List<BlockState> ores = new ArrayList<>();
List<BlockState> debris = new ArrayList<>(); List<Block> newYieldList = new ArrayList<>();
for (Block targetBlock : event.blockList()) {
//Containers usually have 0 XP unless someone edited their config in a very strange way
if (pluginRef.getDynamicSettingsManager().getExperienceManager().getMiningXp(targetBlock.getType()) == 0 || targetBlock instanceof Container || pluginRef.getPlaceStore().isTrue(targetBlock)) {
newYieldList.add(targetBlock);
} else {
ores.add(targetBlock.getState());
}
}
int xp = 0; int xp = 0;
float oreBonus = (float) (getOreBonus() / 100); float oreBonus = (float) (getOreBonus() / 100);
float debrisReduction = (float) (getDebrisReduction() / 100); //float debrisReduction = (float) (getDebrisReduction() / 100);
int dropMultiplier = getDropMultiplier(); int dropMultiplier = getDropMultiplier();
float debrisYield = yield - debrisReduction; //float debrisYield = yield - debrisReduction;
for (Block block : blockList) {
BlockState blockState = block.getState();
if (pluginRef.getBlockTools().isOre(blockState)) {
ores.add(blockState);
//A bug where beacons can drop when yield is set to 0 on explosion events is prevented here
} else if(blockState.getType() != Material.BEACON) {
debris.add(blockState);
}
}
for (BlockState blockState : ores) { for (BlockState blockState : ores) {
if (pluginRef.getMiscTools().getRandom().nextFloat() < (yield + oreBonus)) { if (pluginRef.getMiscTools().getRandom().nextFloat() < (newYieldList.size() + oreBonus)) {
if (!pluginRef.getPlaceStore().isTrue(blockState)) {
xp += miningBehaviour.getBlockXp(blockState); xp += miningBehaviour.getBlockXp(blockState);
}
pluginRef.getMiscTools().dropItem(pluginRef.getMiscTools().getBlockCenter(blockState), new ItemStack(blockState.getType())); // Initial block that would have been dropped pluginRef.getMiscTools().dropItem(pluginRef.getMiscTools().getBlockCenter(blockState), new ItemStack(blockState.getType())); // Initial block that would have been dropped
if (!pluginRef.getPlaceStore().isTrue(blockState)) {
for (int i = 1; i < dropMultiplier; i++) { for (int i = 1; i < dropMultiplier; i++) {
miningBehaviour.handleSilkTouchDrops(blockState); // Bonus drops - should drop the block & not the items miningBehaviour.handleSilkTouchDrops(blockState); // Bonus drops - should drop the block & not the items
} }
} }
} }
}
if (debrisYield > 0) { event.blockList().clear();
for (BlockState blockState : debris) { event.blockList().addAll(newYieldList);
if (pluginRef.getMiscTools().getRandom().nextFloat() < debrisYield) {
pluginRef.getMiscTools().dropItems(pluginRef.getMiscTools().getBlockCenter(blockState), blockState.getBlock().getDrops());
}
}
}
applyXpGain(xp, XPGainReason.PVE); applyXpGain(xp, XPGainReason.PVE);
} }

View File

@ -46,12 +46,18 @@ public final class ParticleEffectUtils {
return; return;
}*/ }*/
if(location.getWorld() == null)
return;
location.getWorld().playEffect(location, Effect.MOBSPAWNER_FLAMES, 1); location.getWorld().playEffect(location, Effect.MOBSPAWNER_FLAMES, 1);
} }
public void playSmokeEffect(Location location) { public void playSmokeEffect(Location location) {
World world = location.getWorld(); World world = location.getWorld();
if(world == null)
return;
// Have to do it this way, because not all block directions are valid for smoke // Have to do it this way, because not all block directions are valid for smoke
world.playEffect(location, Effect.SMOKE, BlockFace.SOUTH_EAST); world.playEffect(location, Effect.SMOKE, BlockFace.SOUTH_EAST);
world.playEffect(location, Effect.SMOKE, BlockFace.SOUTH); world.playEffect(location, Effect.SMOKE, BlockFace.SOUTH);

View File

@ -159,7 +159,7 @@ SuperAbility.SuperBreaker.Other.On=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Me
SuperAbility.SuperBreaker.Refresh=[[GREEN]]Schopnost [[YELLOW]]Super Breaker [[GREEN]]obnovena! SuperAbility.SuperBreaker.Refresh=[[GREEN]]Schopnost [[YELLOW]]Super Breaker [[GREEN]]obnovena!
Mining.Skillup=Dovednost v dolovani byla navysena o {0}. Celkem ({1}) Mining.Skillup=Dovednost v dolovani byla navysena o {0}. Celkem ({1})
SuperAbility.BlastMining.Boom=[[GRAY]]**VYBUCH** SuperAbility.BlastMining.Boom=[[GRAY]]**VYBUCH**
SuperAbility.BlastMining.Effect=+{0} v\u00fdnos rudy, -{1} v\u00fdnos trosek, {2}x ko\u0159ist SuperAbility.BlastMining.Effect=+{0} v\u00fdnos rudy, {1}x ko\u0159ist
SuperAbility.BlastMining.Radius.Increase=Navyseni radiusu vybuchu: [[YELLOW]]+{0} SuperAbility.BlastMining.Radius.Increase=Navyseni radiusu vybuchu: [[YELLOW]]+{0}
SuperAbility.BlastMining.Rank=V\u00fdbu\u0161n\u00e9 t\u011b\u017een\u00ed [[YELLOW]] Rank {0}/8 [[GRAY]]({1}) SuperAbility.BlastMining.Rank=V\u00fdbu\u0161n\u00e9 t\u011b\u017een\u00ed [[YELLOW]] Rank {0}/8 [[GRAY]]({1})
SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] pou\u017eil [[RED]]V\u00fdbu\u0161n\u00e9 T\u011b\u017een\u00ed! SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] pou\u017eil [[RED]]V\u00fdbu\u0161n\u00e9 T\u011b\u017een\u00ed!

View File

@ -601,7 +601,7 @@ Mining.Ability.Locked.2 = GESPERRT bis Skill {0}+ (Exp
Mining.Ability.Lower = &7**Du senkst deine SPITZHACKE** Mining.Ability.Lower = &7**Du senkst deine SPITZHACKE**
Mining.Ability.Ready = &a**Deine SPITZHACKE ist bereit** Mining.Ability.Ready = &a**Deine SPITZHACKE ist bereit**
SuperAbility.BlastMining.Boom = &7**BOOM** SuperAbility.BlastMining.Boom = &7**BOOM**
SuperAbility.BlastMining.Effect = +{0} Erze -{1} Schutt, {2}x Drops SuperAbility.BlastMining.Effect = +{0} Erze {1}x Drops
SuperAbility.BlastMining.Other.On = &a{0}&2 benutzte &cZ\u00FCndstoff! SuperAbility.BlastMining.Other.On = &a{0}&2 benutzte &cZ\u00FCndstoff!
SuperAbility.BlastMining.Refresh = &aDein &eZ\u00FCndstoff &aist wieder bereit! SuperAbility.BlastMining.Refresh = &aDein &eZ\u00FCndstoff &aist wieder bereit!
Mining.Listener = Bergbau: Mining.Listener = Bergbau:

View File

@ -327,7 +327,7 @@ SuperAbility.SuperBreaker.Refresh=[[GREEN]]Your [[YELLOW]]Super Breaker [[GREEN]
#Blast Mining #Blast Mining
SuperAbility.BlastMining.Boom=[[GRAY]]**BOOM** SuperAbility.BlastMining.Boom=[[GRAY]]**BOOM**
SuperAbility.BlastMining.Cooldown= SuperAbility.BlastMining.Cooldown=
SuperAbility.BlastMining.Effect=+{0} ore yield, -{1} debris yield, {2}x drops SuperAbility.BlastMining.Effect=+{0} ore yield, {1}x drops
SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Blast Mining! SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Blast Mining!
SuperAbility.BlastMining.Refresh=[[GREEN]]Your [[YELLOW]]Blast Mining [[GREEN]]ability is refreshed! SuperAbility.BlastMining.Refresh=[[GREEN]]Your [[YELLOW]]Blast Mining [[GREEN]]ability is refreshed!
#REPAIR #REPAIR

View File

@ -161,7 +161,7 @@ SuperAbility.SuperBreaker.Other.On=[[GREEN]]\u00a1{0}[[DARK_GREEN]] us\u00f3 [[R
SuperAbility.SuperBreaker.Refresh=[[GREEN]]\u00a1Tu habilidad de [[YELLOW]]S\u00faper Destructor [[GREEN]]est\u00e1 refrescada! SuperAbility.SuperBreaker.Refresh=[[GREEN]]\u00a1Tu habilidad de [[YELLOW]]S\u00faper Destructor [[GREEN]]est\u00e1 refrescada!
Mining.Skillup=Habilidad de Miner\u00eda incrementada en {0}. Total ({1}) Mining.Skillup=Habilidad de Miner\u00eda incrementada en {0}. Total ({1})
SuperAbility.BlastMining.Boom=[[GRAY]]**BOOM** SuperAbility.BlastMining.Boom=[[GRAY]]**BOOM**
SuperAbility.BlastMining.Effect=+ {0} mineral de rendimiento, - {1} rendimiento de los desechos, {2} x drops SuperAbility.BlastMining.Effect=+ {0} mineral de rendimiento, {1} x drops
SuperAbility.BlastMining.Radius.Increase=Incrementado Radio de Explosi\u00f3n: [[YELLOW]]+{0} SuperAbility.BlastMining.Radius.Increase=Incrementado Radio de Explosi\u00f3n: [[YELLOW]]+{0}
SuperAbility.BlastMining.Rank=Miner\u00eda Explosiva: [[YELLOW]] Rango {0}/8 [[GRAY]]({1}) SuperAbility.BlastMining.Rank=Miner\u00eda Explosiva: [[YELLOW]] Rango {0}/8 [[GRAY]]({1})
SuperAbility.BlastMining.Other.On=[[GREEN]]\u00a1{0}[[DARK_GREEN]] us\u00f3 [[RED]]Miner\u00eda Explosiva! SuperAbility.BlastMining.Other.On=[[GREEN]]\u00a1{0}[[DARK_GREEN]] us\u00f3 [[RED]]Miner\u00eda Explosiva!

View File

@ -177,7 +177,7 @@ SuperAbility.SuperBreaker.Other.On=[[GREEN]]{0}[[DARK_GREEN]] a utilis\u00e9 [[R
SuperAbility.SuperBreaker.Refresh=[[GREEN]]Votre comp\u00e9tence [[YELLOW]]Broyeur [[GREEN]]est pr\u00eate ! SuperAbility.SuperBreaker.Refresh=[[GREEN]]Votre comp\u00e9tence [[YELLOW]]Broyeur [[GREEN]]est pr\u00eate !
Mining.Skillup=Le talent Minage augmente de {0}. Total ({1}) Mining.Skillup=Le talent Minage augmente de {0}. Total ({1})
SuperAbility.BlastMining.Boom=[[GRAY]]**BOUM** SuperAbility.BlastMining.Boom=[[GRAY]]**BOUM**
SuperAbility.BlastMining.Effect=+{0} de r\u00e9colte des minerais, -{1} de r\u00e9colte des d\u00e9bris, {2}x les r\u00e9compenses SuperAbility.BlastMining.Effect=+{0} de r\u00e9colte des minerais, {1}x les r\u00e9compenses
SuperAbility.BlastMining.Radius.Increase=Rayon d\'explosion : [[YELLOW]]+{0} SuperAbility.BlastMining.Radius.Increase=Rayon d\'explosion : [[YELLOW]]+{0}
SuperAbility.BlastMining.Rank=Minage explosif : [[YELLOW]]Rang {0}/8 [[GRAY]]({1}) SuperAbility.BlastMining.Rank=Minage explosif : [[YELLOW]]Rang {0}/8 [[GRAY]]({1})
SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] a utilis\u00e9 [[RED]]Minage explosif ! SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] a utilis\u00e9 [[RED]]Minage explosif !

View File

@ -330,7 +330,7 @@ SuperAbility.SuperBreaker.Refresh=[[GREEN]]A [[YELLOW]]Szuper T\u00F6r\u00E9s [[
#Blast Mining #Blast Mining
SuperAbility.BlastMining.Boom=[[GRAY]]**BUMM** SuperAbility.BlastMining.Boom=[[GRAY]]**BUMM**
SuperAbility.BlastMining.Cooldown= SuperAbility.BlastMining.Cooldown=
SuperAbility.BlastMining.Effect=+{0} \u00E9rc hozam, -{1} t\u00F6rmel\u00E9k hozam, {2}x t\u00E1rgy es\u00E9s SuperAbility.BlastMining.Effect=+{0} \u00E9rc hozam, {1}x t\u00E1rgy es\u00E9s
SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] haszn\u00E1lta a [[RED]]Robbant\u00E1sb\u00E1ny\u00E1szat [[DARK_GREEN]]k\u00E9pess\u00E9get! SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] haszn\u00E1lta a [[RED]]Robbant\u00E1sb\u00E1ny\u00E1szat [[DARK_GREEN]]k\u00E9pess\u00E9get!
SuperAbility.BlastMining.Refresh=[[GREEN]]A [[YELLOW]]Robbant\u00E1sb\u00E1ny\u00E1szat [[GREEN]]k\u00E9pess\u00E9ged ism\u00E9t el\u00E9rhet\u0151! SuperAbility.BlastMining.Refresh=[[GREEN]]A [[YELLOW]]Robbant\u00E1sb\u00E1ny\u00E1szat [[GREEN]]k\u00E9pess\u00E9ged ism\u00E9t el\u00E9rhet\u0151!
#REPAIR #REPAIR

View File

@ -338,7 +338,7 @@ SuperAbility.SuperBreaker.Refresh=[[GREEN]]La tua capacit\u00E0 [[YELLOW]]Super
#Blast Mining #Blast Mining
SuperAbility.BlastMining.Boom=[[GRAY]]**BOOM** SuperAbility.BlastMining.Boom=[[GRAY]]**BOOM**
SuperAbility.BlastMining.Cooldown= SuperAbility.BlastMining.Cooldown=
SuperAbility.BlastMining.Effect=+{0} minerale raccolto, -{1} macerie prodotte, drop {2}x SuperAbility.BlastMining.Effect=+{0} minerale raccolto, drop {1}x
SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] ha usato [[RED]]Estrazione Esplosiva! SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] ha usato [[RED]]Estrazione Esplosiva!
SuperAbility.BlastMining.Refresh=[[GREEN]]La tua capacit\u00E0 [[YELLOW]]Estrazione Esplosiva [[GREEN]]si \u00E8 rigenerata! SuperAbility.BlastMining.Refresh=[[GREEN]]La tua capacit\u00E0 [[YELLOW]]Estrazione Esplosiva [[GREEN]]si \u00E8 rigenerata!

View File

@ -322,7 +322,7 @@ SuperAbility.SuperBreaker.Other.On=[[GREEN]]{0}[[DARK_GREEN]]\u304c [[RED]]\u30b
# Blast Mining # Blast Mining
SuperAbility.BlastMining.Boom=[[GRAY]]**BOOM** SuperAbility.BlastMining.Boom=[[GRAY]]**BOOM**
SuperAbility.BlastMining.Cooldown= SuperAbility.BlastMining.Cooldown=
SuperAbility.BlastMining.Effect=+{0} ore yield, -{1} debris yield, {2}x \u30c9\u30ed\u30c3\u30d7 SuperAbility.BlastMining.Effect=+{0} ore yield, {1}x \u30c9\u30ed\u30c3\u30d7
SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] \u304c [[RED]]\u30d6\u30e9\u30b9\u30c8\u30de\u30a4\u30cb\u30f3\u30b0 [[DARK_GREEN]]\u3092\u4f7f\u3063\u305f\uff01 SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] \u304c [[RED]]\u30d6\u30e9\u30b9\u30c8\u30de\u30a4\u30cb\u30f3\u30b0 [[DARK_GREEN]]\u3092\u4f7f\u3063\u305f\uff01
SuperAbility.BlastMining.Refresh=[[YELLOW]]\u30d6\u30e9\u30b9\u30c8\u30de\u30a4\u30cb\u30f3\u30b0[GREEN]]\u30a2\u30d3\u30ea\u30c6\u30a3\u304c\u56de\u5fa9\u3057\u307e\u3057\u305f\uff01 SuperAbility.BlastMining.Refresh=[[YELLOW]]\u30d6\u30e9\u30b9\u30c8\u30de\u30a4\u30cb\u30f3\u30b0[GREEN]]\u30a2\u30d3\u30ea\u30c6\u30a3\u304c\u56de\u5fa9\u3057\u307e\u3057\u305f\uff01

View File

@ -202,11 +202,12 @@ SuperAbility.SuperBreaker.Refresh=[[GREEN]]\uB2F9\uC2E0\uC758 [[YELLOW]]\uD30C\u
Mining.Skillup=\uCC44\uAD11 \uAE30\uC220\uC774 {0} \uC62C\uB77C \uCD1D {1} \uB808\uBCA8\uC774 \uB418\uC5C8\uC2B5\uB2C8\uB2E4 Mining.Skillup=\uCC44\uAD11 \uAE30\uC220\uC774 {0} \uC62C\uB77C \uCD1D {1} \uB808\uBCA8\uC774 \uB418\uC5C8\uC2B5\uB2C8\uB2E4
#Blast Mining #Blast Mining
SuperAbility.BlastMining.Boom=[[GRAY]]**\uD3ED\uBC1C** SuperAbility.BlastMining.Boom=[[GRAY]]**\uD3ED\uBC1C**
SuperAbility.BlastMining.Effect=+{0} \uAD11\uBB3C \uC774\uC775, -{1} \uD30C\uD3B8 \uC0B0\uCD9C, {2}x \uB4DC\uB86D SuperAbility.BlastMining.Effect=+{0} \uAD11\uBB3C \uC774\uC775, {1}x \uB4DC\uB86D
SuperAbility.BlastMining.Radius.Increase=\uD3ED\uBC1C \uBC18\uACBD \uC99D\uAC00: [[YELLOW]]+{0} SuperAbility.BlastMining.Radius.Increase=\uD3ED\uBC1C \uBC18\uACBD \uC99D\uAC00: [[YELLOW]]+{0}
SuperAbility.BlastMining.Rank=\uD3ED\uBC1C \uCC44\uAD74: [[YELLOW]]{0}/8\uB7AD\uD06C [[GRAY]]({1}) SuperAbility.BlastMining.Rank=\uD3ED\uBC1C \uCC44\uAD74: [[YELLOW]]{0}/8\uB7AD\uD06C [[GRAY]]({1})
SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]]\uB2D8\uC740 [[RED]]\uD3ED\uBC1C \uCC44\uAD74\uC744 \uC0AC\uC6A9\uD558\uC168\uC2B5\uB2C8\uB2E4! SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]]\uB2D8\uC740 [[RED]]\uD3ED\uBC1C \uCC44\uAD74\uC744 \uC0AC\uC6A9\uD558\uC168\uC2B5\uB2C8\uB2E4!
SuperAbility.BlastMining.Refresh=[[GREEN]]\uB2F9\uC2E0\uC758 [[YELLOW]]\uD3ED\uBC1C \uCC44\uAD74 [[GREEN]]\uAE30\uC220\uC740 \uC774\uC81C \uC0AC\uC6A9 \uAC00\uB2A5\uD569\uB2C8\uB2E4! SuperAbility.BlastMining.Refresh=[[GREEN]]\uB2F9\uC2E0\uC758 [[YELLOW]]\uD3ED\uBC1C \uCC44\uAD74 [[GREEN]]\uAE30\uC220\uC740 \uC774\uC81C \uC0AC\uC6A9 \uAC00\uB2A5\uD569\uB2C8\uB2E4!
#REPAIR #REPAIR
Repair.SubSkill.Repair.Name=\uC218\uB9AC Repair.SubSkill.Repair.Name=\uC218\uB9AC
Repair.SubSkill.Repair.Description=\uB3C4\uAD6C & \uBC29\uC5B4\uAD6C \uC218\uB9AC Repair.SubSkill.Repair.Description=\uB3C4\uAD6C & \uBC29\uC5B4\uAD6C \uC218\uB9AC

View File

@ -330,7 +330,7 @@ SuperAbility.SuperBreaker.Refresh=[[GREEN]]Your [[YELLOW]]Super Breaker [[GREEN]
#Blast Mining #Blast Mining
SuperAbility.BlastMining.Boom=[[GRAY]]**BOOM** SuperAbility.BlastMining.Boom=[[GRAY]]**BOOM**
SuperAbility.BlastMining.Cooldown= SuperAbility.BlastMining.Cooldown=
SuperAbility.BlastMining.Effect=+{0} ore yield, -{1} debris yield, {2}x drops SuperAbility.BlastMining.Effect=+{0} ore yield, {1}x drops
SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Blast Mining! SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Blast Mining!
SuperAbility.BlastMining.Refresh=[[GREEN]]Your [[YELLOW]]Blast Mining [[GREEN]]ability is refreshed! SuperAbility.BlastMining.Refresh=[[GREEN]]Your [[YELLOW]]Blast Mining [[GREEN]]ability is refreshed!
#REPAIR #REPAIR

View File

@ -186,11 +186,12 @@ SuperAbility.SuperBreaker.Refresh=[[GREEN]]Sua Habilidade [[YELLOW]]Super Quebra
Mining.Skillup=[[YELLOW]]Habilidade de Mineracao foi aumentada para {0}. Total ({1}) Mining.Skillup=[[YELLOW]]Habilidade de Mineracao foi aumentada para {0}. Total ({1})
#Mineracao Explosiva #Mineracao Explosiva
SuperAbility.BlastMining.Boom=[[GRAY]]**BOOM** SuperAbility.BlastMining.Boom=[[GRAY]]**BOOM**
SuperAbility.BlastMining.Effect=+{0} Rendimento de Minerios, -{1} Prejuizo de Detritos, {2}x drops SuperAbility.BlastMining.Effect=+{0} Rendimento de Minerios, {1}x drops
SuperAbility.BlastMining.Radius.Increase=[[RED]]Aumento no Raio de explosao: [[YELLOW]]+{0} SuperAbility.BlastMining.Radius.Increase=[[RED]]Aumento no Raio de explosao: [[YELLOW]]+{0}
SuperAbility.BlastMining.Rank=[[RED]]Mineracao Explosiva: [[YELLOW]] Rank {0}/{1} [[GRAY]]({2}) SuperAbility.BlastMining.Rank=[[RED]]Mineracao Explosiva: [[YELLOW]] Rank {0}/{1} [[GRAY]]({2})
SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] usou [[RED]]Mineracao Explosiva! SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] usou [[RED]]Mineracao Explosiva!
SuperAbility.BlastMining.Refresh=[[GREEN]]Sua Habilidade [[YELLOW]]Mineracao Explosiva [[GREEN]]foi refrescada! SuperAbility.BlastMining.Refresh=[[GREEN]]Sua Habilidade [[YELLOW]]Mineracao Explosiva [[GREEN]]foi refrescada!
#REPARAR #REPARAR
Repair.Effect.0=Reparar Repair.Effect.0=Reparar
Repair.Effect.1=Reparar Ferramentas & Armaduras Repair.Effect.1=Reparar Ferramentas & Armaduras

View File

@ -290,7 +290,7 @@ Mining.Skillup=\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u043d\u0430\u0432\u04
#Blast Mining #Blast Mining
SuperAbility.BlastMining.Boom=[[GRAY]]**\u0411\u0423\u041c** SuperAbility.BlastMining.Boom=[[GRAY]]**\u0411\u0423\u041c**
SuperAbility.BlastMining.Cooldown= SuperAbility.BlastMining.Cooldown=
SuperAbility.BlastMining.Effect=+{0} \u0440\u0443\u0434\u044b, -{1} \u043c\u0443\u0441\u043e\u0440\u0430, {2}x \u0434\u0440\u043e\u043f SuperAbility.BlastMining.Effect=+{0} \u0440\u0443\u0434\u044b, {1}x \u0434\u0440\u043e\u043f
SuperAbility.BlastMining.Radius.Increase=\u0420\u0430\u0434\u0438\u0443\u0441 \u0412\u0437\u0440\u044b\u0432\u0430 \u0423\u0432\u0435\u043b\u0438\u0447\u0435\u043d: [[YELLOW]]+{0} SuperAbility.BlastMining.Radius.Increase=\u0420\u0430\u0434\u0438\u0443\u0441 \u0412\u0437\u0440\u044b\u0432\u0430 \u0423\u0432\u0435\u043b\u0438\u0447\u0435\u043d: [[YELLOW]]+{0}
SuperAbility.BlastMining.Rank=\u041f\u043e\u0434\u0440\u044b\u0432\u043d\u0430\u044f \u0414\u043e\u0431\u044b\u0447\u0430: [[YELLOW]] \u0420\u0430\u043d\u0433 {0}/8 [[GRAY]]({1}) SuperAbility.BlastMining.Rank=\u041f\u043e\u0434\u0440\u044b\u0432\u043d\u0430\u044f \u0414\u043e\u0431\u044b\u0447\u0430: [[YELLOW]] \u0420\u0430\u043d\u0433 {0}/8 [[GRAY]]({1})
SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0443\u043c\u0435\u043d\u0438\u0435 [[RED]]\"\u041f\u043e\u0434\u0440\u044b\u0432\u043d\u0430\u044f \u0414\u043e\u0431\u044b\u0447\u0430\"! SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0443\u043c\u0435\u043d\u0438\u0435 [[RED]]\"\u041f\u043e\u0434\u0440\u044b\u0432\u043d\u0430\u044f \u0414\u043e\u0431\u044b\u0447\u0430\"!

View File

@ -159,7 +159,7 @@ SuperAbility.SuperBreaker.Other.On=[[GREEN]]{0}[[DARK_GREEN]] \u0e44\u0e14\u0e49
SuperAbility.SuperBreaker.Refresh=[[GREEN]]\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e32\u0e21\u0e23\u0e16\u0e17\u0e31\u0e01\u0e29\u0e30 [[YELLOW]]Super Breaker [[GREEN]]\u0e04\u0e39\u0e25\u0e14\u0e32\u0e27\u0e19\u0e4c\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27! SuperAbility.SuperBreaker.Refresh=[[GREEN]]\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e32\u0e21\u0e23\u0e16\u0e17\u0e31\u0e01\u0e29\u0e30 [[YELLOW]]Super Breaker [[GREEN]]\u0e04\u0e39\u0e25\u0e14\u0e32\u0e27\u0e19\u0e4c\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27!
Mining.Skillup=\u0e17\u0e31\u0e01\u0e29\u0e30 Mining \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e02\u0e36\u0e49\u0e19 {0}. \u0e21\u0e35\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14 ({1}) Mining.Skillup=\u0e17\u0e31\u0e01\u0e29\u0e30 Mining \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e02\u0e36\u0e49\u0e19 {0}. \u0e21\u0e35\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14 ({1})
SuperAbility.BlastMining.Boom=[[GRAY]]**BOOM** SuperAbility.BlastMining.Boom=[[GRAY]]**BOOM**
SuperAbility.BlastMining.Effect=+{0} \u0e1c\u0e25\u0e1c\u0e25\u0e34\u0e15\u0e41\u0e23\u0e48, -{1} \u0e1c\u0e25\u0e1c\u0e25\u0e34\u0e15\u0e40\u0e28\u0e29, {2}x \u0e14\u0e23\u0e2d\u0e1b SuperAbility.BlastMining.Effect=+{0} \u0e1c\u0e25\u0e1c\u0e25\u0e34\u0e15\u0e41\u0e23\u0e48, {1}x \u0e14\u0e23\u0e2d\u0e1b
SuperAbility.BlastMining.Radius.Increase=\u0e23\u0e31\u0e28\u0e21\u0e35\u0e02\u0e2d\u0e07\u0e23\u0e30\u0e40\u0e1a\u0e34\u0e14\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e02\u0e36\u0e49\u0e19: [[YELLOW]]+{0} SuperAbility.BlastMining.Radius.Increase=\u0e23\u0e31\u0e28\u0e21\u0e35\u0e02\u0e2d\u0e07\u0e23\u0e30\u0e40\u0e1a\u0e34\u0e14\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e02\u0e36\u0e49\u0e19: [[YELLOW]]+{0}
SuperAbility.BlastMining.Rank=\u0e17\u0e31\u0e01\u0e29\u0e30 Blast Mining: [[YELLOW]] \u0e23\u0e30\u0e14\u0e31\u0e1a {0}/8 [[GRAY]]({1}) SuperAbility.BlastMining.Rank=\u0e17\u0e31\u0e01\u0e29\u0e30 Blast Mining: [[YELLOW]] \u0e23\u0e30\u0e14\u0e31\u0e1a {0}/8 [[GRAY]]({1})
SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] \u0e44\u0e14\u0e49\u0e43\u0e0a\u0e49\u0e17\u0e31\u0e01\u0e29\u0e30 [[RED]]Blast Mining! SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] \u0e44\u0e14\u0e49\u0e43\u0e0a\u0e49\u0e17\u0e31\u0e01\u0e29\u0e30 [[RED]]Blast Mining!

View File

@ -330,7 +330,7 @@ SuperAbility.SuperBreaker.Refresh=[[GREEN]]\u4f60\u7684 [[YELLOW]]\u8d85\u7ea7\u
#Blast Mining #Blast Mining
SuperAbility.BlastMining.Boom=[[GRAY]]**\u5623** SuperAbility.BlastMining.Boom=[[GRAY]]**\u5623**
SuperAbility.BlastMining.Cooldown= SuperAbility.BlastMining.Cooldown=
SuperAbility.BlastMining.Effect=+{0} \u77ff\u7269\u91cf, -{1} \u788e\u7247\u91cf, {2}x \u6389\u843d SuperAbility.BlastMining.Effect=+{0} \u77ff\u7269\u91cf, {1}x \u6389\u843d
SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] \u4f7f\u7528\u4e86 [[RED]]\u7206\u7834\u5f00\u91c7! SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] \u4f7f\u7528\u4e86 [[RED]]\u7206\u7834\u5f00\u91c7!
SuperAbility.BlastMining.Refresh=[[GREEN]]\u4f60\u7684 [[YELLOW]]\u7206\u7834\u5f00\u91c7 [[GREEN]]\u6280\u80fd\u53ef\u4ee5\u4f7f\u7528\u4e86! SuperAbility.BlastMining.Refresh=[[GREEN]]\u4f60\u7684 [[YELLOW]]\u7206\u7834\u5f00\u91c7 [[GREEN]]\u6280\u80fd\u53ef\u4ee5\u4f7f\u7528\u4e86!
#REPAIR #REPAIR

View File

@ -165,7 +165,7 @@ SuperAbility.SuperBreaker.Other.On=[[GREEN]]{0}[[DARK_GREEN]] \u4f7f\u7528\u4e86
SuperAbility.SuperBreaker.Refresh=[[GREEN]]\u4f60\u7684[[YELLOW]] \u8d85\u7d1a\u788e\u77f3\u6a5f [[GREEN]]\u80fd\u529b\u5df2\u53ef\u518d\u6b21\u4f7f\u7528\uff01 SuperAbility.SuperBreaker.Refresh=[[GREEN]]\u4f60\u7684[[YELLOW]] \u8d85\u7d1a\u788e\u77f3\u6a5f [[GREEN]]\u80fd\u529b\u5df2\u53ef\u518d\u6b21\u4f7f\u7528\uff01
Mining.Skillup=\u6316\u7926\u6280\u80fd\u4e0a\u5347\u4e86 {0}! \u7e3d\u7b49\u7d1a ({1})! Mining.Skillup=\u6316\u7926\u6280\u80fd\u4e0a\u5347\u4e86 {0}! \u7e3d\u7b49\u7d1a ({1})!
SuperAbility.BlastMining.Boom=[[GRAY]]**\u78b0!** SuperAbility.BlastMining.Boom=[[GRAY]]**\u78b0!**
SuperAbility.BlastMining.Effect=+{0} \u7926\u7269\u7522\u91cf, -{1}\u5783\u573e\u7522\u91cf, {2}x \u6389\u843d\u91cf SuperAbility.BlastMining.Effect=+{0} \u7926\u7269\u7522\u91cf, {1}x \u6389\u843d\u91cf
SuperAbility.BlastMining.Radius.Increase=\u7206\u70b8\u534a\u5f91\u63d0\u5347: [[YELLOW]]+{0} SuperAbility.BlastMining.Radius.Increase=\u7206\u70b8\u534a\u5f91\u63d0\u5347: [[YELLOW]]+{0}
SuperAbility.BlastMining.Rank=\u6316\u7926\u7206\u767c: [[YELLOW]] \u6392\u540d {0}/8 [[GRAY]]({1}) SuperAbility.BlastMining.Rank=\u6316\u7926\u7206\u767c: [[YELLOW]] \u6392\u540d {0}/8 [[GRAY]]({1})
SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] \u4f7f\u7528\u4e86 [[RED]]\u6316\u7926\u7206\u767c! SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] \u4f7f\u7528\u4e86 [[RED]]\u6316\u7926\u7206\u767c!