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,41 @@
|
|
1
|
+
# The weather tables - for weather type, wind strength and wind direction
|
2
|
+
|
3
|
+
$Weather = Array.new
|
4
|
+
$Weather[0] = "Weird weather"
|
5
|
+
$Weather[1] = "Clear skies"
|
6
|
+
$Weather[2] = "Mainly clear"
|
7
|
+
$Weather[3] = "Partly cloudy"
|
8
|
+
$Weather[4] = "Mainly cloudy"
|
9
|
+
$Weather[5] = "Partly cloudy, some fog"
|
10
|
+
$Weather[6] = "Cloudy, but lucid"
|
11
|
+
$Weather[7] = "Cloudy"
|
12
|
+
$Weather[8] = "Cloudy and gray"
|
13
|
+
$Weather[9] = "Fog"
|
14
|
+
$Weather[10] = "Misty and overcast"
|
15
|
+
$Weather[11] = "Partly cloudy, a bit of rain"
|
16
|
+
$Weather[12] = "Partly cloudy, fog and some rain"
|
17
|
+
$Weather[13] = "Partly cloudy, pos. lightning"
|
18
|
+
$Weather[14] = "Partly cloudy, pos. lightning, rain"
|
19
|
+
$Weather[15] = "Cloudy with some rain"
|
20
|
+
$Weather[16] = "Cloudy and rainy"
|
21
|
+
$Weather[17] = "Cloudy with heavy rain"
|
22
|
+
$Weather[18] = "Cloudy with pos. lightning"
|
23
|
+
$Weather[19] = "Cloudy and rainy with lightning"
|
24
|
+
$Weather[20] = "Cloudy, heavy rain, thunderstorm"
|
25
|
+
|
26
|
+
$Wind_str = Array.new
|
27
|
+
$Wind_str[0] = "No wind"
|
28
|
+
$Wind_str[1] = "Soft wind"
|
29
|
+
$Wind_str[2] = "Windy"
|
30
|
+
$Wind_str[3] = "Very windy"
|
31
|
+
|
32
|
+
$Wind_dir = Array.new
|
33
|
+
$Wind_dir[0] = "N"
|
34
|
+
$Wind_dir[1] = "NE"
|
35
|
+
$Wind_dir[2] = "E"
|
36
|
+
$Wind_dir[3] = "SE"
|
37
|
+
$Wind_dir[4] = "S"
|
38
|
+
$Wind_dir[5] = "SW"
|
39
|
+
$Wind_dir[6] = "W"
|
40
|
+
$Wind_dir[7] = "NW"
|
41
|
+
|
@@ -0,0 +1,127 @@
|
|
1
|
+
# The function for generating relationship maps for inhabitants
|
2
|
+
# of a castle/village/town/city
|
3
|
+
|
4
|
+
def town_relations(town_file)
|
5
|
+
town_file = fix_town_file(town_file)
|
6
|
+
|
7
|
+
town = File.read(town_file)
|
8
|
+
|
9
|
+
if town.match(/#1:/)
|
10
|
+
t = town.gsub(/ \[.*/, '')
|
11
|
+
t.sub!(/^.*#1:/m, '#1:')
|
12
|
+
t.sub!(/\n\n###.*$/, '')
|
13
|
+
t.gsub!(/#\d+:.*\n/, '')
|
14
|
+
t.gsub!(/ +/, '')
|
15
|
+
h = t.split("\n\n")
|
16
|
+
house = []
|
17
|
+
h.each_with_index do |item, index|
|
18
|
+
house[index] = item.split("\n")
|
19
|
+
end
|
20
|
+
persons = []
|
21
|
+
i = 0
|
22
|
+
house.each_with_index do |item, index|
|
23
|
+
item.each do |p|
|
24
|
+
persons[i] = p + "\n##{index+1}"
|
25
|
+
i += 1
|
26
|
+
end
|
27
|
+
end
|
28
|
+
persons.map! { |p| p.sub!(/ \(/, "\n(") }
|
29
|
+
persons.map! { |p| p.gsub!(/\n/, '\\n') }
|
30
|
+
persons.map! { |p| "\"" + p + "\"" }
|
31
|
+
else
|
32
|
+
persons = town.split("\n")
|
33
|
+
end
|
34
|
+
|
35
|
+
dot_text = <<DOTSTART
|
36
|
+
digraph town {
|
37
|
+
rankdir="LR"
|
38
|
+
splines=true
|
39
|
+
overlap=false
|
40
|
+
edge [ fontsize=8 len=1 arrowhead="none"]
|
41
|
+
fixedsize=true
|
42
|
+
DOTSTART
|
43
|
+
|
44
|
+
i = 0
|
45
|
+
persons.length.times do
|
46
|
+
p = persons.dup
|
47
|
+
cur = p[i]
|
48
|
+
p.delete(p[i])
|
49
|
+
r = rand(6) - 2
|
50
|
+
r = 0 if r < 0
|
51
|
+
r.times do
|
52
|
+
dot_text += cur
|
53
|
+
line = rand(5) - 2
|
54
|
+
dot_text += " -> "
|
55
|
+
dot_text += p.sample
|
56
|
+
dot_text += " [color=\"red\"]" if line < 0
|
57
|
+
dot_text += "\n"
|
58
|
+
end
|
59
|
+
i += 1
|
60
|
+
end
|
61
|
+
dot_text += "}"
|
62
|
+
|
63
|
+
$town_png = File.dirname(town_file) + "/" + File.basename(town_file, ".*") + ".png"
|
64
|
+
town_dot = File.dirname(town_file) + "/" + File.basename(town_file, ".*") + ".dot"
|
65
|
+
File.delete($town_png) if File.exist?($town_png)
|
66
|
+
File.delete(town_dot) if File.exist?(town_dot)
|
67
|
+
|
68
|
+
begin
|
69
|
+
File.write(town_dot, dot_text, perm: 0644)
|
70
|
+
# Silent - no puts in TUI mode
|
71
|
+
rescue
|
72
|
+
# Silent error - no puts in TUI mode
|
73
|
+
end
|
74
|
+
begin
|
75
|
+
`dot -Tpng #{town_dot} -o #{$town_png}`
|
76
|
+
# Silent - no puts in TUI mode
|
77
|
+
rescue
|
78
|
+
# Silent error - no puts in TUI mode
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
# Function to generate a text file of the relationships
|
83
|
+
def town_dot2txt(town_file)
|
84
|
+
town_file = fix_town_file(town_file)
|
85
|
+
town_name = File.basename(town_file, ".*").gsub(/([[:upper:]])/, ' \1').sub(/ /, '')
|
86
|
+
|
87
|
+
town_dot_file = File.dirname(town_file) + "/" + File.basename(town_file, ".*") + ".dot"
|
88
|
+
$townrel_file = File.dirname(town_file) + "/" + File.basename(town_file, ".*") + "_relations.txt"
|
89
|
+
|
90
|
+
townrel = ""
|
91
|
+
File.open(town_dot_file) do |fl|
|
92
|
+
townrel += fl.read
|
93
|
+
end
|
94
|
+
|
95
|
+
townrel.sub!(/^.*true\n/m, '')
|
96
|
+
townrel.gsub!(/\\n/, ', ')
|
97
|
+
t = townrel
|
98
|
+
t.each_line do |line|
|
99
|
+
if / \[color=\"red\"\]/ =~ line
|
100
|
+
new_line = line.sub(/ \[color=\"red\"\]/, '')
|
101
|
+
else
|
102
|
+
new_line = line.sub(/->/, '+>')
|
103
|
+
end
|
104
|
+
townrel.sub!(line, new_line)
|
105
|
+
end
|
106
|
+
townrel.gsub!(/\"/, '')
|
107
|
+
townrel.gsub!(/\n}/, '')
|
108
|
+
townrel = "#{town_name} relationships:\n\n" + townrel
|
109
|
+
|
110
|
+
File.delete($townrel_file) if File.exist?($townrel_file)
|
111
|
+
begin
|
112
|
+
File.open($townrel_file, File::CREAT|File::EXCL|File::RDWR, 0644) do |fl|
|
113
|
+
fl.write townrel
|
114
|
+
end
|
115
|
+
# Silent - no puts in TUI mode
|
116
|
+
rescue
|
117
|
+
# Silent error - no puts in TUI mode
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
# Simple function to ensure proper path and extension of a town input file
|
122
|
+
def fix_town_file(town_file)
|
123
|
+
town_file = "saved/" + town_file if File.dirname(town_file) == "."
|
124
|
+
town_file = File.basename(town_file) + ".npc" if File.basename(town_file, ".*") == File.basename(town_file)
|
125
|
+
abort("No such Town file!") unless File.exist?(town_file)
|
126
|
+
return town_file
|
127
|
+
end
|
data/includes/weather.rb
ADDED
@@ -0,0 +1,108 @@
|
|
1
|
+
# The class that generates arandom weather
|
2
|
+
|
3
|
+
# Generate random weather for a day
|
4
|
+
class Weather_day
|
5
|
+
|
6
|
+
attr_reader :weather, :wind_dir, :wind_str, :wind, :special
|
7
|
+
attr_writer :weather, :wind_dir, :wind_str, :wind, :special
|
8
|
+
|
9
|
+
def initialize(weather, wind_dir, wind_str, month, day)
|
10
|
+
weather += (oD6 - 4) if month == 6 # Juba
|
11
|
+
if rand(2) == 0
|
12
|
+
weather = (weather + oD6 + oD6 - 7).abs % 41
|
13
|
+
weather += 4 if month == 1 and rand(4) == 0 # Walmaer
|
14
|
+
weather -= 1 if month == 7 # Taroc
|
15
|
+
weather -= 4 if month == 8 and rand(3) == 0 # Man Peggon
|
16
|
+
weather += 4 if month == 13 and rand(2) == 0 # Mestronorpha
|
17
|
+
weather = 40 - weather if weather > 20
|
18
|
+
end
|
19
|
+
weather = 11 if month == 1 and day == 0 # Walmaer day
|
20
|
+
weather = 1 if month == 7 and day == 14 # Ikalio day
|
21
|
+
weather = 1 if month == 13 and day == 27 # Ielina day
|
22
|
+
weather = rand(1..5) if month == 6 and day == 9 # Ielina day
|
23
|
+
|
24
|
+
wind_dir = (wind_dir + (oD6 + oD6 - 7)/3) % 8 if month == 6 # Juba
|
25
|
+
if rand(2) == 0
|
26
|
+
wind_dir = (wind_dir + (oD6 + oD6 - 7)/3) % 8
|
27
|
+
end
|
28
|
+
|
29
|
+
wind_str = (wind_str + (oD6 + oD6 - 5)/6).abs if month == 6 # Juba
|
30
|
+
if rand(2) == 0
|
31
|
+
wind_str = (wind_str + (oD6 + oD6 - 7)/6).abs
|
32
|
+
wind_str += 1 if month == 1 and rand(3) == 0 # Walmaer
|
33
|
+
wind_str += 1 if month == 10 and rand(2) == 0 # Fal Munir
|
34
|
+
end
|
35
|
+
wind_str = 0 if wind_str < 0
|
36
|
+
wind_str = 3 if wind_str > 3
|
37
|
+
wind_str = 3 if month == 10 and day == 20 # Shalissa day
|
38
|
+
|
39
|
+
weather = 1 if weather < 1
|
40
|
+
@weather = weather
|
41
|
+
@wind_dir = wind_dir
|
42
|
+
@wind_str = wind_str
|
43
|
+
@wind = (wind_dir + 1) + ((wind_str - 1) * 8)
|
44
|
+
@wind = 0 if wind_str == 0
|
45
|
+
@special = ""
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
|
50
|
+
# Generate random weather for a whole month
|
51
|
+
class Weather_month
|
52
|
+
|
53
|
+
attr_reader :day, :month_n
|
54
|
+
|
55
|
+
def initialize(month, weather, wind)
|
56
|
+
|
57
|
+
@month_n = month
|
58
|
+
|
59
|
+
@weather_n = weather.to_i
|
60
|
+
@wind_str_n = ((wind.to_i) / 8).ceil
|
61
|
+
@wind_dir_n = (wind.to_i) % 8
|
62
|
+
|
63
|
+
@day = []
|
64
|
+
28.times do |d|
|
65
|
+
@day[d] = Weather_day.new(@weather_n, @wind_dir_n, @wind_str_n, @month_n, d)
|
66
|
+
@weather_n = @day[d].weather
|
67
|
+
@wind_dir_n = @day[d].wind_dir
|
68
|
+
@wind_str_n = @day[d].wind_str
|
69
|
+
end
|
70
|
+
|
71
|
+
case @month_n
|
72
|
+
when 1
|
73
|
+
@day[0].special = "Walmaer"
|
74
|
+
@day[8].special = "Cal Amae"
|
75
|
+
when 2
|
76
|
+
@day[1].special = "Elesi"
|
77
|
+
when 3
|
78
|
+
@day[3].special = "Anashina"
|
79
|
+
@day[14].special = "Ish Nakil"
|
80
|
+
@day[17].special = "Fenimaal"
|
81
|
+
@day[20].special = "Fionella"
|
82
|
+
when 4
|
83
|
+
@day[7].special = "Alesia"
|
84
|
+
@day[11].special = "Gwendyll"
|
85
|
+
when 5
|
86
|
+
@day[12].special = "MacGillan"
|
87
|
+
when 6
|
88
|
+
@day[9].special = "Juba"
|
89
|
+
when 7
|
90
|
+
@day[10].special = "Taroc"
|
91
|
+
@day[14].special = "Ikalio"
|
92
|
+
when 8
|
93
|
+
@day[3].special = "Man Peggon"
|
94
|
+
when 9
|
95
|
+
@day[0].special = "Maleko"
|
96
|
+
when 10
|
97
|
+
@day[6].special = "Fal Munir"
|
98
|
+
@day[20].special = "Shalissa"
|
99
|
+
when 11
|
100
|
+
@day[2].special = "Moltan"
|
101
|
+
when 12
|
102
|
+
@day[7].special = "Kraagh"
|
103
|
+
when 13
|
104
|
+
@day[5].special = "Mestronorpha"
|
105
|
+
@day[27].special = "Ielina"
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
@@ -0,0 +1,114 @@
|
|
1
|
+
# Weather to Latex function - generates a pdf for a month worth of weather
|
2
|
+
|
3
|
+
def weather_out_latex(w,cli)
|
4
|
+
|
5
|
+
cli == "web" ? t = "../" : t = ""
|
6
|
+
|
7
|
+
bgc = ["FFFFFF", "FFFFFF", "FFFFFF", "80D55B", "EAB8F5", "BD98F3", "98E3F3", "AFAFAF", "DCB796", "AD9D8F", "E9E4B0", "FFC37D", "6F6F6F", "525252"]
|
8
|
+
|
9
|
+
l = <<LATEXSTART
|
10
|
+
%Created by npcg, see: https://github.com/isene/npcg
|
11
|
+
\\documentclass[14pt,a4paper]{article}
|
12
|
+
\\usepackage[margin=2cm]{geometry}
|
13
|
+
\\usepackage{graphicx}
|
14
|
+
\\usepackage[dvipsnames]{xcolor}
|
15
|
+
\\definecolor{#{w.month_n}}{HTML}{#{bgc[w.month_n]}}
|
16
|
+
\\usepackage{pdfpages}
|
17
|
+
\\pagenumbering{gobble}
|
18
|
+
LATEXSTART
|
19
|
+
|
20
|
+
l += <<LATEXTABLESTART
|
21
|
+
\\begin{document}
|
22
|
+
\\makeatletter
|
23
|
+
\\setlength{\\@fptop}{0pt}
|
24
|
+
\\makeatother
|
25
|
+
\\begin{table}
|
26
|
+
\\begin{center}
|
27
|
+
\\fcolorbox{black}{#{w.month_n}}{\\begin{minipage}[c][0.6cm][c]{\\linewidth}\\begin{center}{\\LARGE \\textsf{#{$Month[w.month_n]}}}\\end{center}\\end{minipage}}\\\\
|
28
|
+
\\smallskip
|
29
|
+
\\fbox{\\begin{tabular}{| p{2cm} | p{2cm} | p{2cm} | p{2cm} | p{2cm} | p{2cm} | p{2cm} |}
|
30
|
+
LATEXTABLESTART
|
31
|
+
|
32
|
+
# Create each cell; tc = table cell
|
33
|
+
tc = []
|
34
|
+
w.day.each_with_index do |d,i|
|
35
|
+
imgflag = false
|
36
|
+
tc[i] = "\\vspace{0.02cm}"
|
37
|
+
tc[i] += "\\raisebox{1ex}{{\\bfseries{\\large #{i+1}}}}"
|
38
|
+
tc[i] += "\\hfill"
|
39
|
+
if d.special != ""
|
40
|
+
g = d.special.delete(' ').downcase
|
41
|
+
tc[i] += "\\includegraphics[width=0.5cm]{#{t}images/gods/#{g}.png}"
|
42
|
+
imgflag = true
|
43
|
+
end
|
44
|
+
unless w.month_n == 0
|
45
|
+
if i == 0
|
46
|
+
tc[i] += " \\includegraphics[width=0.47cm]{#{t}images/moon/0.png}"; imgflag = true
|
47
|
+
elsif i == 7
|
48
|
+
tc[i] += " \\includegraphics[width=0.47cm]{#{t}images/moon/1.png}"; imgflag = true
|
49
|
+
elsif i == 14
|
50
|
+
tc[i] += " \\includegraphics[width=0.47cm]{#{t}images/moon/2.png}"; imgflag = true
|
51
|
+
elsif i == 21
|
52
|
+
tc[i] += " \\includegraphics[width=0.47cm]{#{t}images/moon/3.png}"; imgflag = true
|
53
|
+
end
|
54
|
+
end
|
55
|
+
tc[i] += "\\includegraphics[width=0.5cm]{#{t}images/weather/blank.png}" if imgflag == false
|
56
|
+
tc[i] += "\\vspace{0.3cm}"
|
57
|
+
tc[i] += "\\newline"
|
58
|
+
tc[i] += "\\includegraphics[width=0.9cm]{#{t}images/weather/weather#{d.weather}.png}"
|
59
|
+
tc[i] += "\\hfill"
|
60
|
+
tc[i] += "\\includegraphics[width=0.9cm]{#{t}images/weather/wind#{d.wind}.png}"
|
61
|
+
end
|
62
|
+
|
63
|
+
#Display each cell
|
64
|
+
j = 0
|
65
|
+
l += "\\hline\n"
|
66
|
+
4.times do
|
67
|
+
6.times do
|
68
|
+
l += "#{tc[j]} & "
|
69
|
+
j += 1
|
70
|
+
end
|
71
|
+
l += "#{tc[j]} \\\\\n"
|
72
|
+
l += "\\hline\n"
|
73
|
+
j += 1
|
74
|
+
end
|
75
|
+
|
76
|
+
l += <<LATEXTABLEEND
|
77
|
+
\\end{tabular}}
|
78
|
+
\\end{center}
|
79
|
+
\\end{table}
|
80
|
+
LATEXTABLEEND
|
81
|
+
|
82
|
+
l += "\\noindent\\textbf{{\\large Events this month:}}\n"
|
83
|
+
10.times do
|
84
|
+
l += "\\vspace{1.2cm}\n"
|
85
|
+
l += "\\hline\n"
|
86
|
+
end
|
87
|
+
|
88
|
+
l += "\\end{document}"
|
89
|
+
|
90
|
+
File.delete("saved/weather.tex") if File.exist?("saved/weather.tex")
|
91
|
+
begin
|
92
|
+
File.write("saved/weather.tex", l, perm: 0644)
|
93
|
+
rescue
|
94
|
+
puts "Error writing file weather.tex"
|
95
|
+
end
|
96
|
+
|
97
|
+
system "clear" if t == ""
|
98
|
+
|
99
|
+
File.delete("saved/weather.pdf") if File.exist?("saved/weather.pdf")
|
100
|
+
if File.exist?("saved/weather.tex")
|
101
|
+
`pdflatex -interaction nonstopmode -output-directory saved saved/weather.tex`
|
102
|
+
if File.exist?("saved/weather.pdf")
|
103
|
+
puts "Weather file created: saved/weather.pdf"
|
104
|
+
else
|
105
|
+
puts "Weather file not created!"
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
if t == ""
|
110
|
+
puts "\nPress ENTER to continue"
|
111
|
+
gets
|
112
|
+
end
|
113
|
+
|
114
|
+
end
|
data/lib/rcurses.rb
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
# Stub implementation of rcurses for systems without the full gem
|
2
|
+
# This provides basic functionality for AMAR Tools
|
3
|
+
class String
|
4
|
+
def fg(color)
|
5
|
+
"\e[38;5;#{color}m#{self}\e[0m"
|
6
|
+
end
|
7
|
+
|
8
|
+
def bg(color)
|
9
|
+
"\e[48;5;#{color}m#{self}\e[0m"
|
10
|
+
end
|
11
|
+
|
12
|
+
def b
|
13
|
+
"\e[1m#{self}\e[0m"
|
14
|
+
end
|
15
|
+
|
16
|
+
def u
|
17
|
+
"\e[4m#{self}\e[0m"
|
18
|
+
end
|
19
|
+
|
20
|
+
def i
|
21
|
+
"\e[3m#{self}\e[0m"
|
22
|
+
end
|
23
|
+
|
24
|
+
def pure
|
25
|
+
self.gsub(/\e\[[0-9;]*m/, '')
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
module Rcurses
|
30
|
+
def self.clear_screen
|
31
|
+
print "\e[2J\e[H"
|
32
|
+
end
|
33
|
+
end
|
metadata
ADDED
@@ -0,0 +1,157 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: amar-rpg
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Geir Isene
|
8
|
+
autorequire:
|
9
|
+
bindir: "."
|
10
|
+
cert_chain: []
|
11
|
+
date: 2025-10-04 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rcurses
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.9'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.9'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '2.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '2.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '13.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '13.0'
|
55
|
+
description: A comprehensive terminal UI for the Amar RPG with character generation,
|
56
|
+
encounter management, weather generation, and complete campaign tools. Features
|
57
|
+
both modern 3-tier and classic 2-tier character systems.
|
58
|
+
email:
|
59
|
+
- g@isene.com
|
60
|
+
executables:
|
61
|
+
- amar-tui.rb
|
62
|
+
extensions: []
|
63
|
+
extra_rdoc_files: []
|
64
|
+
files:
|
65
|
+
- "./amar-tui.rb"
|
66
|
+
- LICENSE
|
67
|
+
- README.md
|
68
|
+
- amar-tui.rb
|
69
|
+
- cli_enc_output.rb
|
70
|
+
- cli_enc_output_new.rb
|
71
|
+
- cli_enc_output_new_3tier.rb
|
72
|
+
- cli_enc_output_new_compact.rb
|
73
|
+
- cli_name_gen.rb
|
74
|
+
- cli_npc_output.rb
|
75
|
+
- cli_npc_output_new.rb
|
76
|
+
- cli_town_output.rb
|
77
|
+
- cli_weather_output.rb
|
78
|
+
- includes/class_enc.rb
|
79
|
+
- includes/class_enc_new.rb
|
80
|
+
- includes/class_monster_new.rb
|
81
|
+
- includes/class_npc.rb
|
82
|
+
- includes/class_npc_new.rb
|
83
|
+
- includes/class_npc_new.rb.backup
|
84
|
+
- includes/class_npc_new_skills.rb
|
85
|
+
- includes/class_town.rb
|
86
|
+
- includes/d6s.rb
|
87
|
+
- includes/equipment_tables.rb
|
88
|
+
- includes/functions.rb
|
89
|
+
- includes/includes.rb
|
90
|
+
- includes/randomizer.rb
|
91
|
+
- includes/spell_catalog.rb
|
92
|
+
- includes/tables/armour.rb
|
93
|
+
- includes/tables/chartype.rb
|
94
|
+
- includes/tables/chartype_new.rb
|
95
|
+
- includes/tables/chartype_new_full.rb
|
96
|
+
- includes/tables/enc_specific.rb
|
97
|
+
- includes/tables/enc_type.rb
|
98
|
+
- includes/tables/encounters.rb
|
99
|
+
- includes/tables/magick.rb
|
100
|
+
- includes/tables/melee.rb
|
101
|
+
- includes/tables/missile.rb
|
102
|
+
- includes/tables/monster_stats_new.rb
|
103
|
+
- includes/tables/month.rb
|
104
|
+
- includes/tables/names.rb
|
105
|
+
- includes/tables/personality.rb
|
106
|
+
- includes/tables/race_templates.rb
|
107
|
+
- includes/tables/religions.rb
|
108
|
+
- includes/tables/spells_new.rb
|
109
|
+
- includes/tables/tier_system.rb
|
110
|
+
- includes/tables/town.rb
|
111
|
+
- includes/tables/weather.rb
|
112
|
+
- includes/town_relations.rb
|
113
|
+
- includes/weather.rb
|
114
|
+
- includes/weather2latex.rb
|
115
|
+
- lib/rcurses.rb
|
116
|
+
homepage: https://github.com/isene/Amar-Tools
|
117
|
+
licenses:
|
118
|
+
- Unlicense
|
119
|
+
metadata:
|
120
|
+
homepage_uri: https://github.com/isene/Amar-Tools
|
121
|
+
source_code_uri: https://github.com/isene/Amar-Tools
|
122
|
+
changelog_uri: https://github.com/isene/Amar-Tools/blob/master/README.md
|
123
|
+
post_install_message: |2+
|
124
|
+
|
125
|
+
===========================================
|
126
|
+
AMAR RPG Tools v2.0.1 has been installed!
|
127
|
+
===========================================
|
128
|
+
|
129
|
+
To start the application:
|
130
|
+
amar-tui.rb
|
131
|
+
|
132
|
+
For more information:
|
133
|
+
https://github.com/isene/Amar-Tools
|
134
|
+
|
135
|
+
Enjoy your AMAR RPG adventures!
|
136
|
+
|
137
|
+
rdoc_options: []
|
138
|
+
require_paths:
|
139
|
+
- lib
|
140
|
+
- includes
|
141
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: 3.0.0
|
146
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
147
|
+
requirements:
|
148
|
+
- - ">="
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
version: '0'
|
151
|
+
requirements: []
|
152
|
+
rubygems_version: 3.4.20
|
153
|
+
signing_key:
|
154
|
+
specification_version: 4
|
155
|
+
summary: AMAR RPG Tools - Terminal UI and utilities for Amar RPG
|
156
|
+
test_files: []
|
157
|
+
...
|