Number frameTime 33
Number twoFramesTime 66
-Number fiveFramesTime 165
+Number fourFramesTime 132
+Number fiveFramesTime 165 // darn, i really need to implement expressions
+
+Sprite lizardSprite {
+ // using pathes relative to project root until path resolution is implemented
+ image: "test-data/monster.png",
+ size: <64,64>
+}
export Monster lizard {
name: "Lizard",
- sprite: Sprite {
- image: "monster.png",
- size: <64,64>
- },
+ sprite: lizardSprite,
level: 1,
maxHealth: 8,
health: 8,
gut: 6,
mgr: 6
},
- attackAnimation: SimpleAnimation {
+ attackAnimation: ComplexAnimation {
+ sprite: lizardSprite,
+ frametime: fourFramesTime,
+ repeat: false,
+ frames: [
+ { column: 0, row: 1, disposition: < 0, 16> },
+ { column: 0, row: 0, disposition: < 0, 16> },
+ { column: 0, row: 1, disposition: < 0, 16> },
+ { column: 0, row: 0, disposition: < 0, 16> }
+ ]
+ },
+ meleeAnimation: SimpleAnimation {
sprite: Sprite {
- image: "attack-monster.png",
+ image: "test-data/attack-monster.png",
size: <96,64>
},
frametime: frameTime,
}
Sprite maximSprite {
- image: "maxim.png",
+ image: "test-data/maxim.png",
size: <64,64>
}
export Hero maxim {
},
meleeAnimation: SimpleAnimation {
sprite: Sprite {
- image: "melee-maxim.png",
+ image: "test-data/melee-maxim.png",
+ size: <96,96>
+ },
+ frametime: twoFramesTime,
+ framecount: 4
+ }
+}
+
+Sprite selanSprite {
+ image: "test-data/selan.png",
+ size: <64,64>
+}
+export Hero selan {
+ name: "Selan",
+ level: 1,
+ sprite: selanSprite,
+ maxHealth: 28,
+ health: 28,
+ maxMana: 23,
+ mana: 23,
+ ip: 0,
+ stats: Stats {
+ atp: 23,
+ dfp: 21,
+ str: 23,
+ agl: 19,
+ int: 22,
+ gut: 80,
+ mgr: 13
+ },
+ attackAnimation: ComplexAnimation {
+ sprite: selanSprite,
+ 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, 2> },
+ { column: 2, row: 0, disposition: <10, 4> },
+ { column: 2, row: 0, disposition: <14, 4> },
+ { column: 2, row: 0, disposition: <12, 2> },
+ { column: 2, row: 0, disposition: <12, 2> },
+ { column: 2, row: 0, disposition: <12, 2> },
+ { column: 2, row: 1, disposition: <14, 2> },
+ { column: 2, row: 1, disposition: <14, 2> },
+ { column: 2, row: 1, disposition: < 2, 0> },
+ { column: 2, row: 2, disposition: <-2,-4> },
+ { column: 2, row: 2, disposition: <-8,-8> },
+ { column: 2, row: 2, disposition: < 0, 0> }
+ ]
+ },
+ spellAnimation: ComplexAnimation {
+ sprite: selanSprite,
+ frametime: frameTime,
+ 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: 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> },
+ { column: 3, row: 3, disposition: < 0, 0> },
+ { column: 3, row: 3, disposition: < 0, 0> }
+ ]
+ },
+ meleeAnimation: SimpleAnimation {
+ sprite: Sprite {
+ image: "test-data/melee-selan.png",
size: <96,96>
},
frametime: twoFramesTime,