Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
AI_Pray.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2
3public class AI_Pray : AIAct
4{
6
7 public static TraitAltar GetAltar(Chara c)
8 {
9 if (c.faith.IsEyth)
10 {
11 return null;
12 }
13 List<TraitAltar> list = EClass._map.props.installed.traits.List((TraitAltar t) => t.idDeity == c.faith.id && c.HasAccess(t.owner.pos));
14 if (list.Count == 0)
15 {
16 return null;
17 }
18 return list.RandomItem();
19 }
20
21 public bool IsValid()
22 {
23 if (altar != null)
24 {
25 return altar.ExistsOnMap;
26 }
27 return false;
28 }
29
30 public override IEnumerable<Status> Run()
31 {
32 yield return DoGoto(altar.owner, 1);
34 {
35 cancelWhenMoved = false,
36 canProgress = () => IsValid(),
37 onProgressBegin = delegate
38 {
39 },
40 onProgress = delegate
41 {
42 owner.PlayAnime(AnimeID.Shiver);
43 },
44 onProgressComplete = delegate
45 {
46 Pray(owner);
47 }
48 }.SetDuration(30, 5);
49 yield return Do(seq);
50 }
51
52 public static void Pray(Chara c, bool silent = false)
53 {
54 if (!silent)
55 {
56 c.Say("pray2", c, c.faith.Name);
57 c.PlaySound("pray");
58 c.PlayEffect("revive");
59 }
60 c.ModExp(306, 200);
61 }
62}
AnimeID
Definition: AnimeID.cs:2
Definition: AIAct.cs:6
Status Do(AIAct _seq, Func< Status > _onChildFail=null)
Definition: AIAct.cs:416
new Chara owner
Definition: AIAct.cs:14
Status DoGoto(Point pos, int dist=0, bool ignoreConnection=false, Func< Status > _onChildFail=null)
Definition: AIAct.cs:432
static TraitAltar GetAltar(Chara c)
Definition: AI_Pray.cs:7
static void Pray(Chara c, bool silent=false)
Definition: AI_Pray.cs:52
TraitAltar altar
Definition: AI_Pray.cs:5
bool IsValid()
Definition: AI_Pray.cs:21
override IEnumerable< Status > Run()
Definition: AI_Pray.cs:30
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:5404
Point pos
Definition: Card.cs:55
Effect PlayEffect(string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
Definition: Card.cs:5438
void ModExp(string alias, int a)
Definition: Card.cs:2508
void PlayAnime(AnimeID id, bool force=false)
Definition: Card.cs:5423
void Say(string lang, string ref1=null, string ref2=null)
Definition: Card.cs:6046
Definition: Chara.cs:10
bool HasAccess(Card c)
Definition: Chara.cs:1089
Religion faith
Definition: Chara.cs:424
Definition: EClass.cs:5
static Map _map
Definition: EClass.cs:18
PropsManager props
Definition: Map.cs:91
PropsInstalled installed
Definition: PropsManager.cs:8
TraitManager traits
Definition: Props.cs:18
string Name
Definition: Religion.cs:30
bool IsEyth
Definition: Religion.cs:44
virtual string id
Definition: Religion.cs:26
virtual string idDeity
Definition: TraitAltar.cs:13
bool ExistsOnMap
Definition: Trait.cs:343
Card owner
Definition: Trait.cs:26