Fixed rewards and finishing a dungeon

This commit is contained in:
Daniel Saukel 2016-01-14 18:46:27 +01:00
parent d7e4c09599
commit 8847809c20
2 changed files with 23 additions and 19 deletions

View File

@ -49,27 +49,27 @@ public class GameChest {
return;
}
boolean hasMoneyReward = false;
for (Reward reward : dGroup.getRewards()) {
if (reward instanceof MoneyReward) {
hasMoneyReward = true;
((MoneyReward) reward).addMoney(moneyReward);
}
}
if ( !hasMoneyReward) {
Reward reward = Reward.create(RewardTypeDefault.MONEY);
((MoneyReward) reward).addMoney(moneyReward);
dGroup.addReward(reward);
}
for (Player player : dGroup.getPlayers()) {
DPlayer dPlayer = DPlayer.getByPlayer(player);
if (dPlayer == null) {
continue;
}
boolean hasMoneyReward = false;
for (Reward reward : dGroup.getRewards()) {
if (reward instanceof MoneyReward) {
hasMoneyReward = true;
((MoneyReward) reward).addMoney(moneyReward);
}
}
if ( !hasMoneyReward) {
Reward reward = Reward.create(RewardTypeDefault.MONEY);
((MoneyReward) reward).addMoney(moneyReward);
dGroup.addReward(reward);
}
String msg = "";
for (ItemStack itemStack : chest.getInventory().getContents()) {

View File

@ -367,6 +367,10 @@ public class DPlayer {
return;
}
if (hasToWait) {
return;
}
DGroupFinishDungeonEvent dGroupFinishDungeonEvent = new DGroupFinishDungeonEvent(dGroup);
if (dGroupFinishDungeonEvent.isCancelled()) {
@ -376,10 +380,10 @@ public class DPlayer {
for (Player player : dGroup.getPlayers()) {
DPlayer dPlayer = getByPlayer(player);
dPlayer.leave();
}
for (Reward reward : dGroup.getRewards()) {
reward.giveTo(player);
for (Reward reward : dGroup.getRewards()) {
reward.giveTo(player);
}
}
}