From a0f1ade4ce272691c10c11f1d3afc9807035fb5a Mon Sep 17 00:00:00 2001 From: Chris Kearney <chris@kearneymail.com> Date: Wed, 25 Nov 2015 21:18:19 -0800 Subject: [PATCH] this should make blazecrafts changes work --- .../com/comandante/creeper/ConfigureNpc.java | 1 + .../creeper/Items/ItemUseRegistry.java | 3 +- .../Items/use/ResetAllEffectsUseAction.java | 51 +++++++++++++++++++ world/6May2015-7PM | 0 4 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/comandante/creeper/Items/use/ResetAllEffectsUseAction.java mode change 100755 => 100644 world/6May2015-7PM diff --git a/src/main/java/com/comandante/creeper/ConfigureNpc.java b/src/main/java/com/comandante/creeper/ConfigureNpc.java index b7beab8a..7799e9af 100755 --- a/src/main/java/com/comandante/creeper/ConfigureNpc.java +++ b/src/main/java/com/comandante/creeper/ConfigureNpc.java @@ -445,5 +445,6 @@ public class ConfigureNpc { SpellRegistry.addSpell(new ClumsinessSpell(gameManager)); SpellRegistry.addSpell(new RestoreSpell(gameManager)); SpellRegistry.addSpell(new AidsSpell(gameManager)); + SpellRegistry.addSpell(new FreezeSpell(gameManager)); } } diff --git a/src/main/java/com/comandante/creeper/Items/ItemUseRegistry.java b/src/main/java/com/comandante/creeper/Items/ItemUseRegistry.java index 716bb60d..50c68150 100644 --- a/src/main/java/com/comandante/creeper/Items/ItemUseRegistry.java +++ b/src/main/java/com/comandante/creeper/Items/ItemUseRegistry.java @@ -2,6 +2,7 @@ package com.comandante.creeper.Items; import com.comandante.creeper.Items.use.DefaultApplyStatsAction; import com.comandante.creeper.Items.use.DirtyBombUseAction; +import com.comandante.creeper.Items.use.ResetAllEffectsUseAction; import com.comandante.creeper.managers.GameManager; import com.comandante.creeper.player.Player; import com.comandante.creeper.spells.Effect; @@ -43,7 +44,7 @@ public class ItemUseRegistry { addItemUseAction(new DefaultApplyStatsAction(ItemType.DOGDICKS, buildStats(500,500), Sets.<Effect>newHashSet())); //Mithaem Leaf - addItemUseAction(new DefaultApplyStatsAction(ItemType.MITHAEM_LEAF, buildStats(0,0), resetEffects())); + addItemUseAction(new ResetAllEffectsUseAction(ItemType.MITHAEM_LEAF)); //Dirty Bomb addItemUseAction(new DirtyBombUseAction(ItemType.DIRTY_BOMB)); diff --git a/src/main/java/com/comandante/creeper/Items/use/ResetAllEffectsUseAction.java b/src/main/java/com/comandante/creeper/Items/use/ResetAllEffectsUseAction.java new file mode 100644 index 00000000..eb610a27 --- /dev/null +++ b/src/main/java/com/comandante/creeper/Items/use/ResetAllEffectsUseAction.java @@ -0,0 +1,51 @@ +package com.comandante.creeper.Items.use; + +import com.comandante.creeper.Items.Item; +import com.comandante.creeper.Items.ItemType; +import com.comandante.creeper.Items.ItemUseAction; +import com.comandante.creeper.Items.ItemUseRegistry; +import com.comandante.creeper.managers.GameManager; +import com.comandante.creeper.player.Player; +import com.comandante.creeper.spells.Effect; + +import java.util.Set; + +public class ResetAllEffectsUseAction implements ItemUseAction { + + private final ItemType itemType; + + public ResetAllEffectsUseAction(ItemType itemType) { + this.itemType = itemType; + } + + @Override + public Integer getItemTypeId() { + return itemType.getItemTypeCode(); + } + + + @Override + public void executeAction(GameManager gameManager, Player player, Item item) { + player.resetEffects(); + gameManager.getChannelUtils().write(player.getPlayerId(), "All Effects are removed." + "\r\n"); + } + + @Override + public void postExecuteAction(GameManager gameManager, Player player, Item item) { + ItemUseRegistry.incrementUses(item); + if (ItemType.itemTypeFromCode(item.getItemTypeId()).isDisposable()) { + if (item.getNumberOfUses() < ItemType.itemTypeFromCode(item.getItemTypeId()).getMaxUses()) { + gameManager.getEntityManager().saveItem(item); + } else { + player.removeInventoryId(item.getItemId()); + gameManager.getEntityManager().removeItem(item); + } + } + } + + @Override + public Set<Effect> getEffects() { + return null; + } + +} diff --git a/world/6May2015-7PM b/world/6May2015-7PM old mode 100755 new mode 100644 -- GitLab