rpg-prompt 1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/bin/rpg-prompt +45 -0
- data/data/rpg-prompt/example.txt +190 -0
- data/data/rpg-prompt/help.txt +108 -0
- data/data/rpg-prompt/rules_default.rb +314 -0
- data/data/rpg-prompt/rules_default_hashes.rb +91 -0
- data/data/rpg-prompt/texts_default.rb +313 -0
- data/lib/rpg-prompt/commands.rb +76 -0
- data/lib/rpg-prompt/keypress.rb +66 -0
- data/lib/rpg-prompt/manage_command.rb +594 -0
- data/lib/rpg-prompt/message.rb +294 -0
- data/lib/rpg-prompt/parse_line.rb +123 -0
- data/lib/rpg-prompt/rules_default.rb +226 -0
- data/lib/rpg-prompt/rules_default_hashes.rb +68 -0
- data/lib/rpg-prompt/rules_sheet.rb +326 -0
- data/lib/rpg-prompt/save.rb +141 -0
- data/lib/rpg-prompt/texts_default.rb +346 -0
- data/lib/rpg-prompt/texts_prompt.rb +259 -0
- data/tests/test_rpg-prompt.rb +10 -0
- metadata +67 -0
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
module RulesHashes
|
|
2
|
+
|
|
3
|
+
# In this class, you may define the parameters that characterize the armor type
|
|
4
|
+
# In these simple default rules, the value is just a number, but it can be
|
|
5
|
+
# a Hash with any number of key=>element pairs
|
|
6
|
+
class ArmorHash < Hash
|
|
7
|
+
@@armors = nil
|
|
8
|
+
|
|
9
|
+
def initialize
|
|
10
|
+
self[:no_armor] = 0
|
|
11
|
+
self[:hardened_leather] = 3
|
|
12
|
+
self[:chainmail] = 5
|
|
13
|
+
self[:plate] = 8
|
|
14
|
+
|
|
15
|
+
@@armors = self.keys
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def armors
|
|
19
|
+
@@armors
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# In this class, you may define the parameters that characterize the weapon type
|
|
24
|
+
# As with ArmorHash, the value may be a Hash with any number of key=>element pairs
|
|
25
|
+
# In these simple default rules, the value is a combination of distance and malus
|
|
26
|
+
# to the attack roll
|
|
27
|
+
class WeaponHash < Hash
|
|
28
|
+
@@weapons = nil
|
|
29
|
+
|
|
30
|
+
def initialize
|
|
31
|
+
self[:broad_sword] = {:distance_mod => []}
|
|
32
|
+
self[:dagger] = {:distance_mod => []}
|
|
33
|
+
self[:scimitar] = {:distance_mod => []}
|
|
34
|
+
self[:hand_axe] = {:distance_mod => []}
|
|
35
|
+
self[:composite_bow] = {:distance_mod => [[0,0], [30,0], [60,-3], [90,-6]]}
|
|
36
|
+
self[:mace] = {:distance_mod => []}
|
|
37
|
+
self[:warhammer] = {:distance_mod => []}
|
|
38
|
+
self[:battle_axe] = {:distance_mod => []}
|
|
39
|
+
self[:claw_and_bite] = {:distance_mod => []}
|
|
40
|
+
|
|
41
|
+
@@weapons = self.keys
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def weapons
|
|
45
|
+
@@weapons
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# In this class, you define the variables of the warrior sheet.
|
|
50
|
+
# The key is a symbol: :full_name, :nickname, :hp, :weapon and :armor
|
|
51
|
+
# The elements is an array of three
|
|
52
|
+
# - The question symbol that has to match in the symbol in the
|
|
53
|
+
# Questionnaire in texts_system.rb
|
|
54
|
+
# - The type as a symbol: :string, :integer, :bool are supported
|
|
55
|
+
# :weapon and :armor are treated specificallly to list supported
|
|
56
|
+
# values and accept only values in that list
|
|
57
|
+
# - The default value.
|
|
58
|
+
class CreationArray < Hash
|
|
59
|
+
def initialize
|
|
60
|
+
self[:full_name] = [:question_full_name, :string, nil]
|
|
61
|
+
self[:nickname] = [:question_nickname, :string, nil]
|
|
62
|
+
self[:race] = [:question_race, :string, ""] #not used
|
|
63
|
+
self[:hp] = [:question_hp, :integer, 10]
|
|
64
|
+
self[:weapon] = [:question_weapon, :weapon, :broad_sword]
|
|
65
|
+
self[:armor] = [:question_armor, :armor, :no_armor]
|
|
66
|
+
self[:move_capacity] = [:question_move_capacity, :integer, 10] #not used
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# In this class, you define the skills that the characters may use
|
|
71
|
+
# The key is the essential definition. In these simple rules, the element is
|
|
72
|
+
# just the type of skill.
|
|
73
|
+
class SkillHash < Hash
|
|
74
|
+
def initialize
|
|
75
|
+
self[:sing] = [:artistic, :active]
|
|
76
|
+
self[:stalk] = [:subterfuge, :stealth]
|
|
77
|
+
self[:pick_locks] = [:subterfuge, :mechanics]
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# In this class, you may define the posible outcomes of the skill attempt.
|
|
82
|
+
# The key is the result of the action, and the element is the range.
|
|
83
|
+
# use -1000 and 1000 for the minimum and maximum values.
|
|
84
|
+
# You may include partial success, spectacular failure, etc.
|
|
85
|
+
class ActionTable < Hash
|
|
86
|
+
def initialize
|
|
87
|
+
self[:failure] = [-1000, 3]
|
|
88
|
+
self[:success] = [4, 1000]
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
# In this file, you may define the messages that the prompt returns in
|
|
2
|
+
# each step in the resolution of attacks and actions.
|
|
3
|
+
#
|
|
4
|
+
# I have included the options of changing the language, a concession to
|
|
5
|
+
# my Spanish friends. More languages could be included
|
|
6
|
+
#
|
|
7
|
+
# There are several types of messages:
|
|
8
|
+
#
|
|
9
|
+
# - Message.message(:sym). Messages that are always put with the same words
|
|
10
|
+
# E.g. Message.message(:greeting). It will put the greeting in the given
|
|
11
|
+
# language.
|
|
12
|
+
#
|
|
13
|
+
# - Message.help(.sym, hash). Message that include variable words, that are
|
|
14
|
+
# handled with the format string % syntax.
|
|
15
|
+
# E.g. Message.help(:hits_lose_hp, {:full_name => "Jack", :damage => 3})
|
|
16
|
+
#
|
|
17
|
+
# - Diccionaries. Translation between the symbol and the string. It is
|
|
18
|
+
# performed with custom methods to allows the use of other languages
|
|
19
|
+
# and longer strings with spaces. There are diccionaries for weapons
|
|
20
|
+
# E.g. Message.weapon_word(:sym) and Message.weapon_symbol("weapon")
|
|
21
|
+
# For weapons
|
|
22
|
+
# E.g. Message.weapon_word(:sym) and Message.weapon_symbol("weapon")
|
|
23
|
+
# For armors
|
|
24
|
+
# E.g. Message.armor_word(:sym) and Message.armor_symbol("armor")
|
|
25
|
+
# For skills
|
|
26
|
+
# E.g. Message.skill_word(:sym) and Message.skill_symbol("skill")
|
|
27
|
+
#
|
|
28
|
+
# - Skill Help is another Diccionary, but woth longer answers. It is not
|
|
29
|
+
# used for lists, but it should match the keys of the skill Diccionary
|
|
30
|
+
#
|
|
31
|
+
# - Questionnaire is a modified diccionary, because it is used in the
|
|
32
|
+
# the creation of characters, but from this module, it makes no difference.
|
|
33
|
+
# You do not have to use it, but the questions should be well defined here.
|
|
34
|
+
# Any question that matches it Hash in RulesHashes are included in the
|
|
35
|
+
# creation of characters. Yoy may make questions for the three type of
|
|
36
|
+
# warriors, :character, :foe and :spawn
|
|
37
|
+
#
|
|
38
|
+
# In practice, Message.message for messages that only differentiate language,
|
|
39
|
+
# Message.help for messages that differentiate language and have format inputs,
|
|
40
|
+
# Message, and Questionnaire for message that differentiate language and warrior
|
|
41
|
+
# type (Character, Foe or Spawn)
|
|
42
|
+
#
|
|
43
|
+
# You may add new words to these diccionariesusing
|
|
44
|
+
# - Message.add_weapon(:sym, "weapon")...
|
|
45
|
+
#
|
|
46
|
+
# You may also add a new diccionary using this structure:
|
|
47
|
+
#
|
|
48
|
+
# module Message
|
|
49
|
+
# def self.add_newdicc(s, w)
|
|
50
|
+
# @@newdicc_dict.add_word(s, w)
|
|
51
|
+
# end
|
|
52
|
+
|
|
53
|
+
# def self.newdicc_word(s)
|
|
54
|
+
# @@newdicc_dict.word(s)
|
|
55
|
+
# end
|
|
56
|
+
|
|
57
|
+
# def self.newdicc_symbol(w)
|
|
58
|
+
# @@newdicc_dict.symbol(w)
|
|
59
|
+
# end
|
|
60
|
+
# end
|
|
61
|
+
#
|
|
62
|
+
# Add the words using Message.add_newdicc(:sym, "word")
|
|
63
|
+
# and use it using Message.newdicc_word(:sym) or Message.newdicc_symbol("word")
|
|
64
|
+
#
|
|
65
|
+
|
|
66
|
+
module Message
|
|
67
|
+
# ***************** message_dict ***************** #
|
|
68
|
+
valid_languages = [:english, :spanish]
|
|
69
|
+
|
|
70
|
+
Message::Dictionary.language = :english
|
|
71
|
+
@@message_dict.add_word(:greeting,
|
|
72
|
+
"Welcome to the RPG Combat Assistant, by Guillermo Regodon")
|
|
73
|
+
@@message_dict.add_word(:goodbye,
|
|
74
|
+
"Leaving the RPG Combat Assistant")
|
|
75
|
+
|
|
76
|
+
@@message_dict.add_word(:ask_for_d6,
|
|
77
|
+
"Enter the roll (between 1 and 6)")
|
|
78
|
+
@@message_dict.add_word(:ask_for_d10,
|
|
79
|
+
"Enter the roll (between 1 and 10)")
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
Message::Dictionary.language = :spanish
|
|
83
|
+
@@message_dict.add_word(:greeting,
|
|
84
|
+
"Bienvenido al asistente de combate para juegos de rol, por Guillermo Regodón.")
|
|
85
|
+
@@message_dict.add_word(:goodbye,
|
|
86
|
+
"Abandonando el asistente de combate para juegos de rol.")
|
|
87
|
+
|
|
88
|
+
@@message_dict.add_word(:ask_for_d6,
|
|
89
|
+
"Introduce la tirada (entre 1 y 6)")
|
|
90
|
+
@@message_dict.add_word(:ask_for_d10,
|
|
91
|
+
"Introduce la tirada (entre 1 y 10)")
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
# ***************** help_dict ***************** #
|
|
97
|
+
valid_languages = [:english, :spanish]
|
|
98
|
+
|
|
99
|
+
Message::Dictionary.language = :english
|
|
100
|
+
@@help_dict.add_word(:rolling, "Dice rolling... ¡%{roll}!")
|
|
101
|
+
@@help_dict.add_word(:hits_lose_hp, "¡%{full_name} loses %{damage} hp!")
|
|
102
|
+
@@help_dict.add_word(:dead_in, "¡dies in %{el} t!")
|
|
103
|
+
@@help_dict.add_word(:attack_roll,
|
|
104
|
+
" Mod Roll = %{r} = Roll(%{roll}) + Mod(%{modifier})")
|
|
105
|
+
@@help_dict.add_word(:skill_roll,
|
|
106
|
+
" Mod Roll = %{r} = Roll(%{roll}) + Mod(%{modifier})")
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
Message::Dictionary.language = :spanish
|
|
112
|
+
@@help_dict.add_word(:rolling, "Se lanzan los dados... ¡%{roll}!")
|
|
113
|
+
@@help_dict.add_word(:hits_lose_hp, "¡%{full_name} pierde %{damage} hp!")
|
|
114
|
+
@@help_dict.add_word(:dead_in, "¡muere en %{el} t!")
|
|
115
|
+
@@help_dict.add_word(:attack_roll,
|
|
116
|
+
" Mod Roll = %{r} = Roll(%{roll}) + Mod(%{modifier})")
|
|
117
|
+
@@help_dict.add_word(:skill_roll,
|
|
118
|
+
" Mod Roll = %{r} = Roll(%{roll}) + Mod(%{modifier})")
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
# ***************** weapon_dict ***************** #
|
|
124
|
+
valid_languages = [:english, :spanish]
|
|
125
|
+
|
|
126
|
+
Message::Dictionary.language = :english
|
|
127
|
+
@@weapon_dict.add_word(:broad_sword, "broad sword")
|
|
128
|
+
@@weapon_dict.add_word(:dagger, "dagger")
|
|
129
|
+
@@weapon_dict.add_word(:scimitar, "scimitar")
|
|
130
|
+
@@weapon_dict.add_word(:hand_axe, "hand axe")
|
|
131
|
+
@@weapon_dict.add_word(:composite_bow, "composite bow")
|
|
132
|
+
@@weapon_dict.add_word(:mace, "mace")
|
|
133
|
+
@@weapon_dict.add_word(:warhammer, "warhammer")
|
|
134
|
+
@@weapon_dict.add_word(:battle_axe, "battle axe")
|
|
135
|
+
@@weapon_dict.add_word(:claw_and_bite, "claws and teeth")
|
|
136
|
+
|
|
137
|
+
Message::Dictionary.language = :spanish
|
|
138
|
+
@@weapon_dict.add_word(:broad_sword, "espada ancha")
|
|
139
|
+
@@weapon_dict.add_word(:dagger, "daga")
|
|
140
|
+
@@weapon_dict.add_word(:scimitar, "cimitarra")
|
|
141
|
+
@@weapon_dict.add_word(:hand_axe, "hacha de mano")
|
|
142
|
+
@@weapon_dict.add_word(:composite_bow, "arco compuesto")
|
|
143
|
+
@@weapon_dict.add_word(:mace, "maza")
|
|
144
|
+
@@weapon_dict.add_word(:warhammer, "martillo de guerra")
|
|
145
|
+
@@weapon_dict.add_word(:battle_axe, "hacha de batalla")
|
|
146
|
+
@@weapon_dict.add_word(:claw_and_bite, "garras y mordiscos")
|
|
147
|
+
|
|
148
|
+
# ***************** armor_dict ***************** #
|
|
149
|
+
valid_languages = [:english, :spanish]
|
|
150
|
+
|
|
151
|
+
Message::Dictionary.language = :english
|
|
152
|
+
@@armor_dict.add_word(:no_armor, "no armor")
|
|
153
|
+
@@armor_dict.add_word(:hardened_leather, "hardened leather")
|
|
154
|
+
@@armor_dict.add_word(:chainmail, "chainmail")
|
|
155
|
+
@@armor_dict.add_word(:plate, "plate")
|
|
156
|
+
|
|
157
|
+
Message::Dictionary.language = :spanish
|
|
158
|
+
@@armor_dict.add_word(:no_armor, "sin armadura")
|
|
159
|
+
@@armor_dict.add_word(:hardened_leather, "cuero endurecido")
|
|
160
|
+
@@armor_dict.add_word(:chainmail, "cota de malla")
|
|
161
|
+
@@armor_dict.add_word(:plate, "placas")
|
|
162
|
+
|
|
163
|
+
# ***************** skill_dict ***************** #
|
|
164
|
+
valid_languages = [:english, :spanish]
|
|
165
|
+
|
|
166
|
+
Message::Dictionary.language = :english
|
|
167
|
+
@@skill_dict.add_word(:failure, "Failure, try again another day")
|
|
168
|
+
@@skill_dict.add_word(:success, "Success, 100%")
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
Message::Dictionary.language = :spanish
|
|
172
|
+
@@skill_dict.add_word(:failure, "Fallo, intentalo otra vez otro día")
|
|
173
|
+
@@skill_dict.add_word(:success, "Éxito, 100%")
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
# Note: in this diccionary, spaces should not be used
|
|
177
|
+
Message::Dictionary.language = :english
|
|
178
|
+
@@skill_dict.add_word(:sing, "sings")
|
|
179
|
+
@@skill_dict.add_word(:stalk, "stalks")
|
|
180
|
+
@@skill_dict.add_word(:pick_locks, "pick_locks")
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
# Note: in this diccionary, spaces should not be used
|
|
184
|
+
Message::Dictionary.language = :spanish
|
|
185
|
+
@@skill_dict.add_word(:sing, "canta")
|
|
186
|
+
@@skill_dict.add_word(:stalk, "acecha")
|
|
187
|
+
@@skill_dict.add_word(:pick_locks, "fuerza_cerradura")
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
# ***************** skill_help_hash ***************** #
|
|
191
|
+
valid_languages = [:english, :spanish]
|
|
192
|
+
|
|
193
|
+
Message::Dictionary.language = :english
|
|
194
|
+
@@skill_help_hash.add_word(:sing,
|
|
195
|
+
"Sings to entice the public and lift up their hearts")
|
|
196
|
+
@@skill_help_hash.add_word(:stalk,
|
|
197
|
+
"Approaches somebody or somewhere without being seen or heard")
|
|
198
|
+
@@skill_help_hash.add_word(:pick_locks,
|
|
199
|
+
"Opens a lock using appropriate tools")
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
Message::Dictionary.language = :spanish
|
|
203
|
+
@@skill_help_hash.add_word(:sing,
|
|
204
|
+
"Canta para seducir al public y elevar sus animos")
|
|
205
|
+
@@skill_help_hash.add_word(:stalk,
|
|
206
|
+
"Se acerca sigilosamente a alguien o algo sin ser visto u oido")
|
|
207
|
+
@@skill_help_hash.add_word(:pick_locks,
|
|
208
|
+
"Abre una cerradura usando material apropriado")
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
# ***************** questionnaire_dict ***************** #
|
|
212
|
+
valid_languages = [:english, :spanish]
|
|
213
|
+
valid_types = [:character, :foe, :spawn]
|
|
214
|
+
|
|
215
|
+
Message::Questionnaire.set_option(:english, :character)
|
|
216
|
+
@@questionnaire_dict.add_word(:question_full_name, "Full name of Character?")
|
|
217
|
+
@@questionnaire_dict.add_word(:question_nickname,
|
|
218
|
+
"Enter the character's nickname")
|
|
219
|
+
@@questionnaire_dict.add_word(:question_race,
|
|
220
|
+
"Enter the character's race")
|
|
221
|
+
@@questionnaire_dict.add_word(:question_hp,
|
|
222
|
+
"Enter the character's health points")
|
|
223
|
+
@@questionnaire_dict.add_word(:question_weapon,
|
|
224
|
+
"What weapon does the character use?")
|
|
225
|
+
@@questionnaire_dict.add_word(:question_armor,
|
|
226
|
+
"What armor does the character use?")
|
|
227
|
+
@@questionnaire_dict.add_word(:question_move_capacity,
|
|
228
|
+
"What is the movement capacity?")
|
|
229
|
+
|
|
230
|
+
Message::Questionnaire.set_option(:english, :foe)
|
|
231
|
+
@@questionnaire_dict.add_word(:question_full_name, "Full name of Foe?")
|
|
232
|
+
@@questionnaire_dict.add_word(:question_nickname,
|
|
233
|
+
"Enter the foe's nickname")
|
|
234
|
+
@@questionnaire_dict.add_word(:question_race,
|
|
235
|
+
"Enter the foe's race")
|
|
236
|
+
@@questionnaire_dict.add_word(:question_hp,
|
|
237
|
+
"Enter the foe's health points")
|
|
238
|
+
@@questionnaire_dict.add_word(:question_weapon,
|
|
239
|
+
"What weapon does the foe use?")
|
|
240
|
+
@@questionnaire_dict.add_word(:question_armor,
|
|
241
|
+
"What armor does the foe use?")
|
|
242
|
+
@@questionnaire_dict.add_word(:question_move_capacity,
|
|
243
|
+
"What is the movement capacity?")
|
|
244
|
+
|
|
245
|
+
Message::Questionnaire.set_option(:english, :spawn)
|
|
246
|
+
@@questionnaire_dict.add_word(:question_full_name,
|
|
247
|
+
"""Enter names for this kind of enemy, recomended 10 or more,
|
|
248
|
+
\"q\" to finish. Enter only the race if it is an enemy without name.""")
|
|
249
|
+
@@questionnaire_dict.add_word(:question_nickname,
|
|
250
|
+
"""Enter nicknames for this kind of enemy, recomended 10 or more,
|
|
251
|
+
\"q\" to finish.""")
|
|
252
|
+
@@questionnaire_dict.add_word(:question_race,
|
|
253
|
+
"Enter this kind of enemy's race")
|
|
254
|
+
@@questionnaire_dict.add_word(:question_hp,
|
|
255
|
+
"Enter this kind of enemy's health points")
|
|
256
|
+
@@questionnaire_dict.add_word(:question_weapon,
|
|
257
|
+
"What weapon does this kind of enemy use?")
|
|
258
|
+
@@questionnaire_dict.add_word(:question_armor,
|
|
259
|
+
"What armor does this kind of enemy use?")
|
|
260
|
+
@@questionnaire_dict.add_word(:question_move_capacity,
|
|
261
|
+
"What is the movement capacity?")
|
|
262
|
+
|
|
263
|
+
Message::Questionnaire.set_option(:spanish, :character)
|
|
264
|
+
@@questionnaire_dict.add_word(:question_full_name,
|
|
265
|
+
"Introduce el nombre completo del personaje")
|
|
266
|
+
@@questionnaire_dict.add_word(:question_nickname,
|
|
267
|
+
"Introduce el apodo del personaje")
|
|
268
|
+
@@questionnaire_dict.add_word(:question_race,
|
|
269
|
+
"Introduce la raza del personaje")
|
|
270
|
+
@@questionnaire_dict.add_word(:question_hp,
|
|
271
|
+
"Introduce los puntos de vida del personaje")
|
|
272
|
+
@@questionnaire_dict.add_word(:question_weapon,
|
|
273
|
+
"¿Qué arma utiliza?")
|
|
274
|
+
@@questionnaire_dict.add_word(:question_armor,
|
|
275
|
+
"¿Qué tipo de armadura utiliza?")
|
|
276
|
+
@@questionnaire_dict.add_word(:question_move_capacity,
|
|
277
|
+
"¿Cuál es su capacidad de movimiento?")
|
|
278
|
+
|
|
279
|
+
Message::Questionnaire.set_option(:spanish, :foe)
|
|
280
|
+
@@questionnaire_dict.add_word(:question_full_name,
|
|
281
|
+
"Introduce el nombre completo del enemigo")
|
|
282
|
+
@@questionnaire_dict.add_word(:question_nickname,
|
|
283
|
+
"Introduce el apodo del enemigo")
|
|
284
|
+
@@questionnaire_dict.add_word(:question_race,
|
|
285
|
+
"Introduce la raza del enemigo")
|
|
286
|
+
@@questionnaire_dict.add_word(:question_hp,
|
|
287
|
+
"Introduce los puntos de vida del enemigo")
|
|
288
|
+
@@questionnaire_dict.add_word(:question_weapon,
|
|
289
|
+
"¿Qué arma utiliza?")
|
|
290
|
+
@@questionnaire_dict.add_word(:question_armor,
|
|
291
|
+
"¿Qué tipo de armadura utiliza?")
|
|
292
|
+
@@questionnaire_dict.add_word(:question_move_capacity,
|
|
293
|
+
"¿Cuál es su capacidad de movimiento?")
|
|
294
|
+
|
|
295
|
+
Message::Questionnaire.set_option(:spanish, :spawn)
|
|
296
|
+
@@questionnaire_dict.add_word(:question_full_name,
|
|
297
|
+
"""Introduce nombres para este tipo de enemigo, recomendado 10 o más,
|
|
298
|
+
\"q\" para terminar. Introduce solo la raza si es un enemigo sin nombre.""")
|
|
299
|
+
@@questionnaire_dict.add_word(:question_nickname,
|
|
300
|
+
"""Introduce apodos para este tipo de enemigo, recomendado 10 o más,
|
|
301
|
+
\"q\" para terminar.""")
|
|
302
|
+
@@questionnaire_dict.add_word(:question_race,
|
|
303
|
+
"Introduce la raza de este tipo de enemigo")
|
|
304
|
+
@@questionnaire_dict.add_word(:question_hp,
|
|
305
|
+
"Introduce los puntos de vida de este tipo de enemigo")
|
|
306
|
+
@@questionnaire_dict.add_word(:question_weapon,
|
|
307
|
+
"¿Qué arma utilizan?")
|
|
308
|
+
@@questionnaire_dict.add_word(:question_armor,
|
|
309
|
+
"¿Qué tipo de armadura utilizan?")
|
|
310
|
+
@@questionnaire_dict.add_word(:question_move_capacity,
|
|
311
|
+
"¿Cuál es su capacidad de movimiento?")
|
|
312
|
+
|
|
313
|
+
end
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
ParseLine::Line.add_command(:quit, /quit/, ["s", "q"])
|
|
2
|
+
ParseLine::Line.add_command(:quit_short, /qqq/, [])
|
|
3
|
+
|
|
4
|
+
# These are loaded in rules.rb to allow the modification
|
|
5
|
+
# ParseLine::Line.add_command(:hits,
|
|
6
|
+
# /(?<atk>\w+) hits (?<def>\w+)/, ["c", "f", "r", "h", "s", "u", "d"])
|
|
7
|
+
# ParseLine::Line.add_command(:hits_short,
|
|
8
|
+
# /(?<atk>\w+) h (?<def>\w+)/, ["c", "f", "r", "h", "s", "u", "d"])
|
|
9
|
+
|
|
10
|
+
# ParseLine::Line.add_command(:skill,
|
|
11
|
+
# /skill (?<ch>\w+) (?<skill>\w+)( [+-]\d+)?/,
|
|
12
|
+
# ["c", "r", "e", "l", "m", "h", "v", "e", "s", "a", "c", "u", "i", "d", "p"])
|
|
13
|
+
# ParseLine::Line.add_command(:skill_short,
|
|
14
|
+
# /(?<ch>\w+)( )?:( )?(?<skill>\w+)( [+-]\d+)?/,
|
|
15
|
+
# ["c", "r", "e", "l", "m", "h", "v", "e", "s", "a", "c", "u", "i", "d", "p"])
|
|
16
|
+
ParseLine::Line.add_command(:skill_help, /skill_help (?<skill>\w+)/, [])
|
|
17
|
+
ParseLine::Line.add_command(:skill_help_short, /sh (?<skill>\w+)/, [])
|
|
18
|
+
ParseLine::Line.add_command(:skill_list, /skill_list/, [])
|
|
19
|
+
|
|
20
|
+
ParseLine::Line.add_command(:join, /join (?<name>\w+)/, [])
|
|
21
|
+
ParseLine::Line.add_command(:spawn, /spawn (?<name>\w+) x(?<number>[^0]\d*)/, [])
|
|
22
|
+
ParseLine::Line.add_command(:leave, /leave (?<name>\w+)/, [])
|
|
23
|
+
|
|
24
|
+
ParseLine::Line.add_command(:round, /round( \+(?<number>\d+))?/, [])
|
|
25
|
+
|
|
26
|
+
ParseLine::Line.add_command(:pool, /pool/, [])
|
|
27
|
+
ParseLine::Line.add_command(:pool_short, /p/, [])
|
|
28
|
+
|
|
29
|
+
ParseLine::Line.add_command(:combat_status,
|
|
30
|
+
/combatstatus( (?<name>\w+))?/, ["v"])
|
|
31
|
+
ParseLine::Line.add_command(:combat_status_short,
|
|
32
|
+
/s( (?<name>\w+))?/, ["v"])
|
|
33
|
+
ParseLine::Line.add_command(:combat_status_short_verbose,
|
|
34
|
+
/sv( (?<name>\w+))?/, [])
|
|
35
|
+
|
|
36
|
+
ParseLine::Line.add_command(:create_character, /createchar (?<name>\w+)/, [])
|
|
37
|
+
ParseLine::Line.add_command(:create_character_short, /cc (?<name>\w+)/, [])
|
|
38
|
+
ParseLine::Line.add_command(:create_foe, /createfoe (?<name>\w+)/, [])
|
|
39
|
+
ParseLine::Line.add_command(:create_foe_short, /cf (?<name>\w+)/, [])
|
|
40
|
+
ParseLine::Line.add_command(:create_spawn, /createspawn (?<name>\w+)/, [])
|
|
41
|
+
ParseLine::Line.add_command(:create_spawn_short, /cs (?<name>\w+)/, [])
|
|
42
|
+
|
|
43
|
+
ParseLine::Line.add_command(:set_attribute,
|
|
44
|
+
/set (?<name>\w+) (?<attribute>\w+) (?<val>\w+)/, [])
|
|
45
|
+
|
|
46
|
+
ParseLine::Line.add_command(:list_warriors, /lw/, [])
|
|
47
|
+
ParseLine::Line.add_command(:save_warrior, /save w (?<name>\w+)/, [])
|
|
48
|
+
ParseLine::Line.add_command(:load_warrior, /load w (?<name>\w+)/, ["r"])
|
|
49
|
+
ParseLine::Line.add_command(:delete_warrior, /delete w (?<name>\w+)/, ["r"])
|
|
50
|
+
ParseLine::Line.add_command(:save_warrior_short, /sw (?<name>\w+)/, [])
|
|
51
|
+
ParseLine::Line.add_command(:load_warrior_short, /lw (?<name>\w+)/, ["r"])
|
|
52
|
+
ParseLine::Line.add_command(:delete_warrior_short, /dw (?<name>\w+)/, ["r"])
|
|
53
|
+
|
|
54
|
+
ParseLine::Line.add_command(:list_scenes, /ls/, [])
|
|
55
|
+
ParseLine::Line.add_command(:save_scene, /save s (?<name>\w+)/, [])
|
|
56
|
+
ParseLine::Line.add_command(:load_scene, /load s (?<name>\w+)/, ["r"])
|
|
57
|
+
ParseLine::Line.add_command(:delete_scene, /delete s (?<name>\w+)/, ["r"])
|
|
58
|
+
ParseLine::Line.add_command(:save_scene_short, /ss (?<name>\w+)/, [])
|
|
59
|
+
ParseLine::Line.add_command(:load_scene_short, /ls (?<name>\w+)/, ["r"])
|
|
60
|
+
ParseLine::Line.add_command(:delete_scene_short, /ds (?<name>\w+)/, ["r"])
|
|
61
|
+
|
|
62
|
+
ParseLine::Line.add_command(:free, /free (?<name>\w+)/, [])
|
|
63
|
+
ParseLine::Line.add_command(:free_all, /free all/, [])
|
|
64
|
+
|
|
65
|
+
ParseLine::Line.add_command(:help, /help/, [])
|
|
66
|
+
ParseLine::Line.add_command(:example, /example/, [])
|
|
67
|
+
|
|
68
|
+
ParseLine::Line.add_command(:undo, /undo/, [])
|
|
69
|
+
ParseLine::Line.add_command(:test, /t/, [])
|
|
70
|
+
ParseLine::Line.add_command(:empty, / /, [])
|
|
71
|
+
|
|
72
|
+
ParseLine::Line.add_command(:clone, /clone rules (?<system>\w+)/, [])
|
|
73
|
+
|
|
74
|
+
ParseLine::Line.add_command(:quick_backup, /bbb/, [])
|
|
75
|
+
ParseLine::Line.add_command(:restore_backup, /rrr/, [])
|
|
76
|
+
ParseLine::Line.add_command(:delete_backup, /ddd/, [])
|