/*******************************************************************************
* Copyright (c) 2014, 2015 Scott Clarke (scott@dawg6.com).
*
* This file is part of Dawg6's Demon Hunter DPS Calculator.
*
* Dawg6's Demon Hunter DPS Calculator is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Dawg6's Demon Hunter DPS Calculator is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*******************************************************************************/
package com.dawg6.web.dhcalc.shared.calculator;
import java.io.Serializable;
public class TargetHolder implements Serializable {
private static final long serialVersionUID = -2384448071033486526L;
private TargetType targetType;
private MonsterType monsterType;
private long currentHp;
private long maxHp;
private int botsStacks;
private double nextBots;
private boolean impaled;
public TargetHolder() {
botsStacks = 0;
nextBots = 0.0;
}
public TargetType getTargetType() {
return targetType;
}
public void setTargetType(TargetType targetType) {
this.targetType = targetType;
}
public MonsterType getMonsterType() {
return monsterType;
}
public void setMonsterType(MonsterType monsterType) {
this.monsterType = monsterType;
}
public long getCurrentHp() {
return currentHp;
}
public void setCurrentHp(long currentHp) {
this.currentHp = currentHp;
}
public long getMaxHp() {
return maxHp;
}
public void setMaxHp(long maxHp) {
this.maxHp = maxHp;
}
public boolean isAlive() {
return currentHp > 0;
}
public double getPercentHealth() {
return (double)currentHp / (double)maxHp;
}
public double applyDamage(double damage) {
double d = Math.min(currentHp, damage);
currentHp -= d;
return d;
}
public int getBotsStacks() {
return botsStacks;
}
public void setBotsStacks(int botsStacks) {
this.botsStacks = botsStacks;
}
public double getNextBots() {
return nextBots;
}
public void setNextBots(double nextBots) {
this.nextBots = nextBots;
}
public boolean isImpaled() {
return impaled;
}
public void setImpaled(boolean impaled) {
this.impaled = impaled;
}
}