- heroesLayout.AddPosition(Point<Uint8>(48, 136));
- heroesLayout.AddPosition(Point<Uint8>(128, 136));
- heroesLayout.AddPosition(Point<Uint8>(80, 152));
- heroesLayout.AddPosition(Point<Uint8>(160, 152));
-
- SDL_Surface *monsterImg(IMG_Load("test-data/monster.png"));
- Sprite dummySprite(monsterImg, 64, 64);
- Monster monster;
- monster.SetName("Monster");
- monster.SetSprite(&dummySprite);
- monster.SetMaxHealth(10);
- monster.SetHealth(10);
-
- SDL_Surface *maximImg(IMG_Load("test-data/maxim.png"));
- Sprite maximSprite(maximImg, 64, 64);
- Hero maxim;
- maxim.SetName("Maxim");
- maxim.SetLevel(1);
- maxim.SetSprite(&maximSprite);
- maxim.SetMaxHealth(33);
- maxim.SetHealth(33);
- maxim.SetMaxMana(20);
- maxim.SetMana(20);
- maxim.SetIP(0);
- ComplexAnimation maximAttackAnimation(&maximSprite, framerate);
- // TODO: cross check double frames; could be related to differences in framerates
- maximAttackAnimation.AddFrames(1, 0, Vector<int>(0, 0), 7); // TODO: maybe this could also be a pause before the battle animation
- maximAttackAnimation.AddFrames(1, 0, Vector<int>(4, -1), 2);
- maximAttackAnimation.AddFrames(2, 0, Vector<int>(4, -2), 2);
- maximAttackAnimation.AddFrames(2, 0, Vector<int>(6, -2), 2);
- maximAttackAnimation.AddFrames(2, 1, Vector<int>(6, -1), 1);
- maximAttackAnimation.AddFrames(2, 1, Vector<int>(3, -1), 2);
- maximAttackAnimation.AddFrames(2, 1, Vector<int>(0, 0), 1);
- maximAttackAnimation.AddFrames(2, 2, Vector<int>(0, 0), 2);
- maximAttackAnimation.AddFrames(2, 2, Vector<int>(2, 0), 1);
- maximAttackAnimation.AddFrames(1, 0, Vector<int>(0, 0), 7); // TODO: maybe this could also be a pause between two animations
- maxim.SetAttackAnimation(&maximAttackAnimation);
- ComplexAnimation maximSpellAnimation(&maximSprite, 5 * framerate);
- maximSpellAnimation.AddFrames(3, 0, Vector<int>(), 2);
- maximSpellAnimation.AddFrame(3, 1);
- maxim.SetSpellAnimation(&maximSpellAnimation);
- SDL_Surface *maximMeleeImg(IMG_Load("test-data/melee-maxim.png"));
- Sprite maximMeleeSprite(maximMeleeImg, 96, 96);
- SimpleAnimation maximMeleeAnimation(&maximMeleeSprite, 2 * framerate, 4);
- maxim.SetMeleeAnimation(&maximMeleeAnimation);
-
- SDL_Surface *selanImg(IMG_Load("test-data/selan.png"));
- Sprite selanSprite(selanImg, 64, 64);
- Hero selan;
- selan.SetName("Selan");
- selan.SetLevel(1);
- selan.SetSprite(&selanSprite);
- selan.SetMaxHealth(28);
- selan.SetHealth(28);
- selan.SetMaxMana(23);
- selan.SetMana(23);
- selan.SetIP(1);
- ComplexAnimation selanAttackAnimation(&selanSprite, framerate);
- selanAttackAnimation.AddFrames(1, 0, Vector<int>(4, 0), 2);
- selanAttackAnimation.AddFrame(1, 0, Vector<int>(8, 2));
- selanAttackAnimation.AddFrame(2, 0, Vector<int>(10, 4));
- selanAttackAnimation.AddFrame(2, 0, Vector<int>(14, 4));
- selanAttackAnimation.AddFrames(2, 0, Vector<int>(12, 2), 3);
- selanAttackAnimation.AddFrames(2, 1, Vector<int>(14, 2), 2);
- selanAttackAnimation.AddFrame(2, 1, Vector<int>(2, 0));
- selanAttackAnimation.AddFrame(2, 2, Vector<int>(-2, -4));
- selanAttackAnimation.AddFrame(2, 2, Vector<int>(-8, -8));
- selanAttackAnimation.AddFrame(2, 2);
- selan.SetAttackAnimation(&selanAttackAnimation);
- ComplexAnimation selanSpellAnimation(&selanSprite, framerate);
- selanSpellAnimation.AddFrames(2, 0, Vector<int>(), 3);
- selanSpellAnimation.AddFrames(2, 1, Vector<int>(), 2);
- selanSpellAnimation.AddFrames(2, 2, Vector<int>(), 3);
- selanSpellAnimation.AddFrames(2, 3, Vector<int>(), 2);
- selan.SetSpellAnimation(&selanSpellAnimation);
- SDL_Surface *selanMeleeImg(IMG_Load("test-data/melee-selan.png"));
- Sprite selanMeleeSprite(selanMeleeImg, 96, 96);
- SimpleAnimation selanMeleeAnimation(&selanMeleeSprite, 2 * framerate, 4);
- selan.SetMeleeAnimation(&selanMeleeAnimation);