Elin Decompiled Documentation EA 23.344.1 Nightly
Loading...
Searching...
No Matches
ReligionCustom.cs
Go to the documentation of this file.
1using Newtonsoft.Json;
2using UnityEngine;
3
4public class ReligionCustom : Religion
5{
6 [JsonIgnore]
7 public CustomReligionContent content;
8
9 public override string id => content?.SourceId ?? "";
10
11 public override bool CanJoin => content?.canJoin ?? true;
12
13 public override bool IsMinorGod => content?.isMinorGod ?? false;
14
15 public override bool IsAvailable => true;
16
17 public override Sprite GetSprite()
18 {
19 return ModUtil.LoadSprite(id, null, null, 150, 200) ?? base.GetSprite();
20 }
21
22 public override bool IsValidArtifact(string thingId)
23 {
24 return content.artifacts.Contains(thingId);
25 }
26
27 public override string[] GetValidArtifacts()
28 {
29 return content.artifacts.ToArray();
30 }
31
32 public override bool IsFaithElement(Element e)
33 {
34 return content.elements.Contains(e.source.alias);
35 }
36
37 public override int GetOfferingMtp(Thing t)
38 {
39 if (content.offeringMtp.TryGetValue(t.id, out var value))
40 {
41 return value;
42 }
43 return base.GetOfferingMtp(t);
44 }
45
46 public override int GetOfferingValue(Thing t, int num = -1)
47 {
48 if (num == -1)
49 {
50 num = t.Num;
51 }
52 int offeringValue = base.GetOfferingValue(t, num);
53 if (content.offeringValue.TryGetValue(t.id, out var value))
54 {
55 var args = new
56 {
57 @base = offeringValue,
58 lv = t.LV,
59 rarity = t.rarityLv
60 };
61 if (value.TryEvaluateAsCalc(out int result, (object)args))
62 {
63 return result;
64 }
65 }
66 return offeringValue;
67 }
68
69 public override void Punish(Chara c)
70 {
71 if (content.noPunish)
72 {
74 }
75 else
76 {
77 base.Punish(c);
78 }
79 }
80
81 public override void PunishTakeOver(Chara c)
82 {
83 if (content.noPunishTakeover)
84 {
86 }
87 else
88 {
89 base.PunishTakeOver(c);
90 }
91 }
92}
string id
Definition: Card.cs:36
void SayNothingHappans()
Definition: Card.cs:7318
int Num
Definition: Card.cs:161
int LV
Definition: Card.cs:389
Definition: Chara.cs:10
SourceElement.Row source
Definition: ELEMENT.cs:282
override bool IsFaithElement(Element e)
override void PunishTakeOver(Chara c)
override bool IsMinorGod
override string[] GetValidArtifacts()
override void Punish(Chara c)
override int GetOfferingMtp(Thing t)
override bool CanJoin
override bool IsAvailable
CustomReligionContent content
override Sprite GetSprite()
override bool IsValidArtifact(string thingId)
override int GetOfferingValue(Thing t, int num=-1)
Definition: Thing.cs:8