10 public override CursorInfo CursorIcon
14 return CursorSystem.IconMelee;
20 public override bool HasProgress
29 public override bool CanManualCancel()
36 public override bool CancelWhenDamaged
45 public override IEnumerable<
AIAct.Status> Run()
47 this._owner = this.owner;
48 this.isFail = (() => this.shackle ==
null || !this.shackle.owner.ExistsOnMap || !this.owner.isRestrained || !this.shackle.owner.pos.Equals(this.owner.pos) ||
this.owner.stamina.value <= 0);
49 while (!this.owner.IsPC &&
this.owner.stamina.value <
this.owner.stamina.max * 4 / 5)
51 yield
return base.KeepRunning();
53 yield
return base.DoProgress();
61 progress_Custom.canProgress = (() => !this.isFail());
62 progress_Custom.onProgressBegin = delegate()
67 if (p.progress % 8 == 0)
69 this.owner.PlayAnime(this.shackle.animeId,
false);
73 this.owner.Talk(
"restrained",
null,
null,
false);
75 List<Chara> list =
new List<Chara>();
78 if (!chara.IsDisabled && chara.IsPCFaction && chara !=
this.owner && !chara.IsPC && !chara.isRestrained && chara.host ==
null && !chara.noMove && !chara.IsInCombat)
83 list.Sort((
Chara a,
Chara b) => this.<CreateProgress>g__SortVal|10_4(a) - this.<CreateProgress>g__SortVal|10_4(b));
84 int num = 1 + EClass.Branch.members.Count / 5;
86 foreach (
Chara chara2
in list)
90 chara2.SetEnemy(this.owner);
99 progress_Custom.onProgressComplete = delegate()
102 progress_Custom.cancelWhenDamaged =
false;
103 return progress_Custom.SetDuration(10000, 2);
107 public override void OnCancelOrSuccess()
109 if (this._owner !=
null)
113 if (chara != this._owner && (chara.enemy ==
this._owner || chara.enemy ==
this._owner.parasite || chara.enemy ==
this._owner.ride))
115 chara.SetEnemy(
null);
127 private int <CreateProgress>g__SortVal|10_4(
Chara c)
129 return this.owner.Dist(c);