X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=test-data%2Ftest.l2s;h=5958c7412cefa5aa35d9f45129adaff8724a83d2;hb=771a3daeecf527a9b5873e412e263ad251c59ab5;hp=74e71cd9908a49182533114dfa41048cc6c376c5;hpb=18f74a6be69846207f4184ab8570b29e8a39f592;p=l2e.git diff --git a/test-data/test.l2s b/test-data/test.l2s index 74e71cd..5958c74 100644 --- a/test-data/test.l2s +++ b/test-data/test.l2s @@ -3,6 +3,23 @@ Number twoFramesTime 66 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", @@ -120,3 +137,384 @@ export Hero maxim { 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."