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

Public Member Functions

override bool IsValidTC (Card c)
 
override bool CanPerform ()
 
override bool Perform ()
 
override IEnumerable< StatusRun ()
 
- Public Member Functions inherited from AI_TargetCard
override bool CanProgress ()
 
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 ()
 
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)
 

Properties

override TargetType TargetType [get]
 
override int MaxRadius [get]
 
override bool IsHostileAct [get]
 
- Properties inherited from AI_TargetCard
virtual bool GotoTarget [get]
 
override bool HasProgress [get]
 
virtual bool CanTargetInventory [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

- Public Types inherited from AIAct
enum  Status { Running , Fail , Success }
 
- Public Types inherited from Act
enum  CostType { None , MP , SP }
 
- 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)
 
- Public Attributes inherited from AI_TargetCard
Card target
 
- 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 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 AI_Steal.cs.

Member Function Documentation

◆ CanPerform()

override bool AI_Steal.CanPerform ( )
inlinevirtual

Reimplemented from Act.

Definition at line 41 of file AI_Steal.cs.

42 {
43 return Act.TC != null;
44 }

◆ IsValidTC()

override bool AI_Steal.IsValidTC ( Card  c)
inlinevirtual

Reimplemented from Act.

Definition at line 12 of file AI_Steal.cs.

13 {
15 {
16 return false;
17 }
19 {
20 return false;
21 }
22 if (!c.isNPCProperty && c.isThing)
23 {
24 return false;
25 }
26 if (!c.trait.CanBeStolen)
27 {
28 return false;
29 }
30 if (c.c_lockLv > 0)
31 {
32 return false;
33 }
34 if (!c.isThing)
35 {
36 return !c.IsPCFaction;
37 }
38 return true;
39 }
virtual bool isThing
Definition: Card.cs:1957
bool isNPCProperty
Definition: Card.cs:526
int c_lockLv
Definition: Card.cs:924
Trait trait
Definition: Card.cs:49
virtual bool IsPCFaction
Definition: Card.cs:2129
Definition: EClass.cs:5
static Zone _zone
Definition: EClass.cs:20
virtual bool CanBeStolen
Definition: Trait.cs:272
virtual bool IsUserZone
Definition: Zone.cs:264

References EClass._zone, Card.c_lockLv, Trait.CanBeStolen, Card.isNPCProperty, Card.IsPCFaction, Card.isThing, Zone.IsUserZone, and Card.trait.

◆ Perform()

override bool AI_Steal.Perform ( )
inlinevirtual

Reimplemented from Act.

Definition at line 46 of file AI_Steal.cs.

47 {
48 target = Act.TC;
49 return base.Perform();
50 }
Definition: ACT.cs:62
static Card TC
Definition: ACT.cs:79

References AI_TargetCard.target, and Act.TC.

◆ Run()

override IEnumerable< Status > AI_Steal.Run ( )
inlinevirtual

Reimplemented from AIAct.

Definition at line 52 of file AI_Steal.cs.

53 {
54 Chara chara = target.Chara;
55 if (chara != null)
56 {
57 target = chara.things.FindStealable();
58 if (target == null && chara.GetInt(30) < EClass.world.date.GetRaw())
59 {
60 if (EClass.rnd(2) == 0)
61 {
62 target = chara.AddThing(ThingGen.Create("money").SetNum(1 + EClass.rnd(chara.LV * 10)));
63 }
64 else
65 {
66 target = chara.AddThing(ThingGen.CreateFromFilter("steal", chara.LV));
67 chara.SetInt(30, EClass.world.date.GetRaw() + 1440);
68 }
69 }
70 if (target == null)
71 {
72 owner.Say("steal_chara_nothing", owner, chara);
73 yield return Cancel();
74 }
75 owner.Say("steal_chara", owner, chara);
76 }
77 else
78 {
79 if (target.things.Count > 0)
80 {
82 if (thing != null)
83 {
84 target = thing;
85 }
86 }
87 owner.Say("steal_thing", owner, target);
88 }
89 ICardParent targetParent = target.parent;
90 Card card = chara;
91 if (card == null)
92 {
93 card = target;
94 }
95 Card root = card.GetRootCard();
97 {
98 canProgress = () => target.parent == targetParent && (chara == null || chara.ExistsOnMap),
99 onProgressBegin = delegate
100 {
101 },
102 onProgress = delegate(Progress_Custom p)
103 {
104 owner.LookAt(root);
105 owner.PlaySound("steal");
106 root.renderer.PlayAnime(AnimeID.Shiver);
107 if (!EClass.debug.godMode)
108 {
109 if (chara != null && owner.Dist(chara) > 1)
110 {
112 if (owner == null)
113 {
114 p.Cancel();
115 return;
116 }
117 if (chara != null && owner.Dist(chara) > 1)
118 {
119 EClass.pc.Say("targetTooFar");
120 p.Cancel();
121 return;
122 }
123 }
124 if (target.ChildrenAndSelfWeight > owner.Evalue(281) * 200 + owner.STR * 100 + 1000)
125 {
126 EClass.pc.Say("tooHeavy", target);
127 p.Cancel();
128 }
129 else
130 {
131 int count = owner.pos.ListWitnesses(owner, 4, WitnessType.crime, chara).Count;
132 if (owner.pos.TryWitnessCrime(owner, chara, 4, delegate(Chara c)
133 {
134 int num = ((!c.CanSee(owner)) ? 30 : 0);
135 int num2 = c.PER * 250 / 100;
137 {
138 num2 *= 2;
139 if (target.rarity >= Rarity.Legendary)
140 {
141 num2 *= 2;
142 }
143 if (target.rarity >= Rarity.Artifact)
144 {
145 num2 *= 2;
146 }
147 }
148 if (c.IsUnique)
149 {
150 num2 *= 2;
151 }
152 return EClass.rnd(num2) > owner.Evalue(281) + owner.DEX + num;
153 }))
154 {
155 p.Cancel();
156 }
157 else
158 {
159 owner.elements.ModExp(281, Mathf.Min(count * 5 + 5, 25));
160 }
161 }
162 }
163 },
164 onProgressComplete = delegate
165 {
167 {
169 }
170 owner.Say("steal_end", owner, target);
171 if (chara != null && (chara.IsPCFaction || chara.OriginalHostility >= Hostility.Friend))
172 {
174 }
175 else if (chara == null || chara.hostility > Hostility.Enemy)
176 {
178 }
179 target.isNPCProperty = false;
180 if (!target.category.IsChildOf("currency"))
181 {
182 target.isStolen = true;
183 }
185 owner.elements.ModExp(281, 50);
186 if (EClass.rnd(2) == 0)
187 {
188 EClass.pc.stamina.Mod(-1);
189 }
190 }
191 }.SetDuration(20, 4);
192 yield return Do(seq);
193 }
AnimeID
Definition: AnimeID.cs:2
Hostility
Definition: Hostility.cs:2
PlaceState
Definition: PlaceState.cs:2
Rarity
Definition: Rarity.cs:2
WitnessType
Definition: WitnessType.cs:2
Status Do(AIAct _seq, Func< Status > _onChildFail=null)
Definition: AIAct.cs:416
virtual Status Cancel()
Definition: AIAct.cs:291
new Chara owner
Definition: AIAct.cs:14
int GetInt(int id, int? defaultInt=null)
Definition: BaseCard.cs:25
void SetInt(int id, int value=0)
Definition: BaseCard.cs:39
void PlayAnime(AnimeID id, bool force)
Definition: Card.cs:11
virtual Chara Chara
Definition: Card.cs:1946
void SetPlaceState(PlaceState newState, bool byPlayer=false)
Definition: Card.cs:3454
ElementContainerCard elements
Definition: Card.cs:37
bool IsUnique
Definition: Card.cs:1967
bool IsThrownWeapon
Definition: Card.cs:2105
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:5404
Thing AddThing(string id, int lv=-1)
Definition: Card.cs:2901
Rarity rarity
Definition: Card.cs:298
bool IsRangedWeapon
Definition: Card.cs:2103
ICardParent parent
Definition: Card.cs:51
bool ExistsOnMap
Definition: Card.cs:1961
Thing SetNum(int a)
Definition: Card.cs:3242
int STR
Definition: Card.cs:2193
Point pos
Definition: Card.cs:55
ThingContainer things
Definition: Card.cs:34
bool IsInstalled
Definition: Card.cs:2241
virtual Thing Thing
Definition: Card.cs:1934
int Evalue(int ele)
Definition: Card.cs:2431
int Dist(Card c)
Definition: Card.cs:6777
int ChildrenAndSelfWeight
Definition: Card.cs:1917
SourceCategory.Row category
Definition: Card.cs:1925
CardRenderer renderer
Definition: Card.cs:57
int LV
Definition: Card.cs:370
void Say(string lang, string ref1=null, string ref2=null)
Definition: Card.cs:6046
Definition: Chara.cs:10
Hostility OriginalHostility
Definition: Chara.cs:456
override bool IsPCFaction
Definition: Chara.cs:656
bool CanSee(Card c)
Definition: Chara.cs:1027
Stats stamina
Definition: Chara.cs:955
MoveResult TryMoveTowards(Point p)
Definition: Chara.cs:2320
Hostility hostility
Definition: Chara.cs:276
override void LookAt(Card c)
Definition: Chara.cs:3219
Thing Pick(Thing t, bool msg=true, bool tryStack=true)
Definition: Chara.cs:3920
bool godMode
Definition: CoreDebug.cs:172
int GetRaw(int offsetHours=0)
Definition: Date.cs:322
static int rnd(int a)
Definition: EClass.cs:50
static World world
Definition: EClass.cs:40
static Player player
Definition: EClass.cs:12
static Chara pc
Definition: EClass.cs:14
static CoreDebug debug
Definition: EClass.cs:48
void ModExp(int ele, int a, bool chain=false)
void ModKarma(int a)
Definition: Player.cs:2289
List< Chara > ListWitnesses(Chara criminal, int radius=4, WitnessType type=WitnessType.crime, Chara target=null)
Definition: Point.cs:802
bool TryWitnessCrime(Chara criminal, Chara target=null, int radius=4, Func< Chara, bool > funcWitness=null)
Definition: Point.cs:845
virtual void Mod(int a)
Definition: Stats.cs:135
Thing FindStealable()
static Thing CreateFromFilter(string id, int lv=-1)
Definition: ThingGen.cs:63
static Thing Create(string id, int idMat=-1, int lv=-1)
Definition: ThingGen.cs:53
Definition: Thing.cs:8
bool isEquipped
Definition: Thing.cs:17
GameDate date
Definition: World.cs:6

References Card.AddThing(), AIAct.Cancel(), Chara.CanSee(), card, Card.category, Card.Chara, Card.ChildrenAndSelfWeight, ThingGen.Create(), ThingGen.CreateFromFilter(), World.date, EClass.debug, Card.Dist(), AIAct.Do(), Card.elements, Card.Evalue(), Card.ExistsOnMap, ThingContainer.FindStealable(), BaseCard.GetInt(), Date.GetRaw(), CoreDebug.godMode, Chara.hostility, Thing.isEquipped, Card.IsInstalled, Chara.IsPCFaction, Card.IsRangedWeapon, Card.isThing, Card.IsThrownWeapon, Card.IsUnique, Point.ListWitnesses(), Chara.LookAt(), Card.LV, Stats.Mod(), ElementContainer.ModExp(), Player.ModKarma(), Chara.OriginalHostility, AIAct.owner, Card.parent, EClass.pc, Chara.Pick(), CardRenderer.PlayAnime(), EClass.player, Card.PlaySound(), Card.pos, Card.rarity, Card.renderer, EClass.rnd(), Card.Say(), BaseCard.SetInt(), Card.SetNum(), Card.SetPlaceState(), Chara.stamina, Card.STR, AI_TargetCard.target, Card.Thing, Card.things, Chara.TryMoveTowards(), Point.TryWitnessCrime(), and EClass.world.

Property Documentation

◆ IsHostileAct

override bool AI_Steal.IsHostileAct
get

Definition at line 10 of file AI_Steal.cs.

◆ MaxRadius

override int AI_Steal.MaxRadius
get

Definition at line 8 of file AI_Steal.cs.

◆ TargetType

override TargetType AI_Steal.TargetType
get

Definition at line 6 of file AI_Steal.cs.


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