Elin Decompiled Documentation EA 23.102 Nightly
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Pages
TaskCraft Class Reference
Inheritance diagram for TaskCraft:
Task AIAct Act Element EClass

Public Member Functions

override bool CanManualCancel ()
 
void ResetReq ()
 
override bool CanProgress ()
 
override bool _CanPerformTask (Chara chara, int radius)
 
override void OnCreateProgress (Progress_Custom p)
 
override void OnBeforeProgress ()
 
override void OnProgress ()
 
override IEnumerable< StatusRun ()
 
bool IsIngredientsValid (bool destoryResources=false, int numCraft=1)
 
override void OnProgressComplete ()
 
void PutOutResources ()
 
- Public Member Functions inherited from Task
virtual HitResult GetHitResult ()
 
override void OnSuccess ()
 
void TryLater (int min=30)
 
Status Destroy ()
 
virtual void OnDestroy ()
 
override Status Cancel ()
 
override void OnReset ()
 
override bool CanProgress ()
 
bool CanPerformTask (Chara chara, int radius)
 
virtual bool _CanPerformTask (Chara chara, int radius)
 
virtual void OnAdd ()
 
void ToggleSuspend ()
 
- 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

Thing factory
 
Recipe recipe
 
int num
 
int costSP
 
List< Thingresources = new List<Thing>()
 
int[] reqs
 
bool repeat
 
bool floatMode
 
BlessedState blessed
 
LayerCraft layer
 
- Public Attributes inherited from Task
TaskList taskList
 
bool isDestroyed
 
int nextTry
 
bool suspended
 
- 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

Point CraftPos [get]
 
override int MaxRestart [get]
 
- Properties inherited from Task
override TargetType TargetType [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)
 
- 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 TaskCraft.cs.

Member Function Documentation

◆ _CanPerformTask()

override bool TaskCraft._CanPerformTask ( Chara  chara,
int  radius 
)
inlinevirtual

Reimplemented from Task.

Definition at line 67 of file TaskCraft.cs.

68 {
69 return true;
70 }

◆ CanManualCancel()

override bool TaskCraft.CanManualCancel ( )
inlinevirtual

Reimplemented from AIAct.

Definition at line 48 of file TaskCraft.cs.

49 {
50 return true;
51 }

◆ CanProgress()

override bool TaskCraft.CanProgress ( )
inlinevirtual

Reimplemented from Task.

Definition at line 62 of file TaskCraft.cs.

63 {
64 return true;
65 }

Referenced by Run().

◆ IsIngredientsValid()

bool TaskCraft.IsIngredientsValid ( bool  destoryResources = false,
int  numCraft = 1 
)
inline

Definition at line 111 of file TaskCraft.cs.

112 {
113 bool flag = true;
114 for (int i = 0; i < recipe.ingredients.Count; i++)
115 {
116 Thing thing = recipe.ingredients[i].thing;
117 if (thing == null || thing.isDestroyed || thing.Num < reqs[i] * numCraft)
118 {
119 flag = false;
120 break;
121 }
122 if (destoryResources)
123 {
124 resources.Add(thing.Split(reqs[i]));
125 }
126 }
127 if (!flag)
128 {
129 return false;
130 }
131 if (destoryResources)
132 {
133 foreach (Thing resource in resources)
134 {
135 resource.Destroy();
136 }
137 resources.Clear();
138 }
139 return true;
140 }
void Add(Act a, string s="")
Definition: ActPlan.cs:11
bool isDestroyed
Definition: Card.cs:71
Thing Split(int a)
Definition: Card.cs:3231
int Num
Definition: Card.cs:154
List< Ingredient > ingredients
Definition: Recipe.cs:164
int[] reqs
Definition: TaskCraft.cs:22
List< Thing > resources
Definition: TaskCraft.cs:19
Recipe recipe
Definition: TaskCraft.cs:10
Definition: Thing.cs:8

References ActPlan.List.Add(), Recipe.ingredients, Card.isDestroyed, Card.Num, recipe, reqs, resource, resources, and Card.Split().

Referenced by OnProgressComplete(), and LayerCraftFloat.RefreshCraft().

◆ OnBeforeProgress()

override void TaskCraft.OnBeforeProgress ( )
inlinevirtual

Reimplemented from AIAct.

Definition at line 77 of file TaskCraft.cs.

78 {
79 }

Referenced by Run().

◆ OnCreateProgress()

override void TaskCraft.OnCreateProgress ( Progress_Custom  p)
inlinevirtual

Reimplemented from AIAct.

Definition at line 72 of file TaskCraft.cs.

73 {
74 p.maxProgress = 5;
75 }

◆ OnProgress()

override void TaskCraft.OnProgress ( )
inlinevirtual

Reimplemented from AIAct.

Definition at line 81 of file TaskCraft.cs.

82 {
85 owner.elements.ModExp(orCreateElement.id, 20);
86 }
new Chara owner
Definition: AIAct.cs:14
ElementContainerCard elements
Definition: Card.cs:37
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:5404
void ModExp(int ele, int a, bool chain=false)
Element GetOrCreateElement(Element ele)
int id
Definition: ELEMENT.cs:240
Element GetReqSkill()
virtual RenderRow renderRow
Definition: Recipe.cs:193
RecipeSource source
Definition: Recipe.cs:187
virtual SourceMaterial.Row GetMainMaterial()
Definition: Recipe.cs:467

References Card.elements, Recipe.GetMainMaterial(), ElementContainer.GetOrCreateElement(), RecipeSource.GetReqSkill(), Element.id, ElementContainer.ModExp(), AIAct.owner, Card.PlaySound(), recipe, Recipe.renderRow, and Recipe.source.

◆ OnProgressComplete()

override void TaskCraft.OnProgressComplete ( )
inlinevirtual

Reimplemented from AIAct.

Definition at line 142 of file TaskCraft.cs.

143 {
144 if (owner == null)
145 {
146 return;
147 }
149 for (int i = 0; i < num; i++)
150 {
151 ResetReq();
152 if (!IsIngredientsValid(destoryResources: true))
153 {
154 Msg.Say("invalidCraftResource");
155 return;
156 }
157 recipe.Craft(blessed, i == 0);
158 owner.elements.ModExp(orCreateElement.id, 200);
159 resources.Clear();
160 }
161 EClass.Sound.Play("craft");
162 Effect.Get("smoke").Play(CraftPos);
163 Effect.Get("mine").Play(CraftPos).SetParticleColor(recipe.GetColorMaterial().GetColor())
164 .Emit(10 + EClass.rnd(10));
166 }
Stats stamina
Definition: Chara.cs:955
Definition: EClass.cs:5
static int rnd(int a)
Definition: EClass.cs:50
static Chara pc
Definition: EClass.cs:14
static SoundManager Sound
Definition: EClass.cs:46
Definition: Effect.cs:7
static Effect Get(Effect original)
Definition: Effect.cs:85
void Play(float delay, Point from, float fixY=0f, Point to=null, Sprite sprite=null)
Definition: Effect.cs:100
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 Thing Craft(BlessedState blessed, bool sound=false, List< Thing > ings=null, TraitCrafter crafter=null, bool model=false)
Definition: Recipe.cs:536
virtual SourceMaterial.Row GetColorMaterial()
Definition: Recipe.cs:481
virtual void Mod(int a)
Definition: Stats.cs:135
void ResetReq()
Definition: TaskCraft.cs:53
BlessedState blessed
Definition: TaskCraft.cs:30
int num
Definition: TaskCraft.cs:13
int costSP
Definition: TaskCraft.cs:16
bool IsIngredientsValid(bool destoryResources=false, int numCraft=1)
Definition: TaskCraft.cs:111
Point CraftPos
Definition: TaskCraft.cs:35

References blessed, costSP, Recipe.Craft(), CraftPos, Card.elements, Effect.Get(), Recipe.GetColorMaterial(), ElementContainer.GetOrCreateElement(), RecipeSource.GetReqSkill(), Element.id, IsIngredientsValid(), Stats.Mod(), ElementContainer.ModExp(), num, AIAct.owner, EClass.pc, Effect.Play(), recipe, ResetReq(), resources, EClass.rnd(), Msg.Say(), EClass.Sound, Recipe.source, and Chara.stamina.

◆ PutOutResources()

void TaskCraft.PutOutResources ( )
inline

Definition at line 168 of file TaskCraft.cs.

169 {
170 foreach (Thing resource in resources)
171 {
173 }
174 resources.Clear();
175 }
static Zone _zone
Definition: EClass.cs:20
Card AddCard(Card t, Point point)
Definition: Zone.cs:1893

References EClass._zone, Zone.AddCard(), CraftPos, resource, and resources.

◆ ResetReq()

void TaskCraft.ResetReq ( )
inline

Definition at line 53 of file TaskCraft.cs.

54 {
55 reqs = new int[recipe.ingredients.Count];
56 for (int i = 0; i < recipe.ingredients.Count; i++)
57 {
58 reqs[i] = recipe.ingredients[i].req;
59 }
60 }

References Recipe.ingredients, recipe, and reqs.

Referenced by OnProgressComplete(), LayerCraftFloat.RefreshCraft(), and Run().

◆ Run()

override IEnumerable< Status > TaskCraft.Run ( )
inlinevirtual

Reimplemented from AIAct.

Definition at line 88 of file TaskCraft.cs.

89 {
91 if (!CanProgress())
92 {
93 yield return Cancel();
94 }
95 yield return DoProgress();
96 ResetReq();
97 if (repeat)
98 {
99 yield return Restart();
100 }
101 if ((bool)layer)
102 {
104 }
105 if ((bool)LayerCraftFloat.Instance)
106 {
108 }
109 }
Status DoProgress()
Definition: AIAct.cs:517
Status Restart()
Definition: AIAct.cs:237
static LayerCraftFloat Instance
void OnCompleteCraft()
Definition: LayerCraft.cs:219
override void OnBeforeProgress()
Definition: TaskCraft.cs:77
override bool CanProgress()
Definition: TaskCraft.cs:62
LayerCraft layer
Definition: TaskCraft.cs:32
bool repeat
Definition: TaskCraft.cs:25
override Status Cancel()
Definition: Task.cs:54

References Task.Cancel(), CanProgress(), AIAct.DoProgress(), LayerCraftFloat.Instance, layer, OnBeforeProgress(), LayerCraft.OnCompleteCraft(), LayerCraftFloat.OnCompleteCraft(), repeat, ResetReq(), and AIAct.Restart().

Member Data Documentation

◆ blessed

BlessedState TaskCraft.blessed

Definition at line 30 of file TaskCraft.cs.

Referenced by OnProgressComplete().

◆ costSP

int TaskCraft.costSP

Definition at line 16 of file TaskCraft.cs.

Referenced by OnProgressComplete().

◆ factory

Thing TaskCraft.factory

Definition at line 7 of file TaskCraft.cs.

◆ floatMode

bool TaskCraft.floatMode

Definition at line 28 of file TaskCraft.cs.

◆ layer

LayerCraft TaskCraft.layer

Definition at line 32 of file TaskCraft.cs.

Referenced by Run().

◆ num

int TaskCraft.num

Definition at line 13 of file TaskCraft.cs.

Referenced by OnProgressComplete(), and LayerCraftFloat.RefreshCraft().

◆ recipe

Recipe TaskCraft.recipe

Definition at line 10 of file TaskCraft.cs.

Referenced by IsIngredientsValid(), OnProgress(), OnProgressComplete(), and ResetReq().

◆ repeat

bool TaskCraft.repeat

Definition at line 25 of file TaskCraft.cs.

Referenced by Run().

◆ reqs

int [] TaskCraft.reqs

Definition at line 22 of file TaskCraft.cs.

Referenced by IsIngredientsValid(), and ResetReq().

◆ resources

List<Thing> TaskCraft.resources = new List<Thing>()

Definition at line 19 of file TaskCraft.cs.

Referenced by IsIngredientsValid(), OnProgressComplete(), and PutOutResources().

Property Documentation

◆ CraftPos

Point TaskCraft.CraftPos
get

Definition at line 34 of file TaskCraft.cs.

35 {
36 get
37 {
38 if (factory == null || !factory.ExistsOnMap)
39 {
40 return EClass.pc.pos;
41 }
42 return factory.pos;
43 }
44 }
bool ExistsOnMap
Definition: Card.cs:1961
Point pos
Definition: Card.cs:55
Thing factory
Definition: TaskCraft.cs:7

Referenced by OnProgressComplete(), and PutOutResources().

◆ MaxRestart

override int TaskCraft.MaxRestart
get

Definition at line 46 of file TaskCraft.cs.


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