Elin Decompiled Documentation EA 23.339.0 Nightly
Loading...
Searching...
No Matches
ActPray.cs
Go to the documentation of this file.
1public class ActPray : Act
2{
3 public override TargetType TargetType => TargetType.Self;
4
5 public override bool LocalAct => false;
6
7 public override bool Perform()
8 {
9 return TryPray(Act.CC);
10 }
11
12 public static bool TryPray(Chara c, bool passive = false)
13 {
14 if (!c.HasCondition<ConWrath>())
15 {
16 Thing thing = c.things.Find<TraitPunishBall>();
17 if (thing != null)
18 {
19 thing.Destroy();
20 c.PlaySound("pray");
21 c.PlayEffect("revive");
22 c.Say("piety2", c);
23 return true;
24 }
25 }
26 if (c.faith.IsEyth && !c.HasElement(1228))
27 {
28 c.Say("pray", c);
29 if (passive && c.Evalue(1655) >= 2 && c.party.members.Count > 1)
30 {
31 foreach (Chara member in c.party.members)
32 {
33 if (member != c)
34 {
35 member.Say("pray2", member, member.faith.Name);
36 member.ModExp(306, 200);
37 }
38 }
39 }
40 if (c.IsPC && EClass.player.prayed)
41 {
42 c.PlaySound("pray_ignore");
43 }
44 else
45 {
46 if (c.IsPC)
47 {
48 EClass.player.prayed = true;
49 }
50 c.ModExp(306, 100);
51 }
52 return true;
53 }
54 foreach (Chara member2 in c.party.members)
55 {
56 if (member2 == c || (passive && c.Evalue(1655) >= 2))
57 {
58 member2.Say("pray2", member2, member2.faith.Name);
59 }
60 }
61 if (passive || !c.faith.TryGetGift(c))
62 {
63 if (c.IsPC && EClass.player.prayed)
64 {
65 if (!passive)
66 {
67 c.Say("pray_ignore", c, c.faith.Name);
68 c.PlaySound("pray_ignore");
69 }
70 }
71 else
72 {
73 Pray(c, passive);
74 }
75 }
76 return true;
77 }
78
79 public static void Pray(Chara c, bool passive)
80 {
81 if (c.IsPC)
82 {
83 EClass.player.prayed = true;
84 }
85 if (!passive)
86 {
87 c.Say("pray_answer", c, c.faith.Name);
88 c.faith.Revelation((EClass.rnd(2) == 0) ? "random" : "chat", c);
89 }
90 foreach (Chara member in c.party.members)
91 {
92 if (member == c || (passive && c.Evalue(1655) >= 2))
93 {
94 member.ModExp(306, 200);
95 }
96 }
97 if (!passive)
98 {
99 c.PlaySound("pray");
100 c.Say("pray_heal", c);
101 }
102 if (c.IsPC)
103 {
104 foreach (Chara member2 in c.party.members)
105 {
106 Heal(member2);
107 }
108 return;
109 }
110 Heal(c);
111 static void Heal(Chara _c)
112 {
113 _c.PlayEffect("revive");
114 _c.HealHP(999999L);
115 _c.mana.Mod(999999);
116 _c.Cure(CureType.Prayer, 999999);
117 _c.RemoveCondition<ConDeathSentense>();
118 }
119 }
120}
CureType
Definition: CureType.cs:2
static void Pray(Chara c, bool passive)
Definition: ActPray.cs:79
override bool LocalAct
Definition: ActPray.cs:5
static bool TryPray(Chara c, bool passive=false)
Definition: ActPray.cs:12
override bool Perform()
Definition: ActPray.cs:7
Definition: ACT.cs:62
static Chara CC
Definition: ACT.cs:77
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:6638
Effect PlayEffect(string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
Definition: Card.cs:6672
virtual void HealHP(long a, HealSource origin=HealSource.None)
Definition: Card.cs:4185
void Destroy()
Definition: Card.cs:5310
ThingContainer things
Definition: Card.cs:39
int Evalue(int ele)
Definition: Card.cs:2704
void ModExp(string alias, int a)
Definition: Card.cs:2781
bool HasElement(int ele, bool includeNagative=false)
Definition: Card.cs:6376
void Say(string lang, string ref1=null, string ref2=null)
Definition: Card.cs:7316
Definition: Chara.cs:10
override bool IsPC
Definition: Chara.cs:630
Party party
Definition: Chara.cs:43
bool HasCondition(string alias)
Definition: Chara.cs:9990
Stats mana
Definition: Chara.cs:1213
Religion faith
Definition: Chara.cs:443
void Cure(CureType type, int p=100, BlessedState state=BlessedState.Normal)
Definition: Chara.cs:10095
Definition: EClass.cs:6
static int rnd(long a)
Definition: EClass.cs:59
static Player player
Definition: EClass.cs:13
List< Chara > members
Definition: Party.cs:19
bool prayed
Definition: Player.cs:1053
bool IsEyth
Definition: Religion.cs:65
virtual void Revelation(string idTalk, Card c, int chance=100)
Definition: Religion.cs:167
virtual string Name
Definition: Religion.cs:37
virtual void Mod(int a)
Definition: Stats.cs:135
static TargetTypeSelf Self
Definition: TargetType.cs:7
Thing Find(int uid)
Definition: Thing.cs:8