Fixing attack damage.

This commit is contained in:
Sarah 2015-11-24 16:15:07 +01:00
parent 49f6679537
commit 7708f879dc
2 changed files with 54 additions and 42 deletions

View File

@ -371,35 +371,44 @@ public class TypeWars extends TeamGame
};
@EventHandler
public void test(PlayerCommandPreprocessEvent event)
{
if(!event.getMessage().contains("/Boss"))
return;
public void testCommands(PlayerCommandPreprocessEvent event)
{
if(GetState() != GameState.Live)
return;
if(!Manager.GetClients().Get(event.getPlayer()).GetRank().has(event.getPlayer(), Rank.DEVELOPER, true))
return;
event.setCancelled(true);
if(!IsPlaying(event.getPlayer()))
return;
GameTeam teams = GetTeam(event.getPlayer());
for(GameTeam team : GetTeamList())
if(event.getMessage().contains("/Money"))
{
if(team == teams)
continue;
int rdm = UtilMath.r(_minionSpawns.get(teams).size());
this.CreatureAllowOverride = true;
Minion minion = new Minion(Manager, _minionSpawns.get(teams).get(rdm), _minionSpawns.get(team).get(rdm), teams, event.getPlayer(), true, MinionSize.BOSS.getRandomType(), rdm);
_activeMinions.add(minion);
this.CreatureAllowOverride = false;
UtilPlayer.message(event.getPlayer(), F.main("Boss", "You have spawned a Boss"));
_moneyMap.put(event.getPlayer(), 1000);
UtilPlayer.message(event.getPlayer(), F.main("Money", "You got some Money"));
event.setCancelled(true);
return;
}
if(event.getMessage().contains("/Boss"))
{
if(!IsPlaying(event.getPlayer()))
return;
event.setCancelled(true);
GameTeam teams = GetTeam(event.getPlayer());
for(GameTeam team : GetTeamList())
{
if(team == teams)
continue;
int rdm = UtilMath.r(_minionSpawns.get(teams).size());
this.CreatureAllowOverride = true;
Minion minion = new Minion(Manager, _minionSpawns.get(teams).get(rdm), _minionSpawns.get(team).get(rdm), teams, event.getPlayer(), true, MinionSize.BOSS.getRandomType(), rdm);
_activeMinions.add(minion);
this.CreatureAllowOverride = false;
UtilPlayer.message(event.getPlayer(), F.main("Boss", "You have spawned a Boss"));
}
}
}
@EventHandler
@ -562,7 +571,8 @@ public class TypeWars extends TeamGame
}
else
{
_finishedMinions.add(minion);
if(!_finishedMinions.contains(minion))
_finishedMinions.add(minion);
}
}
}
@ -635,29 +645,28 @@ public class TypeWars extends TeamGame
if(event.getType() != UpdateType.SEC)
return;
HashMap<GameTeam, Integer> minions = new HashMap<>();
for(Minion minion : _finishedMinions)
{
if(minion.getEntity().isDead())
continue;
if(!minions.containsKey(minion.getTeam()))
{
minions.put(minion.getTeam(), 1);
continue;
}
int i = minions.get(minion.getTeam());
minions.put(minion.getTeam(), i + 1);
}
for(GameTeam team : _giants.keySet())
{
for(GameTeam otherTeam : minions.keySet())
int damage = 0;
for(Minion minion : _finishedMinions)
{
if(minion.getTeam() == team)
continue;
if(minion.getEntity().isDead())
continue;
damage++;
}
if(damage == 0)
continue;
for(GameTeam otherTeam : GetTeamList())
{
if(team != otherTeam)
{
_giants.get(team).getWorld().playSound(_giants.get(team).getEyeLocation(), Sound.ZOMBIE_HURT, 100, 1);
if(minions.containsKey(otherTeam))
_giants.get(team).damage(minions.get(otherTeam));
_giants.get(team).damage(damage);
}
}
if(_giantsAttacked.containsKey(team))
@ -670,7 +679,7 @@ public class TypeWars extends TeamGame
{
if(GetTeam(player) == team)
{
UtilTextMiddle.display("", "Your giant is under Attack!", player);
UtilTextMiddle.display("", "Your giant is under Attack!", 0, 30, 9, player);
}
}
}

View File

@ -69,8 +69,11 @@ public class PerfectionistStatTracker extends StatTracker<TypeWars>
{
if(player.isOnline())
{
if(_playerWords.get(player) >= 5)
addStat(player, "Perfectionist", 1, true, false);
if(_playerWords.containsKey(player))
{
if(_playerWords.get(player) >= 5)
addStat(player, "Perfectionist", 1, true, false);
}
}
}
}