Elin Decompiled Documentation EA 23.130 Nightly
Loading...
Searching...
No Matches
TraitWaystone.cs
Go to the documentation of this file.
1using UnityEngine;
2
3public class TraitWaystone : Trait
4{
5 public bool IsTemp => owner.id == "waystone_temp";
6
7 public override bool CanUse(Chara c)
8 {
9 return IsTemp;
10 }
11
12 public override bool OnUse(Chara c)
13 {
14 owner.ModNum(-1);
16 return false;
17 }
18
19 public override void TrySetAct(ActPlan p)
20 {
21 if (EClass._zone is Zone_Tent)
22 {
23 p.TrySetAct("actNameZone", delegate
24 {
25 Dialog.InputName("dialogChangeName", EClass._zone.Name, delegate(bool cancel, string text)
26 {
27 if (!cancel)
28 {
29 EClass._zone.name = text;
30 EClass._zone.idPrefix = 0;
32 }
33 });
34 return false;
35 }, owner);
36 if (Application.isEditor || (!EClass._zone.name.IsEmpty() && !EClass.core.version.demo))
37 {
38 p.TrySetAct("actUploadMap", delegate
39 {
40 EClass.ui.AddLayer<LayerUploader>();
41 return false;
42 }, owner);
43 }
44 }
45 else
46 {
48 {
49 return;
50 }
51 p.TrySetAct("actNewZone", delegate
52 {
53 if (IsTemp)
54 {
55 owner.ModNum(-1);
56 }
58 return false;
61 {
62 return;
63 }
65 {
66 p.TrySetAct("actSetSpawn", delegate
67 {
68 Effect.Get("aura_heaven").Play(EClass.pc.pos);
69 EClass.Sound.Play("worship");
70 EClass.player.spawnZone = EClass._zone;
71 Msg.Say("setSpawn", owner);
72 return true;
73 }, owner);
74 }
76 {
77 p.TrySetAct("actUnsetSpawn", delegate
78 {
79 EClass.Sound.Play("trash");
80 EClass.player.spawnZone = EClass.pc.homeZone;
81 Msg.Say("unsetSpawn", owner);
82 return true;
83 }, owner);
84 }
85 }
86 }
87}
bool TrySetAct(string lang, Func< bool > onPerform, Card tc, CursorInfo cursor=null, int dist=1, bool isHostileAct=false, bool localAct=true, bool canRepeat=false)
Definition: ActPlan.cs:345
Version version
Definition: BaseCore.cs:17
Point pos
Definition: Card.cs:55
void ModNum(int a, bool notify=true)
Definition: Card.cs:3306
Definition: Chara.cs:10
Zone homeZone
Definition: Chara.cs:257
void MoveZone(string alias)
Definition: Chara.cs:3029
static CursorInfo MoveZone
Definition: CursorSystem.cs:86
Definition: Dialog.cs:7
static Dialog InputName(string langDetail, string text, Action< bool, string > onClose, InputType inputType=InputType.Default)
Definition: Dialog.cs:528
Definition: EClass.cs:5
static Core core
Definition: EClass.cs:6
static Zone _zone
Definition: EClass.cs:20
static Player player
Definition: EClass.cs:12
static Chara pc
Definition: EClass.cs:14
static SoundManager Sound
Definition: EClass.cs:46
static UI ui
Definition: EClass.cs:16
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
Zone spawnZone
Definition: Player.cs:1073
Spatial parent
Definition: Spatial.cs:10
virtual bool IsRegion
Definition: Spatial.cs:501
string name
Definition: Spatial.cs:19
virtual string Name
Definition: Spatial.cs:495
override void TrySetAct(ActPlan p)
override bool CanUse(Chara c)
Definition: TraitWaystone.cs:7
override bool OnUse(Chara c)
Definition: Trait.cs:7
Card owner
Definition: Trait.cs:26
static void Refresh()
Definition: WidgetDate.cs:147
virtual bool IsUserZone
Definition: Zone.cs:264
bool IsInstance
Definition: Zone.cs:480
virtual bool IsTown
Definition: Zone.cs:220
Zone ParentZone
Definition: Zone.cs:162
bool IsPCFaction
Definition: Zone.cs:464
bool demo
Definition: Version.cs:14