+
+Sprite guySprite {
+ image: :"guy.png",
+ size: <64,64>
+}
+export Hero guy {
+ name: "Guy",
+ level: 1,
+ sprite: guySprite,
+ maxHealth: 38,
+ health: 38,
+ maxMana: 0,
+ mana: 0,
+ ip: 0,
+ stats: Stats {
+ atp: 38,
+ dfp: 25,
+ str: 38,
+ agl: 13,
+ int: 8,
+ gut: 90,
+ mgr: 8
+ },
+ attackAnimation: ComplexAnimation {
+ sprite: guySprite,
+ frametime: frameTime,
+ repeat: false,
+ frames: [
+ { column: 1, row: 0, disposition: <-4, 0> },
+ { column: 1, row: 0, disposition: <-4, 0> },
+ { column: 1, row: 0, disposition: <-8, 0> },
+ { column: 1, row: 0, disposition: <-8, 0> },
+ { column: 2, row: 0, disposition: <-8, 0> },
+ { column: 2, row: 0, disposition: <-8, 0> },
+ { column: 2, row: 0, disposition: <-4, 0> },
+ { column: 2, row: 0, disposition: < 0, 0> },
+ { column: 2, row: 0, disposition: < 0, 0> },
+ { column: 2, row: 1, disposition: < 0, 0> },
+ { column: 2, row: 1, disposition: < 4, 0> },
+ { column: 2, row: 1, disposition: <10, 0> },
+ { column: 2, row: 2, disposition: <10, 0> },
+ { column: 2, row: 2, disposition: < 0, 0> }
+ ]
+ },
+ meleeAnimation: SimpleAnimation {
+ sprite: Sprite {
+ image: :"melee-guy.png",
+ size: <96,96>
+ },
+ frametime: fourFramesTime,
+ framecount: 4
+ }
+}
+
+Sprite dekarSprite {
+ image: :"dekar.png",
+ size: <64,64>
+}
+export Hero dekar {
+ name: "Dekar",
+ level: 1,
+ sprite: dekarSprite,
+ maxHealth: 38,
+ health: 38,
+ maxMana: 0,
+ mana: 0,
+ ip: 0,
+ stats: Stats {
+ atp: 46,
+ dfp: 29,
+ str: 46,
+ agl: 13,
+ int: 7,
+ gut: 100,
+ mgr: 5
+ },
+ attackAnimation: ComplexAnimation {
+ sprite: dekarSprite,
+ frametime: frameTime,
+ repeat: false,
+ frames: [
+ { column: 1, row: 0, disposition: < 4, 0> },
+ { column: 1, row: 0, disposition: < 8, 2> },
+ { column: 2, row: 0, disposition: <12, 4> },
+ { column: 2, row: 0, disposition: <16, 4> },
+ { column: 2, row: 0, disposition: <10, 2> },
+ { column: 2, row: 0, disposition: <10, 2> },
+ { column: 2, row: 0, disposition: <10, 2> },
+ { column: 2, row: 0, disposition: <10, 2> },
+ { column: 2, row: 1, disposition: < 6, 2> },
+ { column: 2, row: 1, disposition: < 0, 0> },
+ { column: 2, row: 2, disposition: <-2, 0> },
+ { column: 2, row: 2, disposition: < 0, 0> },
+ { column: 2, row: 2, disposition: < 0, 0> },
+ { column: 2, row: 2, disposition: < 0, 0> }
+ ]
+ },
+ spellAnimation: ComplexAnimation {
+ sprite: dekarSprite,
+ frametime: twoFramesTime,
+ repeat: false,
+ frames: [
+ { column: 3, row: 0, disposition: < 0, 0> },
+ { column: 3, row: 0, disposition: < 0, 0> },
+ { column: 3, row: 0, disposition: < 0, 0> },
+ { column: 3, row: 0, disposition: < 0, 0> },
+ { column: 3, row: 0, disposition: < 0, 0> },
+ { column: 3, row: 0, disposition: < 0, 0> },
+ { column: 3, row: 1, disposition: < 0, 0> },
+ { column: 3, row: 1, disposition: < 0, 0> },
+ { column: 3, row: 2, disposition: < 0, 0> },
+ { column: 3, row: 2, disposition: < 0, 0> },
+ { column: 3, row: 2, disposition: < 0, 0> }
+ ]
+ },
+ meleeAnimation: SimpleAnimation {
+ sprite: Sprite {
+ image: :"melee-dekar.png",
+ size: <96,96>
+ },
+ frametime: twoFramesTime,
+ framecount: 4
+ }
+}
+
+export Sprite swapCursor {
+ image: :"swap-cursor.png",
+ size: <32,32>
+}
+export Sprite attackIcons {
+ image: :"attack-type-icons.png",
+ size: <32,32>
+}
+export Sprite attackChoiceIcons {
+ image: :"attack-choice-icons.png",
+ size: <16,16>
+}
+export Sprite moveIcons {
+ image: :"move-icons.png",
+ size: <32,32>
+}
+
+export Frame titleFrame {
+ image: :"title-frame.png",
+ border: <16,16>
+}
+
+export Font largeFont {
+ sprite: Sprite {
+ image: :"large-font.png",
+ size: <16,32>
+ },
+ rowoffset: -2
+}
+
+export ComplexAnimation numberAnimationPrototype {
+ frametime: frameTime,
+ repeat: false,
+ frames: [
+ { column: 0, row: 0, disposition: < 0, 0> },
+ { column: 0, row: 0, disposition: < 0,-26> },
+ { column: 0, row: 0, disposition: < 0,-42> },
+ { column: 0, row: 0, disposition: < 0,-48> },
+ { column: 0, row: 0, disposition: < 0,-42> },
+ { column: 0, row: 0, disposition: < 0,-26> },
+ { column: 0, row: 0, disposition: < 0, 0> },
+ { column: 0, row: 0, disposition: < 0,-12> },
+ { column: 0, row: 0, disposition: < 0,-20> },
+ { column: 0, row: 0, disposition: < 0,-24> },
+ { column: 0, row: 0, disposition: < 0,-20> },
+ { column: 0, row: 0, disposition: < 0,-12> },
+ { column: 0, row: 0, disposition: < 0, 0> },
+ { column: 0, row: 0, disposition: < 0, -6> },
+ { column: 0, row: 0, disposition: < 0,-10> },
+ { column: 0, row: 0, disposition: < 0,-12> },
+ { column: 0, row: 0, disposition: < 0,-10> },
+ { column: 0, row: 0, disposition: < 0, -6> },
+ { column: 0, row: 0, disposition: < 0, 0> },
+ { column: 0, row: 0, disposition: < 0, 0> },
+ { column: 0, row: 0, disposition: < 0, 0> },
+ { column: 0, row: 0, disposition: < 0, 0> },
+ { column: 0, row: 0, disposition: < 0, 0> },
+ { column: 0, row: 0, disposition: < 0, 0> },
+ { column: 0, row: 0, disposition: < 0, 0> },
+ { column: 0, row: 0, disposition: < 0, 0> },
+ { column: 0, row: 0, disposition: < 0, 0> },
+ { column: 0, row: 0, disposition: < 0, 0> },
+ { column: 0, row: 0, disposition: < 0, 0> },
+ { column: 0, row: 0, disposition: < 0, 0> },
+ { column: 0, row: 0, disposition: < 0, 0> },
+ { column: 0, row: 0, disposition: < 0, 0> },
+ { column: 0, row: 0, disposition: < 0,-36> },
+ { column: 0, row: 0, disposition: < 0,-32> },
+ { column: 0, row: 0, disposition: < 0,-18> }
+ ]
+}
+export Sprite bigNumbers {
+ image: :"big-numbers.png",
+ size: <16,32>
+}
+export Sprite bigGreenNumbers {
+ image: :"big-green-numbers.png",
+ size: <16,32>
+}
+
+export Sprite heroTagLabels {
+ image: :"hero-tag-sprites.png",
+ size: <32,16>
+}
+export Font heroTagFont {
+ sprite: Sprite {
+ image: :"numbers.png",
+ size: <16,16>
+ },
+ rowoffset: -3
+}
+
+export Frame activeHeroTagFrame {
+ image: :"tag-frames.png",
+ border: <16,16>
+}
+export Frame heroTagFrame {
+ image: :"tag-frames.png",
+ border: <16,16>,
+ offset: < 0,33>
+}
+
+export Frame smallHeroTagFrame {
+ image: :"small-tag-frame.png",
+ border: <8,16>
+}
+export Frame lastSmallHeroTagFrame {
+ image: :"small-tag-frame.png",
+ border: <8,16>,
+ offset: <0,33>
+}
+
+export Gauge healthGauge {
+ image: :"gauges.png",
+ full: <0,16>,
+ empty: <0, 0>,
+ height: 16,
+ start: 6,
+ repeat: 1,
+ end: 6
+}
+export Gauge manaGauge {
+ image: :"gauges.png",
+ full: <0,32>,
+ empty: <0, 0>,
+ height: 16,
+ start: 6,
+ repeat: 1,
+ end: 6
+}
+export Gauge ikariGauge {
+ image: :"gauges.png",
+ full: <0,48>,
+ empty: <0, 0>,
+ height: 16,
+ start: 6,
+ repeat: 1,
+ end: 6
+}
+
+export Frame selectFrame {
+ image: :"select-frame.png",
+ border: <16,16>
+}
+export Font normalFont {
+ sprite: Sprite {
+ image: :"normal-font.png",
+ size: <16,16>
+ },
+ rowoffset: -2
+}
+export Font disabledFont {
+ sprite: Sprite {
+ image: :"disabled-font.png",
+ size: <16,16>
+ },
+ rowoffset: -2
+}
+export Sprite handCursor {
+ image: :"cursor-hand.png",
+ size: <32,32>
+}
+
+export Sprite weaponTargetCursor {
+ image: :"targeting-icons.png",
+ size: <32,32>
+}
+export Sprite magicTargetCursor {
+ image: :"targeting-icons.png",
+ size: <32,32>,
+ offset: <0,32>
+}
+export Sprite itemTargetCursor {
+ image: :"targeting-icons.png",
+ size: <32,32>,
+ offset: <0,64>
+}
+
+export String spellMenuHeadline "Please choose a spell."
+export String itemMenuHeadline "Please choose an item."
+export String ikariMenuHeadline "Please choose equipment."
+export String noEquipmentText "No equip"
+export String escapeText "Escapes."