Find and replace the following in Nex.java (basically the phase == 1 if-statement)
Code:
if(phase == 1)
{
int rnd = Misc.getRandom(20);
if(rnd < 2 && !attacks[3])
{
NEX.forceChat("Fear the shadow!");
attacks[3] = true;
NEX.setChargingAttack(true);
for(final Player p_ : Misc.getCombinedPlayerList(p))
{
if(p_ == null || p_.getLocation() != Location.GODWARS_DUNGEON)
continue;
TaskManager.submit(new Task(1, NEX, false) {
int origX, origY;
int ticks;
@Override
public void execute()
{
if(ticks == 0)
{
origX = p_.getPosition().getX();
origY = p_.getPosition().getY();
}
if(ticks == 5)
{
if(origX == p_.getPosition().getX() && origY == p_.getPosition().getY())
{
p_.dealDamage(new Hit(100 + Misc.getRandom(100), Hitmask.RED, CombatIcon.NONE));
p_.getPacketSender().sendMessage("The shadows begin to damage you!");
this.stop();
}
}
if(ticks == 10) {
this.stop();
}
ticks++;
}
@Override
public void stop() {
setEventRunning(false);
attacks[3] = false;
NEX.setChargingAttack(false);
}
});
}
}else if(rnd >= 5 && rnd <= 7 && !attacks[4])
{
NEX.forceChat("Embrace darkness!");
attacks[4] = true;
NEX.setChargingAttack(true);
for(Player p_ : Misc.getCombinedPlayerList(p))
{
if(p_ == null || p_.getLocation() != Location.GODWARS_DUNGEON)
continue;
TaskManager.submit(new Task(1, NEX, false) {
int ticks = 0;
@Override
public void execute()
{
if(ticks == 10)
setShadow(p_, 250);
else {
double dist = p_.getPosition().distanceToPoint(NEX.getPosition().getX(), NEX.getPosition().getY());
if(dist < 3)
{
p_.getPacketSender().sendMessage("The shadows begin to consume you!");
p_.dealDamage(new Hit(10, Hitmask.RED, CombatIcon.NONE));
setShadow(p_, 20);
}
if(dist >= 3 && dist < 5)
setShadow(p_, 40);
if(dist > 5)
setShadow(p_, 90);
}
if(ticks >= 10)
{
this.stop();
}
ticks++;
}
@Override
public void stop() {
setEventRunning(false);
attacks[4] = false;
NEX.setChargingAttack(false);
}
});
}
NEX.performAnimation(new Animation(6984));
new CombatHitTask(NEX.getCombatBuilder(), new CombatContainer(NEX, p, 1, CombatType.MAGIC, true)).handleAttack();
return true;
} else {
if(p.getPosition().distanceToPoint(NEX.getPosition().getX(), NEX.getPosition().getY()) <= 2 && Misc.getRandom(1) == 0)
{
NEX.performAnimation(new Animation(6354));
TaskManager.submit(new Task(1, NEX, false) {
@Override
public void execute() {
new CombatHitTask(NEX.getCombatBuilder(), new CombatContainer(NEX, p, 1, CombatType.MELEE, true)).handleAttack();
stop();
}
});
return true;
} else {
NEX.performAnimation(new Animation(6326));
NEX.performGraphic(new Graphic(378));
new CombatHitTask(NEX.getCombatBuilder(), new CombatContainer(NEX, p, 1, CombatType.MAGIC, true)).handleAttack();
return true;
}
}
}