Elin Modding Docs Doc
Loading...
Searching...
No Matches
TraitCoreZone.cs
1using System;
2using UnityEngine;
3
4// Token: 0x0200044C RID: 1100
5public class TraitCoreZone : Trait
6{
7 // Token: 0x1700098D RID: 2445
8 // (get) Token: 0x06001EC1 RID: 7873 RVA: 0x000AFD69 File Offset: 0x000ADF69
9 public override bool CanBeDestroyed
10 {
11 get
12 {
13 return false;
14 }
15 }
16
17 // Token: 0x1700098E RID: 2446
18 // (get) Token: 0x06001EC2 RID: 7874 RVA: 0x000AFD6C File Offset: 0x000ADF6C
19 public override bool CanOnlyCarry
20 {
21 get
22 {
23 return true;
24 }
25 }
26
27 // Token: 0x1700098F RID: 2447
28 // (get) Token: 0x06001EC3 RID: 7875 RVA: 0x000AFD6F File Offset: 0x000ADF6F
29 public override bool CanPutAway
30 {
31 get
32 {
33 return false;
34 }
35 }
36
37 // Token: 0x17000990 RID: 2448
38 // (get) Token: 0x06001EC4 RID: 7876 RVA: 0x000AFD72 File Offset: 0x000ADF72
39 public override bool IsLightOn
40 {
41 get
42 {
43 return true;
44 }
45 }
46
47 // Token: 0x06001EC5 RID: 7877 RVA: 0x000AFD75 File Offset: 0x000ADF75
48 public override void SetName(ref string s)
49 {
50 if (EClass.Branch != null)
51 {
52 s = s + " Lv " + EClass.Branch.TextLv;
53 }
54 }
55
56 // Token: 0x06001EC6 RID: 7878 RVA: 0x000AFD98 File Offset: 0x000ADF98
57 public override void TrySetAct(ActPlan p)
58 {
59 if (EClass._zone.IsUserZone)
60 {
61 p.TrySetAct("actNewZone", delegate()
62 {
63 EClass.pc.MoveZone(EClass._zone.ParentZone, ZoneTransition.EnterState.Auto);
64 return false;
65 }, this.owner, CursorSystem.MoveZone, 1, false, true, false);
66 }
67 if (!EClass._zone.IsPCFaction)
68 {
69 return;
70 }
71 p.TrySetAct("actCallReserve", () => LayerPeople.CreateReserve(), this.owner, null, 1, false, true, false);
72 p.TrySetAct("actNameZone", delegate()
73 {
74 Dialog.InputName("dialogChangeName", EClass._zone.Name, delegate(bool cancel, string text)
75 {
76 if (!cancel)
77 {
78 EClass._zone.name = text;
79 EClass._zone.idPrefix = 0;
80 WidgetDate.Refresh();
81 }
82 }, Dialog.InputType.Default);
83 return false;
84 }, this.owner, null, 1, false, true, false);
85 if (EClass.player.spawnZone != EClass._zone)
86 {
87 p.TrySetAct("actSetSpawn", delegate()
88 {
89 Effect.Get("aura_heaven").Play(EClass.pc.pos, 0f, null, null);
90 EClass.Sound.Play("worship");
91 EClass.player.spawnZone = EClass._zone;
92 Msg.Say("setSpawn", this.owner, null, null, null);
93 return true;
94 }, this.owner, null, 1, false, true, false);
95 }
96 if (EClass.pc.homeZone != EClass._zone)
97 {
98 p.TrySetAct("actSetHome", delegate()
99 {
100 Dialog.YesNo("dialogSetHome", delegate
101 {
102 Effect.Get("aura_heaven").Play(EClass.pc.pos, 0f, null, null);
103 EClass.Sound.Play("worship");
104 EClass.pc.homeZone = EClass._zone;
105 Msg.Say("setHome");
106 }, null, "yes", "no");
107 return false;
108 }, this.owner, null, 1, false, true, false);
109 }
110 if (Application.isEditor || (EClass.Branch.resources.worth.bestRank > 0 && EClass.Branch.resources.worth.bestRank <= 100 && !EClass._zone.name.IsEmpty()))
111 {
112 p.TrySetAct("actUploadMap", delegate()
113 {
114 EClass.ui.AddLayer<LayerUploader>();
115 return false;
116 }, this.owner, null, 1, false, true, false);
117 }
118 if (EClass._zone != EClass.game.StartZone && !(EClass._zone is Zone_Vernis))
119 {
120 p.TrySetAct("actAbandonHome", delegate()
121 {
122 Dialog.YesNo("dialogAbandonHome", delegate
123 {
124 if (!EClass.world.date.IsExpired(EClass._zone.GetInt(2, null) + 43200))
125 {
126 Msg.Say("claimCooldown");
127 return;
128 }
129 this.owner.Die(null, null, AttackSource.None);
130 EClass.player.DropReward(ThingGen.Create("deed", -1, -1), false);
131 EClass._zone.AbandonZone();
132 }, null, "yes", "no");
133 return false;
134 }, this.owner, null, 1, false, true, false);
135 }
136 }
137}
Definition Msg.cs:7
Definition Trait.cs:9