Elin Decompiled Documentation EA 23.102 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)
27 {
28 if (passive)
29 {
30 if (c.Evalue(1655) < 2 || EClass.pc.party.members.Count <= 1)
31 {
32 return true;
33 }
34 foreach (Chara member in EClass.pc.party.members)
35 {
36 if (member != EClass.pc)
37 {
38 member.Say("pray2", member, member.faith.Name);
39 member.ModExp(306, 200);
40 }
41 }
42 }
43 else
44 {
45 c.Say("pray", c);
46 c.PlaySound("pray_ignore");
47 }
48 return true;
49 }
50 foreach (Chara member2 in EClass.pc.party.members)
51 {
52 if (member2 == EClass.pc || (passive && c.Evalue(1655) >= 2))
53 {
54 member2.Say("pray2", member2, member2.faith.Name);
55 }
56 }
57 if (passive || !c.faith.TryGetGift())
58 {
59 if (c.IsPC && EClass.player.prayed)
60 {
61 if (!passive)
62 {
63 c.Say("pray_ignore", c, c.faith.Name);
64 c.PlaySound("pray_ignore");
65 }
66 }
67 else
68 {
69 Pray(c, passive);
70 }
71 }
72 return true;
73 }
74
75 public static void Pray(Chara c, bool passive)
76 {
77 if (c.IsPC)
78 {
79 EClass.player.prayed = true;
80 }
81 if (!passive)
82 {
83 c.Say("pray_answer", c, Act.CC.faith.Name);
84 c.faith.Revelation((EClass.rnd(2) == 0) ? "random" : "chat");
85 }
86 foreach (Chara member in EClass.pc.party.members)
87 {
88 if (member == EClass.pc || (passive && c.Evalue(1655) >= 2))
89 {
90 member.ModExp(306, 200);
91 }
92 }
93 if (!passive)
94 {
95 c.PlaySound("pray");
96 c.Say("pray_heal", c);
97 }
98 if (c.IsPC)
99 {
100 foreach (Chara member2 in c.party.members)
101 {
102 Heal(member2);
103 }
104 return;
105 }
106 Heal(c);
107 static void Heal(Chara _c)
108 {
109 _c.PlayEffect("revive");
110 _c.HealHP(999999);
111 _c.mana.Mod(999999);
112 _c.Cure(CureType.Prayer, 999999);
113 }
114 }
115}
CureType
Definition: CureType.cs:2
static void Pray(Chara c, bool passive)
Definition: ActPray.cs:75
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:5404
virtual void HealHP(int a, HealSource origin=HealSource.None)
Definition: Card.cs:3680
Effect PlayEffect(string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
Definition: Card.cs:5438
void Destroy()
Definition: Card.cs:4538
ThingContainer things
Definition: Card.cs:34
int Evalue(int ele)
Definition: Card.cs:2431
void ModExp(string alias, int a)
Definition: Card.cs:2508
void Say(string lang, string ref1=null, string ref2=null)
Definition: Card.cs:6046
Definition: Chara.cs:10
override bool IsPC
Definition: Chara.cs:597
Party party
Definition: Chara.cs:43
bool HasCondition(string alias)
Definition: Chara.cs:8568
Stats mana
Definition: Chara.cs:963
Religion faith
Definition: Chara.cs:424
void Cure(CureType type, int p=100, BlessedState state=BlessedState.Normal)
Definition: Chara.cs:8647
Definition: EClass.cs:5
static int rnd(int a)
Definition: EClass.cs:50
static Player player
Definition: EClass.cs:12
static Chara pc
Definition: EClass.cs:14
List< Chara > members
Definition: Party.cs:18
bool prayed
Definition: Player.cs:787
string Name
Definition: Religion.cs:30
bool IsEyth
Definition: Religion.cs:44
void Revelation(string idTalk, int chance=100)
Definition: Religion.cs:145
virtual void Mod(int a)
Definition: Stats.cs:135
static TargetTypeSelf Self
Definition: TargetType.cs:7
Thing Find(int uid)
Definition: Thing.cs:8