Esempio n. 1
0
        public HasHalo(Character target)
        {
            Random r1 = new Random();

            this.Damage -= Convert.ToInt32(target.FightVitality * 0.15);
            this.Duration = Convert.ToInt32(r1.Next(1, 6 * 1000) / 1000);
        }
Esempio n. 2
0
 public void Execute(Character source, List<Character> targets)
 {
     foreach (Character target in targets)
     {
         target.Life += Convert.ToInt32(source.FightMagic);
     }
 }
Esempio n. 3
0
        public void Execute(Character source, List<Character> targets)
        {
            foreach (var target in targets)
            {
                this.CausedDamage = Convert.ToInt32((source.FightStrength + (this.r1.Next(1, (source.FightStrength / 7) * 1000)) / 1000));

                //Automatischer Kritischer-Treffer
                this.CausedDamage = Convert.ToInt32(this.CausedDamage * 1.5);
                this.CausedDamage -= target.FightDefense;

                if (this.CausedDamage <= 0)
                {
                    this.CausedDamage = 0;

                    if (target.FightDefense > 0)
                    {
                        target.FightDefense -= source.FightStrength / 5;
                    }
                }
                else if (this.CausedDamage < source.FightStrength / 5)
                {
                    this.CausedDamage = source.FightStrength / 5;
                }

                target.Life -= this.CausedDamage;
            }
        }
Esempio n. 4
0
 public void Execute(Character source, List<Character> targets)
 {
     new AttributesChangeEffect(AttributeActions.Substract, Attributes.FightResistance).Execute(source, targets);
     new Bleed().Execute(source,targets);
     new Poison().Execute(source,targets);
     new AttributesChangeEffect(AttributeActions.Substract, Attributes.FightStrength).Execute(source,targets);
 }
Esempio n. 5
0
        public void Execute(Character source, List<Character> targets)
        {
            foreach(Character target in targets)
            {
                this.CausedDamage = Convert.ToInt32(source.FightStrength + (this.r1.Next(1, (source.FightStrength / 7) * 1000)) / 1000);

                if (this.CritChance.Next(0, 101) <= source.FightLuck)
                {
                    this.CausedDamage = Convert.ToInt32(this.CausedDamage * 1.5);
                }

                this.CausedDamage -= target.FightDefense;

                if (this.CausedDamage <= 0)
                {
                    this.CausedDamage = 0;

                    if (target.FightDefense > 0)
                    {
                        target.FightDefense -= source.FightStrength / 5;
                    }
                }
                else if (this.CausedDamage < source.FightStrength / 5)
                {
                    this.CausedDamage = source.FightStrength / 5;
                }

                target.Life -= this.CausedDamage;
            }
        }
Esempio n. 6
0
 public void Execute(Character source, List<Character> targets)
 {
     new Burn().Execute(source, targets);
     new RandomDebuffEffect().Execute(source, targets);
     new RandomDebuffEffect().Execute(source, targets);
     new RandomEffect().Execute(source, targets);
 }
Esempio n. 7
0
 public void Execute(Character source, List<Character> targets)
 {
     foreach (var target in targets)
     {
         target.FightVitality = Convert.ToInt32(target.FightVitality*0.75);
     }
 }
Esempio n. 8
0
        public Burning(Character source)
        {
            Random r1 = new Random();

            this.Duration = Convert.ToInt32(r1.Next(1, 4 * 1000) / 1000);
            this.Damage = Convert.ToInt32((((r1.Next(source.FightMagic / 4, (source.FightMagic / 2) * 1000)) / 1000)));
            this.Damage = this.Damage / (MathHelper.Clamp(source.FightResistance / 4, 1,5));
        }
Esempio n. 9
0
        public Bleeding(Character source)
        {
            var r1 = new Random();

            this.Duration = Convert.ToInt32(r1.Next(3, 6 * 1000) / 1000);
            this.Damage = Convert.ToInt32(((r1.Next(source.FightMagic / 6, (source.FightMagic / 4) * 1000)) / 1000));
            this.Damage = this.Damage / (MathHelper.Clamp(source.FightResistance/4, 1, 5));
        }
Esempio n. 10
0
 public void Execute(Character source, List<Character> targets)
 {
     foreach(Character target in targets)
     {
         this.CausedDamage = Convert.ToInt32((source.FightStrength + source.FightMagic) / 3);
         target.Life -= this.CausedDamage;
         source.Life += Convert.ToInt32(this.CausedDamage / 2);
     }
 }
Esempio n. 11
0
 public void Execute(Character source, List<Character> targets)
 {
     foreach (var target in targets)
     {
         if (target.Life == 0)
         {
             target.Life = (target.FightVitality/3) + (source.FightMagic/3);
         }
     }
 }
Esempio n. 12
0
 public void Execute(Character source, List<Character> targets)
 {
     new AttributesChangeEffect(AttributeActions.Add, Attributes.FightVitality).Execute(source, targets);
     new AttributesChangeEffect(AttributeActions.Add, Attributes.FightManaPool).Execute(source, targets);
     new AttributesChangeEffect(AttributeActions.Add, Attributes.FightStrength).Execute(source, targets);
     new AttributesChangeEffect(AttributeActions.Add, Attributes.FightMagic).Execute(source, targets);
     new AttributesChangeEffect(AttributeActions.Add, Attributes.FightDefense).Execute(source, targets);
     new AttributesChangeEffect(AttributeActions.Add, Attributes.FightResistance).Execute(source, targets);
     new AttributesChangeEffect(AttributeActions.Add, Attributes.FightLuck).Execute(source, targets);
 }
Esempio n. 13
0
 public void Execute(Character source, List<Character> targets)
 {
     new Damage().Execute(source, targets);
     new Damage().Execute(source, targets);
     new AttributesChangeEffect(AttributeActions.Substract, Attributes.FightDefense).Execute(source, targets);
     foreach (var target in targets)
     {
         if (this.r1.Next(0,101 * 1000) / 1000 <= 40)
         {
             new Mindblow().Execute(source, new List<Character>() {target});
         }
     }
 }
Esempio n. 14
0
        public void Execute(Character source, List<Character> targets)
        {
            foreach (var target in targets)
            {
                this.CausedDamege = Convert.ToInt32(target.FightVitality*0.15);
                this.CausedDamege -= target.FightDefense;

                if (this.CausedDamege < 0)
                {
                    this.CausedDamege = 0;
                }

                target.Life -= this.CausedDamege;
            }
        }
Esempio n. 15
0
        public void Execute(Character source, List<Character> targets)
        {
            Random r1 = new Random();
            List<Character> hitTarget;
            for (int i=3; i==0; i--)
            {
                hitTarget = new List<Character>();
                hitTarget.Add(targets.ElementAt(r1.Next(0, targets.Count * 1000) / 1000));

                new CriticalDamage().Execute(source,hitTarget);

                if (r1.Next(0, 101 * 1000) / 1000 <= 25)
                {
                    new AttributesChangeEffect(AttributeActions.Substract, Attributes.FightManaPool).Execute(source,hitTarget);
                }
            }
        }
 public void Execute(Character source, List<Character> targets)
 {
     foreach (var target in targets)
     {
         if (target.Statuseffects.Count > 0)
         {
             if (target.Statuseffects.All(effect => effect.GetType() == typeof (Poisoned)))
             {
                 target.Statuseffects.RemoveAll(effect => effect.GetType() == typeof (Poisoned));
             }
             else
             {
                 int random = new Random().Next(0, (target.Statuseffects.Count) * 1000) / 1000;
                 target.Statuseffects.Remove(target.Statuseffects.ElementAt(random));
             }
         }
     }
 }
Esempio n. 17
0
        public void Execute(Character source, List<Character> targets)
        {
            List<Character> enemies = new List<Character>();
            List<Character> party = new List<Character>();
            foreach (var target in targets)
            {
                if (target.GetType() == typeof (Enemy))
                {
                    enemies.Add(target);
                }
                if (target.GetType() == typeof (PartyMember))
                {
                    party.Add(target);
                }
            }

            new Damage().Execute(source, enemies);
            new Damage().Execute(source, enemies);
            new Damage().Execute(source, enemies);
            new Mindblow().Execute(source, enemies);

            new Damage().Execute(source, party);
            new Mindblow().Execute(source, new List<Character>() {source});
        }
Esempio n. 18
0
 public void Execute(Character source, List<Character> targets)
 {
     //Verursacht einen Statuseffekt
     //In Extension.cs
     targets.AddStatuseffectToTargets(target => new Bleeding(source));
 }
        //Setzen der Standard Skills 'Angriff' und 'Ausruhen'
        public static void AddStandardSkills(Character member)
        {
            var skillCadreDataSection =
                ConfigurationManager.GetSection("SkillCadre") as SkillCadreDataSection;

            var attackSkill =
                     skillCadreDataSection.Skills.Cast<SkillElement>()
                         .SingleOrDefault(
                             cadreSkill => cadreSkill.Name == "Angriff");

            var recoverSkill =
                     skillCadreDataSection.Skills.Cast<SkillElement>()
                         .SingleOrDefault(
                             cadreSkill => cadreSkill.Name == "Ausruhen");

            var attackSkillEffects = new List<IEffect>();

            if (member.Class.Equals(Classes.Harasser) || member.Class.Equals(Classes.Patron))
            {
                foreach (EffectElement effect in attackSkill.Effects)
                {
                    if (effect.Name.Equals("MagicalDamage"))
                    {
                        attackSkillEffects.Add(GetEffectFactory.GetEffect(effect.Name));
                    }
                }
            }
            else
            {
                foreach (EffectElement effect in attackSkill.Effects)
                {
                    if (effect.Name.Equals("Damage"))
                    {
                        attackSkillEffects.Add(GetEffectFactory.GetEffect(effect.Name));
                    }
                }
            }

            var recoverSkillEffects = new List<IEffect>();
            foreach (EffectElement effect in recoverSkill.Effects)
            {
                recoverSkillEffects.Add(GetEffectFactory.GetEffect(effect.Name));
            }

            member.SetStandardSkills(
                new Skill(attackSkill.Name, LoadSkillHelperClass.GetManaCosts(Convert.ToInt32(attackSkill.Level)), attackSkill.Target, attackSkill.AreaOfEffect, attackSkill.Description, attackSkillEffects),
                new Skill(recoverSkill.Name, LoadSkillHelperClass.GetManaCosts(Convert.ToInt32(recoverSkill.Level)), recoverSkill.Target, recoverSkill.AreaOfEffect, recoverSkill.Description, recoverSkillEffects)
             );
        }
 public abstract void Attack(Character target);
 public void Heal(Character target)
 {
     this.Mana -= 100;
     target.Health += 150;
 }
 public override void Attack(Character target)
 {
     this.Mana -= 100;
     target.Health -= this.Damage;
     this.Health += this.Damage / 10;
 }
Esempio n. 23
0
 public void Execute(Character source, List<Character> targets)
 {
     targets.AddStatuseffectToTargets(target => new Poisoned(source));
 }
Esempio n. 24
0
 //Ausführung des ClassSkills
 public void Execute(Character source, List<Character> targets)
 {
     //Führt alle Effekte des ClassSkills aus
     source.Mana -= this.Manacosts;
     foreach (IEffect effect in this.Effects)
     {
         effect.Execute(source, targets);
     }
 }
 public void Execute(Character source, List<Character> targets)
 {
     RandomStatusEffectHelperClass.GetRandomDebuffEffect().Execute(source, targets);
 }
Esempio n. 26
0
 public void Execute(Character source, List<Character> targets)
 {
     new Resurrection().Execute(source,targets);
     new Heal().Execute(source,targets);
 }
Esempio n. 27
0
 public void Execute(Character source, List<Character> targets)
 {
     //In Extension.cs
     targets.AddStatuseffectToTargets(target => new Mindblown(source, target));
 }
Esempio n. 28
0
 public void Execute(Character source, List<Character> targets)
 {
     new Damage().Execute(source, targets);
     new Damage().Execute(source, targets);
     new Burn().Execute(source, targets);
 }
Esempio n. 29
0
 public void Execute(Character source, List<Character> targets)
 {
     source.Mana += 40;
 }
Esempio n. 30
0
        //Initialisiert sämtliche Daten die dieses Évent benötigt und holt sich die texturen und charactere aus dem loadContentHelper
        public void InitializeData()
        {
            StaticEnemies = new List<GUIElement>();
            int groupCount = 0;
            int enemyCount = 0;

            //Jeder Character erhält seine Initialisierung. Die AttackAnimations werden auf Inaktiv gesetzt,
            //Die Positio der Charactere wird festgelegt, sämtliche Icons die ein Character benötigt werden geladen
            foreach (PartyMember partyMember in this.fightCadre)
            {
                if (groupCount == 0)
                {
                    partyMember.AttackAnimation.active = false;
                    partyMember.Position = characterPosition_1;
                    this.fightCadre.ElementAt<Character>(0).LoadContent(partyMember.StandardAnimation, partyMember.Position);
                    partyMember1 = partyMember;
                    BleedIconCharacter1 = LoadContentHelper.BleedIcon;
                    BlessedIconCharacter1 = LoadContentHelper.BlessedIcon;
                    BurnedIconCharacter1 = LoadContentHelper.BurnIcon;
                    HasHaloIconCharacter1 = LoadContentHelper.HaloIcon;
                    MindblownIconCharacter1 = LoadContentHelper.MindblownIcon;
                    PoisenedIconCharacter1 = LoadContentHelper.PoisenIcon;
                    BleedIconCharacter1.PositionX = (int)partyMember1.Position.X + 25;
                    BleedIconCharacter1.PositionY = (int)partyMember1.Position.Y;
                    BlessedIconCharacter1.PositionX = (int)partyMember1.Position.X + 25;
                    BlessedIconCharacter1.PositionY = (int)partyMember1.Position.Y;
                    BurnedIconCharacter1.PositionX = (int)partyMember1.Position.X + 25;
                    BurnedIconCharacter1.PositionY = (int)partyMember1.Position.Y;
                    HasHaloIconCharacter1.PositionX = (int)partyMember1.Position.X + 25;
                    HasHaloIconCharacter1.PositionY = (int)partyMember1.Position.Y;
                    MindblownIconCharacter1.PositionX = (int)partyMember1.Position.X + 25;
                    MindblownIconCharacter1.PositionY = (int)partyMember1.Position.Y;
                    PoisenedIconCharacter1.PositionX = (int)partyMember1.Position.X + 25;
                    PoisenedIconCharacter1.PositionY = (int)partyMember1.Position.Y;
                }

                if (groupCount == 1)
                {
                    partyMember.AttackAnimation.active = false;
                    partyMember.Position = characterPosition_2;
                    this.fightCadre.ElementAt<Character>(1).LoadContent(partyMember.StandardAnimation, partyMember.Position);
                    partyMember2 = partyMember;
                    BleedIconCharacter2 = LoadContentHelper.BleedIcon2;
                    BlessedIconCharacter2 = LoadContentHelper.BlessedIcon2;
                    BurnedIconCharacter2 = LoadContentHelper.BurnIcon2;
                    HasHaloIconCharacter2 = LoadContentHelper.HaloIcon2;
                    MindblownIconCharacter2 = LoadContentHelper.MindblownIcon2;
                    PoisenedIconCharacter2 = LoadContentHelper.PoisenIcon2;
                    BleedIconCharacter2.PositionX = (int)partyMember2.Position.X + 25;
                    BleedIconCharacter2.PositionY = (int)partyMember2.Position.Y;
                    BlessedIconCharacter2.PositionX = (int)partyMember2.Position.X + 25;
                    BlessedIconCharacter2.PositionY = (int)partyMember2.Position.Y;
                    BurnedIconCharacter2.PositionX = (int)partyMember2.Position.X + 25;
                    BurnedIconCharacter2.PositionY = (int)partyMember2.Position.Y;
                    HasHaloIconCharacter2.PositionX = (int)partyMember2.Position.X + 25;
                    HasHaloIconCharacter2.PositionY = (int)partyMember2.Position.Y;
                    MindblownIconCharacter2.PositionX = (int)partyMember2.Position.X + 25;
                    MindblownIconCharacter2.PositionY = (int)partyMember2.Position.Y;
                    PoisenedIconCharacter2.PositionX = (int)partyMember2.Position.X + 25;
                    PoisenedIconCharacter2.PositionY = (int)partyMember2.Position.Y;
                }

                if (groupCount == 2)
                {
                    partyMember.AttackAnimation.active = false;
                    partyMember.Position = characterPosition_3;
                    this.fightCadre.ElementAt<Character>(2).LoadContent(partyMember.StandardAnimation, partyMember.Position);
                    partyMember3 = partyMember;
                    BleedIconCharacter3 = LoadContentHelper.BleedIcon3;
                    BlessedIconCharacter3 = LoadContentHelper.BlessedIcon3;
                    BurnedIconCharacter3 = LoadContentHelper.BurnIcon3;
                    HasHaloIconCharacter3 = LoadContentHelper.HaloIcon3;
                    MindblownIconCharacter3 = LoadContentHelper.MindblownIcon3;
                    PoisenedIconCharacter3 = LoadContentHelper.PoisenIcon3;
                    BleedIconCharacter3.PositionX = (int)partyMember3.Position.X + 25;
                    BleedIconCharacter3.PositionY = (int)partyMember3.Position.Y;
                    BlessedIconCharacter3.PositionX = (int)partyMember3.Position.X + 25;
                    BlessedIconCharacter3.PositionY = (int)partyMember3.Position.Y;
                    BurnedIconCharacter3.PositionX = (int)partyMember3.Position.X + 25;
                    BurnedIconCharacter3.PositionY = (int)partyMember3.Position.Y;
                    HasHaloIconCharacter3.PositionX = (int)partyMember3.Position.X + 25;
                    HasHaloIconCharacter3.PositionY = (int)partyMember3.Position.Y;
                    MindblownIconCharacter3.PositionX = (int)partyMember3.Position.X + 25;
                    MindblownIconCharacter3.PositionY = (int)partyMember3.Position.Y;
                    PoisenedIconCharacter3.PositionX = (int)partyMember3.Position.X + 25;
                    PoisenedIconCharacter3.PositionY = (int)partyMember3.Position.Y;
                }

                if (groupCount == 3)
                {
                    partyMember.AttackAnimation.active = false;
                    partyMember.Position = characterPosition_4;
                    this.fightCadre.ElementAt<Character>(3).LoadContent(partyMember.StandardAnimation, partyMember.Position);
                    partyMember4 = partyMember;
                    BleedIconCharacter4 = LoadContentHelper.BleedIcon4;
                    BlessedIconCharacter4 = LoadContentHelper.BlessedIcon4;
                    BurnedIconCharacter4 = LoadContentHelper.BurnIcon4;
                    HasHaloIconCharacter4 = LoadContentHelper.HaloIcon4;
                    MindblownIconCharacter4 = LoadContentHelper.MindblownIcon4;
                    PoisenedIconCharacter4 = LoadContentHelper.PoisenIcon4;
                    BleedIconCharacter4.PositionX = (int)partyMember4.Position.X + 25;
                    BleedIconCharacter4.PositionY = (int)partyMember4.Position.Y;
                    BlessedIconCharacter4.PositionX = (int)partyMember4.Position.X + 25;
                    BlessedIconCharacter4.PositionY = (int)partyMember4.Position.Y;
                    BurnedIconCharacter4.PositionX = (int)partyMember4.Position.X + 25;
                    BurnedIconCharacter4.PositionY = (int)partyMember4.Position.Y;
                    HasHaloIconCharacter4.PositionX = (int)partyMember4.Position.X + 25;
                    HasHaloIconCharacter4.PositionY = (int)partyMember4.Position.Y;
                    MindblownIconCharacter4.PositionX = (int)partyMember4.Position.X + 25;
                    MindblownIconCharacter4.PositionY = (int)partyMember4.Position.Y;
                    PoisenedIconCharacter4.PositionX = (int)partyMember4.Position.X + 25;
                    PoisenedIconCharacter4.PositionY = (int)partyMember4.Position.Y;
                }

                groupCount++;
            }

            foreach (Enemy enemy in this.Enemies)
            {
                // Sobald der Gegner eine Animation bestizt wird dies erkannt und die Animationen werden geladen
                if (enemy.isAnimated)
                {
                    if (enemyCount == 0)
                    {
                        enemy.AttackAnimation.active = false;
                        enemy.Position = enemyPosition_1;
                        enemy.LoadContent(enemy.StandardAnimation, enemy.Position);
                        enemy1 = enemy;
                        BleedIconEnemy1 = LoadContentHelper.BleedIcon5;
                        BlessedIconEnemy1 = LoadContentHelper.BlessedIcon5;
                        BurnedIconEnemy1 = LoadContentHelper.BurnIcon5;
                        HasHaloIconEnemy1 = LoadContentHelper.HaloIcon5;
                        MindblownIconEnemy1 = LoadContentHelper.MindblownIcon5;
                        PoisenedIconEnemy1 = LoadContentHelper.PoisenIcon5;
                        BleedIconEnemy1.PositionX = (int)enemy1.Position.X - 65;
                        BleedIconEnemy1.PositionY = (int)enemy1.Position.Y;
                        BlessedIconEnemy1.PositionX = (int)enemy1.Position.X - 65;
                        BlessedIconEnemy1.PositionY = (int)enemy1.Position.Y;
                        BurnedIconEnemy1.PositionX = (int)enemy1.Position.X - 65;
                        BurnedIconEnemy1.PositionY = (int)enemy1.Position.Y;
                        HasHaloIconEnemy1.PositionX = (int)enemy1.Position.X - 65;
                        HasHaloIconEnemy1.PositionY = (int)enemy1.Position.Y;
                        MindblownIconEnemy1.PositionX = (int)enemy1.Position.X - 65;
                        MindblownIconEnemy1.PositionY = (int)enemy1.Position.Y;
                        PoisenedIconEnemy1.PositionX = (int)enemy1.Position.X - 65;
                        PoisenedIconEnemy1.PositionY = (int)enemy1.Position.Y;
                    }
                    if (enemyCount == 1)
                    {
                        enemy.AttackAnimation.active = false;
                        enemy.Position = enemyPosition_2;
                        this.Enemies.ElementAt<Character>(1).LoadContent(enemy.StandardAnimation, enemy.Position);
                        enemy2 = enemy;
                        BleedIconEnemy2 = LoadContentHelper.BleedIcon6;
                        BlessedIconEnemy2 = LoadContentHelper.BlessedIcon6;
                        BurnedIconEnemy2 = LoadContentHelper.BurnIcon6;
                        HasHaloIconEnemy2 = LoadContentHelper.HaloIcon6;
                        MindblownIconEnemy2 = LoadContentHelper.MindblownIcon6;
                        PoisenedIconEnemy2 = LoadContentHelper.PoisenIcon6;
                        BleedIconEnemy2.PositionX = (int)enemy2.Position.X - 65;
                        BleedIconEnemy2.PositionY = (int)enemy2.Position.Y;
                        BlessedIconEnemy2.PositionX = (int)enemy2.Position.X - 65;
                        BlessedIconEnemy2.PositionY = (int)enemy2.Position.Y;
                        BurnedIconEnemy2.PositionX = (int)enemy2.Position.X - 65;
                        BurnedIconEnemy2.PositionY = (int)enemy2.Position.Y;
                        HasHaloIconEnemy2.PositionX = (int)enemy2.Position.X - 65;
                        HasHaloIconEnemy2.PositionY = (int)enemy2.Position.Y;
                        MindblownIconEnemy2.PositionX = (int)enemy2.Position.X - 65;
                        MindblownIconEnemy2.PositionY = (int)enemy2.Position.Y;
                        PoisenedIconEnemy2.PositionX = (int)enemy2.Position.X - 65;
                        PoisenedIconEnemy2.PositionY = (int)enemy2.Position.Y;
                    }

                    if (enemyCount == 2)
                    {
                        enemy.AttackAnimation.active = false;
                        enemy.Position = enemyPosition_3;
                        this.Enemies.ElementAt<Character>(2).LoadContent(enemy.StandardAnimation, enemy.Position);
                        enemy3 = enemy;
                        BleedIconEnemy3 = LoadContentHelper.BleedIcon7;
                        BlessedIconEnemy3 = LoadContentHelper.BlessedIcon7;
                        BurnedIconEnemy3 = LoadContentHelper.BurnIcon7;
                        HasHaloIconEnemy3 = LoadContentHelper.HaloIcon7;
                        MindblownIconEnemy3 = LoadContentHelper.MindblownIcon7;
                        PoisenedIconEnemy3 = LoadContentHelper.PoisenIcon7;
                        BleedIconEnemy3.PositionX = (int)enemy3.Position.X - 65;
                        BleedIconEnemy3.PositionY = (int)enemy3.Position.Y;
                        BlessedIconEnemy3.PositionX = (int)enemy3.Position.X - 65;
                        BlessedIconEnemy3.PositionY = (int)enemy3.Position.Y;
                        BurnedIconEnemy3.PositionX = (int)enemy3.Position.X - 65;
                        BurnedIconEnemy3.PositionY = (int)enemy3.Position.Y;
                        HasHaloIconEnemy3.PositionX = (int)enemy3.Position.X - 65;
                        HasHaloIconEnemy3.PositionY = (int)enemy3.Position.Y;
                        MindblownIconEnemy3.PositionX = (int)enemy3.Position.X - 65;
                        MindblownIconEnemy3.PositionY = (int)enemy3.Position.Y;
                        PoisenedIconEnemy3.PositionX = (int)enemy3.Position.X - 65;
                        PoisenedIconEnemy3.PositionY = (int)enemy3.Position.Y;
                    }

                    if (enemyCount == 3)
                    {
                        enemy.AttackAnimation.active = false;
                        enemy.Position = enemyPosition_4;
                        this.Enemies.ElementAt<Character>(3).LoadContent(enemy.StandardAnimation, enemy.Position);
                        enemy4 = enemy;
                        BleedIconEnemy4 = LoadContentHelper.BleedIcon8;
                        BlessedIconEnemy4 = LoadContentHelper.BlessedIcon8;
                        BurnedIconEnemy4 = LoadContentHelper.BurnIcon8;
                        HasHaloIconEnemy4 = LoadContentHelper.HaloIcon8;
                        MindblownIconEnemy4 = LoadContentHelper.MindblownIcon8;
                        PoisenedIconEnemy4 = LoadContentHelper.PoisenIcon8;
                        BleedIconEnemy4.PositionX = (int)enemy4.Position.X - 65;
                        BleedIconEnemy4.PositionY = (int)enemy4.Position.Y;
                        BlessedIconEnemy4.PositionX = (int)enemy4.Position.X - 65;
                        BlessedIconEnemy4.PositionY = (int)enemy4.Position.Y;
                        BurnedIconEnemy4.PositionX = (int)enemy4.Position.X - 65;
                        BurnedIconEnemy4.PositionY = (int)enemy4.Position.Y;
                        HasHaloIconEnemy4.PositionX = (int)enemy4.Position.X - 65;
                        HasHaloIconEnemy4.PositionY = (int)enemy4.Position.Y;
                        MindblownIconEnemy4.PositionX = (int)enemy4.Position.X - 65;
                        MindblownIconEnemy4.PositionY = (int)enemy4.Position.Y;
                        PoisenedIconEnemy4.PositionX = (int)enemy4.Position.X - 65;
                        PoisenedIconEnemy4.PositionY = (int)enemy4.Position.Y;
                    }

                    enemyCount++;
                }
                // Wenn der Gegner erstellt wird und es keine Animation für den Gegner gibt wird dem entsprechend nur ein Bild des gegeners geladen
                else
                {
                    if (enemyCount == 0)
                    {
                        enemy.AttackAnimation.active = false;
                        foreach (GUIElement staticEnemy in LoadContentHelper.AllStaticEnemies)
                        {
                            if (staticEnemy.AssetName == enemy.StaticEnemy.AssetName)
                            {
                                staticBoss = staticEnemy;
                                staticBoss.PositionX = (int)staticBossPosition.X;
                                staticBoss.PositionY = (int)staticBossPosition.Y;
                                StaticEnemies.Add(staticBoss);
                                BleedIconEnemy1 = LoadContentHelper.BleedIcon5;
                                BlessedIconEnemy1 = LoadContentHelper.BlessedIcon5;
                                BurnedIconEnemy1 = LoadContentHelper.BurnIcon5;
                                HasHaloIconEnemy1 = LoadContentHelper.HaloIcon5;
                                MindblownIconEnemy1 = LoadContentHelper.MindblownIcon5;
                                PoisenedIconEnemy1 = LoadContentHelper.PoisenIcon5;
                                BleedIconEnemy1.PositionX = (int)staticBossPosition.X - 30;
                                BleedIconEnemy1.PositionY = (int)staticBossPosition.Y;
                                BlessedIconEnemy1.PositionX = (int)staticBossPosition.X - 30;
                                BlessedIconEnemy1.PositionY = (int)staticBossPosition.Y;
                                BurnedIconEnemy1.PositionX = (int)staticBossPosition.X - 30;
                                BurnedIconEnemy1.PositionY = (int)staticBossPosition.Y;
                                HasHaloIconEnemy1.PositionX = (int)staticBossPosition.X - 30;
                                HasHaloIconEnemy1.PositionY = (int)staticBossPosition.Y;
                                MindblownIconEnemy1.PositionX = (int)staticBossPosition.X - 30;
                                MindblownIconEnemy1.PositionY = (int)staticBossPosition.Y;
                                PoisenedIconEnemy1.PositionX = (int)staticBossPosition.X - 30;
                                PoisenedIconEnemy1.PositionY = (int)staticBossPosition.Y;
                            }
                        }
                        enemy1 = enemy;
                    }

                    if (enemyCount == 1)
                    {
                        enemy.AttackAnimation.active = false;
                        foreach (GUIElement staticEnemy in LoadContentHelper.AllStaticEnemies)
                        {
                            if (staticEnemy.AssetName == enemy.StaticEnemy.AssetName)
                            {
                                staticMinion_1 = staticEnemy;
                                staticMinion_1.PositionX = (int)staticMinionPosition_1.X;
                                staticMinion_1.PositionY = (int)staticMinionPosition_1.Y;
                                StaticEnemies.Add(staticMinion_1);
                                BleedIconEnemy2 = LoadContentHelper.BleedIcon6;
                                BlessedIconEnemy2 = LoadContentHelper.BlessedIcon6;
                                BurnedIconEnemy2 = LoadContentHelper.BurnIcon6;
                                HasHaloIconEnemy2 = LoadContentHelper.HaloIcon6;
                                MindblownIconEnemy2 = LoadContentHelper.MindblownIcon6;
                                PoisenedIconEnemy2 = LoadContentHelper.PoisenIcon6;
                                BleedIconEnemy2.PositionX = (int)staticMinionPosition_1.X - 65;
                                BleedIconEnemy2.PositionY = (int)staticMinionPosition_1.Y;
                                BlessedIconEnemy2.PositionX = (int)staticMinionPosition_1.X - 65;
                                BlessedIconEnemy2.PositionY = (int)staticMinionPosition_1.Y;
                                BurnedIconEnemy2.PositionX = (int)staticMinionPosition_1.X - 65;
                                BurnedIconEnemy2.PositionY = (int)staticMinionPosition_1.Y;
                                HasHaloIconEnemy2.PositionX = (int)staticMinionPosition_1.X - 65;
                                HasHaloIconEnemy2.PositionY = (int)staticMinionPosition_1.Y;
                                MindblownIconEnemy2.PositionX = (int)staticMinionPosition_1.X - 65;
                                MindblownIconEnemy2.PositionY = (int)staticMinionPosition_1.Y;
                                PoisenedIconEnemy2.PositionX = (int)staticMinionPosition_1.X - 65;
                                PoisenedIconEnemy2.PositionY = (int)staticMinionPosition_1.Y;
                            }
                        }
                    }

                    if (enemyCount == 2)
                    {
                        enemy.AttackAnimation.active = false;
                        foreach (GUIElement staticEnemy in LoadContentHelper.AllStaticEnemies)
                        {
                            if (staticEnemy.AssetName == enemy.StaticEnemy.AssetName)
                            {
                                staticMinion_2 = staticEnemy;
                                staticMinion_2.PositionX = (int)staticMinionPosition_2.X;
                                staticMinion_2.PositionY = (int)staticMinionPosition_2.Y;
                                StaticEnemies.Add(staticMinion_2);
                                BleedIconEnemy3 = LoadContentHelper.BleedIcon7;
                                BlessedIconEnemy3 = LoadContentHelper.BlessedIcon7;
                                BurnedIconEnemy3 = LoadContentHelper.BurnIcon7;
                                HasHaloIconEnemy3 = LoadContentHelper.HaloIcon7;
                                MindblownIconEnemy3 = LoadContentHelper.MindblownIcon7;
                                PoisenedIconEnemy3 = LoadContentHelper.PoisenIcon7;
                                BleedIconEnemy3.PositionX = (int)staticMinionPosition_2.X - 65;
                                BleedIconEnemy3.PositionY = (int)staticMinionPosition_2.Y;
                                BlessedIconEnemy3.PositionX = (int)staticMinionPosition_2.X - 65;
                                BlessedIconEnemy3.PositionY = (int)staticMinionPosition_2.Y;
                                BurnedIconEnemy3.PositionX = (int)staticMinionPosition_2.X - 65;
                                BurnedIconEnemy3.PositionY = (int)staticMinionPosition_2.Y;
                                HasHaloIconEnemy3.PositionX = (int)staticMinionPosition_2.X - 65;
                                HasHaloIconEnemy3.PositionY = (int)staticMinionPosition_2.Y;
                                MindblownIconEnemy3.PositionX = (int)staticMinionPosition_2.X - 65;
                                MindblownIconEnemy3.PositionY = (int)staticMinionPosition_2.Y;
                                PoisenedIconEnemy3.PositionX = (int)staticMinionPosition_2.X - 65;
                                PoisenedIconEnemy3.PositionY = (int)staticMinionPosition_2.Y;
                            }
                        }
                    }
                    if (enemyCount == 3)
                    {
                        foreach (GUIElement staticEnemy in LoadContentHelper.AllStaticEnemies)
                        {
                            enemy.AttackAnimation.active = false;
                            if (staticEnemy.AssetName == enemy.StaticEnemy.AssetName)
                            {
                                staticMinion_3 = staticEnemy;
                                staticMinion_3.PositionX = (int)staticMinionPosition_3.X;
                                staticMinion_3.PositionY = (int)staticMinionPosition_3.Y;
                                StaticEnemies.Add(staticMinion_3);
                                BleedIconEnemy4 = LoadContentHelper.BleedIcon8;
                                BlessedIconEnemy4 = LoadContentHelper.BlessedIcon8;
                                BurnedIconEnemy4 = LoadContentHelper.BurnIcon8;
                                HasHaloIconEnemy4 = LoadContentHelper.HaloIcon8;
                                MindblownIconEnemy4 = LoadContentHelper.MindblownIcon8;
                                PoisenedIconEnemy4 = LoadContentHelper.PoisenIcon8;
                                BleedIconEnemy4.PositionX = (int)staticMinionPosition_3.X - 65;
                                BleedIconEnemy4.PositionY = (int)staticMinionPosition_3.Y;
                                BlessedIconEnemy4.PositionX = (int)staticMinionPosition_3.X - 65;
                                BlessedIconEnemy4.PositionY = (int)staticMinionPosition_3.Y;
                                BurnedIconEnemy4.PositionX = (int)staticMinionPosition_3.X - 65;
                                BurnedIconEnemy4.PositionY = (int)staticMinionPosition_3.Y;
                                HasHaloIconEnemy4.PositionX = (int)staticMinionPosition_3.X - 65;
                                HasHaloIconEnemy4.PositionY = (int)staticMinionPosition_3.Y;
                                MindblownIconEnemy4.PositionX = (int)staticMinionPosition_3.X - 65;
                                MindblownIconEnemy4.PositionY = (int)staticMinionPosition_3.Y;
                                PoisenedIconEnemy4.PositionX = (int)staticMinionPosition_3.X - 65;
                                PoisenedIconEnemy4.PositionY = (int)staticMinionPosition_3.Y;
                            }
                        }
                    }
                    enemyCount++;
                }

            }

            //Die Counter die zum Zählen der charactere und Skills sind werdeen auf 0 gesetzt
            int skillCounter = 0;
            int charCounter = 0;
            int enemieCounter = 0;

            //Nun werden alle Namen und Skills der Charactere Initialisiert. Diese werden später als Targets und Skills verwendet,
            //die ein Spieler auswählen kann um Skills zu wirken und das hierfür notwendige Ziel zu wähen.
            foreach (Character character in this.fightCadre)
            {

                if (character.GetType() == typeof(PartyMember) || character.GetType() == typeof(Player))
                {

                    if (charCounter == 0)
                    {
                        this.Character1Name = new TextElement(LoadContentHelper.AwesomeFont, character.Name, (int)this.targetPosition_1.X, (int)this.targetPosition_1.Y, true, LoadContentHelper.MouseIntersect);
                        this.Character1Name.tclickEvent += this.onClickTarget;
                        PartyNames.Add(Character1Name);
                        foreach (Skill skill in character.Skills)
                        {
                            if (skillCounter == 0)
                            {
                                this.character1skill1 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_1.X, (int)this.skillPosition_1.Y, true, LoadContentHelper.MouseIntersect);
                                this.character1skill1.tclickEvent += this.OnClickSkill;
                                Character_1_Skills.Add(character1skill1);
                            }
                            if (skillCounter == 1)
                            {
                                this.character1skill2 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_2.X, (int)this.skillPosition_2.Y, true, LoadContentHelper.MouseIntersect);
                                this.character1skill2.tclickEvent += this.OnClickSkill;
                                Character_1_Skills.Add(character1skill2);
                            }
                            if (skillCounter == 2)
                            {
                                this.character1skill3 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_3.X, (int)this.skillPosition_3.Y, true, LoadContentHelper.MouseIntersect);
                                this.character1skill3.tclickEvent += this.OnClickSkill;
                                Character_1_Skills.Add(character1skill3);
                            }
                            if (skillCounter == 3)
                            {
                                this.character1skill4 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_4.X, (int)this.skillPosition_4.Y, true, LoadContentHelper.MouseIntersect);
                                this.character1skill4.tclickEvent += this.OnClickSkill;
                                Character_1_Skills.Add(character1skill4);
                            }
                            skillCounter++;
                        }
                    }
                    if (charCounter == 1)
                    {
                        this.Character2Name = new TextElement(LoadContentHelper.AwesomeFont, character.Name, (int)this.targetPosition_2.X, (int)this.targetPosition_2.Y, true, LoadContentHelper.MouseIntersect);
                        this.Character2Name.tclickEvent += this.onClickTarget;
                        PartyNames.Add(Character2Name);
                        foreach (Skill skill in character.Skills)
                        {
                            if (skillCounter == 0)
                            {
                                this.character2skill1 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_1.X, (int)this.skillPosition_1.Y, true, LoadContentHelper.MouseIntersect);
                                this.character2skill1.tclickEvent += this.OnClickSkill;
                                Character_2_Skills.Add(character2skill1);
                            }
                            if (skillCounter == 1)
                            {
                                this.character2skill2 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_2.X, (int)this.skillPosition_2.Y, true, LoadContentHelper.MouseIntersect);
                                this.character2skill2.tclickEvent += this.OnClickSkill;
                                Character_2_Skills.Add(character2skill2);
                            }
                            if (skillCounter == 2)
                            {
                                this.character2skill3 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_3.X, (int)this.skillPosition_3.Y, true, LoadContentHelper.MouseIntersect);
                                this.character2skill3.tclickEvent += this.OnClickSkill;
                                Character_2_Skills.Add(character2skill3);
                            }
                            if (skillCounter == 3)
                            {
                                this.character2skill4 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_4.X, (int)this.skillPosition_4.Y, true, LoadContentHelper.MouseIntersect);
                                this.character2skill4.tclickEvent += this.OnClickSkill;
                                Character_2_Skills.Add(character2skill4);
                            }

                            skillCounter++;
                        }

                    }

                    if (charCounter == 2)
                    {
                        this.Character3Name = new TextElement(LoadContentHelper.AwesomeFont, character.Name, (int)this.targetPosition_3.X, (int)this.targetPosition_3.Y, true, LoadContentHelper.MouseIntersect);
                        this.Character3Name.tclickEvent += this.onClickTarget;
                        PartyNames.Add(Character3Name);
                        foreach (Skill skill in character.Skills)
                        {
                            if (skillCounter == 0)
                            {
                                this.character3skill1 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_1.X, (int)this.skillPosition_1.Y, true, LoadContentHelper.MouseIntersect);
                                this.character3skill1.tclickEvent += this.OnClickSkill;
                                Character_3_Skills.Add(character3skill1);
                            }
                            if (skillCounter == 1)
                            {
                                this.character3skill2 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_2.X, (int)this.skillPosition_2.Y, true, LoadContentHelper.MouseIntersect);
                                this.character3skill2.tclickEvent += this.OnClickSkill;
                                Character_3_Skills.Add(character3skill2);
                            }
                            if (skillCounter == 2)
                            {
                                this.character3skill3 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_3.X, (int)this.skillPosition_3.Y, true, LoadContentHelper.MouseIntersect);
                                this.character3skill3.tclickEvent += this.OnClickSkill;
                                Character_3_Skills.Add(character3skill3);
                            }
                            if (skillCounter == 3)
                            {
                                this.character3skill4 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_4.X, (int)this.skillPosition_4.Y, true, LoadContentHelper.MouseIntersect);
                                this.character3skill4.tclickEvent += this.OnClickSkill;
                                Character_3_Skills.Add(character3skill4);
                            }

                            skillCounter++;
                        }
                    }
                    if (charCounter == 3)
                    {
                        this.Character4Name = new TextElement(LoadContentHelper.AwesomeFont, character.Name, (int)this.targetPosition_4.X, (int)this.targetPosition_4.Y, true, LoadContentHelper.MouseIntersect);
                        this.Character4Name.tclickEvent += this.onClickTarget;
                        PartyNames.Add(Character4Name);
                        foreach (Skill skill in character.Skills)
                        {
                            if (skillCounter == 0)
                            {
                                this.character4skill1 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_1.X, (int)this.skillPosition_1.Y, true, LoadContentHelper.MouseIntersect);
                                this.character4skill1.tclickEvent += this.OnClickSkill;
                                Character_4_Skills.Add(character4skill1);
                            }
                            if (skillCounter == 1)
                            {
                                this.character4skill2 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_2.X, (int)this.skillPosition_2.Y, true, LoadContentHelper.MouseIntersect);
                                this.character4skill2.tclickEvent += this.OnClickSkill;
                                Character_4_Skills.Add(character4skill2);
                            }
                            if (skillCounter == 2)
                            {
                                this.character4skill3 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_3.X, (int)this.skillPosition_3.Y, true, LoadContentHelper.MouseIntersect);
                                this.character4skill3.tclickEvent += this.OnClickSkill;
                                Character_4_Skills.Add(character4skill3);
                            }
                            if (skillCounter == 3)
                            {
                                this.character4skill4 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_4.X, (int)this.skillPosition_4.Y, true, LoadContentHelper.MouseIntersect);
                                this.character4skill4.tclickEvent += this.OnClickSkill;
                                Character_4_Skills.Add(character4skill4);
                            }
                            skillCounter++;
                        }
                    }
                    skillCounter = 0;
                    charCounter++;
                }
            }
            foreach (Enemy enemy in this.Enemies)
            {
                if (enemieCounter == 0)
                {
                    this.enemy1Name = new TextElement(LoadContentHelper.AwesomeFont, enemy.Name, (int)this.targetPosition_1.X, (int)this.targetPosition_1.Y, true, LoadContentHelper.MouseIntersect);
                    this.enemy1Name.tclickEvent += this.onClickTarget;
                    EnemyNames.Add(enemy1Name);
                }
                if (enemieCounter == 1)
                {
                    this.enemy2Name = new TextElement(LoadContentHelper.AwesomeFont, enemy.Name, (int)this.targetPosition_2.X, (int)this.targetPosition_2.Y, true, LoadContentHelper.MouseIntersect);
                    this.enemy2Name.tclickEvent += this.onClickTarget;
                    EnemyNames.Add(enemy2Name);
                }
                if (enemieCounter == 2)
                {
                    this.enemy3Name = new TextElement(LoadContentHelper.AwesomeFont, enemy.Name, (int)this.targetPosition_3.X, (int)this.targetPosition_3.Y, true, LoadContentHelper.MouseIntersect);
                    this.enemy3Name.tclickEvent += this.onClickTarget;
                    EnemyNames.Add(enemy3Name);
                }
                if (enemieCounter == 3)
                {
                    this.enemy4Name = new TextElement(LoadContentHelper.AwesomeFont, enemy.Name, (int)this.targetPosition_4.X, (int)this.targetPosition_4.Y, true, LoadContentHelper.MouseIntersect);
                    this.enemy4Name.tclickEvent += this.onClickTarget;
                    EnemyNames.Add(enemy4Name);
                }
                enemieCounter++;
            }

            //Die anderen Notwendigen Variablen werden zugewiesen wie SoundEffects, Events usw.
            Click = LoadContentHelper.Click;
            Punch = LoadContentHelper.Punch;
            Heal = LoadContentHelper.Heal;

            GameOver = new GameOverEvent(LoadContentHelper.NickTheme);
            battleEvaluation = new BattleEvaluationEvent(FightCadre, LoadContentHelper.NickTheme);

            CharacterStatBox = LoadContentHelper.CharacterStatBox;
            AttackHintBox = LoadContentHelper.AttackHintBox;
            AttackHintBox.PositionX = 0;
            AttackHintBox.PositionY = 10;
            skillBox = LoadContentHelper.SkillBox;
            skillBox.PositionX = 0;
            skillBox.PositionY = 458;

            CharacterStatBox.PositionX = 140;
            CharacterStatBox.PositionY = 30;

            this.attackSkill = new TextElement(LoadContentHelper.AwesomeFont, "Angriff", (int)this.attackSkillPosition.X, (int)this.attackSkillPosition.Y, true, LoadContentHelper.MouseIntersect);
            this.attackSkill.tclickEvent += OnClickSkill;
            this.restSkill = new TextElement(LoadContentHelper.AwesomeFont, "Ausruhen", (int)this.restSkillPosition.X, (int)this.restSkillPosition.Y, true, LoadContentHelper.MouseIntersect);
            this.restSkill.tclickEvent += OnClickSkill;

            Back = new TextElement(LoadContentHelper.AwesomeFont, "Zurück",(int)skillPosition_3.X, (int)skillPosition_3.Y, true, LoadContentHelper.MouseIntersect);
            Back.tclickEvent += OnClickElement;
            EnemyNames.Add(Back);

            //Die Heal und Hit Animationen werden Initialisiert
            hitAnimationStandard = LoadContentHelper.hitAnimation1;
            Hit1 = new Skill("PhysicalHit", 0, null, null, null, null);
            Hit1.LoadContent(hitAnimationStandard, new Vector2(0, 0));
            hitAnimationStandard.active = false;

            healAnimationStandard = LoadContentHelper.healAnimation1;
            Heal1 = new Skill("Heal", 0, null, null, null, null);
            Heal1.LoadContent(healAnimationStandard, new Vector2(0, 0));
            healAnimationStandard.active = false;

            hitAnimation2 = LoadContentHelper.hitAnimation2;
            Hit2 = new Skill("PhysicalHit", 0, null, null, null, null);
            Hit2.LoadContent(hitAnimation2, new Vector2(0, 0));
            hitAnimation2.active = false;

            healAnimation2 = LoadContentHelper.healAnimation2;
            Heal2 = new Skill("Heal", 0, null, null, null, null);
            Heal2.LoadContent(healAnimation2, new Vector2(0, 0));
            healAnimation2.active = false;

            hitAnimation3 = LoadContentHelper.hitAnimation3;
            Hit3 = new Skill("PhysicalHit", 0, null, null, null, null);
            Hit3.LoadContent(hitAnimation3, new Vector2(0, 0));
            hitAnimation3.active = false;

            healAnimation3 = LoadContentHelper.healAnimation3;
            Heal3 = new Skill("Heal", 0, null, null, null, null);
            Heal3.LoadContent(healAnimation3, new Vector2(0, 0));
            healAnimation3.active = false;

            hitAnimation4 = LoadContentHelper.hitAnimation4;
            Hit4 = new Skill("PhysicalHit", 0, null, null, null, null);
            Hit4.LoadContent(hitAnimation4, new Vector2(0, 0));
            hitAnimation4.active = false;

            healAnimation4 = LoadContentHelper.healAnimation4;
            Heal4 = new Skill("Heal", 0, null, null, null, null);
            Heal4.LoadContent(healAnimation4, new Vector2(0, 0));
            healAnimation4.active = false;

            //Attack und Rest Skills werden zu den SkillListen der Charactere hinzugefügt
            Character_1_Skills.Add(attackSkill);
            Character_1_Skills.Add(restSkill);
            Character_2_Skills.Add(attackSkill);
            Character_2_Skills.Add(restSkill);
            Character_3_Skills.Add(attackSkill);
            Character_3_Skills.Add(restSkill);
            Character_4_Skills.Add(attackSkill);
            Character_4_Skills.Add(restSkill);

            // Die Pfeile zum anzeigen des aktiven Characters werden initialisiert und die Position wird festgelegt
            if (partyMember1 != null)
            {
                ActivePartymember1Arrow = LoadContentHelper.activePartyMemberArrow1;
                ActivePartymember1Arrow.PositionX = (int)partyMember1.Position.X - 60;
                ActivePartymember1Arrow.PositionY = (int)partyMember1.Position.Y - 10;
            }
            if (partyMember2 != null)
            {
                ActivePartymember2Arrow = LoadContentHelper.activePartyMemberArrow2;
                ActivePartymember2Arrow.PositionX = (int)partyMember2.Position.X - 60;
                ActivePartymember2Arrow.PositionY = (int)partyMember2.Position.Y - 10;
            }
            if (partyMember3 != null)
            {
                ActivePartymember3Arrow = LoadContentHelper.activePartyMemberArrow3;
                ActivePartymember3Arrow.PositionX = (int)partyMember3.Position.X - 60;
                ActivePartymember3Arrow.PositionY = (int)partyMember3.Position.Y - 10;
            }
            if (partyMember4 != null)
            {
                ActivePartymember4Arrow = LoadContentHelper.activePartyMemberArrow4;
                ActivePartymember4Arrow.PositionX = (int)partyMember4.Position.X - 60;
                ActivePartymember4Arrow.PositionY = (int)partyMember4.Position.Y - 10;
            }
            if (enemy1 != null)
            {
                ActiveEnemy1Arrow = LoadContentHelper.activeEnemyArrow1;
                ActiveEnemy1Arrow.PositionX = (int)enemy1.Position.X + 45;
                ActiveEnemy1Arrow.PositionY = (int)enemy1.Position.Y - 10;
            }
            if (enemy2 != null)
            {
                ActiveEnemy2Arrow = LoadContentHelper.activeEnemyArrow2;
                ActiveEnemy2Arrow.PositionX = (int)enemy2.Position.X + 45;
                ActiveEnemy2Arrow.PositionY = (int)enemy2.Position.Y - 10;
            }
            if (enemy3 != null)
            {
                ActiveEnemy3Arrow = LoadContentHelper.activeEnemyArrow3;
                ActiveEnemy3Arrow.PositionX = (int)enemy3.Position.X + 45;
                ActiveEnemy3Arrow.PositionY = (int)enemy3.Position.Y - 10;
            }
            if (enemy4 != null)
            {
                ActiveEnemy4Arrow = LoadContentHelper.activeEnemyArrow4;
                ActiveEnemy4Arrow.PositionX = (int)enemy4.Position.X + 45;
                ActiveEnemy4Arrow.PositionY = (int)enemy4.Position.Y - 10;
            }

            //FightCader wird der Liste FightClub hinzugefügt
            foreach (Character character in this.fightCadre)
            {
                this.FightClub.Add(character);
            }

            //Enemies wird der Liste FightClub hinzugefügt
            foreach (Character character in this.Enemies)
            {
                this.FightClub.Add(character);
            }

            //Der BackgroundPath wird mit den vorhanden Backgrounds des LoadContentHelpers verglichen,
            //und der richtige Hintergrund wird zugewiesen
            foreach (GUIElement background in LoadContentHelper.AllBackgrounds)
            {
                if (background.AssetName == BackgroundPath)
                {
                    this.Background = background;
                }
            }

            // FightClub Member werden nach dem Initiative wert sortiert
            this.FightClub = this.FightClub.OrderBy(character => character.GetInitiative()).ToList();
            activeChar = FightClub.ElementAt<Character>(0);
        }