Mordekaiser
unknown
javascript
3 years ago
2.7 kB
11
Indexable
function onAttack(event) {
var damaged = event.getDamaged();
if (!(damaged instanceof Java.type("org.bukkit.entity.Player"))) {
return;
}
var player = event.getPlayer();
var cooldownId = player.getName() + "-ultimate-mordekaiser";
var timeUpPlayer = player.getName() + "-mordekaiser-player";
var timeUpDamaged = damaged.getName() + "-mordekaiser-damaged";
if (API.isOnCooldown(cooldownId)) {
return;
}
var dbcPlayer = API.getDBCPlayer(player);
if (dbcPlayer.getHealth() <= dbcPlayer.getMaxHealth() * .8) {
var arr = ["&5¡Destruccion desencadenada!", "&5Abandona toda Esperanza...", "&5¡A través del portal oscuro!", "&5¡Se parte del crisol de la angustia!"]
var frase = arr[Math.floor(Math.random() * arr.length)];
coordenadas(player, damaged);
API.message(player, frase);
API.message(damaged, frase);
API.executeCommand("warp " + "ReinoDeLosMuertos " + player.getName()); //executeCommand porque no funciona player.teleport en ubicaciones exactas
API.executeCommand("warp " + "ReinoDeLosMuertos " + damaged.getName());
effect(player, damaged, dbcPlayer);
API.setCooldown(cooldownId, ability.getCooldown());
API.setCooldown(timeUpPlayer, 30);
API.setCooldown(timeUpDamaged, 30);
API.runLater(function() {
API.sound(player, "minecraft:mob.irongolem.death");
API.sound(damaged, "minecraft:mob.irongolem.death");
}, 20);
}
}
function coordenadas(player, damaged) {
var locatePlayer = player.getLocation();
var locateDamaged = damaged.getLocation();
API.setTempData("locatePlayerMorde" + player.getName(), locatePlayer);
API.setTempData("locateDamagedMorde" + damaged.getName(), locateDamaged);
}
function effect(player, damaged, dbcPlayer) {
dbcPlayer.addBonus(BonusType.MULTIPLY, 1, 30, Stat.WIL);
API.runLater(function() {
var locatePlayer = API.getTempData("locatePlayerMorde" + player.getName());
var locateDamaged = API.getTempData("locateDamagedMorde" + damaged.getName());
dbcPlayer.removeBonus(BonusType.MULTIPLY);
API.message(player, "&c¡Efectos del Reino de los Muertos retirados!");
API.message(damaged, "&c¡Efectos del Reino de los Muertos retirados!");
player.teleport(locatePlayer);
damaged.teleport(locateDamaged);
API.removeTempData("locatePlayerMorde" + player.getName());
API.removeTempData("locateDamagedMorde" + damaged.getName());
}, 600);
}Editor is loading...