package com.rebelkeithy.ftl.projectile;
import java.util.HashMap;
import java.util.Map;
import com.rebelkeithy.ftl.FTLGame;
public class Bomb extends Shot
{
private String target;
private String room;
private String source;
private Map<String, Integer> damages;
private double countdown = 1;
private boolean dead = false;
public Bomb(String target, String room, String source)
{
this.target = target;
this.room = room;
this.source = source;
damages = new HashMap<String, Integer>();
}
public Bomb addDamage(String damage, int amount)
{
damages.put(damage, amount);
return this;
}
public boolean causesDamage(String damage)
{
return damages.containsKey(damage);
}
public int getDamage(String damage)
{
return damages.get(damage);
}
@Override
public void update(double dt)
{
countdown -= dt;
if(countdown < 0)
explode();
}
public void explode()
{
System.out.println("Explosion!");
FTLGame.instance().getShip(target).getRoom(room).damage(this);
kill();
}
@Override
public boolean isDead()
{
return dead;
}
public void kill()
{
dead = true;
}
public String getSource()
{
return source;
}
}