示例#1
0
        public override void Deserialize(System.IO.BinaryReader r)
        {
            base.Deserialize(r);
            invincible   = r.ReadBoolean();
            sex          = (PeSex)r.ReadInt32();
            m_OwnerID    = r.ReadInt32();
            m_Race       = (ERace)r.ReadInt32();
            m_Identity   = (EIdentity)r.ReadInt32();
            m_ItemDropId = r.ReadInt32();

            if (Entity.version < PeEntity.VERSION_0002)
            {
                int entityPrototype   = r.ReadInt32();
                int entityPrototypeId = r.ReadInt32();

                if (entityPrototype != -1)
                {
                    Entity.entityProto = new EntityProto()
                    {
                        proto   = (EEntityProto)entityPrototype,
                        protoId = entityPrototypeId
                    };
                }
            }
        }
示例#2
0
        private Int32 UpdateAbilities(ERace p_race)
        {
            for (Int32 i = 0; i < 3; i++)
            {
                m_abilities[i].text        = String.Empty;
                m_abilitiesHeaders[i].text = String.Empty;
                NGUITools.SetActive(m_abilityIcons[i].gameObject, false);
                NGUITools.SetActive(m_borders[i].gameObject, false);
            }
            Int32 num = 0;
            List <RacialAbilitiesStaticData> list = new List <RacialAbilitiesStaticData>(StaticDataHandler.GetIterator <RacialAbilitiesStaticData>(EDataType.RACIAL_ABILITIES));

            foreach (RacialAbilitiesStaticData racialAbilitiesStaticData in list)
            {
                if (racialAbilitiesStaticData.Race == p_race)
                {
                    m_abilities[num].text          = racialAbilitiesStaticData.GetDescription();
                    m_abilitiesHeaders[num].text   = LocaManager.GetText(racialAbilitiesStaticData.NameKey);
                    m_abilityIcons[num].spriteName = racialAbilitiesStaticData.Icon;
                    NGUITools.SetActive(m_abilityIcons[num].gameObject, true);
                    NGUITools.SetActive(m_borders[num].gameObject, true);
                    num++;
                }
            }
            return(num);
        }
示例#3
0
        public override void ReadFromFile()
        {
            foreach (var path in this._paths)
            {
                var   table = RaceParamsTable.Instance as RaceParamsTable;
                var   doc   = XDocument.Load(path);
                ERace race  = ERace.None;

                foreach (var el in doc.Root.Elements())
                {
                    foreach (var att in el.Attributes())
                    {
                        EnumUtil <ERace> .TryGetEnumValue(att.Value, ref race);

                        if (!table.Table.ContainsKey(race))
                        {
                            table.Table.Add(race, new RaceParams());
                        }

                        foreach (var ele in el.Elements())
                        {
                            switch (ele.Name.ToString())
                            {
                            case ("Perks"): { this.HandlePerks(ele, race); } break;

                            case ("PrimaryStats"): { PrimaryStatsParser.ParseXElementForStats(ele, table.Table[race].PrimaryStats); } break;

                            case ("Sprites"): { this.HandleSprites(ele, table.Table[race].Sprites); } break;
                            }
                        }
                    }
                }
            }
        }
示例#4
0
 private void HandleRace(string rootKey, string value, ref ERace race)
 {
     if (EnumUtil <ERace> .TryGetEnumValue(value, ref race))
     {
         table.Table[rootKey].Race = race;
     }
 }
示例#5
0
        private List <EClass> GetClassListForRace(ERace p_race)
        {
            List <EClass> list = new List <EClass>();

            if (p_race == ERace.HUMAN)
            {
                AddClassIfAvailable(list, EClass.MERCENARY);
                AddClassIfAvailable(list, EClass.CRUSADER);
                AddClassIfAvailable(list, EClass.FREEMAGE);
            }
            if (p_race == ERace.ELF)
            {
                AddClassIfAvailable(list, EClass.BLADEDANCER);
                AddClassIfAvailable(list, EClass.RANGER);
                AddClassIfAvailable(list, EClass.DRUID);
            }
            if (p_race == ERace.DWARF)
            {
                AddClassIfAvailable(list, EClass.DEFENDER);
                AddClassIfAvailable(list, EClass.SCOUT);
                AddClassIfAvailable(list, EClass.RUNEPRIEST);
            }
            if (p_race == ERace.ORC)
            {
                AddClassIfAvailable(list, EClass.BARBARIAN);
                AddClassIfAvailable(list, EClass.HUNTER);
                AddClassIfAvailable(list, EClass.SHAMAN);
            }
            return(list);
        }
        private static void GenerateAudioID(DummyCharacter character, String barkClipname, out String category, out String audioID)
        {
            String text = character.Race.ToString().ToLowerInvariant();

            text = Char.ToUpperInvariant(text[0]) + text.Remove(0, 1);
            String text2 = character.Gender.ToString().ToLowerInvariant();

            text2 = Char.ToUpperInvariant(text2[0]) + text2.Remove(0, 1);
            String text3 = character.Voice.ToString().ToLowerInvariant();

            text3    = Char.ToUpperInvariant(text3[0]) + text3.Remove(0, 1);
            category = "Bark" + text + text2 + text3;
            audioID  = String.Concat(new String[]
            {
                text,
                "_",
                text2,
                "_",
                text3,
                "_",
                barkClipname
            });
            m_LastRace         = character.Race;
            m_LastGender       = character.Gender;
            m_LastVoiceSetting = character.Voice;
            m_LastPlayedBark   = audioID;
        }
示例#7
0
 private void HandlePerks(XElement el, ERace race)
 {
     foreach (var ele in el.Elements())
     {
         PerkParser.ParseRacialPerk(el.Value, race);
     }
 }
示例#8
0
 public Group(ERace Name) : base(Name)
 {
     this.Name    = ERace.Squad;
     GroupContent = new List <Component>()
     {
     };
 }
示例#9
0
        public Sprite GetHumanoidFlinchEyes(ERace race)
        {
            var path    = StringUtil.PathBuilder(CHARACTER_PATH, race.ToString(), EXTENSION);
            var sprites = GetSprites(path);
            var index   = RaceParamsTable.Instance.Table[race].Sprites.Flinch;

            return(sprites[index[0]]);
        }
示例#10
0
 public MyQuest(uint id, QuestAction questAction, ERace race, EClass _class)
 {
     Id = id;
     Race.Add(race);
     Class.Add(_class);
     QuestAction = questAction;
     Team        = ETeam.Other;
     Index       = -2;
 }
示例#11
0
 /// <summary>
 /// Class Constructor
 /// </summary>
 public CharacterData(long IdIn, string NameIn, string FlavorIn, ERace RaceIn, EClass ClassIn, EGender GenderIn, decimal ActivatedIn)
 {
     Id        = IdIn;
     Name      = NameIn;
     Flavor    = FlavorIn;
     Race      = RaceIn;
     Class     = ClassIn;
     Gender    = GenderIn;
     Activated = ActivatedIn;
 }
示例#12
0
 public void SetSelected(ERace p_race)
 {
     m_selected = (m_race == p_race);
     if (m_selected)
     {
         TweenColor.Begin(m_BG.gameObject, 0.1f, (!m_isHovered) ? m_selectionColor : m_selectionHoverColor);
     }
     else
     {
         TweenColor.Begin(m_BG.gameObject, 0.1f, (!m_isHovered) ? m_pBackgroundNormalColor : m_hoverColor);
     }
 }
示例#13
0
        public static void ParseRacialPerk(string value, ERace race)
        {
            var perk = EPerk.None;

            if (EnumUtil <EPerk> .TryGetEnumValue(value, ref perk))
            {
                if (!RaceParamsTable.Instance.Table.ContainsKey(race))
                {
                    RaceParamsTable.Instance.Table.Add(race, new RaceParams());
                }

                RaceParamsTable.Instance.Table[race].DefaultPerks.Add(perk);
            }
        }
示例#14
0
        private void OnRaceSelected(Object p_sender, EventArgs p_args)
        {
            DummyCharacter selectedDummyCharacter = m_partyCreator.GetSelectedDummyCharacter();
            ERace          race = (p_sender as RaceSelectButton).Race;

            if (race != selectedDummyCharacter.Race)
            {
                selectedDummyCharacter.Race  = race;
                selectedDummyCharacter.Class = EClass.NONE;
            }
            UpdateButtons();
            UpdateDescription();
            StatusChangedEventArgs p_eventArgs = new StatusChangedEventArgs(StatusChangedEventArgs.EChangeType.CONDITIONS);

            LegacyLogic.Instance.EventManager.InvokeEvent(selectedDummyCharacter, EEventType.DUMMY_CHARACTER_STATUS_CHANGED, p_eventArgs);
        }
示例#15
0
 public MChar(ERace race) : base()
 {
     this._race        = race;
     this._abilities   = new CharAbilities();
     this._actionFlags = new FActionStatus();
     this._baseClasses = new Dictionary <EClass, MClass>();
     this._baseStats   = new BaseStats();
     this._curStats    = new CharStats();
     this._effects     = new CharEffects();
     this._equipment   = new ACharEquipment(this);
     this._statusFlags = new FCharacterStatus();
     this._statMods    = new CharStatMods();
     this._perks       = new CharPerks();
     this._points      = new CurrentPoints(this);
     this._linkedZones = new List <AZone>();
 }
示例#16
0
 public CharacterClassStaticData()
 {
     m_nameKey            = null;
     m_race               = ERace.NONE;
     m_defaultFemaleNames = null;
     m_defaultMaleNames   = null;
     m_expertSkills       = null;
     m_masterSkills       = null;
     m_grandMasterSkills  = null;
     m_resAir             = 0;
     m_resEarth           = 0;
     m_resFire            = 0;
     m_resWater           = 0;
     m_resDark            = 0;
     m_resLight           = 0;
     m_resPrimordial      = 0;
 }
示例#17
0
 public DummyCharacter()
 {
     m_name           = String.Empty;
     m_race           = ERace.NONE;
     m_class          = EClass.NONE;
     m_portraitID     = 0;
     m_gender         = EGender.NOT_SELECTED;
     m_voice          = ((Random.Range(0, 100) <= 50) ? EVoice.CYNICAL : EVoice.HEROIC);
     m_selectedSkills = new Int32[4];
     for (Int32 i = 0; i < 4; i++)
     {
         m_selectedSkills[i] = -1;
     }
     ResetAttributes();
     m_lastConfirmedStep = -1;
     m_customName        = false;
 }
示例#18
0
        public void UpdateTexture(ERace p_race, EClass p_class)
        {
            String text;

            if (p_race == ERace.HUMAN)
            {
                text = "PIC_head_human";
            }
            else if (p_race == ERace.ELF)
            {
                text = "PIC_head_elf";
            }
            else if (p_race == ERace.DWARF)
            {
                text = "PIC_head_dwarf";
            }
            else
            {
                text = "PIC_head_orc";
            }
            if (m_gender == EGender.MALE)
            {
                text += "_male_";
            }
            else
            {
                text += "_female_";
            }
            text = text + m_picIndex.ToString() + "_idle";
            m_Portrait.spriteName = text;
            CharacterClassStaticData staticData = StaticDataHandler.GetStaticData <CharacterClassStaticData>(EDataType.CHARACTER_CLASS, (Int32)p_class);
            String text2 = staticData.BodyBase;

            if (m_gender == EGender.MALE)
            {
                text2 += "_male";
            }
            else
            {
                text2 += "_female";
            }
            m_body.spriteName = text2;
        }
示例#19
0
        private Character GetCharByRace(ERace p_race)
        {
            List <Character> list  = new List <Character>();
            Party            party = LegacyLogic.Instance.WorldManager.Party;

            for (Int32 i = 0; i < 4; i++)
            {
                Character member = party.GetMember(i);
                if (member.Class.Race == p_race)
                {
                    list.Add(member);
                }
            }
            if (list.Count > 0)
            {
                return(list[Random.Range(0, list.Count - 1)]);
            }
            return(party.GetMember(Random.Range(0, 3)));
        }
示例#20
0
 public CharacterClass(EClass p_class)
 {
     m_class             = p_class;
     m_data              = StaticDataHandler.GetStaticData <CharacterClassStaticData>(EDataType.CHARACTER_CLASS, (Int32)p_class);
     m_race              = m_data.Race;
     m_nameKey           = m_data.NameKey;
     m_advancedNameKey   = m_data.AdvancedNameKey;
     m_expertSkills      = m_data.ExpertSkills;
     m_masterSkills      = m_data.MasterSkills;
     m_grandMasterSkills = m_data.GrandMasterSkills;
     m_startSkills       = m_data.StartSkills;
     m_initialResistance = new ResistanceCollection();
     m_initialResistance.Add(m_data.ResAir);
     m_initialResistance.Add(m_data.ResEarth);
     m_initialResistance.Add(m_data.ResFire);
     m_initialResistance.Add(m_data.ResWater);
     m_initialResistance.Add(m_data.ResDark);
     m_initialResistance.Add(m_data.ResLight);
     m_initialResistance.Add(m_data.ResPrimordial);
     m_initialAttributes = new Attributes(m_data.BaseMight, m_data.BaseMagic, m_data.BasePerception, m_data.BaseDestiny, m_data.BaseVitality, m_data.BaseSpirit, m_data.BaseHP, m_data.BaseMana);
 }
示例#21
0
 public RaceOptions(ERace race)
 {
     _race = race;
 }
示例#22
0
        public override void ReadFromFile()
        {
            foreach (var path in this._paths)
            {
                var doc = XDocument.Load(path);

                EClass    baseClass = EClass.None;
                ECharType type      = ECharType.None;
                ECulture  culture   = ECulture.None;
                ERace     race      = ERace.None;

                foreach (var el in doc.Root.Elements())
                {
                    foreach (var att in el.Attributes())
                    {
                        if (EnumUtil <ECulture> .TryGetEnumValue(att.Value, ref culture))
                        {
                            foreach (var ele in el.Elements())
                            {
                                foreach (var attr in ele.Attributes())
                                {
                                    string key = "";

                                    if (!table.Table.ContainsKey(attr.Value.ToString()))
                                    {
                                        key = attr.Value.ToString();

                                        table.Table.Add(key, new PreCharParams());
                                        table.Table[key].Name    = key;
                                        table.Table[key].Culture = culture;
                                    }
                                    foreach (var elem in ele.Elements())
                                    {
                                        switch (elem.Name.ToString())
                                        {
                                        case (PredefinedReaderParams.ABILITIES): { this.HandleAbilities(elem, key); } break;

                                        case (PredefinedReaderParams.AGENT_ROLE): { this.HandleAgentRole(key, elem.Value); } break;

                                        case (PredefinedReaderParams.ATTACK_SPRITE_INDEX): { this.HandleCritterAttackSpriteIndex(key, elem.Value.ToString()); } break;

                                        case (PredefinedReaderParams.CLASS): { this.HandleClassType(key, elem.Value.ToString(), ref baseClass); } break;

                                        case (PredefinedReaderParams.DEAD_SPRITE_INDEX): { this.HandleCritterDeadSpriteIndex(key, elem.Value.ToString()); } break;

                                        case (PredefinedReaderParams.FLINCH_SPRITE_INDEX): { this.HandleCritterFlinchSpriteIndex(key, elem.Value.ToString()); } break;

                                        case (PredefinedReaderParams.MOUNT): { this.HandleMount(key, elem.Value); } break;

                                        case (PredefinedReaderParams.PERKS): { this.HandlePerks(elem, key); } break;

                                        case (PredefinedReaderParams.POTENTIAL_ARMORS): { this.HandleEquipment(elem, key); } break;

                                        case (PredefinedReaderParams.POTENTIAL_WEAPONS): { this.HandleEquipment(elem, key); } break;

                                        case (PredefinedReaderParams.RACE): { this.HandleRace(key, elem.Value.ToString(), ref race); } break;

                                        case (PredefinedReaderParams.STATS): { this.HandleStats(elem, key); } break;

                                        case (PredefinedReaderParams.TYPE): { this.HandleCharacterType(key, elem.Value.ToString(), ref type); } break;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
示例#23
0
        public void TriggerBark()
        {
            if (AudioController.IsPlaying(m_LastPlayedBark))
            {
                AudioController.Stop(m_LastPlayedBark);
            }
            DummyCharacter selectedDummyCharacter = m_partyCreator.GetSelectedDummyCharacter();
            ERace          race   = selectedDummyCharacter.Race;
            EGender        gender = selectedDummyCharacter.Gender;
            EVoice         voice  = selectedDummyCharacter.Voice;
            Int32          num    = Random.Range(0, 8);
            Int32          num2   = num;

            if (num == num2)
            {
                if (num < 0)
                {
                    num--;
                }
                else
                {
                    num++;
                }
            }
            if (m_LastVoiceSetting != voice || m_LastGender != gender || m_LastRace != race)
            {
                m_FirstTime = true;
            }
            if (m_FirstTime)
            {
                num         = 9;
                m_FirstTime = false;
            }
            String barkClipname = String.Empty;

            switch (num)
            {
            case 0:
                barkClipname = "Monster";
                break;

            case 1:
                barkClipname = "Trap";
                break;

            case 2:
                barkClipname = "Quest";
                break;

            case 3:
                barkClipname = "Danger";
                break;

            case 4:
                barkClipname = "Secret";
                break;

            case 5:
                barkClipname = "Loot";
                break;

            case 6:
                barkClipname = "Rest";
                break;

            case 7:
                barkClipname = "Explore3";
                break;

            case 8:
                barkClipname = "Explore6";
                break;

            case 9:
                barkClipname = "ChooseMe";
                break;
            }
            String audioID;
            String text;

            GenerateAudioID(selectedDummyCharacter, barkClipname, out text, out audioID);
            AudioManager.Instance.RequestByAudioID(audioID, 0, delegate(AudioRequest a)
            {
                AudioController.Play(audioID);
            });
        }
示例#24
0
 public Player(String name, ERace race)
 {
     throw new System.NotImplementedException();
 }
示例#25
0
            public Talents(string user, string champion, ERace race, EChampionClass cl, List<ResourceId> talents)
                : base(user)
            {
                Race     = race;
                    Picks    = new List<NotifierTalentDefinition>();
                    Class    = cl;
                    Message  = GetMessageName();
                    Champion = champion;

                    foreach (ResourceId id in talents)
                        Picks.Add(new NotifierTalentDefinition(id));
            }
示例#26
0
 public void Init(ERace p_race)
 {
     m_race = p_race;
 }
示例#27
0
 public Soldier(ERace Name) : base(Name)
 {
 }
示例#28
0
 public Component(ERace Name)
 {
     this.Name = Name;
 }