Esempio n. 1
0
        private void CalculateEarnedPevetons(FightPlayerResult result)
        {
            var pvpSeek = result.Character.Inventory.GetItems(x => x.Template.Id == (int)ItemIdEnum.ORDRE_DEXECUTION_10085).FirstOrDefault();

            if (pvpSeek != null && ChallengersTeam.Fighters.Contains(result.Fighter))
            {
                if (pvpSeek.Effects.FirstOrDefault(x => x.EffectId == EffectsEnum.Effect_Seek) is EffectString seekEffect)
                {
                    var target = result.Fighter.OpposedTeam.GetAllFightersWithLeavers <CharacterFighter>().FirstOrDefault(x => x.Name == seekEffect.Text);

                    if (target != null)
                    {
                        result.Character.Inventory.RemoveItem(pvpSeek);

                        if (Winners == result.Fighter.Team)
                        {
                            result.Loot.AddItem((int)ItemIdEnum.PEVETON_10275, 2);
                            result.Character.SendServerMessage("Vous avez abattu votre cible avec succès, vous avez gagné 2 Pévétons !");
                        }
                        else
                        {
                            target.Loot.AddItem((int)ItemIdEnum.PEVETON_10275, 2);
                            target.Character.SendServerMessage("Vous avez vaincu votre traqueur, vous avez gagné 2 Pévétons !");
                        }
                    }
                }
                else
                {
                    result.Character.Inventory.RemoveItem(pvpSeek);
                }
            }
        }
 public static void Apply(FightPlayerResult result)
 {
     foreach (var provider in LootProviders)
     {
         if (result.Fight.FightType == provider.Key.FightType && CriteriaProvider.EvaluateCriterias(result.Character.Client, provider.Key.Criteria))
         {
             CustomLoot customLoot = (CustomLoot)Activator.CreateInstance(provider.Value, result);
             customLoot.Apply();
         }
     }
 }
Esempio n. 3
0
        protected override IEnumerable <IFightResult> GenerateResults()
        {
            List <IFightResult> results = new List <IFightResult>();

            foreach (var fighter in GetFighters <CharacterFighter>(false))
            {
                FightPlayerResult result = (FightPlayerResult)fighter.GetFightResult();
                result.SetEarnedHonor(CalculateEarnedHonor(fighter), 0);
                results.Add(result);
            }
            return(results);
        }
 protected override System.Collections.Generic.IEnumerable <IFightResult> GenerateResults()
 {
     IFightResult[] array = (
         from entry in base.GetFightersAndLeavers()
         where !(entry is SummonedFighter)
         select entry into fighter
         select fighter.GetFightResult()).ToArray <IFightResult>();
     IFightResult[] array2 = array;
     for (int i = 0; i < array2.Length; i++)
     {
         IFightResult      fightResult       = array2[i];
         FightPlayerResult fightPlayerResult = fightResult as FightPlayerResult;
         if (fightPlayerResult != null)
         {
             fightPlayerResult.SetEarnedHonor(this.CalculateEarnedHonor(fightPlayerResult.Fighter), this.CalculateEarnedDishonor(fightPlayerResult.Fighter));
         }
     }
     return(array);
 }
Esempio n. 5
0
        protected override IEnumerable <IFightResult> GenerateResults()
        {
            List <IFightResult> results = new List <IFightResult>();

            foreach (var fighter in GetFighters <CharacterFighter>(false))
            {
                if (fighter.Team == Winners)
                {
                    var  emote               = Records.Items.ItemRecord.RandomItem(Protocol.Selfmade.Enums.ItemTypeEnum.PARCHEMIN_D_ATTITUDE).Id;
                    uint quantity            = (uint)(fighter.Team.GetTeamLevel() / 2);
                    FightPlayerResult result = (FightPlayerResult)fighter.GetFightResult();
                    result.Loot.AddItem(12736, quantity);
                    result.Loot.AddItem(emote, 1);
                    results.Add(result);
                }
                else
                {
                    FightPlayerResult result = (FightPlayerResult)fighter.GetFightResult();
                    result.Loot.AddItem(12736, 1);
                    results.Add(result);
                }
            }
            return(results);
        }
Esempio n. 6
0
 public TicketLoot(FightPlayerResult result)
     : base(result)
 {
 }
Esempio n. 7
0
 public DayFightLoot(FightPlayerResult result)
     : base(result)
 {
 }
Esempio n. 8
0
 public CustomLoot(FightPlayerResult result)
 {
     this.Result = result;
 }
Esempio n. 9
0
 public EtheralLoot(FightPlayerResult result)
     : base(result)
 {
     this.Random = new AsyncRandom();
 }
Esempio n. 10
0
 public MinationLoot(FightPlayerResult result)
     : base(result)
 {
 }