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(); } } }
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); }
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); }
public TicketLoot(FightPlayerResult result) : base(result) { }
public DayFightLoot(FightPlayerResult result) : base(result) { }
public CustomLoot(FightPlayerResult result) { this.Result = result; }
public EtheralLoot(FightPlayerResult result) : base(result) { this.Random = new AsyncRandom(); }
public MinationLoot(FightPlayerResult result) : base(result) { }