gemwarrior 0.11.1 → 0.11.2
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 +4 -4
- data/data/default_world.yaml +9 -235
- data/lib/gemwarrior/entities/location.rb +1 -1
- data/lib/gemwarrior/entities/monster.rb +2 -2
- data/lib/gemwarrior/entities/monsters/bosses/emerald.rb +3 -5
- data/lib/gemwarrior/entities/monsters/bosses/garynetty.rb +4 -4
- data/lib/gemwarrior/game.rb +17 -0
- data/lib/gemwarrior/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: dacc59b6cb7fd73c686874f3be876c4fb178b1da
|
|
4
|
+
data.tar.gz: 0e6136ce2d549d8344eb216b609a71bafbc5d25a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8cfbdae9d75981cef7e137197c0706b53718819e8d4d0135f9794d9fa8384977fc333f6ba31bd0141b9447861287b33b63f701ada8996ba145841d942f57c213
|
|
7
|
+
data.tar.gz: 9bd49193091f57fee8f9581e3ae19b9436291c72c95b3057358adef2d39c954668c0901afb1514a38ab43a4171a858ecf63d98081e433f0439b0172b59913f47
|
data/data/default_world.yaml
CHANGED
|
@@ -916,29 +916,7 @@ locations:
|
|
|
916
916
|
excl: false
|
|
917
917
|
items: []
|
|
918
918
|
monsters_abounding: []
|
|
919
|
-
bosses_abounding:
|
|
920
|
-
- !ruby/object:Gemwarrior::Garynetty
|
|
921
|
-
name: garynetty
|
|
922
|
-
name_display: Garynetty
|
|
923
|
-
description: Conservative, yet odd, the Garynetty is not messing around.
|
|
924
|
-
face: irregular
|
|
925
|
-
hands: sharp
|
|
926
|
-
mood: abrasive
|
|
927
|
-
level: 13
|
|
928
|
-
hp_cur: 45
|
|
929
|
-
hp_max: 45
|
|
930
|
-
atk_lo: 27
|
|
931
|
-
atk_hi: 33
|
|
932
|
-
defense: 9
|
|
933
|
-
dexterity: 10
|
|
934
|
-
inventory: !ruby/object:Gemwarrior::Inventory
|
|
935
|
-
armor:
|
|
936
|
-
items: []
|
|
937
|
-
weapon:
|
|
938
|
-
rox: 29
|
|
939
|
-
xp: 41
|
|
940
|
-
battlecry: "...?!"
|
|
941
|
-
is_boss: true
|
|
919
|
+
bosses_abounding: []
|
|
942
920
|
checked_for_monsters: false
|
|
943
921
|
- !ruby/object:Gemwarrior::Location
|
|
944
922
|
name: pain_quarry-east
|
|
@@ -960,29 +938,7 @@ locations:
|
|
|
960
938
|
excl: false
|
|
961
939
|
items: []
|
|
962
940
|
monsters_abounding: []
|
|
963
|
-
bosses_abounding:
|
|
964
|
-
- !ruby/object:Gemwarrior::Garynetty
|
|
965
|
-
name: garynetty
|
|
966
|
-
name_display: Garynetty
|
|
967
|
-
description: Conservative, yet odd, the Garynetty is not messing around.
|
|
968
|
-
face: irregular
|
|
969
|
-
hands: sharp
|
|
970
|
-
mood: abrasive
|
|
971
|
-
level: 13
|
|
972
|
-
hp_cur: 40
|
|
973
|
-
hp_max: 40
|
|
974
|
-
atk_lo: 31
|
|
975
|
-
atk_hi: 34
|
|
976
|
-
defense: 9
|
|
977
|
-
dexterity: 12
|
|
978
|
-
inventory: !ruby/object:Gemwarrior::Inventory
|
|
979
|
-
armor:
|
|
980
|
-
items: []
|
|
981
|
-
weapon:
|
|
982
|
-
rox: 26
|
|
983
|
-
xp: 50
|
|
984
|
-
battlecry: "...?!"
|
|
985
|
-
is_boss: true
|
|
941
|
+
bosses_abounding: []
|
|
986
942
|
checked_for_monsters: false
|
|
987
943
|
- !ruby/object:Gemwarrior::Location
|
|
988
944
|
name: pain_quarry-central
|
|
@@ -1004,29 +960,7 @@ locations:
|
|
|
1004
960
|
excl: false
|
|
1005
961
|
items: []
|
|
1006
962
|
monsters_abounding: []
|
|
1007
|
-
bosses_abounding:
|
|
1008
|
-
- !ruby/object:Gemwarrior::Garynetty
|
|
1009
|
-
name: garynetty
|
|
1010
|
-
name_display: Garynetty
|
|
1011
|
-
description: Conservative, yet odd, the Garynetty is not messing around.
|
|
1012
|
-
face: irregular
|
|
1013
|
-
hands: sharp
|
|
1014
|
-
mood: abrasive
|
|
1015
|
-
level: 15
|
|
1016
|
-
hp_cur: 52
|
|
1017
|
-
hp_max: 52
|
|
1018
|
-
atk_lo: 34
|
|
1019
|
-
atk_hi: 40
|
|
1020
|
-
defense: 7
|
|
1021
|
-
dexterity: 12
|
|
1022
|
-
inventory: !ruby/object:Gemwarrior::Inventory
|
|
1023
|
-
armor:
|
|
1024
|
-
items: []
|
|
1025
|
-
weapon:
|
|
1026
|
-
rox: 34
|
|
1027
|
-
xp: 45
|
|
1028
|
-
battlecry: "...?!"
|
|
1029
|
-
is_boss: true
|
|
963
|
+
bosses_abounding: []
|
|
1030
964
|
checked_for_monsters: false
|
|
1031
965
|
- !ruby/object:Gemwarrior::Location
|
|
1032
966
|
name: pain_quarry-south
|
|
@@ -1048,29 +982,7 @@ locations:
|
|
|
1048
982
|
excl: false
|
|
1049
983
|
items: []
|
|
1050
984
|
monsters_abounding: []
|
|
1051
|
-
bosses_abounding:
|
|
1052
|
-
- !ruby/object:Gemwarrior::Garynetty
|
|
1053
|
-
name: garynetty
|
|
1054
|
-
name_display: Garynetty
|
|
1055
|
-
description: Conservative, yet odd, the Garynetty is not messing around.
|
|
1056
|
-
face: irregular
|
|
1057
|
-
hands: sharp
|
|
1058
|
-
mood: abrasive
|
|
1059
|
-
level: 12
|
|
1060
|
-
hp_cur: 33
|
|
1061
|
-
hp_max: 33
|
|
1062
|
-
atk_lo: 26
|
|
1063
|
-
atk_hi: 31
|
|
1064
|
-
defense: 9
|
|
1065
|
-
dexterity: 12
|
|
1066
|
-
inventory: !ruby/object:Gemwarrior::Inventory
|
|
1067
|
-
armor:
|
|
1068
|
-
items: []
|
|
1069
|
-
weapon:
|
|
1070
|
-
rox: 27
|
|
1071
|
-
xp: 37
|
|
1072
|
-
battlecry: "...?!"
|
|
1073
|
-
is_boss: true
|
|
985
|
+
bosses_abounding: []
|
|
1074
986
|
checked_for_monsters: false
|
|
1075
987
|
- !ruby/object:Gemwarrior::Location
|
|
1076
988
|
name: pain_quarry-west
|
|
@@ -1104,29 +1016,7 @@ locations:
|
|
|
1104
1016
|
useable: true
|
|
1105
1017
|
equippable: false
|
|
1106
1018
|
monsters_abounding: []
|
|
1107
|
-
bosses_abounding:
|
|
1108
|
-
- !ruby/object:Gemwarrior::Garynetty
|
|
1109
|
-
name: garynetty
|
|
1110
|
-
name_display: Garynetty
|
|
1111
|
-
description: Conservative, yet odd, the Garynetty is not messing around.
|
|
1112
|
-
face: irregular
|
|
1113
|
-
hands: sharp
|
|
1114
|
-
mood: abrasive
|
|
1115
|
-
level: 14
|
|
1116
|
-
hp_cur: 44
|
|
1117
|
-
hp_max: 44
|
|
1118
|
-
atk_lo: 30
|
|
1119
|
-
atk_hi: 41
|
|
1120
|
-
defense: 9
|
|
1121
|
-
dexterity: 12
|
|
1122
|
-
inventory: !ruby/object:Gemwarrior::Inventory
|
|
1123
|
-
armor:
|
|
1124
|
-
items: []
|
|
1125
|
-
weapon:
|
|
1126
|
-
rox: 41
|
|
1127
|
-
xp: 52
|
|
1128
|
-
battlecry: "...?!"
|
|
1129
|
-
is_boss: true
|
|
1019
|
+
bosses_abounding: []
|
|
1130
1020
|
checked_for_monsters: false
|
|
1131
1021
|
- !ruby/object:Gemwarrior::Location
|
|
1132
1022
|
name: pain_quarry-northwest
|
|
@@ -1148,29 +1038,7 @@ locations:
|
|
|
1148
1038
|
excl: false
|
|
1149
1039
|
items: []
|
|
1150
1040
|
monsters_abounding: []
|
|
1151
|
-
bosses_abounding:
|
|
1152
|
-
- !ruby/object:Gemwarrior::Garynetty
|
|
1153
|
-
name: garynetty
|
|
1154
|
-
name_display: Garynetty
|
|
1155
|
-
description: Conservative, yet odd, the Garynetty is not messing around.
|
|
1156
|
-
face: irregular
|
|
1157
|
-
hands: sharp
|
|
1158
|
-
mood: abrasive
|
|
1159
|
-
level: 12
|
|
1160
|
-
hp_cur: 37
|
|
1161
|
-
hp_max: 37
|
|
1162
|
-
atk_lo: 28
|
|
1163
|
-
atk_hi: 32
|
|
1164
|
-
defense: 9
|
|
1165
|
-
dexterity: 12
|
|
1166
|
-
inventory: !ruby/object:Gemwarrior::Inventory
|
|
1167
|
-
armor:
|
|
1168
|
-
items: []
|
|
1169
|
-
weapon:
|
|
1170
|
-
rox: 24
|
|
1171
|
-
xp: 44
|
|
1172
|
-
battlecry: "...?!"
|
|
1173
|
-
is_boss: true
|
|
1041
|
+
bosses_abounding: []
|
|
1174
1042
|
checked_for_monsters: false
|
|
1175
1043
|
- !ruby/object:Gemwarrior::Location
|
|
1176
1044
|
name: pain_quarry-north
|
|
@@ -1192,29 +1060,7 @@ locations:
|
|
|
1192
1060
|
excl: false
|
|
1193
1061
|
items: []
|
|
1194
1062
|
monsters_abounding: []
|
|
1195
|
-
bosses_abounding:
|
|
1196
|
-
- !ruby/object:Gemwarrior::Garynetty
|
|
1197
|
-
name: garynetty
|
|
1198
|
-
name_display: Garynetty
|
|
1199
|
-
description: Conservative, yet odd, the Garynetty is not messing around.
|
|
1200
|
-
face: irregular
|
|
1201
|
-
hands: sharp
|
|
1202
|
-
mood: abrasive
|
|
1203
|
-
level: 12
|
|
1204
|
-
hp_cur: 37
|
|
1205
|
-
hp_max: 37
|
|
1206
|
-
atk_lo: 29
|
|
1207
|
-
atk_hi: 32
|
|
1208
|
-
defense: 7
|
|
1209
|
-
dexterity: 12
|
|
1210
|
-
inventory: !ruby/object:Gemwarrior::Inventory
|
|
1211
|
-
armor:
|
|
1212
|
-
items: []
|
|
1213
|
-
weapon:
|
|
1214
|
-
rox: 32
|
|
1215
|
-
xp: 45
|
|
1216
|
-
battlecry: "...?!"
|
|
1217
|
-
is_boss: true
|
|
1063
|
+
bosses_abounding: []
|
|
1218
1064
|
checked_for_monsters: false
|
|
1219
1065
|
- !ruby/object:Gemwarrior::Location
|
|
1220
1066
|
name: plains-outskirts
|
|
@@ -1443,42 +1289,7 @@ locations:
|
|
|
1443
1289
|
excl: false
|
|
1444
1290
|
items: []
|
|
1445
1291
|
monsters_abounding: []
|
|
1446
|
-
bosses_abounding:
|
|
1447
|
-
- !ruby/object:Gemwarrior::Jaspern
|
|
1448
|
-
name: jaspern
|
|
1449
|
-
name_display: Jaspern
|
|
1450
|
-
description: Dark green hair, but yellow and brown skin, Jaspern is actually somewhat translucent, and he does not appear to be moveable or go-around-able.
|
|
1451
|
-
face: crystalline
|
|
1452
|
-
hands: small
|
|
1453
|
-
mood: opaque
|
|
1454
|
-
level: 8
|
|
1455
|
-
hp_cur: 27
|
|
1456
|
-
hp_max: 27
|
|
1457
|
-
atk_lo: 18
|
|
1458
|
-
atk_hi: 25
|
|
1459
|
-
defense: 6
|
|
1460
|
-
dexterity: 8
|
|
1461
|
-
inventory: !ruby/object:Gemwarrior::Inventory
|
|
1462
|
-
armor:
|
|
1463
|
-
items:
|
|
1464
|
-
- !ruby/object:Gemwarrior::Tent
|
|
1465
|
-
equipped: false
|
|
1466
|
-
consumable: false
|
|
1467
|
-
used: false
|
|
1468
|
-
number_of_uses: 5
|
|
1469
|
-
name: tent
|
|
1470
|
-
name_display: Tent
|
|
1471
|
-
description: A magical, two-room suite pops up when you flick this otherwise folded
|
|
1472
|
-
piece of canvas just right, perfect for a night's rest.
|
|
1473
|
-
takeable: true
|
|
1474
|
-
useable: true
|
|
1475
|
-
equippable: false
|
|
1476
|
-
weapon:
|
|
1477
|
-
rox: 50
|
|
1478
|
-
xp: 80
|
|
1479
|
-
battlecry: "I am the keeper of this bridge! To go further, you must get through me!"
|
|
1480
|
-
is_boss: true
|
|
1481
|
-
is_dead: false
|
|
1292
|
+
bosses_abounding: []
|
|
1482
1293
|
checked_for_monsters: false
|
|
1483
1294
|
- !ruby/object:Gemwarrior::Location
|
|
1484
1295
|
name: plains-north_of_bridge
|
|
@@ -2106,44 +1917,7 @@ locations:
|
|
|
2106
1917
|
useable: false
|
|
2107
1918
|
equippable: false
|
|
2108
1919
|
monsters_abounding: []
|
|
2109
|
-
bosses_abounding:
|
|
2110
|
-
- !ruby/object:Gemwarrior::Emerald
|
|
2111
|
-
name: emerald
|
|
2112
|
-
name_display: Emerald
|
|
2113
|
-
description: A wily, beefy, tower of a man, Emerald looks to be a champion of both wisdom, from what you've heard, AND strength, from what you plainly see. He sports a permanent scowl as he faces you, dead-on.
|
|
2114
|
-
face: gleaming
|
|
2115
|
-
hands: tantalizing
|
|
2116
|
-
mood: enraged
|
|
2117
|
-
level: 15
|
|
2118
|
-
hp_cur: 100
|
|
2119
|
-
hp_max: 100
|
|
2120
|
-
atk_lo: 28
|
|
2121
|
-
atk_hi: 44
|
|
2122
|
-
defense: 6
|
|
2123
|
-
dexterity: 9
|
|
2124
|
-
inventory: !ruby/object:Gemwarrior::Inventory
|
|
2125
|
-
armor:
|
|
2126
|
-
items:
|
|
2127
|
-
- !ruby/object:Gemwarrior::SparklyThing
|
|
2128
|
-
equipped: false
|
|
2129
|
-
consumable: false
|
|
2130
|
-
used: false
|
|
2131
|
-
number_of_uses:
|
|
2132
|
-
name: sparkly_thing
|
|
2133
|
-
name_display: SparklyThing(tm)
|
|
2134
|
-
description: The sparkling that this thing does is unimaginably brilliant.
|
|
2135
|
-
takeable: true
|
|
2136
|
-
useable: true
|
|
2137
|
-
equippable: false
|
|
2138
|
-
weapon:
|
|
2139
|
-
rox: 175
|
|
2140
|
-
xp: 200
|
|
2141
|
-
battlecry: 'You have come for the SparklyThing(tm), I see. To that I say: Ha ha
|
|
2142
|
-
ha ha ha! Prepare yourself fool: today your whole life crumbles!'
|
|
2143
|
-
is_boss: true
|
|
2144
|
-
is_dead: false
|
|
2145
|
-
talkable: true
|
|
2146
|
-
useable: true
|
|
1920
|
+
bosses_abounding: []
|
|
2147
1921
|
checked_for_monsters: false
|
|
2148
1922
|
- !ruby/object:Gemwarrior::Location
|
|
2149
1923
|
name: sky_tower-lounge
|
|
@@ -169,7 +169,7 @@ module Gemwarrior
|
|
|
169
169
|
|
|
170
170
|
# get random non-boss monster
|
|
171
171
|
loop do
|
|
172
|
-
random_monster = monsters_available[rand(0..monsters_available.length-1)]
|
|
172
|
+
random_monster = monsters_available[rand(0..monsters_available.length-1)].clone
|
|
173
173
|
|
|
174
174
|
if spawn
|
|
175
175
|
break
|
|
@@ -33,18 +33,18 @@ module Gemwarrior
|
|
|
33
33
|
desc_text << "\n"
|
|
34
34
|
desc_text << "(#{name})\n".colorize(:green)
|
|
35
35
|
desc_text << "#{description}\n".colorize(:white)
|
|
36
|
-
desc_text << "DEAD? #{is_dead}\n".colorize(:white)
|
|
37
36
|
desc_text << "FACE : #{face}\n".colorize(:white)
|
|
38
37
|
desc_text << "HANDS: #{hands}\n".colorize(:white)
|
|
39
38
|
desc_text << "MOOD : #{mood}\n".colorize(:white)
|
|
40
39
|
desc_text << "LVL : #{level}\n".colorize(:white)
|
|
41
|
-
desc_text << "XP : #{xp}\n".colorize(:white)
|
|
42
40
|
desc_text << "HP : #{hp_cur}/#{hp_max}\n".colorize(:white)
|
|
43
41
|
desc_text << "ATK : #{atk_lo}-#{atk_hi}\n".colorize(:white)
|
|
44
42
|
desc_text << "DEF : #{defense}\n".colorize(:white)
|
|
45
43
|
desc_text << "DEX : #{dexterity}\n".colorize(:white)
|
|
46
44
|
desc_text << "ROX : #{rox}\n".colorize(:white)
|
|
45
|
+
desc_text << "XP : #{xp}\n".colorize(:white)
|
|
47
46
|
desc_text << "INV : #{inventory.list_contents}\n".colorize(:white)
|
|
47
|
+
desc_text << "DEAD? #{is_dead}\n".colorize(:white)
|
|
48
48
|
desc_text << "TALK? #{talkable}\n".colorize(:white)
|
|
49
49
|
desc_text << "USE? #{useable}\n".colorize(:white)
|
|
50
50
|
desc_text
|
|
@@ -23,17 +23,15 @@ module Gemwarrior
|
|
|
23
23
|
self.level = 15
|
|
24
24
|
self.hp_cur = rand((level * 6)..(level * 7))
|
|
25
25
|
self.hp_max = hp_cur
|
|
26
|
-
self.atk_lo = rand(level..(level * 2.5).floor)
|
|
26
|
+
self.atk_lo = rand((level * 2)..(level * 2.5).floor)
|
|
27
27
|
self.atk_hi = rand((level * 2.5).floor..(level * 3).floor)
|
|
28
|
-
self.defense = rand(
|
|
29
|
-
self.dexterity = rand(
|
|
28
|
+
self.defense = rand(10..12)
|
|
29
|
+
self.dexterity = rand(12..14)
|
|
30
30
|
|
|
31
31
|
self.inventory = Inventory.new(items = [SparklyThing.new])
|
|
32
32
|
self.rox = rand((level * 9)..(level * 11))
|
|
33
33
|
self.xp = rand((level * 13)..(level * 15))
|
|
34
34
|
|
|
35
|
-
self.talkable = true
|
|
36
|
-
self.useable = true
|
|
37
35
|
self.is_boss = true
|
|
38
36
|
end
|
|
39
37
|
|
|
@@ -17,8 +17,8 @@ module Gemwarrior
|
|
|
17
17
|
self.hands = 'sharp'
|
|
18
18
|
self.mood = 'abrasive'
|
|
19
19
|
|
|
20
|
-
self.level = rand(12
|
|
21
|
-
self.hp_cur = rand((level *
|
|
20
|
+
self.level = rand(10..12)
|
|
21
|
+
self.hp_cur = rand((level * 4.5).floor..(level * 5.5).floor)
|
|
22
22
|
self.hp_max = hp_cur
|
|
23
23
|
self.atk_lo = rand((level * 2)..(level * 2.5).floor)
|
|
24
24
|
self.atk_hi = rand((level * 2.5).floor..(level * 3).floor)
|
|
@@ -26,8 +26,8 @@ module Gemwarrior
|
|
|
26
26
|
self.dexterity = rand(10..12)
|
|
27
27
|
|
|
28
28
|
self.inventory = random_item
|
|
29
|
-
self.rox = rand((level *
|
|
30
|
-
self.xp = rand((level *
|
|
29
|
+
self.rox = rand((level * 5)..(level * 6))
|
|
30
|
+
self.xp = rand((level * 7)..(level * 11))
|
|
31
31
|
|
|
32
32
|
self.is_boss = true
|
|
33
33
|
end
|
data/lib/gemwarrior/game.rb
CHANGED
|
@@ -58,8 +58,25 @@ module Gemwarrior
|
|
|
58
58
|
world.player.inventory = GameOptions.data['debug_mode'] ? INVENTORY_DEBUG : INVENTORY_DEFAULT
|
|
59
59
|
world.player.rox = GameOptions.data['debug_mode'] ? ROX_DEBUG : ROX_DEFAULT
|
|
60
60
|
|
|
61
|
+
# set some global variables
|
|
61
62
|
world.duration = { mins: 0, secs: 0, ms: 0 }
|
|
62
63
|
world.emerald_beaten = false
|
|
64
|
+
world.shifty_to_jewel = false
|
|
65
|
+
world.shifty_has_jeweled = false
|
|
66
|
+
|
|
67
|
+
# spawn bosses
|
|
68
|
+
## Pain Quarry
|
|
69
|
+
world.location_by_name('pain_quarry-southeast').bosses_abounding.push(Gemwarrior.const_get('Garynetty').new)
|
|
70
|
+
world.location_by_name('pain_quarry-east').bosses_abounding.push(Gemwarrior.const_get('Garynetty').new)
|
|
71
|
+
world.location_by_name('pain_quarry-central').bosses_abounding.push(Gemwarrior.const_get('Garynetty').new)
|
|
72
|
+
world.location_by_name('pain_quarry-south').bosses_abounding.push(Gemwarrior.const_get('Garynetty').new)
|
|
73
|
+
world.location_by_name('pain_quarry-west').bosses_abounding.push(Gemwarrior.const_get('Garynetty').new)
|
|
74
|
+
world.location_by_name('pain_quarry-northwest').bosses_abounding.push(Gemwarrior.const_get('Garynetty').new)
|
|
75
|
+
world.location_by_name('pain_quarry-north').bosses_abounding.push(Gemwarrior.const_get('Garynetty').new)
|
|
76
|
+
## River Bridge
|
|
77
|
+
world.location_by_name('river_bridge').bosses_abounding.push(Gemwarrior.const_get('Jaspern').new)
|
|
78
|
+
## Throne Room
|
|
79
|
+
world.location_by_name('sky_tower-throne_room').bosses_abounding.push(Gemwarrior.const_get('Emerald').new)
|
|
63
80
|
|
|
64
81
|
# create options file if not existing
|
|
65
82
|
update_options_file
|
data/lib/gemwarrior/version.rb
CHANGED