Elin Decompiled Documentation EA 23.219 Nightly Patch 2
Loading...
Searching...
No Matches
FactionBranch Class Reference
Inheritance diagram for FactionBranch:
EClass

Classes

class  Statistics
 

Public Member Functions

int GetNextExp (int _lv=-1)
 
int Evalue (int ele)
 
int GetProductBonus (Chara c)
 
void RefreshEfficiency ()
 
void Abandon ()
 
void OnCreate (Zone zone)
 
void SetOwner (Zone zone)
 
void OnActivateZone ()
 
void OnAfterSimulate ()
 
void OnUnloadMap ()
 
void OnSimulateHour (VirtualDate date)
 
void AutoClean ()
 
void OnSimulateDay (VirtualDate date)
 
void OnAdvanceDay ()
 
void OnSimulateMonth (VirtualDate date)
 
void GenerateGarbage (VirtualDate date)
 
bool TryTrash (Thing t)
 
void ReceivePackages (VirtualDate date)
 
void DailyOutcome (VirtualDate date)
 
void PutInMailBox (Thing t, bool outside=false, bool install=true)
 
Thing GetMailBox ()
 
Point GetMailBoxPos ()
 
int GetResidentTax ()
 
void CalcInnIncome ()
 
void CalcTourismIncome ()
 
void GetDailyIncome ()
 
Thing GetMeal (Chara c)
 
void OnClaimZone ()
 
void OnUnclaimZone ()
 
void ValidateUpgradePolicies ()
 
void Upgrade ()
 
bool CanUpgrade ()
 
int GetUpgradeCost ()
 
void ModExp (int a)
 
string GetHearthHint (int a)
 
void AddFeat (int ele, int v)
 
void AddMemeber (Chara c)
 
void ChangeMemberType (Chara c, FactionMemberType type)
 
void BanishMember (Chara c, bool skipMsg=false)
 
void RemoveMemeber (Chara c)
 
int GetHappiness (FactionMemberType type)
 
bool IsAllDead ()
 
void Recruit (Chara c)
 
Chara GetMaid ()
 
string GetRandomName ()
 
int CountMembers (FactionMemberType type, bool onlyAlive=false)
 
int CountGuests ()
 
int CountWealthyGuests ()
 
void UpdateReqruits (bool clear=false)
 
void AddRecruit (Chara c)
 
void RemoveRecruit (Chara c)
 
int CountNewRecruits ()
 
void ClearNewRecruits ()
 
bool IsRecruit (Chara c)
 
int CountPasture ()
 
int GetPastureCost ()
 
int GetCivility ()
 
float GetHearthIncome ()
 
float GetHearthIncome (string id)
 
int GetTechUpgradeCost (Element e)
 
string Log (string idLang, string ref1=null, string ref2=null, string ref3=null, string ref4=null)
 
string Log (string idLang, Card c1, Card c2, string ref1=null, string ref2=null)
 
string Log (string idLang, Card c1, string ref1=null, string ref2=null, string ref3=null)
 
string LogRaw (string text, string col=null)
 

Public Attributes

int lv = 1
 
int rank
 
int exp
 
int seedPlan
 
int temper
 
int uidMaid
 
int lastUpdateReqruit
 
int incomeShop
 
bool luckyMonth
 
bool luckyMonthDone
 
GStability stability
 
HomeResourceManager resources = new HomeResourceManager()
 
ResearchManager researches = new ResearchManager()
 
PolicyManager policies = new PolicyManager()
 
HappinessManager happiness = new HappinessManager()
 
MeetingManager meetings = new MeetingManager()
 
Thing stash
 
MsgLog log
 
Religion faith
 
ExpeditionManager expeditions = new ExpeditionManager()
 
List< HireInfolistRecruit = new List<HireInfo>()
 
int dateFound
 
int tourism
 
Statistics statistics = new Statistics()
 
Statistics lastStatistics = new Statistics()
 
Zone owner
 
int incomeInn
 
int incomeTourism
 
int efficiency = 100
 
List< Charamembers = new List<Chara>()
 

Properties

int Money [get]
 
int Worth [get]
 
int NumHeirloom [get]
 
int MaxAP [get]
 
int MaxPopulation [get]
 
int MaxSoil [get]
 
int ContentLV [get]
 
int DangerLV [get]
 
bool HasItemProtection [get]
 
bool HasNetwork [get]
 
bool IsTaxFree [get]
 
string RankText [get]
 
string TextLv [get]
 
bool IsStartBranch [get]
 
ElementContainerZone elements [get]
 
int MaxLv [get]
 
- Properties inherited from EClass
static Game game [get]
 
static bool AdvMode [get]
 
static Player player [get]
 
static Chara pc [get]
 
static UI ui [get]
 
static Map _map [get]
 
static Zone _zone [get]
 
static FactionBranch Branch [get]
 
static FactionBranch BranchOrHomeBranch [get]
 
static Faction Home [get]
 
static Faction Wilds [get]
 
static Scene scene [get]
 
static BaseGameScreen screen [get]
 
static GameSetting setting [get]
 
static GameData gamedata [get]
 
static ColorProfile Colors [get]
 
static World world [get]
 
static SourceManager sources [get]
 
static SourceManager editorSources [get]
 
static SoundManager Sound [get]
 
static CoreDebug debug [get]
 

Additional Inherited Members

- Static Public Member Functions inherited from EClass
static int rndSeed (int a, int seed)
 
static int rnd (long a)
 
static int rnd (int a)
 
static int curve (int a, int start, int step, int rate=75)
 
static int rndHalf (int a)
 
static float rndf (float a)
 
static int rndSqrt (int a)
 
static void Wait (float a, Card c)
 
static void Wait (float a, Point p)
 
static int Bigger (int a, int b)
 
static int Smaller (int a, int b)
 
- Static Public Attributes inherited from EClass
static Core core
 

Detailed Description

Definition at line 7 of file FactionBranch.cs.

Member Function Documentation

◆ Abandon()

void FactionBranch.Abandon ( )
inline

Definition at line 236 of file FactionBranch.cs.

237 {
238 }

◆ AddFeat()

void FactionBranch.AddFeat ( int  ele,
int  v 
)
inline

Definition at line 1431 of file FactionBranch.cs.

1432 {
1433 elements.ModBase(ele, v);
1434 WidgetPopText.Say("rewardElement".lang(EClass.sources.elements.map[ele].GetName()));
1435 }
Definition: EClass.cs:5
static SourceManager sources
Definition: EClass.cs:42
Element ModBase(int ele, int v)
ElementContainerZone elements
SourceElement elements
static void Say(string text, FontColor fontColor=FontColor.Default, Sprite sprite=null)

References SourceManager.elements, WidgetPopText.Say(), and EClass.sources.

Referenced by ResearchPlan.ParseReward().

◆ AddMemeber()

void FactionBranch.AddMemeber ( Chara  c)
inline

Definition at line 1437 of file FactionBranch.cs.

1438 {
1439 if (members.Contains(c))
1440 {
1441 return;
1442 }
1445 c.SetGlobal();
1447 c.SetHomeZone(owner);
1448 foreach (Thing item in c.things.List((Thing a) => a.HasTag(CTAG.godArtifact)).Copy())
1449 {
1451 }
1452 if (c.OriginalHostility <= Hostility.Ally)
1453 {
1454 c.c_originalHostility = Hostility.Ally;
1455 }
1456 c.hostility = Hostility.Ally;
1457 c.enemy = null;
1458 c.orgPos = null;
1459 if (c.memberType != 0 && c.memberType != FactionMemberType.Livestock)
1460 {
1461 c.memberType = FactionMemberType.Default;
1462 }
1463 if (c.hp > c.MaxHP)
1464 {
1465 c.hp = c.MaxHP;
1466 }
1467 if (c.mana.value > c.mana.max)
1468 {
1469 c.mana.value = c.mana.max;
1470 }
1471 if (c.stamina.value > c.stamina.max)
1472 {
1473 c.stamina.value = c.stamina.max;
1474 }
1475 members.Add(c);
1479 if (uidMaid == 0 && c.id == "maid")
1480 {
1481 uidMaid = c.uid;
1482 }
1483 }
CTAG
Definition: CTAG.cs:2
FactionMemberType
Hostility
Definition: Hostility.cs:2
void PurgeDuplicateArtifact(Thing af)
Definition: Card.cs:3203
string id
Definition: Card.cs:35
int hp
Definition: Card.cs:242
bool HasTag(CTAG tag)
Definition: Card.cs:2583
int uid
Definition: Card.cs:122
ThingContainer things
Definition: Card.cs:38
Hostility OriginalHostility
Definition: Chara.cs:469
void RefreshWorkElements(ElementContainer parent=null)
Definition: Chara.cs:8748
Faction faction
Definition: Chara.cs:425
Chara SetHomeZone(Zone zone)
Definition: Chara.cs:1421
Chara SetFaction(Faction f)
Definition: Chara.cs:1413
Chara SetGlobal(Zone _home, int x, int z)
Definition: Chara.cs:1465
override int MaxHP
Definition: Chara.cs:706
Stats mana
Definition: Chara.cs:1148
FactionMemberType memberType
Definition: Chara.cs:46
Stats stamina
Definition: Chara.cs:1140
static Faction Home
Definition: EClass.cs:26
static Chara pc
Definition: EClass.cs:14
void RefreshEfficiency()
List< Chara > members
void RemoveMemeber(Chara c)
FactionBranch FindBranch(Chara c)
Definition: FACTION.cs:425
ElementContainerFaction charaElements
Definition: FACTION.cs:146
void RemoveReserve(Chara c)
Definition: FACTION.cs:357
virtual int value
Definition: Stats.cs:56
virtual int max
Definition: Stats.cs:68
List< Thing > List(Func< Thing, bool > func, bool onlyAccessible=false)
Definition: Thing.cs:8

References Faction.charaElements, Chara.faction, Faction.FindBranch(), Card.HasTag(), EClass.Home, Card.hp, Card.id, item, ThingContainer.List(), Chara.mana, Stats.max, Chara.MaxHP, Chara.memberType, ElementContainerFaction.OnAddMemeber(), Chara.OriginalHostility, EClass.pc, Card.PurgeDuplicateArtifact(), Chara.RefreshWorkElements(), RemoveMemeber(), Faction.RemoveReserve(), Chara.SetFaction(), Chara.SetGlobal(), Chara.SetHomeZone(), Chara.stamina, Card.things, Card.uid, and Stats.value.

Referenced by Chara._MakeAlly(), Zone.AbandonZone(), Zone.ClaimZone(), TraitFoodEggFertilized.Incubate(), QuestVernis.OnChangePhase(), QuestIntroInspector.OnComplete(), QuestVernis.OnComplete(), QuestDialog.OnDropReward(), SurvivalManager.OnExpandFloor(), Game.OnLoad(), QuestDebt.OnStart(), and CoreDebug.QuickStart().

◆ AddRecruit()

void FactionBranch.AddRecruit ( Chara  c)
inline

Definition at line 1700 of file FactionBranch.cs.

1701 {
1702 HireInfo hireInfo = new HireInfo
1703 {
1704 chara = c,
1705 isNew = true
1706 };
1707 hireInfo.deadline = EClass.world.date.GetRaw() + (EClass.rnd(5) + 1) * 1440 + EClass.rnd(24) * 60;
1708 listRecruit.Add(hireInfo);
1709 }
int GetRaw(int offsetHours=0)
Definition: Date.cs:322
static World world
Definition: EClass.cs:40
static int rnd(long a)
Definition: EClass.cs:58
List< HireInfo > listRecruit
GameDate date
Definition: World.cs:6

References World.date, Date.GetRaw(), EClass.rnd(), and EClass.world.

Referenced by SurvivalManager.OnUpdateRecruit().

◆ AutoClean()

void FactionBranch.AutoClean ( )
inline

Definition at line 500 of file FactionBranch.cs.

501 {
502 foreach (Chara member in members)
503 {
504 if (member.IsPCParty || !member.ExistsOnMap || member.memberType != 0)
505 {
506 continue;
507 }
508 Hobby hobby = member.GetWork("Clean") ?? member.GetWork("Chore");
509 if (hobby == null)
510 {
511 continue;
512 }
513 int num = (5 + EClass.rnd(5)) * hobby.GetEfficiency(member) / 100;
514 for (int i = 0; i < num; i++)
515 {
516 Thing thingToClean = AI_Haul.GetThingToClean(member);
517 if (thingToClean == null)
518 {
519 break;
520 }
522 }
523 }
524 }
static Thing GetThingToClean(Chara c=null)
Definition: AI_Haul.cs:34
bool ExistsOnMap
Definition: Card.cs:2073
Definition: Chara.cs:10
override bool IsPCParty
Definition: Chara.cs:613
Hobby GetWork(string id)
Definition: Chara.cs:8729
static Zone _zone
Definition: EClass.cs:20
Definition: Hobby.cs:5
int GetEfficiency(Chara c)
Definition: Hobby.cs:31
bool TryAddThingInSharedContainer(Thing t, List< Thing > containers=null, bool add=true, bool msg=false, Chara chara=null, bool sharedOnly=true)
Definition: Zone.cs:2091

References EClass._zone, Card.ExistsOnMap, Hobby.GetEfficiency(), AI_Haul.GetThingToClean(), Chara.GetWork(), Chara.IsPCParty, Chara.memberType, EClass.rnd(), and Zone.TryAddThingInSharedContainer().

◆ BanishMember()

void FactionBranch.BanishMember ( Chara  c,
bool  skipMsg = false 
)
inline

Definition at line 1495 of file FactionBranch.cs.

1496 {
1497 RemoveMemeber(c);
1498 if (!skipMsg)
1499 {
1500 Msg.Say("banish", c, EClass._zone.Name);
1501 }
1503 {
1504 c.RemoveGlobal();
1505 }
1506 if (c.IsGlobal)
1507 {
1508 c.OnBanish();
1509 }
1510 else
1511 {
1512 c.Destroy();
1513 }
1514 }
void Destroy()
Definition: Card.cs:4981
new TraitChara trait
Definition: Chara.cs:501
void RemoveGlobal()
Definition: Chara.cs:1493
override bool IsGlobal
Definition: Chara.cs:608
void OnBanish()
Definition: Chara.cs:1435
Definition: Msg.cs:5
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58
virtual string Name
Definition: Spatial.cs:497
virtual bool RemoveGlobalOnBanish
Definition: Trait.cs:556

References EClass._zone, Card.Destroy(), Chara.IsGlobal, Spatial.Name, Chara.OnBanish(), Chara.RemoveGlobal(), Trait.RemoveGlobalOnBanish, Msg.Say(), and Chara.trait.

Referenced by CoreDebug.Fix_RemoveDemitas(), QuestNasu.OnComplete(), AI_Slaughter.Run(), and AI_Shopping.SellChara().

◆ CalcInnIncome()

void FactionBranch.CalcInnIncome ( )
inline

Definition at line 1096 of file FactionBranch.cs.

1097 {
1098 int num = CountGuests();
1099 if (num == 0)
1100 {
1101 return;
1102 }
1103 int num2 = 0;
1104 int num3 = 0;
1105 foreach (Thing thing in EClass._map.things)
1106 {
1107 if (thing.IsInstalled && thing.trait is TraitBed traitBed && traitBed.owner.c_bedType == BedType.guest)
1108 {
1109 int maxHolders = traitBed.MaxHolders;
1110 num2 += maxHolders;
1111 num3 += traitBed.owner.LV * (100 + traitBed.owner.Quality / 2 + traitBed.owner.Evalue(750) / 2) / 100 * maxHolders;
1112 }
1113 }
1114 num = Mathf.Min(num, num2);
1115 if (num != 0)
1116 {
1117 num3 /= num2;
1118 num3 = num3 * (100 + 5 * (int)Mathf.Sqrt(Evalue(2812))) / 100;
1119 float num4 = 10f + Mathf.Sqrt(num) * 10f;
1120 if (policies.IsActive(2813))
1121 {
1122 num4 += Mathf.Sqrt(CountWealthyGuests()) * 50f * (80f + 5f * Mathf.Sqrt(Evalue(2813))) / 100f;
1123 }
1124 if (policies.IsActive(2812))
1125 {
1126 num4 = num4 * (float)(100 + num3) / 100f;
1127 }
1128 num4 = Mathf.Min(num4, Mathf.Sqrt(Worth) / 15f + 5f);
1129 incomeInn += EClass.rndHalf((int)num4) + EClass.rndHalf((int)num4);
1130 }
1131 }
BedType
Definition: BedType.cs:2
Trait trait
Definition: Card.cs:53
bool IsInstalled
Definition: Card.cs:2369
BedType c_bedType
Definition: Card.cs:940
static Map _map
Definition: EClass.cs:18
static int rndHalf(int a)
Definition: EClass.cs:87
int Evalue(int ele)
int CountWealthyGuests()
PolicyManager policies
List< Thing > things
Definition: Map.cs:49
bool IsActive(int id, int days=-1)
Card owner
Definition: Trait.cs:27

References EClass._map, Card.c_bedType, PolicyManager.IsActive(), Card.IsInstalled, Trait.owner, EClass.rndHalf(), Map.things, and Card.trait.

◆ CalcTourismIncome()

void FactionBranch.CalcTourismIncome ( )
inline

Definition at line 1133 of file FactionBranch.cs.

1134 {
1135 int num = CountGuests();
1136 if (num != 0)
1137 {
1138 float num2 = 10f + Mathf.Sqrt(num) * 10f;
1139 if (policies.IsActive(2815))
1140 {
1141 num2 += Mathf.Sqrt(CountWealthyGuests()) * 50f * (80f + 5f * Mathf.Sqrt(Evalue(2815))) / 100f;
1142 }
1143 num2 = Mathf.Min(num2, Mathf.Sqrt(tourism) / 5f);
1144 incomeTourism += EClass.rndHalf((int)num2) + EClass.rndHalf((int)num2);
1145 }
1146 }

References PolicyManager.IsActive(), EClass.rndHalf(), and tourism.

◆ CanUpgrade()

bool FactionBranch.CanUpgrade ( )
inline

Definition at line 1370 of file FactionBranch.cs.

1371 {
1372 if (lv < MaxLv)
1373 {
1374 if (exp < GetNextExp())
1375 {
1376 return EClass.debug.enable;
1377 }
1378 return true;
1379 }
1380 return false;
1381 }
bool enable
Definition: CoreDebug.cs:286
static CoreDebug debug
Definition: EClass.cs:48
int GetNextExp(int _lv=-1)

References EClass.debug, and CoreDebug.enable.

◆ ChangeMemberType()

void FactionBranch.ChangeMemberType ( Chara  c,
FactionMemberType  type 
)
inline

Definition at line 1485 of file FactionBranch.cs.

1486 {
1487 c.ClearBed();
1488 c.memberType = type;
1489 c.c_wasInPcParty = false;
1493 }
void ClearBed(Map map=null)
Definition: Chara.cs:7150

References Chara.ClearBed(), Chara.RefreshWorkElements(), and PolicyManager.Validate().

Referenced by TraitFoodEggFertilized.Incubate(), and BaseListPeople.OnClick().

◆ ClearNewRecruits()

void FactionBranch.ClearNewRecruits ( )
inline

Definition at line 1735 of file FactionBranch.cs.

1736 {
1737 foreach (HireInfo item in listRecruit)
1738 {
1739 item.isNew = false;
1740 }
1741 }

References item.

Referenced by LayerHire.OnKill(), and LayerQuestBoard.OnKill().

◆ CountGuests()

int FactionBranch.CountGuests ( )
inline

Definition at line 1611 of file FactionBranch.cs.

1612 {
1613 int num = 0;
1614 foreach (Chara chara in EClass._map.charas)
1615 {
1616 if (chara.memberType == FactionMemberType.Guest)
1617 {
1618 num++;
1619 }
1620 }
1621 return num;
1622 }
List< Chara > charas
Definition: Map.cs:81

References EClass._map, Map.charas, and Chara.memberType.

◆ CountMembers()

int FactionBranch.CountMembers ( FactionMemberType  type,
bool  onlyAlive = false 
)
inline

Definition at line 1598 of file FactionBranch.cs.

1599 {
1600 int num = 0;
1601 foreach (Chara member in members)
1602 {
1603 if (member.memberType == type && (!onlyAlive || !member.isDead) && (type != 0 || member.trait.IsCountAsResident))
1604 {
1605 num++;
1606 }
1607 }
1608 return num;
1609 }
bool isDead
Definition: Chara.cs:387
virtual bool IsCountAsResident
Definition: TraitChara.cs:67

References TraitChara.IsCountAsResident, Chara.isDead, Chara.memberType, and Chara.trait.

Referenced by OnSimulateHour(), RefreshEfficiency(), ContentHomeReport.RefreshInfo(), and UIHomeInfo.RefreshInfo().

◆ CountNewRecruits()

int FactionBranch.CountNewRecruits ( )
inline

Definition at line 1722 of file FactionBranch.cs.

1723 {
1724 int num = 0;
1725 foreach (HireInfo item in listRecruit)
1726 {
1727 if (item.isNew)
1728 {
1729 num++;
1730 }
1731 }
1732 return num;
1733 }

References item.

◆ CountPasture()

int FactionBranch.CountPasture ( )
inline

Definition at line 1755 of file FactionBranch.cs.

1756 {
1757 return EClass._map.Stocked.GetNum("pasture", onlyShared: true) + EClass._map.Installed.GetNum("pasture");
1758 }
PropsInstalled Installed
Definition: Map.cs:123
PropsStocked Stocked
Definition: Map.cs:121
int GetNum(string id, bool onlyShared=false)
Definition: Props.cs:427

References EClass._map, Props.GetNum(), Map.Installed, and Map.Stocked.

Referenced by UIHomeInfo.RefreshInfo().

◆ CountWealthyGuests()

int FactionBranch.CountWealthyGuests ( )
inline

Definition at line 1624 of file FactionBranch.cs.

1625 {
1626 int num = 0;
1627 foreach (Chara chara in EClass._map.charas)
1628 {
1629 if (chara.memberType == FactionMemberType.Guest && chara.IsWealthy)
1630 {
1631 num++;
1632 }
1633 }
1634 return num;
1635 }
bool IsWealthy
Definition: Chara.cs:1053

References EClass._map, Map.charas, Chara.IsWealthy, and Chara.memberType.

◆ DailyOutcome()

void FactionBranch.DailyOutcome ( VirtualDate  date)
inline

Definition at line 747 of file FactionBranch.cs.

748 {
749 Thing thing = null;
750 foreach (Chara member in members)
751 {
752 Chara i = member;
753 if (EClass.rnd(EClass.debug.enable ? 2 : (360 * members.Count)) == 0 && !i.IsPC && EClass.pc.faction.IsGlobalPolicyActive(2712) && i.things.Find((Thing t) => t.id == "panty" && t.c_idRefCard == i.id) == null && !i.things.IsFull())
754 {
755 Thing thing2 = ThingGen.Create("panty");
756 thing2.c_idRefCard = i.id;
757 i.AddThing(thing2);
758 }
759 if (i.IsPCParty || !i.ExistsOnMap)
760 {
761 continue;
762 }
764 if (i.memberType == FactionMemberType.Livestock)
765 {
766 if (thing == null)
767 {
768 thing = EClass._map.Stocked.Find("pasture", -1, -1, shared: true) ?? EClass._map.Installed.Find("pasture");
769 }
770 if (thing == null)
771 {
772 continue;
773 }
774 if (i.race.breeder >= EClass.rnd(2500 - (int)Mathf.Sqrt(Evalue(2827) * 100)))
775 {
776 if (EClass.rnd(3) != 0)
777 {
778 Thing t2 = i.MakeEgg(date.IsRealTime, 1, date.IsRealTime);
779 if (!date.IsRealTime)
780 {
781 i.TryPutShared(t2);
782 }
783 }
784 else
785 {
786 Thing t3 = i.MakeMilk(date.IsRealTime, 1, date.IsRealTime);
787 if (!date.IsRealTime)
788 {
789 i.TryPutShared(t3);
790 }
791 }
792 }
793 if (i.HaveFur())
794 {
795 if (i.HasElement(1533))
796 {
797 i.c_fur = 0;
798 }
799 else
800 {
801 i.c_fur++;
802 if (EClass.rnd(4) == 0 && i.HasElement(1532))
803 {
804 i.c_fur++;
805 }
806 }
807 }
808 thing.ModNum(-1);
809 if (thing.isDestroyed || thing.Num == 0)
810 {
811 thing = null;
812 }
813 continue;
814 }
815 foreach (Hobby item in i.ListHobbies())
816 {
817 GetOutcome(item);
818 }
819 foreach (Hobby item2 in i.ListWorks())
820 {
821 GetOutcome(item2);
822 }
823 void GetOutcome(Hobby h)
824 {
825 int num3 = h.GetEfficiency(i) * GetProductBonus(i) / 100;
826 int num4 = h.GetLv(i);
827 int id = EClass.sources.elements.alias[h.source.skill].id;
828 if (!i.elements.HasBase(id))
829 {
830 i.elements.SetBase(id, 1);
831 }
832 i.ModExp(id, 100);
833 for (int j = 0; j < h.source.things.Length; j += 2)
834 {
835 string text = h.source.things[j];
836 int num5 = Mathf.Max(1, h.source.things[j + 1].ToInt() * num3 / 1000);
837 int num6 = num5 / 1000;
838 if (num5 % 1000 > EClass.rnd(1000))
839 {
840 num6++;
841 }
842 if (num6 != 0)
843 {
844 if (!(text == "_egg"))
845 {
846 if (text == "milk")
847 {
848 i.MakeMilk(date.IsRealTime, num6);
849 }
850 else
851 {
852 Thing thing4 = ((!text.StartsWith("#")) ? ThingGen.Create(h.source.things[j], -1, num4) : ThingGen.CreateFromCategory(text.Replace("#", ""), num4));
853 if (thing4 != null)
854 {
855 num6 *= thing4.trait.CraftNum;
856 if (thing4.category.id == "fish" && EClass.rnd(EClass.debug.enable ? 1 : 5) == 0)
857 {
858 int num7 = Mathf.Min(EClass.rnd(EClass.rnd(EClass.rnd(EClass.curve(num4, 100, 50, 70) + 50))) / 50, 3);
859 if (num7 > 0)
860 {
861 thing4.SetTier(num7);
862 num6 /= num7 + 1;
863 }
864 }
865 if (num6 < 1)
866 {
867 num6 = 1;
868 }
869 if (!thing4.trait.CanStack)
870 {
871 num6 = 1;
872 }
873 thing4.SetNum(num6);
874 thing4.SetBlessedState(BlessedState.Normal);
875 thing4.TryMakeRandomItem(num4);
876 if (thing4.IsAmmo)
877 {
878 thing4.ChangeMaterial("iron");
879 thing4.c_IDTState = 0;
880 }
881 bool flag = thing4.category.id == "garbage";
882 if (thing4.trait is TraitFoodMeal)
883 {
884 if (thing4.HasTag(CTAG.dish_fail))
885 {
886 flag = true;
887 }
888 else
889 {
890 CraftUtil.MakeDish(thing4, num4 + 10, i);
891 if (thing4.id == "lunch_dystopia")
892 {
893 flag = true;
894 }
895 }
896 }
897 if (flag)
898 {
899 TryTrash(thing4);
900 }
901 else
902 {
903 i.TryPutShared(thing4);
904 }
905 }
906 }
907 }
908 else
909 {
910 i.MakeEgg(date.IsRealTime, num6);
911 }
912 }
913 }
914 switch (h.source.alias)
915 {
916 case "Nurse":
917 {
918 foreach (Chara member2 in members)
919 {
920 if (!member2.IsPCParty)
921 {
922 if (member2.isDead && member2.CanRevive() && EClass.rnd(num3) > EClass.rnd(100))
923 {
924 Log("bNurse", i, member2);
925 member2.Revive(member2.pos, msg: true);
926 if (date.IsRealTime && member2.c_wasInPcParty)
927 {
928 EClass.pc.party.AddMemeber(member2, showMsg: true);
929 }
930 break;
931 }
932 if (EClass.rnd(num3) > EClass.rnd(100))
933 {
934 member2.CureHost(CureType.HealComplete);
935 }
936 }
937 }
938 break;
939 }
940 case "Chore":
941 case "Clean":
942 {
943 for (int k = 0; k < num3 / 2; k++)
944 {
945 Point randomPoint = EClass._map.bounds.GetRandomPoint();
946 if (randomPoint.HasDecal)
947 {
948 EClass._map.SetDecal(randomPoint.x, randomPoint.z);
949 }
950 }
951 break;
952 }
953 case "TreasureHunt":
954 if (EClass.rnd(num3) > EClass.rnd(EClass.debug.enable ? 100 : 5000))
955 {
957 if (thing5 != null)
958 {
959 Thing thing6 = ThingGen.CreateTreasure("chest_treasure", thing5.LV);
960 i.TryPutShared(thing6);
961 thing5.Destroy();
962 WidgetPopText.Say("foundTreasure".lang(thing6.Name));
963 }
964 }
965 break;
966 }
967 }
968 }
969 int soilCost = EClass._zone.GetSoilCost();
970 int num = Mathf.Min(100, 70 + (MaxSoil - soilCost));
971 int flower = 5;
972 int lv = 1;
973 EClass._map.bounds.ForeachCell(delegate(Cell cell)
974 {
975 if (cell.obj != 0 && cell.sourceObj.tag.Contains("flower"))
976 {
977 PlantData plantData = cell.TryGetPlant();
978 if (plantData != null && plantData.seed != null)
979 {
980 lv += plantData.seed.encLV + 1;
981 }
982 else
983 {
984 lv++;
985 }
986 flower++;
987 }
988 });
989 lv /= flower;
990 int num2 = 0;
991 foreach (Thing thing7 in EClass._map.things)
992 {
993 if (thing7.IsInstalled && thing7.trait is TraitBeekeep && !thing7.things.IsFull())
994 {
995 flower -= 3 + EClass.rnd(5 + num2 * 4);
996 num2++;
997 if (flower < 0)
998 {
999 break;
1000 }
1001 if (EClass.rnd(100) <= num)
1002 {
1003 Thing thing3 = ThingGen.Create("honey");
1004 thing3.SetEncLv(lv / 10);
1005 thing3.elements.SetBase(2, EClass.curve(lv, 50, 10, 80));
1006 thing7.AddThing(thing3);
1007 }
1008 }
1009 }
1010 }
BlessedState
Definition: BlessedState.cs:2
CureType
Definition: CureType.cs:2
void SetTier(int a, bool setTraits=true)
Definition: Card.cs:3799
bool isDestroyed
Definition: Card.cs:75
Thing TryMakeRandomItem(int lv=-1, TryMakeRandomItemSource itemSource=TryMakeRandomItemSource.Default, Chara crafter=null)
Definition: Card.cs:5341
bool IsAmmo
Definition: Card.cs:2235
ElementContainerCard elements
Definition: Card.cs:41
bool c_wasInPcParty
Definition: Card.cs:1012
bool HasElement(int ele, int req=1)
Definition: Card.cs:5787
Card ChangeMaterial(int idNew, bool ignoreFixedMaterial=false)
Definition: Card.cs:3022
Thing AddThing(string id, int lv=-1)
Definition: Card.cs:3085
string Name
Definition: Card.cs:2125
Thing SetNum(int a)
Definition: Card.cs:3425
virtual void SetBlessedState(BlessedState s)
Definition: Card.cs:3825
Point pos
Definition: Card.cs:59
Thing MakeMilk(bool effect=true, int num=1, bool addToZone=true, BlessedState? state=null)
Definition: Card.cs:5640
void SetEncLv(int a)
Definition: Card.cs:3794
bool HaveFur()
Definition: Card.cs:7697
void ModExp(string alias, int a)
Definition: Card.cs:2636
int Num
Definition: Card.cs:158
SourceCategory.Row category
Definition: Card.cs:2037
void ModNum(int a, bool notify=true)
Definition: Card.cs:3445
int c_fur
Definition: Card.cs:1329
int LV
Definition: Card.cs:386
string c_idRefCard
Definition: Card.cs:1737
Thing MakeEgg(bool effect=true, int num=1, bool addToZone=true, int fertChance=20, BlessedState? state=null)
Definition: Card.cs:5624
Definition: Cell.cs:7
byte obj
Definition: Cell.cs:38
SourceObj.Row sourceObj
Definition: Cell.cs:1072
bool CanRevive()
Definition: Chara.cs:5010
void TryPutShared(Thing t, List< Thing > containers=null, bool dropIfFail=true)
Definition: Chara.cs:4365
void CureHost(CureType type, int p=100, BlessedState state=BlessedState.Normal)
Definition: Chara.cs:9211
override bool IsPC
Definition: Chara.cs:610
Party party
Definition: Chara.cs:43
List< Hobby > ListHobbies(bool useMemberType=true)
Definition: Chara.cs:8709
List< Hobby > ListWorks(bool useMemberType=true)
Definition: Chara.cs:8682
void Revive(Point p=null, bool msg=false)
Definition: Chara.cs:5036
SourceRace.Row race
Definition: Chara.cs:462
static void MakeDish(Thing food, int lv, Chara crafter=null)
Definition: CraftUtil.cs:61
static int curve(int a, int start, int step, int rate=75)
Definition: EClass.cs:68
Element SetBase(string alias, int v, int potential=0)
bool HasBase(int ele)
int GetProductBonus(Chara c)
bool TryTrash(Thing t)
bool IsGlobalPolicyActive(int id)
Definition: FACTION.cs:442
SourceHobby.Row source
Definition: Hobby.cs:8
int GetLv(Chara c)
Definition: Hobby.cs:22
Definition: Log.cs:4
void ForeachCell(Action< Cell > action)
Definition: MapBounds.cs:279
Point GetRandomPoint()
Definition: MapBounds.cs:97
void SetDecal(int x, int z, int id=0, int amount=1, bool refresh=true)
Definition: Map.cs:2051
MapBounds bounds
Definition: Map.cs:52
void AddMemeber(Chara c, bool showMsg=false)
Definition: Party.cs:56
Definition: Point.cs:9
bool HasDecal
Definition: Point.cs:139
int x
Definition: Point.cs:36
int z
Definition: Point.cs:39
Thing Find(int uid)
Definition: Props.cs:389
Thing Find(int uid)
bool IsFull(int y=0)
static Thing CreateTreasure(string id, int lv, TreasureType type=TreasureType.Map)
Definition: ThingGen.cs:256
static Thing CreateFromCategory(string idCat, int lv=-1)
Definition: ThingGen.cs:75
static Thing Create(string id, int idMat=-1, int lv=-1)
Definition: ThingGen.cs:53
virtual int CraftNum
Definition: Trait.cs:132
virtual bool CanStack
Definition: Trait.cs:150
bool IsRealTime
Definition: VirtualDate.cs:7
Thing TryGetThingFromSharedContainer(Func< Thing, bool > func)
Definition: Zone.cs:2214
int GetSoilCost()
Definition: Zone.cs:3654

References EClass._map, EClass._zone, Party.AddMemeber(), Card.AddThing(), Map.bounds, Card.c_fur, Card.c_idRefCard, Card.c_wasInPcParty, Chara.CanRevive(), Trait.CanStack, Card.category, Card.ChangeMaterial(), Trait.CraftNum, ThingGen.Create(), ThingGen.CreateFromCategory(), ThingGen.CreateTreasure(), Chara.CureHost(), EClass.curve(), EClass.debug, Card.Destroy(), SourceManager.elements, CoreDebug.enable, Card.ExistsOnMap, Chara.faction, Props.Find(), ThingContainer.Find(), MapBounds.ForeachCell(), Hobby.GetEfficiency(), Hobby.GetLv(), MapBounds.GetRandomPoint(), Zone.GetSoilCost(), Point.HasDecal, Card.HasElement(), Card.HasTag(), Card.HaveFur(), Card.id, Map.Installed, Card.IsAmmo, Chara.isDead, Card.isDestroyed, ThingContainer.IsFull(), Faction.IsGlobalPolicyActive(), Chara.IsPC, Chara.IsPCParty, item, Chara.ListWorks(), Card.LV, CraftUtil.MakeDish(), Card.MakeEgg(), Card.MakeMilk(), Chara.memberType, Card.ModNum(), Card.Name, Card.Num, Cell.obj, Chara.party, EClass.pc, Card.pos, Chara.race, Chara.RefreshWorkElements(), Chara.Revive(), EClass.rnd(), WidgetPopText.Say(), Card.SetBlessedState(), Map.SetDecal(), Card.SetNum(), Card.SetTier(), Hobby.source, Cell.sourceObj, EClass.sources, Map.Stocked, Card.things, Card.trait, Zone.TryGetThingFromSharedContainer(), Card.TryMakeRandomItem(), Chara.TryPutShared(), Point.x, and Point.z.

◆ Evalue()

◆ GenerateGarbage()

void FactionBranch.GenerateGarbage ( VirtualDate  date)
inline

Definition at line 614 of file FactionBranch.cs.

615 {
616 int sortChance = 40 + GetCivility();
617 int unsortedCount = 0;
618 foreach (Chara member in members)
619 {
620 if (!member.IsPCParty && member.ExistsOnMap)
621 {
622 Hobby hobby = member.GetWork("Clean") ?? member.GetWork("Chore");
623 if (hobby != null)
624 {
625 sortChance += 20 * hobby.GetEfficiency(member) / 100;
626 }
627 }
628 }
629 int num = Evalue(2702);
630 int num2 = EClass.rnd(2);
631 for (int i = 0; i < num2; i++)
632 {
633 if (num == 0 || EClass.rnd(num + (EClass.debug.enable ? 100000 : 10)) == 0)
634 {
635 Generate(null);
636 }
637 }
638 foreach (Chara member2 in members)
639 {
640 if (!member2.IsPCParty && member2.ExistsOnMap && (num == 0 || EClass.rnd(num + (EClass.debug.enable ? 100000 : 10)) == 0))
641 {
642 Generate(member2);
643 }
644 }
645 void Generate(Chara c)
646 {
647 if (c == null || EClass.rnd(5) == 0)
648 {
649 if (EClass.rnd(80) == 0)
650 {
652 }
653 else if (EClass.rnd(40) == 0)
654 {
655 Thing thing;
656 Add(thing = ThingGen.CreateFromTag("garbage"));
657 }
658 else
659 {
660 string id = "trash2";
661 if (EClass.rnd(3) == 0)
662 {
663 id = "trash1";
664 }
665 if (EClass.rnd(10) == 0)
666 {
667 id = ((EClass.rnd(3) == 0) ? "529" : "1170");
668 }
669 if (c != null && (!c.IsUnique || c.memberType == FactionMemberType.Livestock) && EClass.rnd((c.memberType == FactionMemberType.Livestock) ? 2 : 50) == 0)
670 {
671 id = "_poop";
672 }
673 if (EClass.rnd(200000) == 0)
674 {
675 id = "goodness";
676 }
677 Add(ThingGen.Create(id));
678 }
679 }
680 void Add(Thing t)
681 {
682 if (sortChance < EClass.rnd(100))
683 {
684 EClass._zone.TryAddThing(t, (c != null) ? (c.pos.GetRandomPoint(2) ?? c.pos).GetNearestPoint() : EClass._zone.bounds.GetRandomSurface(), destroyIfFail: true);
685 }
686 else
687 {
688 if (t.id == "_poop" && EClass.rnd(150) == 0)
689 {
690 t.ChangeMaterial((EClass.rnd(2) == 0) ? "silver" : "gold");
691 }
692 if (!TryTrash(t))
693 {
694 unsortedCount++;
695 if (unsortedCount >= 5)
696 {
697 Tutorial.Reserve("garbage");
698 }
699 }
700 }
701 }
702 }
703 }
list. Add(item3)
bool IsUnique
Definition: Card.cs:2079
Point GetRandomSurface(int x, int z, int radius, bool walkable=true, bool allowWater=false)
Definition: MapBounds.cs:182
Point GetRandomPoint(int radius, bool requireLos=true, bool allowChara=true, bool allowBlocked=false, int tries=100)
Definition: Point.cs:757
static Thing CreateFromTag(string idTag, int lv=-1)
Definition: ThingGen.cs:80
static void Reserve(string idStep, Action onBeforePlay=null)
Definition: Tutorial.cs:55
MapBounds bounds
Definition: Zone.cs:46
bool TryAddThing(Thing target, Point p, bool destroyIfFail=false)
Definition: Zone.cs:2188

References EClass._zone, Add(), Zone.bounds, Card.ChangeMaterial(), ThingGen.Create(), ThingGen.CreateFromCategory(), ThingGen.CreateFromTag(), EClass.debug, CoreDebug.enable, Card.ExistsOnMap, Hobby.GetEfficiency(), Point.GetRandomPoint(), MapBounds.GetRandomSurface(), Chara.GetWork(), Card.id, Chara.IsPCParty, Card.IsUnique, Chara.memberType, Card.pos, Tutorial.Reserve(), EClass.rnd(), and Zone.TryAddThing().

◆ GetCivility()

int FactionBranch.GetCivility ( )
inline

Definition at line 1765 of file FactionBranch.cs.

1766 {
1767 int num = 10 + Evalue(2203);
1768 if (Evalue(2701) > 0)
1769 {
1770 num += 10 + (int)Mathf.Sqrt(Evalue(2701));
1771 }
1772 if (Evalue(2702) > 0)
1773 {
1774 num -= 10 + (int)Mathf.Sqrt(Evalue(2702));
1775 }
1776 return num;
1777 }

Referenced by UIHomeInfo.RefreshInfo().

◆ GetDailyIncome()

void FactionBranch.GetDailyIncome ( )
inline

Definition at line 1148 of file FactionBranch.cs.

1149 {
1150 GetIncome(ref incomeShop, ref statistics.shop, "getIncomeShop", tax: false);
1151 GetIncome(ref incomeInn, ref statistics.inn, "getIncomeInn", tax: true);
1152 GetIncome(ref incomeTourism, ref statistics.tourism, "getIncomeTourism", tax: true);
1153 void GetIncome(ref int n, ref int stat, string lang, bool tax)
1154 {
1155 if (tax && !IsTaxFree)
1156 {
1157 n = n * 10 / 100;
1158 }
1159 if (n != 0)
1160 {
1161 Msg.Say(lang, Lang._currency(n, "money"), owner.Name);
1162 Thing t = ThingGen.Create("money").SetNum(n);
1163 EClass.pc.Pick(t);
1164 stat += n;
1165 n = 0;
1166 }
1167 }
1168 }
Thing Pick(Thing t, bool msg=true, bool tryStack=true)
Definition: Chara.cs:4231
Statistics statistics
Definition: Lang.cs:6
static string _currency(object a, string IDCurrency)
Definition: Lang.cs:162

References Lang._currency(), ThingGen.Create(), FactionBranch.Statistics.inn, Spatial.Name, EClass.pc, Chara.Pick(), Msg.Say(), Card.SetNum(), FactionBranch.Statistics.shop, and FactionBranch.Statistics.tourism.

Referenced by OnAfterSimulate().

◆ GetHappiness()

int FactionBranch.GetHappiness ( FactionMemberType  type)
inline

Definition at line 1536 of file FactionBranch.cs.

1537 {
1538 float num = 0f;
1539 if (members.Count == 0)
1540 {
1541 return 0;
1542 }
1543 foreach (Chara member in members)
1544 {
1545 num += (float)member.happiness;
1546 }
1547 return (int)(num / (float)members.Count);
1548 }
int happiness
Definition: Chara.cs:108

References Chara.happiness.

◆ GetHearthHint()

string FactionBranch.GetHearthHint ( int  a)
inline

Definition at line 1413 of file FactionBranch.cs.

1414 {
1415 if (a <= 1)
1416 {
1417 return "hearth1".lang();
1418 }
1419 string text = "";
1420 for (int i = 1; i < a; i++)
1421 {
1422 string text2 = ("hearth" + (i + 1)).lang();
1423 if (!text2.IsEmpty())
1424 {
1425 text = text + text2 + Environment.NewLine;
1426 }
1427 }
1428 return text.TrimEnd(Environment.NewLine.ToCharArray());
1429 }

Referenced by UIHomeInfo.RefreshInfo().

◆ GetHearthIncome() [1/2]

float FactionBranch.GetHearthIncome ( )
inline

Definition at line 1779 of file FactionBranch.cs.

1780 {
1781 float num = 0f;
1782 foreach (Element value in elements.dict.Values)
1783 {
1784 if (value.source.category == "culture")
1785 {
1786 num += GetHearthIncome(value.source.alias);
1787 }
1788 }
1789 return num;
1790 }
Dictionary< int, Element > dict
SourceElement.Row source
Definition: ELEMENT.cs:273
float GetHearthIncome()

References Element.source.

◆ GetHearthIncome() [2/2]

float FactionBranch.GetHearthIncome ( string  id)
inline

Definition at line 1792 of file FactionBranch.cs.

1793 {
1794 int num = 0;
1795 foreach (KeyValuePair<int, Element> item in elements.dict)
1796 {
1797 if (item.Value.source.aliasParent == id)
1798 {
1799 num++;
1800 }
1801 }
1802 return 0.2f * (float)num;
1803 }

References item.

◆ GetMaid()

Chara FactionBranch.GetMaid ( )
inline

Definition at line 1577 of file FactionBranch.cs.

1578 {
1579 foreach (Chara member in members)
1580 {
1581 if (member.IsAliveInCurrentZone && member.IsMaid)
1582 {
1583 return member;
1584 }
1585 }
1586 return null;
1587 }
override bool IsAliveInCurrentZone
Definition: Chara.cs:559
bool IsMaid
Definition: Chara.cs:1025

References Chara.IsAliveInCurrentZone, and Chara.IsMaid.

Referenced by MeetingManager.CallNext().

◆ GetMailBox()

Thing FactionBranch.GetMailBox ( )
inline

Definition at line 1031 of file FactionBranch.cs.

1032 {
1033 return EClass._map.props.installed.FindEmptyContainer<TraitMailPost>();
1034 }
PropsManager props
Definition: Map.cs:91
PropsInstalled installed
Definition: PropsManager.cs:8

References EClass._map, PropsManager.installed, and Map.props.

◆ GetMailBoxPos()

Point FactionBranch.GetMailBoxPos ( )
inline

Definition at line 1036 of file FactionBranch.cs.

1037 {
1038 Thing thing = GetMailBox();
1039 if (thing == null)
1040 {
1042 }
1043 if (thing != null)
1044 {
1045 return thing.pos.GetNearestPoint(allowBlock: false, allowChara: true, allowInstalled: false, ignoreCenter: true).Clamp(useBounds: true);
1046 }
1047 return EClass._map.GetCenterPos();
1048 }
Thing GetMailBox()
Point GetCenterPos()
Definition: MapBounds.cs:52
Point GetNearestPoint(bool allowBlock=false, bool allowChara=true, bool allowInstalled=true, bool ignoreCenter=false, int minRadius=0)
Definition: Point.cs:607
Point Clamp(bool useBounds=false)
Definition: Point.cs:992

References EClass._map, Point.Clamp(), Props.Find(), MapBounds.GetCenterPos(), Point.GetNearestPoint(), PropsManager.installed, Card.pos, and Map.props.

◆ GetMeal()

Thing FactionBranch.GetMeal ( Chara  c)
inline

Definition at line 1170 of file FactionBranch.cs.

1171 {
1172 if (c.things.IsFull())
1173 {
1174 return null;
1175 }
1176 Thing thing = EClass._zone.TryGetThingFromSharedContainer((Thing t) => c.CanEat(t, shouldEat: true) && !t.c_isImportant);
1177 if (thing != null)
1178 {
1179 thing = thing.Split(1);
1180 }
1181 return thing;
1182 }
Thing Split(int a)
Definition: Card.cs:3414
bool c_isImportant
Definition: Card.cs:1024
bool CanEat(Thing t, bool shouldEat=false)
Definition: Chara.cs:7422

References EClass._zone, Card.c_isImportant, Chara.CanEat(), ThingContainer.IsFull(), Card.Split(), Card.things, and Zone.TryGetThingFromSharedContainer().

Referenced by AI_Idle.Run().

◆ GetNextExp()

int FactionBranch.GetNextExp ( int  _lv = -1)
inline

Definition at line 156 of file FactionBranch.cs.

157 {
158 if (_lv == -1)
159 {
160 _lv = lv;
161 }
162 return _lv * _lv * 100 + 100;
163 }

References lv.

Referenced by WidgetStatsBar.Build(), LayerShippingResult.Refresh(), and CoreDebug.UpdateInput().

◆ GetPastureCost()

int FactionBranch.GetPastureCost ( )
inline

Definition at line 1760 of file FactionBranch.cs.

1761 {
1762 return CountMembers(FactionMemberType.Livestock);
1763 }
int CountMembers(FactionMemberType type, bool onlyAlive=false)

Referenced by UIHomeInfo.RefreshInfo().

◆ GetProductBonus()

int FactionBranch.GetProductBonus ( Chara  c)
inline

Definition at line 179 of file FactionBranch.cs.

180 {
181 if (c.isDead || c.IsPCParty)
182 {
183 return 0;
184 }
185 if (c.memberType == FactionMemberType.Livestock)
186 {
187 return 100;
188 }
189 return Mathf.Max(1, (90 + Evalue(2116) / 2) * efficiency / 100);
190 }

References efficiency, Evalue(), Chara.isDead, Chara.IsPCParty, and Chara.memberType.

◆ GetRandomName()

string FactionBranch.GetRandomName ( )
inline

Definition at line 1589 of file FactionBranch.cs.

1590 {
1591 if (EClass.rnd(4) == 0 || members.Count == 0)
1592 {
1593 return EClass.player.title;
1594 }
1595 return members.RandomItem().Name;
1596 }
static Player player
Definition: EClass.cs:12
string title
Definition: Player.cs:1001

References EClass.player, EClass.rnd(), and Player.title.

Referenced by BaseArea.GetRandomName().

◆ GetResidentTax()

int FactionBranch.GetResidentTax ( )
inline

Definition at line 1050 of file FactionBranch.cs.

1051 {
1052 if (!policies.IsActive(2512, 30))
1053 {
1054 return 0;
1055 }
1056 int num = 0;
1057 int num2 = (policies.IsActive(2500, 30) ? Evalue(2500) : 0);
1058 int num3 = (policies.IsActive(2501, 30) ? Evalue(2501) : 0);
1059 int num4 = 50 + (int)Mathf.Sqrt(Evalue(2512)) * 5;
1060 foreach (Chara member in members)
1061 {
1062 if (member.IsPC || member.memberType != 0)
1063 {
1064 continue;
1065 }
1066 bool isWealthy = member.IsWealthy;
1067 int num5 = 0;
1068 foreach (Hobby item in member.ListWorks().Concat(member.ListHobbies()))
1069 {
1070 int num6 = item.source.tax * 100 / 100;
1071 if (num6 > num5)
1072 {
1073 num5 = num6;
1074 }
1075 }
1076 int num7 = ((isWealthy ? 50 : 10) + member.LV * 2) * num5 / 100 * num4 / 100;
1077 if (isWealthy && num2 > 0)
1078 {
1079 num7 = num7 * (150 + (int)Mathf.Sqrt(num2) * 5) / 100;
1080 }
1081 if (num3 > 0)
1082 {
1083 num7 += (80 + (int)Mathf.Sqrt(num3) * 5) * member.faith.source.tax / 100;
1084 }
1085 num7 = num7 * efficiency / (IsTaxFree ? 100 : 1000);
1086 num += num7;
1087 if (num7 > 0)
1088 {
1089 Log("bTax", num7.ToString() ?? "", member.Name);
1090 }
1091 }
1092 statistics.tax += num;
1093 return num;
1094 }
Religion faith
Definition: Chara.cs:437
SourceReligion.Row source
Definition: Religion.cs:32

References Chara.faith, PolicyManager.IsActive(), Chara.IsPC, Chara.IsWealthy, item, Chara.ListHobbies(), Chara.ListWorks(), Card.LV, Chara.memberType, Card.Name, and Religion.source.

Referenced by Faction.GetResidentTax().

◆ GetTechUpgradeCost()

int FactionBranch.GetTechUpgradeCost ( Element  e)
inline

Definition at line 1805 of file FactionBranch.cs.

1806 {
1807 int valueWithoutLink = e.ValueWithoutLink;
1808 valueWithoutLink += e.CostLearn;
1809 if (e.source.max != 0 && e.ValueWithoutLink >= e.source.max)
1810 {
1811 return 0;
1812 }
1813 return valueWithoutLink;
1814 }
int ValueWithoutLink
Definition: ELEMENT.cs:294
virtual int CostLearn
Definition: ELEMENT.cs:314

References Element.CostLearn, Element.source, and Element.ValueWithoutLink.

Referenced by ButtonElement.Refresh(), and LayerHome.RefreshFeat().

◆ GetUpgradeCost()

int FactionBranch.GetUpgradeCost ( )
inline

Definition at line 1383 of file FactionBranch.cs.

1384 {
1385 return lv * lv * lv * 1000;
1386 }

◆ IsAllDead()

bool FactionBranch.IsAllDead ( )
inline

Definition at line 1550 of file FactionBranch.cs.

1551 {
1552 foreach (Chara member in members)
1553 {
1554 if (!member.isDead)
1555 {
1556 return false;
1557 }
1558 }
1559 return true;
1560 }

References Chara.isDead.

◆ IsRecruit()

bool FactionBranch.IsRecruit ( Chara  c)
inline

Definition at line 1743 of file FactionBranch.cs.

1744 {
1745 foreach (HireInfo item in listRecruit)
1746 {
1747 if (item.chara == c)
1748 {
1749 return true;
1750 }
1751 }
1752 return false;
1753 }

References item.

Referenced by DramaOutcome.chara_hired().

◆ Log() [1/3]

string FactionBranch.Log ( string  idLang,
Card  c1,
Card  c2,
string  ref1 = null,
string  ref2 = null 
)
inline

Definition at line 1822 of file FactionBranch.cs.

1823 {
1824 Msg.alwaysVisible = true;
1825 return LogRaw(Msg.GetRawText(idLang, c1, c2, ref1, ref2), EClass.sources.langGame.map[idLang].logColor);
1826 }
string LogRaw(string text, string col=null)
static string GetRawText(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:37
LangGame langGame

References Msg.GetRawText(), SourceManager.langGame, and EClass.sources.

◆ Log() [2/3]

string FactionBranch.Log ( string  idLang,
Card  c1,
string  ref1 = null,
string  ref2 = null,
string  ref3 = null 
)
inline

Definition at line 1828 of file FactionBranch.cs.

1829 {
1830 Msg.alwaysVisible = true;
1831 return LogRaw(Msg.GetRawText(idLang, c1, ref1, ref2, ref3), EClass.sources.langGame.map[idLang].logColor);
1832 }

References Msg.GetRawText(), SourceManager.langGame, and EClass.sources.

◆ Log() [3/3]

string FactionBranch.Log ( string  idLang,
string  ref1 = null,
string  ref2 = null,
string  ref3 = null,
string  ref4 = null 
)
inline

Definition at line 1816 of file FactionBranch.cs.

1817 {
1818 Msg.alwaysVisible = true;
1819 return LogRaw(Msg.GetRawText(idLang, ref1, ref2, ref3, ref4), EClass.sources.langGame.map[idLang].logColor);
1820 }

References Msg.GetRawText(), SourceManager.langGame, and EClass.sources.

Referenced by AI_Shopping.Buy(), Zone.ClaimZone(), Chara.Die(), Expedition.End(), ElementContainerCard.OnLevelUp(), ElementContainerZone.OnLevelUp(), Chara.Revive(), and Expedition.Start().

◆ LogRaw()

string FactionBranch.LogRaw ( string  text,
string  col = null 
)
inline

Definition at line 1834 of file FactionBranch.cs.

1835 {
1836 log.Add(text, col.IsEmpty() ? null : col);
1837 Msg.alwaysVisible = false;
1838 Msg.SetColor();
1839 return text;
1840 }
void Add(Data data)
Definition: MsgLog.cs:53
static void SetColor()
Definition: Msg.cs:22

References MsgLog.Add(), and Msg.SetColor().

◆ ModExp()

void FactionBranch.ModExp ( int  a)
inline

Definition at line 1388 of file FactionBranch.cs.

1389 {
1390 if (policies.IsActive(2515))
1391 {
1392 return;
1393 }
1394 if (policies.IsActive(2516))
1395 {
1396 a = a * 150 / 100 + EClass.rnd(2);
1397 }
1398 exp += a;
1399 if (exp >= GetNextExp() && CanUpgrade())
1400 {
1401 if (EClass.core.version.demo && lv >= 3)
1402 {
1403 exp = 0;
1404 Msg.Say("demoLimit2");
1405 }
1406 else
1407 {
1408 Upgrade();
1409 }
1410 }
1411 }
Version version
Definition: BaseCore.cs:17
static Core core
Definition: EClass.cs:6
bool demo
Definition: Version.cs:14

References EClass.core, Version.demo, PolicyManager.IsActive(), EClass.rnd(), Msg.Say(), and BaseCore.version.

Referenced by CoreDebug.UpdateInput().

◆ OnActivateZone()

void FactionBranch.OnActivateZone ( )
inline

Definition at line 277 of file FactionBranch.cs.

278 {
279 incomeInn = 0;
280 incomeTourism = 0;
281 foreach (Chara member in members)
282 {
283 if (member.IsAliveInCurrentZone && !member.pos.IsInBounds)
284 {
286 }
288 }
290 }
void MoveImmediate(Point p, bool focus=true, bool cancelAI=true)
Definition: Card.cs:5700
void ValidateUpgradePolicies()
bool IsInBounds
Definition: Point.cs:104

References EClass._map, elements, MapBounds.GetCenterPos(), Point.GetNearestPoint(), incomeInn, incomeTourism, Chara.IsAliveInCurrentZone, Point.IsInBounds, members, Card.MoveImmediate(), Card.pos, Chara.RefreshWorkElements(), and ValidateUpgradePolicies().

◆ OnAdvanceDay()

void FactionBranch.OnAdvanceDay ( )
inline

Definition at line 580 of file FactionBranch.cs.

581 {
582 int num = 0;
583 foreach (Chara member in members)
584 {
585 if (member.IsPC || member.isDead)
586 {
587 continue;
588 }
589 if (member.IsPCParty || member.currentZone == EClass.pc.currentZone)
590 {
591 member.c_daysWithPC++;
592 }
593 if (member.memberType == FactionMemberType.Default)
594 {
595 if (EClass.rnd(3) == 0)
596 {
597 num++;
598 }
599 if (member.GetWork("Pioneer") != null)
600 {
601 num += 3;
602 }
603 }
604 }
605 ModExp(num);
606 }
int c_daysWithPC
Definition: Card.cs:1485
Zone currentZone
Definition: Chara.cs:253
void ModExp(int a)

References Card.c_daysWithPC, Chara.currentZone, Chara.GetWork(), Chara.isDead, Chara.IsPC, Chara.IsPCParty, Chara.memberType, EClass.pc, and EClass.rnd().

Referenced by Faction.OnAdvanceDay().

◆ OnAfterSimulate()

void FactionBranch.OnAfterSimulate ( )
inline

Definition at line 292 of file FactionBranch.cs.

293 {
294 if (!EClass.game.isLoading)
295 {
297 }
298 foreach (Chara chara in EClass._map.charas)
299 {
300 if (!chara.IsPCParty && !chara.noMove)
301 {
302 if ((chara.pos.cell.HasBlock || chara.pos.cell.hasDoor) && !chara.isRestrained && !chara.HasCondition<ConSuspend>())
303 {
304 chara.MoveImmediate(chara.pos.GetNearestPoint(allowBlock: false, allowChara: false) ?? chara.pos);
305 }
307 {
308 EClass.pc.party.AddMemeber(chara, showMsg: true);
309 }
310 }
311 }
312 }
bool isRestrained
Definition: Card.cs:566
bool noMove
Definition: Card.cs:770
bool HasBlock
Definition: Cell.cs:643
bool hasDoor
Definition: Cell.cs:258
bool HasCondition(string alias)
Definition: Chara.cs:9145
static Game game
Definition: EClass.cs:8
void GetDailyIncome()
bool isLoading
Definition: Game.cs:238
bool simulatingZone
Definition: Player.cs:1176
Cell cell
Definition: Point.cs:51

References EClass._map, Party.AddMemeber(), Card.c_wasInPcParty, Point.cell, Map.charas, EClass.game, GetDailyIncome(), Point.GetNearestPoint(), Cell.HasBlock, Chara.HasCondition(), Cell.hasDoor, Game.isLoading, Chara.IsPCParty, Card.isRestrained, Card.MoveImmediate(), Card.noMove, Chara.party, EClass.pc, EClass.player, Card.pos, and Player.simulatingZone.

Referenced by Zone.OnVisit().

◆ OnClaimZone()

void FactionBranch.OnClaimZone ( )
inline

Definition at line 1184 of file FactionBranch.cs.

1185 {
1187 {
1188 foreach (SourceElement.Row item in EClass.sources.elements.rows.Where((SourceElement.Row a) => a.category == "tech"))
1189 {
1190 elements.SetBase(item.id, 1);
1191 }
1192 foreach (SourceElement.Row item2 in EClass.sources.elements.rows.Where((SourceElement.Row a) => a.category == "policy" && !a.tag.Contains("hidden")))
1193 {
1194 policies.AddPolicy(item2.id);
1195 }
1196 }
1197 else
1198 {
1199 elements.SetBase(2003, 1);
1200 elements.SetBase(4002, 1);
1201 elements.SetBase(2115, 1);
1202 elements.SetBase(2204, 1);
1203 elements.SetBase(2120, 1);
1204 policies.AddPolicy(2512);
1205 policies.AddPolicy(2702);
1206 policies.AddPolicy(2703);
1207 policies.AddPolicy(2516);
1208 policies.AddPolicy(2515);
1209 policies.AddPolicy(2514);
1210 }
1212 {
1213 policies.Activate(2514);
1214 }
1215 Element element = EClass._zone.ListLandFeats()[0];
1216 elements.SetBase(element.id, 1);
1217 switch (element.id)
1218 {
1219 case 3604:
1220 elements.SetBase(2206, 10);
1221 break;
1222 case 3602:
1223 elements.SetBase(2206, 15);
1224 break;
1225 }
1227 {
1229 }
1231 {
1232 foreach (SourceElement.Row item3 in EClass.sources.elements.rows.Where((SourceElement.Row a) => a.category == "policy"))
1233 {
1234 policies.AddPolicy(item3.id);
1235 }
1236 }
1238 }
bool allPolicy
Definition: CoreDebug.cs:237
bool allHomeSkill
Definition: CoreDebug.cs:195
int id
Definition: ELEMENT.cs:250
void AddMemeber(Chara c)
int CountTaxFreeLand()
Definition: FACTION.cs:549
Zone StartZone
Definition: Game.cs:274
void Activate(int id)
void AddPolicy(string id)
List< Element > ListLandFeats()
Definition: Zone.cs:3043

References EClass._zone, PolicyManager.Activate(), PolicyManager.AddPolicy(), CoreDebug.allHomeSkill, CoreDebug.allPolicy, Faction.CountTaxFreeLand(), EClass.debug, SourceManager.elements, Chara.faction, EClass.game, Card.id, Element.id, item, Zone.ListLandFeats(), EClass.pc, EClass.sources, and Game.StartZone.

Referenced by Zone.ClaimZone().

◆ OnCreate()

void FactionBranch.OnCreate ( Zone  zone)
inline

Definition at line 240 of file FactionBranch.cs.

241 {
242 SetOwner(zone);
243 stash = ThingGen.Create("container_salary");
247 }
void RemoveThings()
Definition: Card.cs:3240
Religion faith
void SetOwner(Zone zone)
ReligionManager religions
Definition: Game.cs:158
ReligionEyth Eyth

References ThingGen.Create(), World.date, dateFound, ReligionManager.Eyth, faith, EClass.game, Date.GetRaw(), Game.religions, Card.RemoveThings(), SetOwner(), stash, and EClass.world.

Referenced by Zone.ClaimZone().

◆ OnSimulateDay()

void FactionBranch.OnSimulateDay ( VirtualDate  date)
inline

Definition at line 526 of file FactionBranch.cs.

527 {
528 if (owner == null || owner.mainFaction != EClass.Home)
529 {
530 return;
531 }
535 if (!date.IsRealTime)
536 {
537 BranchMap branchMap = date.GetBranchMap();
538 foreach (Chara member in members)
539 {
540 if (!member.IsPCParty && member.memberType != FactionMemberType.Livestock && !member.faith.IsEyth && !member.c_isPrayed && branchMap.altarMap.Contains(member.faith.id))
541 {
542 AI_Pray.Pray(member, silent: true);
543 }
544 }
545 }
546 foreach (Chara member2 in members)
547 {
548 member2.c_isPrayed = false;
549 member2.c_isTrained = false;
550 }
551 if (date.day != 1)
552 {
553 return;
554 }
555 luckyMonth = false;
556 if (date.month == 1)
557 {
558 luckyMonthDone = false;
559 }
560 if (!luckyMonthDone)
561 {
562 bool flag = EClass.pc.faith == EClass.game.religions.Luck;
563 luckyMonth = (float)(flag ? 30 : 5) + Mathf.Sqrt(Evalue(2118)) * (float)(flag ? 4 : 2) > (float)EClass.rnd(720);
564 if (EClass.debug.enable)
565 {
566 luckyMonth = true;
567 }
568 if (luckyMonth)
569 {
570 Log("lucky_month", EClass._zone.Name);
571 Msg.Say("lucky_month", EClass._zone.Name);
572 Msg.Say("umi");
573 SE.Play("godbless");
574 EClass.world.SendPackage(ThingGen.Create("book_kumiromi"));
575 luckyMonthDone = true;
576 }
577 }
578 }
static void Pray(Chara c, bool silent=false)
Definition: AI_Pray.cs:52
HashSet< string > altarMap
Definition: BranchMap.cs:5
bool c_isPrayed
Definition: Card.cs:1072
int month
Definition: Date.cs:50
int day
Definition: Date.cs:62
HappinessManager happiness
ResearchManager researches
HomeResourceManager resources
ReligionLuck Luck
bool IsEyth
Definition: Religion.cs:44
virtual string id
Definition: Religion.cs:26
Faction mainFaction
Definition: Spatial.cs:430
BranchMap GetBranchMap()
Definition: VirtualDate.cs:44
void SendPackage(Thing p)
Definition: World.cs:68

References EClass._zone, Card.c_isPrayed, ThingGen.Create(), EClass.debug, CoreDebug.enable, Chara.faith, EClass.game, VirtualDate.GetBranchMap(), EClass.Home, Religion.id, Religion.IsEyth, Chara.IsPCParty, VirtualDate.IsRealTime, ReligionManager.Luck, Spatial.mainFaction, Chara.memberType, Spatial.Name, HappinessManager.OnSimulateDay(), HomeResourceManager.OnSimulateDay(), ResearchManager.OnSimulateDay(), AI_Pray.Pray(), Game.religions, EClass.rnd(), Msg.Say(), World.SendPackage(), and EClass.world.

Referenced by Zone.OnSimulateDay().

◆ OnSimulateHour()

void FactionBranch.OnSimulateHour ( VirtualDate  date)
inline

Definition at line 318 of file FactionBranch.cs.

319 {
320 int num = CountMembers(FactionMemberType.Default, onlyAlive: true);
321 int starveChance = Mathf.Max(num - MaxPopulation, 0);
322 members.ForeachReverse(delegate(Chara c)
323 {
324 if (!c.IsPCParty && c.IsAliveInCurrentZone && !c.noMove)
325 {
326 if (EClass.rnd(24 * members.Count) < starveChance)
327 {
328 starveChance--;
329 }
330 else
331 {
332 c.TickWork(date);
333 }
334 if (!date.IsRealTime && EClass.rnd(3) != 0 && c.memberType == FactionMemberType.Default)
335 {
336 c.hunger.Mod(1);
337 if (c.hunger.GetPhase() >= 3)
338 {
339 Thing meal = GetMeal(c);
340 if (meal != null)
341 {
342 FoodEffect.Proc(c, meal);
343 }
344 else
345 {
346 c.hunger.Mod(-50);
347 }
348 }
349 }
350 }
351 });
355 int num2 = Evalue(3707);
356 int num3 = Evalue(3705) + Evalue(3710) * 2;
357 int num4 = 4 + num3 * 4;
358 int num5 = Mathf.Max(1, (100 + Evalue(2205) * 5 + Evalue(3703) * 100 - num2 * 80) / 10);
359 int num6 = 10;
360 if (policies.IsActive(2709))
361 {
362 num6 = 0;
363 }
365 {
366 num5 /= 2;
367 }
368 if ((date.IsRealTime || num2 > 0) && !EClass.debug.enable && EClass.rnd(num5) == 0 && !EClass.pc.IsDeadOrSleeping && EClass._map.CountHostile() < num4)
369 {
370 int num7 = 1 + EClass.rnd(num2 + num3 + 1);
371 for (int i = 0; i < num7; i++)
372 {
374 if (chara.IsAnimal && policies.IsActive(2709))
375 {
376 chara.Destroy();
377 }
378 }
379 }
380 if ((date.IsRealTime || num2 == 0) && num6 != 0 && EClass.rnd(num6) == 0 && EClass._map.CountWildAnimal() < num4)
381 {
383 }
384 if (EClass.rnd(5) == 0 && policies.IsActive(2810))
385 {
386 int num8 = 3 + lv + Evalue(2206) / 5 + Evalue(3702) * 2 + Evalue(2202) / 2;
387 num8 = num8 * (100 + Evalue(3702) * 20 + Evalue(2206)) / 100;
388 num8 = num8 * (100 + (int)Mathf.Sqrt(Evalue(2811)) * 3) / 100;
389 if (luckyMonth)
390 {
391 num8 = num8 * 2 + 5;
392 }
393 if (EClass._map.CountGuest() < num8)
394 {
395 Chara chara2;
396 if (luckyMonth || (policies.IsActive(2822) && Mathf.Sqrt(Evalue(2822) / 2) + 5f >= (float)EClass.rnd(100)))
397 {
400 }
401 else
402 {
404 }
405 if (chara2 != null && (chara2.id == "nun_mother" || chara2.id == "prostitute") && policies.IsActive(2710))
406 {
407 chara2.Destroy();
408 chara2 = null;
409 }
410 if (chara2 != null)
411 {
413 chara2.memberType = FactionMemberType.Guest;
414 chara2.SetInt(34, EClass.world.date.GetRaw());
415 chara2.c_allowance = chara2.LV * 100;
416 if (chara2.IsWealthy)
417 {
418 chara2.c_allowance *= 10;
419 }
420 if (date.IsRealTime)
421 {
422 Msg.Say("guestArrive", chara2.Name);
423 }
424 else
425 {
426 chara2.TryAssignBed();
427 }
428 }
429 }
430 }
431 foreach (Chara chara4 in EClass._map.charas)
432 {
433 if (chara4.memberType != FactionMemberType.Guest || ((chara4.c_allowance > 0 || EClass.rnd(2) != 0) && chara4.GetInt(34) + 10080 >= EClass.world.date.GetRaw()))
434 {
435 continue;
436 }
437 foreach (Chara item in EClass._zone.ListMinions(chara4))
438 {
439 item.Destroy();
440 }
441 if (!chara4.IsGlobal)
442 {
443 chara4.Destroy();
444 }
445 chara4.ClearBed();
446 break;
447 }
448 if (date.hour == 5)
449 {
450 for (int j = 0; j < ((!luckyMonth) ? 1 : 2); j++)
451 {
452 DailyOutcome(date);
453 }
454 GenerateGarbage(date);
455 if (!date.IsRealTime)
456 {
457 AutoClean();
458 }
461 if (date.IsRealTime)
462 {
464 }
465 }
466 if (!EClass.player.simulatingZone && date.hour == 6)
467 {
468 ReceivePackages(date);
469 }
470 if (!date.IsRealTime && date.hour % 8 == 0)
471 {
472 foreach (Chara item2 in EClass._map.charas.Where((Chara c) => c.memberType == FactionMemberType.Guest).ToList())
473 {
474 for (int k = 0; k < 3; k++)
475 {
476 AI_Shopping.TryShop(item2, realtime: false);
477 }
478 }
479 AI_Shopping.TryRestock(EClass.pc, realtime: false);
480 }
481 if (EClass.rnd(24) == 0 || EClass.debug.enable)
482 {
483 foreach (Thing thing in EClass._map.things)
484 {
485 if (EClass.rnd(20) == 0 && thing.trait is TraitFoodEggFertilized && thing.pos.FindThing<TraitBed>() != null)
486 {
487 Chara chara3 = TraitFoodEggFertilized.Incubate(thing, thing.pos);
488 thing.ModNum(-1);
489 if (date.IsRealTime)
490 {
491 chara3.PlaySound("egg");
492 }
493 break;
494 }
495 }
496 }
498 }
SpawnPosition
Definition: SpawnPosition.cs:2
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
Definition: UIBook.cs:627
static bool TryRestock(Chara c, bool realtime)
Definition: AI_Shopping.cs:94
static bool TryShop(Chara c, bool realtime)
Definition: AI_Shopping.cs:10
int GetInt(int id, int? defaultInt=null)
Definition: BaseCard.cs:25
void SetInt(int id, int value=0)
Definition: BaseCard.cs:39
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:6001
int c_allowance
Definition: Card.cs:1317
static Chara CreateWealthy(int lv=-1)
Definition: CharaGen.cs:53
TraitBed TryAssignBed()
Definition: Chara.cs:7177
bool IsAnimal
Definition: Chara.cs:865
override bool IsDeadOrSleeping
Definition: Chara.cs:571
int hour
Definition: Date.cs:74
bool IsNight
Definition: Date.cs:112
MeetingManager meetings
ExpeditionManager expeditions
void DailyOutcome(VirtualDate date)
void CalcInnIncome()
void CalcTourismIncome()
void GenerateGarbage(VirtualDate date)
void ReceivePackages(VirtualDate date)
int CountHostile()
Definition: Map.cs:2467
int CountGuest()
Definition: Map.cs:2454
int CountWildAnimal()
Definition: Map.cs:2480
void OnSimulateHour(VirtualDate date)
Thing FindThing(Func< Thing, bool > func)
Definition: Point.cs:1124
void OnSimulateHour(VirtualDate date)
static SpawnSetting HomeWild(int lv)
Definition: SpawnSetting.cs:93
static SpawnSetting HomeEnemy(int lv)
static SpawnSetting HomeGuest(int lv)
static Chara Incubate(Thing egg, Point pos, Card incubator=null)
List< Chara > ListMinions(Chara c)
Definition: Zone.cs:3628
Chara SpawnMob(Point pos=null, SpawnSetting setting=null)
Definition: Zone.cs:2712
Card AddCard(Card t, Point point)
Definition: Zone.cs:1948
Point GetSpawnPos(Chara c, ZoneTransition.EnterState destState=ZoneTransition.EnterState.Auto)
Definition: Zone.cs:1317

References CountMembers(), if(), Chara.IsAliveInCurrentZone, Chara.IsPCParty, VirtualDate.IsRealTime, MaxPopulation, members, Chara.memberType, Card.noMove, and EClass.rnd().

Referenced by Zone.OnSimulateHour().

◆ OnSimulateMonth()

void FactionBranch.OnSimulateMonth ( VirtualDate  date)
inline

Definition at line 608 of file FactionBranch.cs.

609 {
611 statistics = new Statistics();
612 }
Statistics lastStatistics

Referenced by Zone.OnSimulateMonth().

◆ OnUnclaimZone()

void FactionBranch.OnUnclaimZone ( )
inline

Definition at line 1240 of file FactionBranch.cs.

1241 {
1242 List<Element> source = owner.ListLandFeats();
1243 if (lv >= 5)
1244 {
1245 foreach (Element item in source.Where((Element a) => a.HasTag("network")).ToList())
1246 {
1248 }
1249 }
1250 Element[] array = elements.dict.Values.ToArray();
1251 foreach (Element element in array)
1252 {
1253 elements.SetBase(element.id, 0);
1254 }
1255 owner.landFeats = null;
1257 owner.branch = null;
1258 }
bool HasTag(string tag)
Definition: ELEMENT.cs:473

References Faction.elements, Chara.faction, Element.HasTag(), Element.id, item, Zone.ListLandFeats(), ElementContainer.ModBase(), and EClass.pc.

Referenced by Zone.AbandonZone().

◆ OnUnloadMap()

void FactionBranch.OnUnloadMap ( )
inline

Definition at line 314 of file FactionBranch.cs.

315 {
316 }

Referenced by Zone.UnloadMap().

◆ PutInMailBox()

void FactionBranch.PutInMailBox ( Thing  t,
bool  outside = false,
bool  install = true 
)
inline

Definition at line 1012 of file FactionBranch.cs.

1013 {
1014 if (!outside)
1015 {
1016 Thing mailBox = GetMailBox();
1017 if (mailBox != null)
1018 {
1019 mailBox.AddCard(t);
1020 return;
1021 }
1022 }
1023 Point mailBoxPos = GetMailBoxPos();
1024 EClass._zone.AddCard(t, mailBoxPos);
1025 if (install)
1026 {
1027 t.Install();
1028 }
1029 }
Card AddCard(Card c)
Definition: Card.cs:3071
Card Install()
Definition: Card.cs:3671
Point GetMailBoxPos()

References EClass._zone, Card.AddCard(), Zone.AddCard(), and Card.Install().

◆ ReceivePackages()

void FactionBranch.ReceivePackages ( VirtualDate  date)
inline

Definition at line 716 of file FactionBranch.cs.

717 {
719 {
720 return;
721 }
722 List<Thing> listPackage = EClass.game.cards.listPackage;
723 if (EClass.player.stats.days >= 2 && !EClass.player.flags.elinGift && Steam.HasDLC(ID_DLC.BackerReward))
724 {
725 listPackage.Add(ThingGen.Create("gift"));
726 EClass.player.flags.elinGift = true;
727 }
728 if (listPackage.Count == 0)
729 {
730 return;
731 }
732 SE.Play("notice");
733 int num = 0;
734 foreach (Thing item in listPackage)
735 {
736 if (item.id != "bill")
737 {
738 num++;
739 }
740 PutInMailBox(item, item.id == "cardboard_box" || item.id == "gift");
741 WidgetPopText.Say("popDeliver".lang(item.Name));
742 }
743 Msg.Say("deliver_arrive", num.ToString() ?? "");
744 listPackage.Clear();
745 }
ID_DLC
Definition: ID_DLC.cs:2
void Add(Act a, string s="")
Definition: ActPlan.cs:11
List< Thing > listPackage
Definition: CardManager.cs:61
void PutInMailBox(Thing t, bool outside=false, bool install=true)
CardManager cards
Definition: Game.cs:155
bool elinGift
Definition: Player.cs:380
int days
Definition: Player.cs:75
Flags flags
Definition: Player.cs:1091
Stats stats
Definition: Player.cs:1013
Definition: Steam.cs:8
static bool HasDLC(ID_DLC id)
Definition: Steam.cs:39

References ActPlan.List.Add(), Game.cards, ThingGen.Create(), Player.Stats.days, Player.Flags.elinGift, Player.flags, EClass.game, Steam.HasDLC(), item, CardManager.listPackage, EClass.player, Msg.Say(), WidgetPopText.Say(), Player.simulatingZone, and Player.stats.

◆ Recruit()

void FactionBranch.Recruit ( Chara  c)
inline

Definition at line 1562 of file FactionBranch.cs.

1563 {
1564 RemoveRecruit(c);
1565 AddMemeber(c);
1566 c.isRestrained = false;
1567 if (c.currentZone != EClass._zone && !c.isDead)
1568 {
1570 EClass._zone.AddCard(c, point);
1571 }
1574 Msg.Say("hire".langGame(c.Name));
1575 }
void RemoveRecruit(Chara c)
TraitManager traits
Definition: Props.cs:18
TraitSet GetTraitSet(Type t)
Definition: TraitManager.cs:94
Point GetPoint()
Definition: Trait.cs:731

References EClass._map, EClass._zone, Zone.AddCard(), Chara.currentZone, Trait.GetPoint(), TraitManager.GetTraitSet(), Map.Installed, Chara.isDead, Card.Name, EClass.pc, Card.pos, Chara.RefreshWorkElements(), Msg.Say(), and Props.traits.

Referenced by DramaOutcome.chara_hired(), DramaOutcome.chara_hired_ticket(), ListPeopleCallReserve.OnClick(), and DramaOutcome.QuestExploration_MeetFarris2().

◆ RefreshEfficiency()

void FactionBranch.RefreshEfficiency ( )
inline

Definition at line 192 of file FactionBranch.cs.

193 {
194 int num = 100;
195 int num2 = CountMembers(FactionMemberType.Default);
196 int ration = 0;
197 foreach (Chara member in members)
198 {
199 if (member.memberType != 0 || member.IsPCParty || member.homeBranch == null || member.homeBranch.owner == null)
200 {
201 continue;
202 }
203 foreach (Hobby item in member.ListHobbies())
204 {
205 TryAdd(item);
206 }
207 foreach (Hobby item2 in member.ListWorks())
208 {
209 TryAdd(item2);
210 }
211 }
212 if (num2 > MaxPopulation)
213 {
214 num -= (num2 - MaxPopulation) * 20 * 100 / (100 + 20 * (int)Mathf.Sqrt(ration));
215 }
216 if (efficiency < 0)
217 {
218 efficiency = 0;
219 }
220 efficiency = num;
221 void TryAdd(Hobby h)
222 {
223 if (!h.source.elements.IsEmpty())
224 {
225 for (int i = 0; i < h.source.elements.Length; i += 2)
226 {
227 if (h.source.elements[i] == 2207)
228 {
229 ration += h.source.elements[i + 1];
230 }
231 }
232 }
233 }
234 }
FactionBranch homeBranch
Definition: Chara.cs:1064

References CountMembers(), efficiency, Chara.homeBranch, Chara.IsPCParty, item, Chara.ListHobbies(), Chara.ListWorks(), MaxPopulation, members, Chara.memberType, owner, and Hobby.source.

Referenced by Party.AddMemeber(), UIHomeInfo.RefreshReport(), Party.RemoveMember(), and SetOwner().

◆ RemoveMemeber()

void FactionBranch.RemoveMemeber ( Chara  c)
inline

Definition at line 1516 of file FactionBranch.cs.

1517 {
1518 c.isSale = false;
1519 if (c.currentZone != null && c.currentZone.map != null)
1520 {
1522 c.currentZone.map.props.sales.Remove(c);
1523 }
1525 if (!(c.trait is TraitUniqueChara) && !c.IsUnique && !EClass.game.cards.listAdv.Contains(c))
1526 {
1527 c.RemoveGlobal();
1528 }
1529 members.Remove(c);
1534 }
List< Chara > listAdv
Definition: CardManager.cs:64
new Faction Wilds
FactionManager factions
Definition: Game.cs:161
List< Card > sales
Definition: PropsManager.cs:14
Map map
Definition: Zone.cs:60

References Game.cards, Faction.charaElements, Chara.ClearBed(), Chara.currentZone, Chara.faction, Game.factions, EClass.game, Card.IsUnique, CardManager.listAdv, Zone.map, ElementContainerFaction.OnRemoveMember(), EClass.pc, Map.props, Chara.RefreshWorkElements(), Chara.RemoveGlobal(), PropsManager.sales, Chara.SetFaction(), Chara.trait, PolicyManager.Validate(), and FactionManager.Wilds.

Referenced by AddMemeber(), Faction.AddReserve(), Chara.Die(), and QuestDebt.OnStart().

◆ RemoveRecruit()

void FactionBranch.RemoveRecruit ( Chara  c)
inline

Definition at line 1711 of file FactionBranch.cs.

1712 {
1713 listRecruit.ForeachReverse(delegate(HireInfo i)
1714 {
1715 if (i.chara == c)
1716 {
1717 listRecruit.Remove(i);
1718 }
1719 });
1720 }
Chara chara
Definition: HireInfo.cs:6

References HireInfo.chara.

◆ SetOwner()

void FactionBranch.SetOwner ( Zone  zone)
inline

Definition at line 249 of file FactionBranch.cs.

250 {
251 owner = zone;
252 resources.SetOwner(this);
253 researches.SetOwner(this);
254 policies.SetOwner(this);
255 happiness.SetOwner(this);
256 expeditions.SetOwner(this);
257 meetings.SetOwner(this);
258 foreach (Chara value in EClass.game.cards.globalCharas.Values)
259 {
260 if (value == null)
261 {
262 Debug.LogError("exception: c==null");
263 }
264 else if (EClass.pc == null)
265 {
266 Debug.LogError("exception: pc==null");
267 }
268 else if (value.homeZone == zone && value.faction == EClass.pc.faction)
269 {
270 members.Add(value);
272 }
273 }
275 }
GlobalCharaList globalCharas
Definition: CardManager.cs:46
Zone homeZone
Definition: Chara.cs:265
void SetOwner(FactionBranch _branch)
void SetOwner(FactionBranch _owner)
void SetOwner(FactionBranch _owner)
void SetOwner(FactionBranch _branch)
void SetOwner(FactionBranch _owner)
void SetOwner(FactionBranch _branch)

References Game.cards, Faction.charaElements, Debug, expeditions, Chara.faction, EClass.game, CardManager.globalCharas, happiness, Chara.homeZone, meetings, members, ElementContainerFaction.OnAddMemeber(), owner, EClass.pc, policies, RefreshEfficiency(), researches, resources, ExpeditionManager.SetOwner(), MeetingManager.SetOwner(), ResearchManager.SetOwner(), HappinessManager.SetOwner(), HomeResourceManager.SetOwner(), and PolicyManager.SetOwner().

Referenced by OnCreate(), and Zone.OnLoad().

◆ TryTrash()

bool FactionBranch.TryTrash ( Thing  t)
inline

Definition at line 705 of file FactionBranch.cs.

706 {
707 Thing thing = ((t.id == "_poop" || t.source._origin == "dish") ? EClass._map.props.installed.FindEmptyContainer<TraitContainerCompost>(t) : (t.isFireproof ? EClass._map.props.installed.FindEmptyContainer<TraitContainerUnburnable>(t) : EClass._map.props.installed.FindEmptyContainer<TraitContainerBurnable>(t)));
708 if (thing != null)
709 {
710 thing.AddCard(t);
711 return true;
712 }
713 return EClass._zone.TryAddThingInSpot<TraitSpotGarbage>(t, useContainer: false);
714 }

References EClass._map, EClass._zone, Card.AddCard(), PropsManager.installed, and Map.props.

◆ UpdateReqruits()

void FactionBranch.UpdateReqruits ( bool  clear = false)
inline

Definition at line 1637 of file FactionBranch.cs.

1638 {
1640 if (clear)
1641 {
1642 listRecruit.ForeachReverse(delegate(HireInfo i)
1643 {
1644 if (!i.chara.IsGlobal)
1645 {
1646 i.chara.Destroy();
1647 }
1648 if (i.chara.isDestroyed)
1649 {
1650 listRecruit.Remove(i);
1651 }
1652 });
1653 listRecruit.Clear();
1654 lastUpdateReqruit = -1;
1655 }
1656 else
1657 {
1658 listRecruit.ForeachReverse(delegate(HireInfo i)
1659 {
1660 if (i.Hours < 0)
1661 {
1662 if (!i.chara.IsGlobal)
1663 {
1664 i.chara.Destroy();
1665 }
1666 listRecruit.Remove(i);
1667 }
1668 });
1669 }
1671 {
1672 return;
1673 }
1675 int num = 2 + (int)Mathf.Sqrt(Evalue(2513)) / 2;
1676 int num2 = EClass.rnd(3 + (int)Mathf.Sqrt(Evalue(2513)) / 2) + num - listRecruit.Count;
1677 if (num2 <= 0)
1678 {
1679 return;
1680 }
1681 new List<Chara>(EClass.game.cards.globalCharas.Values).Shuffle();
1682 for (int j = 0; j < num2; j++)
1683 {
1684 Chara chara = CharaGen.CreateFromFilter("c_neutral", ContentLV + Mathf.Min(EClass.player.stats.days, 10));
1685 if (chara.isBackerContent || chara.source.quality != 0)
1686 {
1687 j--;
1688 }
1689 else
1690 {
1691 AddRecruit(chara);
1692 }
1693 }
1695 {
1697 }
1698 }
bool isBackerContent
Definition: Card.cs:925
static Chara CreateFromFilter(string id, int lv=-1, int levelRange=-1)
Definition: CharaGen.cs:22
SourceChara.Row source
Definition: Chara.cs:156
void AddRecruit(Chara c)
SurvivalManager survival
Definition: Game.cs:224
bool IsSurvival
Definition: Game.cs:272
int Hours
Definition: HireInfo.cs:26
void OnUpdateRecruit(FactionBranch branch)

References HireInfo.chara, HireInfo.Hours, if(), Card.isDestroyed, Chara.IsGlobal, and HomeResourceManager.Refresh().

Referenced by LayerQuestBoard.OnInit(), and LayerQuestBoard.OnSwitchContent().

◆ Upgrade()

void FactionBranch.Upgrade ( )
inline

Definition at line 1297 of file FactionBranch.cs.

1298 {
1299 List<Element> list = owner.ListLandFeats();
1300 if (owner.IsActiveZone)
1301 {
1302 TraitCoreZone traitCoreZone = EClass._map.FindThing<TraitCoreZone>();
1303 if (traitCoreZone != null)
1304 {
1305 SE.Play("godbless");
1306 traitCoreZone.owner.PlayEffect("aura_heaven");
1307 }
1308 }
1309 lv++;
1310 exp = 0;
1311 int admin = 4;
1312 int food = 4;
1313 Set(4, 3);
1314 switch (list[0].id)
1315 {
1316 case 3500:
1317 Set(5, 3);
1318 break;
1319 case 3604:
1320 Set(4, 3);
1321 break;
1322 case 3600:
1323 Set(5, 3);
1324 break;
1325 case 3601:
1326 Set(4, 4);
1327 break;
1328 case 3603:
1329 Set(6, 2);
1330 break;
1331 case 3602:
1332 Set(5, 2);
1333 break;
1334 }
1335 elements.SetBase(2003, Mathf.Min((lv - 1) * 2 + 1, 10));
1336 elements.SetBase(2115, (lv - 1) * admin + 1);
1337 elements.SetBase(2204, (lv - 1) * food + 1);
1340 if (lv == 4)
1341 {
1342 elements.SetBase(list[1].id, 1);
1343 }
1344 if (lv == 7)
1345 {
1346 elements.SetBase(list[2].id, 1);
1347 }
1348 if (lv >= 5)
1349 {
1350 List<Element> list2 = elements.dict.Values.Where((Element a) => a.source.category == "landfeat" && a.HasTag("network")).ToList();
1351 foreach (Element item in list2)
1352 {
1354 }
1355 foreach (Element item2 in list2)
1356 {
1357 elements.Remove(item2.id);
1358 }
1359 }
1360 Msg.Say("upgrade_hearth", lv.ToString() ?? "", owner.Name);
1361 LogRaw("upgrade_hearth".langGame(lv.ToString() ?? "", owner.Name), "Good");
1362 Tutorial.Reserve("stone");
1363 void Set(int a, int f)
1364 {
1365 admin = a;
1366 food = f;
1367 }
1368 }
Effect PlayEffect(string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
Definition: Card.cs:6035
void Remove(int id)
Element GetElement(string alias)
void CheckLevelBonus(ElementContainer owner, UINote n=null)
Definition: ELEMENT.cs:964
Thing FindThing(Func< Thing, bool > func)
Definition: Map.cs:2592
bool IsActiveZone
Definition: Zone.cs:490

References EClass._map, Faction.elements, Chara.faction, Map.FindThing(), food, Element.HasTag(), Element.id, Zone.IsActiveZone, item, Zone.ListLandFeats(), ElementContainer.ModBase(), Spatial.Name, Trait.owner, EClass.pc, Card.PlayEffect(), Tutorial.Reserve(), Msg.Say(), and Element.source.

◆ ValidateUpgradePolicies()

void FactionBranch.ValidateUpgradePolicies ( )
inline

Definition at line 1260 of file FactionBranch.cs.

1261 {
1262 if (lv >= 2)
1263 {
1264 if (!policies.HasPolicy(2705))
1265 {
1266 policies.AddPolicy(2705);
1268 }
1269 if (!policies.HasPolicy(2708))
1270 {
1271 policies.AddPolicy(2708);
1273 }
1274 if (!policies.HasPolicy(2707))
1275 {
1276 policies.AddPolicy(2707);
1277 }
1278 if (!policies.HasPolicy(2709))
1279 {
1280 policies.AddPolicy(2709);
1281 }
1282 if (!policies.HasPolicy(2715))
1283 {
1284 policies.AddPolicy(2715);
1285 }
1286 }
1287 foreach (int globalPolicy in EClass.pc.faction.globalPolicies)
1288 {
1289 if (!policies.HasPolicy(globalPolicy))
1290 {
1291 policies.AddPolicy(globalPolicy, show: false);
1293 }
1294 }
1295 }
HashSet< int > globalPolicies
Definition: FACTION.cs:144
void SetGlobalPolicyActive(int id, bool active)
Definition: FACTION.cs:455
bool HasPolicy(int id)

References PolicyManager.AddPolicy(), Chara.faction, Faction.globalPolicies, PolicyManager.HasPolicy(), Faction.IsGlobalPolicyActive(), EClass.pc, and Faction.SetGlobalPolicyActive().

Referenced by OnActivateZone(), and TraitBookSkill.OnRead().

Member Data Documentation

◆ dateFound

int FactionBranch.dateFound

Definition at line 103 of file FactionBranch.cs.

Referenced by OnCreate(), and UIHomeInfo.RefreshInfo().

◆ efficiency

int FactionBranch.efficiency = 100

Definition at line 120 of file FactionBranch.cs.

Referenced by GetProductBonus(), RefreshEfficiency(), and UIHomeInfo.RefreshReport().

◆ exp

int FactionBranch.exp

Definition at line 40 of file FactionBranch.cs.

Referenced by WidgetStatsBar.Build(), and GameDate.ShipGoods().

◆ expeditions

ExpeditionManager FactionBranch.expeditions = new ExpeditionManager()

◆ faith

Religion FactionBranch.faith

◆ happiness

◆ incomeInn

int FactionBranch.incomeInn

Definition at line 116 of file FactionBranch.cs.

Referenced by OnActivateZone().

◆ incomeShop

int FactionBranch.incomeShop

Definition at line 55 of file FactionBranch.cs.

◆ incomeTourism

int FactionBranch.incomeTourism

Definition at line 118 of file FactionBranch.cs.

Referenced by OnActivateZone().

◆ lastStatistics

Statistics FactionBranch.lastStatistics = new Statistics()

Definition at line 112 of file FactionBranch.cs.

Referenced by ItemStatistics.Refresh().

◆ lastUpdateReqruit

int FactionBranch.lastUpdateReqruit

Definition at line 52 of file FactionBranch.cs.

◆ listRecruit

List<HireInfo> FactionBranch.listRecruit = new List<HireInfo>()

Definition at line 100 of file FactionBranch.cs.

Referenced by LayerQuestBoard.RefreshHire().

◆ log

MsgLog FactionBranch.log
Initial value:
= new MsgLog
{
id = "log"
}
Definition: MsgLog.cs:7

Definition at line 88 of file FactionBranch.cs.

Referenced by ContentHomeLog.RefreshLog(), and GameDate.ShipGoods().

◆ luckyMonth

bool FactionBranch.luckyMonth

Definition at line 58 of file FactionBranch.cs.

Referenced by WidgetDate._Refresh().

◆ luckyMonthDone

bool FactionBranch.luckyMonthDone

Definition at line 61 of file FactionBranch.cs.

◆ lv

◆ meetings

MeetingManager FactionBranch.meetings = new MeetingManager()

Definition at line 82 of file FactionBranch.cs.

Referenced by Meeting.OnEndDrama(), UIHomeInfo.RefreshReport(), and SetOwner().

◆ members

◆ owner

◆ policies

◆ rank

int FactionBranch.rank

◆ researches

◆ resources

◆ seedPlan

int FactionBranch.seedPlan

Definition at line 43 of file FactionBranch.cs.

Referenced by ResearchManager.ShowNewPlans().

◆ stability

GStability FactionBranch.stability
Initial value:
{
value = 1
}

Definition at line 64 of file FactionBranch.cs.

◆ stash

Thing FactionBranch.stash

Definition at line 85 of file FactionBranch.cs.

Referenced by OnCreate().

◆ statistics

Statistics FactionBranch.statistics = new Statistics()

Definition at line 109 of file FactionBranch.cs.

Referenced by ContentHomeLog.OnSwitchContent().

◆ temper

int FactionBranch.temper

Definition at line 46 of file FactionBranch.cs.

Referenced by UIHomeInfo.RefreshInfo().

◆ tourism

int FactionBranch.tourism

Definition at line 106 of file FactionBranch.cs.

Referenced by WidgetStatsBar.Build(), and HomeResourceWorth.WriteNote().

◆ uidMaid

int FactionBranch.uidMaid

Property Documentation

◆ ContentLV

int FactionBranch.ContentLV
get

Definition at line 136 of file FactionBranch.cs.

◆ DangerLV

int FactionBranch.DangerLV
get

Definition at line 138 of file FactionBranch.cs.

◆ elements

◆ HasItemProtection

bool FactionBranch.HasItemProtection
get

Definition at line 140 of file FactionBranch.cs.

Referenced by ActEffect.DamageEle(), Map.TryShatter(), and Chara.TryTakeSharedItems().

◆ HasNetwork

bool FactionBranch.HasNetwork
get

Definition at line 142 of file FactionBranch.cs.

Referenced by Evalue(), ButtonElement.Refresh(), and TraitTeleporter.TryTeleport().

◆ IsStartBranch

bool FactionBranch.IsStartBranch
get

Definition at line 150 of file FactionBranch.cs.

◆ IsTaxFree

bool FactionBranch.IsTaxFree
get

Definition at line 144 of file FactionBranch.cs.

◆ MaxAP

int FactionBranch.MaxAP
get

Definition at line 130 of file FactionBranch.cs.

Referenced by UICurrency.Build(), and LayerPolicy.RefreshPolicyList().

◆ MaxLv

int FactionBranch.MaxLv
get

Definition at line 154 of file FactionBranch.cs.

Referenced by UIHomeInfo.RefreshInfo().

◆ MaxPopulation

int FactionBranch.MaxPopulation
get

Definition at line 132 of file FactionBranch.cs.

Referenced by OnSimulateHour(), RefreshEfficiency(), and UIHomeInfo.RefreshInfo().

◆ MaxSoil

int FactionBranch.MaxSoil
get

Definition at line 134 of file FactionBranch.cs.

Referenced by UIHomeInfo.RefreshInfo().

◆ Money

int FactionBranch.Money
get

Definition at line 124 of file FactionBranch.cs.

◆ NumHeirloom

int FactionBranch.NumHeirloom
get

Definition at line 128 of file FactionBranch.cs.

Referenced by HomeResourceWorth.WriteNote().

◆ RankText

string FactionBranch.RankText
get

Definition at line 146 of file FactionBranch.cs.

Referenced by ContentHomeReport.RefreshInfo(), and UIHomeInfo.RefreshInfo().

◆ TextLv

string FactionBranch.TextLv
get

◆ Worth

int FactionBranch.Worth
get

Definition at line 126 of file FactionBranch.cs.

Referenced by Faction.CountWealth(), and UIHomeInfo.RefreshInfo().


The documentation for this class was generated from the following file: