コード例 #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SilverNeedle.Characters.Skill"/> class.
 /// </summary>
 /// <param name="name">Name of the skill.</param>
 /// <param name="baseAbility">Base ability for the skill.</param>
 /// <param name="trainingRequired">If set to <c>true</c> training required.</param>
 /// <param name="description">Optional description of the skill</param>
 public Skill(string name, AbilityScoreTypes baseAbility, bool trainingRequired, string description = "")
 {
     this.Name             = name;
     this.Ability          = baseAbility;
     this.TrainingRequired = trainingRequired;
     this.Description      = description;
 }
コード例 #2
0
 public IValueStatModifier CreateAdjustment(AbilityScoreTypes abilityScore)
 {
     return new ValueStatModifier(
         abilityScore.ToString(),
         this.amount,
         this.type
     );
 }
コード例 #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SilverNeedle.Characters.Skill"/> class.
 /// </summary>
 /// <param name="name">Name of the skill.</param>
 /// <param name="baseAbility">Base ability for the skill.</param>
 /// <param name="trainingRequired">If set to <c>true</c> training required.</param>
 /// <param name="description">Optional description of the skill</param>
 public Skill(string name, AbilityScoreTypes baseAbility, bool trainingRequired, string description = "", bool armorCheck = false)
 {
     this.Name                 = name;
     this.Ability              = baseAbility;
     this.TrainingRequired     = trainingRequired;
     this.Description          = description;
     this.UseArmorCheckPenalty = armorCheck;
 }
コード例 #4
0
        public SpellCasting(IObjectStore configuration, EntityGateway <SpellList> spellLists)
        {
            this.SpellListName      = configuration.GetString("list");
            this.SpellList          = spellLists.Find(this.SpellListName);
            this.SpellType          = configuration.GetEnum <SpellType>("spell-type");
            this.castingAbilityType = configuration.GetEnum <AbilityScoreTypes>("casting-ability");
            var slots = configuration.GetObject("spell-slots");

            foreach (var slot in slots.Keys)
            {
                var spellCounts = slots.GetList(slot).Select(x => x.ToInteger()).ToArray();
                spellSlots.Add(slot.ToInteger(), spellCounts);
            }
        }
コード例 #5
0
        public void Initialize(ComponentContainer components)
        {
            this.sourceLevel = components.Get <ClassLevel>();
            modifier         = new DelegateStatModifier(
                "Physical Attribute",
                "enhancement",
                CalculateBonus
                );

            var abilityType = new AbilityScoreTypes[] {
                AbilityScoreTypes.Strength,
                AbilityScoreTypes.Dexterity,
                AbilityScoreTypes.Constitution
            }.ChooseOne();

            var ability = components.Get <AbilityScores>().GetAbility(abilityType);

            ability.AddModifier(modifier);
        }
コード例 #6
0
 public AbilityPrerequisite(AbilityScoreTypes ability, int value)
 {
     this.Ability = ability;
     this.Minimum = value;
 }
コード例 #7
0
 public AbilityStatModifier GetStatModifier(AbilityScoreTypes ability)
 {
     return(GetAbility(ability).UniversalStatModifier);
 }
コード例 #8
0
 /// <summary>
 /// Gets the modifier for an ability
 /// </summary>
 /// <returns>The modifier score for the ability.</returns>
 /// <param name="ability">Ability to find</param>
 public int GetModifier(AbilityScoreTypes ability)
 {
     return(this.abilities[ability].TotalModifier);
 }
コード例 #9
0
 /// <summary>
 /// Sets the score for an ability
 /// </summary>
 /// <param name="ability">Ability score.</param>
 /// <param name="val">Value for the new ability score.</param>
 public void SetScore(AbilityScoreTypes ability, int val)
 {
     this.abilities[ability].SetValue(val);
 }
コード例 #10
0
 /// <summary>
 /// Gets the score for an ability
 /// </summary>
 /// <returns>The ability score.</returns>
 /// <param name="ability">Ability to lookup.</param>
 public int GetScore(AbilityScoreTypes ability)
 {
     return(this.abilities[ability].TotalValue);
 }
コード例 #11
0
 /// <summary>
 /// Gets the ability. This throws an exception if ability is not found
 /// </summary>
 /// <returns>The ability that was looked up.</returns>
 /// <param name="ability">Ability to find.</param>
 public AbilityScore GetAbility(AbilityScoreTypes ability)
 {
     return(this.abilities[ability]);
 }
コード例 #12
0
 public GraveTouch(IObjectStore configuration)
 {
     baseAbilityType = configuration.GetEnum <AbilityScoreTypes>("base-ability");
 }
コード例 #13
0
 public AcidDart(IObjectStore configuration) : this()
 {
     baseAbilityType = configuration.GetEnum <AbilityScoreTypes>("base-ability");
 }
コード例 #14
0
 public DomainCasting(IObjectStore configuration)
 {
     castingAbilityType = configuration.GetEnum <AbilityScoreTypes>("casting-ability");
 }