Elin Decompiled Documentation EA 23.292 Nightly
Loading...
Searching...
No Matches
TaskPlow.cs
Go to the documentation of this file.
1using UnityEngine;
2
4{
6
7 public override bool destIgnoreConnection => false;
8
9 public override bool CanPressRepeat => true;
10
11 public override int destDist
12 {
13 get
14 {
15 if (!pos.cell.blocked)
16 {
17 return 0;
18 }
19 return 1;
20 }
21 }
22
23 public override bool CanProgress()
24 {
25 if (base.CanProgress())
26 {
27 return !pos.IsFarmField;
28 }
29 return false;
30 }
31
32 public override void OnCreateProgress(Progress_Custom p)
33 {
34 p.textHint = Name;
35 p.maxProgress = Mathf.Max((15 + EClass.rnd(20)) * 100 / (100 + owner.Tool.material.hardness * 3), 2);
36 p.onProgressBegin = delegate
37 {
38 if (owner.Tool != null)
39 {
40 owner.Say("till_start", owner, owner.Tool);
41 }
42 };
43 p.onProgress = delegate(Progress_Custom _p)
44 {
45 SourceMaterial.Row row = (pos.cell.HasBridge ? pos.cell.matBridge : pos.cell.matFloor);
46 row.PlayHitEffect(pos);
47 row.AddBlood(pos);
50 if (!(pos.HasBridge ? pos.sourceBridge : pos.sourceFloor).tag.Contains("soil"))
51 {
52 owner.Say("till_invalid");
53 _p.Cancel();
54 }
55 };
56 p.onProgressComplete = delegate
57 {
59 Effect.Get("mine").Play(pos).SetParticleColor(pos.cell.HasBridge ? pos.matBridge.GetColor() : pos.matFloor.GetColor())
60 .Emit(10 + EClass.rnd(10));
61 pos.Animate(AnimeID.Dig, animeBlock: true);
62 if (pos.HasBridge)
63 {
64 pos.cell._bridge = 4;
65 }
66 else
67 {
68 pos.SetFloor(pos.matFloor.id, 4);
69 }
70 owner.elements.ModExp(286, 30f);
71 if (owner.IsPC)
72 {
74 }
75 owner.stamina.Mod(-1);
76 };
77 }
78
79 public override HitResult GetHitResult()
80 {
82 {
83 return HitResult.Invalid;
84 }
85 return HitResult.Valid;
86 }
87}
AnimeID
Definition: AnimeID.cs:2
HitResult
Definition: HitResult.cs:2
virtual Status Cancel()
Definition: AIAct.cs:305
new Chara owner
Definition: AIAct.cs:14
virtual new string Name
Definition: AIAct.cs:68
virtual void NextFrame()
ElementContainerCard elements
Definition: Card.cs:42
SourceMaterial.Row material
Definition: Card.cs:2089
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:6421
Thing Tool
Definition: Card.cs:2450
CardRenderer renderer
Definition: Card.cs:62
void Say(string lang, string ref1=null, string ref2=null)
Definition: Card.cs:7099
bool HasBridge
Definition: Cell.cs:671
SourceMaterial.Row matBridge
Definition: Cell.cs:1034
bool IsTopWater
Definition: Cell.cs:700
SourceMaterial.Row matFloor
Definition: Cell.cs:1032
override bool IsPC
Definition: Chara.cs:626
Stats stamina
Definition: Chara.cs:1172
static CursorInfo Dig
Definition: CursorSystem.cs:66
Definition: EClass.cs:6
static int rnd(long a)
Definition: EClass.cs:59
static Player player
Definition: EClass.cs:13
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
void ModExp(int ele, float a, bool chain=false)
long plow
Definition: Player.cs:213
Stats stats
Definition: Player.cs:1071
SourceMaterial.Row matFloor
Definition: Point.cs:57
bool HasBridge
Definition: Point.cs:221
bool IsFarmField
Definition: Point.cs:127
SourceMaterial.Row matBridge
Definition: Point.cs:59
void SetFloor(int idMat=0, int idFloor=0)
Definition: Point.cs:923
SoundSource PlaySound(string id, bool synced=true, float v=1f, bool spatial=true)
Definition: Point.cs:1253
SourceFloor.Row sourceFloor
Definition: Point.cs:65
bool HasObj
Definition: Point.cs:137
Cell cell
Definition: Point.cs:51
void Animate(AnimeID id, bool animeBlock=false)
Definition: Point.cs:1302
SourceFloor.Row sourceBridge
Definition: Point.cs:67
string GetSoundImpact(RenderRow c=null)
void AddBlood(Point p, int a=1)
void PlayHitEffect(Point p, int emit=2)
virtual void Mod(int a)
Definition: Stats.cs:135
override bool destIgnoreConnection
Definition: TaskPlow.cs:7
override bool CanProgress()
Definition: TaskPlow.cs:23
override HitResult GetHitResult()
Definition: TaskPlow.cs:79
override void OnCreateProgress(Progress_Custom p)
Definition: TaskPlow.cs:32
override int destDist
Definition: TaskPlow.cs:12
override CursorInfo CursorIcon
Definition: TaskPlow.cs:5
override bool CanPressRepeat
Definition: TaskPlow.cs:9
Point pos
Definition: TaskPoint.cs:11