gemwarrior 0.11.1 → 0.11.2
Sign up to get free protection for your applications and to get access to all the features.
- 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