public ModifiedSpell(Spell s, IEnumerable <Keyword> kwToAdd, Ability ability = Ability.None, RechargeModifier recharge = RechargeModifier.Unmodified)
 {
     Name     = s.Name;
     Keywords = s.Keywords;
     if (kwToAdd != null)
     {
         AdditionalKeywords = new List <Keyword>(kwToAdd);
     }
     else
     {
         AdditionalKeywords = new List <Keyword>();
     }
     Level            = s.Level;
     CastingTime      = s.CastingTime;
     Range            = s.Range;
     Duration         = s.Duration;
     Description      = s.Description;
     Descriptions     = s.Descriptions;
     differentAbility = ability;
     RechargeModifier = recharge;
     AdditionalKeywords.RemoveAll(k => Keywords.Contains(k));
     AddAlwaysPreparedToName = false;
     Source                = s.Source;
     CantripDamage         = s.CantripDamage;
     used                  = 0;
     FormsCompanionsFilter = s.FormsCompanionsFilter;
     FormsCompanionsCount  = s.FormsCompanionsCount;
     displayShort          = false;
     Modifikations         = new List <Feature>();
     count                 = 1;
 }
 public ModifiedSpell(Spell s, IEnumerable <Keyword> kwToAdd, bool addAlwaysPreparedToName, bool includeResources = true)
 {
     Name     = s.Name;
     Keywords = s.Keywords;
     if (kwToAdd != null)
     {
         AdditionalKeywords = new List <Keyword>(kwToAdd);
     }
     else
     {
         AdditionalKeywords = new List <Keyword>();
     }
     Level            = s.Level;
     CastingTime      = s.CastingTime;
     Range            = s.Range;
     Duration         = s.Duration;
     Description      = s.Description;
     Descriptions     = s.Descriptions;
     differentAbility = Ability.None;
     RechargeModifier = RechargeModifier.Unmodified;
     AdditionalKeywords.RemoveAll(k => Keywords.Contains(k));
     AddAlwaysPreparedToName = addAlwaysPreparedToName;
     Source                = s.Source;
     CantripDamage         = s.CantripDamage;
     used                  = 0;
     displayShort          = false;
     Modifikations         = new List <Feature>();
     this.includeResources = includeResources;
     includeRecharge       = includeResources;
     count                 = 1;
 }
 public ModifiedSpell(Spell s, bool onlyAsRitual)
 {
     Name               = s.Name;
     Keywords           = s.Keywords;
     AdditionalKeywords = new List <Keyword>();
     Level              = s.Level;
     CastingTime        = s.CastingTime;
     Range              = s.Range;
     Duration           = s.Duration;
     Description        = s.Description;
     Descriptions       = s.Descriptions;
     differentAbility   = Ability.None;
     RechargeModifier   = RechargeModifier.Unmodified;
     AdditionalKeywords.RemoveAll(k => Keywords.Contains(k));
     AddAlwaysPreparedToName = false;
     Source                = s.Source;
     CantripDamage         = s.CantripDamage;
     used                  = 0;
     displayShort          = false;
     Modifikations         = new List <Feature>();
     this.includeResources = false;
     includeRecharge       = includeResources;
     OnlyAsRitual          = true;
     FormsCompanionsFilter = s.FormsCompanionsFilter;
     FormsCompanionsCount  = s.FormsCompanionsCount;
     count                 = 1;
 }
Пример #4
0
 public ResourceFeature(string name, string text, string resourceID, string exclusionID, int value, RechargeModifier recharge, int level = 1, bool hidden = false)
     : base(name, text, level, hidden)
 {
     Value       = value.ToString();
     ResourceID  = resourceID;
     ExclusionID = exclusionID;
     Recharge    = recharge;
 }
Пример #5
0
 public SpellcastingFeature() : base()
 {
     OverwrittenByMulticlassing = true;
     SpellcastingID             = "";
     DisplayName         = "Spellcasting";
     Preparation         = PreparationMode.LearnSpells;
     PreparationChange   = RechargeModifier.LongRest;
     SpellcastingAbility = Ability.None;
 }
Пример #6
0
 public ResourceInfo(string id, string name, int used, int max, RechargeModifier recharge, bool displayUsed)
 {
     ResourceID  = id;
     Name        = name;
     Used        = used;
     Max         = max;
     Recharge    = recharge;
     DisplayUsed = displayUsed;
 }
Пример #7
0
 public SpellcastingFeature(string name, string text, string spellcastingID, Ability spellcastingAbility, string displayName, bool overwrittenByMulticlassing = true, int level = 1, bool hidden = false)
     : base(name, text, level, hidden)
 {
     Preparation                    = PreparationMode.LearnSpells;
     SpellcastingID                 = spellcastingID;
     DisplayName                    = displayName;
     PrepareableSpells              = "false";
     OverwrittenByMulticlassing     = overwrittenByMulticlassing;
     PrepareCountAdditionalModifier = Ability.None;
     PrepareCountPerClassLevel      = 0;
     PreparationChange              = RechargeModifier.LongRest;
     SpellcastingAbility            = spellcastingAbility;
     PrepareCountAdditional         = 0;
 }
 public SpellcastingFeature(string name, string text, string spellcastingID, Ability spellcastingAbility, string displayName, PreparationMode preparation, string prepareableSpells, Ability prepareCountAdditionalModifier = Ability.None, int prepareCountPerClassLevel = 1, bool overwrittenByMulticlassing = true, int level = 1, bool hidden = false)
     : base(name, text, level, hidden)
 {
     Action                         = Base.ActionType.ForceHidden;
     Preparation                    = preparation;
     SpellcastingID                 = spellcastingID;
     DisplayName                    = displayName;
     PrepareableSpells              = prepareableSpells;
     OverwrittenByMulticlassing     = overwrittenByMulticlassing;
     PrepareCountAdditionalModifier = prepareCountAdditionalModifier;
     PrepareCountPerClassLevel      = prepareCountPerClassLevel;
     PreparationChange              = RechargeModifier.LongRest;
     SpellcastingAbility            = spellcastingAbility;
     PrepareCountAdditional         = 0;
 }
 public BonusSpellFeature(string name, string text, Ability spellability, Spell spell, RechargeModifier spellmodifier = RechargeModifier.Unmodified, List <Keyword> kwToAdd = null, int level = 1, bool hidden = false)
     : base(name, text, level, hidden)
 {
     Spell               = spell.Name;
     KeywordsToAdd       = new List <Keyword>();
     SpellCastingAbility = spellability;
     SpellCastModifier   = spellmodifier;
     if (kwToAdd == null)
     {
         KeywordsToAdd = new List <Keyword>();
     }
     else
     {
         KeywordsToAdd = kwToAdd;
     }
 }
 public string Recharge(RechargeModifier r, RechargeModifier defaultRecharge = RechargeModifier.LongRest)
 {
     if (!includeRecharge)
     {
         return("");
     }
     if (r == RechargeModifier.Unmodified)
     {
         return(Recharge(defaultRecharge));
     }
     return("(" + RechargeName(r) + ")");
     //if (r.HasFlag(RechargeModifier.AtWill)) return "";
     //if (r == RechargeModifier.Ritual) return "Ritual";
     //if (r == RechargeModifier.ShortRest) if (displayShort) return "(Short Rest)";
     //    else return "Recharge: Short Rest";
     //if (displayShort) return "(Long Rest)";
     //return "Recharge: Long Rest";
 }
Пример #11
0
 public BonusSpellKeywordChoiceFeature(string name, string text, string condition, String uniqueID, Ability spellability, RechargeModifier spellmodifier = RechargeModifier.Unmodified, List <Keyword> kwToAdd = null, int amount = 1, int level = 1, bool hidden = false)
     : base(name, text, level, hidden)
 {
     KeywordsToAdd       = new List <Keyword>();
     Condition           = condition;
     SpellCastingAbility = spellability;
     UniqueID            = uniqueID;
     Amount            = amount;
     SpellCastModifier = spellmodifier;
     if (kwToAdd == null)
     {
         KeywordsToAdd = new List <Keyword>();
     }
     else
     {
         KeywordsToAdd = kwToAdd;
     }
 }
 public static string RechargeName(RechargeModifier Recharge)
 {
     if (Recharge == RechargeModifier.LongRest)
     {
         return("Long Rest");
     }
     if (Recharge == RechargeModifier.ShortRest)
     {
         return("Any Rest");
     }
     if (Recharge == RechargeModifier.Dawn)
     {
         return("At Dawn");
     }
     if (Recharge == RechargeModifier.Dusk)
     {
         return("At Dusk");
     }
     if (Recharge == RechargeModifier.Special)
     {
         return("Special");
     }
     if (Recharge == RechargeModifier.Charges)
     {
         return("Used with Charges");
     }
     if (Recharge == RechargeModifier.NoRecharge)
     {
         return("No Recharge");
     }
     if (Recharge == RechargeModifier.Ritual)
     {
         return("Ritual");
     }
     return("Other");
 }