Even More Modifiers  1.0.0.0
A mod for rolling various bonus stats on items
SealingRollingStrategy.cs
Go to the documentation of this file.
1 using System.Collections.Generic;
2 using Loot.Api.Core;
3 using Loot.Api.Strategy;
4 using Loot.Sounds;
5 using Terraria;
6 
7 namespace Loot.RollingStrategies
8 {
9  public sealed class SealingRollingStrategy : RollingStrategy
10  {
11  public override List<Modifier> PreRoll(ModifierPool drawPool, ModifierContext modifierContext, RollingStrategyProperties properties)
12  {
13  return LootModItem.GetActivePool(modifierContext.Item);
14  }
15 
16  public override List<Modifier> Roll(List<Modifier> currentModifiers, ModifierPool drawPool, ModifierContext modifierContext, RollingStrategyProperties properties)
17  {
18  properties.MinRollableLines = 0;
19  properties.MaxRollableLines = 0;
20  return base.Roll(currentModifiers, drawPool, modifierContext, properties);
21  }
22 
23  public override void PostRoll(ref List<Modifier> modifiers, ModifierPool drawPool, ModifierContext modifierContext, RollingStrategyProperties properties)
24  {
25  var info = LootModItem.GetInfo(modifierContext.Item);
26  info.SealedModifiers = !info.SealedModifiers;
27  }
28 
29  public override void PlaySoundEffect(Item item)
30  {
31  SoundHelper.PlayCustomSound(LootModItem.GetInfo(item).SealedModifiers ? SoundHelper.SoundType.GainSeal : SoundHelper.SoundType.LoseSeal);
32  }
33  }
34 }
int MaxRollableLines
The maximum amount of modifiers that can roll
Defines a context in which a Modifier might be rolled Which fields are available (not null) depends o...
override List< Modifier > Roll(List< Modifier > currentModifiers, ModifierPool drawPool, ModifierContext modifierContext, RollingStrategyProperties properties)
Defines properties that will be used when an item is being rolled in a IRollingStrategy<T> These can ...
Defines an item that may be modified by modifiers from mods
Definition: LootModItem.cs:21
override List< Modifier > PreRoll(ModifierPool drawPool, ModifierContext modifierContext, RollingStrategyProperties properties)
Defines a modifier pool. A modifier pool holds a certain amount of effects in an array It allows to r...
Definition: ModifierPool.cs:37
static List< Modifier > GetActivePool(Item item)
static LootModItem GetInfo(Item item)
override void PostRoll(ref List< Modifier > modifiers, ModifierPool drawPool, ModifierContext modifierContext, RollingStrategyProperties properties)
int MinRollableLines
The minimum amount of modifiers to roll