amar-rpg 2.0.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/LICENSE +675 -0
- data/README.md +155 -0
- data/amar-tui.rb +8195 -0
- data/cli_enc_output.rb +87 -0
- data/cli_enc_output_new.rb +433 -0
- data/cli_enc_output_new_3tier.rb +198 -0
- data/cli_enc_output_new_compact.rb +238 -0
- data/cli_name_gen.rb +21 -0
- data/cli_npc_output.rb +279 -0
- data/cli_npc_output_new.rb +700 -0
- data/cli_town_output.rb +39 -0
- data/cli_weather_output.rb +36 -0
- data/includes/class_enc.rb +341 -0
- data/includes/class_enc_new.rb +512 -0
- data/includes/class_monster_new.rb +551 -0
- data/includes/class_npc.rb +1378 -0
- data/includes/class_npc_new.rb +1187 -0
- data/includes/class_npc_new.rb.backup +706 -0
- data/includes/class_npc_new_skills.rb +153 -0
- data/includes/class_town.rb +237 -0
- data/includes/d6s.rb +40 -0
- data/includes/equipment_tables.rb +120 -0
- data/includes/functions.rb +67 -0
- data/includes/includes.rb +30 -0
- data/includes/randomizer.rb +15 -0
- data/includes/spell_catalog.rb +441 -0
- data/includes/tables/armour.rb +13 -0
- data/includes/tables/chartype.rb +4412 -0
- data/includes/tables/chartype_new.rb +765 -0
- data/includes/tables/chartype_new_full.rb +2713 -0
- data/includes/tables/enc_specific.rb +168 -0
- data/includes/tables/enc_type.rb +17 -0
- data/includes/tables/encounters.rb +99 -0
- data/includes/tables/magick.rb +169 -0
- data/includes/tables/melee.rb +36 -0
- data/includes/tables/missile.rb +17 -0
- data/includes/tables/monster_stats_new.rb +264 -0
- data/includes/tables/month.rb +18 -0
- data/includes/tables/names.rb +21 -0
- data/includes/tables/personality.rb +12 -0
- data/includes/tables/race_templates.rb +318 -0
- data/includes/tables/religions.rb +266 -0
- data/includes/tables/spells_new.rb +496 -0
- data/includes/tables/tier_system.rb +104 -0
- data/includes/tables/town.rb +71 -0
- data/includes/tables/weather.rb +41 -0
- data/includes/town_relations.rb +127 -0
- data/includes/weather.rb +108 -0
- data/includes/weather2latex.rb +114 -0
- data/lib/rcurses.rb +33 -0
- metadata +157 -0
@@ -0,0 +1,266 @@
|
|
1
|
+
# Religious Affiliations Table for Amar RPG
|
2
|
+
# Based on d6gaming.org/index.php/Mythology
|
3
|
+
|
4
|
+
$ReligionTable = {
|
5
|
+
# Primary Gods
|
6
|
+
"Alesia" => {
|
7
|
+
"domain" => "Earth",
|
8
|
+
"portfolio" => "Stability, Protection, Agriculture",
|
9
|
+
"worshippers" => ["Farmer", "Guard", "Protector"],
|
10
|
+
"alignment" => "Good"
|
11
|
+
},
|
12
|
+
"Ikalio" => {
|
13
|
+
"domain" => "Fire",
|
14
|
+
"portfolio" => "Creativity, Passion, Thought",
|
15
|
+
"worshippers" => ["Wizard (fire)", "Artist", "Creator", "Mage"],
|
16
|
+
"alignment" => "Neutral"
|
17
|
+
},
|
18
|
+
"Shalissa" => {
|
19
|
+
"domain" => "Wind/Air",
|
20
|
+
"portfolio" => "Freedom, Speed, Adventure",
|
21
|
+
"worshippers" => ["Wizard (air)", "Scout", "Adventurer"],
|
22
|
+
"alignment" => "Neutral"
|
23
|
+
},
|
24
|
+
"Walmaer" => {
|
25
|
+
"domain" => "Water",
|
26
|
+
"portfolio" => "Sea, Rivers, Maritime",
|
27
|
+
"worshippers" => ["Wizard (water)", "Sailor", "Fisher"],
|
28
|
+
"alignment" => "Neutral"
|
29
|
+
},
|
30
|
+
"Ielina" => {
|
31
|
+
"domain" => "Moon/Time",
|
32
|
+
"portfolio" => "Perception, Wisdom, Time",
|
33
|
+
"worshippers" => ["Seer", "Mystic", "Monk"],
|
34
|
+
"alignment" => "Neutral"
|
35
|
+
},
|
36
|
+
|
37
|
+
# Lesser Gods
|
38
|
+
"Cal Amae" => {
|
39
|
+
"domain" => "Good",
|
40
|
+
"portfolio" => "Good Deeds, Heroism, Protection",
|
41
|
+
"worshippers" => ["Paladin", "Knight", "Priest", "Witch (white)"],
|
42
|
+
"alignment" => "Good"
|
43
|
+
},
|
44
|
+
"Taroc" => {
|
45
|
+
"domain" => "War",
|
46
|
+
"portfolio" => "Battle, Conflict, Strategy",
|
47
|
+
"worshippers" => ["Warrior", "Soldier", "Guard", "Gladiator"],
|
48
|
+
"alignment" => "Neutral"
|
49
|
+
},
|
50
|
+
"Fal Munir" => {
|
51
|
+
"domain" => "Knowledge",
|
52
|
+
"portfolio" => "Learning, Wisdom, Research",
|
53
|
+
"worshippers" => ["Scholar", "Sage", "Scribe", "Monk"],
|
54
|
+
"alignment" => "Neutral"
|
55
|
+
},
|
56
|
+
"Elesi" => {
|
57
|
+
"domain" => "Creation",
|
58
|
+
"portfolio" => "Art, Craftsmanship, Beauty",
|
59
|
+
"worshippers" => ["Artist", "Craftsman", "Witch (white)", "Mage"],
|
60
|
+
"alignment" => "Good"
|
61
|
+
},
|
62
|
+
"Anashina" => {
|
63
|
+
"domain" => "Nature",
|
64
|
+
"portfolio" => "Wilderness, Animals, Plants",
|
65
|
+
"worshippers" => ["Ranger", "Hunter", "Druid", "Barbarian"],
|
66
|
+
"alignment" => "Neutral"
|
67
|
+
},
|
68
|
+
"Gwendyll" => {
|
69
|
+
"domain" => "Royalty",
|
70
|
+
"portfolio" => "Leadership, Nobility, Authority",
|
71
|
+
"worshippers" => ["Noble", "Knight", "Lord"],
|
72
|
+
"alignment" => "Neutral"
|
73
|
+
},
|
74
|
+
"Mailatroz" => {
|
75
|
+
"domain" => "Trade",
|
76
|
+
"portfolio" => "Commerce, Wealth, Business",
|
77
|
+
"worshippers" => ["Merchant", "Trader", "Shopkeeper"],
|
78
|
+
"alignment" => "Neutral"
|
79
|
+
},
|
80
|
+
"Juba" => {
|
81
|
+
"domain" => "Entertainment",
|
82
|
+
"portfolio" => "Joy, Performance, Festivity",
|
83
|
+
"worshippers" => ["Entertainer", "Jester", "Bard"],
|
84
|
+
"alignment" => "Good"
|
85
|
+
},
|
86
|
+
"Kraagh" => {
|
87
|
+
"domain" => "Death",
|
88
|
+
"portfolio" => "Death, Reincarnation, Afterlife",
|
89
|
+
"worshippers" => ["Necromancer", "Summoner", "Witch (black)"],
|
90
|
+
"alignment" => "Neutral"
|
91
|
+
},
|
92
|
+
"Mestronorpha" => {
|
93
|
+
"domain" => "Evil",
|
94
|
+
"portfolio" => "Darkness, Corruption, Malice",
|
95
|
+
"worshippers" => ["Sorcerer", "Witch (black)", "Assassin"],
|
96
|
+
"alignment" => "Evil"
|
97
|
+
},
|
98
|
+
"Tsankili" => {
|
99
|
+
"domain" => "Thievery",
|
100
|
+
"portfolio" => "Trickery, Stealth, Cunning",
|
101
|
+
"worshippers" => ["Thief", "Rogue", "Assassin", "Highwayman"],
|
102
|
+
"alignment" => "Neutral"
|
103
|
+
},
|
104
|
+
"Man Peggon" => {
|
105
|
+
"domain" => "Strength",
|
106
|
+
"portfolio" => "Physical Power, Athletics",
|
107
|
+
"worshippers" => ["Barbarian", "Gladiator", "Body guard"],
|
108
|
+
"alignment" => "Neutral"
|
109
|
+
},
|
110
|
+
"Maleko" => {
|
111
|
+
"domain" => "Inner Strength",
|
112
|
+
"portfolio" => "Meditation, Self-Control, Discipline",
|
113
|
+
"worshippers" => ["Monk", "Mystic"],
|
114
|
+
"alignment" => "Good"
|
115
|
+
},
|
116
|
+
"Recolar" => {
|
117
|
+
"domain" => "Sports",
|
118
|
+
"portfolio" => "Competition, Athletics, Games",
|
119
|
+
"worshippers" => ["Gladiator", "Athlete"],
|
120
|
+
"alignment" => "Neutral"
|
121
|
+
},
|
122
|
+
"Liandra" => {
|
123
|
+
"domain" => "Hope",
|
124
|
+
"portfolio" => "Dreams, Optimism, Inspiration",
|
125
|
+
"worshippers" => ["Clergyman", "Healer"],
|
126
|
+
"alignment" => "Good"
|
127
|
+
}
|
128
|
+
}
|
129
|
+
|
130
|
+
# Character type to deity mapping with variations
|
131
|
+
# Arrays allow for religious diversity - not everyone of a type worships the same god
|
132
|
+
$CharacterReligions = {
|
133
|
+
# Wizards by element - primary deity but with some variation
|
134
|
+
"Wizard (water)" => ["Walmaer", "Walmaer", "Walmaer", "Ielina", "Alesia"], # 60% Walmaer
|
135
|
+
"Wizard (fire)" => ["Ikalio", "Ikalio", "Ikalio", "Taroc", "Elesi"], # 60% Ikalio
|
136
|
+
"Wizard (air)" => ["Shalissa", "Shalissa", "Shalissa", "Ielina", "Anashina"], # 60% Shalissa
|
137
|
+
"Wizard (earth)" => ["Alesia", "Alesia", "Alesia", "Anashina", "Ikalio"], # 60% Alesia
|
138
|
+
"Wizard (prot.)" => ["Alesia", "Cal Amae", "Gwendyll", "MacGillan"],
|
139
|
+
|
140
|
+
# Magic users - diverse religious affiliations
|
141
|
+
"Mage" => ["Ikalio", "Elesi", "Ielina", "Taroc", "Shalissa", "Alesia"],
|
142
|
+
"Witch (white)" => ["Cal Amae", "Liandra", "Elesi", "Gwendyll", "Alesia"],
|
143
|
+
"Witch (black)" => ["Mestronorpha", "Kraagh", "Moltan"],
|
144
|
+
"Sorcerer" => ["Mestronorpha", "Kraagh", "Moltan", "Tsankili"],
|
145
|
+
"Summoner" => ["Kraagh", "Ielina", "Mestronorpha"],
|
146
|
+
"Necromancer" => ["Kraagh", "Kraagh", "Moltan"],
|
147
|
+
"Seer" => ["Ielina", "Ielina", "Fal Munir"],
|
148
|
+
|
149
|
+
# Religious types - broad range of deities
|
150
|
+
"Priest" => ["Cal Amae", "Alesia", "Shalissa", "Ielina", "Elesi", "Liandra", "Walmaer", "Ikalio"],
|
151
|
+
"Clergyman" => ["Cal Amae", "Liandra", "Elesi", "Alesia", "any"],
|
152
|
+
"Monk" => ["Maleko", "Ielina", "Fal Munir", "Cal Amae"],
|
153
|
+
|
154
|
+
# Warriors - mostly Taroc but variations
|
155
|
+
"Warrior" => ["Taroc", "Taroc", "Taroc", "Recolar", "Man Peggon", "Cal Amae"],
|
156
|
+
"Soldier" => ["Taroc", "Taroc", "Cal Amae", "nobility"],
|
157
|
+
"Guard" => ["Taroc", "Alesia", "Cal Amae", "nobility"],
|
158
|
+
"Body guard" => ["Taroc", "Man Peggon", "nobility", "Cal Amae"],
|
159
|
+
"Gladiator" => ["Taroc", "Recolar", "Man Peggon", "Juba"],
|
160
|
+
"Knight" => ["Cal Amae", "nobility", "Taroc"],
|
161
|
+
"Paladin" => ["Cal Amae", "Cal Amae", "Alesia"],
|
162
|
+
|
163
|
+
# Nature types
|
164
|
+
"Ranger" => ["Anashina", "Anashina", "Alesia", "Shalissa"],
|
165
|
+
"Hunter" => ["Anashina", "Anashina", "Taroc"],
|
166
|
+
"Druid" => ["Anashina", "Anashina", "Anashina", "Alesia"],
|
167
|
+
"Barbarian" => ["Man Peggon", "Anashina", "Taroc", "Kraagh"],
|
168
|
+
|
169
|
+
# Rogues
|
170
|
+
"Thief" => ["Tsankili", "Tsankili", "None", "Juba"],
|
171
|
+
"Rogue" => ["Tsankili", "Tsankili", "Shalissa"],
|
172
|
+
"Assassin" => ["Tsankili", "Mestronorpha", "Kraagh", "None"],
|
173
|
+
"Highwayman" => ["Tsankili", "None", "Taroc"],
|
174
|
+
"Scout" => ["Shalissa", "Anashina", "Tsankili"],
|
175
|
+
|
176
|
+
# Scholars
|
177
|
+
"Scholar" => ["Fal Munir", "Fal Munir", "Elesi", "Ielina"],
|
178
|
+
"Sage" => ["Fal Munir", "Ielina", "Elesi", "any"],
|
179
|
+
"Scribe" => ["Fal Munir", "Elesi", "nobility"],
|
180
|
+
|
181
|
+
# Social types
|
182
|
+
"Noble" => ["nobility", "nobility", "Taroc", "Alesia", "Ikalio", "Shalissa", "Walmaer"],
|
183
|
+
"Merchant" => ["Mailatroz", "Mailatroz", "Juba", "Alesia", "Walmaer"],
|
184
|
+
"Trader" => ["Mailatroz", "Mailatroz", "Juba", "Shalissa"],
|
185
|
+
"Entertainer" => ["Juba", "Juba", "Elaari", "Shalissa"],
|
186
|
+
"Jester" => ["Juba", "Tsankili", "Elaari"],
|
187
|
+
|
188
|
+
# Default for commoners
|
189
|
+
"Commoner" => ["Alesia", "Ikalio", "Shalissa", "Walmaer", "Cal Amae", "Mailatroz", "None", "any"],
|
190
|
+
"Farmer" => ["Alesia", "Alesia", "Cal Amae"],
|
191
|
+
"Craftsman" => ["Elesi", "Mailatroz", "Alesia"],
|
192
|
+
"Sailor" => ["Walmaer", "Walmaer", "Shalissa"]
|
193
|
+
}
|
194
|
+
|
195
|
+
# Weighted random deity selection for "any"
|
196
|
+
$RandomDeityWeights = {
|
197
|
+
"Alesia" => 4,
|
198
|
+
"Anashina" => 3,
|
199
|
+
"Cal Amae" => 2,
|
200
|
+
"Elesi" => 1,
|
201
|
+
"Elaari" => 1,
|
202
|
+
"Fal Munir" => 2,
|
203
|
+
"Gwendyll" => 2,
|
204
|
+
"Ielina" => 3,
|
205
|
+
"Ikalio" => 3,
|
206
|
+
"Juba" => 3,
|
207
|
+
"Kraagh" => 2,
|
208
|
+
"Liandra" => 1,
|
209
|
+
"MacGillan" => 2,
|
210
|
+
"Mailatroz" => 2,
|
211
|
+
"Maleko" => 2,
|
212
|
+
"Man Peggon" => 1,
|
213
|
+
"Mestronorpha" => 1,
|
214
|
+
"Moltan" => 3,
|
215
|
+
"Recolar" => 3,
|
216
|
+
"Shalissa" => 3,
|
217
|
+
"Taroc" => 5,
|
218
|
+
"Tsankili" => 2,
|
219
|
+
"Walmaer" => 5,
|
220
|
+
"None" => 6
|
221
|
+
}
|
222
|
+
|
223
|
+
# Function to get appropriate deity for a character type
|
224
|
+
def get_character_religion(type, sex = nil)
|
225
|
+
# Check for exact match first
|
226
|
+
if $CharacterReligions[type]
|
227
|
+
deity = $CharacterReligions[type].sample
|
228
|
+
else
|
229
|
+
# Check for partial matches (for types with parentheses)
|
230
|
+
deity = nil
|
231
|
+
$CharacterReligions.each do |key, deities|
|
232
|
+
if type.include?(key) || key.include?(type)
|
233
|
+
deity = deities.sample
|
234
|
+
break
|
235
|
+
end
|
236
|
+
end
|
237
|
+
|
238
|
+
# Default to weighted random selection
|
239
|
+
deity ||= "any"
|
240
|
+
end
|
241
|
+
|
242
|
+
# Handle special cases
|
243
|
+
case deity
|
244
|
+
when "nobility"
|
245
|
+
# MacGillan for males, Gwendyll for females
|
246
|
+
sex == "F" ? "Gwendyll" : "MacGillan"
|
247
|
+
when "any"
|
248
|
+
# Weighted random selection
|
249
|
+
total_weight = $RandomDeityWeights.values.sum
|
250
|
+
random_value = rand(total_weight)
|
251
|
+
cumulative = 0
|
252
|
+
|
253
|
+
$RandomDeityWeights.each do |god, weight|
|
254
|
+
cumulative += weight
|
255
|
+
if random_value < cumulative
|
256
|
+
return god
|
257
|
+
end
|
258
|
+
end
|
259
|
+
|
260
|
+
"None" # Fallback
|
261
|
+
when "None"
|
262
|
+
nil # No religious affiliation
|
263
|
+
else
|
264
|
+
deity
|
265
|
+
end
|
266
|
+
end
|