Issues (26)

model/tesoro.rb (2 issues)

1
# encoding: UTF-8
2
3
# Tirada de dados, Sigmar
4
def dado_sigmar
5
  # Returns a random dice-face string
6
  %w(hammer comet plus blank eagle eagle)[rand(6)]
7
end
8
9
# Tirada de dados, 2d6 del tesoro, individual
10
def dado_tesoro
11
  # Returns a value from 1 to 6 (normal dice)
12
  rand(6) + 1
13
end
14
15
# Main method 2d6 + Sigmar dice
16
def tesoro(sigmar, dado1, dado2)
17
  # 12 values (2d6) ordered
18
  valores = %w(pifia vacia maldición trampa monstruo oro
19
               perg pot comida alijo cofre)
20
  # Requests (send) a method, named equals to the values.
21
  send(valores[dado1 + dado2 - 2], sigmar, dado1, dado2)
22
end
23
24
# posibles 5 valores del dado sigmar
25
def caras_sigmar
26
  # El sexto es eagle x2
27
  %w(eagle plus blank hammer comet)
28
end
29
30
# Resultados dependiendo de Sigmar
31
# --------------------------------
32
33
def buscar_tesoros (tipo, sigmar, *doble)
34
  # DB in YAML format
35
  bt  = load_yaml('buscar_tesoros')[tipo]
36
  sig = doble ? sigmar + '2' : sigmar
37
  bt[sig] || bt['default']
38
end
39
40
def pifia(sigmar, _dado1, _dado2) # 2
41
  buscar_tesoros('pifia', sigmar)
42
end
43
44
def vacia(sigmar, _dado1, _dado2) # 3
45
  buscar_tesoros('vacía', sigmar)
46
end
47
48
def maldición(sigmar, dado1, dado2) # 4
49
  # special condition
50
  doble = dado1 == dado2
51
  return "TBD" # TODO Arreglar esto
52
end
53
54
def trampa(sigmar, _dado1, _dado2) # 5
55
  buscar_tesoros('trampa', sigmar)
56
end
57
58
def monstruo(sigmar, _dado1, _dado2) # 6
59
  buscar_tesoros('monstruo', sigmar)
60
end
61
62
def oro(sigmar, _dado1, _dado2) # 7
63
  buscar_tesoros('oro', sigmar)
64
end
65
66
def perg(sigmar, _dado1, _dado2) # 8
67
  buscar_tesoros('pergamino', sigmar)
68
end
69
70
def pot(sigmar, _dado1, _dado2) # 9
71
  buscar_tesoros('poción', sigmar)
72
end
73
74
def comida(sigmar, _dado1, _dado2) # 10
75
  buscar_tesoros('comida', sigmar)
76
end
77
78 View Code Duplication
def alijo(sigmar, _dado1, _dado2) # 11
0 ignored issues
show
This code seems to be duplicated in your project.
Loading history...
79
  r = %w(gema runa gema gema joya)
80
  c = [gema_random, runa_random, 'estropeada', gema_random, joya_random]
81
  r[caras_sigmar.index(sigmar)] + ': ' + c[caras_sigmar.index(sigmar)]
82
end
83
84 View Code Duplication
def cofre(sigmar, _dado1, _dado2) # 12
0 ignored issues
show
This code seems to be duplicated in your project.
Loading history...
85
  r = %w(gema joya runa objeto artefacto)
86
  c = [gema_random, joya_random, runa_random, 'mágico', 'de reto']
87
  r[caras_sigmar.index(sigmar)] + ': ' + c[caras_sigmar.index(sigmar)]
88
end
89
90
# Genera una gema al azar
91
def gema_random
92
  gemas.sample.name
93
end
94
95
# Genera una joya al azar
96
def joya_random
97
  joyas.sample.name
98
end
99
100
# Genera una runa al azar
101
def runa_random
102
  runas.sample.name
103
end
104