Class: Wowr::Classes::Spell

Inherits:
Object
  • Object
show all
Defined in:
lib/wowr/character.rb

Overview

Decided to do funky stuff to the XML to make it more useful. instead of having two seperate lists of bonusDamage and critChance merged it into one set of objects for each thing

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(elem) ⇒ Spell

Returns a new instance of Spell.



534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
# File 'lib/wowr/character.rb', line 534

def initialize(elem)
	@arcane = SpellDamage.new(elem%'bonusDamage'%'arcane', elem%'critChance'%'arcane')
	@fire   = SpellDamage.new(elem%'bonusDamage'%'fire', elem%'critChance'%'fire')
	@frost  = SpellDamage.new(elem%'bonusDamage'%'frost', elem%'critChance'%'frost')
	@holy   = SpellDamage.new(elem%'bonusDamage'%'holy', elem%'critChance'%'holy')
	@nature = SpellDamage.new(elem%'bonusDamage'%'nature', elem%'critChance'%'nature')
	@shadow = SpellDamage.new(elem%'bonusDamage'%'shadow', elem%'critChance'%'shadow')

	@bonus_healing 	= (elem%'bonusHealing')[:value].to_i # is this right??
	@penetration 		= (elem%'penetration')[:value].to_i
	@hit_rating 		= WeaponHitRating.new(elem%'hitRating')
	@mana_regen 		= ManaRegen.new(elem%'manaRegen')
	
	# elements = %w[arcane fire frost holy nature shadow]
	# elements.each do |element|
	# 	# TODO: is this a good idea?
	# 	#instance_variable_set("@#{element}", foo) #??
	# 	#eval("@#{element} = SpellDamage.new(elem[:bonusDamage][element][:value], elem[:critChance][element][:percent]).to_f)")
	# 	# eval("@#{element} = SpellDamage.new((elem%'bonusDamage'%element)[:value].to_i,
	# 	# 																						(elem%'critChance'%element)[:percent].to_f)")
	# end
end

Instance Attribute Details

#arcaneObject (readonly)

Returns the value of attribute arcane.



531
532
533
# File 'lib/wowr/character.rb', line 531

def arcane
  @arcane
end

#bonus_healingObject (readonly)

Returns the value of attribute bonus_healing.



531
532
533
# File 'lib/wowr/character.rb', line 531

def bonus_healing
  @bonus_healing
end

#fireObject (readonly)

Returns the value of attribute fire.



531
532
533
# File 'lib/wowr/character.rb', line 531

def fire
  @fire
end

#frostObject (readonly)

Returns the value of attribute frost.



531
532
533
# File 'lib/wowr/character.rb', line 531

def frost
  @frost
end

#hit_ratingObject (readonly)

Returns the value of attribute hit_rating.



531
532
533
# File 'lib/wowr/character.rb', line 531

def hit_rating
  @hit_rating
end

#holyObject (readonly)

Returns the value of attribute holy.



531
532
533
# File 'lib/wowr/character.rb', line 531

def holy
  @holy
end

#mana_regenObject (readonly)

Returns the value of attribute mana_regen.



531
532
533
# File 'lib/wowr/character.rb', line 531

def mana_regen
  @mana_regen
end

#natureObject (readonly)

Returns the value of attribute nature.



531
532
533
# File 'lib/wowr/character.rb', line 531

def nature
  @nature
end

#penetrationObject (readonly)

Returns the value of attribute penetration.



531
532
533
# File 'lib/wowr/character.rb', line 531

def penetration
  @penetration
end

#shadowObject (readonly)

Returns the value of attribute shadow.



531
532
533
# File 'lib/wowr/character.rb', line 531

def shadow
  @shadow
end