summaryrefslogtreecommitdiff
path: root/app/models/equipment.rb
blob: e1dc7a3ff97c09a46fe6cf0b22ffa789da0b5a14 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class Equipment < ApplicationRecord
  belongs_to :character
  belongs_to :item
  enum slot: [:mainhand, :offhand, :head, :neck, :back, :torso, :grip,
              :left_ring, :right_ring, :waist, :legs, :feet, :curio]
  validates :slot, presence: true, uniqueness: { scope: :character }

  def slot
    self[:slot].to_sym
  end

  def effects
    self.item.whatnot[:equip_effects]
  end

  def break_check
    roll = rand
    if [:neck, :left_ring, :right_ring].include?(slot)
      destroy and return true if roll > 0.9998
    elsif [:back, :waist, :curio].include?(slot)
      destroy and return true if roll > 0.9996
    else
      destroy and return true if roll > 0.999
    end
    false
  end
end