Elin Decompiled Documentation EA 23.102 Nightly
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Pages
Expedition.cs
Go to the documentation of this file.
1using Newtonsoft.Json;
2
3public class Expedition : EClass
4{
5 [JsonProperty]
6 public int hours;
7
8 [JsonProperty]
9 public int uidChara;
10
11 [JsonProperty]
13
15
17
19
20 public int MinHour => (int)((float)hours * 0.8f);
21
22 public int MaxHour => (int)((float)hours * 1.2f);
23
24 public string strType => ("ex" + type).lang();
25
26 public void SetOwner(FactionBranch _branch)
27 {
28 branch = _branch;
29 }
30
31 public void OnCreate()
32 {
33 _ = branch.resources;
34 switch (type)
35 {
36 case ExpeditionType.Search:
37 hours = 24;
38 break;
39 case ExpeditionType.Training:
40 hours = 120;
41 break;
42 case ExpeditionType.Explore:
43 hours = 10;
44 break;
45 case ExpeditionType.Hunt:
46 hours = 10;
47 break;
48 default:
49 hours = 24;
50 break;
51 }
52 }
53
54 public void Start()
55 {
57 costs.Pay();
58 WidgetPopText.Say("expeditionStart".lang(chara.Name, strType));
59 EClass.Branch.Log("bExpeditionStart", chara, strType);
61 {
62 Msg.Say("bExpeditionStart", chara, strType);
63 }
64 chara.MoveZone("somewhere");
65 }
66
67 public void OnAdvanceHour()
68 {
69 hours--;
70 if (hours <= 0)
71 {
72 End();
73 }
74 }
75
76 public void End()
77 {
80 WidgetPopText.Say("expeditionEnd".lang(chara.Name, strType));
81 branch.Log("bExpeditionEnd", chara, strType);
83 {
84 Msg.Say("bExpeditionEnd", chara, strType);
85 }
86 switch (type)
87 {
88 case ExpeditionType.Search:
89 {
91 {
92 if (!item.isKnown)
93 {
94 item.isKnown = true;
95 WidgetPopText.Say("discoverZone".lang(item.Name), FontColor.Great);
96 }
97 }
99 if (zone != null)
100 {
101 zone.isKnown = true;
102 WidgetPopText.Say("discoverZone".lang(zone.Name), FontColor.Great);
103 }
104 break;
105 }
106 case ExpeditionType.Explore:
108 break;
109 }
110 }
111
113 {
114 Expedition expedition = new Expedition();
115 expedition.uidChara = c.uid;
116 expedition.type = type;
117 expedition.SetOwner(c.homeBranch);
118 expedition.OnCreate();
119 return expedition;
120 }
121}
ExpeditionType
FontColor
Definition: FontColor.cs:2
string Name
Definition: Card.cs:2013
int uid
Definition: Card.cs:118
Definition: Chara.cs:10
WorkSummary GetWorkSummary()
Definition: Chara.cs:8308
Zone homeZone
Definition: Chara.cs:252
bool IsInActiveZone
Definition: Chara.cs:791
FactionBranch homeBranch
Definition: Chara.cs:889
void MoveZone(string alias)
Definition: Chara.cs:3010
Definition: EClass.cs:5
static World world
Definition: EClass.cs:40
static FactionBranch Branch
Definition: EClass.cs:22
Dictionary< int, Expedition > dict
int MinHour
Definition: Expedition.cs:20
void End()
Definition: Expedition.cs:76
int MaxHour
Definition: Expedition.cs:22
int uidChara
Definition: Expedition.cs:9
string strType
Definition: Expedition.cs:24
static Expedition Create(Chara c, ExpeditionType type)
Definition: Expedition.cs:112
void OnCreate()
Definition: Expedition.cs:31
void Start()
Definition: Expedition.cs:54
void OnAdvanceHour()
Definition: Expedition.cs:67
HomeResource.CostList costs
Definition: Expedition.cs:14
int hours
Definition: Expedition.cs:6
void SetOwner(FactionBranch _branch)
Definition: Expedition.cs:26
ExpeditionType type
Definition: Expedition.cs:12
FactionBranch branch
Definition: Expedition.cs:16
Chara chara
Definition: Expedition.cs:18
ExpeditionManager expeditions
string Log(string idLang, string ref1=null, string ref2=null, string ref3=null, string ref4=null)
HomeResourceManager resources
Definition: Msg.cs:5
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58
Definition: Rand.cs:4
static int Range(int min, int max)
Definition: Rand.cs:42
static Chara Get(int uid)
Definition: RefChara.cs:36
Zone CreateRandomSite(Zone center, int radius=8, string idSource=null, bool updateMesh=true, int lv=0)
Definition: Region.cs:104
List< Zone > ListZonesInRadius(Zone center, int radius=10)
Definition: Region.cs:263
virtual string Name
Definition: Spatial.cs:495
static void Say(string text, FontColor fontColor=FontColor.Default, Sprite sprite=null)
Region region
Definition: World.cs:23
Definition: Zone.cs:12