Exemple #1
0
    public bool IsCharacterClass(ECharacterClass characterClass)
    {
        foreach (CharacterModel character in m_Characters.Values)
        {
            if (character.GetClass() == characterClass)
            {
                return(true);
            }
        }

        return(false);
    }
Exemple #2
0
        public int?CalculateDeathAge(ECharacterClass characterClass, bool isGameCreator = false)
        {
            //todo in future - check after class promotion

            if (characterClass == ECharacterClass.Elf || isGameCreator)
            {
                return(null);
            }

            var rnd = new Random();

            return(rnd.Next(90, 101)); //90-100
        }
 public void SetClass(ECharacterClass newClass)
 {
     m_Class = newClass;
 }
 public CharacterModel(string name, ECharacterClass newClass)
 {
     m_Name  = name;
     m_Class = newClass;
     Build();
 }
Exemple #5
0
        private int[] ConvertClass(int jobmask)
        {
            int[] bclass = new int[3];

            // Nothing todo?
            if (jobmask == 0)
            {
                return(bclass);
            }

            // Fill shorthand list with all ECharacterClass values
            if (mClassBits.Count == 0)
            {
                string[] names = Enum.GetNames(typeof(ECharacterClass));
                for (int i = 0; i < names.Length; i++)
                {
                    ECharacterClass c = (ECharacterClass)Enum.Parse(typeof(ECharacterClass), names[i]);
                    mClassBits.Add(c, 1 << (int)c);
                }
            }

            // Base classes
            if ((jobmask & mClassBits[ECharacterClass.Novice]) == mClassBits[ECharacterClass.Novice])
            {
                // Both Novice/Super-Novice are counted with the same ID
                bclass[0] |= 1 << (int)EClass.Novice;
                bclass[1] |= 1 << (int)EClass.Novice;
            }
            for (int i = (int)ECharacterClass.Novice + 1; i <= (int)ECharacterClass.Thief; i++)
            {
                if ((jobmask & mClassBits[(ECharacterClass)i]) == mClassBits[(ECharacterClass)i])
                {
                    bclass[0] |= 1 << ((int)EClass.Novice + i);
                }
            }
            // 2-1 classes
            if ((jobmask & mClassBits[ECharacterClass.Knight]) == mClassBits[ECharacterClass.Knight])
            {
                bclass[1] |= 1 << (int)EClass.Swordman;
            }
            if ((jobmask & mClassBits[ECharacterClass.Priest]) == mClassBits[ECharacterClass.Priest])
            {
                bclass[1] |= 1 << (int)EClass.Acolyte;
            }
            if ((jobmask & mClassBits[ECharacterClass.Wizard]) == mClassBits[ECharacterClass.Wizard])
            {
                bclass[1] |= 1 << (int)EClass.Mage;
            }
            if ((jobmask & mClassBits[ECharacterClass.Blacksmith]) == mClassBits[ECharacterClass.Blacksmith])
            {
                bclass[1] |= 1 << (int)EClass.Merchant;
            }
            if ((jobmask & mClassBits[ECharacterClass.Hunter]) == mClassBits[ECharacterClass.Hunter])
            {
                bclass[1] |= 1 << (int)EClass.Archer;
            }
            if ((jobmask & mClassBits[ECharacterClass.Assassin]) == mClassBits[ECharacterClass.Assassin])
            {
                bclass[1] |= 1 << (int)EClass.Thief;
            }
            // 2-2 classes
            if ((jobmask & mClassBits[ECharacterClass.Crusader]) == mClassBits[ECharacterClass.Crusader])
            {
                bclass[2] |= 1 << (int)EClass.Swordman;
            }
            if ((jobmask & mClassBits[ECharacterClass.Monk]) == mClassBits[ECharacterClass.Monk])
            {
                bclass[2] |= 1 << (int)EClass.Acolyte;
            }
            if ((jobmask & mClassBits[ECharacterClass.Sage]) == mClassBits[ECharacterClass.Sage])
            {
                bclass[2] |= 1 << (int)EClass.Mage;
            }
            if ((jobmask & mClassBits[ECharacterClass.Alchemist]) == mClassBits[ECharacterClass.Alchemist])
            {
                bclass[2] |= 1 << (int)EClass.Merchant;
            }
            if ((jobmask & mClassBits[ECharacterClass.Bard]) == mClassBits[ECharacterClass.Bard])
            {
                bclass[2] |= 1 << (int)EClass.Archer;
            }
            //	Bard/Dancer share the same slot now.
            //	if ((jobmask & mClassBits[ECharacterClass.DANCER]) == mClassBits[ECharacterClass.DANCER])
            //		bclass[2] |= 1<<EClass.ARCHER;
            if ((jobmask & mClassBits[ECharacterClass.Rogue]) == mClassBits[ECharacterClass.Rogue])
            {
                bclass[2] |= 1 << (int)EClass.Thief;
            }
            // Special classes that don't fit above.
            if ((jobmask & 1 << 21) == 1 << 21)             //Taekwon boy
            {
                bclass[0] |= 1 << (int)EClass.Taekwon;
            }
            if ((jobmask & 1 << 22) == 1 << 22)             //Star Gladiator
            {
                bclass[1] |= 1 << (int)EClass.Taekwon;
            }
            if ((jobmask & 1 << 23) == 1 << 23)             //Soul Linker
            {
                bclass[2] |= 1 << (int)EClass.Taekwon;
            }
            if ((jobmask & mClassBits[ECharacterClass.Gunslinger]) == mClassBits[ECharacterClass.Gunslinger])
            {
                bclass[0] |= 1 << (int)EClass.Gunslinger;
            }
            if ((jobmask & mClassBits[ECharacterClass.Ninja]) == mClassBits[ECharacterClass.Ninja])
            {
                bclass[0] |= 1 << (int)EClass.Ninja;
            }

            return(bclass);
        }
Exemple #6
0
 public AddToTeamAction(string characterName, ECharacterClass characterClass)
 {
     m_CharacterName  = characterName;
     m_CharacterClass = characterClass;
 }