Chicken converted to Google Sheets

This commit is contained in:
Sam 2017-04-25 19:33:00 +01:00
parent af25aa0b00
commit 7f1b1d72b9
5 changed files with 58 additions and 34 deletions

View File

@ -25,8 +25,8 @@ public class KitChicken extends SmashKit
{ {
private static final Perk[] PERKS = { private static final Perk[] PERKS = {
new PerkSmashStats(4.5, 2.0, 0.2, 2), new PerkSmashStats(),
new PerkFlap(0.8, 0.8, false), new PerkFlap(),
new PerkEggGun(), new PerkEggGun(),
new PerkChickenRocket(), new PerkChickenRocket(),
new SmashChicken() new SmashChicken()

View File

@ -44,12 +44,12 @@ import nautilus.game.arcade.kit.perks.data.ChickenMissileData;
public class PerkChickenRocket extends SmashPerk public class PerkChickenRocket extends SmashPerk
{ {
private static final int COOLDOWN = 7000; private int _cooldown;
private static final int MIN_TIME = 200; private int _minTime;
private static final int MAX_TIME = 4000; private int _maxTime;
private static final int HIT_BOX_RADIUS = 2; private int _hitBoxRadius;
private static final int DAMAGE_RADIUS = 3; private int _damageRadius;
private static final int DAMAGE = 8; private int _damage;
private Set<ChickenMissileData> _data = new HashSet<>(); private Set<ChickenMissileData> _data = new HashSet<>();
@ -59,6 +59,17 @@ public class PerkChickenRocket extends SmashPerk
+ " instantly recharges if you hit a player." }); + " instantly recharges if you hit a player." });
} }
@Override
public void setupValues()
{
_cooldown = getPerkTime("Cooldown");
_minTime = getPerkInt("Min Time (ms)");
_maxTime = getPerkTime("Max Time (ms)");
_hitBoxRadius = getPerkInt("Hit Box Radius");
_damageRadius = getPerkInt("Damage Radius");
_damage = getPerkInt("Damage");
}
@EventHandler @EventHandler
public void Missile(PlayerInteractEvent event) public void Missile(PlayerInteractEvent event)
{ {
@ -94,7 +105,7 @@ public class PerkChickenRocket extends SmashPerk
return; return;
} }
if (!Recharge.Instance.use(player, GetName(), COOLDOWN, true, true)) if (!Recharge.Instance.use(player, GetName(), _cooldown, true, true))
{ {
return; return;
} }
@ -131,14 +142,14 @@ public class PerkChickenRocket extends SmashPerk
data.Chicken.setVelocity(data.Direction); data.Chicken.setVelocity(data.Direction);
data.Chicken.getWorld().playSound(data.Chicken.getLocation(), Sound.CHICKEN_HURT, 0.3f, 1.5f); data.Chicken.getWorld().playSound(data.Chicken.getLocation(), Sound.CHICKEN_HURT, 0.3f, 1.5f);
if (!UtilTime.elapsed(data.Time, MIN_TIME)) if (!UtilTime.elapsed(data.Time, _minTime))
{ {
continue; continue;
} }
boolean detonate = false; boolean detonate = false;
if (UtilTime.elapsed(data.Time, MAX_TIME)) if (UtilTime.elapsed(data.Time, _maxTime))
{ {
detonate = true; detonate = true;
} }
@ -146,7 +157,7 @@ public class PerkChickenRocket extends SmashPerk
{ {
List<Player> team = TeamSuperSmash.getTeam(Manager, data.Player, true); List<Player> team = TeamSuperSmash.getTeam(Manager, data.Player, true);
// Hit Entity // Hit Entity
for (Entity ent : UtilEnt.getInRadius(data.Chicken.getLocation(), HIT_BOX_RADIUS).keySet()) for (Entity ent : UtilEnt.getInRadius(data.Chicken.getLocation(), _hitBoxRadius).keySet())
{ {
if (ent instanceof Arrow) if (ent instanceof Arrow)
{ {
@ -192,7 +203,7 @@ public class PerkChickenRocket extends SmashPerk
{ {
List<Player> team = TeamSuperSmash.getTeam(Manager, data.Player, true); List<Player> team = TeamSuperSmash.getTeam(Manager, data.Player, true);
// Damage // Damage
for (LivingEntity ent : UtilEnt.getInRadius(data.Chicken.getLocation(), DAMAGE_RADIUS).keySet()) for (LivingEntity ent : UtilEnt.getInRadius(data.Chicken.getLocation(), _damageRadius).keySet())
{ {
if (ent.equals(data.Player)) if (ent.equals(data.Player))
{ {
@ -212,7 +223,7 @@ public class PerkChickenRocket extends SmashPerk
} }
// Damage Event // Damage Event
Manager.GetDamage().NewDamageEvent(ent, data.Player, null, DamageCause.PROJECTILE, DAMAGE, false, true, false, data.Player.getName(), GetName()); Manager.GetDamage().NewDamageEvent(ent, data.Player, null, DamageCause.PROJECTILE, _damage, false, true, false, data.Player.getName(), GetName());
UtilAction.velocity(ent, UtilAlg.getTrajectory2d(data.Chicken, ent), 1.6, true, 0.8, 0, 10, true); UtilAction.velocity(ent, UtilAlg.getTrajectory2d(data.Chicken, ent), 1.6, true, 0.8, 0, 10, true);
} }

View File

@ -33,9 +33,9 @@ import nautilus.game.arcade.game.games.smash.perks.SmashPerk;
public class PerkEggGun extends SmashPerk public class PerkEggGun extends SmashPerk
{ {
private static final int COOLDOWN = 2500; private int _cooldown;
private static final int DURATION = 750; private int _duration;
private static final int DAMAGE = 1; private int _damage;
private Map<UUID, Long> _active = new HashMap<>(); private Map<UUID, Long> _active = new HashMap<>();
@ -44,6 +44,14 @@ public class PerkEggGun extends SmashPerk
super("Egg Blaster", new String[] { C.cYellow + "Hold Block" + C.cGray + " to use " + C.cGreen + "Egg Blaster" }); super("Egg Blaster", new String[] { C.cYellow + "Hold Block" + C.cGray + " to use " + C.cGreen + "Egg Blaster" });
} }
@Override
public void setupValues()
{
_cooldown = getPerkInt("Cooldown (ms)");
_duration = getPerkInt("Duration (ms)");
_damage = getPerkInt("Damage");
}
@EventHandler @EventHandler
public void Activate(PlayerInteractEvent event) public void Activate(PlayerInteractEvent event)
{ {
@ -79,7 +87,7 @@ public class PerkEggGun extends SmashPerk
return; return;
} }
if (!Recharge.Instance.use(player, GetName(), COOLDOWN, true, true)) if (!Recharge.Instance.use(player, GetName(), _cooldown, true, true))
{ {
return; return;
} }
@ -114,7 +122,7 @@ public class PerkEggGun extends SmashPerk
continue; continue;
} }
if (UtilTime.elapsed(_active.get(key), DURATION)) if (UtilTime.elapsed(_active.get(key), _duration))
{ {
_active.remove(key); _active.remove(key);
continue; continue;
@ -150,7 +158,7 @@ public class PerkEggGun extends SmashPerk
return; return;
} }
if (event.GetDamage() >= DAMAGE) if (event.GetDamage() >= _damage)
{ {
return; return;
} }
@ -160,7 +168,7 @@ public class PerkEggGun extends SmashPerk
Egg egg = (Egg) event.GetProjectile(); Egg egg = (Egg) event.GetProjectile();
// Damage Event // Damage Event
Manager.GetDamage().NewDamageEvent(event.GetDamageeEntity(), (LivingEntity) egg.getShooter(), egg, DamageCause.PROJECTILE, DAMAGE, true, true, false, UtilEnt.getName((LivingEntity) egg Manager.GetDamage().NewDamageEvent(event.GetDamageeEntity(), (LivingEntity) egg.getShooter(), egg, DamageCause.PROJECTILE, _damage, true, true, false, UtilEnt.getName((LivingEntity) egg
.getShooter()), GetName()); .getShooter()), GetName());
UtilAction.zeroVelocity(event.GetDamageeEntity()); UtilAction.zeroVelocity(event.GetDamageeEntity());

View File

@ -21,19 +21,26 @@ public class PerkFlap extends SmashPerk
{ {
private static final float MAX_ENERGY = 0.999F; private static final float MAX_ENERGY = 0.999F;
private static final float ENERGY_PER_TICK = 0.03F;
private static final float ENERGY_PER_FLAP = 0.17F; private int _cooldown;
private static final int COOLDOWN = 80; private float _energyPerTick;
private float _energyPerFlap;
private double _power; private double _power;
private boolean _control; private boolean _control;
public PerkFlap(double power, double heightLimit, boolean control) public PerkFlap()
{ {
super("Flap", new String[] { C.cYellow + "Tap Jump Twice" + C.cGray + " to " + C.cGreen + "Flap" }); super("Flap", new String[] { C.cYellow + "Tap Jump Twice" + C.cGray + " to " + C.cGreen + "Flap" });
}
_power = power; @Override
_control = control; public void setupValues()
{
_cooldown = getPerkTime("Cooldown (ms)");
_energyPerTick = getPerkFloat("Energy Per Tick");
_energyPerFlap = getPerkFloat("Energy Per Flap");
_power = getPerkDouble("Power");
_control = getPerkBoolean("Control");
} }
@EventHandler @EventHandler
@ -78,12 +85,12 @@ public class PerkFlap extends SmashPerk
player.getWorld().playSound(player.getLocation(), Sound.BAT_TAKEOFF, (float) (0.3 + player.getExp()), (float) (Math.random() / 2 + 1)); player.getWorld().playSound(player.getLocation(), Sound.BAT_TAKEOFF, (float) (0.3 + player.getExp()), (float) (Math.random() / 2 + 1));
// Set Recharge // Set Recharge
Recharge.Instance.use(player, GetName(), COOLDOWN, false, false); Recharge.Instance.use(player, GetName(), _cooldown, false, false);
// Energy // Energy
if (!isSuperActive(player)) if (!isSuperActive(player))
{ {
player.setExp(Math.max(0f, player.getExp() - ENERGY_PER_FLAP)); player.setExp(Math.max(0f, player.getExp() - _energyPerFlap));
} }
} }
@ -109,7 +116,7 @@ public class PerkFlap extends SmashPerk
if (UtilEnt.isGrounded(player) || UtilBlock.solid(player.getLocation().subtract(0, 2, 0).getBlock())) if (UtilEnt.isGrounded(player) || UtilBlock.solid(player.getLocation().subtract(0, 2, 0).getBlock()))
{ {
player.setExp(Math.min(MAX_ENERGY, player.getExp() + ENERGY_PER_TICK)); player.setExp(Math.min(MAX_ENERGY, player.getExp() + _energyPerTick));
player.setAllowFlight(true); player.setAllowFlight(true);
} }
else if (Recharge.Instance.usable(player, GetName()) && player.getExp() > 0) else if (Recharge.Instance.usable(player, GetName()) && player.getExp() > 0)

View File

@ -9,11 +9,9 @@ import nautilus.game.arcade.game.games.smash.perks.SmashUltimate;
public class SmashChicken extends SmashUltimate public class SmashChicken extends SmashUltimate
{ {
private static final int DURATION = 20000;
public SmashChicken() public SmashChicken()
{ {
super("Aerial Gunner", new String[] {}, Sound.CHICKEN_IDLE, DURATION); super("Aerial Gunner", new String[] {}, Sound.CHICKEN_IDLE, 0);
} }
/** /**