]> git.localhorst.tv Git - l2e.git/blob - test-data/capsules.l2s
new language, new compiler
[l2e.git] / test-data / capsules.l2s
1 include "items.l2h"
2
3 Sprite flashSprite1 {
4         image: :"flash.png",
5         size: <96, 96>
6 }
7 Sprite flashSprite2 {
8         image: :"flash.png",
9         size: <96, 96>,
10         offset: <96, 0>
11 }
12 Sprite flashSprite3 {
13         image: :"flash.png",
14         size: <96, 96>,
15         offset: <192, 0>
16 }
17 Sprite flashSprite4 {
18         image: :"flash.png",
19         size: <96, 96>,
20         offset: <288, 0>
21 }
22 Sprite flashSpriteM {
23         image: :"flash.png",
24         size: <96, 96>,
25         offset: <384, 0>
26 }
27
28 export Capsule flash {
29         name: "Flash",
30         alignment: "LIGHT",
31         alignmentCursor: <-32, 0>,
32         alignmentSprite: Sprite {
33                 image: :"capsule-sprites.png",
34                 size: <32, 32>,
35                 offset: <0, 96>
36         },
37         maxHealth: 5,
38         stats: Stats {
39                 atp: 12,
40                 dfp: 18,
41                 str:  2,
42                 agl: 11,
43                 int: 16,
44                 gut: 23,
45                 mgr: 11
46         },
47         classes: [ CapsuleClass
48                 {
49                         name: "1 TODO",
50                         tribe: "Shaggy",
51                         battleSprite: flashSprite1,
52                         meleeAnimation: SimpleAnimation {
53                                 sprite: Sprite {
54                                         image: :"melee-maxim.png",
55                                         size: <96,96>
56                                 },
57                                 frametime: 66, // two "frames"
58                                 framecount: 4
59                         },
60                         attackAnimation: ComplexAnimation {
61                                 sprite: flashSprite1,
62                                 frametime: fourFramesTime,
63                                 repeat: false,
64                                 frames:
65                                 [ ComplexAnimationFrame
66                                         { column: 0, row: 1, disposition: < 0, -16> },
67                                         { column: 0, row: 0, disposition: < 0, -16> },
68                                         { column: 0, row: 1, disposition: < 0, -16> },
69                                         { column: 0, row: 0, disposition: < 0, -16> }
70                                 ]
71                         }
72                 },
73                 {
74                         name: "2 TODO",
75                         tribe: "Sprite",
76                         battleSprite: flashSprite2,
77                         meleeAnimation: SimpleAnimation {
78                                 sprite: Sprite {
79                                         image: :"melee-maxim.png",
80                                         size: <96,96>
81                                 },
82                                 frametime: 66, // two "frames"
83                                 framecount: 4
84                         },
85                         attackAnimation: ComplexAnimation {
86                                 sprite: flashSprite2,
87                                 frametime: fourFramesTime,
88                                 repeat: false,
89                                 frames:
90                                 [ ComplexAnimationFrame
91                                         { column: 0, row: 1, disposition: < 0, -16> },
92                                         { column: 0, row: 0, disposition: < 0, -16> },
93                                         { column: 0, row: 1, disposition: < 0, -16> },
94                                         { column: 0, row: 0, disposition: < 0, -16> }
95                                 ]
96                         },
97                         healthBoost: 208,
98                         statBoost: Stats {
99                                 atp:  38,
100                                 dfp:  71,
101                                 str:  24,
102                                 agl:  78,
103                                 int: 195,
104                                 gut:  12, // TODO: this is probably higher, but clipped at 199
105                                 mgr: 135
106                         }
107                 },
108                 {
109                         name: "3 TODO",
110                         tribe: "Cupid",
111                         battleSprite: flashSprite3,
112                         meleeAnimation: SimpleAnimation {
113                                 sprite: Sprite {
114                                         image: :"melee-maxim.png",
115                                         size: <96,96>
116                                 },
117                                 frametime: 66, // two "frames"
118                                 framecount: 4
119                         },
120                         attackAnimation: ComplexAnimation {
121                                 sprite: flashSprite3,
122                                 frametime: fourFramesTime,
123                                 repeat: false,
124                                 frames:
125                                 [ ComplexAnimationFrame
126                                         { column: 0, row: 1, disposition: < 0, -16> },
127                                         { column: 0, row: 0, disposition: < 0, -16> },
128                                         { column: 0, row: 1, disposition: < 0, -16> },
129                                         { column: 0, row: 0, disposition: < 0, -16> }
130                                 ]
131                         },
132                         healthBoost: 208,
133                         statBoost: Stats {
134                                 atp:  38,
135                                 dfp:  71,
136                                 str:  24,
137                                 agl:  78,
138                                 int: 195,
139                                 gut:  12, // TODO: this is probably higher, but clipped at 199
140                                 mgr: 135
141                         }
142                 },
143                 {
144                         name: "4",
145                         tribe: "Twinkle",
146                         battleSprite: flashSprite4,
147                         meleeAnimation: SimpleAnimation {
148                                 sprite: Sprite {
149                                         image: :"melee-maxim.png",
150                                         size: <96,96>
151                                 },
152                                 frametime: 66, // two "frames"
153                                 framecount: 4
154                         },
155                         attackAnimation: ComplexAnimation {
156                                 sprite: flashSprite4,
157                                 frametime: fourFramesTime,
158                                 repeat: false,
159                                 frames:
160                                 [ ComplexAnimationFrame
161                                         { column: 0, row: 1, disposition: < 0, -16> },
162                                         { column: 0, row: 0, disposition: < 0, -16> },
163                                         { column: 0, row: 1, disposition: < 0, -16> },
164                                         { column: 0, row: 0, disposition: < 0, -16> }
165                                 ]
166                         },
167                         upgradeItem: darkFruitItem,
168                         upgradeClass: 4,
169                         hunger: 0,
170                         healthBoost: 208,
171                         statBoost: Stats {
172                                 atp:  38,
173                                 dfp:  71,
174                                 str:  24,
175                                 agl:  78,
176                                 int: 195,
177                                 gut:  12, // TODO: this is probably higher, but clipped at 199
178                                 mgr: 135
179                         }
180                 },
181                 {
182                         name: "M TODO",
183                         tribe: "Twinkle",
184                         battleSprite: flashSpriteM,
185                         meleeAnimation: SimpleAnimation {
186                                 sprite: Sprite {
187                                         image: :"melee-maxim.png",
188                                         size: <96,96>
189                                 },
190                                 frametime: 66, // two "frames"
191                                 framecount: 4
192                         },
193                         attackAnimation: ComplexAnimation {
194                                 sprite: flashSpriteM,
195                                 frametime: fourFramesTime,
196                                 repeat: false,
197                                 frames:
198                                 [ ComplexAnimationFrame
199                                         { column: 0, row: 1, disposition: < 0, -16> },
200                                         { column: 0, row: 0, disposition: < 0, -16> },
201                                         { column: 0, row: 1, disposition: < 0, -16> },
202                                         { column: 0, row: 0, disposition: < 0, -16> }
203                                 ]
204                         },
205                         upgradeItem: holyFruitItem,
206                         upgradeClass: 3,
207                         hunger: 0,
208                         healthBoost: 208,
209                         statBoost: Stats {
210                                 atp:  38,
211                                 dfp:  71,
212                                 str:  24,
213                                 agl:  78,
214                                 int: 195,
215                                 gut:  12, // TODO: this is probably higher, but clipped at 199
216                                 mgr: 135
217                         }
218                 }
219         ]
220 }