public DataInitializationStartedHandler( IModifierProvider modifierProvider, IPseudoModifierProvider pseudoModifierProvider) { this.modifierProvider = modifierProvider; this.pseudoModifierProvider = pseudoModifierProvider; }
public InitializeHandler( InitializationResources resources, IMediator mediator, ISidekickSettings settings, ILogger <InitializeHandler> logger, IViewLocator viewLocator, IProcessProvider processProvider, IKeyboardProvider keyboardProvider, IKeybindProvider keybindProvider, IParserPatterns parserPatterns, IModifierProvider modifierProvider, IPseudoModifierProvider pseudoModifierProvider, IItemMetadataProvider itemMetadataProvider, IItemStaticDataProvider itemStaticDataProvider) { this.resources = resources; this.mediator = mediator; this.settings = settings; this.logger = logger; this.viewLocator = viewLocator; this.processProvider = processProvider; this.keyboardProvider = keyboardProvider; this.keybindProvider = keybindProvider; this.parserPatterns = parserPatterns; this.modifierProvider = modifierProvider; this.pseudoModifierProvider = pseudoModifierProvider; this.itemMetadataProvider = itemMetadataProvider; this.itemStaticDataProvider = itemStaticDataProvider; }
public ParseItemHandler( ILogger <ParseItemHandler> logger, IItemMetadataProvider itemMetadataProvider, IModifierProvider modifierProvider, IParserPatterns patterns) { this.logger = logger; this.itemMetadataProvider = itemMetadataProvider; this.modifierProvider = modifierProvider; this.patterns = patterns; }
public DefaultCharacter(Race race, ClassType classType, Dictionary<AbilityType, int> abilityScores, IModifierProvider modifierProvider) : this(modifierProvider) { Race = race; InitializeProperties(); _abilities = new CharacterAbilities(abilityScores); var characterClass = ClassProvider.GetNewClass(classType, _modifierProvider); Classes.Add(classType, characterClass); // Once all the properties are set, OnCreation can be called, which will process all modifiers for this character/class/race OnCreation(classType); }
public TradeSearchService(ILogger <TradeSearchService> logger, IGameLanguageProvider gameLanguageProvider, ISidekickSettings settings, IPoeTradeClient poeTradeClient, IItemStaticDataProvider itemStaticDataProvider, IModifierProvider modifierProvider) { this.logger = logger; this.gameLanguageProvider = gameLanguageProvider; this.settings = settings; this.poeTradeClient = poeTradeClient; this.itemStaticDataProvider = itemStaticDataProvider; this.modifierProvider = modifierProvider; }
public IEnumerable <float> GetPercentageModifiers(Stat stat) { foreach (EquipLocation slot in GetAllPopulatedSlots()) { IModifierProvider item = (IModifierProvider)GetItemInSlot(slot); if (item == null) { continue; } foreach (float mod in item.GetPercentageModifiers(stat)) { yield return(mod); } } }
public (int hitChance, List <string> positives, List <string> negatives) GetHitChance(Entity targetEntity) { IModifierProvider modifierProvider = _selectedAbility as IModifierProvider; _selectedAbilityTarget = targetEntity; if (_selectedAbility.IsRanged()) { var rangedChance = _combatManager.ActiveEntity.CalculateChanceToHitRanged(_selectedAbilityTarget); int rangedMod = 0; if (modifierProvider != null) { rangedMod = (int)modifierProvider.GetAdditiveModifiers(CombatModifierTypes.RangedToHit); } var rHitChance = rangedChance.hitChance + rangedMod; if (rHitChance <= 0) { rHitChance = 1; } return(rHitChance, rangedChance.positives, rangedChance.negatives); } var meleeChance = _combatManager.ActiveEntity.CalculateChanceToHitMelee(_selectedAbilityTarget); int meleeMod = 0; if (modifierProvider != null) { meleeMod = (int)modifierProvider.GetAdditiveModifiers(CombatModifierTypes.MeleeToHit); } var mHitChance = meleeChance.hitChance + meleeMod; if (mHitChance <= 0) { mHitChance = 1; } return(mHitChance, meleeChance.positives, meleeChance.negatives); }
private static void ParseMods(IModifierProvider modifierProvider, List <Modifier> modifiers, List <string> texts, List <Mod> mods, List <LineContentValue> hashes) { if (modifiers == null || mods == null || hashes == null) { return; } for (var index = 0; index < hashes.Count; index++) { var id = hashes[index].Value; var text = texts.FirstOrDefault(x => modifierProvider.IsMatch(id, x)); var mod = mods.FirstOrDefault(x => x.Magnitudes != null && x.Magnitudes.Any(y => y.Hash == id)); modifiers.Add(new Modifier() { Id = id, Text = text, Tier = mod?.Tier, TierName = mod?.Name, }); } }
protected DefaultCharacter(IModifierProvider modifierProvider) { _modifierProvider = modifierProvider; }