public SpellEffectApplicationMessageCreationContext([NotNull] NetworkEntityGuid applicationSource, int spellId, SpellEffectIndex effectIndex) { if (spellId <= 0) { throw new ArgumentOutOfRangeException(nameof(spellId)); } ApplicationSource = applicationSource ?? throw new ArgumentNullException(nameof(applicationSource)); SpellId = spellId; EffectIndex = effectIndex; }
public SpellEffectTargetCreationContext(int spellId, SpellEffectIndex effectIndex, [NotNull] DefaultEntityActorStateContainer actorState) { if (spellId <= 0) { throw new ArgumentOutOfRangeException(nameof(spellId)); } SpellId = spellId; EffectIndex = effectIndex; ActorState = actorState ?? throw new ArgumentNullException(nameof(actorState)); }
public int GetSpellEffectId(SpellEffectIndex effectIndex) { switch (effectIndex) { case SpellEffectIndex.SpellEffectIndexOne: return(SpellEffectIdOne); case SpellEffectIndex.SpellEffectIndexTwo: case SpellEffectIndex.SpellEffectIndexThree: default: throw new ArgumentOutOfRangeException(nameof(effectIndex), effectIndex, $"TODO: Implement additional spell effect index."); } }
public SpellEffectDefinitionDataModel GetEffectForSpellAtIndex(int spellId, SpellEffectIndex effectIndex) { if (spellId <= 0) { throw new ArgumentOutOfRangeException(nameof(spellId)); } if ((int)effectIndex != 0) { throw new NotImplementedException($"TODO: Implement more index handling."); } return(SpellEffectMap[SpellMap[spellId].SpellEffectIdOne]); }