package com.bernard.greposimu.model;

public class OffDefStats {
	double att_hack;
	double att_pierce;
	double att_distance;
	double ship_attack;
	double def_hack;
	double def_pierce;
	double def_distance;
	double ship_defense;
	
	
	
	public OffDefStats(double attqCont, double attqBlan, double attqJet, double attqNav, double defCont, double defBlan,
			double defJet, double defNav) {
		this.att_hack = attqCont;
		this.att_pierce = attqBlan;
		this.att_distance = attqJet;
		this.ship_attack = attqNav;
		this.def_hack = defCont;
		this.def_pierce = defBlan;
		this.def_distance = defJet;
		this.ship_defense = defNav;
	}

	public static final OffDefStats zero = new OffDefStats(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
	
	public OffDefStats plus(OffDefStats other) {
		return new OffDefStats(
			this.att_hack + other.att_hack,
			this.att_pierce + other.att_pierce,
			this.att_distance  + other.att_distance ,
			this.ship_attack  + other.ship_attack ,
			this.def_hack  + other.def_hack ,
			this.def_pierce  + other.def_pierce ,
			this.def_distance   + other.def_distance  ,
			this.ship_defense   + other.ship_defense  
		);
	}
	
	public OffDefStats prod(OffDefStats other) {
		return new OffDefStats(
			this.att_hack * other.att_hack,
			this.att_pierce * other.att_pierce,
			this.att_distance  * other.att_distance ,
			this.ship_attack  * other.ship_attack ,
			this.def_hack  * other.def_hack ,
			this.def_pierce  * other.def_pierce ,
			this.def_distance   * other.def_distance  ,
			this.ship_defense   * other.ship_defense  
		);
	}
	
	public OffDefStats times(int factor) {
		return new OffDefStats(
			this.att_hack * factor,
			this.att_pierce * factor,
			this.att_distance  * factor,
			this.ship_attack  * factor,
			this.def_hack  * factor,
			this.def_pierce  * factor,
			this.def_distance   * factor,
			this.ship_defense   * factor  
		);
	}
	public OffDefStats div(int factor) {
		return new OffDefStats(
			this.att_hack / factor,
			this.att_pierce / factor,
			this.att_distance  / factor,
			this.ship_attack  / factor,
			this.def_hack  / factor,
			this.def_pierce  / factor,
			this.def_distance   / factor,
			this.ship_defense   / factor  
		);
	}

	public double getAttqCont() {
		return att_hack;
	}

	public void setAttqCont(double attqCont) {
		this.att_hack = attqCont;
	}

	public double getAttqBlan() {
		return att_pierce;
	}

	public void setAttqBlan(double attqBlan) {
		this.att_pierce = attqBlan;
	}

	public double getAttqJet() {
		return att_distance;
	}

	public void setAttqJet(double attqJet) {
		this.att_distance = attqJet;
	}

	public double getAttqNav() {
		return ship_attack;
	}

	public void setAttqNav(double attqNav) {
		this.ship_attack = attqNav;
	}

	public double getDefCont() {
		return def_hack;
	}

	public void setDefCont(double defCont) {
		this.def_hack = defCont;
	}

	public double getDefBlan() {
		return def_pierce;
	}

	public void setDefBlan(double defBlan) {
		this.def_pierce = defBlan;
	}

	public double getDefJet() {
		return def_distance;
	}

	public void setDefJet(double defJet) {
		this.def_distance = defJet;
	}

	public double getDefNav() {
		return ship_defense;
	}

	public void setDefNav(double defNav) {
		this.ship_defense = defNav;
	}

	public double getAtt_hack() {
		return att_hack;
	}

	public double getAtt_pierce() {
		return att_pierce;
	}

	public double getAtt_distance() {
		return att_distance;
	}

	public double getShip_attack() {
		return ship_attack;
	}

	public double getDef_hack() {
		return def_hack;
	}

	public double getDef_pierce() {
		return def_pierce;
	}

	public double getDef_distance() {
		return def_distance;
	}

	public double getShip_defense() {
		return ship_defense;
	}

	public static OffDefStats getZero() {
		return zero;
	}
	
	
	
}
