Elin Decompiled Documentation EA 23.241 Nightly
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)
 
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 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 (int _a, int start, int step, int rate=75)
 
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

◆ 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 }
Definition: EClass.cs:6
static SourceManager sources
Definition: EClass.cs:43
SourceElement elements

References SourceManager.elements, and EClass.sources.

◆ GetGodTalk()

string Religion.GetGodTalk ( string  suffix)
inline

Definition at line 162 of file Religion.cs.

163 {
164 return EClass.sources.dataGodTalk.GetText(id, suffix).Split(Environment.NewLine.ToCharArray()).RandomItem();
165 }
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 167 of file Religion.cs.

168 {
169 return 0;
170 }

Referenced by GetOfferingValue().

◆ GetOfferingValue()

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

Definition at line 172 of file Religion.cs.

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

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 = "";
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 return source.GetText("textBenefit") + (IsEyth ? "" : "textBenefit".lang(text));
105 }
Definition: Lang.cs:6
static string space
Definition: Lang.cs:32
bool IsEyth
Definition: Religion.cs:44

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 107 of file Religion.cs.

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

256 {
257 return id switch
258 {
259 "gun_mani" => this == EClass.game.religions.Machine,
260 "cloak_mani" => this == EClass.game.religions.Machine,
261 "scythe_kumi" => this == EClass.game.religions.Harvest,
262 "blunt_earth" => this == EClass.game.religions.Earth,
263 "luckydagger" => this == EClass.game.religions.Luck,
264 "staff_element" => this == EClass.game.religions.Element,
265 "windbow" => this == EClass.game.religions.Wind,
266 "shirt_wind" => this == EClass.game.religions.Wind,
267 "pole_holy" => this == EClass.game.religions.Healing,
268 "sword_muramasa2" => this == EClass.game.religions.MoonShadow,
269 "kogitsunemaru" => this == EClass.game.religions.Trickery,
270 "warmonger" => this == EClass.game.religions.Strife,
271 _ => false,
272 };
273 }
static Game game
Definition: EClass.cs:9
ReligionManager religions
Definition: Game.cs:158
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 TraitAltar.CanOffer().

◆ JoinFaith()

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

Definition at line 382 of file Religion.cs.

383 {
384 if (!c.IsPC)
385 {
386 c.faith = this;
388 EClass.Sound.Play("worship");
389 Msg.Say("changeFaith", c, Name);
390 return;
391 }
392 if (c.faith != this)
393 {
394 c.faith.LeaveFaith(c, this, type);
395 }
396 if (type != ConvertType.Campaign)
397 {
398 EClass.pc.c_daysWithGod = 0;
399 }
400 Msg.Say("worship", Name);
401 Talk("worship", c);
402 EClass.Sound.Play("worship");
403 c.PlayEffect("aura_heaven");
404 c.faith = this;
405 OnJoinFaith();
406 if (IsEyth)
407 {
408 mood = 0;
409 }
410 else
411 {
412 mood = 50;
413 }
415 if (!c.HasElement(306))
416 {
417 c.elements.Learn(306);
418 }
419 if (!c.IsPC)
420 {
421 return;
422 }
424 if (EClass._zone.lv == 0)
425 {
426 if (EClass._zone is Zone_Mifu)
427 {
428 EClass._map.config.blossom = EClass.pc.faith == EClass.game.religions.Trickery;
430 }
431 if (EClass._zone is Zone_Nefu)
432 {
433 EClass._map.config.blossom = EClass.pc.faith == EClass.game.religions.MoonShadow;
435 }
436 if (EClass._zone is Zone_Aquli)
437 {
438 EClass._map.config.fixedCondition = ((EClass.pc.faith == EClass.game.religions.Strife) ? Weather.Condition.Ether : Weather.Condition.None);
440 }
441 }
443 }
virtual void RefreshWeather()
ElementContainerCard elements
Definition: Card.cs:41
Effect PlayEffect(string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
Definition: Card.cs:6163
void PurgeEythArtifact()
Definition: Card.cs:3275
Faction faction
Definition: Chara.cs:427
override bool IsPC
Definition: Chara.cs:612
void RefreshFaithElement()
Definition: Chara.cs:10108
Religion faith
Definition: Chara.cs:439
static Zone _zone
Definition: EClass.cs:21
static BaseGameScreen screen
Definition: EClass.cs:33
static Chara pc
Definition: EClass.cs:15
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:545
ConvertType
Definition: Religion.cs:8
void LeaveFaith(Chara c, Religion newFaith, ConvertType type)
Definition: Religion.cs:445
void Talk(string idTalk, Card c=null, Card agent=null)
Definition: Religion.cs:153
int lv
Definition: Spatial.cs:142
Condition
Definition: Weather.cs:16

References EClass._zone, Faction.charaElements, Card.elements, Chara.faction, Chara.faith, EClass.game, 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(), and DramaManager.ParseLine().

◆ LeaveFaith()

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

Definition at line 445 of file Religion.cs.

446 {
447 if (IsEyth)
448 {
449 return;
450 }
451 bool flag = (newFaith == EClass.game.religions.Trickery && this == EClass.game.religions.MoonShadow) || (newFaith == EClass.game.religions.MoonShadow && this == EClass.game.religions.Trickery);
452 if (c.IsPC)
453 {
454 Msg.Say("worship2");
455 if (!flag && type != ConvertType.Campaign)
456 {
457 Punish(c);
458 }
459 }
460 if (flag)
461 {
462 Talk("regards");
463 c.elements.SetBase(85, c.Evalue(85) / 2);
464 }
465 else
466 {
467 c.elements.SetBase(85, 0);
468 }
469 if (c.IsPC)
470 {
472 }
473 OnLeaveFaith();
475 }
int Evalue(int ele)
Definition: Card.cs:2571
Element SetBase(string alias, int v, int potential=0)
virtual void OnLeaveFaith()
Definition: Religion.cs:549

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 378 of file Religion.cs.

379 {
380 }

◆ OnChangeHour()

void Religion.OnChangeHour ( )
inline

Definition at line 553 of file Religion.cs.

554 {
555 if (IsEyth)
556 {
557 mood = 0;
558 }
559 else
560 {
561 mood = EClass.rnd(200) - 100;
562 }
563 }
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 545 of file Religion.cs.

546 {
547 }

Referenced by JoinFaith().

◆ OnLeaveFaith()

virtual void Religion.OnLeaveFaith ( )
inlinevirtual

Definition at line 549 of file Religion.cs.

550 {
551 }

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 477 of file Religion.cs.

478 {
479 Talk("wrath");
480 if (c.Evalue(1228) > 0)
481 {
483 return;
484 }
485 c.hp = 1;
486 c.mana.value = 1;
487 c.stamina.value = 1;
488 if (c.HasCondition<ConWrath>())
489 {
490 recentWrath = this;
491 c.DamageHP(999999L, AttackSource.Wrath);
492 recentWrath = null;
493 return;
494 }
495 Thing thing = ThingGen.Create("punish_ball");
496 int num = 0;
498 {
499 if (item.giftRank > 0)
500 {
501 num++;
502 }
503 }
504 if (num >= 4)
505 {
506 thing.idSkin = 1;
507 }
508 thing.ChangeWeight(EClass.pc.WeightLimit / 4 + 1000);
509 c.AddThing(thing);
510 c.AddCondition<ConWrath>(2000 + (c.IsPC ? (EClass.pc.c_daysWithGod * 20) : 0));
511 }
AttackSource
Definition: AttackSource.cs:2
Thing AddThing(string id, int lv=-1)
Definition: Card.cs:3101
void DamageHP(long dmg, AttackSource attackSource=AttackSource.None, Card origin=null)
Definition: Card.cs:4060
void ChangeWeight(int a)
Definition: Card.cs:2564
void SayNothingHappans()
Definition: Card.cs:6776
Condition AddCondition(string id, int p=100, bool force=false)
Definition: Chara.cs:9168
bool HasCondition(string alias)
Definition: Chara.cs:9329
override int WeightLimit
Definition: Chara.cs:710
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, ReligionManager.list, EClass.pc, recentWrath, Game.religions, Card.SayNothingHappans(), Talk(), and Chara.WeightLimit.

◆ PunishTakeOver()

void Religion.PunishTakeOver ( Chara  c)
inline

Definition at line 513 of file Religion.cs.

514 {
515 Talk("takeoverFail");
516 if (c.Evalue(1228) > 0)
517 {
519 return;
520 }
521 c.hp /= 2;
522 if (c.mana.value > 0)
523 {
524 c.mana.value = c.mana.value / 2;
525 }
526 if (c.stamina.value > 0)
527 {
528 c.stamina.value = c.stamina.value / 2;
529 }
530 if (c.HasCondition<ConWrath>())
531 {
532 recentWrath = this;
533 c.DamageHP(999999L, AttackSource.Wrath);
534 recentWrath = null;
535 return;
536 }
537 Thing thing = ThingGen.Create("punish_ball");
538 thing.c_weight = EClass.pc.WeightLimit / 4 + 1000;
539 thing.isWeightChanged = true;
540 thing.SetDirtyWeight();
541 c.AddThing(thing);
542 c.AddCondition<ConWrath>(200);
543 }
void SetDirtyWeight()
Definition: Card.cs:2554
Stats mana
Definition: Chara.cs:1154
Stats stamina
Definition: Chara.cs:1146
virtual int value
Definition: Stats.cs:56

References Chara.AddCondition(), Card.AddThing(), ThingGen.Create(), Card.DamageHP(), Card.Evalue(), Chara.HasCondition(), Chara.mana, 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 275 of file Religion.cs.

276 {
277 if (pos == null)
278 {
279 pos = EClass.pc.pos.Copy();
280 }
281 pos.Set(pos.GetNearestPoint(allowBlock: false, allowChara: false, allowInstalled: false, ignoreCenter: true) ?? pos);
282 Thing thing = ThingGen.Create(id);
283 foreach (Element value in thing.elements.dict.Values)
284 {
285 if (value.id == 66 || value.id == 67 || value.id == 64 || value.id == 65 || value.id == 92)
286 {
287 continue;
288 }
289 switch (id)
290 {
291 case "gun_mani":
292 thing.c_idDeity = EClass.game.religions.Machine.id;
293 break;
294 case "cloak_mani":
295 if (value.id == 427 || value.id == 957 || value.id == 105 || value.id == 466 || value.id == 664)
296 {
297 value.vExp = -1;
298 }
299 thing.c_idDeity = EClass.game.religions.Machine.id;
300 break;
301 case "scythe_kumi":
302 if (value.id == 6650 || value.id == 480 || value.id == 959 || value.id == 428 || value.id == 640 || value.id == 665)
303 {
304 value.vExp = -1;
305 }
306 thing.c_idDeity = EClass.game.religions.Harvest.id;
307 break;
308 case "blunt_earth":
309 if (value.id == 70 || value.id == 55 || value.id == 56 || value.id == 954 || value.id == 423 || value.id == 421)
310 {
311 value.vExp = -1;
312 }
313 thing.c_idDeity = EClass.game.religions.Earth.id;
314 break;
315 case "luckydagger":
316 if (value.id != 426)
317 {
318 value.vExp = -1;
319 }
320 thing.c_idDeity = EClass.game.religions.Luck.id;
321 break;
322 case "staff_element":
323 if (value.id == 411 || (value is Resistance && value.id != 959))
324 {
325 value.vExp = -1;
326 }
327 thing.c_idDeity = EClass.game.religions.Element.id;
328 break;
329 case "windbow":
330 thing.c_idDeity = EClass.game.religions.Wind.id;
331 break;
332 case "shirt_wind":
333 if (!(value is Resistance) && value.id != 226 && value.id != 152 && value.id != 77)
334 {
335 value.vExp = -1;
336 }
337 thing.c_idDeity = EClass.game.religions.Wind.id;
338 break;
339 case "pole_holy":
340 if (value.id == 60 || value.id == 461 || value.id == 423)
341 {
342 value.vExp = -1;
343 }
344 thing.c_idDeity = EClass.game.religions.Healing.id;
345 break;
346 case "sword_muramasa2":
347 if (value.id == 401 || value.id == 916 || value.id == 661)
348 {
349 value.vExp = -1;
350 }
351 thing.c_idDeity = EClass.game.religions.MoonShadow.id;
352 break;
353 case "kogitsunemaru":
354 if (value.id != 656)
355 {
356 value.vExp = -1;
357 }
358 thing.c_idDeity = EClass.game.religions.Trickery.id;
359 break;
360 case "warmonger":
361 if (value.id == 468 || value.id == 423 || value.id == 463 || value.id == 460 || value.id == 464 || value.id == 465)
362 {
363 value.vExp = -1;
364 }
365 thing.c_idDeity = EClass.game.religions.Strife.id;
366 break;
367 }
368 }
369 EClass._zone.AddCard(thing, pos);
370 pos.PlayEffect("aura_heaven");
371 if (first)
372 {
373 pos.PlaySound("godbless");
374 }
375 return thing;
376 }
Point pos
Definition: Card.cs:59
Dictionary< int, Element > dict
int id
Definition: ELEMENT.cs:250
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:1959

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 145 of file Religion.cs.

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

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:159

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 153 of file Religion.cs.

154 {
155 if (!IsEyth)
156 {
158 Msg.Say("<i>" + GetGodTalk(idTalk) + " </i>", c ?? EClass.pc);
159 }
160 }
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:162

References Msg.colors, GetGodTalk(), IsEyth, 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(), and TryGetGift().

◆ TryGetGift()

bool Religion.TryGetGift ( )
inline

Definition at line 222 of file Religion.cs.

223 {
224 if (IsEyth || source.rewards.Length == 0)
225 {
226 return false;
227 }
228 Point point = EClass.pc.pos.GetNearestPoint(allowBlock: false, allowChara: false, allowInstalled: false) ?? EClass.pc.pos;
229 int num = EClass.pc.Evalue(85);
230 if (giftRank == 0 && (num >= 15 || EClass.debug.enable))
231 {
232 Talk("pet");
233 Chara chara = CharaGen.Create(source.rewards[0]);
234 EClass._zone.AddCard(chara, point);
235 chara.MakeAlly();
236 chara.PlayEffect("aura_heaven");
237 giftRank = 1;
238 return true;
239 }
240 if (source.rewards.Length >= 2 && giftRank == 1 && (num >= 30 || EClass.debug.enable))
241 {
242 Talk("gift");
243 string[] array = source.rewards[1].Split('|');
244 string[] array2 = array;
245 foreach (string text in array2)
246 {
247 Reforge(text, point, text == array[0]);
248 }
249 giftRank = 2;
250 return true;
251 }
252 return false;
253 }
static Chara Create(string id, int lv=-1)
Definition: CharaGen.cs:17
Definition: Chara.cs:10
void MakeAlly(bool msg=true)
Definition: Chara.cs:2268
bool enable
Definition: CoreDebug.cs:286
static CoreDebug debug
Definition: EClass.cs:49
Definition: Point.cs:9
int giftRank
Definition: Religion.cs:17
static Thing Reforge(string id, Point pos=null, bool first=true)
Definition: Religion.cs:275

References EClass._zone, Zone.AddCard(), CharaGen.Create(), EClass.debug, CoreDebug.enable, Card.Evalue(), Point.GetNearestPoint(), giftRank, IsEyth, 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 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: