Inheritance: Enemy
        protected override void CreateCharacter(string[] inputParams)
        {
            Character character;
            string characterType = inputParams[1];
            string id = inputParams[2];
            int x = int.Parse(inputParams[3]);
            int y = int.Parse(inputParams[4]);
            Team team = (Team)Enum.Parse(typeof(Team), inputParams[5]);

            switch (characterType)
            {
                case "mage":
                    character = new Mage(id, x, y, team);
                    break;
                case "warrior":
                    character = new Warrior(id, x, y, team);
                    break;
                case "healer":
                default:
                    character = new Healer(id, x, y, team);
                    break;
            }

            characterList.Add(character);
        }
Exemplo n.º 2
0
        public Spells(Mage newMageSpells)
        {
            this.mageSpells = newMageSpells;

            if (mageSpells.Equals(Mage.FireBall))
            {
                this.spellName   = "Fire ball";
                this.spellValue  = 160;
                this.spellClass  = new Classes(Classes.Class.Mage);
                this.kindOfSpell = KindOfSpell.Damage;
                this.mana        = 30;
            }
            if (mageSpells.Equals(Mage.PyroBlast))
            {
                this.spellName   = "Pyro blast";
                this.spellValue  = 220;
                this.spellClass  = new Classes(Classes.Class.Mage);
                this.kindOfSpell = KindOfSpell.Damage;
                this.mana        = 50;
            }
            if (mageSpells.Equals(Mage.LivingBomb))
            {
                this.spellName   = "Living bomb";
                this.spellValue  = 520;
                this.spellClass  = new Classes(Classes.Class.Mage);
                this.kindOfSpell = KindOfSpell.Damage;
                this.mana        = 80;
            }
        }
        protected override void CreateCharacter(string[] inputParams)
        {
            Character character;
            string    id   = inputParams[2];
            int       x    = int.Parse(inputParams[3]);
            int       y    = int.Parse(inputParams[4]);
            Team      team = (Team)Enum.Parse(typeof(Team), inputParams[5]);
            string    type = inputParams[1];

            switch (type)
            {
            case "mage":
                character = new Mage(id, x, y, team);
                break;

            case "warrior":
                character = new Warrior(id, x, y, team);
                break;

            case "healer":
            default:
                character = new Healer(id, x, y, team);
                break;
            }

            characterList.Add(character);
        }
Exemplo n.º 4
0
 protected override void CreateCharacter(string[] inputParams)
 {
     int x;
     int y;
     Team team;
     Character character;
     switch (inputParams[1].ToLower())
     {
         case "mage":
             x = int.Parse(inputParams[3]);
             y = int.Parse(inputParams[4]);
             team = (Team)Enum.Parse(typeof(Team), inputParams[5], true);
             character = new Mage(inputParams[2], x, y, team);
             this.characterList.Add(character);
             break;
         case "warrior":
             x = int.Parse(inputParams[3]);
             y = int.Parse(inputParams[4]);
             team = (Team)Enum.Parse(typeof(Team), inputParams[5], true);
             character = new Warrior(inputParams[2], x, y, team);
             this.characterList.Add(character);
             break;
         case "healer":
             x = int.Parse(inputParams[3]);
             y = int.Parse(inputParams[4]);
             team = (Team)Enum.Parse(typeof(Team), inputParams[5], true);
             character = new Healer(inputParams[2], x, y, team);
             this.characterList.Add(character);
             break;
     }
 }
Exemplo n.º 5
0
        protected override void CreateCharacter(string[] inputParams)
        {
            string typeOfCharacter = inputParams[1];
            string characterId = inputParams[2];
            int X = int.Parse(inputParams[3]);
            int Y = int.Parse(inputParams[4]);
            Team team = (Team) Enum.Parse(typeof (Team), inputParams[5]);

            Character character;
            switch (typeOfCharacter)
            {
                case "healer":
                    character = new Mage(characterId, X, Y, team);
                    break;
                case "mage":
                    character = new Mage(characterId, X, Y, team);
                    break;
                case "warrior":
                    character = new Warrior(characterId, X, Y, team);
                    break;
                default:
                    throw new ArgumentException("Such character doesn't exist");
            }
            characterList.Add(character);
        }
Exemplo n.º 6
0
        private void chooseCharacterButton_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(nameInput.Text))
            {
                Label erroLabel = new Label();
                erroLabel.Text = "You must enter character name before you press \"Choose character\" button";
                erroLabel.Enabled = true;
                erroLabel.Visible = true;
                var labelLocation = new Point(200,450);
                erroLabel.Font = new Font(FontFamily.GenericSerif, 10);
                erroLabel.Location = labelLocation;
                erroLabel.AutoSize = true;
                this.Controls.Add(erroLabel);
            }
            else
            {
                if (this.warriorRadioButton.Checked)
                {
                    Player player = new Warrior(new Position(0, 0), nameInput.Text);
                    CreatePlayerAndStartGame(player);
                }

                else if (this.archerRadioButton.Checked)
                {
                    Player player = new Archer(new Position(0, 0), nameInput.Text);
                    CreatePlayerAndStartGame(player);
                }

                else if (this.mageRadioButton.Checked)
                {
                    Player player = new Mage(new Position(0, 0), nameInput.Text);
                    CreatePlayerAndStartGame(player);
                }
            }
        }
        protected override void CreateCharacter(string[] inputParams)
        {
            Character character = null;
            string id = inputParams[2];
            int x = int.Parse(inputParams[3]);
            int y = int.Parse(inputParams[4]);
            Team team = (Team)Enum.Parse(typeof(Team), inputParams[5]);

            switch (inputParams[1])
            {
                case  "mage":
                    character = new Mage(id, x, y, team);
                    break;
                case "warrior":
                    character = new Warrior(id, x, y, team);
                    break;
                case "healer":
                    character=new Healer(id,x,y,team);
                    break;
                default:
                    throw new InvalidOperationException("Character not found in the game!");
            }

            this.characterList.Add(character);
        }
Exemplo n.º 8
0
        protected override void CreateCharacter(string[] inputParams)
        {
            // create characterClass id x y team
            string type = inputParams[1];
            string id = inputParams[2];
            int x = int.Parse(inputParams[3]);
            int y = int.Parse(inputParams[4]);
            string teamTmp = inputParams[5];

            Team team;
            if(teamTmp.ToLower() == "red")
                team = Team.Red;
            else if(teamTmp.ToLower() == "blue")
                team = Team.Blue;
            else throw new ArgumentOutOfRangeException("No such team, please choose either red or blue.");

            switch (type.ToLower())
            {
                case "warrior":
                    Character warrior = new Warrior(id, x, y, team);
                    characterList.Add(warrior);
                    break;
                case "mage":
                    Character mage = new Mage(id, x, y, team);
                    characterList.Add(mage);
                    break;
                case "healer":
                    Character healer = new Healer(id, x, y, team);
                    characterList.Add(healer);
                    break;
                default:
                    break;
            }
        }
Exemplo n.º 9
0
    public void CreateCharacter(ECharacterType characterType, string name, int level)
    {
        BaseCharacter newCharacter = new BaseCharacter();

        switch (characterType)
        {
        case ECharacterType.WARRIOR:
            Warrior newWarrior = gameObject.AddComponent <Warrior>();
            newWarrior.InitializeCharacter(name, level);
            AddCharacter(newWarrior);
            newCharacter = newWarrior;
            break;

        case ECharacterType.ROGUE:
            Rogue newRogue = gameObject.AddComponent <Rogue>();
            newRogue.InitializeCharacter(name, level);
            AddCharacter(newRogue);
            newCharacter = newRogue;
            break;

        case ECharacterType.MAGE:
            Mage newMage = gameObject.AddComponent <Mage>();
            newMage.InitializeCharacter(name, level);
            AddCharacter(newMage);
            newCharacter = newMage;
            break;
        }

        allCharacters.Add(newCharacter);
    }
Exemplo n.º 10
0
        public void testThreeActOnMovesGameCharacter()
        {
            bool passed = false;

            HPone = new HiddenPassage();
            HPtwo = new HiddenPassage(HPone);

            bob = new Mage();

            HPone.testPlayerPosition = new IntVec(5, 3);
            HPone.testPosition       = new IntVec(5, 4);
            HPtwo.testPosition       = new IntVec(2, 6);

            HPone.directionFacing = Direction.UP;
            HPtwo.directionFacing = Direction.DOWN;

            IntVec preveosSpot = HPone.testPlayerPosition;

            HPone.actOn(bob);
            HPtwo.actOn(bob);

            IntVec finalSpot = HPone.testPlayerPosition;

            HPone = new HiddenPassage();
            if (preveosSpot != finalSpot)
            {
                passed = true;
            }

            if (!passed)
            {
                throw new System.ArgumentException("The GameCharacter position did not change", "testThreeActOnMovesGameCharacter");
            }
        }
 public override void PrepareFight(Mage mage, Ai ai, PanelMage myPanel, PanelMage enemy)
 {
     Mage        = mage;
     Ai          = ai;
     MyPanel     = myPanel;
     EnemysPanel = enemy;
 }
Exemplo n.º 12
0
        public void ReturnString_Mage()
        {
            Player player = new Mage();
            string result = player.Name;

            result.Should().Be("Mage");
        }
Exemplo n.º 13
0
        public void Cast(Mage hero) //cast für die auswahl aus dem sellbook
        {
            if (hero.Spellbook.Count > 0)
            {
                hero.PrintSpellbook();
                Console.WriteLine("which spell do you want to cast? or go 'back'");
                //geht das einfacher??
                // damit frägt er so lange bis eingabe ein int ist

                while (true)
                {
                    string useS = Console.ReadLine();
                    if (useS == "back")
                    {
                        return;
                    }
                    int use = 0;
                    if (int.TryParse(useS, out use))
                    {
                        if (hero.UseSpell(use)) //Usespell ist bool. wenn wahr ist dann fertig. wenn nein nochmal loop
                        {
                            return;
                        }
                    }
                }
            }
            else
            {
                Console.WriteLine("you do not know any spells ...");
            }
        }
Exemplo n.º 14
0
        public static Mage CreateMage()
        {
            Console.SetCursorPosition(0, Console.CursorTop);
            Console.Write(new string(' ', Console.WindowWidth));
            Console.SetCursorPosition(0, Console.CursorTop);
            Random rnd     = new Random();
            Mage   newMage = new Mage();

            newMage.Hp           = rnd.Next(80, 120);
            newMage.MaxHp        = newMage.Hp;
            newMage.Strength     = rnd.Next(3, 5);
            newMage.Intelligence = rnd.Next(12, 15);
            newMage.Agility      = rnd.Next(5, 8);
            newMage.Gold         = 0;
            newMage.Exp          = 0;
            newMage.ExpToLevel   = 20;
            newMage.Level        = 1;
            newMage.Class        = "Mage";
            newMage.Weapon       = new Weapons {
                Name = "hands", Type = "Weapon", StatType = 0, Price = 0
            };
            newMage.Armor = new Armors {
                Name = "Apron", Type = "Armor", StatType = 0, Price = 0
            };
            newMage.Consumable = null;
            Console.Write("Enter your Name: ");
            newMage.Name = Console.ReadLine();


            return(newMage);
        }
Exemplo n.º 15
0
    public void ChangePosition(Mage mage2Move)
    {
        CreateAttackCommand(mage2Move);

        IndividualTiles magePreviousTile = mage2Move.myCurrentTile;

        mage2Move.MoveToTilePushed(myCurrentTile);
        mage2Move.UpdateInformationAfterMovement(myCurrentTile);
        this.MoveToTilePushed(magePreviousTile);
        UpdateInformationAfterMovement(magePreviousTile);
        mage2Move.hasMoved = true;
        LM.UnitHasFinishedMovementAndRotation();
        UIM.RefreshTokens();

        if (mage2Move.isDecoyBomb2)
        {
            TM.GetSurroundingTiles(myCurrentTile, 1, true, false);

            //Hago daño a las unidades adyacentes
            for (int i = 0; i < TM.surroundingTiles.Count; ++i)
            {
                if (TM.surroundingTiles[i] != null)
                {
                    TM.surroundingTiles[i].ColorAttack();
                }
            }

            StartCoroutine("WaitToDamageSurroundingAfterChangePos");
        }

        HideAttackEffect(null);
    }
Exemplo n.º 16
0
    // PUBLIC MODIFIERS
    public SpellCastResult TryCast(Mage caster, string spellcode_uppercase, ref int crystals)
    {
        SpellCastResult result = new SpellCastResult();
        Spell spell = null;

        if (spellcode_dict.ContainsKey(spellcode_uppercase))
        {
            spell = spellcode_dict[spellcode_uppercase];

            // check prerequisites
            result.on_cooldown = spell.IsOnCooldown();
            result.not_enough_resources = spell.cost > crystals;
            result.not_enough_free_slots = spell.GetFreeSlotsRequired() > caster.NumFreeSlots();

            if (!result.on_cooldown && !result.not_enough_free_slots && !result.not_enough_resources)
            {
                // successful cast
                crystals -= spell.cost;
                spell.Cast(caster);
                result.success = true;
            }
        }
        else
        {
            // bad spell code
            result.invalid_spell_code = true;
        }

        // return and events
        result.spell = spell;
        if (event_spell_cast != null) event_spell_cast(result);
        return result;
    }
Exemplo n.º 17
0
        static void Main(string[] args)
        {
            Mage    mage    = new Mage(new Vector2D(0, 1), 4);
            Warrior warrior = new Warrior(new Vector2D(0, 1));

            mage.FireStorm(warrior);
            warrior.BladeFurry(mage);
            Wolf wolf = new Wolf(new Vector2D(0, 0));

            Console.WriteLine("Wolf spawned here: [{0}, {1}]", wolf.Position.X, wolf.Position.Y);
            wolf.Move();
            Console.WriteLine("Wolf moved here: [{0}, {1}]", wolf.Position.X, wolf.Position.Y);

            Console.WriteLine("Stats of a mage before eating bonuses:");
            Console.WriteLine("Speed: {0}", mage.Speed);
            Console.WriteLine("Health: {0}", mage.Health);
            Console.WriteLine("Spawning bonuses.");
            Bonus[] bonuses =
            {
                new Cherry(new Vector2D(3, 4), 10),
                new Cherry(new Vector2D(5, 5), 15),
                new Apple(new Vector2D(6,  6),  3),
                new Apple(new Vector2D(7,  7), 6)
            };
            foreach (Bonus b in bonuses)
            {
                b.TakeBonus(mage);
            }
            Console.WriteLine("Stats of a mage after eating bonuses:");
            Console.WriteLine("Speed: {0}", mage.Speed);
            Console.WriteLine("Health: {0}", mage.Health);
        }
Exemplo n.º 18
0
        public override void Setup(ScriptableCard data, CardLine line, Mage owner)
        {
            base.Setup(data, line, owner);


            Destroy(this.gameObject, data.lifeTime);
        }
Exemplo n.º 19
0
        protected override void CreateCharacter(string[] inputParams)
        {
            string id = inputParams[2];
            int    x  = int.Parse(inputParams[3]);
            int    y  = int.Parse(inputParams[4]);
            Team   team;

            Enum.TryParse(inputParams[5], out team);

            switch (inputParams[1])
            {
            case "warrior":
                Warrior warrior = new Warrior(id, x, y, team);
                this.characterList.Add(warrior);
                break;

            case "mage":
                Mage mage = new Mage(id, x, y, team);
                this.characterList.Add(mage);
                break;

            case "healer":
                Healer healer = new Healer(id, x, y, team);
                this.characterList.Add(healer);
                break;
            }
        }
Exemplo n.º 20
0
 protected override void CreateCharacter(string[] inputParams)
 {
     Character newCharacter;
     switch (inputParams[1].ToLower())
     {
         case "warrior":
             newCharacter = new Warrior(
                 inputParams[2],
                 int.Parse(inputParams[3]),
                 int.Parse(inputParams[4]),
                 (Team)Enum.Parse(typeof(Team), inputParams[5], true));
             this.characterList.Add(newCharacter);
             break;
         case "mage":
             newCharacter = new Mage(
                 inputParams[2],
                 int.Parse(inputParams[3]),
                 int.Parse(inputParams[4]),
                 (Team)Enum.Parse(typeof(Team), inputParams[5], true));
             this.characterList.Add(newCharacter);
             break;
         case "healer":
             newCharacter = new Healer(
                 inputParams[2],
                 int.Parse(inputParams[3]),
                 int.Parse(inputParams[4]),
                 (Team)Enum.Parse(typeof(Team), inputParams[5], true));
             this.characterList.Add(newCharacter);
             break;
     }
 }
Exemplo n.º 21
0
    static void Main()
    {
        Warrior firstWarrior = new Warrior(150, 50, "Name", Faction.BadGuy);
        //firstWarrior.Addition(4, 6);
        //firstWarrior.Move(100);

        Mage firstMega = new Mage();

        Character secondWarrior = new Warrior();
        Warrior   tempWarrior   = (Warrior)secondWarrior;

        secondWarrior.Move(5);

        List <Character> theCharacters = new List <Character>();

        theCharacters.Add(firstWarrior);
        theCharacters.Add(firstMega);

        Console.WriteLine(firstWarrior.HealthPoints);
        Console.WriteLine(firstMega.Mana);

        firstMega.CastSpell(firstWarrior);

        Console.WriteLine(firstWarrior.HealthPoints);
        Console.WriteLine(firstMega.Mana);

        //firstMega.Move(10000);
        //public type can be accessed in same assembly
        firstMega.Addition(1, 2);
        Console.WriteLine(firstWarrior.Age);

        try
        {
            //firstWarrior.Age = 15;
            firstMega.Age = 25;
        }
        catch (ArgumentOutOfRangeException ex)
        {
            Console.WriteLine(ex.Message);
        }

        //Warrior secondWarrior = new Warrior(150, 50);

        //Warrior thirdWarrior = new Warrior(140, 78, "I am the third warrior!");
        //Warrior thirdWarrior = new Warrior(140, 78);

        //Warrior fouthWarrior = new Warrior(150, 40, "Name", Faction.GoodGuy);
        //Mage firstMage = new Mage();
        //Console.WriteLine(fouthWarrior.Name);
        //Console.WriteLine(fouthWarrior.HealthPoints);

        //Tools.ColorfulWriteLine(firstWarrior.ID.ToString(), ConsoleColor.DarkBlue);
        //Tools.ColorfulWriteLine(secondWarrior.ID.ToString(), ConsoleColor.Red);
        //Tools.ColorfulWriteLine(thirdWarrior.ID.ToString(), ConsoleColor.Green);

        Console.Read();

        //Console.WriteLine(firstWarrior.Name);
        //Console.WriteLine(thirdWarrior.Name);
    }
        protected override void CreateCharacter(string[] inputParams)
        {
            Character character       = null;
            string    typeOfCharacter = inputParams[1];
            string    id   = inputParams[2];
            int       x    = int.Parse(inputParams[3]);
            int       y    = int.Parse(inputParams[4]);
            Team      team = (Team)Enum.Parse(typeof(Team), inputParams[5], true);

            switch (typeOfCharacter)
            {
            case "warrior":
                character = new Warrior(id, x, y, team);
                break;

            case "mage":
                character = new Mage(id, x, y, team);
                break;

            case "healer":
                character = new Healer(id, x, y, team);
                break;

            default:
                throw new ArgumentException("Invalid type of character");
            }

            characterList.Add(character);
        }
Exemplo n.º 23
0
        private Personnage InstancierPersonnage(string type)
        {
            Personnage personnage = null;

            if (type == TypePersonnage.ARCHER)
            {
                personnage = new Archer(null, null, 0, Vector3.Zero, Vector3.Zero, 0, 0, 0, 0, VIE_MAX);
            }
            if (type == TypePersonnage.GUÉRISSEUR)
            {
                personnage = new Guérisseur(null, null, 0, Vector3.Zero, Vector3.Zero, 0, 0, 0, 0, VIE_MAX);
            }
            if (type == TypePersonnage.GUERRIER)
            {
                personnage = new Guerrier(null, null, 0, Vector3.Zero, Vector3.Zero, 0, 0, 0, 0, VIE_MAX);
            }
            if (type == TypePersonnage.MAGE)
            {
                personnage = new Mage(null, null, 0, Vector3.Zero, Vector3.Zero, 0, 0, 0, 0, VIE_MAX);
            }
            if (type == TypePersonnage.PALADIN)
            {
                personnage = new Paladin(null, null, 0, Vector3.Zero, Vector3.Zero, 0, 0, 0, 0, VIE_MAX);
            }
            if (type == TypePersonnage.VOLEUR)
            {
                personnage = new Voleur(null, null, 0, Vector3.Zero, Vector3.Zero, 0, 0, 0, 0, VIE_MAX);
            }
            return(personnage);
        }
Exemplo n.º 24
0
	public void convertToMage()
	{
		SetNPCScript script = GameObject.Find("NPCS").gameObject.GetComponent<SetNPCScript>();

		var npc = new Mage ();
		npc.name = "Mage";
		npc.hp += target.hp;
		npc.maxHp += target.maxHp;

		npc.mp += target.mp;
		npc.maxMp += target.maxMp;
		npc.position = target.position;
		npc.sprite = script.spriteList [1];
		npc.setSprite ();
		//SetNPCScript
		//target.ChangeNPCSprite (npcScript.SpriteList[1]);

		//Game.removeNPC (target);
		//target.killNPC ();

		messiah.party.addNPC (npc);
		messiah.party.p.removeWarriorResource ();
		Game.addNPC (npc);
		target.killNPC ();

		Board.tiles [npc.position].npc = npc;
	}
Exemplo n.º 25
0
        private void CastMage(Mage mage, string skillName, string enemyPlayer, string nameOfPlayer)
        {
            if (skillName == "Heal")
            {
                mage.Heal();
            }

            else if (skillName == "BlackMagicAttack")
            {
                mage.Target.Name = enemyPlayer;

                mage.BlackMagicAttack();
            }

            else if (skillName == "DodgeAttackDefense")
            {
                mage.DodgeSingleAttack();
            }

            else if (skillName == "EnergyShieldDefense")
            {
                mage.EnergyShieldDefense();
            }

            else if (skillName == "WhiteMagicAttack")
            {
                mage.Target.Name = enemyPlayer;

                mage.WhiteMagicAttack();
            }
        }
    public override void Do(Mage caster, Spell origin_spell)
    {
        SEDispelOldestSlot dispel = Instantiate(this);
        dispel.StartCoroutine(dispel.UpdateDispel(caster));

        base.Do(caster, origin_spell);
    }
Exemplo n.º 27
0
 public void UseSpeedUP()
 {
     if (ic.SpeedUP > 0 && !ic.SpeedFlag)
     {
         ic.SpeedFlag = true;
         if (!Operation.knightDead)
         {
             knight       = GameObject.FindGameObjectWithTag("Knight");
             kt           = knight.GetComponent <Knight>();
             kt.moveSpeed = kt.moveSpeed * 3;
         }
         if (!Operation.archerDead)
         {
             archer       = GameObject.FindGameObjectWithTag("Archer");
             ac           = archer.GetComponent <Archer>();
             ac.moveSpeed = ac.moveSpeed * 3;
         }
         if (!Operation.mageDead)
         {
             mage         = GameObject.FindGameObjectWithTag("Mage");
             mg           = mage.GetComponent <Mage>();
             mg.moveSpeed = mg.moveSpeed * 3;
         }
         ic.SpeedUP -= 1;
     }
 }
Exemplo n.º 28
0
        public void ResetClassStats(List <CharClass> partyMembers)
        {
            foreach (var member in partyMembers)
            {
                switch (member.classType)
                {
                case CharClass.WARRIOR:
                {
                    Warrior freshClass = new Warrior();
                    member.itemFind          = freshClass.itemFind;
                    member.xpBonus           = freshClass.xpBonus;
                    member.coinBonus         = freshClass.coinBonus;
                    member.preventDeathBonus = freshClass.preventDeathBonus;
                    member.successChance     = freshClass.successChance;
                } break;

                case CharClass.MAGE:
                {
                    Mage freshClass = new Mage();
                    member.itemFind          = freshClass.itemFind;
                    member.xpBonus           = freshClass.xpBonus;
                    member.coinBonus         = freshClass.coinBonus;
                    member.preventDeathBonus = freshClass.preventDeathBonus;
                    member.successChance     = freshClass.successChance;
                } break;

                case CharClass.ROGUE:
                {
                    Rogue freshClass = new Rogue();
                    member.itemFind          = freshClass.itemFind;
                    member.xpBonus           = freshClass.xpBonus;
                    member.coinBonus         = freshClass.coinBonus;
                    member.preventDeathBonus = freshClass.preventDeathBonus;
                    member.successChance     = freshClass.successChance;
                } break;

                case CharClass.RANGER:
                {
                    Ranger freshClass = new Ranger();
                    member.itemFind          = freshClass.itemFind;
                    member.xpBonus           = freshClass.xpBonus;
                    member.coinBonus         = freshClass.coinBonus;
                    member.preventDeathBonus = freshClass.preventDeathBonus;
                    member.successChance     = freshClass.successChance;
                } break;

                case CharClass.CLERIC:
                {
                    Cleric freshClass = new Cleric();
                    member.itemFind          = freshClass.itemFind;
                    member.xpBonus           = freshClass.xpBonus;
                    member.coinBonus         = freshClass.coinBonus;
                    member.preventDeathBonus = freshClass.preventDeathBonus;
                    member.successChance     = freshClass.successChance;
                } break;

                default: break;
                }
            }
        }
Exemplo n.º 29
0
 public void UseMpPortion()
 {
     if (Operation.knightFlag)
     {
         knight = GameObject.FindGameObjectWithTag("Knight");
         kt     = knight.GetComponent <Knight>();
         if (ic.MpPortion > 0 && kt.playerMp < kt.playerMaxMp)
         {
             kt.playerMp  += 20;
             ic.MpPortion -= 1;
         }
     }
     if (Operation.archerFlag)
     {
         archer = GameObject.FindGameObjectWithTag("Archer");
         ac     = archer.GetComponent <Archer>();
         if (ic.MpPortion > 0 && ac.playerMp < ac.playerMaxMp)
         {
             ac.playerMp  += 20;
             ic.MpPortion -= 1;
         }
     }
     if (Operation.mageFlag)
     {
         mage = GameObject.FindGameObjectWithTag("Mage");
         mg   = mage.GetComponent <Mage>();
         if (ic.MpPortion > 0 && mg.playerMp < mg.playerMaxMp)
         {
             mg.playerMp  += 20;
             ic.MpPortion -= 1;
         }
     }
 }
Exemplo n.º 30
0
    public override void UndoAttack(AttackCommand lastAttack, bool _isThisUnitTheAttacker)
    {
        base.UndoAttack(lastAttack, _isThisUnitTheAttacker);

        if (isDead &&
            (_isThisUnitTheAttacker && lastAttack.pjPreviousHealth > 0) ||
            (!_isThisUnitTheAttacker && lastAttack.objPreviousHealth > 0))
        {
            for (int i = 0; i < LM.charactersOnTheBoard.Count; i++)
            {
                if (LM.charactersOnTheBoard[i].GetComponent <Mage>())
                {
                    myMage = LM.charactersOnTheBoard[i].GetComponent <Mage>();

                    myMage.myDecoys.Add(gameObject);
                    LM.charactersOnTheBoard.Add(this);

                    break;
                }
            }

            EnableUnableCollider(true);
            //Estas líneas las añado para comprobar si hay samurai y si hay que actualizar el honor
            Samurai samuraiUpgraded = FindObjectOfType <Samurai>();

            if (samuraiUpgraded != null)
            {
                samuraiUpgraded.RefreshHonorOnPortrait();
            }
            UIM.CheckActionsAvaliable();
        }
    }
Exemplo n.º 31
0
    /*static void CreateEnemies(int numberOfTeams)
     * {
     *  for (int v = 0; v < numberOfTeams; v++)
     *  {
     *      for (int i = 0; i < _enemiesToMake; i++)
     *      {
     *          Vector2 spawn = GridHandler.GetSpawn();
     *          Character newCharacter = new Character("Enemy", (i + 1 + (v *_enemiesToMake)).ToString(), v + 1, spawn);
     *          GridHandler.PlaceEnemyOnBoard(newCharacter);
     *          _spawnedCharacters.Add(newCharacter);
     *      }
     *  }
     * }*/
    static void CreatePlayerTeam(List <DraggableCharacter> playerTeam)
    {
        for (int i = 0; i < playerTeam.Count; i++)
        {
            Vector2   spawn = GridHandler.GetSpawn(true);
            Character newCharacter;
            switch (playerTeam[i].GetClass)
            {
            case PlayerClasses.WARRIOR:
                newCharacter = new Warrior("Xavier", "0", TeamType.PLAYER, spawn);
                break;

            case PlayerClasses.MAGE:
                newCharacter = new Mage();
                break;

            default:
                newCharacter = new Character();
                break;
            }

            GridHandler.PlacePlayerOnBoard(newCharacter);
            _spawnedCharacters.Add(newCharacter);
        }
    }
Exemplo n.º 32
0
        protected override void CreateCharacter(string[] inputParams)
        {
            string characterType = inputParams[1];
            string id            = inputParams[2];
            int    x             = int.Parse(inputParams[3]);
            int    y             = int.Parse(inputParams[4]);
            string team          = inputParams[5];

            switch (characterType)
            {
            case "mage":
                var mage = new Mage(id, x, y, (Team)Enum.Parse(typeof(Team), team));
                this.characterList.Add(mage);
                break;

            case "warrior":
                var warrior = new Warrior(id, x, y, (Team)Enum.Parse(typeof(Team), team));
                this.characterList.Add(warrior);
                break;

            case "healer":
                var healer = new Healer(id, x, y, (Team)Enum.Parse(typeof(Team), team));
                this.characterList.Add(healer);
                break;

            default:
                base.CreateCharacter(inputParams);
                break;
            }
        }
Exemplo n.º 33
0
        public static Player CharacterSelection()
        {
            Game game = new Game();

            Console.WriteLine("Choose Character");
            Console.WriteLine("");
            String[] CharacterSelect = { "Assassin", "Mage", "Tank" };

            int MenuSelection = CIO.PromptForMenuSelection(CharacterSelect, true);

            if (MenuSelection == 1)
            {
                Player player = new Assassin();
                return(player);
            }
            else if (MenuSelection == 2)
            {
                Player player = new Mage();
                return(player);
            }
            else if (MenuSelection == 3)
            {
                Player player = new Tank();
                return(player);
            }
            else
            {
                game.BeginGame();
                return(null);
            }
        }
Exemplo n.º 34
0
        protected override void CreateCharacter(string[] inputParams)
        {
            var type = inputParams[1];
            var name = inputParams[2];
            var x = int.Parse(inputParams[3]);
            var y = int.Parse(inputParams[4]);
            var team = (Team)Enum.Parse(typeof(Team), inputParams[5], true);

            Character cha;
            switch (type)
            {
                case "warrior":
                    cha = new Warrior(name, x, y, team);
                    break;
                case "mage":
                    cha = new Mage(name, x, y, team);
                    break;
                case "healer":
                    cha = new Healer(name, x, y, team);
                    break;
                default: return;
            }

            this.characterList.Add(cha);
        }
Exemplo n.º 35
0
        // constructor and methods below

        public GameSession(GamePage parentPage, string playerChoice)
        {
            // core
            this.parentPage = parentPage;
            CurrentPlayer   = new Mage(this);
            if (playerChoice != null)
            {
                if (playerChoice.Contains("Fizyczna"))
                {
                    CurrentPlayer = new Warrior(this);
                }
            }
            itemPositions = new List <int>();
            activeItems   = new List <Item>();
            parentPage.AddConsoleText("Witaj w grze!");
            RefreshStats();
            SoundEngine       = parentPage.soundEngine;
            ChildSoundEngines = new List <SoundEngine>();
            // map
            metaMapMatrix = new MetaMapMatrix(this);
            mapMatrix     = metaMapMatrix.GetCurrentMatrix(0);
            //mapMatrix.Matrix[15, 15] = 3001;
            AvailableMoves = new bool[4];
            InitializeMapDisplay(0);
            // starting skills and items
            if (playerChoice != null)
            {
                if (playerChoice.Contains("topor"))
                {
                    ProduceItem("item0003");
                    CurrentPlayer.Learn(new AxeCut());
                    CurrentPlayer.Learn(new SwordSlash());
                    CurrentPlayer.Learn(new SpearStab());
                }
                else if (playerChoice.Contains("miecz"))
                {
                    ProduceItem("item0004");
                    CurrentPlayer.Learn(new AxeCut());
                    CurrentPlayer.Learn(new SwordSlash());
                    CurrentPlayer.Learn(new SpearStab());
                }
                else if (playerChoice.Contains("wlocznia"))
                {
                    ProduceItem("item0002");
                    CurrentPlayer.Learn(new AxeCut());
                    CurrentPlayer.Learn(new SwordSlash());
                    CurrentPlayer.Learn(new SpearStab());
                }
                else if (playerChoice.Contains("Ognista"))
                {
                    ProduceItem("item0001");
                    CurrentPlayer.Learn(new FireArrow());
                }
                else if (playerChoice.Contains("Podmuch"))
                {
                    ProduceItem("item0001");
                    CurrentPlayer.Learn(new WindGust());
                }
            }
        }
Exemplo n.º 36
0
        protected override void CreateCharacter(string[] inputParams)
        {
            var type = inputParams[1];
            var name = inputParams[2];
            var x = int.Parse(inputParams[3]);
            var y = int.Parse(inputParams[4]);
            var team = inputParams[5];

            switch (type)
            {
                case "mage":
                    var mage = new Mage(name, x, y, team == "Blue" ? Team.Blue : Team.Red);
                    this.characterList.Add(mage);
                    break;

                case "warrior":
                    var warrior = new Warrior(name, x, y, team == "Blue" ? Team.Blue : Team.Red);
                    this.characterList.Add(warrior);
                    break;

                case "healer":
                    var healer = new Healer(name, x, y, team == "Blue" ? Team.Blue : Team.Red);
                    this.characterList.Add(healer);
                    break;
            }
        }
Exemplo n.º 37
0
        public void BreakAlliance_ShouldReduceNumberOfAlliancesByOne_WhenAlliancesExist()
        {
            var mage1 = new Mage {
                Id = 1
            };
            var mage2 = new Mage {
                Id = 2
            };
            var mage3 = new Mage {
                Id = 3
            };
            var mage4 = new Mage {
                Id = 4
            };

            var alliance1 = new Alliance(mage1, mage2);
            var alliance2 = new Alliance(mage3, mage4);

            gw.Alliances.Add(alliance1);
            gw.Alliances.Add(alliance2);

            var initialCount = gw.Alliances.Count;

            gw.BreakAlliance(alliance2);

            var finalCount = gw.Alliances.Count;

            Assert.IsTrue(finalCount == (initialCount - 1), "The number of alliances was not reduced by one!");
        }
Exemplo n.º 38
0
        protected override void CreateCharacter(string[] inputParams)
        {
            string    id   = inputParams[2];
            int       x    = int.Parse(inputParams[3]);
            int       y    = int.Parse(inputParams[4]);
            Team      team = (Team)Enum.Parse(typeof(Team), inputParams[5]);
            Character currentCharacter;

            switch (inputParams[1])
            {
            case "mage":
                currentCharacter = new Mage(id, x, y, team);
                break;

            case "warrior":
                currentCharacter = new Warrior(id, x, y, team);
                break;

            case "healer":
                currentCharacter = new Healer(id, x, y, team);
                break;

            default:
                throw new InvalidOperationException();
                break;
            }

            this.characterList.Add(currentCharacter);
        }
Exemplo n.º 39
0
 private void Start()
 {
     mage = GetComponent <Mage>();
     //ch = GetComponent<Character>();
     rayCont = GetComponent <RaycastController>();
     cam     = Camera.main.transform;
 }
Exemplo n.º 40
0
        public void TestMageUseSpell()
        {
            Mage mage = new Mage("Linus", 9, false, 200);

            Assert.AreEqual(mage.ClickDamage * 4, mage.UseSpell(200));
            Assert.AreEqual(160, mage.Mana);
        }
Exemplo n.º 41
0
        static void Main(string[] args)
        {
            IList <ICharacter> team1 = new List <ICharacter>();
            IList <ICharacter> team2 = new List <ICharacter>();

            /* Make Characters */
            ICharacter whitaker = new Mage("Whitaker");
            ICharacter judo     = new Warrior("Judo");
            ICharacter dan      = new Mage("Daniel");
            ICharacter connor   = new Warrior("Connor");
            ICharacter Joe      = new Mage("Joe");
            ICharacter Jim      = new Warrior("Jim");

            /* add character to teams */
            team1.Add(dan);
            team1.Add(connor);
            team2.Add(whitaker);
            team2.Add(judo);
            team2.Add(Joe);
            team2.Add(Jim);

            Combat fightTime = new Combat(team1, team2, "Alpha Male", "Star");

            fightTime.AutoBattle();
        }
Exemplo n.º 42
0
        protected virtual void CreateCharacter(string[] inputParams)
        {
            var characterClass = inputParams[1].ToLower();
            var id             = inputParams[2];
            var x    = int.Parse(inputParams[3]);
            var y    = int.Parse(inputParams[4]);
            var team = (Team)Enum.Parse(typeof(Team), inputParams[5], true);

            Character character;

            switch (characterClass)
            {
            case "warrior":
                character = new Warrior(id, x, y, team);
                this.characterList.Add(character);
                break;

            case "mage":
                character = new Mage(id, x, y, team);
                this.characterList.Add(character);
                break;

            case "healer":
                character = new Healer(id, x, y, team);
                this.characterList.Add(character);
                break;
            }
        }
Exemplo n.º 43
0
    public override void Do(Mage caster, Spell origin_spell)
    {
        caster.opponent.Silence(duration);

        SESilence silence = Instantiate(this);
        silence.StartCoroutine(silence.AdjustVolume());

        base.Do(caster, origin_spell);
    }
Exemplo n.º 44
0
        protected override void CreateCharacter(string[] inputParams)
        {
            Character character;
            Team team;
            switch (inputParams[5].ToLower())
            {
                case "red":
                    team = Team.Red;
                    break;
                case "blue":
                    team = Team.Blue;
                    break;
                default:
                    throw new ApplicationException("Wrong color team.");
            }

            switch (inputParams[1].ToLower())
            {
                case "warrior":
                    character = new Warrior(
                        id: inputParams[2], 
                        x: int.Parse(inputParams[3]), 
                        y: int.Parse(inputParams[4]), 
                        healthPoints: 100,
                        defensePoints: 30, 
                        team: team,
                        range: 10, 
                        attackPoints: 60);
                    break;
                case "healer":
                    character = new Healer(
                        id: inputParams[2], 
                        x: int.Parse(inputParams[3]), 
                        y: int.Parse(inputParams[4]), 
                        healthPoints: 100, 
                        defensePoints: 0, 
                        team: team, 
                        range: 10, 
                        healingPoints: 30);
                    break;
                case "mage":
                    character = new Mage(
                        id: inputParams[2],
                        x: int.Parse(inputParams[3]),
                        y: int.Parse(inputParams[4]),
                        healthPoints: 100,
                        defensePoints: 5,
                        team: team,
                        range: 10,
                        attackPoints: 30);
                    break;
                default:
                    throw new ApplicationException("No such kind of hero.");
            }

            this.characterList.Add(character);
        }
    // PUBLIC MODIFIERS
    public override void Initialize(Mage caster, Vector2 pos)
    {
        if (destroyed_sound_prefab != null) ObjectPool.Instance.RequestObjects(destroyed_sound_prefab, 3, false);

        // Projectile Flag
        flag = Instantiate(flag_prefab);
        flag.Initialize(this, caster.transform.position, caster.GetPlayerColor());

        base.Initialize(caster, pos);
    }
Exemplo n.º 46
0
    // PUBLIC MODIFIERS
    public void Initialize(Mage caster, Vector2 pos, int group_num, string group_name)
    {
        this.caster = caster;
        this.group_num = group_num;
        marker.color = caster.player_color;
        transform.position = pos;

        caster.event_group_swtich += OnCasterGroupSwitch;

        marker.text = group_name;
        OnCasterGroupSwitch(caster.GetActiveGroupNum());
    }
Exemplo n.º 47
0
    private void OnHeartsChange(Mage mage)
    {
        if (hearts.Count != mage.GetMaxHearts()) Debug.LogError("No support now for changing max hearts");

        for (int i = 0; i < mage.GetHearts(); ++i)
        {
            hearts[i].sprite = sprite_heart_full;
        }
        for (int i = mage.GetHearts(); i < mage.GetMaxHearts(); ++i)
        {
            hearts[i].sprite = sprite_heart_empty;
        }
    }
    public override void Do(Mage caster, Spell origin_spell)
    {
        if (projectile_prefab.GetComponent<ControlledProjectile>() != null
            && !caster.ManaSlotAvailable())
            return;

        Projectile p = Instantiate<Projectile>(projectile_prefab);
        p.Initialize(caster, caster.cast_point.position);

        ControlledProjectile cp = p as ControlledProjectile;
        if (cp != null) caster.FillManaSlot(cp, origin_spell);

        p.GetRigidbody().AddForce(GeneralHelpers.RandomDirection2D(), ForceMode2D.Impulse);
    }
Exemplo n.º 49
0
 public static IUnit Create(UnitType type, string name, int x, int y)
 {
     switch (type)
     {
         case UnitType.Warrior:
             var warrior = new Warrior(x, y, name);
             return warrior;
         case UnitType.IceGiant:
             var iceGiant = new IceGiant(x, y, name);
             return iceGiant;
         case UnitType.Mage:
             var mage = new Mage(x, y, name);
             return mage;
         default:
             throw new NotImplementedException();
     }
 }
Exemplo n.º 50
0
        protected override void CreateCharacter(string[] inputParams)
        {
            Character character = null;
            Team team;

            switch (inputParams[5].ToLower())
            {
                case "red":
                    team = Team.Red;
                    break;
                case "blue":
                    team = Team.Blue;
                    break;
                default:
                    throw new ArgumentException("Unknown team.");
            }

            switch (inputParams[1].ToLower())
            {
                case "warrior":
                    character = new Warrior(
                        id: inputParams[2],
                        x: int.Parse(inputParams[3]),
                        y: int.Parse(inputParams[4]),
                        team: team);
                    break;
                case "healer":
                    character = new Healer(
                        id: inputParams[2],
                        x: int.Parse(inputParams[3]),
                        y: int.Parse(inputParams[4]),
                        team: team);
                    break;
                case "mage":
                    character = new Mage(
                        id: inputParams[2],
                        x: int.Parse(inputParams[3]),
                        y: int.Parse(inputParams[4]),
                        team: team);
                    break;
                default:
                    throw new ArgumentException("Wrong character.");
            }

            this.characterList.Add(character);
        }
    public IEnumerator UpdateDispel(Mage caster)
    {
        // find a good projectile to dispel
        ManaSlot slot = null;
        ControlledProjectile p = null;
        foreach (ManaSlot s in caster.GetManaSlots())
        {
            if (!s.dispelling)
            {
                p = s.GetProjectile();
                if (p != null)
                {
                    slot = s;
                    s.dispelling = true;
                    break;
                }
            }
        }

        // dispel
        if (slot != null)
        {
            // effect and delay
            SpriteRenderer circle = GetComponentInChildren<SpriteRenderer>();
            float t = 0;
            while (t < 1)
            {
                if (p == null) break;
                t += Time.deltaTime / (delay + 0.0001f);
                circle.transform.localScale = new Vector3(t, t, t) * max_circle_scale;
                circle.transform.position = p.transform.position;
                yield return null;
            }
            circle.transform.localScale = Vector3.zero;

            // dispel
            if (p != null)
            {
                slot.Empty(ManaSlotCooldown.Short);
                p.Kill();
            }
        }
    }
Exemplo n.º 52
0
        protected override void CreateCharacter(string[] inputParams)
        {
            Character character = null;

            switch (inputParams[1].ToLower())
            {
                case "warrior":
                    character = new Warrior(inputParams[2], int.Parse(inputParams[3]), int.Parse(inputParams[4]), 200, 100, (Team)Enum.Parse(typeof(Team), inputParams[5], true), 2, 150);
                    break;
                case "mage":
                    character = new Mage(inputParams[2], int.Parse(inputParams[3]), int.Parse(inputParams[4]), 150, 50, (Team)Enum.Parse(typeof(Team), inputParams[5], true), 5, 300);
                    break;
                case "healer":
                    character = new Healer(inputParams[2], int.Parse(inputParams[3]), int.Parse(inputParams[4]), 75, 50, (Team)Enum.Parse(typeof(Team), inputParams[5], true), 6, 60);
                    break;
                default:
                    throw new FormatException("This character is not exist!");
            }

            this.characterList.Add(character);
        }
Exemplo n.º 53
0
        public Game1()
        {
            //Setting wich level needs to be loaded
            level = new Level(this, "Level1");
            //Adding player
            player = new Player(this);

            //Adding skeletons + giving them a start position
            skeleton1 = new Skeleton(this);
            skeleton1.Position = new Vector2(350, 560);

            skeleton2 = new Skeleton(this);
            skeleton2.Position = new Vector2(217, 431);

            skeleton3 = new Skeleton(this);
            skeleton3.Position = new Vector2(550, 367);

            //Adding Mages + giving them a start position
            mage1 = new Mage(this);
            mage1.Position = new Vector2(600, 495);

            mage2 = new Mage(this);
            mage2.Position = new Vector2(350, 302);

            mage3 = new Mage(this);
            mage3.Position = new Vector2(250, 175);

            //Adding boss + giving him a start position
            boss = new Boss(this);
            boss.Position = new Vector2(150, 43);

            graphics = new GraphicsDeviceManager(this);
            Content.RootDirectory = "Content";

            //Setting the Height&Width from the game window
            graphics.PreferredBackBufferWidth = 800;
            graphics.PreferredBackBufferHeight = 640;
        }
Exemplo n.º 54
0
        protected override void CreateCharacter(string[] inputParams)
        {
            Character character = null;
            int coordinateX = int.Parse(inputParams[3]);
            int coordinateY = int.Parse(inputParams[4]);
            var team = (Team)Enum.Parse(typeof(Team), inputParams[5]);
            switch (inputParams[1])
            {
                case "warrior":
                    character = new Warrior(inputParams[2], coordinateX, coordinateY, team);
                    break;
                case "mage":
                    character = new Mage(inputParams[2], coordinateX, coordinateY, team);
                    break;
                case "healer":
                    character = new Healer(inputParams[2], coordinateX, coordinateY, team);
                    break;
                default:
                    break;
            }

            characterList.Add(character);
        }
Exemplo n.º 55
0
        protected override void CreateCharacter(string[] inputParams)
        {
            string id = inputParams[2];
            int x = int.Parse(inputParams[3]);
            int y = int.Parse(inputParams[4]);
            Team team;
            Enum.TryParse(inputParams[5], out team);

            switch (inputParams[1])
            {
                case "warrior":
                    Warrior warrior = new Warrior(id, x,y,team);
                    this.characterList.Add(warrior);
                    break;
                 case "mage":
                    Mage mage = new Mage(id, x,y,team);
                    this.characterList.Add(mage);
                    break;
                case "healer":
                    Healer healer = new Healer(id, x, y, team);
                    this.characterList.Add(healer);
                    break;
            }
        }
 private void AddMageLoss(HSCounter hsc)
 {
     Mage mage = new Mage();
     mage.LoseButton_Clicked(hsc);
 }
Exemplo n.º 57
0
	void Awake()
	{
		S = this; // Set the Mage Singleton
		mPhase = MPhase.idle;
		// Find the characterTrans to rotate with Face()
		characterTrans = transform.Find("CharacterTrans");
		viewCharacterTrans = characterTrans.Find("View_Character");
		// Get the LineRenderer component and disable it //**
		liner = GetComponent<LineRenderer>(); //**
		liner.enabled = false; 

		GameObject saGO = new GameObject("Spell Anchor"); 
		// ^ Create an empty GameObject named "Spell Anchor". When you create a
		// new GameObject this way, it's at P:[0,0,0] R:[0,0,0] S:[1,1,1]
		spellAnchor = saGO.transform; // Get its transform 

	}
Exemplo n.º 58
0
 public Mage GetOpponent(Mage mage)
 {
     return players[GetOpponentNumber(mage.GetPlayerNumber()) - 1];
 }
Exemplo n.º 59
0
 private void OnMageHeartsChange(Mage mage)
 {
     if (mage.GetHearts() == 0)
     {
         GG(GetOpponentNumber(mage.GetPlayerNumber()));
     }
 }
 public void Initialize(Mage mage, Mage opponent)
 {
     this.mage = mage;
     this.opponent = opponent;
     //this.match = match;
 }