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,
95 attackAnimation: ComplexAnimation {
100 [ ComplexAnimationFrame
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: < 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: < 4,-1> },
109 { column: 1, row: 0, disposition: < 4,-1> },
110 { column: 2, row: 0, disposition: < 4,-2> },
111 { column: 2, row: 0, disposition: < 4,-2> },
112 { column: 2, row: 0, disposition: < 6,-2> },
113 { column: 2, row: 0, disposition: < 6,-2> },
114 { column: 2, row: 1, disposition: < 6,-1> },
115 { column: 2, row: 1, disposition: < 3,-1> },
116 { column: 2, row: 1, disposition: < 3,-1> },
117 { column: 2, row: 1, disposition: < 0, 0> },
118 { column: 2, row: 2, disposition: < 0, 0> },
119 { column: 2, row: 2, disposition: < 0, 0> },
120 { column: 2, row: 2, disposition: < 2, 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> },
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> }
130 spellAnimation: ComplexAnimation {
132 frametime: fiveFramesTime,
135 [ ComplexAnimationFrame
136 { column: 3, row: 0, disposition: < 0, 0> },
137 { column: 3, row: 0, disposition: < 0, 0> },
138 { column: 3, row: 1, disposition: < 0, 0> }
141 meleeAnimation: SimpleAnimation {
143 image: :"melee-maxim.png",
146 frametime: twoFramesTime,
150 animation: SimpleAnimation{
152 image: :"maxim-map.png",
158 spriteOffset: <0,-32>
169 battleSprite: selanSprite,
185 attackAnimation: ComplexAnimation {
187 frametime: frameTime,
190 [ ComplexAnimationFrame
191 { column: 1, row: 0, disposition: < 4, 0> },
192 { column: 1, row: 0, disposition: < 4, 0> },
193 { column: 1, row: 0, disposition: < 8, 2> },
194 { column: 2, row: 0, disposition: <10, 4> },
195 { column: 2, row: 0, disposition: <14, 4> },
196 { column: 2, row: 0, disposition: <12, 2> },
197 { column: 2, row: 0, disposition: <12, 2> },
198 { column: 2, row: 0, disposition: <12, 2> },
199 { column: 2, row: 1, disposition: <14, 2> },
200 { column: 2, row: 1, disposition: <14, 2> },
201 { column: 2, row: 1, disposition: < 2, 0> },
202 { column: 2, row: 2, disposition: <-2,-4> },
203 { column: 2, row: 2, disposition: <-8,-8> },
204 { column: 2, row: 2, disposition: < 0, 0> }
207 spellAnimation: ComplexAnimation {
209 frametime: frameTime,
212 [ ComplexAnimationFrame
213 { column: 3, row: 0, disposition: < 0, 0> },
214 { column: 3, row: 0, disposition: < 0, 0> },
215 { column: 3, row: 0, disposition: < 0, 0> },
216 { column: 3, row: 1, disposition: < 0, 0> },
217 { column: 3, row: 1, disposition: < 0, 0> },
218 { column: 3, row: 2, disposition: < 0, 0> },
219 { column: 3, row: 2, disposition: < 0, 0> },
220 { column: 3, row: 2, disposition: < 0, 0> },
221 { column: 3, row: 3, disposition: < 0, 0> },
222 { column: 3, row: 3, disposition: < 0, 0> }
225 meleeAnimation: SimpleAnimation {
227 image: :"melee-selan.png",
230 frametime: twoFramesTime,
234 animation: SimpleAnimation{
236 image: :"selan-map.png",
242 spriteOffset: <0,-32>
253 battleSprite: guySprite,
269 attackAnimation: ComplexAnimation {
271 frametime: frameTime,
274 [ ComplexAnimationFrame
275 { column: 1, row: 0, disposition: <-4, 0> },
276 { column: 1, row: 0, disposition: <-4, 0> },
277 { column: 1, row: 0, disposition: <-8, 0> },
278 { column: 1, row: 0, disposition: <-8, 0> },
279 { column: 2, row: 0, disposition: <-8, 0> },
280 { column: 2, row: 0, disposition: <-8, 0> },
281 { column: 2, row: 0, disposition: <-4, 0> },
282 { column: 2, row: 0, disposition: < 0, 0> },
283 { column: 2, row: 0, disposition: < 0, 0> },
284 { column: 2, row: 1, disposition: < 0, 0> },
285 { column: 2, row: 1, disposition: < 4, 0> },
286 { column: 2, row: 1, disposition: <10, 0> },
287 { column: 2, row: 2, disposition: <10, 0> },
288 { column: 2, row: 2, disposition: < 0, 0> }
291 meleeAnimation: SimpleAnimation {
293 image: :"melee-guy.png",
296 frametime: fourFramesTime,
300 animation: SimpleAnimation{
302 image: :"guy-map.png",
308 spriteOffset: <0,-32>
319 battleSprite: dekarSprite,
335 attackAnimation: ComplexAnimation {
337 frametime: frameTime,
340 [ ComplexAnimationFrame
341 { column: 1, row: 0, disposition: < 4, 0> },
342 { column: 1, row: 0, disposition: < 8, 2> },
343 { column: 2, row: 0, disposition: <12, 4> },
344 { column: 2, row: 0, disposition: <16, 4> },
345 { column: 2, row: 0, disposition: <10, 2> },
346 { column: 2, row: 0, disposition: <10, 2> },
347 { column: 2, row: 0, disposition: <10, 2> },
348 { column: 2, row: 0, disposition: <10, 2> },
349 { column: 2, row: 1, disposition: < 6, 2> },
350 { column: 2, row: 1, disposition: < 0, 0> },
351 { column: 2, row: 2, disposition: <-2, 0> },
352 { column: 2, row: 2, disposition: < 0, 0> },
353 { column: 2, row: 2, disposition: < 0, 0> },
354 { column: 2, row: 2, disposition: < 0, 0> }
357 spellAnimation: ComplexAnimation {
359 frametime: twoFramesTime,
362 [ ComplexAnimationFrame
363 { column: 3, row: 0, disposition: < 0, 0> },
364 { column: 3, row: 0, disposition: < 0, 0> },
365 { column: 3, row: 0, disposition: < 0, 0> },
366 { column: 3, row: 0, disposition: < 0, 0> },
367 { column: 3, row: 0, disposition: < 0, 0> },
368 { column: 3, row: 0, disposition: < 0, 0> },
369 { column: 3, row: 1, disposition: < 0, 0> },
370 { column: 3, row: 1, disposition: < 0, 0> },
371 { column: 3, row: 2, disposition: < 0, 0> },
372 { column: 3, row: 2, disposition: < 0, 0> },
373 { column: 3, row: 2, disposition: < 0, 0> }
376 meleeAnimation: SimpleAnimation {
378 image: :"melee-dekar.png",
381 frametime: twoFramesTime,
385 animation: SimpleAnimation{
387 image: :"dekar-map.png",
393 spriteOffset: <0,-32>
398 image: :"cursor-hand.png",
404 image: :"normal-font.png",
412 image: :"disabled-font.png",
418 export BattleResources battleResources {
420 image: :"swap-cursor.png",
423 attackIcons: Sprite {
424 image: :"attack-type-icons.png",
427 attackChoiceIcons: Sprite {
428 image: :"attack-choice-icons.png",
432 image: :"move-icons.png",
437 image: :"title-frame.png",
442 image: :"large-font.png",
448 numberAnimationPrototype: ComplexAnimation {
449 frametime: frameTime,
452 [ ComplexAnimationFrame
453 { column: 0, row: 0, disposition: < 0, 0> },
454 { column: 0, row: 0, disposition: < 0,-26> },
455 { column: 0, row: 0, disposition: < 0,-42> },
456 { column: 0, row: 0, disposition: < 0,-48> },
457 { column: 0, row: 0, disposition: < 0,-42> },
458 { column: 0, row: 0, disposition: < 0,-26> },
459 { column: 0, row: 0, disposition: < 0, 0> },
460 { column: 0, row: 0, disposition: < 0,-12> },
461 { column: 0, row: 0, disposition: < 0,-20> },
462 { column: 0, row: 0, disposition: < 0,-24> },
463 { column: 0, row: 0, disposition: < 0,-20> },
464 { column: 0, row: 0, disposition: < 0,-12> },
465 { column: 0, row: 0, disposition: < 0, 0> },
466 { column: 0, row: 0, disposition: < 0, -6> },
467 { column: 0, row: 0, disposition: < 0,-10> },
468 { column: 0, row: 0, disposition: < 0,-12> },
469 { column: 0, row: 0, disposition: < 0,-10> },
470 { column: 0, row: 0, disposition: < 0, -6> },
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, 0> },
479 { column: 0, row: 0, disposition: < 0, 0> },
480 { column: 0, row: 0, disposition: < 0, 0> },
481 { column: 0, row: 0, disposition: < 0, 0> },
482 { column: 0, row: 0, disposition: < 0, 0> },
483 { column: 0, row: 0, disposition: < 0, 0> },
484 { column: 0, row: 0, disposition: < 0, 0> },
485 { column: 0, row: 0, disposition: < 0,-36> },
486 { column: 0, row: 0, disposition: < 0,-32> },
487 { column: 0, row: 0, disposition: < 0,-18> }
490 bigNumberSprite: Sprite {
491 image: :"big-numbers.png",
494 greenNumberSprite: Sprite {
495 image: :"big-green-numbers.png",
499 heroTagLabels: Sprite {
500 image: :"hero-tag-sprites.png",
515 image: :"numbers.png",
521 activeHeroTagFrame: Frame {
522 image: :"tag-frames.png",
525 heroTagFrame: Frame {
526 image: :"tag-frames.png",
531 smallHeroTagFrame: Frame {
532 image: :"small-tag-frame.png",
535 lastSmallHeroTagFrame: Frame {
536 image: :"small-tag-frame.png",
540 heroesBgColor: (24, 40, 49),
543 image: :"gauges.png",
552 image: :"gauges.png",
561 image: :"gauges.png",
571 image: :"select-frame.png",
574 normalFont: normalFont,
575 disabledFont: disabledFont,
577 image: :"cursor-hand.png",
581 weaponTargetCursor: Sprite {
582 image: :"targeting-icons.png",
585 magicTargetCursor: Sprite {
586 image: :"targeting-icons.png",
590 itemTargetCursor: Sprite {
591 image: :"targeting-icons.png",
596 weaponMenuIcon: swordIcon,
597 armorMenuIcon: armorIcon,
598 shieldMenuIcon: shieldIcon,
599 helmetMenuIcon: helmetIcon,
600 ringMenuIcon: ringIcon,
601 jewelMenuIcon: jewelIcon,
603 spellMenuHeadline: "Please choose a spell.",
604 spellMenuProperties: MenuProperties {
606 disabledFont: disabledFont,
618 itemMenuHeadline: "Please choose an item.",
619 itemMenuProperties: MenuProperties {
621 disabledFont: disabledFont,
633 ikariMenuHeadline: "Please choose equipment.",
634 ikariMenuProperties: MenuProperties {
636 disabledFont: disabledFont,
644 charsPerAdditionalText: 12,
645 additionalTextGap: 16
647 noEquipmentText: "No equip",
649 escapeText: "Escapes."
654 image: :"menu-font.png",
659 Font menuInactiveFont {
661 image: :"menu-font-inactive.png",
667 image: :"menu-cursor.png",
670 Sprite menuActiveCursor {
671 image: :"menu-cursor-active.png",
675 export MenuResources menuResources {
677 image: :"menubg.png",
680 normalFont: menuFont,
681 inactiveFont: menuInactiveFont,
682 statusFont: normalFont,
683 statusLabels: Sprite {
684 image: :"status-labels.png",
688 image: :"status-frame.png",
692 mainMenu: MenuProperties {
703 mainMenuItemText: "ITEM",
704 mainMenuSpellText: "SPELL",
705 mainMenuCapsuleText: "CAPSULE",
706 mainMenuEquipmentText: "EQUIP",
707 mainMenuStatusText: "STATUS",
708 mainMenuChangeText: "CHANGE",
709 mainMenuConfigText: "CONFIG",
710 mainMenuScenarioText: "SCENARIO",
711 mainMenuTimeText: "TIME",
712 mainMenuGoldText: "GOLD",
714 image: :"hero-cursor.png",
717 heroCursorBlinkTime: 532,
718 noEquipmentText: "No equip",
719 shoulderNav: Sprite {
720 image: :"shoulder-nav.png",
731 experienceLabel: "NOW EXP",
732 nextLevelLabel: "NEXT LEVEL",
733 statusMenu: MenuProperties {
743 returnLabel: "RETURN",
744 itemMenu: MenuProperties {
751 selectedCursor: menuActiveCursor,
756 itemMenuUseText: "USE",
757 itemMenuSortText: "SORT",
758 itemMenuDropText: "DROP",
759 inventoryMenu: MenuProperties {
765 selectedCursor: menuActiveCursor,
767 disabledFont: menuInactiveFont,
772 spellMenu: MenuProperties {
779 selectedCursor: menuActiveCursor,
781 disabledFont: menuInactiveFont,
785 equipmentActionMenu: MenuProperties {
791 selectedCursor: menuActiveCursor,
794 equipmentMenu: MenuProperties {
800 selectedCursor: menuActiveCursor,
805 equipMenuEquipLabel: "EQUIP",
806 equipMenuStrongestLabel: "STRONGEST",
807 equipMenuRemoveLabel: "REMOVE",
808 equipMenuRemoveAllLabel: "REMOVE ALL",
809 equipMenuDropLabel: "DROP",
810 configMenu: MenuProperties {
819 configMessageSpeedLabel: "MESSAGE\n SPEED",
820 configMessageSpeedFast: "FAST",
821 configMessageSpeedNormal: "NORMAL",
822 configMessageSpeedSlow: "SLOW",
823 configBattleCursorLabel: "BATTLE\n CURSOR",
824 configStatusCursorLabel: "STATUS\n CURSOR",
825 configCursorClear: "CLEAR",
826 configCursorMemory: "MEMORY",
827 configMusicLabel: "MUSIC",
828 configMusicStereo: "STEREO",
829 configMusicMono: "MONO",
830 scenarioMenu: MenuProperties {
838 scenarioMenuHeadline: "SCENARIO ITEM"