Class: PfrpgCore::Item

Inherits:
Object
  • Object
show all
Includes:
PfrpgUtility::Affectable
Defined in:
lib/pfrpg_core/item.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(item, equipped) ⇒ Item

Returns a new instance of Item.



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/pfrpg_core/item.rb', line 10

def initialize(item, equipped)
  @name = item[:name]
  @description = item[:description]
  @slot = item[:slot]
  @type = item[:type]
  @effects = item[:effects]
  @cost = item[:cost]
  @dmg_m = item[:dmg_m]
  @dmg_s = item[:dmg_s]
  @critical_range = item[:critical_range]
  @critical_dmg = item[:critical_dmg]
  @range = item[:range]
  @weight = item[:weight]
  @dmg_type = item[:dmg_type]
  @special = item[:special]
  @source = item[:source]
  @weapon_type = item[:weapon_type]
  @weight_class = item[:weight_class]
  @ac_bonus = item[:ac_bonus]
  @max_dex_bonus = item[:max_dex_bonus]
  @armor_check_penalty = item[:armor_check_penalty]
  @arcane_spell_failure_chance = item[:arcane_spell_failure_chance]
  @speed_twenty = item[:speed_twenty]
  @speed_thirty = item[:speed_thirty]
  @equipped = equipped
end

Instance Attribute Details

#ac_bonusObject (readonly)

Returns the value of attribute ac_bonus.



4
5
6
# File 'lib/pfrpg_core/item.rb', line 4

def ac_bonus
  @ac_bonus
end

#arcane_spell_failure_chanceObject (readonly)

Returns the value of attribute arcane_spell_failure_chance.



4
5
6
# File 'lib/pfrpg_core/item.rb', line 4

def arcane_spell_failure_chance
  @arcane_spell_failure_chance
end

#armor_check_penaltyObject (readonly)

Returns the value of attribute armor_check_penalty.



4
5
6
# File 'lib/pfrpg_core/item.rb', line 4

def armor_check_penalty
  @armor_check_penalty
end

#costObject (readonly)

Returns the value of attribute cost.



4
5
6
# File 'lib/pfrpg_core/item.rb', line 4

def cost
  @cost
end

#critical_dmgObject (readonly)

Returns the value of attribute critical_dmg.



4
5
6
# File 'lib/pfrpg_core/item.rb', line 4

def critical_dmg
  @critical_dmg
end

#critical_rangeObject (readonly)

Returns the value of attribute critical_range.



4
5
6
# File 'lib/pfrpg_core/item.rb', line 4

def critical_range
  @critical_range
end

#descriptionObject (readonly)

Returns the value of attribute description.



4
5
6
# File 'lib/pfrpg_core/item.rb', line 4

def description
  @description
end

#dmg_mObject (readonly)

Returns the value of attribute dmg_m.



4
5
6
# File 'lib/pfrpg_core/item.rb', line 4

def dmg_m
  @dmg_m
end

#dmg_sObject (readonly)

Returns the value of attribute dmg_s.



4
5
6
# File 'lib/pfrpg_core/item.rb', line 4

def dmg_s
  @dmg_s
end

#dmg_typeObject (readonly)

Returns the value of attribute dmg_type.



4
5
6
# File 'lib/pfrpg_core/item.rb', line 4

def dmg_type
  @dmg_type
end

#effectsObject (readonly)

Returns the value of attribute effects.



4
5
6
# File 'lib/pfrpg_core/item.rb', line 4

def effects
  @effects
end

#equippedObject (readonly)

Returns the value of attribute equipped.



4
5
6
# File 'lib/pfrpg_core/item.rb', line 4

def equipped
  @equipped
end

#max_dex_bonusObject (readonly)

Returns the value of attribute max_dex_bonus.



4
5
6
# File 'lib/pfrpg_core/item.rb', line 4

def max_dex_bonus
  @max_dex_bonus
end

#nameObject (readonly)

Returns the value of attribute name.



4
5
6
# File 'lib/pfrpg_core/item.rb', line 4

def name
  @name
end

#rangeObject (readonly)

Returns the value of attribute range.



4
5
6
# File 'lib/pfrpg_core/item.rb', line 4

def range
  @range
end

#slotObject (readonly)

Returns the value of attribute slot.



4
5
6
# File 'lib/pfrpg_core/item.rb', line 4

def slot
  @slot
end

#sourceObject (readonly)

Returns the value of attribute source.



4
5
6
# File 'lib/pfrpg_core/item.rb', line 4

def source
  @source
end

#specialObject (readonly)

Returns the value of attribute special.



4
5
6
# File 'lib/pfrpg_core/item.rb', line 4

def special
  @special
end

#speed_thirtyObject (readonly)

Returns the value of attribute speed_thirty.



4
5
6
# File 'lib/pfrpg_core/item.rb', line 4

def speed_thirty
  @speed_thirty
end

#speed_twentyObject (readonly)

Returns the value of attribute speed_twenty.



4
5
6
# File 'lib/pfrpg_core/item.rb', line 4

def speed_twenty
  @speed_twenty
end

#typeObject (readonly)

Returns the value of attribute type.



4
5
6
# File 'lib/pfrpg_core/item.rb', line 4

def type
  @type
end

#weapon_typeObject (readonly)

Returns the value of attribute weapon_type.



4
5
6
# File 'lib/pfrpg_core/item.rb', line 4

def weapon_type
  @weapon_type
end

#weightObject (readonly)

Returns the value of attribute weight.



4
5
6
# File 'lib/pfrpg_core/item.rb', line 4

def weight
  @weight
end

#weight_classObject (readonly)

Returns the value of attribute weight_class.



4
5
6
# File 'lib/pfrpg_core/item.rb', line 4

def weight_class
  @weight_class
end

Instance Method Details

#applies_strength_dmg?Boolean

Returns:

  • (Boolean)


37
38
39
40
# File 'lib/pfrpg_core/item.rb', line 37

def applies_strength_dmg?
  ['light', 'one-handed', 'two-handed'].include?(weight_class.downcase) ||
      name == 'Sling'
end