public SpellsBook(PlayedCharacter owner)
 {
     if (owner == null) throw new ArgumentNullException("owner");
     Character = owner;
     m_spells = new ObservableCollectionMT<Spell>();
     m_readOnlySpells = new ReadOnlyObservableCollectionMT<Spell>(m_spells);
 }
        public PlayedCharacter(Bot bot, CharacterBaseInformations informations)
        {
            InformationLevel = MessageLevel.All;// MessageLevel.Warning | MessageLevel.Error;

            if (informations == null)
            {
                throw new ArgumentNullException("informations");
            }

            Bot = bot;

            Id    = informations.id;
            Level = informations.level;
            Name  = informations.name;
            Breed = new Breeds.Breed(ObjectDataManager.Instance.Get <Breed>(informations.breed));
            Look  = informations.entityLook;
            Sex   = informations.sex;

            Inventory        = new Inventory(this);
            Stats            = new Stats.PlayerStats(this);
            SpellsBook       = new SpellsBook(this);
            SpellShortcuts   = new SpellShortcutBar(this);
            GeneralShortcuts = new GeneralShortcutBar(this);

            m_jobs           = new ObservableCollectionMT <Job>();
            m_readOnlyJobs   = new ReadOnlyObservableCollectionMT <Job>(m_jobs);
            m_emotes         = new ObservableCollectionMT <Emoticon>();
            m_readOnlyEmotes = new ReadOnlyObservableCollectionMT <Emoticon>(m_emotes);
        }
Exemple #3
0
 private void HandleOption(HumanOption option)
 {
     if (option is HumanOptionEmote)
     {
         var emote = (HumanOptionEmote)option;
         Emote          = emote.emoteId > 0 ? ObjectDataManager.Instance.Get <Emoticon>(emote.emoteId) : null;
         EmoteStartTime = emote.emoteStartTime > 0 ? new DateTime?(emote.emoteStartTime.UnixTimestampToDateTime()) : null;
     }
     else if (option is HumanOptionFollowers)
     {
         m_followingCharactersLook = new ObservableCollectionMT <IndexedEntityLook>(((HumanOptionFollowers)option).followingCharactersLook);
     }
     else if (option is HumanOptionGuild)
     {
         // todo : guild
     }
     else if (option is HumanOptionOrnament)
     {
         // todo
     }
     else if (option is HumanOptionTitle)
     {
         // todo
     }
     else
     {
         throw new Exception(string.Format("Unattempt HumanOption type {0}", option.GetType()));
     }
 }
Exemple #4
0
        public override void Dispose()
        {
            m_followingCharactersLook.Clear();
            m_followingCharactersLook = null;

            base.Dispose();
        }
 public Inventory(PlayedCharacter owner)
 {
     if (owner == null) throw new ArgumentNullException("owner");
     Owner = owner;
     m_items = new ObservableCollectionMT<Item>();
     m_readOnlyItems = new ReadOnlyObservableCollectionMT<Item>(m_items);
     AutomaticallyDestroyItemsOnOverload = false;
 }
Exemple #6
0
 public SnifferViewModel(Bot bot)
     : base(bot)
 {
     m_messages         = new ObservableCollectionMT <ObjectDumpNode>();
     m_readOnlyMessages = new ReadOnlyObservableCollectionMT <ObjectDumpNode>(m_messages);
     IsPaused           = DefaultPaused;
     OnTheFly           = DefaultRecordOnTheFly;
 }
 public ItemToSellInNpcShop(ObjectItemToSellInNpcShop item)
     : base(item.objectGID)
 {
     Effects = new ObservableCollectionMT<ObjectEffect>(item.effects);
     PowerRate = item.powerRate;
     OverMax = item.overMax;
     ObjectPrice = item.objectPrice;
     BuyCriterion = item.buyCriterion;
 }
 public ItemNotInContainer(ObjectItemNotInContainer item)
     : base(item.objectGID)
 {
     Guid      = item.objectUID;
     Effects   = new ObservableCollectionMT <ObjectEffect>(item.effects);
     Quantity  = item.quantity;
     PowerRate = item.powerRate;
     OverMax   = item.overMax;
 }
Exemple #9
0
 public ItemToSellInNpcShop(ObjectItemToSellInNpcShop item)
     : base(item.objectGID)
 {
     Effects      = new ObservableCollectionMT <ObjectEffect>(item.effects);
     PowerRate    = item.powerRate;
     OverMax      = item.overMax;
     ObjectPrice  = item.objectPrice;
     BuyCriterion = item.buyCriterion;
 }
 public ItemNotInContainer(ObjectItemNotInContainer item)
     : base(item.objectGID)
 {
     Guid = item.objectUID;
     Effects = new ObservableCollectionMT<ObjectEffect>(item.effects);
     Quantity = item.quantity;
     PowerRate = item.powerRate;
     OverMax = item.overMax;
 }
 public ItemToSell(ObjectItemToSell item)
     : base(item.objectGID)
 {
     Guid = item.objectUID;
     Effects = new ObservableCollectionMT<ObjectEffect>(item.effects);
     Quantity = item.quantity;
     PowerRate = item.powerRate;
     OverMax = item.overMax;
     ObjectPrice = item.objectPrice;
 }
 public ShortcutBar(PlayedCharacter character)
 {
     if (character == null)
     {
         throw new ArgumentNullException("character");
     }
     Character           = character;
     m_shortcuts         = new ObservableCollectionMT <T>();
     m_readOnlyShortcuts = new ReadOnlyObservableCollectionMT <T>(m_shortcuts);
 }
Exemple #13
0
 public ItemToSell(ObjectItemToSell item)
     : base(item.objectGID)
 {
     Guid        = item.objectUID;
     Effects     = new ObservableCollectionMT <ObjectEffect>(item.effects);
     Quantity    = item.quantity;
     PowerRate   = item.powerRate;
     OverMax     = item.overMax;
     ObjectPrice = item.objectPrice;
 }
 public SpellsBook(PlayedCharacter owner)
 {
     if (owner == null)
     {
         throw new ArgumentNullException("owner");
     }
     Character        = owner;
     m_spells         = new ObservableCollectionMT <Spell>();
     m_readOnlySpells = new ReadOnlyObservableCollectionMT <Spell>(m_spells);
 }
Exemple #15
0
 public Item(ObjectItem item)
     : base(item.objectGID)
 {
     Guid = item.objectUID;
     m_effects = new ObservableCollectionMT<EffectBase>(item.effects.Select(EffectBase.CreateInstance));
     m_readOnlyEffects = new ReadOnlyObservableCollectionMT<EffectBase>(m_effects);
     Quantity = item.quantity;
     PowerRate = item.powerRate;
     OverMax = item.overMax;
     Position = (CharacterInventoryPositionEnum)item.position;
 }
Exemple #16
0
 public Inventory(PlayedCharacter owner)
 {
     if (owner == null)
     {
         throw new ArgumentNullException("owner");
     }
     Owner           = owner;
     m_items         = new ObservableCollectionMT <Item>();
     m_readOnlyItems = new ReadOnlyObservableCollectionMT <Item>(m_items);
     AutomaticallyDestroyItemsOnOverload = false;
 }
Exemple #17
0
 public Item(ObjectItem item)
     : base(item.objectGID)
 {
     Guid              = item.objectUID;
     m_effects         = new ObservableCollectionMT <EffectBase>(item.effects.Select(EffectBase.CreateInstance));
     m_readOnlyEffects = new ReadOnlyObservableCollectionMT <EffectBase>(m_effects);
     Quantity          = item.quantity;
     PowerRate         = item.powerRate;
     OverMax           = item.overMax;
     Position          = (CharacterInventoryPositionEnum)item.position;
 }
Exemple #18
0
        public Map(int id, string decryptionKey)
        {
            // decryption key not used ? oO
            m_map      = MapsManager.Instance.GetDlmMap(id, GenericDecryptionKey);
            m_position = ObjectDataManager.Instance.GetOrDefault <MapPosition>(id);
            IEnumerable <Cell> cells = m_map.Cells.Select(entry => new Cell(this, entry));

            m_cells = new CellList(cells.ToArray());

            InitializeElements();
            LoadSubMaps();

            m_interactives         = new ObservableCollectionMT <InteractiveObject>();
            m_readOnlyInteractives = new ReadOnlyObservableCollectionMT <InteractiveObject>(m_interactives);
        }
        public InteractiveObject(Map map, InteractiveElement interactive)
        {
            if (map == null) throw new ArgumentNullException("map");
            if (interactive == null) throw new ArgumentNullException("interactive");
            Id = interactive.elementId;
            Type = interactive.elementTypeId > 0 ? ObjectDataManager.Instance.Get<Interactive>(interactive.elementTypeId) : null;

            Map = map;

            m_enabledSkills = new ObservableCollectionMT<InteractiveSkill>(interactive.enabledSkills.Select(x => new InteractiveSkill(this, x)));
            m_readOnlyEnabledSkills = new ReadOnlyObservableCollectionMT<InteractiveSkill>(m_enabledSkills);

            m_disabledSkills = new ObservableCollectionMT<InteractiveSkill>(interactive.disabledSkills.Select(x => new InteractiveSkill(this, x)));
            m_readOnlyDisabledSkills = new ReadOnlyObservableCollectionMT<InteractiveSkill>(m_disabledSkills);
        }
        public InteractiveObject(Map map, InteractiveElement interactive)
        {
            if (map == null)
            {
                throw new ArgumentNullException("map");
            }
            if (interactive == null)
            {
                throw new ArgumentNullException("interactive");
            }
            Id   = interactive.elementId;
            Type = interactive.elementTypeId > 0 ? ObjectDataManager.Instance.Get <Interactive>(interactive.elementTypeId) : null;

            Map = map;

            m_enabledSkills         = new ObservableCollectionMT <InteractiveSkill>(interactive.enabledSkills.Select(x => new InteractiveSkill(this, x)));
            m_readOnlyEnabledSkills = new ReadOnlyObservableCollectionMT <InteractiveSkill>(m_enabledSkills);

            m_disabledSkills         = new ObservableCollectionMT <InteractiveSkill>(interactive.disabledSkills.Select(x => new InteractiveSkill(this, x)));
            m_readOnlyDisabledSkills = new ReadOnlyObservableCollectionMT <InteractiveSkill>(m_disabledSkills);
        }
        public PlayedCharacter(Bot bot, CharacterBaseInformations informations)
        {
            InformationLevel = MessageLevel.All;// MessageLevel.Warning | MessageLevel.Error;

            if (informations == null) throw new ArgumentNullException("informations");

            Bot = bot;

            Id = informations.id;
            Level = informations.level;
            Name = informations.name;
            Breed = new Breeds.Breed(ObjectDataManager.Instance.Get<Breed>(informations.breed));
            Look = informations.entityLook;
            Sex = informations.sex;

            Inventory = new Inventory(this);
            Stats = new Stats.PlayerStats(this);
            SpellsBook = new SpellsBook(this);
            SpellShortcuts = new SpellShortcutBar(this);
            GeneralShortcuts = new GeneralShortcutBar(this);

            m_jobs = new ObservableCollectionMT<Job>();
            m_readOnlyJobs = new ReadOnlyObservableCollectionMT<Job>(m_jobs);
            m_emotes = new ObservableCollectionMT<Emoticon>();
            m_readOnlyEmotes = new ReadOnlyObservableCollectionMT<Emoticon>(m_emotes);
        }
 public MapContext()
 {
     _collectionActors = new ObservableCollectionMT <T>();
     _readOnlyActors   = new ReadOnlyObservableCollectionMT <T>(_collectionActors);
     _trappedCells     = new SortedList <int, SortedSet <short> >();
 }
 public PlayerStats()
 {
   Fields = new Dictionary<PlayerField, StatsRow>
             {
                 {PlayerField.Initiative, new StatsRow(PlayerField.Initiative, x => OnPropertyChanged("Initiative"))},
                 {PlayerField.Prospecting, new StatsRow(PlayerField.Prospecting)},
                 {PlayerField.AP, new StatsRow(PlayerField.AP, x =>
                     {
                         OnPropertyChanged("MaxAP");
                         OnPropertyChanged("AP");
                     })
                     },
                 {
                     PlayerField.MP, new StatsRow(PlayerField.MP, x =>
                         {
                             OnPropertyChanged("MaxMP");
                             OnPropertyChanged("MP");
                         })
                     },
                 {PlayerField.Strength, new StatsRow(PlayerField.Strength, x => OnPropertyChanged("Strength"))},
                 {PlayerField.Vitality, new StatsRow(PlayerField.Vitality, x => OnPropertyChanged("Vitality"))},
                 {PlayerField.Wisdom, new StatsRow(PlayerField.Wisdom, x => OnPropertyChanged("Wisdom"))},
                 {PlayerField.Chance, new StatsRow(PlayerField.Chance, x => OnPropertyChanged("Chance"))},
                 {PlayerField.Agility, new StatsRow(PlayerField.Agility, x => OnPropertyChanged("Agility"))},
                 {PlayerField.Intelligence, new StatsRow(PlayerField.Intelligence, x => OnPropertyChanged("Intelligence"))},
                 {PlayerField.Range, new StatsRow(PlayerField.Range, x => OnPropertyChanged("Range"))},
                 {PlayerField.SummonLimit, new StatsRow(PlayerField.SummonLimit)},
                 {PlayerField.DamageReflection, new StatsRow(PlayerField.DamageReflection)},
                 {PlayerField.CriticalHit, new StatsRow(PlayerField.CriticalHit)},
                 {PlayerField.CriticalMiss, new StatsRow(PlayerField.CriticalMiss)},
                 {PlayerField.HealBonus, new StatsRow(PlayerField.HealBonus)},
                 {PlayerField.DamageBonus, new StatsRow(PlayerField.DamageBonus)},
                 {PlayerField.WeaponDamageBonusPercent, new StatsRow(PlayerField.WeaponDamageBonusPercent)},
                 {PlayerField.DamageBonusPercent, new StatsRow(PlayerField.DamageBonusPercent)},
                 {PlayerField.TrapBonus, new StatsRow(PlayerField.TrapBonus)},
                 {PlayerField.TrapBonusPercent, new StatsRow(PlayerField.TrapBonusPercent)},
                 {PlayerField.PermanentDamagePercent, new StatsRow(PlayerField.PermanentDamagePercent, x => OnPropertyChanged("PermanentDamagePercent"))},
                 {PlayerField.TackleBlock, new StatsRow(PlayerField.TackleBlock, x => OnPropertyChanged("TackleBlock"))},
                 {PlayerField.TackleEvade, new StatsRow(PlayerField.TackleEvade, x => OnPropertyChanged("TackleEvade"))},
                 {PlayerField.APAttack, new StatsRow(PlayerField.APAttack)},
                 {PlayerField.MPAttack, new StatsRow(PlayerField.MPAttack)},
                 {PlayerField.PushDamageBonus, new StatsRow(PlayerField.PushDamageBonus)},
                 {PlayerField.CriticalDamageBonus, new StatsRow(PlayerField.CriticalDamageBonus)},
                 {PlayerField.NeutralDamageBonus, new StatsRow(PlayerField.NeutralDamageBonus)},
                 {PlayerField.EarthDamageBonus, new StatsRow(PlayerField.EarthDamageBonus)},
                 {PlayerField.WaterDamageBonus, new StatsRow(PlayerField.WaterDamageBonus)},
                 {PlayerField.AirDamageBonus, new StatsRow(PlayerField.AirDamageBonus)},
                 {PlayerField.FireDamageBonus, new StatsRow(PlayerField.FireDamageBonus)},
                 {PlayerField.DodgeAPProbability, new StatsRow(PlayerField.DodgeAPProbability, x => OnPropertyChanged("DodgeAPProbability"))},
                 {PlayerField.DodgeMPProbability, new StatsRow(PlayerField.DodgeMPProbability, x => OnPropertyChanged("DodgeMPProbability"))},
                 {PlayerField.NeutralResistPercent, new StatsRow(PlayerField.NeutralResistPercent, x => OnPropertyChanged("NeutralResistPercent"))},
                 {PlayerField.EarthResistPercent, new StatsRow(PlayerField.EarthResistPercent, x => OnPropertyChanged("EarthResistPercent"))},
                 {PlayerField.WaterResistPercent, new StatsRow(PlayerField.WaterResistPercent, x => OnPropertyChanged("WaterResistPercent"))},
                 {PlayerField.AirResistPercent, new StatsRow(PlayerField.AirResistPercent, x => OnPropertyChanged("AirResistPercent"))},
                 {PlayerField.FireResistPercent, new StatsRow(PlayerField.FireResistPercent, x => OnPropertyChanged("FireResistPercent"))},
                 {PlayerField.NeutralElementReduction, new StatsRow(PlayerField.NeutralElementReduction, x => OnPropertyChanged("NeutralElementReduction"))},
                 {PlayerField.EarthElementReduction, new StatsRow(PlayerField.EarthElementReduction, x => OnPropertyChanged("EarthElementReduction"))},
                 {PlayerField.WaterElementReduction, new StatsRow(PlayerField.WaterElementReduction, x => OnPropertyChanged("WaterElementReduction"))},
                 {PlayerField.AirElementReduction, new StatsRow(PlayerField.AirElementReduction, x => OnPropertyChanged("AirElementReduction"))},
                 {PlayerField.FireElementReduction, new StatsRow(PlayerField.FireElementReduction, x => OnPropertyChanged("FireElementReduction"))},
                 {PlayerField.PushDamageReduction, new StatsRow(PlayerField.PushDamageReduction)},
                 {PlayerField.CriticalDamageReduction, new StatsRow(PlayerField.CriticalDamageReduction)},
                 {PlayerField.PvpNeutralResistPercent, new StatsRow(PlayerField.PvpNeutralResistPercent, x => OnPropertyChanged("NeutralResistPercent"))},
                 {PlayerField.PvpEarthResistPercent, new StatsRow(PlayerField.PvpEarthResistPercent, x => OnPropertyChanged("EarthResistPercent"))},
                 {PlayerField.PvpWaterResistPercent, new StatsRow(PlayerField.PvpWaterResistPercent, x => OnPropertyChanged("WaterResistPercent"))},
                 {PlayerField.PvpAirResistPercent, new StatsRow(PlayerField.PvpAirResistPercent, x => OnPropertyChanged("AirResistPercent"))},
                 {PlayerField.PvpFireResistPercent, new StatsRow(PlayerField.PvpFireResistPercent, x => OnPropertyChanged("FireResistPercent"))},
                 {PlayerField.PvpNeutralElementReduction, new StatsRow(PlayerField.PvpNeutralElementReduction, x => OnPropertyChanged("NeutralElementReduction"))},
                 {PlayerField.PvpEarthElementReduction, new StatsRow(PlayerField.PvpEarthElementReduction, x => OnPropertyChanged("EarthElementReduction"))},
                 {PlayerField.PvpWaterElementReduction, new StatsRow(PlayerField.PvpWaterElementReduction, x => OnPropertyChanged("WaterElementReduction"))},
                 {PlayerField.PvpAirElementReduction, new StatsRow(PlayerField.PvpAirElementReduction, x => OnPropertyChanged("AirElementReduction"))},
                 {PlayerField.PvpFireElementReduction, new StatsRow(PlayerField.PvpFireElementReduction, x => OnPropertyChanged("FireElementReduction"))},
             };
   SpellsModifications = new ObservableCollectionMT<SpellModification>();
   InvisibilityState = GameActionFightInvisibilityStateEnum.VISIBLE;
 }
Exemple #24
0
 public PlayerStats()
 {
     Fields = new Dictionary <PlayerField, StatsRow>
     {
         { PlayerField.Initiative, new StatsRow(PlayerField.Initiative, x => OnPropertyChanged("Initiative")) },
         { PlayerField.Prospecting, new StatsRow(PlayerField.Prospecting) },
         { PlayerField.AP, new StatsRow(PlayerField.AP, x =>
             {
                 OnPropertyChanged("MaxAP");
                 OnPropertyChanged("AP");
             }) },
         {
             PlayerField.MP, new StatsRow(PlayerField.MP, x =>
             {
                 OnPropertyChanged("MaxMP");
                 OnPropertyChanged("MP");
             })
         },
         { PlayerField.Strength, new StatsRow(PlayerField.Strength, x => OnPropertyChanged("Strength")) },
         { PlayerField.Vitality, new StatsRow(PlayerField.Vitality, x => OnPropertyChanged("Vitality")) },
         { PlayerField.Wisdom, new StatsRow(PlayerField.Wisdom, x => OnPropertyChanged("Wisdom")) },
         { PlayerField.Chance, new StatsRow(PlayerField.Chance, x => OnPropertyChanged("Chance")) },
         { PlayerField.Agility, new StatsRow(PlayerField.Agility, x => OnPropertyChanged("Agility")) },
         { PlayerField.Intelligence, new StatsRow(PlayerField.Intelligence, x => OnPropertyChanged("Intelligence")) },
         { PlayerField.Range, new StatsRow(PlayerField.Range, x => OnPropertyChanged("Range")) },
         { PlayerField.SummonLimit, new StatsRow(PlayerField.SummonLimit) },
         { PlayerField.DamageReflection, new StatsRow(PlayerField.DamageReflection) },
         { PlayerField.CriticalHit, new StatsRow(PlayerField.CriticalHit) },
         { PlayerField.CriticalMiss, new StatsRow(PlayerField.CriticalMiss) },
         { PlayerField.HealBonus, new StatsRow(PlayerField.HealBonus) },
         { PlayerField.DamageBonus, new StatsRow(PlayerField.DamageBonus) },
         { PlayerField.WeaponDamageBonusPercent, new StatsRow(PlayerField.WeaponDamageBonusPercent) },
         { PlayerField.DamageBonusPercent, new StatsRow(PlayerField.DamageBonusPercent) },
         { PlayerField.TrapBonus, new StatsRow(PlayerField.TrapBonus) },
         { PlayerField.TrapBonusPercent, new StatsRow(PlayerField.TrapBonusPercent) },
         { PlayerField.PermanentDamagePercent, new StatsRow(PlayerField.PermanentDamagePercent, x => OnPropertyChanged("PermanentDamagePercent")) },
         { PlayerField.TackleBlock, new StatsRow(PlayerField.TackleBlock, x => OnPropertyChanged("TackleBlock")) },
         { PlayerField.TackleEvade, new StatsRow(PlayerField.TackleEvade, x => OnPropertyChanged("TackleEvade")) },
         { PlayerField.APAttack, new StatsRow(PlayerField.APAttack) },
         { PlayerField.MPAttack, new StatsRow(PlayerField.MPAttack) },
         { PlayerField.PushDamageBonus, new StatsRow(PlayerField.PushDamageBonus) },
         { PlayerField.CriticalDamageBonus, new StatsRow(PlayerField.CriticalDamageBonus) },
         { PlayerField.NeutralDamageBonus, new StatsRow(PlayerField.NeutralDamageBonus) },
         { PlayerField.EarthDamageBonus, new StatsRow(PlayerField.EarthDamageBonus) },
         { PlayerField.WaterDamageBonus, new StatsRow(PlayerField.WaterDamageBonus) },
         { PlayerField.AirDamageBonus, new StatsRow(PlayerField.AirDamageBonus) },
         { PlayerField.FireDamageBonus, new StatsRow(PlayerField.FireDamageBonus) },
         { PlayerField.DodgeAPProbability, new StatsRow(PlayerField.DodgeAPProbability, x => OnPropertyChanged("DodgeAPProbability")) },
         { PlayerField.DodgeMPProbability, new StatsRow(PlayerField.DodgeMPProbability, x => OnPropertyChanged("DodgeMPProbability")) },
         { PlayerField.NeutralResistPercent, new StatsRow(PlayerField.NeutralResistPercent, x => OnPropertyChanged("NeutralResistPercent")) },
         { PlayerField.EarthResistPercent, new StatsRow(PlayerField.EarthResistPercent, x => OnPropertyChanged("EarthResistPercent")) },
         { PlayerField.WaterResistPercent, new StatsRow(PlayerField.WaterResistPercent, x => OnPropertyChanged("WaterResistPercent")) },
         { PlayerField.AirResistPercent, new StatsRow(PlayerField.AirResistPercent, x => OnPropertyChanged("AirResistPercent")) },
         { PlayerField.FireResistPercent, new StatsRow(PlayerField.FireResistPercent, x => OnPropertyChanged("FireResistPercent")) },
         { PlayerField.NeutralElementReduction, new StatsRow(PlayerField.NeutralElementReduction, x => OnPropertyChanged("NeutralElementReduction")) },
         { PlayerField.EarthElementReduction, new StatsRow(PlayerField.EarthElementReduction, x => OnPropertyChanged("EarthElementReduction")) },
         { PlayerField.WaterElementReduction, new StatsRow(PlayerField.WaterElementReduction, x => OnPropertyChanged("WaterElementReduction")) },
         { PlayerField.AirElementReduction, new StatsRow(PlayerField.AirElementReduction, x => OnPropertyChanged("AirElementReduction")) },
         { PlayerField.FireElementReduction, new StatsRow(PlayerField.FireElementReduction, x => OnPropertyChanged("FireElementReduction")) },
         { PlayerField.PushDamageReduction, new StatsRow(PlayerField.PushDamageReduction) },
         { PlayerField.CriticalDamageReduction, new StatsRow(PlayerField.CriticalDamageReduction) },
         { PlayerField.PvpNeutralResistPercent, new StatsRow(PlayerField.PvpNeutralResistPercent, x => OnPropertyChanged("NeutralResistPercent")) },
         { PlayerField.PvpEarthResistPercent, new StatsRow(PlayerField.PvpEarthResistPercent, x => OnPropertyChanged("EarthResistPercent")) },
         { PlayerField.PvpWaterResistPercent, new StatsRow(PlayerField.PvpWaterResistPercent, x => OnPropertyChanged("WaterResistPercent")) },
         { PlayerField.PvpAirResistPercent, new StatsRow(PlayerField.PvpAirResistPercent, x => OnPropertyChanged("AirResistPercent")) },
         { PlayerField.PvpFireResistPercent, new StatsRow(PlayerField.PvpFireResistPercent, x => OnPropertyChanged("FireResistPercent")) },
         { PlayerField.PvpNeutralElementReduction, new StatsRow(PlayerField.PvpNeutralElementReduction, x => OnPropertyChanged("NeutralElementReduction")) },
         { PlayerField.PvpEarthElementReduction, new StatsRow(PlayerField.PvpEarthElementReduction, x => OnPropertyChanged("EarthElementReduction")) },
         { PlayerField.PvpWaterElementReduction, new StatsRow(PlayerField.PvpWaterElementReduction, x => OnPropertyChanged("WaterElementReduction")) },
         { PlayerField.PvpAirElementReduction, new StatsRow(PlayerField.PvpAirElementReduction, x => OnPropertyChanged("AirElementReduction")) },
         { PlayerField.PvpFireElementReduction, new StatsRow(PlayerField.PvpFireElementReduction, x => OnPropertyChanged("FireElementReduction")) },
     };
     SpellsModifications = new ObservableCollectionMT <SpellModification>();
     InvisibilityState   = GameActionFightInvisibilityStateEnum.VISIBLE;
 }
Exemple #25
0
 private void HandleOption(HumanOption option)
 {
     if (option is HumanOptionEmote)
     {
         var emote = (HumanOptionEmote)option;
         Emote = emote.emoteId > 0 ? ObjectDataManager.Instance.Get<Emoticon>(emote.emoteId) : null;
         EmoteStartTime = emote.emoteStartTime > 0 ? new DateTime?(emote.emoteStartTime.UnixTimestampToDateTime()) : null;
     }
     else if (option is HumanOptionFollowers)
     {
         m_followingCharactersLook = new ObservableCollectionMT<IndexedEntityLook>(( (HumanOptionFollowers)option ).followingCharactersLook);
     }
     else if (option is HumanOptionGuild)
     {
         // todo : guild
     }
     else if (option is HumanOptionOrnament)
     {
          // todo
     }
     else if (option is HumanOptionTitle)
     {
         // todo
     }
     else
     {
         throw new Exception(string.Format("Unattempt HumanOption type {0}", option.GetType()));
     }
 }
Exemple #26
0
        public override void Dispose()
        {
            m_followingCharactersLook.Clear();
            m_followingCharactersLook = null;

            base.Dispose();
        }