Elin Decompiled Documentation EA 23.286 Nightly Patch 1
Loading...
Searching...
No Matches
Religion Class Reference
Inheritance diagram for Religion:
EClass ReligionEarth ReligionElement ReligionEyth ReligionHarmony ReligionHarvest ReligionHealing ReligionLuck ReligionMachine ReligionMinor ReligionOblivion ReligionWind

Public Types

enum  ConvertType { Default , Campaign }
 

Public Member Functions

virtual SourceElement.Row GetFeat (int i)
 
void Init ()
 
void OnLoad ()
 
void OnAdvanceDay ()
 
Sprite GetSprite ()
 
void SetTextRelation (UIText text)
 
string GetTextBenefit ()
 
string GetTextTemper (int _temper=-99999)
 
void Revelation (string idTalk, int chance=100)
 
void Talk (string idTalk, Card c=null, Card agent=null)
 
string GetGodTalk (string suffix)
 
virtual int GetOfferingMtp (Thing t)
 
int GetOfferingValue (Thing t, int num=-1)
 
int GetGiftRank ()
 
bool TryGetGift ()
 
bool IsValidArtifact (string id)
 
virtual void OnBecomeBranchFaith ()
 
void JoinFaith (Chara c, ConvertType type=ConvertType.Default)
 
void LeaveFaith (Chara c, Religion newFaith, ConvertType type)
 
void Punish (Chara c)
 
void PunishTakeOver (Chara c)
 
virtual void OnJoinFaith ()
 
virtual void OnLeaveFaith ()
 
void OnChangeHour ()
 

Static Public Member Functions

static Religion GetArtifactDeity (string id)
 
static Thing Reforge (string id, Point pos=null, bool first=true)
 
- Static Public Member Functions inherited from EClass
static int rndSeed (int a, int seed)
 
static int rnd (long a)
 
static int rnd (int a)
 
static int curve (long _a, int start, int step, int rate=75)
 
static int sqrt (int a)
 
static int rndHalf (int a)
 
static float rndf (float a)
 
static int rndSqrt (int a)
 
static void Wait (float a, Card c)
 
static void Wait (float a, Point p)
 
static int Bigger (int a, int b)
 
static int Smaller (int a, int b)
 

Public Attributes

int relation
 
int giftRank
 
int mood
 
SourceReligion.Row _source
 

Static Public Attributes

static Religion recentWrath
 
- Static Public Attributes inherited from EClass
static Core core
 

Properties

virtual string id [get]
 
virtual bool IsAvailable [get]
 
string Name [get]
 
SourceReligion.Row source [get]
 
string NameShort [get]
 
string NameDomain [get]
 
string TextType [get]
 
string TextGodGender [get]
 
string TextMood [get]
 
bool IsEyth [get]
 
bool IsEhekatl [get]
 
bool IsOpatos [get]
 
virtual bool IsMinorGod [get]
 
virtual bool CanJoin [get]
 
- Properties inherited from EClass
static Game game [get]
 
static bool AdvMode [get]
 
static Player player [get]
 
static Chara pc [get]
 
static UI ui [get]
 
static Map _map [get]
 
static Zone _zone [get]
 
static FactionBranch Branch [get]
 
static FactionBranch BranchOrHomeBranch [get]
 
static Faction Home [get]
 
static Faction Wilds [get]
 
static Scene scene [get]
 
static BaseGameScreen screen [get]
 
static GameSetting setting [get]
 
static GameData gamedata [get]
 
static ColorProfile Colors [get]
 
static World world [get]
 
static SourceManager sources [get]
 
static SourceManager editorSources [get]
 
static SoundManager Sound [get]
 
static CoreDebug debug [get]
 

Detailed Description

Definition at line 5 of file Religion.cs.

Member Enumeration Documentation

◆ ConvertType

Enumerator
Default 
Campaign 

Definition at line 7 of file Religion.cs.

Member Function Documentation

◆ GetArtifactDeity()

static Religion Religion.GetArtifactDeity ( string  id)
inlinestatic

Definition at line 275 of file Religion.cs.

276 {
277 return id switch
278 {
279 "gun_mani" => EClass.game.religions.Machine,
280 "cloak_mani" => EClass.game.religions.Machine,
281 "scythe_kumi" => EClass.game.religions.Harvest,
282 "blunt_earth" => EClass.game.religions.Earth,
283 "luckydagger" => EClass.game.religions.Luck,
284 "staff_element" => EClass.game.religions.Element,
285 "windbow" => EClass.game.religions.Wind,
286 "shirt_wind" => EClass.game.religions.Wind,
287 "pole_holy" => EClass.game.religions.Healing,
288 "sword_muramasa2" => EClass.game.religions.MoonShadow,
289 "kogitsunemaru" => EClass.game.religions.Trickery,
290 "warmonger" => EClass.game.religions.Strife,
291 _ => null,
292 };
293 }
Definition: EClass.cs:6
static Game game
Definition: EClass.cs:9
ReligionManager religions
Definition: Game.cs:159
ReligionWind Wind
ReligionHarvest Harvest
ReligionMachine Machine
ReligionLuck Luck
ReligionStrife Strife
ReligionMoonShadow MoonShadow
ReligionTrickery Trickery
ReligionElement Element
ReligionEarth Earth
ReligionHealing Healing

References ReligionManager.Earth, ReligionManager.Element, EClass.game, ReligionManager.Harvest, ReligionManager.Healing, ReligionManager.Luck, ReligionManager.Machine, ReligionManager.MoonShadow, Game.religions, ReligionManager.Strife, ReligionManager.Trickery, and ReligionManager.Wind.

Referenced by IsValidArtifact(), and Card.PurgeDuplicateArtifact().

◆ GetFeat()

virtual SourceElement.Row Religion.GetFeat ( int  i)
inlinevirtual

Definition at line 54 of file Religion.cs.

55 {
56 return EClass.sources.elements.alias["featGod_" + id + i];
57 }
static SourceManager sources
Definition: EClass.cs:43
SourceElement elements

References SourceManager.elements, and EClass.sources.

◆ GetGiftRank()

int Religion.GetGiftRank ( )
inline

Definition at line 220 of file Religion.cs.

221 {
222 if (IsEyth || source.rewards.Length == 0)
223 {
224 return -1;
225 }
226 int num = EClass.pc.Evalue(85);
227 if (giftRank == 0 && (num >= 15 || EClass.debug.enable))
228 {
229 return 1;
230 }
231 if (source.rewards.Length >= 2 && giftRank == 1 && (num >= 30 || EClass.debug.enable))
232 {
233 return 2;
234 }
235 return -1;
236 }
int Evalue(int ele)
Definition: Card.cs:2611
bool enable
Definition: CoreDebug.cs:286
static Chara pc
Definition: EClass.cs:15
static CoreDebug debug
Definition: EClass.cs:49
bool IsEyth
Definition: Religion.cs:44
SourceReligion.Row source
Definition: Religion.cs:32
int giftRank
Definition: Religion.cs:17

References EClass.debug, CoreDebug.enable, Card.Evalue(), giftRank, IsEyth, EClass.pc, and source.

Referenced by TraitAltar._OnOffer(), and TryGetGift().

◆ GetGodTalk()

string Religion.GetGodTalk ( string  suffix)
inline

Definition at line 160 of file Religion.cs.

161 {
162 return EClass.sources.dataGodTalk.GetText(id, suffix).Split(Environment.NewLine.ToCharArray()).RandomItem();
163 }
string GetText(string id, string topic="text")
Definition: ExcelData.cs:209
ExcelData dataGodTalk

References SourceManager.dataGodTalk, ExcelData.GetText(), and EClass.sources.

Referenced by DramaActor.ConvertAdv(), and Talk().

◆ GetOfferingMtp()

virtual int Religion.GetOfferingMtp ( Thing  t)
inlinevirtual

Reimplemented in ReligionMoonShadow, and ReligionTrickery.

Definition at line 165 of file Religion.cs.

166 {
167 return 0;
168 }

Referenced by GetOfferingValue().

◆ GetOfferingValue()

int Religion.GetOfferingValue ( Thing  t,
int  num = -1 
)
inline

Definition at line 170 of file Religion.cs.

171 {
172 t.CheckJustCooked();
173 if (num == -1)
174 {
175 num = t.Num;
176 }
177 long v = 0L;
178 if (t.source._origin == "meat")
179 {
180 v = Mathf.Clamp(t.SelfWeight / 10, 1, 1000);
181 if (t.refCard == null)
182 {
183 v /= 10L;
184 }
185 }
186 else if (GetOfferingMtp(t) > 0)
187 {
188 SetValue(t.category, GetOfferingMtp(t));
189 }
190 else
191 {
192 string[] cat_offer = source.cat_offer;
193 foreach (string key in cat_offer)
194 {
195 if (t.category.IsChildOf(key))
196 {
197 SetValue(EClass.sources.categories.map[key], 1);
198 break;
199 }
200 }
201 }
202 if (v == 0L)
203 {
204 return 0;
205 }
206 if (t.IsDecayed)
207 {
208 v /= 10L;
209 }
210 v = v * (100 + Mathf.Min(t.LV * 2, 100) + (t.HasElement(757) ? 50 : 0)) / 100;
211 v = (int)Mathf.Clamp(Mathf.Max(v, 1f) * (float)num, 1f, 214748370f);
212 return (int)v;
213 void SetValue(SourceCategory.Row cat, int mtp)
214 {
215 v = Mathf.Clamp(t.SelfWeight / 10, 50, 1000);
216 v = v * cat.offer * mtp / 100;
217 }
218 }
bool IsDecayed
Definition: Card.cs:2327
CardRow refCard
Definition: Card.cs:2005
void CheckJustCooked()
Definition: Card.cs:6838
int Num
Definition: Card.cs:159
SourceCategory.Row category
Definition: Card.cs:2087
bool HasElement(int ele, bool includeNagative=false)
Definition: Card.cs:6122
int LV
Definition: Card.cs:387
virtual int GetOfferingMtp(Thing t)
Definition: Religion.cs:165
SourceCategory categories
SourceThing.Row source
Definition: Thing.cs:11
override int SelfWeight
Definition: Thing.cs:67

References SourceManager.categories, Card.category, Card.CheckJustCooked(), GetOfferingMtp(), Card.HasElement(), Card.IsDecayed, Card.LV, Card.Num, Card.refCard, Thing.SelfWeight, source, Thing.source, and EClass.sources.

Referenced by TraitAltar._OnOffer(), TraitAltar.CanOffer(), and TraitAltar.OnOffer().

◆ GetSprite()

Sprite Religion.GetSprite ( )
inline

Definition at line 72 of file Religion.cs.

73 {
74 return ResourceCache.Load<Sprite>("Media/Graphics/Image/Faction/" + source.id) ?? ResourceCache.Load<Sprite>("Media/Graphics/Image/Faction/eyth");
75 }

References source.

Referenced by UIHomeInfo.RefreshInfo(), Portrait.SetChara(), and UIFactionInfo.SetReligion().

◆ GetTextBenefit()

string Religion.GetTextBenefit ( )
inline

Definition at line 93 of file Religion.cs.

94 {
95 string text = "<color=green>";
96 for (int i = 0; i < source.elements.Length; i += 2)
97 {
98 if (i != 0)
99 {
100 text = text + Lang.words.comma + Lang.space;
101 }
102 text += EClass.sources.elements.map[source.elements[i]].GetName();
103 }
104 text += "</color>";
105 return source.GetText("textBenefit") + Environment.NewLine + Environment.NewLine + (IsEyth ? "" : "textBenefit".lang(text));
106 }
Definition: Lang.cs:7
static string space
Definition: Lang.cs:33

References SourceManager.elements, IsEyth, source, EClass.sources, and Lang.space.

Referenced by DramaActor.ConvertAdv().

◆ GetTextTemper()

string Religion.GetTextTemper ( int  _temper = -99999)
inline

Definition at line 108 of file Religion.cs.

109 {
110 if (IsEyth)
111 {
112 return "-";
113 }
114 if (_temper == -99999)
115 {
116 _temper = mood;
117 }
118 string[] list = Lang.GetList("temper");
119 if (_temper <= -85)
120 {
121 return list[0].ToTitleCase().TagColor(FontColor.Bad);
122 }
123 if (_temper <= -45)
124 {
125 return list[1].ToTitleCase().TagColor(FontColor.Bad);
126 }
127 if (_temper <= -15)
128 {
129 return list[2].ToTitleCase();
130 }
131 if (_temper < 15)
132 {
133 return list[3].ToTitleCase();
134 }
135 if (_temper < 45)
136 {
137 return list[4].ToTitleCase();
138 }
139 if (_temper < 85)
140 {
141 return list[5].ToTitleCase().TagColor(FontColor.Great);
142 }
143 return list[6].ToTitleCase().TagColor(FontColor.Good);
144 }
FontColor
Definition: FontColor.cs:2
static string[] GetList(string id)
Definition: Lang.cs:117
int mood
Definition: Religion.cs:20

References Lang.GetList(), IsEyth, and mood.

Referenced by UIHomeInfo.RefreshInfo().

◆ Init()

void Religion.Init ( )
inline

Definition at line 59 of file Religion.cs.

60 {
61 relation = source.relation;
62 }
int relation
Definition: Religion.cs:14

References relation, and source.

◆ IsValidArtifact()

bool Religion.IsValidArtifact ( string  id)
inline

Definition at line 295 of file Religion.cs.

296 {
297 return this == GetArtifactDeity(id);
298 }
static Religion GetArtifactDeity(string id)
Definition: Religion.cs:275

References GetArtifactDeity().

Referenced by TraitAltar.CanOffer().

◆ JoinFaith()

void Religion.JoinFaith ( Chara  c,
ConvertType  type = ConvertType::Default 
)
inline

Definition at line 407 of file Religion.cs.

408 {
409 if (!c.IsPC)
410 {
411 c.faith = this;
413 EClass.Sound.Play("worship");
414 Msg.Say("changeFaith", c, Name);
415 return;
416 }
417 if (c.faith != this)
418 {
419 c.faith.LeaveFaith(c, this, type);
420 }
421 if (type != ConvertType.Campaign)
422 {
423 EClass.pc.c_daysWithGod = 0;
424 }
425 Msg.Say("worship", Name);
426 Talk("worship", c);
427 EClass.Sound.Play("worship");
428 c.PlayEffect("aura_heaven");
429 c.faith = this;
430 OnJoinFaith();
431 if (IsEyth)
432 {
433 mood = 0;
434 }
435 else
436 {
437 mood = 50;
438 }
440 if (!c.HasElement(306))
441 {
442 c.elements.Learn(306);
443 }
444 if (!c.IsPC)
445 {
446 return;
447 }
449 if (EClass._zone.lv == 0)
450 {
451 if (EClass._zone is Zone_Mifu)
452 {
453 EClass._map.config.blossom = EClass.pc.faith == EClass.game.religions.Trickery;
455 }
456 if (EClass._zone is Zone_Nefu)
457 {
458 EClass._map.config.blossom = EClass.pc.faith == EClass.game.religions.MoonShadow;
460 }
461 if (EClass._zone is Zone_Aquli)
462 {
463 EClass._map.config.fixedCondition = ((EClass.pc.faith == EClass.game.religions.Strife) ? Weather.Condition.Ether : Weather.Condition.None);
465 }
466 }
468 if (this is ReligionHealing)
469 {
470 Steam.GetAchievement(ID_Achievement.FAITH_HEALING);
471 }
472 }
ID_Achievement
virtual void RefreshWeather()
ElementContainerCard elements
Definition: Card.cs:42
Effect PlayEffect(string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
Definition: Card.cs:6409
void PurgeEythArtifact()
Definition: Card.cs:3360
Faction faction
Definition: Chara.cs:429
override bool IsPC
Definition: Chara.cs:626
void RefreshFaithElement()
Definition: Chara.cs:10404
Religion faith
Definition: Chara.cs:441
static Zone _zone
Definition: EClass.cs:21
static BaseGameScreen screen
Definition: EClass.cs:33
static SoundManager Sound
Definition: EClass.cs:47
void Learn(int ele, int v=1)
ElementContainerFaction charaElements
Definition: FACTION.cs:146
Definition: Msg.cs:5
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58
string Name
Definition: Religion.cs:30
virtual void OnJoinFaith()
Definition: Religion.cs:581
ConvertType
Definition: Religion.cs:8
void LeaveFaith(Chara c, Religion newFaith, ConvertType type)
Definition: Religion.cs:474
void Talk(string idTalk, Card c=null, Card agent=null)
Definition: Religion.cs:154
int lv
Definition: Spatial.cs:142
Definition: Steam.cs:10
static void GetAchievement(ID_Achievement id)
Definition: Steam.cs:51
Condition
Definition: Weather.cs:16

References EClass._zone, Faction.charaElements, Card.elements, Chara.faction, Chara.faith, EClass.game, Steam.GetAchievement(), Card.HasElement(), IsEyth, Chara.IsPC, ElementContainer.Learn(), LeaveFaith(), Spatial.lv, mood, ReligionManager.MoonShadow, Name, ElementContainerFaction.OnJoinFaith(), OnJoinFaith(), EClass.pc, Card.PlayEffect(), Card.PurgeEythArtifact(), Chara.RefreshFaithElement(), BaseGameScreen.RefreshWeather(), Game.religions, Msg.Say(), EClass.screen, EClass.Sound, ReligionManager.Strife, Talk(), and ReligionManager.Trickery.

Referenced by DramaOutcome.convert_Jure().

◆ LeaveFaith()

void Religion.LeaveFaith ( Chara  c,
Religion  newFaith,
ConvertType  type 
)
inline

Definition at line 474 of file Religion.cs.

475 {
476 if (!IsEyth)
477 {
478 bool flag = (newFaith == EClass.game.religions.Trickery && this == EClass.game.religions.MoonShadow) || (newFaith == EClass.game.religions.MoonShadow && this == EClass.game.religions.Trickery);
479 if (c.IsPC)
480 {
481 Msg.Say("worship2");
482 if (!flag && type != ConvertType.Campaign)
483 {
484 Punish(c);
485 }
486 }
487 if (flag)
488 {
489 Talk("regards");
490 c.elements.SetBase(85, c.Evalue(85) / 2);
491 }
492 else
493 {
494 c.elements.SetBase(85, 0);
495 }
496 }
497 if (c.IsPC)
498 {
500 }
501 OnLeaveFaith();
503 }
Element SetBase(string alias, int v, int potential=0)
virtual void OnLeaveFaith()
Definition: Religion.cs:585

References Faction.charaElements, Card.elements, Card.Evalue(), Chara.faction, EClass.game, IsEyth, Chara.IsPC, ReligionManager.MoonShadow, ElementContainerFaction.OnLeaveFaith(), OnLeaveFaith(), EClass.pc, Punish, Chara.RefreshFaithElement(), Game.religions, Msg.Say(), ElementContainer.SetBase(), Talk(), and ReligionManager.Trickery.

Referenced by JoinFaith().

◆ OnAdvanceDay()

void Religion.OnAdvanceDay ( )
inline

Definition at line 68 of file Religion.cs.

69 {
70 }

◆ OnBecomeBranchFaith()

virtual void Religion.OnBecomeBranchFaith ( )
inlinevirtual

Reimplemented in ReligionEarth, ReligionHealing, and ReligionLuck.

Definition at line 403 of file Religion.cs.

404 {
405 }

◆ OnChangeHour()

void Religion.OnChangeHour ( )
inline

Definition at line 589 of file Religion.cs.

590 {
591 if (IsEyth)
592 {
593 mood = 0;
594 }
595 else
596 {
597 mood = EClass.rnd(200) - 100;
598 }
599 }
static int rnd(long a)
Definition: EClass.cs:59

References IsEyth, mood, and EClass.rnd().

Referenced by Player.OnAdvanceHour().

◆ OnJoinFaith()

virtual void Religion.OnJoinFaith ( )
inlinevirtual

Definition at line 581 of file Religion.cs.

582 {
583 }

Referenced by JoinFaith().

◆ OnLeaveFaith()

virtual void Religion.OnLeaveFaith ( )
inlinevirtual

Definition at line 585 of file Religion.cs.

586 {
587 }

Referenced by LeaveFaith().

◆ OnLoad()

void Religion.OnLoad ( )
inline

Definition at line 64 of file Religion.cs.

65 {
66 }

Referenced by ReligionManager.OnLoad().

◆ Punish()

void Religion.Punish ( Chara  c)
inline

Definition at line 505 of file Religion.cs.

506 {
507 if (c.mimicry != null)
508 {
509 c.mimicry.Kill();
510 }
511 Talk("wrath");
512 if (c.Evalue(1228) > 0)
513 {
515 return;
516 }
517 c.hp = 1;
518 c.mana.value = 1;
519 c.stamina.value = 1;
520 if (c.HasCondition<ConWrath>())
521 {
522 recentWrath = this;
523 c.DamageHP(999999L, AttackSource.Wrath);
524 recentWrath = null;
525 return;
526 }
527 Thing thing = ThingGen.Create("punish_ball");
528 int num = 0;
530 {
531 if (item.giftRank > 0)
532 {
533 num++;
534 }
535 }
536 if (num >= 4)
537 {
538 thing.idSkin = 1;
539 }
540 thing.ChangeWeight(EClass.pc.WeightLimit / 4 + 1000);
541 c.AddThing(thing);
542 c.AddCondition<ConWrath>(2000 + (c.IsPC ? (EClass.pc.c_daysWithGod * 20) : 0));
543 }
AttackSource
Definition: AttackSource.cs:2
Thing AddThing(string id, int lv=-1)
Definition: Card.cs:3180
void DamageHP(long dmg, AttackSource attackSource=AttackSource.None, Card origin=null)
Definition: Card.cs:4149
void ChangeWeight(int a)
Definition: Card.cs:2604
void SayNothingHappans()
Definition: Card.cs:7047
Condition AddCondition(string id, int p=100, bool force=false)
Definition: Chara.cs:9451
bool HasCondition(string alias)
Definition: Chara.cs:9612
override int WeightLimit
Definition: Chara.cs:724
ConTransmuteMimic mimicry
Definition: Chara.cs:106
void Kill(bool silent=false)
Definition: Condition.cs:91
List< Religion > list
static Religion recentWrath
Definition: Religion.cs:22
static Thing Create(string id, int idMat=-1, int lv=-1)
Definition: ThingGen.cs:53
Definition: Thing.cs:8

References Card.ChangeWeight(), ThingGen.Create(), Card.DamageHP(), Card.Evalue(), EClass.game, Chara.HasCondition(), item, Condition.Kill(), ReligionManager.list, Chara.mimicry, EClass.pc, recentWrath, Game.religions, Card.SayNothingHappans(), Talk(), and Chara.WeightLimit.

◆ PunishTakeOver()

void Religion.PunishTakeOver ( Chara  c)
inline

Definition at line 545 of file Religion.cs.

546 {
547 if (c.mimicry != null)
548 {
549 c.mimicry.Kill();
550 }
551 Talk("takeoverFail");
552 if (c.Evalue(1228) > 0)
553 {
555 return;
556 }
557 c.hp /= 2;
558 if (c.mana.value > 0)
559 {
560 c.mana.value = c.mana.value / 2;
561 }
562 if (c.stamina.value > 0)
563 {
564 c.stamina.value = c.stamina.value / 2;
565 }
566 if (c.HasCondition<ConWrath>())
567 {
568 recentWrath = this;
569 c.DamageHP(999999L, AttackSource.Wrath);
570 recentWrath = null;
571 return;
572 }
573 Thing thing = ThingGen.Create("punish_ball");
574 thing.c_weight = EClass.pc.WeightLimit / 4 + 1000;
575 thing.isWeightChanged = true;
576 thing.SetDirtyWeight();
577 c.AddThing(thing);
578 c.AddCondition<ConWrath>(200);
579 }
void SetDirtyWeight()
Definition: Card.cs:2594
Stats mana
Definition: Chara.cs:1180
Stats stamina
Definition: Chara.cs:1172
virtual int value
Definition: Stats.cs:56

References Chara.AddCondition(), Card.AddThing(), ThingGen.Create(), Card.DamageHP(), Card.Evalue(), Chara.HasCondition(), Condition.Kill(), Chara.mana, Chara.mimicry, recentWrath, Card.SayNothingHappans(), Card.SetDirtyWeight(), Chara.stamina, Talk(), and Stats.value.

Referenced by TraitAltar.OnOffer().

◆ Reforge()

static Thing Religion.Reforge ( string  id,
Point  pos = null,
bool  first = true 
)
inlinestatic

Definition at line 300 of file Religion.cs.

301 {
302 if (pos == null)
303 {
304 pos = EClass.pc.pos.Copy();
305 }
306 pos.Set(pos.GetNearestPoint(allowBlock: false, allowChara: false, allowInstalled: false, ignoreCenter: true) ?? pos);
307 Thing thing = ThingGen.Create(id);
308 foreach (Element value in thing.elements.dict.Values)
309 {
310 if (value.id == 66 || value.id == 67 || value.id == 64 || value.id == 65 || value.id == 92)
311 {
312 continue;
313 }
314 switch (id)
315 {
316 case "gun_mani":
317 thing.c_idDeity = EClass.game.religions.Machine.id;
318 break;
319 case "cloak_mani":
320 if (value.id == 427 || value.id == 957 || value.id == 105 || value.id == 466 || value.id == 664)
321 {
322 value.vExp = -1;
323 }
324 thing.c_idDeity = EClass.game.religions.Machine.id;
325 break;
326 case "scythe_kumi":
327 if (value.id == 6650 || value.id == 480 || value.id == 959 || value.id == 428 || value.id == 640 || value.id == 665)
328 {
329 value.vExp = -1;
330 }
331 thing.c_idDeity = EClass.game.religions.Harvest.id;
332 break;
333 case "blunt_earth":
334 if (value.id == 70 || value.id == 55 || value.id == 56 || value.id == 954 || value.id == 423 || value.id == 421)
335 {
336 value.vExp = -1;
337 }
338 thing.c_idDeity = EClass.game.religions.Earth.id;
339 break;
340 case "luckydagger":
341 if (value.id != 426)
342 {
343 value.vExp = -1;
344 }
345 thing.c_idDeity = EClass.game.religions.Luck.id;
346 break;
347 case "staff_element":
348 if (value.id == 411 || (value is Resistance && value.id != 959))
349 {
350 value.vExp = -1;
351 }
352 thing.c_idDeity = EClass.game.religions.Element.id;
353 break;
354 case "windbow":
355 thing.c_idDeity = EClass.game.religions.Wind.id;
356 break;
357 case "shirt_wind":
358 if (!(value is Resistance) && value.id != 226 && value.id != 152 && value.id != 77)
359 {
360 value.vExp = -1;
361 }
362 thing.c_idDeity = EClass.game.religions.Wind.id;
363 break;
364 case "pole_holy":
365 if (value.id == 60 || value.id == 461 || value.id == 423)
366 {
367 value.vExp = -1;
368 }
369 thing.c_idDeity = EClass.game.religions.Healing.id;
370 break;
371 case "sword_muramasa2":
372 if (value.id == 401 || value.id == 916 || value.id == 661)
373 {
374 value.vExp = -1;
375 }
376 thing.c_idDeity = EClass.game.religions.MoonShadow.id;
377 break;
378 case "kogitsunemaru":
379 if (value.id != 656)
380 {
381 value.vExp = -1;
382 }
383 thing.c_idDeity = EClass.game.religions.Trickery.id;
384 break;
385 case "warmonger":
386 if (value.id == 468 || value.id == 423 || value.id == 463 || value.id == 460 || value.id == 464 || value.id == 465)
387 {
388 value.vExp = -1;
389 }
390 thing.c_idDeity = EClass.game.religions.Strife.id;
391 break;
392 }
393 }
394 EClass._zone.AddCard(thing, pos);
395 pos.PlayEffect("aura_heaven");
396 if (first)
397 {
398 pos.PlaySound("godbless");
399 }
400 return thing;
401 }
Point pos
Definition: Card.cs:60
Dictionary< int, Element > dict
int id
Definition: ELEMENT.cs:255
Point Copy()
Definition: Point.cs:491
Point Set(int _x, int _z)
Definition: Point.cs:503
Point GetNearestPoint(bool allowBlock=false, bool allowChara=true, bool allowInstalled=true, bool ignoreCenter=false, int minRadius=0)
Definition: Point.cs:619
override string id
Definition: ReligionEarth.cs:3
override string id
override string id
override string id
override string id
Definition: ReligionLuck.cs:3
override string id
override string id
override string id
override string id
override string id
Definition: ReligionWind.cs:3
Card AddCard(Card t, Point point)
Definition: Zone.cs:2014

References EClass._zone, Zone.AddCard(), Point.Copy(), ThingGen.Create(), ReligionManager.Earth, ReligionManager.Element, EClass.game, ReligionManager.Harvest, ReligionManager.Healing, Element.id, ReligionEarth.id, ReligionElement.id, ReligionHarvest.id, ReligionHealing.id, ReligionLuck.id, ReligionMachine.id, ReligionMoonShadow.id, ReligionStrife.id, ReligionTrickery.id, ReligionWind.id, ReligionManager.Luck, ReligionManager.Machine, ReligionManager.MoonShadow, EClass.pc, Card.PlayEffect(), Card.pos, Game.religions, Point.Set(), ReligionManager.Strife, ReligionManager.Trickery, and ReligionManager.Wind.

Referenced by TraitAltar.OnOffer(), TryGetGift(), and ActEffect.Wish().

◆ Revelation()

void Religion.Revelation ( string  idTalk,
int  chance = 100 
)
inline

Definition at line 146 of file Religion.cs.

147 {
148 if (!IsEyth && EClass.rnd(100) <= chance)
149 {
150 Talk(idTalk, EClass.pc);
151 }
152 }

References IsEyth, EClass.pc, EClass.rnd(), and Talk().

Referenced by Chara.Die(), Scene.Init(), ActPray.Pray(), and LayerSleep.Sleep().

◆ SetTextRelation()

void Religion.SetTextRelation ( UIText  text)
inline

Definition at line 77 of file Religion.cs.

78 {
79 if (relation > 100)
80 {
81 text.SetText("reFriend".lang(), FontColor.Good);
82 }
83 else if (relation < -100)
84 {
85 text.SetText("reEnemy".lang(), FontColor.Bad);
86 }
87 else
88 {
89 text.SetText("reNone".lang(), FontColor.Passive);
90 }
91 }
void SetText(string s)
Definition: UIText.cs:163

References relation, and UIText.SetText().

Referenced by ContentFaction.RefreshFactions().

◆ Talk()

void Religion.Talk ( string  idTalk,
Card  c = null,
Card  agent = null 
)
inline

Definition at line 154 of file Religion.cs.

155 {
157 Msg.Say("<i>" + GetGodTalk(idTalk) + " </i>", c ?? EClass.pc);
158 }
Color TalkGod
Definition: MsgColors.cs:9
static MsgColors colors
Definition: Msg.cs:20
static void SetColor()
Definition: Msg.cs:22
string GetGodTalk(string suffix)
Definition: Religion.cs:160

References Msg.colors, GetGodTalk(), EClass.pc, Msg.Say(), Msg.SetColor(), and MsgColors.TalkGod.

Referenced by TraitAltar._OnOffer(), TraitGodStatue._OnUse(), JoinFaith(), LeaveFaith(), ActEffect.Proc(), Punish(), PunishTakeOver(), Revelation(), TraitAltar.TakeOver(), CoreDebug.Test_GodTalk(), TryGetGift(), and DramaOutcome.wedding_success().

◆ TryGetGift()

bool Religion.TryGetGift ( )
inline

Definition at line 238 of file Religion.cs.

239 {
240 int num = GetGiftRank();
241 if (num == -1)
242 {
243 return false;
244 }
245 Point point = EClass.pc.pos.GetNearestPoint(allowBlock: false, allowChara: false, allowInstalled: false) ?? EClass.pc.pos;
246 switch (num)
247 {
248 case 1:
249 {
250 Talk("pet");
251 Chara chara = CharaGen.Create(source.rewards[0]);
252 EClass._zone.AddCard(chara, point);
253 chara.MakeAlly();
254 chara.PlayEffect("aura_heaven");
255 giftRank = 1;
256 return true;
257 }
258 case 2:
259 {
260 Talk("gift");
261 string[] array = source.rewards[1].Split('|');
262 string[] array2 = array;
263 foreach (string text in array2)
264 {
265 Reforge(text, point, text == array[0]);
266 }
267 giftRank = 2;
268 return true;
269 }
270 default:
271 return false;
272 }
273 }
static Chara Create(string id, int lv=-1)
Definition: CharaGen.cs:17
Definition: Chara.cs:10
void MakeAlly(bool msg=true)
Definition: Chara.cs:2337
Definition: Point.cs:9
static Thing Reforge(string id, Point pos=null, bool first=true)
Definition: Religion.cs:300
int GetGiftRank()
Definition: Religion.cs:220

References EClass._zone, Zone.AddCard(), CharaGen.Create(), GetGiftRank(), Point.GetNearestPoint(), giftRank, Chara.MakeAlly(), EClass.pc, Card.PlayEffect(), Card.pos, Reforge(), source, and Talk().

Member Data Documentation

◆ _source

SourceReligion.Row Religion._source

Definition at line 24 of file Religion.cs.

◆ giftRank

int Religion.giftRank

Definition at line 17 of file Religion.cs.

Referenced by GetGiftRank(), and TryGetGift().

◆ mood

int Religion.mood

Definition at line 20 of file Religion.cs.

Referenced by GetTextTemper(), JoinFaith(), and OnChangeHour().

◆ recentWrath

Religion Religion.recentWrath
static

Definition at line 22 of file Religion.cs.

Referenced by Chara.Die(), Punish(), and PunishTakeOver().

◆ relation

int Religion.relation

Definition at line 14 of file Religion.cs.

Referenced by Init(), UIFactionInfo.SetReligion(), and SetTextRelation().

Property Documentation

◆ CanJoin

virtual bool Religion.CanJoin
get

Definition at line 52 of file Religion.cs.

Referenced by ReligionManager.GetRandomReligion(), and TraitAltar.TrySetAct().

◆ id

◆ IsAvailable

virtual bool Religion.IsAvailable
get

Definition at line 28 of file Religion.cs.

Referenced by LayerFaith.AddReligion().

◆ IsEhekatl

bool Religion.IsEhekatl
get

Definition at line 46 of file Religion.cs.

◆ IsEyth

◆ IsMinorGod

virtual bool Religion.IsMinorGod
get

◆ IsOpatos

bool Religion.IsOpatos
get

Definition at line 48 of file Religion.cs.

◆ Name

◆ NameDomain

string Religion.NameDomain
get

Definition at line 36 of file Religion.cs.

◆ NameShort

string Religion.NameShort
get

Definition at line 34 of file Religion.cs.

Referenced by Chara.Die().

◆ source

◆ TextGodGender

string Religion.TextGodGender
get

Definition at line 40 of file Religion.cs.

Referenced by TraitAltar._OnOffer(), and TraitAltar.OnOffer().

◆ TextMood

string Religion.TextMood
get

Definition at line 42 of file Religion.cs.

Referenced by WidgetStatsBar.Build().

◆ TextType

string Religion.TextType
get

Definition at line 38 of file Religion.cs.

Referenced by ContentFaction.RefreshFactions().


The documentation for this class was generated from the following file: