Fixed a bug with slayer
This commit is contained in:
@@ -513,7 +513,7 @@ public class NPC extends Entity {
|
|||||||
if (getZoneMonitor().handleDeath(killer)) {
|
if (getZoneMonitor().handleDeath(killer)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (task != null && killer instanceof Player && ((Player) killer).getSlayer().getTask() == task) {
|
if (task != null && killer instanceof Player && ((Player) killer).getSlayer().getTask() == task && ((Player) killer).getSlayer().hasTask()) {
|
||||||
((Player) killer).getSlayer().finalizeDeath(killer.asPlayer(), this);
|
((Player) killer).getSlayer().finalizeDeath(killer.asPlayer(), this);
|
||||||
}
|
}
|
||||||
if (killer instanceof Player && killer.getAttribute("jobs:id",null) != null) {
|
if (killer instanceof Player && killer.getAttribute("jobs:id",null) != null) {
|
||||||
|
|||||||
@@ -105,10 +105,12 @@ public final class SlayerManager {
|
|||||||
* @param npc The NPC. You're currently
|
* @param npc The NPC. You're currently
|
||||||
*/
|
*/
|
||||||
public void finalizeDeath(Player player, NPC npc) {
|
public void finalizeDeath(Player player, NPC npc) {
|
||||||
|
if(hasTask()) {
|
||||||
player.getSkills().addExperience(Skills.SLAYER, npc.getSkills().getMaximumLifepoints());
|
player.getSkills().addExperience(Skills.SLAYER, npc.getSkills().getMaximumLifepoints());
|
||||||
decrementAmount(1);
|
decrementAmount(1);
|
||||||
|
}
|
||||||
|
|
||||||
if(!hasTask()){
|
if(!hasTask()){
|
||||||
clear();
|
|
||||||
flags.setTaskStreak(flags.getTaskStreak() + 1);
|
flags.setTaskStreak(flags.getTaskStreak() + 1);
|
||||||
flags.setCompletedTasks(flags.getCompletedTasks() + 1);
|
flags.setCompletedTasks(flags.getCompletedTasks() + 1);
|
||||||
if ((flags.getCompletedTasks() > 4 || flags.canEarnPoints() ) && flags.getMaster() != Master.TURAEL && flags.getPoints() < 64000) {
|
if ((flags.getCompletedTasks() > 4 || flags.canEarnPoints() ) && flags.getMaster() != Master.TURAEL && flags.getPoints() < 64000) {
|
||||||
|
|||||||
Reference in New Issue
Block a user