Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
AIWork Class Reference
Inheritance diagram for AIWork:
AIAct Act Element EClass AIWork_Chore AIWork_Explore AIWork_Farm AIWork_Fish AIWork_Lumberjack AIWork_Research AIWork_Clean

Public Types

enum  Work_Type { Default , Explore }
 
- Public Types inherited from AIAct
enum  Status { Running , Fail , Success }
 
- Public Types inherited from Act
enum  CostType { None , MP , SP }
 

Public Member Functions

override IEnumerable< StatusRun ()
 
virtual AIAct GetWork (Point p)
 
bool SetDestination ()
 
virtual void SetDestPos ()
 
bool _FuncWorkPoint (Point p)
 
virtual bool FuncWorkPoint (Point p)
 
virtual WorkSession GetSession ()
 
virtual void OnGetSession (WorkSession s)
 
void AddDeliverable (Thing t)
 
virtual void OnPerformWork (bool realtime)
 
void DailyOutcome ()
 
- 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 ()
 
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, 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 ()
 
virtual bool CanPerform ()
 
bool Perform (Chara _cc, Card _tc=null, Point _tp=null)
 
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 int GetSourceValue (int 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)
 
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)
 
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)
 
virtual bool IsPurchaseFeatReqMet (ElementContainer owner, int lv=-1)
 
virtual void WritePurchaseReq (UINote n, int lv=1)
 

Public Attributes

BaseArea destArea
 
Point destPos
 
Thing destThing
 
SourceHobby.Row sourceWork
 
- 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
 

Properties

override string Name [get]
 
virtual int destDist [get]
 
override int MaxRestart [get]
 
virtual Work_Type WorkType [get]
 
- 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 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]
 
virtual bool IsCrime [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]
 

Additional Inherited Members

- 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)
 
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 int GetResistDamage (int dmg, int v, int power=0)
 
- Static Public Member Functions inherited from EClass
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 Act
static Chara CC
 
static Card TC
 
static Point TP = new Point()
 
static Thing TOOL
 
static int powerMod = 100
 
static bool forcePt
 
- 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
 

Detailed Description

Definition at line 4 of file AIWork.cs.

Member Enumeration Documentation

◆ Work_Type

Enumerator
Default 
Explore 

Definition at line 6 of file AIWork.cs.

Member Function Documentation

◆ _FuncWorkPoint()

bool AIWork._FuncWorkPoint ( Point  p)
inline

Definition at line 102 of file AIWork.cs.

103 {
104 Room room = destThing.pos.cell.room;
105 if (p.cell.room != room)
106 {
107 return false;
108 }
109 return FuncWorkPoint(p);
110 }
Thing destThing
Definition: AIWork.cs:16
virtual bool FuncWorkPoint(Point p)
Definition: AIWork.cs:112
Point pos
Definition: Card.cs:55
Room room
Definition: Cell.cs:102
Cell cell
Definition: Point.cs:51
Definition: Room.cs:4

References Point.cell, destThing, FuncWorkPoint(), Card.pos, and Cell.room.

Referenced by SetDestPos().

◆ AddDeliverable()

void AIWork.AddDeliverable ( Thing  t)
inline

Definition at line 140 of file AIWork.cs.

141 {
143 }
new Chara owner
Definition: AIAct.cs:14
WorkSummary GetWorkSummary()
Definition: Chara.cs:8308
void AddThing(Thing t)
Definition: WorkSummary.cs:87

References WorkSummary.AddThing(), Chara.GetWorkSummary(), and AIAct.owner.

◆ DailyOutcome()

void AIWork.DailyOutcome ( )
inline

Definition at line 149 of file AIWork.cs.

150 {
151 }

◆ FuncWorkPoint()

virtual bool AIWork.FuncWorkPoint ( Point  p)
inlinevirtual

Reimplemented in AIWork_Fish, and AIWork_Lumberjack.

Definition at line 112 of file AIWork.cs.

113 {
114 return true;
115 }

Referenced by _FuncWorkPoint().

◆ GetSession()

virtual WorkSession AIWork.GetSession ( )
inlinevirtual

Definition at line 117 of file AIWork.cs.

118 {
119 WorkSession workSession = new WorkSession
120 {
121 id = sourceWork.id,
122 efficiency = 80
123 };
124 if (destThing != null)
125 {
126 workSession.efficiency = destThing.GetEfficiency();
127 }
128 else if (destArea != null)
129 {
130 workSession.efficiency = destArea.type.GetEfficiency();
131 }
132 OnGetSession(workSession);
133 return workSession;
134 }
SourceHobby.Row sourceWork
Definition: AIWork.cs:18
BaseArea destArea
Definition: AIWork.cs:12
virtual void OnGetSession(WorkSession s)
Definition: AIWork.cs:136
virtual int GetEfficiency()
Definition: AreaType.cs:49
AreaType type
Definition: BaseArea.cs:32
int GetEfficiency()
Definition: Thing.cs:141

References destArea, destThing, AreaType.GetEfficiency(), Thing.GetEfficiency(), OnGetSession(), sourceWork, and BaseArea.type.

Referenced by GoalWork.TryWork().

◆ GetWork()

virtual AIAct AIWork.GetWork ( Point  p)
inlinevirtual

Reimplemented in AIWork_Farm, AIWork_Fish, AIWork_Lumberjack, and AIWork_Research.

Definition at line 50 of file AIWork.cs.

51 {
52 return new AI_Idle();
53 }

Referenced by Run().

◆ OnGetSession()

virtual void AIWork.OnGetSession ( WorkSession  s)
inlinevirtual

Definition at line 136 of file AIWork.cs.

137 {
138 }

Referenced by GetSession().

◆ OnPerformWork()

virtual void AIWork.OnPerformWork ( bool  realtime)
inlinevirtual

Reimplemented in AIWork_Chore, AIWork_Clean, AIWork_Farm, and AIWork_Lumberjack.

Definition at line 145 of file AIWork.cs.

146 {
147 }

Referenced by Chara.PerformWork().

◆ Run()

override IEnumerable< Status > AIWork.Run ( )
inlinevirtual

Reimplemented from AIAct.

Reimplemented in AIWork_Explore.

Definition at line 28 of file AIWork.cs.

29 {
30 yield return DoIdle(100);
31 _ = WorkType;
32 SetDestPos();
33 if (destPos != null)
34 {
35 yield return DoGoto(destPos, destDist);
36 }
37 else
38 {
39 destPos = new Point(owner.pos);
40 }
41 AIAct work = GetWork(destPos);
42 if (work != null)
43 {
44 owner.Talk("work_" + sourceWork.talk);
45 yield return Do(work, base.KeepRunning);
46 }
47 yield return Restart();
48 }
Definition: AIAct.cs:6
Status Do(AIAct _seq, Func< Status > _onChildFail=null)
Definition: AIAct.cs:416
Status DoGoto(Point pos, int dist=0, bool ignoreConnection=false, Func< Status > _onChildFail=null)
Definition: AIAct.cs:432
Status DoIdle(int repeat=3)
Definition: AIAct.cs:523
Status Restart()
Definition: AIAct.cs:237
virtual Work_Type WorkType
Definition: AIWork.cs:26
Point destPos
Definition: AIWork.cs:14
virtual int destDist
Definition: AIWork.cs:22
virtual void SetDestPos()
Definition: AIWork.cs:94
virtual AIAct GetWork(Point p)
Definition: AIWork.cs:50
void Talk(string idTopic, string ref1=null, string ref2=null, bool forceSync=false)
Definition: Card.cs:5949
Definition: Point.cs:9

References destDist, destPos, AIAct.Do(), AIAct.DoGoto(), AIAct.DoIdle(), GetWork(), AIAct.KeepRunning(), AIAct.owner, Card.pos, AIAct.Restart(), SetDestPos(), sourceWork, Card.Talk(), and WorkType.

◆ SetDestination()

bool AIWork.SetDestination ( )
inline

Definition at line 55 of file AIWork.cs.

56 {
57 if (WorkType == Work_Type.Explore)
58 {
60 {
61 return false;
62 }
63 return true;
64 }
65 if (!sourceWork.workTag.IsEmpty())
66 {
67 if (destArea != null)
68 {
70 }
71 else
72 {
74 }
75 if (destThing != null)
76 {
77 return true;
78 }
79 }
80 if (!sourceWork.destTrait.IsEmpty())
81 {
82 if (destArea != null)
83 {
84 destThing = EClass._map.FindThing(Type.GetType("Trait" + sourceWork.destTrait + ", Elin"), destArea);
85 return destThing != null;
86 }
87 destThing = EClass._map.FindThing(Type.GetType("Trait" + sourceWork.destTrait + ", Elin"), owner);
88 return destThing != null;
89 }
90 SetDestPos();
91 return destPos != null;
92 }
Work_Type
Definition: AIWork.cs:7
int GetInt(int id, int? defaultInt=null)
Definition: BaseCard.cs:25
bool IsExpired(int time)
Definition: Date.cs:332
Definition: EClass.cs:5
static World world
Definition: EClass.cs:40
static Map _map
Definition: EClass.cs:18
Thing FindThing(Func< Thing, bool > func)
Definition: Map.cs:2570
GameDate date
Definition: World.cs:6

References EClass._map, World.date, destArea, destPos, destThing, Map.FindThing(), BaseCard.GetInt(), Date.IsExpired(), AIAct.owner, SetDestPos(), sourceWork, WorkType, and EClass.world.

Referenced by Hobby.GetEfficiency(), Chara.GetRoomWork(), AIWork_Farm.OnPerformWork(), and GoalWork.TryWork().

◆ SetDestPos()

virtual void AIWork.SetDestPos ( )
inlinevirtual

Reimplemented in AIWork_Chore.

Definition at line 94 of file AIWork.cs.

95 {
96 if (destThing != null && destThing.ExistsOnMap)
97 {
99 }
100 }
bool _FuncWorkPoint(Point p)
Definition: AIWork.cs:102
bool ExistsOnMap
Definition: Card.cs:1961
Trait trait
Definition: Card.cs:49
Point GetRandomPoint(Func< Point, bool > func=null, Chara accessChara=null)
Definition: Trait.cs:689

References _FuncWorkPoint(), destPos, destThing, Card.ExistsOnMap, Trait.GetRandomPoint(), and Card.trait.

Referenced by AIWork_Farm.OnPerformWork(), Run(), and SetDestination().

Member Data Documentation

◆ destArea

BaseArea AIWork.destArea

Definition at line 12 of file AIWork.cs.

Referenced by Chara.GetRoomWork(), GetSession(), and SetDestination().

◆ destPos

Point AIWork.destPos

Definition at line 14 of file AIWork.cs.

Referenced by Run(), SetDestination(), SetDestPos(), and AIWork_Chore.SetDestPos().

◆ destThing

Thing AIWork.destThing

Definition at line 16 of file AIWork.cs.

Referenced by _FuncWorkPoint(), Chara.GetRoomWork(), GetSession(), SetDestination(), and SetDestPos().

◆ sourceWork

SourceHobby.Row AIWork.sourceWork

Definition at line 18 of file AIWork.cs.

Referenced by GetSession(), Run(), and SetDestination().

Property Documentation

◆ destDist

virtual int AIWork.destDist
get

Definition at line 22 of file AIWork.cs.

Referenced by Run().

◆ MaxRestart

override int AIWork.MaxRestart
get

Definition at line 24 of file AIWork.cs.

◆ Name

override string AIWork.Name
get

Definition at line 20 of file AIWork.cs.

◆ WorkType

virtual Work_Type AIWork.WorkType
get

Definition at line 26 of file AIWork.cs.

Referenced by Run(), and SetDestination().


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