8 public override CursorInfo CursorIcon
12 return CursorSystem.IconCut;
18 public override int destDist
27 public override void OnStart()
29 if (this.pos.cell.CanMakeStraw())
31 this.owner.ShowEmo(Emo.straw, 0f,
true);
34 this.owner.ShowEmo(Emo.cut, 0f,
true);
38 public override HitResult GetHitResult()
40 if (this.pos.HasObj && !
this.pos.HasMinableBlock)
42 return HitResult.Valid;
46 return HitResult.Valid;
48 return HitResult.Default;
54 p.maxProgress = this.pos.cell.sourceObj.hp / 10 + 1;
58 public override void OnProgress()
61 if (this.pos.cell.CanMakeStraw())
63 this.owner.SetTempHand(1006, -1);
65 else if (this.pos.cell.matObj.UseAxe)
67 this.owner.SetTempHand(1100, -1);
69 else if (this.pos.cell.matObj.UsePick)
71 this.owner.SetTempHand(1004, -1);
75 this.owner.SetTempHand(1000, -1);
77 this.owner.LookAt(this.pos);
78 this.pos.PlaySound(this.pos.cell.matObj.GetSoundImpact(
null),
true, 1f,
true);
79 this.pos.cell.matObj.PlayHitEffect(this.pos);
80 this.pos.cell.matObj.AddBlood(this.pos, 1);
81 this.pos.Animate(AnimeID.HitObj,
false);
82 if (this.IsToolValid() &&
EClass.setting.toolConsumeHP)
84 Act.TOOL.DamageHP(1, AttackSource.None,
null);
89 public override void OnProgressComplete()
91 string text = this.pos.sourceObj.reqHarvest[0];
92 EClass._map.MineObj(this.pos,
null,
null);
93 EClass._map.SetDecal(this.pos.x,
this.pos.z, 0, 1,
true);