summaryrefslogtreecommitdiff
path: root/app/controllers/characters/items_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/characters/items_controller.rb')
-rw-r--r--app/controllers/characters/items_controller.rb21
1 files changed, 20 insertions, 1 deletions
diff --git a/app/controllers/characters/items_controller.rb b/app/controllers/characters/items_controller.rb
index e1a30f8..8df23c8 100644
--- a/app/controllers/characters/items_controller.rb
+++ b/app/controllers/characters/items_controller.rb
@@ -1,5 +1,24 @@
class Characters::ItemsController < ApplicationController
def index
- @character_items = Character.find(params[:character_id]).character_items
+ @character = Character.find(params[:character_id])
+ end
+
+ def equip
+ @item = Item.find(params[:item_id])
+ current_char.equip(@item)
+ flash[:notice] = "Equipped #{@item.name}."
+ rescue EquipmentError
+ flash[:alert] = "Couldn't equip #{@item.name}."
+ ensure
+ redirect_to character_items_path(current_char)
+ end
+
+ def unequip
+ current_char.unequip(params[:slot].to_sym)
+ flash[:notice] = "Unequipped item."
+ rescue EquipmentError
+ flash[:alert] = "Couldn't unequip item."
+ ensure
+ redirect_to character_items_path(current_char)
end
end