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",
76 battleSprite: maximSprite,
91 attackAnimation: ComplexAnimation {
96 [ ComplexAnimationFrame
97 { column: 1, row: 0, disposition: < 0, 0> },
98 { column: 1, row: 0, disposition: < 0, 0> },
99 { column: 1, row: 0, disposition: < 0, 0> },
100 { column: 1, row: 0, disposition: < 0, 0> },
101 { column: 1, row: 0, disposition: < 0, 0> },
102 { column: 1, row: 0, disposition: < 0, 0> },
103 { column: 1, row: 0, disposition: < 0, 0> },
104 { column: 1, row: 0, disposition: < 4,-1> },
105 { column: 1, row: 0, disposition: < 4,-1> },
106 { column: 2, row: 0, disposition: < 4,-2> },
107 { column: 2, row: 0, disposition: < 4,-2> },
108 { column: 2, row: 0, disposition: < 6,-2> },
109 { column: 2, row: 0, disposition: < 6,-2> },
110 { column: 2, row: 1, disposition: < 6,-1> },
111 { column: 2, row: 1, disposition: < 3,-1> },
112 { column: 2, row: 1, disposition: < 3,-1> },
113 { column: 2, row: 1, disposition: < 0, 0> },
114 { column: 2, row: 2, disposition: < 0, 0> },
115 { column: 2, row: 2, disposition: < 0, 0> },
116 { column: 2, row: 2, disposition: < 2, 0> },
117 { column: 1, row: 0, disposition: < 0, 0> },
118 { column: 1, row: 0, disposition: < 0, 0> },
119 { column: 1, row: 0, disposition: < 0, 0> },
120 { column: 1, row: 0, disposition: < 0, 0> },
121 { column: 1, row: 0, disposition: < 0, 0> },
122 { column: 1, row: 0, disposition: < 0, 0> },
123 { column: 1, row: 0, disposition: < 0, 0> }
126 spellAnimation: ComplexAnimation {
128 frametime: fiveFramesTime,
131 [ ComplexAnimationFrame
132 { column: 3, row: 0, disposition: < 0, 0> },
133 { column: 3, row: 0, disposition: < 0, 0> },
134 { column: 3, row: 1, disposition: < 0, 0> }
137 meleeAnimation: SimpleAnimation {
139 image: :"melee-maxim.png",
142 frametime: twoFramesTime,
146 animation: SimpleAnimation{
148 image: :"maxim-map.png",
154 spriteOffset: <0,-32>
165 battleSprite: selanSprite,
180 attackAnimation: ComplexAnimation {
182 frametime: frameTime,
185 [ ComplexAnimationFrame
186 { column: 1, row: 0, disposition: < 4, 0> },
187 { column: 1, row: 0, disposition: < 4, 0> },
188 { column: 1, row: 0, disposition: < 8, 2> },
189 { column: 2, row: 0, disposition: <10, 4> },
190 { column: 2, row: 0, disposition: <14, 4> },
191 { column: 2, row: 0, disposition: <12, 2> },
192 { column: 2, row: 0, disposition: <12, 2> },
193 { column: 2, row: 0, disposition: <12, 2> },
194 { column: 2, row: 1, disposition: <14, 2> },
195 { column: 2, row: 1, disposition: <14, 2> },
196 { column: 2, row: 1, disposition: < 2, 0> },
197 { column: 2, row: 2, disposition: <-2,-4> },
198 { column: 2, row: 2, disposition: <-8,-8> },
199 { column: 2, row: 2, disposition: < 0, 0> }
202 spellAnimation: ComplexAnimation {
204 frametime: frameTime,
207 [ ComplexAnimationFrame
208 { column: 3, row: 0, disposition: < 0, 0> },
209 { column: 3, row: 0, disposition: < 0, 0> },
210 { column: 3, row: 0, disposition: < 0, 0> },
211 { column: 3, row: 1, disposition: < 0, 0> },
212 { column: 3, row: 1, disposition: < 0, 0> },
213 { column: 3, row: 2, disposition: < 0, 0> },
214 { column: 3, row: 2, disposition: < 0, 0> },
215 { column: 3, row: 2, disposition: < 0, 0> },
216 { column: 3, row: 3, disposition: < 0, 0> },
217 { column: 3, row: 3, disposition: < 0, 0> }
220 meleeAnimation: SimpleAnimation {
222 image: :"melee-selan.png",
225 frametime: twoFramesTime,
229 animation: SimpleAnimation{
231 image: :"selan-map.png",
237 spriteOffset: <0,-32>
248 battleSprite: guySprite,
263 attackAnimation: ComplexAnimation {
265 frametime: frameTime,
268 [ ComplexAnimationFrame
269 { column: 1, row: 0, disposition: <-4, 0> },
270 { column: 1, row: 0, disposition: <-4, 0> },
271 { column: 1, row: 0, disposition: <-8, 0> },
272 { column: 1, row: 0, disposition: <-8, 0> },
273 { column: 2, row: 0, disposition: <-8, 0> },
274 { column: 2, row: 0, disposition: <-8, 0> },
275 { column: 2, row: 0, disposition: <-4, 0> },
276 { column: 2, row: 0, disposition: < 0, 0> },
277 { column: 2, row: 0, disposition: < 0, 0> },
278 { column: 2, row: 1, disposition: < 0, 0> },
279 { column: 2, row: 1, disposition: < 4, 0> },
280 { column: 2, row: 1, disposition: <10, 0> },
281 { column: 2, row: 2, disposition: <10, 0> },
282 { column: 2, row: 2, disposition: < 0, 0> }
285 meleeAnimation: SimpleAnimation {
287 image: :"melee-guy.png",
290 frametime: fourFramesTime,
294 animation: SimpleAnimation{
296 image: :"guy-map.png",
302 spriteOffset: <0,-32>
313 battleSprite: dekarSprite,
328 attackAnimation: ComplexAnimation {
330 frametime: frameTime,
333 [ ComplexAnimationFrame
334 { column: 1, row: 0, disposition: < 4, 0> },
335 { column: 1, row: 0, disposition: < 8, 2> },
336 { column: 2, row: 0, disposition: <12, 4> },
337 { column: 2, row: 0, disposition: <16, 4> },
338 { column: 2, row: 0, disposition: <10, 2> },
339 { column: 2, row: 0, disposition: <10, 2> },
340 { column: 2, row: 0, disposition: <10, 2> },
341 { column: 2, row: 0, disposition: <10, 2> },
342 { column: 2, row: 1, disposition: < 6, 2> },
343 { column: 2, row: 1, disposition: < 0, 0> },
344 { column: 2, row: 2, disposition: <-2, 0> },
345 { column: 2, row: 2, disposition: < 0, 0> },
346 { column: 2, row: 2, disposition: < 0, 0> },
347 { column: 2, row: 2, disposition: < 0, 0> }
350 spellAnimation: ComplexAnimation {
352 frametime: twoFramesTime,
355 [ ComplexAnimationFrame
356 { column: 3, row: 0, disposition: < 0, 0> },
357 { column: 3, row: 0, disposition: < 0, 0> },
358 { column: 3, row: 0, disposition: < 0, 0> },
359 { column: 3, row: 0, disposition: < 0, 0> },
360 { column: 3, row: 0, disposition: < 0, 0> },
361 { column: 3, row: 0, disposition: < 0, 0> },
362 { column: 3, row: 1, disposition: < 0, 0> },
363 { column: 3, row: 1, disposition: < 0, 0> },
364 { column: 3, row: 2, disposition: < 0, 0> },
365 { column: 3, row: 2, disposition: < 0, 0> },
366 { column: 3, row: 2, disposition: < 0, 0> }
369 meleeAnimation: SimpleAnimation {
371 image: :"melee-dekar.png",
374 frametime: twoFramesTime,
378 animation: SimpleAnimation{
380 image: :"dekar-map.png",
386 spriteOffset: <0,-32>
391 image: :"cursor-hand.png",
397 image: :"normal-font.png",
405 image: :"disabled-font.png",
411 export BattleResources battleResources {
413 image: :"swap-cursor.png",
416 attackIcons: Sprite {
417 image: :"attack-type-icons.png",
420 attackChoiceIcons: Sprite {
421 image: :"attack-choice-icons.png",
425 image: :"move-icons.png",
430 image: :"title-frame.png",
435 image: :"large-font.png",
441 numberAnimationPrototype: ComplexAnimation {
442 frametime: frameTime,
445 [ ComplexAnimationFrame
446 { column: 0, row: 0, disposition: < 0, 0> },
447 { column: 0, row: 0, disposition: < 0,-26> },
448 { column: 0, row: 0, disposition: < 0,-42> },
449 { column: 0, row: 0, disposition: < 0,-48> },
450 { column: 0, row: 0, disposition: < 0,-42> },
451 { column: 0, row: 0, disposition: < 0,-26> },
452 { column: 0, row: 0, disposition: < 0, 0> },
453 { column: 0, row: 0, disposition: < 0,-12> },
454 { column: 0, row: 0, disposition: < 0,-20> },
455 { column: 0, row: 0, disposition: < 0,-24> },
456 { column: 0, row: 0, disposition: < 0,-20> },
457 { column: 0, row: 0, disposition: < 0,-12> },
458 { column: 0, row: 0, disposition: < 0, 0> },
459 { column: 0, row: 0, disposition: < 0, -6> },
460 { column: 0, row: 0, disposition: < 0,-10> },
461 { column: 0, row: 0, disposition: < 0,-12> },
462 { column: 0, row: 0, disposition: < 0,-10> },
463 { column: 0, row: 0, disposition: < 0, -6> },
464 { column: 0, row: 0, disposition: < 0, 0> },
465 { column: 0, row: 0, disposition: < 0, 0> },
466 { column: 0, row: 0, disposition: < 0, 0> },
467 { column: 0, row: 0, disposition: < 0, 0> },
468 { column: 0, row: 0, disposition: < 0, 0> },
469 { column: 0, row: 0, disposition: < 0, 0> },
470 { column: 0, row: 0, disposition: < 0, 0> },
471 { column: 0, row: 0, disposition: < 0, 0> },
472 { column: 0, row: 0, disposition: < 0, 0> },
473 { column: 0, row: 0, disposition: < 0, 0> },
474 { column: 0, row: 0, disposition: < 0, 0> },
475 { column: 0, row: 0, disposition: < 0, 0> },
476 { column: 0, row: 0, disposition: < 0, 0> },
477 { column: 0, row: 0, disposition: < 0, 0> },
478 { column: 0, row: 0, disposition: < 0,-36> },
479 { column: 0, row: 0, disposition: < 0,-32> },
480 { column: 0, row: 0, disposition: < 0,-18> }
483 bigNumberSprite: Sprite {
484 image: :"big-numbers.png",
487 greenNumberSprite: Sprite {
488 image: :"big-green-numbers.png",
492 heroTagLabels: Sprite {
493 image: :"hero-tag-sprites.png",
508 image: :"numbers.png",
514 activeHeroTagFrame: Frame {
515 image: :"tag-frames.png",
518 heroTagFrame: Frame {
519 image: :"tag-frames.png",
524 smallHeroTagFrame: Frame {
525 image: :"small-tag-frame.png",
528 lastSmallHeroTagFrame: Frame {
529 image: :"small-tag-frame.png",
533 heroesBgColor: (24, 40, 49),
536 image: :"gauges.png",
545 image: :"gauges.png",
554 image: :"gauges.png",
564 image: :"select-frame.png",
567 normalFont: normalFont,
568 disabledFont: disabledFont,
570 image: :"cursor-hand.png",
574 weaponTargetCursor: Sprite {
575 image: :"targeting-icons.png",
578 magicTargetCursor: Sprite {
579 image: :"targeting-icons.png",
583 itemTargetCursor: Sprite {
584 image: :"targeting-icons.png",
589 weaponMenuIcon: swordIcon,
590 armorMenuIcon: armorIcon,
591 shieldMenuIcon: shieldIcon,
592 helmetMenuIcon: helmetIcon,
593 ringMenuIcon: ringIcon,
594 jewelMenuIcon: jewelIcon,
596 spellMenuHeadline: "Please choose a spell.",
597 spellMenuProperties: MenuProperties {
599 disabledFont: disabledFont,
611 itemMenuHeadline: "Please choose an item.",
612 itemMenuProperties: MenuProperties {
614 disabledFont: disabledFont,
626 ikariMenuHeadline: "Please choose equipment.",
627 ikariMenuProperties: MenuProperties {
629 disabledFont: disabledFont,
637 charsPerAdditionalText: 12,
638 additionalTextGap: 16
640 noEquipmentText: "No equip",
642 escapeText: "Escapes."