essytas 0.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.
Files changed (174) hide show
  1. data/LICENSE +19 -0
  2. data/README +3 -0
  3. data/Rakefile +44 -0
  4. data/bin/essytas +2 -0
  5. data/lib/animation.rb +74 -0
  6. data/lib/config.rb +63 -0
  7. data/lib/core.rb +242 -0
  8. data/lib/cursor.rb +43 -0
  9. data/lib/def/animations/explosion1.anim +103 -0
  10. data/lib/def/characters.def +132 -0
  11. data/lib/def/de/dialogues/test.dlg +4 -0
  12. data/lib/def/de/enemies.trans +6 -0
  13. data/lib/def/de/items.trans +84 -0
  14. data/lib/def/de/skills.trans +48 -0
  15. data/lib/def/de/spells.trans +31 -0
  16. data/lib/def/en/dialogues/test.dlg +4 -0
  17. data/lib/def/en/enemies.trans +6 -0
  18. data/lib/def/en/items.trans +78 -0
  19. data/lib/def/en/skills.trans +48 -0
  20. data/lib/def/en/spells.trans +31 -0
  21. data/lib/def/enemies.def +8 -0
  22. data/lib/def/enemies/wolf.bhv +11 -0
  23. data/lib/def/init.def +5 -0
  24. data/lib/def/items.def +153 -0
  25. data/lib/def/loot.def +2 -0
  26. data/lib/def/particles.def +66 -0
  27. data/lib/def/recipies.def +18 -0
  28. data/lib/def/skills.def +40 -0
  29. data/lib/def/spells.def +42 -0
  30. data/lib/def/spells.rb +16 -0
  31. data/lib/def/weapons.def +9 -0
  32. data/lib/ext/astar/AMap.rb +146 -0
  33. data/lib/ext/astar/node.rb +72 -0
  34. data/lib/ext/astar/priority_queue.rb +44 -0
  35. data/lib/ext/shader.rb +116 -0
  36. data/lib/game/alchemy/recipe.rb +26 -0
  37. data/lib/game/character.rb +102 -0
  38. data/lib/game/combat/bar.rb +119 -0
  39. data/lib/game/combat/battle.rb +345 -0
  40. data/lib/game/combat/control.rb +18 -0
  41. data/lib/game/combat/gui.rb +190 -0
  42. data/lib/game/combat/gui/select_item.rb +11 -0
  43. data/lib/game/combat/gui/select_spell.rb +38 -0
  44. data/lib/game/constitution.rb +48 -0
  45. data/lib/game/equipment.rb +34 -0
  46. data/lib/game/inventory.rb +37 -0
  47. data/lib/game/item.rb +54 -0
  48. data/lib/game/magic.rb +33 -0
  49. data/lib/game/map/events.rb +29 -0
  50. data/lib/game/map/fog.rb +41 -0
  51. data/lib/game/map/map.rb +247 -0
  52. data/lib/game/map/map_animation.rb +26 -0
  53. data/lib/game/map/map_loader.rb +177 -0
  54. data/lib/game/map/map_object.rb +208 -0
  55. data/lib/game/map/map_particle.rb +27 -0
  56. data/lib/game/map/player.rb +78 -0
  57. data/lib/game/map/tile.rb +35 -0
  58. data/lib/game/mind.rb +24 -0
  59. data/lib/game/npc/behaviour.rb +45 -0
  60. data/lib/game/npc/bubble.rb +28 -0
  61. data/lib/game/npc/goal.rb +93 -0
  62. data/lib/game/npc/npc.rb +95 -0
  63. data/lib/game/npc/task.rb +73 -0
  64. data/lib/game/osd/magic.rb +24 -0
  65. data/lib/game/party.rb +42 -0
  66. data/lib/game/skills.rb +64 -0
  67. data/lib/game/spell.rb +35 -0
  68. data/lib/game_window.rb +95 -0
  69. data/lib/glsl/contrast.frag +12 -0
  70. data/lib/glsl/fade.frag +11 -0
  71. data/lib/glsl/mezzotint.frag +20 -0
  72. data/lib/glsl/noise.frag +20 -0
  73. data/lib/glsl/pixelate.frag +42 -0
  74. data/lib/glsl/radialblur.frag +28 -0
  75. data/lib/glsl/sepia.frag +15 -0
  76. data/lib/glsl/shockwave.frag +24 -0
  77. data/lib/glsl/tv_screen.frag +17 -0
  78. data/lib/graphics/animations/credits.txt +1 -0
  79. data/lib/graphics/animations/explosion2.png +0 -0
  80. data/lib/graphics/backgrounds/white_ties_grass.png +0 -0
  81. data/lib/graphics/chars/ejera.png +0 -0
  82. data/lib/graphics/chars/salyjea.png +0 -0
  83. data/lib/graphics/chars/tharat.png +0 -0
  84. data/lib/graphics/combat/tharat.png +0 -0
  85. data/lib/graphics/cursors/normal.png +0 -0
  86. data/lib/graphics/fog/clouds1.png +0 -0
  87. data/lib/graphics/gui/bar_center.png +0 -0
  88. data/lib/graphics/gui/bar_left.png +0 -0
  89. data/lib/graphics/gui/bar_right.png +0 -0
  90. data/lib/graphics/gui/button_background.png +0 -0
  91. data/lib/graphics/gui/button_close.png +0 -0
  92. data/lib/graphics/gui/button_close_hi.png +0 -0
  93. data/lib/graphics/gui/button_highlight.png +0 -0
  94. data/lib/graphics/gui/charequip_background.png +0 -0
  95. data/lib/graphics/gui/charselect_background.png +0 -0
  96. data/lib/graphics/gui/container_background.png +0 -0
  97. data/lib/graphics/gui/drop_item.png +0 -0
  98. data/lib/graphics/gui/equip_Etarae.png +0 -0
  99. data/lib/graphics/gui/equip_Mensch.png +0 -0
  100. data/lib/graphics/gui/equipslot_background.png +0 -0
  101. data/lib/graphics/gui/iteminfo_background.png +0 -0
  102. data/lib/graphics/gui/msg_background.png +0 -0
  103. data/lib/graphics/gui/scrollbar_background.png +0 -0
  104. data/lib/graphics/gui/scroller.png +0 -0
  105. data/lib/graphics/gui/tile_32.png +0 -0
  106. data/lib/graphics/gui/tile_32_highlight.png +0 -0
  107. data/lib/graphics/icons/items/arrow.png +0 -0
  108. data/lib/graphics/icons/items/bandage.png +0 -0
  109. data/lib/graphics/icons/items/boots_leather.png +0 -0
  110. data/lib/graphics/icons/items/bow.png +0 -0
  111. data/lib/graphics/icons/items/credits.txt +8 -0
  112. data/lib/graphics/icons/items/harness_leather.png +0 -0
  113. data/lib/graphics/icons/items/knife.png +0 -0
  114. data/lib/graphics/icons/items/shirt_linen.png +0 -0
  115. data/lib/graphics/items/none.png +0 -0
  116. data/lib/graphics/menu/ingame_background.png +0 -0
  117. data/lib/graphics/menu/ingame_background.xcf +0 -0
  118. data/lib/graphics/menu/start_background.png +0 -0
  119. data/lib/graphics/missing.png +0 -0
  120. data/lib/graphics/osd/magic_bg.png +0 -0
  121. data/lib/graphics/particles/leaf.png +0 -0
  122. data/lib/graphics/particles/smoke.png +0 -0
  123. data/lib/graphics/pixel.png +0 -0
  124. data/lib/graphics/tiles/test.png +0 -0
  125. data/lib/gui/base.rb +278 -0
  126. data/lib/gui/button.rb +93 -0
  127. data/lib/gui/char_equip.rb +118 -0
  128. data/lib/gui/char_selector.rb +54 -0
  129. data/lib/gui/context_menu.rb +115 -0
  130. data/lib/gui/draggable.rb +18 -0
  131. data/lib/gui/grid.rb +118 -0
  132. data/lib/gui/image.rb +17 -0
  133. data/lib/gui/inventory.rb +42 -0
  134. data/lib/gui/item_info.rb +33 -0
  135. data/lib/gui/slider.rb +10 -0
  136. data/lib/gui/textfield.rb +57 -0
  137. data/lib/layer.rb +64 -0
  138. data/lib/load.rb +31 -0
  139. data/lib/main.rb +18 -0
  140. data/lib/maps/def/test.bhv +26 -0
  141. data/lib/maps/def/test.rb +14 -0
  142. data/lib/maps/test.tmx +133 -0
  143. data/lib/maps/test2.tmx +94 -0
  144. data/lib/maps/test3.tmx +29 -0
  145. data/lib/maps/test3_lower.tmx +25 -0
  146. data/lib/maps/test3_upper.tmx +25 -0
  147. data/lib/maps/test_left.tmx +25 -0
  148. data/lib/maps/test_upper.tmx +25 -0
  149. data/lib/music/Butterfly Tea - A New Hope 2K11.mp3 +0 -0
  150. data/lib/music/Greendjohn - Rebirth.mp3 +0 -0
  151. data/lib/music/credits.txt +8 -0
  152. data/lib/parse.rb +605 -0
  153. data/lib/parse_tmx.rb +114 -0
  154. data/lib/particles.rb +127 -0
  155. data/lib/sample.rb +29 -0
  156. data/lib/save.rb +44 -0
  157. data/lib/song.rb +41 -0
  158. data/lib/sounds/click1.wav +0 -0
  159. data/lib/sounds/credits.txt +2 -0
  160. data/lib/sounds/error1.wav +0 -0
  161. data/lib/sprite.rb +35 -0
  162. data/lib/states/menus.rb +17 -0
  163. data/lib/states/menus/alchemy.rb +53 -0
  164. data/lib/states/menus/equip.rb +79 -0
  165. data/lib/states/menus/ingame.rb +34 -0
  166. data/lib/states/menus/magic.rb +31 -0
  167. data/lib/states/menus/options.rb +54 -0
  168. data/lib/states/menus/start.rb +38 -0
  169. data/lib/states/states.rb +154 -0
  170. data/lib/tileset.rb +42 -0
  171. data/lib/tools/world.rb +103 -0
  172. data/lib/tools/worldmap_editor.rb +221 -0
  173. data/lib/translate.rb +368 -0
  174. metadata +255 -0
@@ -0,0 +1,4 @@
1
+
2
+ test_npc2_greeting {
3
+ Hello!
4
+ }
@@ -0,0 +1,6 @@
1
+
2
+ wolf
3
+ {
4
+ name = "Wolf"
5
+ desc = ""
6
+ }
@@ -0,0 +1,78 @@
1
+
2
+ bandage
3
+ {
4
+ name = "Bandage"
5
+ desc = "A bandage to attend wounds"
6
+ }
7
+
8
+ bow
9
+ {
10
+ name = "Bow"
11
+ desc = "A simple, light bow"
12
+ }
13
+
14
+ knife
15
+ {
16
+ name = "Knife"
17
+ desc = "More a tool than a weapon"
18
+ }
19
+
20
+ arrow
21
+ {
22
+ name = "Arrow"
23
+ desc = "Ammunition for bows"
24
+ }
25
+
26
+ leather_harness
27
+ {
28
+ name = "Leather Harness"
29
+ desc = "Leather armor"
30
+ }
31
+
32
+ linen_shirt
33
+ {
34
+ name = "Linen Shirt"
35
+ desc = "Basic shirt"
36
+ }
37
+
38
+ linen_pants
39
+ {
40
+ name = "Linen Pants"
41
+ desc = "Common pants"
42
+ }
43
+
44
+ leather_boots
45
+ {
46
+ name = "Leather Boots"
47
+ desc = "Plain boots"
48
+ }
49
+
50
+ banewort
51
+ {
52
+ name = "Deadly Nightshade"
53
+ desc = "Highly toxic herb"
54
+ }
55
+
56
+ wolfsbane
57
+ {
58
+ name = "Wolfsbane"
59
+ desc = "Highly toxic herb"
60
+ }
61
+
62
+ sage
63
+ {
64
+ name = "Sage"
65
+ desc = ""
66
+ }
67
+
68
+ meat
69
+ {
70
+ name = "Meat"
71
+ desc = ""
72
+ }
73
+
74
+ atropin
75
+ {
76
+ name = "Nightshade poison"
77
+ desc = ""
78
+ }
@@ -0,0 +1,48 @@
1
+
2
+ healing
3
+ {
4
+ name = "Healing"
5
+ desc = ""
6
+ }
7
+
8
+ crafting
9
+ {
10
+ name = "Crafting"
11
+ desc = ""
12
+ }
13
+
14
+ botany
15
+ {
16
+ name = "Botany"
17
+ desc = ""
18
+ }
19
+
20
+ healing_magic
21
+ {
22
+ name = "Healing Magic"
23
+ desc = ""
24
+ }
25
+
26
+ mind
27
+ {
28
+ name = "Mind Magic"
29
+ desc = ""
30
+ }
31
+
32
+ elemental
33
+ {
34
+ name = "Elemental Magic"
35
+ desc = ""
36
+ }
37
+
38
+ ranged
39
+ {
40
+ name = "Ranged Combat"
41
+ desc = ""
42
+ }
43
+
44
+ melee
45
+ {
46
+ name = "Melee"
47
+ desc = ""
48
+ }
@@ -0,0 +1,31 @@
1
+
2
+ stop_bleed
3
+ {
4
+ name = "Close wound"
5
+ desc = "Close wound"
6
+ }
7
+
8
+ protect
9
+ {
10
+ name = "Protect"
11
+ desc = "Protect a party member from negative magical influences"
12
+ }
13
+
14
+ heat
15
+ {
16
+ name = "Heat"
17
+ desc = "Heat"
18
+ }
19
+
20
+ cold
21
+ {
22
+ name = "Cold"
23
+ desc = "Cold"
24
+ }
25
+
26
+ #EOF
27
+
28
+ {
29
+ name = ""
30
+ desc = ""
31
+ }
@@ -0,0 +1,8 @@
1
+
2
+ {
3
+ name = wolf
4
+ strength = 40
5
+ file = "combat/wolf"
6
+ type = animal
7
+ weapons = [claw]
8
+ }
@@ -0,0 +1,11 @@
1
+
2
+ on_turn
3
+ {
4
+ attack weakest
5
+ }
6
+
7
+ on_defeat
8
+ {
9
+ vanish
10
+ drop wolf_corpse
11
+ }
@@ -0,0 +1,5 @@
1
+
2
+ {
3
+ map = "alduro/huts/tharat"
4
+ party = ["Tharat", "Joanna", "Adekea", "Esthen"]
5
+ }
@@ -0,0 +1,153 @@
1
+
2
+ #=========== Items ===========
3
+
4
+ {
5
+ name = bandage
6
+ icon = "bandage"
7
+ weight = 0.01
8
+ effects = [heal]
9
+ type = item
10
+ }
11
+
12
+ #=========== Weapons ===========
13
+
14
+ {
15
+ name = bow
16
+ icon = "bow"
17
+ weight = 3
18
+ effects = [arrow]
19
+ type = ranged
20
+ }
21
+
22
+ {
23
+ name = knife
24
+ icon = "knife"
25
+ weight = 1
26
+ effects = [bleed]
27
+ type = melee
28
+ }
29
+
30
+ {
31
+ name = arrow
32
+ icon = "arrow"
33
+ weight = 0
34
+ effects = []
35
+ type = ammo
36
+ }
37
+ #=========== Cloth/Armor ===========
38
+
39
+ {
40
+ name = leather_harness
41
+ icon = "harness_leather"
42
+ weight = 6
43
+ effects = [bleed_cancel]
44
+ type = armor
45
+ }
46
+
47
+ {
48
+ name = linen_shirt
49
+ icon = "shirt_linen"
50
+ weight = 1
51
+ effects = []
52
+ type = cloth
53
+ }
54
+
55
+ {
56
+ name = linen_pants
57
+ icon = "pants_linen"
58
+ weight = 1
59
+ effects = []
60
+ type = pants
61
+ }
62
+
63
+ {
64
+ name = leather_boots
65
+ icon = "boots_leather"
66
+ weight = 1
67
+ effects = [bleed_cancel]
68
+ type = boots
69
+ }
70
+
71
+ #=========== Herbs ===========
72
+
73
+ {
74
+ name = banewort
75
+ icon = "banewort"
76
+ weight = 0.1
77
+ effects = [toxic]
78
+ type = herb
79
+ }
80
+
81
+ {
82
+ name = wolfsbane
83
+ icon = "wolfsbane"
84
+ weight = 0.1
85
+ effects = [toxic]
86
+ type = herb
87
+ }
88
+
89
+ {
90
+ name = sage
91
+ icon = "sage"
92
+ weight = 0.1
93
+ effects = [heal]
94
+ type = herb
95
+ }
96
+
97
+ #=========== Food ============
98
+
99
+ {
100
+ name = meat_raw
101
+ icon = "meat_raw"
102
+ weight = 1.5
103
+ effects = [raw_food]
104
+ type = food
105
+ }
106
+
107
+ {
108
+ name = meat
109
+ icon = "meat"
110
+ weight = 1
111
+ effects = [food]
112
+ type = food
113
+ }
114
+
115
+ #======== Craftables =========
116
+
117
+ {
118
+ name = wolf_fur
119
+ icon = "wolf_fur"
120
+ weight = 2
121
+ effects = []
122
+ type = craftable
123
+ }
124
+
125
+ #=========== Loot ============
126
+
127
+ {
128
+ name = wolf_corpse
129
+ icon = "wolf_corpse"
130
+ weight = 35
131
+ effects = []
132
+ type = loot
133
+ }
134
+
135
+ #========= Alchemy ===========
136
+
137
+ {
138
+ name = atropin
139
+ icon = "atropin"
140
+ weight = 0.1
141
+ effects = [toxic_respiratory]
142
+ type = poison
143
+ }
144
+
145
+ #EOF
146
+
147
+ {
148
+ name =
149
+ icon = ""
150
+ weight = 0
151
+ effects = []
152
+ type =
153
+ }
@@ -0,0 +1,2 @@
1
+
2
+ wolf_corpse = [wolf_fur, meat_raw, meat_raw]
@@ -0,0 +1,66 @@
1
+
2
+ {
3
+ name = "smoke"
4
+ file = "smoke"
5
+ delay = 2
6
+ time = 160
7
+ fadein = 20
8
+ fadeout = 70
9
+ xrange = (0..0)
10
+ yrange = (-2..-1)
11
+ mode = :default
12
+ angle = false
13
+ color = [255, 255, 255, 255]
14
+ xoffset = (-12..12)
15
+ yoffset = (-12..12)
16
+ }
17
+
18
+ {
19
+ name = "cursor_leaves"
20
+ file = "leaf"
21
+ delay = 10
22
+ time = 120
23
+ fadein = 10
24
+ fadeout = 60
25
+ xrange = (0..0)
26
+ yrange = (1..2)
27
+ mode = :default
28
+ angle = true
29
+ color = [255, 255, 255, 255]
30
+ xoffset = (0..0)
31
+ yoffset = (0..0)
32
+ }
33
+
34
+ {
35
+ name = "title_leaves"
36
+ file = "leaf"
37
+ delay = 20
38
+ time = 500
39
+ fadein = 10
40
+ fadeout = 180
41
+ xrange = (0..0)
42
+ yrange = (1..2)
43
+ mode = :default
44
+ angle = true
45
+ color = [255, 220, 130, 125]
46
+ xoffset = (-512..512)
47
+ yoffset = (0..0)
48
+ }
49
+
50
+ #EOF
51
+
52
+ {
53
+ name = ""
54
+ file = ""
55
+ delay = 0
56
+ time = 0
57
+ fadein = 0
58
+ fadeout = 0
59
+ xrange = (0..0)
60
+ yrange = (0..0)
61
+ mode = :default
62
+ angle = false
63
+ color = [255, 255, 255, 255]
64
+ xoffset = (0..0)
65
+ yoffset = (0..0)
66
+ }
@@ -0,0 +1,18 @@
1
+
2
+ {
3
+ name = atropin
4
+ icon = "items/atropin"
5
+ output = atropin
6
+ input = [15*banewort]
7
+ level = 1
8
+ }
9
+
10
+ #EOF
11
+
12
+ {
13
+ name =
14
+ icon = "items/"
15
+ output =
16
+ input = []
17
+ level =
18
+ }