package nl.sugcube.crystalquest.items;
import nl.sugcube.crystalquest.Broadcast;
import nl.sugcube.crystalquest.CrystalQuest;
import nl.sugcube.crystalquest.game.CrystalQuestTeam;
import nl.sugcube.crystalquest.game.Teams;
import nl.sugcube.crystalquest.economy.Multipliers;
import nl.sugcube.crystalquest.game.Arena;
import org.bukkit.*;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
/**
* @author SugarCaney
*/
public class Blooper extends ItemExecutor {
private static final int BLOOPER_DURATION = 118;
public Blooper() {
super(Material.INK_SACK);
}
@Override
boolean execute(CrystalQuest plugin, Player player, ItemStack itemStack) {
double multiplier = Multipliers.getMultiplier(
"debuff",
plugin.economy.getLevel(player, "debuff", "upgrade"),
false
);
int duration = (int)(BLOOPER_DURATION * multiplier);
PotionEffect effect = new PotionEffect(PotionEffectType.BLINDNESS, duration, 14);
PotionEffect effect2 = new PotionEffect(PotionEffectType.SPEED, duration, 0);
Arena arena = plugin.getArenaManager().getArena(player.getUniqueId());
CrystalQuestTeam targetTeam = Teams.getRandomTeamToHit(player);
if (arena.getPlayers().size() <= 1) {
return true;
}
// Bloop a team.
for (Player target : Teams.getPlayersFromTeam(arena, targetTeam)) {
target.addPotionEffect(effect);
target.addPotionEffect(effect2);
target.playSound(target.getLocation(), Sound.BLOCK_SLIME_STEP, 12F, 12F);
}
player.playSound(player.getLocation(), Sound.BLOCK_SLIME_STEP, 12F, 12F);
// Send confirmation message
player.sendMessage(Broadcast.get("item-use.blooper")
.replace("%team%", targetTeam.toString()));
return true;
}
}