Elin Decompiled Documentation EA 23.346 Nightly
Loading...
Searching...
No Matches
AI_Shopping Class Reference
Inheritance diagram for AI_Shopping:
AIAct Act Element EClass

Public Member Functions

override IEnumerable< StatusRun ()
 
- Public Member Functions inherited from AIAct
override string ToString ()
 
override MultiSprite GetStateIcon ()
 
virtual bool ShouldAllyAttack (Chara tg)
 
virtual Point GetDestination ()
 
AIProgress GetProgress ()
 
string GetCurrentActionText ()
 
override bool IsToolValid ()
 
GetChild< T > ()
 
virtual void OnStart ()
 
void SetOwner (Chara c)
 
virtual void OnSetOwner ()
 
void SetChild (AIAct seq, Func< Status > _onChildFail=null)
 
void Start ()
 
override bool Perform ()
 
Status Restart ()
 
Status Success (Action action=null)
 
virtual void OnSuccess ()
 
bool TryCancel (Card c)
 
virtual Status Cancel ()
 
virtual void OnCancel ()
 
virtual void OnCancelOrSuccess ()
 
virtual bool CanManualCancel ()
 
Status KeepRunning ()
 
void Reset ()
 
virtual void OnReset ()
 
Status Tick ()
 
virtual IEnumerable< StatusRun ()
 
Status TickChild ()
 
Status Do (AIAct _seq, Func< Status > _onChildFail=null)
 
Status DoGotoInteraction (Point pos, Func< Status > _onChildFail=null)
 
Status DoGoto (Point pos, int dist=0, bool ignoreConnection=false, Func< Status > _onChildFail=null)
 
Status DoGoto (Card card, Func< Status > _onChildFail=null)
 
Status DoGoto (Card card, int dist, bool ignoreConnection=false, Func< Status > _onChildFail=null)
 
Status DoGotoSpot (Card card, Func< Status > _onChildFail=null)
 
Status DoGoto< T > (Func< Status > _onChildFail=null)
 
Status DoGotoSpot< T > (Func< Status > _onChildFail=null, bool ignoreAccessType=false)
 
Status DoGrab (Card card, int num=-1, bool pickHeld=false, Func< Status > _onChildFail=null)
 
Status DoGrab< T > ()
 
Status DoProgress ()
 
Status DoIdle (int repeat=3)
 
Status DoWait (int count=1)
 
virtual AIProgress CreateProgress ()
 
virtual void OnCreateProgress (Progress_Custom p)
 
virtual bool CanProgress ()
 
virtual void OnBeforeProgress ()
 
virtual void OnProgress ()
 
virtual void OnProgressComplete ()
 
void SimulateZone (int days)
 
virtual void OnSimulateZone (int days)
 
virtual void OnSimulatePosition ()
 
- Public Member Functions inherited from Act
virtual CursorInfo GetCursorIcon (Card c)
 
virtual MultiSprite GetStateIcon ()
 
override Sprite GetSprite ()
 
virtual bool ShowMouseHint (Card c)
 
virtual bool IsValidTC (Card c)
 
virtual string GetHintText (string str="")
 
virtual string GetText (string str="")
 
virtual string GetTextSmall (Card c)
 
bool IsTargetHostileParty ()
 
virtual Color GetActPlanColor ()
 
virtual bool Perform ()
 
bool Perform (Chara _cc, Card _tc=null, Point _tp=null)
 
virtual bool ValidatePerform (Chara _cc, Card _tc, Point _tp)
 
virtual bool CanPerform ()
 
bool CanPerform (Chara _cc, Card _tc=null, Point _tp=null)
 
virtual bool IsToolValid ()
 
new void SetImage (Image image)
 
virtual void OnMarkMapHighlights ()
 
virtual bool ShouldMapHighlight (Point p)
 
- Public Member Functions inherited from Element
virtual SourceElement.Row GetSource ()
 
virtual int GetSourcePotential (int v)
 
virtual Sprite GetSprite ()
 
int GetMaterialSourceValue (Thing t, int v)
 
virtual long GetSourceValue (long v, int lv, SourceValueType type)
 
virtual Sprite GetIcon (string suffix="")
 
bool IsActive (Card c)
 
int SortVal (bool charaSheet=false)
 
virtual bool CanLink (ElementContainer owner)
 
bool HasTag (string tag)
 
void SetImage (Image i)
 
virtual string GetDetail ()
 
bool IsFactionElement (Chara c)
 
int GetDNABonus (Chara c)
 
Element GetParent (Card c)
 
void WriteNote (UINote n, ElementContainer owner=null, Action< UINote > onWriteNote=null)
 
void WriteNoteWithRef (UINote n, ElementContainer owner, Action< UINote > onWriteNote, Element refEle)
 
void _WriteNote (UINote n, Chara c, Act act)
 
void AddHeaderAbility (UINote n)
 
void _WriteNote (UINote n, ElementContainer owner, Action< UINote > onWriteNote, bool isRef, bool addHeader=true)
 
void AddEncNote (UINote n, Card Card, ElementContainer.NoteMode mode=ElementContainer.NoteMode.Default, Func< Element, string, string > funcText=null, Action< UINote, Element > onAddNote=null)
 
virtual void OnWriteNote (UINote n, ElementContainer owner)
 
virtual void OnChangeValue ()
 
void CheckLevelBonus (ElementContainer owner, UINote n=null)
 
int GetSortVal (UIList.SortMode m)
 
virtual Act.Cost GetCost (Chara c)
 
virtual int GetPower (Card c)
 
virtual void SetTextValue (UIText text, bool shorten=false)
 
virtual bool IsPurchaseFeatReqMet (ElementContainer owner, int lv=-1)
 
virtual void WritePurchaseReq (UINote n, int lv=1)
 

Static Public Member Functions

static bool TryShop (Chara c, bool realtime)
 
static bool TryRestock (Chara c, bool realtime)
 
static void SellChara (Chara c)
 
static void Buy (Chara c, Card dest, bool realtime, Card container)
 
- Static Public Member Functions inherited from Act
static void SetReference (Chara _cc, Card _tc=null, Point _tp=null)
 
static void SetTool (Thing t)
 
- Static Public Member Functions inherited from Element
static string GetName (string alias)
 
static SourceElement.Row Get (int id)
 
static Dictionary< int, int > GetElementMap (int[] list)
 
static Dictionary< int, int > GetElementMap (int[] list, Dictionary< int, int > map)
 
static SourceElement.Row GetRandomElement (int lv=1, bool useWeight=true)
 
static Element Create (int id, int v=0)
 
static Element Create (string id, int v=1)
 
static int GetId (string alias)
 
static int GetResistLv (int v)
 
static long GetResistDamage (long dmg, int v, int power=0)
 
- 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 (long _a, int start, int step, int rate=75)
 
static int sqrt (int a)
 
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)
 

Public Attributes

Card container
 
Card dest
 
- Public Attributes inherited from AIAct
new Chara owner
 
Status status
 
IEnumerator< StatusEnumerator
 
AIAct child
 
AIAct parent
 
byte restartCount
 
Func< StatusonChildFail
 
Func< bool > isFail
 
- Public Attributes inherited from Element
SourceElement.Row _source
 
int id
 
int vBase
 
int vExp
 
int vPotential
 
int vTempPotential
 
int vLink
 
int vSource
 
int vSourcePotential
 
ElementContainer owner
 

Static Private Attributes

static Dictionary< Card, List< Card > > _saleLists = new Dictionary<Card, List<Card>>()
 
static Dictionary< Card, int > _salePrices = new Dictionary<Card, int>()
 
static int _saleHour = -1
 

Additional Inherited Members

- Public Types inherited from AIAct
enum  Status { Running , Fail , Success }
 
- Public Types inherited from Act
enum  CostType { None , MP , SP }
 
- Static Public Attributes inherited from Act
static Chara CC
 
static Card TC
 
static Point TP = new Point()
 
static Thing TOOL
 
static int powerMod = 100
 
static bool forcePt
 
static Act CurrentAct
 
- Static Public Attributes inherited from Element
const int Div = 5
 
static Element Void = new Element()
 
static int[] List_MainAttributes = new int[9] { 70, 72, 71, 77, 74, 75, 76, 73, 79 }
 
static int[] List_MainAttributesMajor = new int[8] { 70, 72, 71, 77, 74, 75, 76, 73 }
 
static int[] List_Body = new int[4] { 70, 72, 71, 77 }
 
static int[] List_Mind = new int[4] { 74, 75, 76, 73 }
 
static List< SourceElement.RowListElements = new List<SourceElement.Row>()
 
static List< SourceElement.RowListAttackElements = new List<SourceElement.Row>()
 
- Static Public Attributes inherited from EClass
static Core core
 
- Properties inherited from AIAct
virtual bool IsRunning [get]
 
bool IsChildRunning [get]
 
bool IsMoveAI [get]
 
virtual int MaxRestart [get]
 
virtual new string Name [get]
 
virtual MultiSprite stateIcon [get]
 
virtual Sprite actionIcon [get]
 
virtual bool IsNoGoal [get]
 
virtual bool IsAutoTurn [get]
 
virtual bool IsIdle [get]
 
virtual bool CancelOnAggro [get]
 
virtual bool PushChara [get]
 
virtual int MaxProgress [get]
 
virtual bool ShowProgress [get]
 
virtual bool UseTurbo [get]
 
virtual int CurrentProgress [get]
 
virtual bool ShowCursor [get]
 
virtual bool CancelWhenDamaged [get]
 
virtual bool CancelWhenMoved [get]
 
virtual bool InformCancel [get]
 
virtual Thing RenderThing [get]
 
AIAct Current [get]
 
override bool IsAct [get]
 
override bool ShowPotential [get]
 
override bool UsePotential [get]
 
override bool ShowRelativeAttribute [get]
 
virtual bool HasProgress [get]
 
- Properties inherited from Act
override bool ShowPotential [get]
 
override bool UsePotential [get]
 
override bool ShowRelativeAttribute [get]
 
virtual CursorInfo CursorIcon [get]
 
virtual string ID [get]
 
virtual bool IsAct [get]
 
virtual bool WillEndTurn [get]
 
virtual bool CloseLayers [get]
 
virtual int LeftHand [get]
 
virtual int RightHand [get]
 
virtual int ElementPowerMod [get]
 
virtual bool ShowMapHighlight [get]
 
virtual bool ShowMapHighlightBlock [get]
 
virtual bool PickHeldOnStart [get]
 
virtual bool DropHeldOnStart [get]
 
virtual bool CanPressRepeat [get]
 
virtual bool CanAutofire [get]
 
virtual bool ResetAxis [get]
 
virtual bool RequireTool [get]
 
virtual bool IsHostileAct [get]
 
virtual bool HideRightInfo [get]
 
virtual bool ShouldEndMimicry [get]
 
virtual bool HaveLongPressAction [get]
 
virtual float Radius [get]
 
virtual int PerformDistance [get]
 
virtual int MaxRadius [get]
 
virtual TargetType TargetType [get]
 
virtual bool LocalAct [get]
 
virtual bool CanRapidFire [get]
 
virtual float RapidDelay [get]
 
virtual bool ShowAuto [get]
 
- Properties inherited from Element
SourceElement.Row source [get]
 
virtual int DisplayValue [get]
 
virtual int MinValue [get]
 
int Value [get]
 
int ValueWithoutLink [get]
 
virtual int MinPotential [get]
 
int Potential [get]
 
virtual bool CanGainExp [get]
 
bool IsFlag [get]
 
virtual string Name [get]
 
virtual string FullName [get]
 
virtual int ExpToNext [get]
 
virtual bool UseExpMod [get]
 
virtual int CostTrain [get]
 
virtual int CostLearn [get]
 
virtual bool ShowXP [get]
 
virtual bool ShowMsgOnValueChanged [get]
 
virtual bool ShowValue [get]
 
virtual bool ShowPotential [get]
 
virtual bool UsePotential [get]
 
virtual bool PotentialAsStock [get]
 
virtual bool ShowRelativeAttribute [get]
 
virtual bool ShowBonuses [get]
 
virtual string ShortName [get]
 
bool IsGlobalElement [get]
 
bool IsFactionWideElement [get]
 
bool IsPartyWideElement [get]
 
virtual bool ShowEncNumber [get]
 
bool IsTrait [get]
 
bool IsFoodTrait [get]
 
bool IsFoodTraitMain [get]
 
bool IsMainAttribute [get]
 
Act act [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]
 

Detailed Description

Definition at line 4 of file AI_Shopping.cs.

Member Function Documentation

◆ Buy()

static void AI_Shopping.Buy ( Chara  c,
Card  dest,
bool  realtime,
Card  container 
)
inlinestatic

Definition at line 184 of file AI_Shopping.cs.

185 {
186 Point point = dest.pos.Copy();
187 int price = dest.GetPrice(CurrencyType.Money, sell: true, PriceType.PlayerShop);
188 if ((dest.isThing && (dest.isDestroyed || dest.Thing.IsSharedContainer)) || (container == null && !dest.isSale) || (container != null && container.c_lockLv != 0))
189 {
190 return;
191 }
192 Card card = (dest.isChara ? dest : dest.Split(1));
193 EClass.Branch.incomeShop += price;
194 card.isSale = false;
195 if (card == dest)
196 {
197 EClass._map.props.sales.Remove(card);
198 }
199 if (realtime)
200 {
201 c.Talk("shop_buy");
202 c.PlaySound("money");
203 Msg.alwaysVisible = true;
204 Msg.Say("shop_buy", c, card, Lang._currency(price, "money"));
205 if (card.isThing)
206 {
207 c.AddCard(card);
208 c.c_allowance -= price;
209 if (!c.TryUse(card.Thing))
210 {
211 card.ModNum(-1);
212 }
213 }
214 else
215 {
216 SellChara(card.Chara);
217 }
218 }
219 else if (card.isThing)
220 {
221 card.ModNum(-1);
222 }
223 else
224 {
225 SellChara(card.Chara);
226 }
227 if (card.isStolen || card.isChara)
228 {
229 Guild.Thief.AddContribution((int)Mathf.Sqrt(price) / 2);
230 }
231 if (container != null)
232 {
233 if (container.things.Count == 0)
234 {
235 container.isSale = false;
237 }
238 }
239 else if (!dest.ExistsOnMap && dest.isThing)
240 {
241 Thing thing = ThingGen.Create("tag_sell");
242 thing.isOn = true;
243 thing.SetStr(11, dest.category.id);
244 EClass._zone.AddCard(thing, point).Install();
245 }
246 EClass.Branch.Log("shop_buy", c, card, Lang._currency(price, "money"));
247 }
CurrencyType
Definition: CurrencyType.cs:2
PriceType
Definition: PriceType.cs:2
static void SellChara(Chara c)
Definition: AI_Shopping.cs:177
Card container
Definition: AI_Shopping.cs:6
Definition: Card.cs:11
bool isDestroyed
Definition: Card.cs:78
virtual bool isThing
Definition: Card.cs:2133
Thing Split(int a)
Definition: Card.cs:3665
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:6645
virtual int GetPrice(CurrencyType currency=CurrencyType.Money, bool sell=false, PriceType priceType=PriceType.Default, Chara c=null)
Definition: Card.cs:7781
int c_lockLv
Definition: Card.cs:991
Card AddCard(Card c)
Definition: Card.cs:3266
bool isSale
Definition: Card.cs:869
void Talk(string idTopic, string ref1=null, string ref2=null, bool forceSync=false)
Definition: Card.cs:7206
bool ExistsOnMap
Definition: Card.cs:2137
Point pos
Definition: Card.cs:60
void SetStr(string id, string value=null)
Definition: Card.cs:2600
ThingContainer things
Definition: Card.cs:39
virtual Thing Thing
Definition: Card.cs:2110
Card Install()
Definition: Card.cs:3922
SourceCategory.Row category
Definition: Card.cs:2101
bool TryUse(Thing t)
Definition: Chara.cs:8384
Definition: EClass.cs:6
static Zone _zone
Definition: EClass.cs:21
static Map _map
Definition: EClass.cs:19
static FactionBranch Branch
Definition: EClass.cs:23
string Log(string idLang, string ref1=null, string ref2=null, string ref3=null, string ref4=null)
void AddContribution(int a)
Definition: FACTION.cs:318
Definition: Guild.cs:2
static GuildThief Thief
Definition: Guild.cs:60
Definition: Lang.cs:7
static string _currency(object a, string IDCurrency)
Definition: Lang.cs:161
PropsManager props
Definition: Map.cs:94
Definition: Msg.cs:5
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58
Definition: Point.cs:9
Point Copy()
Definition: Point.cs:491
List< Card > sales
Definition: PropsManager.cs:14
static Thing Create(string id, int idMat=-1, int lv=-1)
Definition: ThingGen.cs:53
Definition: Thing.cs:8
bool IsSharedContainer
Definition: Thing.cs:110
Card AddCard(Card t, Point point)
Definition: Zone.cs:2150

References Lang._currency(), EClass._map, EClass._zone, Card.AddCard(), Zone.AddCard(), Faction.AddContribution(), EClass.Branch, Card.c_lockLv, card, Card.category, container, Point.Copy(), ThingGen.Create(), dest, Card.ExistsOnMap, Card.GetPrice(), Card.Install(), Card.isDestroyed, Card.isSale, Thing.IsSharedContainer, Card.isThing, FactionBranch.Log(), Card.PlaySound(), Card.pos, Map.props, PropsManager.sales, Msg.Say(), SellChara(), Card.SetStr(), Card.Split(), Card.Talk(), Guild.Thief, Card.Thing, Card.things, and Chara.TryUse().

Referenced by Run(), and TryShop().

◆ Run()

override IEnumerable< Status > AI_Shopping.Run ( )
inlinevirtual

Reimplemented from AIAct.

Definition at line 162 of file AI_Shopping.cs.

163 {
164 Card _dest = container ?? dest;
165 if (_dest.ExistsOnMap)
166 {
167 yield return DoGoto(_dest.pos, 1);
168 }
169 if (!_dest.ExistsOnMap || !_dest.isSale)
170 {
171 yield return Success();
172 }
173 Buy(owner, dest, realtime: true, container);
174 yield return Success();
175 }
new Chara owner
Definition: AIAct.cs:14
Status DoGoto(Point pos, int dist=0, bool ignoreConnection=false, Func< Status > _onChildFail=null)
Definition: AIAct.cs:446
static void Buy(Chara c, Card dest, bool realtime, Card container)
Definition: AI_Shopping.cs:184

References Buy(), container, dest, AIAct.DoGoto(), Card.ExistsOnMap, Card.isSale, AIAct.owner, Card.pos, and AIAct.Success.

◆ SellChara()

static void AI_Shopping.SellChara ( Chara  c)
inlinestatic

Definition at line 177 of file AI_Shopping.cs.

178 {
179 Msg.Say("sell_resident", c);
180 c.homeBranch.BanishMember(c, skipMsg: true);
182 }
FactionBranch homeBranch
Definition: Chara.cs:1113
static Player player
Definition: EClass.cs:13
void BanishMember(Chara c, bool skipMsg=false)
void ModKarma(int a)
Definition: Player.cs:2636

References FactionBranch.BanishMember(), Chara.homeBranch, Player.ModKarma(), EClass.player, and Msg.Say().

Referenced by Buy().

◆ TryRestock()

static bool AI_Shopping.TryRestock ( Chara  c,
bool  realtime 
)
inlinestatic

Definition at line 129 of file AI_Shopping.cs.

130 {
131 for (int i = 0; i < (realtime ? 1 : 10); i++)
132 {
133 bool flag = false;
134 foreach (Thing thing2 in EClass._map.things)
135 {
136 if (EClass.rnd(2) == 0 || !thing2.IsInstalled || !(thing2.trait is TraitSalesTag { IsOn: not false }) || thing2.GetStr(11).IsEmpty())
137 {
138 continue;
139 }
140 Thing thing = EClass._zone.TryGetRestock<TraitSpotStock>(thing2.GetStr(11));
141 if (thing != null)
142 {
143 if (realtime)
144 {
145 thing2.PlaySound("restock");
146 }
147 thing2.Destroy();
148 thing.isSale = true;
149 EClass._zone.AddCard(thing, thing2.pos).Install();
150 flag = true;
151 break;
152 }
153 }
154 if (!flag)
155 {
156 break;
157 }
158 }
159 return false;
160 }
static bool not(DramaManager dm, Dictionary< string, string > line, params string[] parameters)
string GetStr(string id, string defaultStr=null)
Definition: Card.cs:2595
void Destroy()
Definition: Card.cs:5314
static int rnd(long a)
Definition: EClass.cs:59
List< Thing > things
Definition: Map.cs:52

References EClass._map, EClass._zone, Zone.AddCard(), Card.Destroy(), Card.GetStr(), Card.Install(), IsOn, not(), Card.PlaySound(), Card.pos, EClass.rnd(), and Map.things.

Referenced by AI_Idle.Run().

◆ TryShop()

static bool AI_Shopping.TryShop ( Chara  c,
bool  realtime 
)
inlinestatic

Definition at line 16 of file AI_Shopping.cs.

17 {
18 if (c.memberType != FactionMemberType.Guest || !EClass._zone.IsPCFaction || EClass._map.props.sales.Count == 0)
19 {
20 return false;
21 }
22 Card card = EClass._map.props.sales.RandomItem();
23 int c_allowance = c.c_allowance;
24 if (!EClass.debug.enable && c_allowance <= 0)
25 {
26 return false;
27 }
28 bool flag = card.IsContainer && card.things.Count > 0;
29 bool flag2 = !realtime && VirtualDate.IsActive;
30 if (flag2)
31 {
32 int raw = VirtualDate.current.GetRaw();
33 if (raw != _saleHour)
34 {
35 _saleHour = raw;
36 _saleLists.Clear();
37 _salePrices.Clear();
38 }
39 }
40 if (!flag2 || !_saleLists.TryGetValue(card, out var value))
41 {
42 value = new List<Card>();
43 if (flag)
44 {
45 foreach (Thing thing in card.things)
46 {
47 if (TraitSalesTag.CanTagSale(thing, insideContainer: true))
48 {
49 value.Add(thing);
50 }
51 }
52 }
53 else
54 {
55 value.Add(card);
56 }
57 if (flag2)
58 {
59 _saleLists[card] = value;
60 }
61 }
62 foreach (Card item in value)
63 {
64 if (item.isDestroyed)
65 {
66 continue;
67 }
68 int num = 25;
69 if (!flag2 || !_salePrices.TryGetValue(item, out var value2))
70 {
71 value2 = item.GetPrice(CurrencyType.Money, sell: true, PriceType.PlayerShop);
72 if (flag2)
73 {
74 _salePrices[item] = value2;
75 }
76 }
77 if (value2 >= c_allowance)
78 {
79 num = num * 10 * value2 / c_allowance;
80 }
81 if (value2 >= 10000)
82 {
83 num *= 15;
84 }
85 else if (value2 >= 5000)
86 {
87 num *= 10;
88 }
89 else if (value2 >= 1000)
90 {
91 num *= 6;
92 }
93 else if (value2 >= 200)
94 {
95 num *= 3;
96 }
97 if (EClass.Branch != null)
98 {
100 {
101 num = num * (300 + EClass.Branch.Evalue(2817)) / 100;
102 }
103 if (EClass.Branch.policies.IsActive(2816))
104 {
105 num = num * (1000 + EClass.Branch.Evalue(2816) * 2) / 100;
106 }
107 }
108 if (!realtime)
109 {
110 num /= 4;
111 }
112 if (EClass.debug.enable || EClass.rnd(num + 1) == 0)
113 {
114 if (realtime)
115 {
116 c.SetAI(new AI_Shopping
117 {
118 container = (flag ? card : null),
119 dest = item
120 });
121 return true;
122 }
123 Buy(c, item, realtime: false, flag ? card : null);
124 }
125 }
126 return false;
127 }
FactionMemberType
static Dictionary< Card, List< Card > > _saleLists
Definition: AI_Shopping.cs:10
static int _saleHour
Definition: AI_Shopping.cs:14
static Dictionary< Card, int > _salePrices
Definition: AI_Shopping.cs:12
int c_allowance
Definition: Card.cs:1357
AIAct SetAI(AIAct g)
Definition: Chara.cs:9490
FactionMemberType memberType
Definition: Chara.cs:46
bool enable
Definition: CoreDebug.cs:302
int GetRaw(int offsetHours=0)
Definition: Date.cs:328
static CoreDebug debug
Definition: EClass.cs:49
int Evalue(int ele)
PolicyManager policies
bool IsActive(int id, int days=-1)
static bool CanTagSale(Card t, bool insideContainer=false)
Definition: TraitSalesTag.cs:9
static bool IsActive
Definition: VirtualDate.cs:13
static Date current
Definition: VirtualDate.cs:5
bool IsPCFaction
Definition: Zone.cs:480

References EClass._map, _saleHour, _saleLists, _salePrices, EClass._zone, EClass.Branch, Buy(), Card.c_allowance, TraitSalesTag.CanTagSale(), card, container, VirtualDate.current, EClass.debug, dest, CoreDebug.enable, FactionBranch.Evalue(), Date.GetRaw(), PolicyManager.IsActive(), VirtualDate.IsActive, Zone.IsPCFaction, item, Chara.memberType, FactionBranch.policies, Map.props, EClass.rnd(), and PropsManager.sales.

Referenced by AI_Idle.Run().

Member Data Documentation

◆ _saleHour

int AI_Shopping._saleHour = -1
staticprivate

Definition at line 14 of file AI_Shopping.cs.

Referenced by TryShop().

◆ _saleLists

Dictionary<Card, List<Card> > AI_Shopping._saleLists = new Dictionary<Card, List<Card>>()
staticprivate

Definition at line 10 of file AI_Shopping.cs.

Referenced by TryShop().

◆ _salePrices

Dictionary<Card, int> AI_Shopping._salePrices = new Dictionary<Card, int>()
staticprivate

Definition at line 12 of file AI_Shopping.cs.

Referenced by TryShop().

◆ container

Card AI_Shopping.container

Definition at line 6 of file AI_Shopping.cs.

Referenced by Buy(), Run(), and TryShop().

◆ dest

Card AI_Shopping.dest

Definition at line 8 of file AI_Shopping.cs.

Referenced by Buy(), Run(), and TryShop().


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