1using System.Collections.Generic;
20 return source.category ==
"ability";
44 if (a.tag.Contains(
"hidden") || a.tag.Contains(
"unused"))
50 if (a.category !=
"policy" && a.category !=
"tech")
54 if (a.cost.Length == 0 || (a.category ==
"tech" && a.cost[0] == 0))
59 else if (a.category !=
"skill")
65 owner.refVal = ie.RandomItem().id;
68 public override void SetName(ref
string s)
75 text =
" (" +
"policy".lang() +
")";
77 s =
"_of".lang((source.
GetName() + text).Bracket(1), s);
80 s = s +
" " +
"alreadyLearned".lang();
87 if (IsPlan && !c.
IsPC)
93 owner.Say(
"skillbook_invalidZone");
98 owner.Say(
"skillbook_knownSkill", c, source.
GetName());
101 if (IsOnlyUsableByPc && !c.
IsPC)
103 owner.SayNothingHappans();
106 owner.Say(IsPlan ?
"skillbook_learnPlan" :
"skillbook_learn", c, source.
GetName());
125 c.
elements.
ModExp(idEle, owner.IsBlessed ? 1500 : (owner.IsCursed ? 500 : 1000));
127 c.
Say(
"spellbookCrumble", owner.Duplicate(1));
133 return owner.sourceCard.value;
138 base.WriteNote(n, identified);
147 n.AddText(
"_bullet".lang() + member.
Name +
" " + (flag ?
"alreadyLearned" :
"notLearned").lang(), flag ?
FontColor.Good :
FontColor.Warning);
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
ElementContainerCard elements
void Say(string lang, string ref1=null, string ref2=null)
static SourceManager sources
static FactionBranch Branch
void Learn(int ele, int v=1)
void ModExp(int ele, int a, bool chain=false)
ElementContainerZone elements
void ValidateUpgradePolicies()
List< FactionBranch > GetChildren()
void AddPolicy(string id)
override string GetName()
override void SetName(ref string s)
override void WriteNote(UINote n, bool identified)
override bool CanRead(Chara c)
override SourceElement.Row source
override void OnCreate(int lv)
override void OnRead(Chara c)
override string IdNoRestock
override bool IsOnlyUsableByPc
override int GetActDuration(Chara c)
void Space(int sizeY=0, int sizeX=1)