Class: PfrpgCore::Inventory
- Inherits:
-
Object
- Object
- PfrpgCore::Inventory
- Defined in:
- lib/pfrpg_core/inventory.rb
Instance Attribute Summary collapse
-
#equipment ⇒ Object
readonly
Returns the value of attribute equipment.
-
#inventory ⇒ Object
readonly
Returns the value of attribute inventory.
Instance Method Summary collapse
- #ac_penalty(bonuses = Bonuses.new) ⇒ Object
- #armor_and_shield ⇒ Object
- #as_json(options = {}) ⇒ Object
- #equipped_armor ⇒ Object
- #equipped_defensive ⇒ Object
-
#equipped_weapons(levels = []) ⇒ Object
monk is obnoxious.
- #get_armor_ac ⇒ Object
- #get_shield_ac ⇒ Object
-
#initialize(equipment, inventory) ⇒ Inventory
constructor
A new instance of Inventory.
- #unarmed_strike(monk_level) ⇒ Object
Constructor Details
#initialize(equipment, inventory) ⇒ Inventory
Returns a new instance of Inventory.
4 5 6 7 |
# File 'lib/pfrpg_core/inventory.rb', line 4 def initialize(equipment, inventory) @equipment = equipment @inventory = inventory end |
Instance Attribute Details
#equipment ⇒ Object (readonly)
Returns the value of attribute equipment.
3 4 5 |
# File 'lib/pfrpg_core/inventory.rb', line 3 def equipment @equipment end |
#inventory ⇒ Object (readonly)
Returns the value of attribute inventory.
3 4 5 |
# File 'lib/pfrpg_core/inventory.rb', line 3 def inventory @inventory end |
Instance Method Details
#ac_penalty(bonuses = Bonuses.new) ⇒ Object
45 46 47 48 49 50 51 52 53 |
# File 'lib/pfrpg_core/inventory.rb', line 45 def ac_penalty(bonuses = Bonuses.new) ac_penalty = 0 equipment.each do |e| ac_penalty += NullObject.maybe(e.armor_check_penalty).to_i end ac_penalty += bonuses.get("ac_penalty").to_i ac_penalty = 0 if ac_penalty > 0 ac_penalty end |
#armor_and_shield ⇒ Object
26 27 28 29 30 31 |
# File 'lib/pfrpg_core/inventory.rb', line 26 def armor_and_shield e = [ equipped_armor ] e << equipment.find { |x| x.slot == 'shield' } e.delete_if { |x| x == nil } e end |
#as_json(options = {}) ⇒ Object
55 56 57 58 59 60 |
# File 'lib/pfrpg_core/inventory.rb', line 55 def as_json(={}) { equipment: get_equipment, inventory: get_inventory } end |
#equipped_armor ⇒ Object
22 23 24 |
# File 'lib/pfrpg_core/inventory.rb', line 22 def equipped_armor equipment.find { |x| x.slot == 'armor' } end |
#equipped_defensive ⇒ Object
18 19 20 |
# File 'lib/pfrpg_core/inventory.rb', line 18 def equipped_defensive equipment.select { |x| x.ac_bonus != nil } end |
#equipped_weapons(levels = []) ⇒ Object
monk is obnoxious
34 35 36 37 38 39 |
# File 'lib/pfrpg_core/inventory.rb', line 34 def equipped_weapons(levels = []) weapons = equipment.select { |x| x.type == 'Weapon' || x.type == 'MagicWeapon' } monk = levels.find { |x| x.classname == 'Monk' } weapons << unarmed_strike(monk.rank) if (monk != nil && weapons.empty?) return weapons end |
#get_armor_ac ⇒ Object
9 10 11 |
# File 'lib/pfrpg_core/inventory.rb', line 9 def get_armor_ac equipped_armor.nil? ? 0 : equipped_armor.ac_bonus end |
#get_shield_ac ⇒ Object
13 14 15 16 |
# File 'lib/pfrpg_core/inventory.rb', line 13 def get_shield_ac shield = equipment.find { |x| x.slot == 'shield' } shield.nil? ? 0 : shield.ac_bonus end |
#unarmed_strike(monk_level) ⇒ Object
41 42 43 |
# File 'lib/pfrpg_core/inventory.rb', line 41 def unarmed_strike(monk_level) PfrpgClasses::Heroclass.by_name('Monk').get_unarmed_weapon(monk_level) end |