essytas 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +19 -0
- data/README +3 -0
- data/Rakefile +44 -0
- data/bin/essytas +2 -0
- data/lib/animation.rb +74 -0
- data/lib/config.rb +63 -0
- data/lib/core.rb +242 -0
- data/lib/cursor.rb +43 -0
- data/lib/def/animations/explosion1.anim +103 -0
- data/lib/def/characters.def +132 -0
- data/lib/def/de/dialogues/test.dlg +4 -0
- data/lib/def/de/enemies.trans +6 -0
- data/lib/def/de/items.trans +84 -0
- data/lib/def/de/skills.trans +48 -0
- data/lib/def/de/spells.trans +31 -0
- data/lib/def/en/dialogues/test.dlg +4 -0
- data/lib/def/en/enemies.trans +6 -0
- data/lib/def/en/items.trans +78 -0
- data/lib/def/en/skills.trans +48 -0
- data/lib/def/en/spells.trans +31 -0
- data/lib/def/enemies.def +8 -0
- data/lib/def/enemies/wolf.bhv +11 -0
- data/lib/def/init.def +5 -0
- data/lib/def/items.def +153 -0
- data/lib/def/loot.def +2 -0
- data/lib/def/particles.def +66 -0
- data/lib/def/recipies.def +18 -0
- data/lib/def/skills.def +40 -0
- data/lib/def/spells.def +42 -0
- data/lib/def/spells.rb +16 -0
- data/lib/def/weapons.def +9 -0
- data/lib/ext/astar/AMap.rb +146 -0
- data/lib/ext/astar/node.rb +72 -0
- data/lib/ext/astar/priority_queue.rb +44 -0
- data/lib/ext/shader.rb +116 -0
- data/lib/game/alchemy/recipe.rb +26 -0
- data/lib/game/character.rb +102 -0
- data/lib/game/combat/bar.rb +119 -0
- data/lib/game/combat/battle.rb +345 -0
- data/lib/game/combat/control.rb +18 -0
- data/lib/game/combat/gui.rb +190 -0
- data/lib/game/combat/gui/select_item.rb +11 -0
- data/lib/game/combat/gui/select_spell.rb +38 -0
- data/lib/game/constitution.rb +48 -0
- data/lib/game/equipment.rb +34 -0
- data/lib/game/inventory.rb +37 -0
- data/lib/game/item.rb +54 -0
- data/lib/game/magic.rb +33 -0
- data/lib/game/map/events.rb +29 -0
- data/lib/game/map/fog.rb +41 -0
- data/lib/game/map/map.rb +247 -0
- data/lib/game/map/map_animation.rb +26 -0
- data/lib/game/map/map_loader.rb +177 -0
- data/lib/game/map/map_object.rb +208 -0
- data/lib/game/map/map_particle.rb +27 -0
- data/lib/game/map/player.rb +78 -0
- data/lib/game/map/tile.rb +35 -0
- data/lib/game/mind.rb +24 -0
- data/lib/game/npc/behaviour.rb +45 -0
- data/lib/game/npc/bubble.rb +28 -0
- data/lib/game/npc/goal.rb +93 -0
- data/lib/game/npc/npc.rb +95 -0
- data/lib/game/npc/task.rb +73 -0
- data/lib/game/osd/magic.rb +24 -0
- data/lib/game/party.rb +42 -0
- data/lib/game/skills.rb +64 -0
- data/lib/game/spell.rb +35 -0
- data/lib/game_window.rb +95 -0
- data/lib/glsl/contrast.frag +12 -0
- data/lib/glsl/fade.frag +11 -0
- data/lib/glsl/mezzotint.frag +20 -0
- data/lib/glsl/noise.frag +20 -0
- data/lib/glsl/pixelate.frag +42 -0
- data/lib/glsl/radialblur.frag +28 -0
- data/lib/glsl/sepia.frag +15 -0
- data/lib/glsl/shockwave.frag +24 -0
- data/lib/glsl/tv_screen.frag +17 -0
- data/lib/graphics/animations/credits.txt +1 -0
- data/lib/graphics/animations/explosion2.png +0 -0
- data/lib/graphics/backgrounds/white_ties_grass.png +0 -0
- data/lib/graphics/chars/ejera.png +0 -0
- data/lib/graphics/chars/salyjea.png +0 -0
- data/lib/graphics/chars/tharat.png +0 -0
- data/lib/graphics/combat/tharat.png +0 -0
- data/lib/graphics/cursors/normal.png +0 -0
- data/lib/graphics/fog/clouds1.png +0 -0
- data/lib/graphics/gui/bar_center.png +0 -0
- data/lib/graphics/gui/bar_left.png +0 -0
- data/lib/graphics/gui/bar_right.png +0 -0
- data/lib/graphics/gui/button_background.png +0 -0
- data/lib/graphics/gui/button_close.png +0 -0
- data/lib/graphics/gui/button_close_hi.png +0 -0
- data/lib/graphics/gui/button_highlight.png +0 -0
- data/lib/graphics/gui/charequip_background.png +0 -0
- data/lib/graphics/gui/charselect_background.png +0 -0
- data/lib/graphics/gui/container_background.png +0 -0
- data/lib/graphics/gui/drop_item.png +0 -0
- data/lib/graphics/gui/equip_Etarae.png +0 -0
- data/lib/graphics/gui/equip_Mensch.png +0 -0
- data/lib/graphics/gui/equipslot_background.png +0 -0
- data/lib/graphics/gui/iteminfo_background.png +0 -0
- data/lib/graphics/gui/msg_background.png +0 -0
- data/lib/graphics/gui/scrollbar_background.png +0 -0
- data/lib/graphics/gui/scroller.png +0 -0
- data/lib/graphics/gui/tile_32.png +0 -0
- data/lib/graphics/gui/tile_32_highlight.png +0 -0
- data/lib/graphics/icons/items/arrow.png +0 -0
- data/lib/graphics/icons/items/bandage.png +0 -0
- data/lib/graphics/icons/items/boots_leather.png +0 -0
- data/lib/graphics/icons/items/bow.png +0 -0
- data/lib/graphics/icons/items/credits.txt +8 -0
- data/lib/graphics/icons/items/harness_leather.png +0 -0
- data/lib/graphics/icons/items/knife.png +0 -0
- data/lib/graphics/icons/items/shirt_linen.png +0 -0
- data/lib/graphics/items/none.png +0 -0
- data/lib/graphics/menu/ingame_background.png +0 -0
- data/lib/graphics/menu/ingame_background.xcf +0 -0
- data/lib/graphics/menu/start_background.png +0 -0
- data/lib/graphics/missing.png +0 -0
- data/lib/graphics/osd/magic_bg.png +0 -0
- data/lib/graphics/particles/leaf.png +0 -0
- data/lib/graphics/particles/smoke.png +0 -0
- data/lib/graphics/pixel.png +0 -0
- data/lib/graphics/tiles/test.png +0 -0
- data/lib/gui/base.rb +278 -0
- data/lib/gui/button.rb +93 -0
- data/lib/gui/char_equip.rb +118 -0
- data/lib/gui/char_selector.rb +54 -0
- data/lib/gui/context_menu.rb +115 -0
- data/lib/gui/draggable.rb +18 -0
- data/lib/gui/grid.rb +118 -0
- data/lib/gui/image.rb +17 -0
- data/lib/gui/inventory.rb +42 -0
- data/lib/gui/item_info.rb +33 -0
- data/lib/gui/slider.rb +10 -0
- data/lib/gui/textfield.rb +57 -0
- data/lib/layer.rb +64 -0
- data/lib/load.rb +31 -0
- data/lib/main.rb +18 -0
- data/lib/maps/def/test.bhv +26 -0
- data/lib/maps/def/test.rb +14 -0
- data/lib/maps/test.tmx +133 -0
- data/lib/maps/test2.tmx +94 -0
- data/lib/maps/test3.tmx +29 -0
- data/lib/maps/test3_lower.tmx +25 -0
- data/lib/maps/test3_upper.tmx +25 -0
- data/lib/maps/test_left.tmx +25 -0
- data/lib/maps/test_upper.tmx +25 -0
- data/lib/music/Butterfly Tea - A New Hope 2K11.mp3 +0 -0
- data/lib/music/Greendjohn - Rebirth.mp3 +0 -0
- data/lib/music/credits.txt +8 -0
- data/lib/parse.rb +605 -0
- data/lib/parse_tmx.rb +114 -0
- data/lib/particles.rb +127 -0
- data/lib/sample.rb +29 -0
- data/lib/save.rb +44 -0
- data/lib/song.rb +41 -0
- data/lib/sounds/click1.wav +0 -0
- data/lib/sounds/credits.txt +2 -0
- data/lib/sounds/error1.wav +0 -0
- data/lib/sprite.rb +35 -0
- data/lib/states/menus.rb +17 -0
- data/lib/states/menus/alchemy.rb +53 -0
- data/lib/states/menus/equip.rb +79 -0
- data/lib/states/menus/ingame.rb +34 -0
- data/lib/states/menus/magic.rb +31 -0
- data/lib/states/menus/options.rb +54 -0
- data/lib/states/menus/start.rb +38 -0
- data/lib/states/states.rb +154 -0
- data/lib/tileset.rb +42 -0
- data/lib/tools/world.rb +103 -0
- data/lib/tools/worldmap_editor.rb +221 -0
- data/lib/translate.rb +368 -0
- metadata +255 -0
data/lib/cursor.rb
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
|
2
|
+
module Core
|
3
|
+
|
4
|
+
class Cursor
|
5
|
+
def initialize
|
6
|
+
@cursor = Core.sprite("cursors/normal")
|
7
|
+
clear
|
8
|
+
@x = 512
|
9
|
+
@y = 384
|
10
|
+
end
|
11
|
+
|
12
|
+
def update(x, y)
|
13
|
+
@x, @y = x, y
|
14
|
+
end
|
15
|
+
|
16
|
+
def draw
|
17
|
+
if !@x
|
18
|
+
@x = 0
|
19
|
+
end
|
20
|
+
if !@y
|
21
|
+
@y = 0
|
22
|
+
end
|
23
|
+
@cursor.draw(@x, @y, Core::CURSOR_Z)
|
24
|
+
if @sprite
|
25
|
+
@sprite.draw(@x+4, @y+8, Core::CURSOR_Z-1)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def attach(sprite)
|
30
|
+
@sprite = sprite
|
31
|
+
end
|
32
|
+
|
33
|
+
def clear
|
34
|
+
@sprite = nil
|
35
|
+
end
|
36
|
+
|
37
|
+
def empty?
|
38
|
+
return @sprite == nil
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
@@ -0,0 +1,103 @@
|
|
1
|
+
|
2
|
+
(
|
3
|
+
graphic = "explosion2"
|
4
|
+
split_x = -3
|
5
|
+
split_y = -4
|
6
|
+
repeat = false
|
7
|
+
)
|
8
|
+
|
9
|
+
{
|
10
|
+
length = 4
|
11
|
+
color = [255, 255, 255, 255]
|
12
|
+
x = 0
|
13
|
+
y = 0
|
14
|
+
mode = default
|
15
|
+
}
|
16
|
+
|
17
|
+
{
|
18
|
+
length = 4
|
19
|
+
color = [255, 255, 255, 255]
|
20
|
+
x = 0
|
21
|
+
y = 0
|
22
|
+
mode = default
|
23
|
+
}
|
24
|
+
|
25
|
+
{
|
26
|
+
length = 4
|
27
|
+
color = [255, 255, 255, 255]
|
28
|
+
x = 0
|
29
|
+
y = 0
|
30
|
+
mode = default
|
31
|
+
}
|
32
|
+
|
33
|
+
{
|
34
|
+
length = 4
|
35
|
+
color = [255, 255, 255, 255]
|
36
|
+
x = 0
|
37
|
+
y = 0
|
38
|
+
mode = default
|
39
|
+
}
|
40
|
+
|
41
|
+
{
|
42
|
+
length = 4
|
43
|
+
color = [255, 255, 255, 255]
|
44
|
+
x = 0
|
45
|
+
y = 0
|
46
|
+
mode = default
|
47
|
+
}
|
48
|
+
|
49
|
+
{
|
50
|
+
length = 4
|
51
|
+
color = [255, 255, 255, 255]
|
52
|
+
x = 0
|
53
|
+
y = 0
|
54
|
+
mode = default
|
55
|
+
}
|
56
|
+
|
57
|
+
{
|
58
|
+
length = 4
|
59
|
+
color = [255, 255, 255, 255]
|
60
|
+
x = 0
|
61
|
+
y = 0
|
62
|
+
mode = default
|
63
|
+
}
|
64
|
+
|
65
|
+
{
|
66
|
+
length = 4
|
67
|
+
color = [255, 255, 255, 255]
|
68
|
+
x = 0
|
69
|
+
y = 0
|
70
|
+
mode = default
|
71
|
+
}
|
72
|
+
|
73
|
+
{
|
74
|
+
length = 4
|
75
|
+
color = [255, 255, 255, 255]
|
76
|
+
x = 0
|
77
|
+
y = 0
|
78
|
+
mode = default
|
79
|
+
}
|
80
|
+
|
81
|
+
{
|
82
|
+
length = 4
|
83
|
+
color = [255, 255, 255, 255]
|
84
|
+
x = 0
|
85
|
+
y = 0
|
86
|
+
mode = default
|
87
|
+
}
|
88
|
+
|
89
|
+
{
|
90
|
+
length = 4
|
91
|
+
color = [255, 255, 255, 255]
|
92
|
+
x = 0
|
93
|
+
y = 0
|
94
|
+
mode = default
|
95
|
+
}
|
96
|
+
|
97
|
+
{
|
98
|
+
length = 4
|
99
|
+
color = [255, 255, 255, 255]
|
100
|
+
x = 0
|
101
|
+
y = 0
|
102
|
+
mode = default
|
103
|
+
}
|
@@ -0,0 +1,132 @@
|
|
1
|
+
{
|
2
|
+
name = "Tharat"
|
3
|
+
age = 34
|
4
|
+
strength = 40
|
5
|
+
weight = 70
|
6
|
+
agility = 100
|
7
|
+
file = "tharat"
|
8
|
+
race = "Etarae"
|
9
|
+
gender = male
|
10
|
+
healing = 2
|
11
|
+
crafting = 2
|
12
|
+
botany = 1
|
13
|
+
healing_magic = 0
|
14
|
+
mind = 0
|
15
|
+
elemental = 0
|
16
|
+
ranged = 5
|
17
|
+
melee = 3
|
18
|
+
}
|
19
|
+
|
20
|
+
{
|
21
|
+
name = "Adekea"
|
22
|
+
age = 14
|
23
|
+
strength = 10
|
24
|
+
weight = 45
|
25
|
+
agility = 30
|
26
|
+
file = "adekea"
|
27
|
+
race = "Etarae"
|
28
|
+
gender = female
|
29
|
+
healing = 2
|
30
|
+
crafting = 1
|
31
|
+
botany = 1
|
32
|
+
healing_magic = 0
|
33
|
+
mind = 0
|
34
|
+
elemental = 0
|
35
|
+
ranged = 1
|
36
|
+
melee = 1
|
37
|
+
}
|
38
|
+
|
39
|
+
{
|
40
|
+
name = "Esthen"
|
41
|
+
age = 18
|
42
|
+
strength = 15
|
43
|
+
weight = 60
|
44
|
+
agility = 30
|
45
|
+
file = "esthen"
|
46
|
+
race = "Etarae"
|
47
|
+
gender = male
|
48
|
+
healing = 0
|
49
|
+
crafting = 2
|
50
|
+
botany = 1
|
51
|
+
healing_magic = 0
|
52
|
+
mind = 0
|
53
|
+
elemental = 0
|
54
|
+
ranged = 2
|
55
|
+
melee = 2
|
56
|
+
}
|
57
|
+
|
58
|
+
{
|
59
|
+
name = "Joanna"
|
60
|
+
age = 31
|
61
|
+
strength = 15
|
62
|
+
weight = 60
|
63
|
+
agility = 30
|
64
|
+
file = "joanna"
|
65
|
+
race = "Etarae"
|
66
|
+
gender = female
|
67
|
+
healing = 2
|
68
|
+
crafting = 1
|
69
|
+
botany = 2
|
70
|
+
healing_magic = 3
|
71
|
+
mind = 0
|
72
|
+
elemental = 2
|
73
|
+
ranged = 1
|
74
|
+
melee = 1
|
75
|
+
}
|
76
|
+
|
77
|
+
{
|
78
|
+
name = "Ejera"
|
79
|
+
age = 24
|
80
|
+
strength = 15
|
81
|
+
weight = 60
|
82
|
+
agility = 30
|
83
|
+
file = "ejera"
|
84
|
+
race = "Mensch"
|
85
|
+
gender = female
|
86
|
+
healing = 5
|
87
|
+
crafting = 1
|
88
|
+
botany = 4
|
89
|
+
healing_magic = 0
|
90
|
+
mind = 0
|
91
|
+
elemental = 0
|
92
|
+
ranged = 1
|
93
|
+
melee = 2
|
94
|
+
}
|
95
|
+
|
96
|
+
{
|
97
|
+
name = "Salyjea"
|
98
|
+
age = 19
|
99
|
+
strength = 15
|
100
|
+
weight = 60
|
101
|
+
agility = 30
|
102
|
+
file = "salyjea"
|
103
|
+
race = "Etarae"
|
104
|
+
gender = female
|
105
|
+
healing = 4
|
106
|
+
crafting = 1
|
107
|
+
botany = 3
|
108
|
+
healing_magic = 1
|
109
|
+
mind = 0
|
110
|
+
elemental = 0
|
111
|
+
ranged = 1
|
112
|
+
melee = 2
|
113
|
+
}
|
114
|
+
|
115
|
+
{
|
116
|
+
name = "Iliana"
|
117
|
+
age = 43
|
118
|
+
strength = 20
|
119
|
+
weight = 70
|
120
|
+
agility = 30
|
121
|
+
file = "iliana"
|
122
|
+
race = "Etarae"
|
123
|
+
gender = female
|
124
|
+
healing = 2
|
125
|
+
crafting = 3
|
126
|
+
botany = 2
|
127
|
+
healing_magic = 0
|
128
|
+
mind = 0
|
129
|
+
elemental = 0
|
130
|
+
ranged = 3
|
131
|
+
melee = 3
|
132
|
+
}
|
@@ -0,0 +1,84 @@
|
|
1
|
+
|
2
|
+
bandage
|
3
|
+
{
|
4
|
+
name = "Verband"
|
5
|
+
desc = ""
|
6
|
+
}
|
7
|
+
|
8
|
+
bow
|
9
|
+
{
|
10
|
+
name = "Bogen"
|
11
|
+
desc = "Fernkampfwaffe"
|
12
|
+
}
|
13
|
+
|
14
|
+
knife
|
15
|
+
{
|
16
|
+
name = "Messer"
|
17
|
+
desc = "Werkzeug und Waffe"
|
18
|
+
}
|
19
|
+
|
20
|
+
arrow
|
21
|
+
{
|
22
|
+
name = "Pfeil"
|
23
|
+
desc = "Munition für Bögen"
|
24
|
+
}
|
25
|
+
|
26
|
+
leather_harness
|
27
|
+
{
|
28
|
+
name = "Lederharnisch"
|
29
|
+
desc = "Schützt vor Nahkampfangriffen"
|
30
|
+
}
|
31
|
+
|
32
|
+
linen_shirt
|
33
|
+
{
|
34
|
+
name = "Leinenhemd"
|
35
|
+
desc = ""
|
36
|
+
}
|
37
|
+
|
38
|
+
linen_pants
|
39
|
+
{
|
40
|
+
name = "Leinenhose"
|
41
|
+
desc = ""
|
42
|
+
}
|
43
|
+
|
44
|
+
leather_boots
|
45
|
+
{
|
46
|
+
name = "Lederstiefel"
|
47
|
+
desc = ""
|
48
|
+
}
|
49
|
+
|
50
|
+
banewort
|
51
|
+
{
|
52
|
+
name = "Tollkirsche"
|
53
|
+
desc = "Giftige Beere"
|
54
|
+
}
|
55
|
+
|
56
|
+
wolfsbane
|
57
|
+
{
|
58
|
+
name = "Eisenhut"
|
59
|
+
desc = ""
|
60
|
+
}
|
61
|
+
|
62
|
+
sage
|
63
|
+
{
|
64
|
+
name = "Salbei"
|
65
|
+
desc = ""
|
66
|
+
}
|
67
|
+
|
68
|
+
meat
|
69
|
+
{
|
70
|
+
name = "Fleisch"
|
71
|
+
desc = "Nahrungsmittel"
|
72
|
+
}
|
73
|
+
|
74
|
+
atropin
|
75
|
+
{
|
76
|
+
name = "Tollkirschengift"
|
77
|
+
desc = "Langsames, aber sehr wirksames Gift"
|
78
|
+
}
|
79
|
+
|
80
|
+
meat_raw
|
81
|
+
{
|
82
|
+
name = "Rohes Fleisch"
|
83
|
+
desc = ""
|
84
|
+
}
|
@@ -0,0 +1,48 @@
|
|
1
|
+
|
2
|
+
healing
|
3
|
+
{
|
4
|
+
name = "Wundheilung"
|
5
|
+
desc = ""
|
6
|
+
}
|
7
|
+
|
8
|
+
crafting
|
9
|
+
{
|
10
|
+
name = "Handwerk"
|
11
|
+
desc = ""
|
12
|
+
}
|
13
|
+
|
14
|
+
botany
|
15
|
+
{
|
16
|
+
name = "Pflanzenkunde"
|
17
|
+
desc = ""
|
18
|
+
}
|
19
|
+
|
20
|
+
healing_magic
|
21
|
+
{
|
22
|
+
name = "Heilmagie"
|
23
|
+
desc = ""
|
24
|
+
}
|
25
|
+
|
26
|
+
mind
|
27
|
+
{
|
28
|
+
name = "Geistmagie"
|
29
|
+
desc = ""
|
30
|
+
}
|
31
|
+
|
32
|
+
elemental
|
33
|
+
{
|
34
|
+
name = "Elementarmagie"
|
35
|
+
desc = ""
|
36
|
+
}
|
37
|
+
|
38
|
+
ranged
|
39
|
+
{
|
40
|
+
name = "Fernkampf"
|
41
|
+
desc = ""
|
42
|
+
}
|
43
|
+
|
44
|
+
melee
|
45
|
+
{
|
46
|
+
name = "Nahkampf"
|
47
|
+
desc = ""
|
48
|
+
}
|
@@ -0,0 +1,31 @@
|
|
1
|
+
|
2
|
+
stop_bleed
|
3
|
+
{
|
4
|
+
name = "Wunde verschließen"
|
5
|
+
desc = "Wunde verschließen"
|
6
|
+
}
|
7
|
+
|
8
|
+
protect
|
9
|
+
{
|
10
|
+
name = "Beschützen"
|
11
|
+
desc = "Beschützt ein Gruppenmitglied vor negativen magischen Einwirkungen"
|
12
|
+
}
|
13
|
+
|
14
|
+
heat
|
15
|
+
{
|
16
|
+
name = "Hitze"
|
17
|
+
desc = "Hitze"
|
18
|
+
}
|
19
|
+
|
20
|
+
cold
|
21
|
+
{
|
22
|
+
name = "Kälte"
|
23
|
+
desc = "Kälte"
|
24
|
+
}
|
25
|
+
|
26
|
+
#EOF
|
27
|
+
|
28
|
+
{
|
29
|
+
name = ""
|
30
|
+
desc = ""
|
31
|
+
}
|