Elin Modding Docs Doc
All Classes Namespaces
TraitWaystone.cs
1using System;
2
3// Token: 0x020003B7 RID: 951
4public class TraitWaystone : Trait
5{
6 // Token: 0x17000869 RID: 2153
7 // (get) Token: 0x06001C16 RID: 7190 RVA: 0x000A8E13 File Offset: 0x000A7013
8 public bool IsTemp
9 {
10 get
11 {
12 return this.owner.id == "waystone_temp";
13 }
14 }
15
16 // Token: 0x06001C17 RID: 7191 RVA: 0x000A8E2A File Offset: 0x000A702A
17 public override bool CanUse(Chara c)
18 {
19 return this.IsTemp;
20 }
21
22 // Token: 0x06001C18 RID: 7192 RVA: 0x000A8E32 File Offset: 0x000A7032
23 public override bool OnUse(Chara c)
24 {
25 this.owner.ModNum(-1, true);
26 EClass.pc.MoveZone(EClass._zone.ParentZone, ZoneTransition.EnterState.Auto);
27 return false;
28 }
29
30 // Token: 0x06001C19 RID: 7193 RVA: 0x000A8E58 File Offset: 0x000A7058
31 public override void TrySetAct(ActPlan p)
32 {
33 if (!EClass._zone.parent.IsRegion)
34 {
35 return;
36 }
37 if (EClass._zone.IsInstance && !EClass._zone.IsUserZone)
38 {
39 return;
40 }
41 if (EClass._zone is Zone_Dungeon || EClass._zone is Zone_Tent)
42 {
43 return;
44 }
45 p.TrySetAct("actNewZone", delegate()
46 {
47 if (this.IsTemp)
48 {
49 this.owner.ModNum(-1, true);
50 }
51 EClass.pc.MoveZone(EClass._zone.ParentZone, ZoneTransition.EnterState.Auto);
52 return false;
53 }, this.owner, CursorSystem.MoveZone, 1, false, true, false);
54 if (EClass._zone.IsPCFaction || EClass._zone.IsTown)
55 {
56 if (EClass.player.spawnZone != EClass._zone)
57 {
58 p.TrySetAct("actSetSpawn", delegate()
59 {
60 Effect.Get("aura_heaven").Play(EClass.pc.pos, 0f, null, null);
61 EClass.Sound.Play("worship");
62 EClass.player.spawnZone = EClass._zone;
63 Msg.Say("setSpawn", this.owner, null, null, null);
64 return true;
65 }, this.owner, null, 1, false, true, false);
66 return;
67 }
68 if (EClass.player.spawnZone != EClass.pc.homeZone || EClass._zone != EClass.pc.homeZone)
69 {
70 p.TrySetAct("actUnsetSpawn", delegate()
71 {
72 EClass.Sound.Play("trash");
73 EClass.player.spawnZone = EClass.pc.homeZone;
74 Msg.Say("unsetSpawn", this.owner, null, null, null);
75 return true;
76 }, this.owner, null, 1, false, true, false);
77 }
78 }
79 }
80}
Definition Chara.cs:12
Definition Msg.cs:7
Definition Trait.cs:9