Elin Modding Docs Doc
Loading...
Searching...
No Matches
MATERIAL.cs
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using UnityEngine;
5
6// Token: 0x020006B0 RID: 1712
7public class MATERIAL : EClass
8{
9 // Token: 0x17000E36 RID: 3638
10 // (get) Token: 0x0600318F RID: 12687 RVA: 0x00116189 File Offset: 0x00114389
11 public static SourceMaterial.Row sourceWaterSea
12 {
13 get
14 {
15 return EClass.sources.materials.rows[88];
16 }
17 }
18
19 // Token: 0x06003190 RID: 12688 RVA: 0x001161A4 File Offset: 0x001143A4
20 public static SourceMaterial.Row GetRandomMaterial(int lv, string group = null, bool tryLevelMatTier = false)
21 {
22 if (group == null)
23 {
24 group = ((EClass.rnd(2) == 0) ? "metal" : "leather");
25 }
26 if (!(group == "metal"))
27 {
28 if (group == "leather")
29 {
30 if (EClass.rnd(15) == 0)
31 {
32 group = "metal";
33 }
34 }
35 }
36 else if (EClass.rnd(15) == 0)
37 {
38 group = "leather";
39 }
40 SourceMaterial.TierList tierList = SourceMaterial.tierMap[group];
41 int num;
42 if (tryLevelMatTier)
43 {
44 num = Mathf.Clamp(lv / 15, 0, tierList.tiers.Length - 1);
45 num = Mathf.Clamp(num + EClass.rnd(2) - EClass.rnd(2), 0, tierList.tiers.Length - 1);
46 }
47 else
48 {
49 int min = (lv >= 60) ? 2 : ((lv >= 25) ? 1 : 0);
50 num = Mathf.Clamp(EClass.rnd(EClass.rnd(EClass.rnd(lv / 10 + 2) + 1) + 1), min, tierList.tiers.Length - 1);
51 }
52 SourceMaterial.Tier tier = tierList.tiers[num];
53 SourceMaterial.Row result = tier.Select();
54 if (tier.list.Count == 0)
55 {
56 Debug.Log(string.Concat(new string[]
57 {
58 lv.ToString(),
59 "/",
60 group,
61 "/",
62 num.ToString(),
63 "/"
64 }));
65 }
66 return result;
67 }
68
69 // Token: 0x06003191 RID: 12689 RVA: 0x001162E8 File Offset: 0x001144E8
70 public static SourceMaterial.Row GetRandomMaterialFromCategory(int lv, string cat, SourceMaterial.Row fallback)
71 {
72 return MATERIAL.GetRandomMaterialFromCategory(lv, new string[]
73 {
74 cat
75 }, fallback);
76 }
77
78 // Token: 0x06003192 RID: 12690 RVA: 0x001162FC File Offset: 0x001144FC
79 public static SourceMaterial.Row GetRandomMaterialFromCategory(int lv, string[] cat, SourceMaterial.Row fallback)
80 {
81 int min = (lv >= 60) ? 2 : ((lv >= 25) ? 1 : 0);
82 int a2 = lv / 5 + 2;
83 int idTier = Mathf.Clamp(EClass.rnd(EClass.rnd(EClass.rnd(a2) + 1) + 1), min, 4);
84 List<SourceMaterial.Row> list = (from m in EClass.sources.materials.rows
85 where cat.Contains(m.category) && m.tier <= idTier
86 select m).ToList<SourceMaterial.Row>();
87 if (list.Count > 0)
88 {
89 return list.RandomItemWeighted((SourceMaterial.Row a) => (float)(a.chance * ((a.tier == idTier) ? 5 : 1)));
90 }
91 return fallback;
92 }
93
94 // Token: 0x04001BB2 RID: 7090
95 public const byte oak = 1;
96
97 // Token: 0x04001BB3 RID: 7091
98 public const byte granite = 3;
99
100 // Token: 0x04001BB4 RID: 7092
101 public const byte mud = 4;
102
103 // Token: 0x04001BB5 RID: 7093
104 public const byte sand = 8;
105
106 // Token: 0x04001BB6 RID: 7094
107 public const byte soil = 45;
108
109 // Token: 0x04001BB7 RID: 7095
110 public const byte snow = 48;
111
112 // Token: 0x04001BB8 RID: 7096
113 public const byte water = 66;
114
115 // Token: 0x04001BB9 RID: 7097
116 public const byte water_fresh = 67;
117
118 // Token: 0x04001BBA RID: 7098
119 public const byte ice = 61;
120
121 // Token: 0x04001BBB RID: 7099
122 public const byte gold = 12;
123
124 // Token: 0x04001BBC RID: 7100
125 public const byte water_sea = 88;
126
127 // Token: 0x04001BBD RID: 7101
128 public const byte process = 94;
129
130 // Token: 0x04001BBE RID: 7102
131 public const byte sand_sea = 97;
132
133 // Token: 0x04001BBF RID: 7103
134 public static SourceMaterial.Row sourceSnow = EClass.sources.materials.rows[48];
135
136 // Token: 0x04001BC0 RID: 7104
137 public static SourceMaterial.Row sourceIce = EClass.sources.materials.rows[61];
138
139 // Token: 0x04001BC1 RID: 7105
140 public static SourceMaterial.Row sourceGold = EClass.sources.materials.rows[12];
141
142 // Token: 0x04001BC2 RID: 7106
143 public static SourceMaterial.Row sourceOak = EClass.sources.materials.rows[1];
144}