6 Number twoFramesTime 66
7 Number fourFramesTime 132
8 Number fiveFramesTime 165 // darn, i really need to implement expressions
10 export PartyLayout monstersLayout {
18 export PartyLayout heroesLayout {
28 image: :"monster.png",
32 export Monster lizard {
47 attackAnimation: ComplexAnimation {
49 frametime: fourFramesTime,
52 [ ComplexAnimationFrame
53 { column: 0, row: 1, disposition: < 0, 16> },
54 { column: 0, row: 0, disposition: < 0, 16> },
55 { column: 0, row: 1, disposition: < 0, 16> },
56 { column: 0, row: 0, disposition: < 0, 16> }
59 meleeAnimation: SimpleAnimation {
61 image: :"attack-monster.png",
73 Sprite maximMapSprite {
74 image: :"maxim-map.png",
80 battleSprite: maximSprite,
81 mapSprite: maximMapSprite,
96 attackAnimation: ComplexAnimation {
101 [ ComplexAnimationFrame
102 { column: 1, row: 0, disposition: < 0, 0> },
103 { column: 1, row: 0, disposition: < 0, 0> },
104 { column: 1, row: 0, disposition: < 0, 0> },
105 { column: 1, row: 0, disposition: < 0, 0> },
106 { column: 1, row: 0, disposition: < 0, 0> },
107 { column: 1, row: 0, disposition: < 0, 0> },
108 { column: 1, row: 0, disposition: < 0, 0> },
109 { column: 1, row: 0, disposition: < 4,-1> },
110 { column: 1, row: 0, disposition: < 4,-1> },
111 { column: 2, row: 0, disposition: < 4,-2> },
112 { column: 2, row: 0, disposition: < 4,-2> },
113 { column: 2, row: 0, disposition: < 6,-2> },
114 { column: 2, row: 0, disposition: < 6,-2> },
115 { column: 2, row: 1, disposition: < 6,-1> },
116 { column: 2, row: 1, disposition: < 3,-1> },
117 { column: 2, row: 1, disposition: < 3,-1> },
118 { column: 2, row: 1, disposition: < 0, 0> },
119 { column: 2, row: 2, disposition: < 0, 0> },
120 { column: 2, row: 2, disposition: < 0, 0> },
121 { column: 2, row: 2, disposition: < 2, 0> },
122 { column: 1, row: 0, disposition: < 0, 0> },
123 { column: 1, row: 0, disposition: < 0, 0> },
124 { column: 1, row: 0, disposition: < 0, 0> },
125 { column: 1, row: 0, disposition: < 0, 0> },
126 { column: 1, row: 0, disposition: < 0, 0> },
127 { column: 1, row: 0, disposition: < 0, 0> },
128 { column: 1, row: 0, disposition: < 0, 0> }
131 spellAnimation: ComplexAnimation {
133 frametime: fiveFramesTime,
136 [ ComplexAnimationFrame
137 { column: 3, row: 0, disposition: < 0, 0> },
138 { column: 3, row: 0, disposition: < 0, 0> },
139 { column: 3, row: 1, disposition: < 0, 0> }
142 meleeAnimation: SimpleAnimation {
144 image: :"melee-maxim.png",
147 frametime: twoFramesTime,
156 Sprite selanMapSprite {
157 image: :"selan-map.png",
163 battleSprite: selanSprite,
164 mapSprite: selanMapSprite,
179 attackAnimation: ComplexAnimation {
181 frametime: frameTime,
184 [ ComplexAnimationFrame
185 { column: 1, row: 0, disposition: < 4, 0> },
186 { column: 1, row: 0, disposition: < 4, 0> },
187 { column: 1, row: 0, disposition: < 8, 2> },
188 { column: 2, row: 0, disposition: <10, 4> },
189 { column: 2, row: 0, disposition: <14, 4> },
190 { column: 2, row: 0, disposition: <12, 2> },
191 { column: 2, row: 0, disposition: <12, 2> },
192 { column: 2, row: 0, disposition: <12, 2> },
193 { column: 2, row: 1, disposition: <14, 2> },
194 { column: 2, row: 1, disposition: <14, 2> },
195 { column: 2, row: 1, disposition: < 2, 0> },
196 { column: 2, row: 2, disposition: <-2,-4> },
197 { column: 2, row: 2, disposition: <-8,-8> },
198 { column: 2, row: 2, disposition: < 0, 0> }
201 spellAnimation: ComplexAnimation {
203 frametime: frameTime,
206 [ ComplexAnimationFrame
207 { column: 3, row: 0, disposition: < 0, 0> },
208 { column: 3, row: 0, disposition: < 0, 0> },
209 { column: 3, row: 0, disposition: < 0, 0> },
210 { column: 3, row: 1, disposition: < 0, 0> },
211 { column: 3, row: 1, disposition: < 0, 0> },
212 { column: 3, row: 2, disposition: < 0, 0> },
213 { column: 3, row: 2, disposition: < 0, 0> },
214 { column: 3, row: 2, disposition: < 0, 0> },
215 { column: 3, row: 3, disposition: < 0, 0> },
216 { column: 3, row: 3, disposition: < 0, 0> }
219 meleeAnimation: SimpleAnimation {
221 image: :"melee-selan.png",
224 frametime: twoFramesTime,
233 Sprite guyMapSprite {
234 image: :"guy-map.png",
240 battleSprite: guySprite,
241 mapSprite: guyMapSprite,
256 attackAnimation: ComplexAnimation {
258 frametime: frameTime,
261 [ ComplexAnimationFrame
262 { column: 1, row: 0, disposition: <-4, 0> },
263 { column: 1, row: 0, disposition: <-4, 0> },
264 { column: 1, row: 0, disposition: <-8, 0> },
265 { column: 1, row: 0, disposition: <-8, 0> },
266 { column: 2, row: 0, disposition: <-8, 0> },
267 { column: 2, row: 0, disposition: <-8, 0> },
268 { column: 2, row: 0, disposition: <-4, 0> },
269 { column: 2, row: 0, disposition: < 0, 0> },
270 { column: 2, row: 0, disposition: < 0, 0> },
271 { column: 2, row: 1, disposition: < 0, 0> },
272 { column: 2, row: 1, disposition: < 4, 0> },
273 { column: 2, row: 1, disposition: <10, 0> },
274 { column: 2, row: 2, disposition: <10, 0> },
275 { column: 2, row: 2, disposition: < 0, 0> }
278 meleeAnimation: SimpleAnimation {
280 image: :"melee-guy.png",
283 frametime: fourFramesTime,
292 Sprite dekarMapSprite {
293 image: :"dekar-map.png",
299 battleSprite: dekarSprite,
300 mapSprite: dekarMapSprite,
315 attackAnimation: ComplexAnimation {
317 frametime: frameTime,
320 [ ComplexAnimationFrame
321 { column: 1, row: 0, disposition: < 4, 0> },
322 { column: 1, row: 0, disposition: < 8, 2> },
323 { column: 2, row: 0, disposition: <12, 4> },
324 { column: 2, row: 0, disposition: <16, 4> },
325 { column: 2, row: 0, disposition: <10, 2> },
326 { column: 2, row: 0, disposition: <10, 2> },
327 { column: 2, row: 0, disposition: <10, 2> },
328 { column: 2, row: 0, disposition: <10, 2> },
329 { column: 2, row: 1, disposition: < 6, 2> },
330 { column: 2, row: 1, disposition: < 0, 0> },
331 { column: 2, row: 2, disposition: <-2, 0> },
332 { column: 2, row: 2, disposition: < 0, 0> },
333 { column: 2, row: 2, disposition: < 0, 0> },
334 { column: 2, row: 2, disposition: < 0, 0> }
337 spellAnimation: ComplexAnimation {
339 frametime: twoFramesTime,
342 [ ComplexAnimationFrame
343 { column: 3, row: 0, disposition: < 0, 0> },
344 { column: 3, row: 0, disposition: < 0, 0> },
345 { column: 3, row: 0, disposition: < 0, 0> },
346 { column: 3, row: 0, disposition: < 0, 0> },
347 { column: 3, row: 0, disposition: < 0, 0> },
348 { column: 3, row: 0, disposition: < 0, 0> },
349 { column: 3, row: 1, disposition: < 0, 0> },
350 { column: 3, row: 1, disposition: < 0, 0> },
351 { column: 3, row: 2, disposition: < 0, 0> },
352 { column: 3, row: 2, disposition: < 0, 0> },
353 { column: 3, row: 2, disposition: < 0, 0> }
356 meleeAnimation: SimpleAnimation {
358 image: :"melee-dekar.png",
361 frametime: twoFramesTime,
367 image: :"cursor-hand.png",
373 image: :"normal-font.png",
381 image: :"disabled-font.png",
387 export BattleResources battleResources {
389 image: :"swap-cursor.png",
392 attackIcons: Sprite {
393 image: :"attack-type-icons.png",
396 attackChoiceIcons: Sprite {
397 image: :"attack-choice-icons.png",
401 image: :"move-icons.png",
406 image: :"title-frame.png",
411 image: :"large-font.png",
417 numberAnimationPrototype: ComplexAnimation {
418 frametime: frameTime,
421 [ ComplexAnimationFrame
422 { column: 0, row: 0, disposition: < 0, 0> },
423 { column: 0, row: 0, disposition: < 0,-26> },
424 { column: 0, row: 0, disposition: < 0,-42> },
425 { column: 0, row: 0, disposition: < 0,-48> },
426 { column: 0, row: 0, disposition: < 0,-42> },
427 { column: 0, row: 0, disposition: < 0,-26> },
428 { column: 0, row: 0, disposition: < 0, 0> },
429 { column: 0, row: 0, disposition: < 0,-12> },
430 { column: 0, row: 0, disposition: < 0,-20> },
431 { column: 0, row: 0, disposition: < 0,-24> },
432 { column: 0, row: 0, disposition: < 0,-20> },
433 { column: 0, row: 0, disposition: < 0,-12> },
434 { column: 0, row: 0, disposition: < 0, 0> },
435 { column: 0, row: 0, disposition: < 0, -6> },
436 { column: 0, row: 0, disposition: < 0,-10> },
437 { column: 0, row: 0, disposition: < 0,-12> },
438 { column: 0, row: 0, disposition: < 0,-10> },
439 { column: 0, row: 0, disposition: < 0, -6> },
440 { column: 0, row: 0, disposition: < 0, 0> },
441 { column: 0, row: 0, disposition: < 0, 0> },
442 { column: 0, row: 0, disposition: < 0, 0> },
443 { column: 0, row: 0, disposition: < 0, 0> },
444 { column: 0, row: 0, disposition: < 0, 0> },
445 { column: 0, row: 0, disposition: < 0, 0> },
446 { column: 0, row: 0, disposition: < 0, 0> },
447 { column: 0, row: 0, disposition: < 0, 0> },
448 { column: 0, row: 0, disposition: < 0, 0> },
449 { column: 0, row: 0, disposition: < 0, 0> },
450 { column: 0, row: 0, disposition: < 0, 0> },
451 { column: 0, row: 0, disposition: < 0, 0> },
452 { column: 0, row: 0, disposition: < 0, 0> },
453 { column: 0, row: 0, disposition: < 0, 0> },
454 { column: 0, row: 0, disposition: < 0,-36> },
455 { column: 0, row: 0, disposition: < 0,-32> },
456 { column: 0, row: 0, disposition: < 0,-18> }
459 bigNumberSprite: Sprite {
460 image: :"big-numbers.png",
463 greenNumberSprite: Sprite {
464 image: :"big-green-numbers.png",
468 heroTagLabels: Sprite {
469 image: :"hero-tag-sprites.png",
484 image: :"numbers.png",
490 activeHeroTagFrame: Frame {
491 image: :"tag-frames.png",
494 heroTagFrame: Frame {
495 image: :"tag-frames.png",
500 smallHeroTagFrame: Frame {
501 image: :"small-tag-frame.png",
504 lastSmallHeroTagFrame: Frame {
505 image: :"small-tag-frame.png",
509 heroesBgColor: (24, 40, 49),
512 image: :"gauges.png",
521 image: :"gauges.png",
530 image: :"gauges.png",
540 image: :"select-frame.png",
543 normalFont: normalFont,
544 disabledFont: disabledFont,
546 image: :"cursor-hand.png",
550 weaponTargetCursor: Sprite {
551 image: :"targeting-icons.png",
554 magicTargetCursor: Sprite {
555 image: :"targeting-icons.png",
559 itemTargetCursor: Sprite {
560 image: :"targeting-icons.png",
565 weaponMenuIcon: swordIcon,
566 armorMenuIcon: armorIcon,
567 shieldMenuIcon: shieldIcon,
568 helmetMenuIcon: helmetIcon,
569 ringMenuIcon: ringIcon,
570 jewelMenuIcon: jewelIcon,
572 spellMenuHeadline: "Please choose a spell.",
573 spellMenuProperties: MenuProperties {
575 disabledFont: disabledFont,
587 itemMenuHeadline: "Please choose an item.",
588 itemMenuProperties: MenuProperties {
590 disabledFont: disabledFont,
602 ikariMenuHeadline: "Please choose equipment.",
603 ikariMenuProperties: MenuProperties {
605 disabledFont: disabledFont,
613 charsPerAdditionalText: 12,
614 additionalTextGap: 16
616 noEquipmentText: "No equip",
618 escapeText: "Escapes."