]> git.localhorst.tv Git - l2e.git/blobdiff - test-data/test.l2s
moved some items to l2 source files
[l2e.git] / test-data / test.l2s
index ef1cce28cf52cfb33164b593fa6dd043eefd6a70..5958c7412cefa5aa35d9f45129adaff8724a83d2 100644 (file)
@@ -1,27 +1,60 @@
 Number frameTime 33
 Number twoFramesTime 66
-Number fiveFramesTime 165
+Number fourFramesTime 132
+Number fiveFramesTime 165 // darn, i really need to implement expressions
+
+export PartyLayout monstersLayout {
+       positions: [
+               < 88, 88>,
+               <128, 88>,
+               <168, 88>,
+               <208, 88>
+       ]
+}
+export PartyLayout heroesLayout {
+       positions: [
+               < 48,136>,
+               <128,136>,
+               < 80,152>,
+               <160,152>
+       ]
+}
+
+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,
        stats: Stats {
-               attack:         14,
-               defense:         6,
-               strength:        6,
-               agility:         6,
-               intelligence:    6,
-               gut:             6,
-               magicResistance: 6
-       },
-       attackAnimation: SimpleAnimation {
+               atp: 14,
+               dfp:  6,
+               str:  6,
+               agl:  6,
+               int:  6,
+               gut:  6,
+               mgr:  6
+       },
+       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,
@@ -30,7 +63,7 @@ export Monster lizard {
 }
 
 Sprite maximSprite {
-       image: "maxim.png",
+       image: "test-data/maxim.png",
        size: <64,64>
 }
 export Hero maxim {
@@ -43,13 +76,13 @@ export Hero maxim {
        mana: 20,
        ip: 0,
        stats: Stats {
-               attack:          28,
-               defense:         22,
-               strength:        28,
-               agility:         17,
-               intelligence:    14,
-               gut:            100,
-               magicResistance: 10
+               atp:  28,
+               dfp:  22,
+               str:  28,
+               agl:  17,
+               int:  14,
+               gut: 100,
+               mgr:  10
        },
        attackAnimation: ComplexAnimation {
                sprite: maximSprite,
@@ -97,10 +130,391 @@ 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,
+               framecount: 4
+       }
+}
+
+Sprite guySprite {
+       image: "test-data/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: "test-data/melee-guy.png",
+                       size: <96,96>
+               },
+               frametime: fourFramesTime,
+               framecount: 4
+       }
+}
+
+Sprite dekarSprite {
+       image: "test-data/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: "test-data/melee-dekar.png",
+                       size: <96,96>
+               },
+               frametime: twoFramesTime,
+               framecount: 4
+       }
+}
+
+export Sprite swapCursor {
+       image: "test-data/swap-cursor.png",
+       size: <32,32>
+}
+export Sprite attackIcons {
+       image: "test-data/attack-type-icons.png",
+       size: <32,32>
+}
+export Sprite attackChoiceIcons {
+       image: "test-data/attack-choice-icons.png",
+       size: <16,16>
+}
+export Sprite moveIcons {
+       image: "test-data/move-icons.png",
+       size: <32,32>
+}
+
+export Frame titleFrame {
+       image: "test-data/title-frame.png",
+       border: <16,16>
+}
+
+export Font largeFont {
+       sprite: Sprite {
+               image: "test-data/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: "test-data/big-numbers.png",
+       size: <16,32>
+}
+export Sprite bigGreenNumbers {
+       image: "test-data/big-green-numbers.png",
+       size: <16,32>
+}
+
+export Sprite heroTagLabels {
+       image: "test-data/hero-tag-sprites.png",
+       size: <32,16>
+}
+export Font heroTagFont {
+       sprite: Sprite {
+               image: "test-data/numbers.png",
+               size: <16,16>
+       },
+       rowoffset: -3
+}
+
+export Frame activeHeroTagFrame {
+       image: "test-data/tag-frames.png",
+       border: <16,16>
+}
+export Frame heroTagFrame {
+       image: "test-data/tag-frames.png",
+       border: <16,16>,
+       offset: < 0,33>
+}
+
+export Frame smallHeroTagFrame {
+       image: "test-data/small-tag-frame.png",
+       border: <8,16>
+}
+export Frame lastSmallHeroTagFrame {
+       image: "test-data/small-tag-frame.png",
+       border: <8,16>,
+       offset: <0,33>
+}
+
+export Gauge healthGauge {
+       image: "test-data/gauges.png",
+       full:  <0,16>,
+       empty: <0, 0>,
+       height: 16,
+       start:   6,
+       repeat:  1,
+       end:     6
+}
+export Gauge manaGauge {
+       image: "test-data/gauges.png",
+       full:  <0,32>,
+       empty: <0, 0>,
+       height: 16,
+       start:   6,
+       repeat:  1,
+       end:     6
+}
+export Gauge ikariGauge {
+       image: "test-data/gauges.png",
+       full:  <0,48>,
+       empty: <0, 0>,
+       height: 16,
+       start:   6,
+       repeat:  1,
+       end:     6
+}
+
+export Frame selectFrame {
+       image: "test-data/select-frame.png",
+       border: <16,16>
+}
+export Font normalFont {
+       sprite: Sprite {
+               image: "test-data/normal-font.png",
+               size: <16,16>
+       },
+       rowoffset: -2
+}
+export Font disabledFont {
+       sprite: Sprite {
+               image: "test-data/disabled-font.png",
+               size: <16,16>
+       },
+       rowoffset: -2
+}
+export Sprite handCursor {
+       image: "test-data/cursor-hand.png",
+       size: <32,32>
+}
+
+export Sprite weaponTargetCursor {
+       image: "test-data/targeting-icons.png",
+       size: <32,32>
+}
+export Sprite magicTargetCursor {
+       image: "test-data/targeting-icons.png",
+       size: <32,32>,
+       offset: <0,32>
+}
+export Sprite itemTargetCursor {
+       image: "test-data/targeting-icons.png",
+       size: <32,32>,
+       offset: <0,64>
+}
+
+include "test-data/spells.l2s"
+
+export String spellMenuHeadline "Please choose a spell."
+
+include "test-data/ikaris.l2s"
+include "test-data/items.l2s"
+
+export String itemMenuHeadline "Please choose an item."