@Override public boolean shouldStart() { if (!petEntity.canMove()) { return false; } if (myPet.getDamage() <= 0 && myPet.getRangedDamage() <= 0) { return false; } if (!this.petEntity.hasTarget() || this.petEntity.getTargetPriority() != TargetPriority.OwnerHurts) { return false; } return true; }
@Override public boolean shouldFinish() { if (!this.petEntity.hasTarget() || !this.petEntity.canMove()) { return true; } else if (this.targetEntity.getBukkitEntity() != this.petEntity.getTarget()) { return true; } if (petEntity.getMyPet().getRangedDamage() > 0 && this.petEntity.f(targetEntity.locX, targetEntity.boundingBox.b, targetEntity.locZ) >= 20) { return true; } return false; }
@Override public boolean shouldStart() { if (myPet.getDamage() <= 0) { return false; } if (!this.petEntity.hasTarget()) { return false; } EntityLiving targetEntity = ((CraftLivingEntity) this.petEntity.getTarget()).getHandle(); if (petEntity.getMyPet().getRangedDamage() > 0 && this.petEntity.f(targetEntity.locX, targetEntity.boundingBox.b, targetEntity.locZ) >= 20) { return false; } this.targetEntity = targetEntity; return true; }
@Override public boolean shouldFinish() { if (!entityMyPet.hasTarget() || myPet.getRangedDamage() <= 0 || !entityMyPet.canMove()) { return true; } if (this.target.getBukkitEntity() != this.entityMyPet.getTarget()) { return true; } double meleeDamage = myPet.getDamage(); if (meleeDamage > 0 && this.entityMyPet.f(target.locX, target.boundingBox.b, target.locZ) < 4) { Ranged rangedSkill = myPet.getSkills().get(Ranged.class); if (meleeDamage > rangedSkill.getDamage().getValue().doubleValue()) { return true; } } return false; }
@Override public boolean shouldStart() { if (myPet.getRangedDamage() <= 0) { return false; } if (!entityMyPet.canMove()) { return false; } if (!entityMyPet.hasTarget()) { return false; } EntityLiving target = ((CraftLivingEntity) this.entityMyPet.getTarget()).getHandle(); double meleeDamage = myPet.getDamage(); if (meleeDamage > 0 && this.entityMyPet.f(target.locX, target.boundingBox.b, target.locZ) < 4) { Ranged rangedSkill = myPet.getSkills().get(Ranged.class); if (meleeDamage > rangedSkill.getDamage().getValue().doubleValue()) { return false; } } this.target = target; return true; }
@Override public boolean shouldStart() { if (!myPet.getSkills().isActive(SprintImpl.class)) { return false; } if (petEntity.getMyPet().getDamage() <= 0) { return false; } if (!this.petEntity.hasTarget()) { return false; } EntityLiving targetEntity = ((CraftLivingEntity) this.petEntity.getTarget()).getHandle(); if (!targetEntity.isAlive()) { return false; } if (lastTarget == targetEntity) { return false; } if (petEntity.getMyPet().getRangedDamage() > 0 && this.petEntity.f(targetEntity) >= 16) { return false; } this.lastTarget = targetEntity; return true; }
@Override public boolean shouldFinish() { if (!petEntity.canMove()) { return true; } else if (!petEntity.hasTarget()) { return true; } EntityLiving target = ((CraftLivingEntity) this.petEntity.getTarget()).getHandle(); Behavior behaviorSkill = myPet.getSkills().get(Behavior.class); if (behaviorSkill.getBehavior() != BehaviorMode.Duel) { return true; } else if (myPet.getDamage() <= 0 && myPet.getRangedDamage() <= 0) { return true; } else if (target.world != petEntity.world) { return true; } else if (petEntity.f(target) > 400) { return true; } else if (petEntity.f(((CraftPlayer) petEntity.getOwner().getPlayer()).getHandle()) > 600) { return true; } return false; }
@Override public boolean shouldFinish() { if (!petEntity.canMove()) { return true; } else if (petEntity.getTarget() == null) { return true; } EntityLiving target = ((CraftLivingEntity) petEntity.getTarget()).getHandle(); if (!target.isAlive()) { return true; } Behavior behaviorSkill = myPet.getSkills().get(Behavior.class); if (behaviorSkill.getBehavior() != BehaviorMode.Aggressive) { return true; } else if (myPet.getDamage() <= 0 && myPet.getRangedDamage() <= 0) { return true; } else if (target.world != petEntity.world) { return true; } else if (petEntity.f(target) > 400) { return true; } else if (petEntity.f(((CraftPlayer) petEntity.getOwner().getPlayer()).getHandle()) > 600) { return true; } return false; }
@Override public boolean shouldFinish() { if (!petEntity.canMove()) { return true; } if (!this.petEntity.hasTarget()) { return true; } EntityLiving target = ((CraftLivingEntity) this.petEntity.getTarget()).getHandle(); if (!target.isAlive()) { return true; } Behavior behaviorSkill = myPet.getSkills().get(Behavior.class); if (behaviorSkill.getBehavior() != BehaviorMode.Farm) { return true; } else if (myPet.getDamage() <= 0 && myPet.getRangedDamage() <= 0) { return true; } else if (target.world != petEntity.world) { return true; } else if (petEntity.f(target) > 400) { return true; } else if (petEntity.f(((CraftPlayer) petEntity.getOwner().getPlayer()).getHandle()) > 600) { return true; } return false; }
return false; if (myPet.getDamage() <= 0 && myPet.getRangedDamage() <= 0) { return false;
@Override public boolean shouldStart() { Behavior behaviorSkill = myPet.getSkills().get(Behavior.class); if (!behaviorSkill.isActive() || behaviorSkill.getBehavior() != BehaviorMode.Farm) { return false; } if (myPet.getDamage() <= 0 && myPet.getRangedDamage() <= 0) { return false; } if (!petEntity.canMove()) { return false; } if (petEntity.hasTarget()) { return false; } for (Object entityObj : this.petEntity.world.a(EntityMonster.class, this.petOwnerEntity.boundingBox.grow((double) range, (double) range, (double) range))) { EntityMonster entityMonster = (EntityMonster) entityObj; if (!entityMonster.isAlive() || petEntity.f(entityMonster) > 91) { continue; } if (!MyPetApi.getHookHelper().canHurt(myPet.getOwner().getPlayer(), entityMonster.getBukkitEntity())) { continue; } this.target = entityMonster; return true; } return false; }
@Override public void tick() { double distanceToTarget = this.entityMyPet.f(this.target.locX, this.target.boundingBox.b, this.target.locZ); boolean canSee = this.entityMyPet.getEntitySenses().canSee(this.target); if (canSee) { this.lastSeenTimer++; } else { this.lastSeenTimer = 0; } if ((distanceToTarget <= this.range) && (this.lastSeenTimer >= 20)) { this.entityMyPet.getPetNavigation().getParameters().removeSpeedModifier("RangedAttack"); this.entityMyPet.getPetNavigation().stop(); } else { this.entityMyPet.getPetNavigation().getParameters().addSpeedModifier("RangedAttack", walkSpeedModifier); this.entityMyPet.getPetNavigation().navigateTo(this.target.getBukkitEntity().getLocation()); } this.entityMyPet.getControllerLook().a(this.target, 30.0F, 30.0F); if (--this.shootTimer <= 0) { if (distanceToTarget < this.range && canSee) { shootProjectile(this.target, (float) myPet.getRangedDamage(), getProjectile()); Ranged rangedSkill = myPet.getSkills().get(Ranged.class); this.shootTimer = rangedSkill.getRateOfFire().getValue(); } } }
@Override public boolean shouldStart() { if (myPet.getDamage() <= 0 && myPet.getRangedDamage() <= 0) { return false;
return false; if (myPet.getDamage() <= 0 && myPet.getRangedDamage() <= 0) { return false;
return false; if (myPet.getDamage() <= 0 && myPet.getRangedDamage() <= 0) { return false;
return false; if (myPet.getDamage() <= 0 && myPet.getRangedDamage() <= 0) { return false;