Elin Decompiled Documentation EA 23.288 Nightly
Loading...
Searching...
No Matches
TraitAltar Class Reference
Inheritance diagram for TraitAltar:
Trait EClass TraitAltarAncient

Public Member Functions

override void OnCreate (int lv)
 
override void OnImportMap ()
 
void SetDeity (string id)
 
override void SetName (ref string s)
 
override void TrySetAct (ActPlan p)
 
override bool CanOffer (Card c)
 
void OnOffer (Chara c, Thing t)
 
void _OnOffer (Chara c, Thing t, int takeoverMod=0)
 
void TakeOver ()
 
- Public Member Functions inherited from Trait
string GetParam (int i, string def=null)
 
int GetParamInt (int i, int def)
 
virtual SourcePref GetPref ()
 
virtual RenderData GetRenderData ()
 
virtual bool Contains (RecipeSource r)
 
virtual int GetValue ()
 
virtual bool CanStackTo (Thing to)
 
virtual string GetHoverText ()
 
virtual Action GetHealAction (Chara c)
 
virtual bool CanBlend (Thing t)
 
virtual void OnBlend (Thing t, Chara c)
 
virtual int GetActDuration (Chara c)
 
virtual SourceElement.Row GetRefElement ()
 
virtual Sprite GetRefSprite ()
 
virtual void OnRenderExtra (RenderParam p)
 
virtual Emo2 GetHeldEmo (Chara c)
 
virtual void SetOwner (Card _owner)
 
virtual bool IdleUse (Chara c, int dist)
 
virtual void OnSetOwner ()
 
virtual void OnImportMap ()
 
virtual void SetParams (params string[] s)
 
virtual void OnCrafted (Recipe recipe, List< Thing > ings)
 
virtual void OnCreate (int lv)
 
virtual void OnEquip (Chara c, bool onSetOwner)
 
virtual void OnUnequip (Chara c)
 
virtual void OnChangePlaceState (PlaceState state)
 
virtual void OnAddedToZone ()
 
virtual void OnRemovedFromZone ()
 
virtual void OnSimulateHour (VirtualDate date)
 
virtual string GetName ()
 
virtual void SetName (ref string s)
 
virtual void OnRenderTile (Point point, HitResult result, int dir)
 
virtual int CompareTo (Card b)
 
virtual bool CanBuiltAt (Point p)
 
virtual void Update ()
 
Point GetPoint ()
 
Point GetRandomPoint (Func< Point, bool > func=null, Chara accessChara=null)
 
virtual List< PointListPoints (Point center=null, bool onlyPassable=true)
 
virtual Recipe GetRecipe ()
 
virtual Recipe GetBuildModeRecipe ()
 
virtual bool CanCook (Card c)
 
void CookProgress ()
 
virtual bool CanOffer (Card tg)
 
void OfferProcess (Chara cc)
 
void Offer (Chara cc)
 
virtual bool TryProgress (AIProgress p)
 
virtual LockOpenState TryOpenLock (Chara cc, bool msgFail=true)
 
virtual void WriteNote (UINote n, bool identified)
 
int GetSortVal (UIList.SortMode m)
 
virtual HotItem GetHotItem ()
 
virtual bool CanRead (Chara c)
 
virtual void OnRead (Chara c)
 
virtual bool CanEat (Chara c)
 
virtual void OnEat (Chara c)
 
virtual bool CanDrink (Chara c)
 
virtual void OnDrink (Chara c)
 
virtual void OnThrowGround (Chara c, Point p)
 
virtual bool CanUse (Chara c)
 
virtual bool CanUse (Chara c, Card tg)
 
virtual bool CanUse (Chara c, Point p)
 
virtual bool OnUse (Chara c)
 
virtual bool OnUse (Chara c, Card tg)
 
virtual bool OnUse (Chara c, Point p)
 
virtual void TrySetAct (ActPlan p)
 
virtual void TrySetHeldAct (ActPlan p)
 
virtual void OnHeld ()
 
virtual void OnTickHeld ()
 
virtual void OnSetCurrentItem ()
 
virtual void OnUnsetCurrentItem ()
 
virtual bool OnChildDecay (Card c, bool firstDecay)
 
virtual bool CanChildDecay (Card c)
 
virtual void OnSetCardGrid (ButtonGrid b)
 
virtual void OnStepped (Chara c)
 
virtual void OnSteppedOut (Chara c)
 
virtual void OnOpenDoor (Chara c)
 
void Install (bool byPlayer)
 
void Uninstall ()
 
virtual void OnInstall (bool byPlayer)
 
virtual void OnUninstall ()
 
virtual void TryToggle ()
 
virtual void Toggle (bool on, bool silent=false)
 
virtual void PlayToggleEffect (bool silent)
 
virtual void OnToggle ()
 
virtual void TrySetToggleAct (ActPlan p)
 
bool IsFuelEnough (int num=1, List< Thing > excludes=null, bool tryRefuel=true)
 
bool IsFuel (string s)
 
bool IsFuel (Thing t)
 
int GetFuelValue (Thing t)
 
int GetFuelValue (string id)
 
void Refuel (Thing t)
 
void TryRefuel (int dest, List< Thing > excludes)
 
virtual void OnEnterScreen ()
 
virtual void RefreshRenderer ()
 
virtual void SetMainText (UIText t, bool hotitem)
 
virtual bool CanCopy (Thing t)
 
string GetTextRestock (string lang, bool pet)
 
Emo2 GetRestockedIcon ()
 
void OnBarter (bool reroll=false)
 
Thing CreateStock ()
 

Properties

override bool CanStack [get]
 
override bool IsAltar [get]
 
bool IsBranchAltar [get]
 
override bool CanOnlyCarry [get]
 
virtual string idDeity [get]
 
virtual Religion Deity [get]
 
string StrDeity [get]
 
bool IsEyth [get]
 
- Properties inherited from Trait
string[] Params [get]
 
virtual byte WeightMod [get]
 
virtual int IdSkin [get]
 
virtual string Name [get]
 
virtual TileType tileType [get]
 
virtual RefCardName RefCardName [get]
 
virtual bool IsBlockPath [get]
 
virtual bool IsBlockSight [get]
 
virtual bool IsDoor [get]
 
virtual bool IsOpenSight [get]
 
virtual bool IsOpenPath [get]
 
virtual bool IsFloating [get]
 
virtual bool IsNoShop [get]
 
virtual bool IsGround [get]
 
virtual bool IsOnlyUsableByPc [get]
 
virtual bool InvertHeldSprite [get]
 
virtual bool IsChangeFloorHeight [get]
 
virtual bool ShouldRefreshTile [get]
 
virtual bool ShouldTryRefreshRoom [get]
 
virtual int InstallBottomPriority [get]
 
virtual bool CanHarvest [get]
 
virtual int radius [get]
 
virtual TraitRadiusType radiusType [get]
 
virtual bool CanUseRoomRadius [get]
 
virtual int GuidePriotiy [get]
 
virtual int OriginalElectricity [get]
 
virtual int Electricity [get]
 
virtual bool IgnoreLastStackHeight [get]
 
virtual int Decay [get]
 
virtual int DecaySpeed [get]
 
virtual int DecaySpeedChild [get]
 
virtual bool IsFridge [get]
 
virtual int DefaultStock [get]
 
virtual bool HoldAsDefaultInteraction [get]
 
virtual int CraftNum [get]
 
virtual bool ShowOrbit [get]
 
virtual bool HaveUpdate [get]
 
virtual bool IsSpot [get]
 
virtual bool IsFactory [get]
 
virtual bool CanAutofire [get]
 
virtual bool CanName [get]
 
virtual bool CanPutAway [get]
 
virtual bool CanChangeHeight [get]
 
virtual bool CanStack [get]
 
virtual bool CanCopyInBlueprint [get]
 
virtual bool CanBeAttacked [get]
 
virtual bool CanBeTeleported [get]
 
virtual bool CanExtendBuild [get]
 
virtual string langNote [get]
 
virtual string IDInvStyle [get]
 
virtual string IDActorEx [get]
 
virtual bool MaskOnBuild [get]
 
virtual bool ShowContextOnPick [get]
 
virtual bool IsThrowMainAction [get]
 
virtual bool LevelAsQuality [get]
 
virtual bool UseDummyTile [get]
 
virtual bool RequireFullStackCheck [get]
 
virtual bool DisableAutoCombat [get]
 
virtual InvGridSize InvGridSize [get]
 
virtual bool IsContainer [get]
 
virtual bool CanUseContent [get]
 
virtual bool CanSearchContent [get]
 
virtual bool CanOpenContainer [get]
 
virtual bool IsSpecialContainer [get]
 
virtual ContainerType ContainerType [get]
 
virtual ThrowType ThrowType [get]
 
virtual EffectDead EffectDead [get]
 
virtual bool IsHomeItem [get]
 
virtual bool IsAltar [get]
 
virtual bool IsRestSpot [get]
 
virtual bool CanBeMasked [get]
 
virtual bool IsLocalAct [get]
 
virtual bool IsBlendBase [get]
 
virtual bool CanBeOnlyBuiltInHome [get]
 
virtual bool CanBuildInTown [get]
 
virtual bool CanBeHeld [get]
 
virtual bool CanBeStolen [get]
 
virtual bool CanOnlyCarry [get]
 
virtual bool CanBeDestroyed [get]
 
virtual bool CanBeSmashedToDeath [get]
 
virtual bool CanBeHallucinated [get]
 
virtual bool CanBeDropped [get]
 
virtual string ReqHarvest [get]
 
virtual bool CanBeDisassembled [get]
 
virtual bool CanBeShipped [get]
 
virtual bool HasCharges [get]
 
virtual bool ShowCharges [get]
 
virtual bool ShowChildrenNumber [get]
 
virtual bool ShowAsTool [get]
 
virtual bool CanBeHeldAsFurniture [get]
 
virtual bool HideInAdv [get]
 
virtual bool NoHeldDir [get]
 
virtual bool AlwaysHideOnLowWall [get]
 
bool ExistsOnMap [get]
 
virtual bool RenderExtra [get]
 
virtual float DropChance [get]
 
virtual string IdNoRestock [get]
 
virtual int IdleUseChance [get]
 
virtual string RecipeCat [get]
 
virtual bool IsTool [get]
 
virtual string LangUse [get]
 
virtual bool IgnoreOnSteppedWhenMoving [get]
 
virtual bool IsOn [get]
 
virtual bool IsAnimeOn [get]
 
bool IsToggle [get]
 
virtual bool AutoToggle [get]
 
bool IsLighting [get]
 
virtual bool IsLightOn [get]
 
virtual bool IsNightOnlyLight [get]
 
virtual TileMode tileMode [get]
 
virtual bool UseAltTiles [get]
 
virtual bool UseLowblock [get]
 
virtual bool UseExtra [get]
 
virtual bool UseLightColor [get]
 
virtual ? Color ColorExtra [get]
 
virtual int MaxFuel [get]
 
virtual int FuelCost [get]
 
virtual bool ShowFuelWindow [get]
 
bool IsRequireFuel [get]
 
string IdToggleExtra [get]
 
virtual ToggleType ToggleType [get]
 
virtual string IdSoundToggleOn [get]
 
virtual string IdSoundToggleOff [get]
 
virtual int ShopLv [get]
 
virtual CopyShopType CopyShop [get]
 
virtual int NumCopyItem [get]
 
virtual ShopType ShopType [get]
 
virtual CurrencyType CurrencyType [get]
 
virtual PriceType PriceType [get]
 
virtual bool AllowSell [get]
 
virtual int CostRerollShop [get]
 
virtual bool AllowCriminal [get]
 
virtual int RestockDay [get]
 
virtual SlaverType SlaverType [get]
 
virtual string LangBarter [get]
 
virtual bool RemoveGlobalOnBanish [get]
 
virtual bool CanChangeAffinity [get]
 
string TextNextRestock [get]
 
string TextNextRestockPet [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]
 

Additional Inherited Members

- Public Types inherited from Trait
enum  TileMode {
  Default , Door , Illumination , DefaultNoAnime ,
  SignalAnime , FakeBlock , FakeObj
}
 
enum  CopyShopType { None , Item , Spellbook }
 
- 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 inherited from Trait
Card owner
 
- Static Public Attributes inherited from Trait
static TraitSelfFactory SelfFactory = new TraitSelfFactory()
 
- Static Public Attributes inherited from EClass
static Core core
 
- Static Protected Attributes inherited from Trait
static List< PointlistRadiusPoints = new List<Point>()
 

Detailed Description

Definition at line 3 of file TraitAltar.cs.

Member Function Documentation

◆ _OnOffer()

void TraitAltar._OnOffer ( Chara  c,
Thing  t,
int  takeoverMod = 0 
)
inline

Definition at line 216 of file TraitAltar.cs.

217 {
218 bool @bool = t.GetBool(115);
219 int offeringValue = Deity.GetOfferingValue(t, t.Num);
220 offeringValue = offeringValue * (EClass.debug.enable ? 1000 : (c.HasElement(1228) ? 130 : 100)) / 100;
221 if (takeoverMod == 0)
222 {
223 if (offeringValue >= 200)
224 {
225 Msg.Say("god_offer1", t);
226 EClass.pc.faith.Talk("offer");
227 }
228 else if (offeringValue >= 100)
229 {
230 Msg.Say("god_offer2", t);
231 }
232 else if (offeringValue >= 50)
233 {
234 Msg.Say("god_offer3", t);
235 }
236 else
237 {
238 Msg.Say("god_offer4", t);
239 }
240 }
241 else
242 {
243 Msg.Say("god_offer1", t);
244 offeringValue += Deity.GetOfferingValue(t, 1) * takeoverMod;
245 }
246 int num = Mathf.Max(c.Evalue(306), 1);
247 Element orCreateElement = c.elements.GetOrCreateElement(85);
248 int value = orCreateElement.Value;
249 if (orCreateElement.vBase < num)
250 {
251 c.elements.ModExp(orCreateElement.id, offeringValue * 2 / 3);
252 if (orCreateElement.vBase >= num)
253 {
254 c.elements.SetBase(orCreateElement.id, num);
255 }
256 }
257 int num2 = 4;
258 if (orCreateElement.vBase < num)
259 {
260 num2 = Mathf.Clamp(orCreateElement.vBase * 100 / num / 25, 0, 3);
261 }
262 if (num2 == 4 || orCreateElement.Value != value)
263 {
264 Msg.Say("piety" + num2, c, c.faith.TextGodGender);
265 }
266 Debug.Log(offeringValue + "/" + orCreateElement.Value + "/" + orCreateElement.vExp);
267 if (orCreateElement.Value > num * 8 / 10)
268 {
269 c.elements.ModExp(306, offeringValue / 5);
270 }
272 if (c.faith.GetGiftRank() != -1)
273 {
274 c.faith.Talk("like");
275 }
276 if (@bool)
277 {
279 }
280 }
bool GetBool(int id)
Definition: BaseCard.cs:15
ElementContainerCard elements
Definition: Card.cs:42
int Evalue(int ele)
Definition: Card.cs:2611
int Num
Definition: Card.cs:159
bool HasElement(int ele, bool includeNagative=false)
Definition: Card.cs:6122
void RefreshFaithElement()
Definition: Chara.cs:10404
Religion faith
Definition: Chara.cs:441
Definition: EClass.cs:6
static Player player
Definition: EClass.cs:13
static Chara pc
Definition: EClass.cs:15
void ModExp(int ele, float a, bool chain=false)
Element SetBase(string alias, int v, int potential=0)
Element GetOrCreateElement(Element ele)
int id
Definition: ELEMENT.cs:255
int vBase
Definition: ELEMENT.cs:257
int vExp
Definition: ELEMENT.cs:259
int Value
Definition: ELEMENT.cs:297
Definition: Msg.cs:5
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58
void ModKarma(int a)
Definition: Player.cs:2598
int GetOfferingValue(Thing t, int num=-1)
Definition: Religion.cs:170
string TextGodGender
Definition: Religion.cs:40
void Talk(string idTalk, Card c=null, Card agent=null)
Definition: Religion.cs:154
int GetGiftRank()
Definition: Religion.cs:220
virtual Religion Deity
Definition: TraitAltar.cs:15

References Debug, Deity, Card.elements, Card.Evalue(), Chara.faith, BaseCard.GetBool(), Religion.GetGiftRank(), Religion.GetOfferingValue(), ElementContainer.GetOrCreateElement(), Card.HasElement(), Element.id, ElementContainer.ModExp(), Player.ModKarma(), Card.Num, EClass.pc, EClass.player, Chara.RefreshFaithElement(), Msg.Say(), ElementContainer.SetBase(), Religion.Talk(), Religion.TextGodGender, Element.Value, Element.vBase, and Element.vExp.

Referenced by OnOffer().

◆ CanOffer()

override bool TraitAltar.CanOffer ( Card  c)
inlinevirtual

Reimplemented from Trait.

Definition at line 76 of file TraitAltar.cs.

77 {
78 if (c != null && c.HasTag(CTAG.godArtifact))
79 {
80 if (EClass.pc.IsEyth && EClass.pc.HasElement(1228))
81 {
83 {
84 return true;
85 }
86 }
87 else if (c.c_idDeity == Deity.id)
88 {
89 return true;
90 }
91 }
92 if (base.CanOffer(c) && (EClass.pc.faith.GetOfferingValue(c as Thing) > 0 || c.id == "water") && !c.isCopy)
93 {
94 return !c.HasElement(764);
95 }
96 return false;
97 }
CTAG
Definition: CTAG.cs:2
string id
Definition: Card.cs:36
string c_idDeity
Definition: Card.cs:1607
bool isCopy
Definition: Card.cs:879
bool HasTag(CTAG tag)
Definition: Card.cs:2635
bool IsEyth
Definition: Chara.cs:1066
virtual string id
Definition: Religion.cs:26
bool IsValidArtifact(string id)
Definition: Religion.cs:295
Definition: Thing.cs:8
bool IsEyth
Definition: TraitAltar.cs:19

References Card.c_idDeity, Deity, Chara.faith, Religion.GetOfferingValue(), Card.HasElement(), Card.HasTag(), Card.id, Religion.id, Card.isCopy, Chara.IsEyth, IsEyth, Religion.IsValidArtifact(), and EClass.pc.

Referenced by OnOffer(), and InvOwnerOffering.ShouldShowGuide().

◆ OnCreate()

override void TraitAltar.OnCreate ( int  lv)
inlinevirtual

Reimplemented from Trait.

Definition at line 21 of file TraitAltar.cs.

22 {
24 }
static Game game
Definition: EClass.cs:9
ReligionManager religions
Definition: Game.cs:159
Religion GetRandomReligion(bool onlyJoinable=true, bool includeMinor=false)
void SetDeity(string id)
Definition: TraitAltar.cs:34
string GetParam(int i, string def=null)
Definition: Trait.cs:577

References EClass.game, Trait.GetParam(), ReligionManager.GetRandomReligion(), Religion.id, Game.religions, and SetDeity().

◆ OnImportMap()

override void TraitAltar.OnImportMap ( )
inlinevirtual

Reimplemented from Trait.

Definition at line 26 of file TraitAltar.cs.

27 {
28 if (owner.c_idDeity.IsEmpty() || GetParam(1) != null)
29 {
31 }
32 }
Card owner
Definition: Trait.cs:28

References Card.c_idDeity, EClass.game, Trait.GetParam(), ReligionManager.GetRandomReligion(), Religion.id, Trait.owner, Game.religions, and SetDeity().

◆ OnOffer()

void TraitAltar.OnOffer ( Chara  c,
Thing  t 
)
inline

Definition at line 99 of file TraitAltar.cs.

100 {
101 if (t == null)
102 {
103 return;
104 }
105 if (t.id == "water")
106 {
107 if (Deity != EClass.pc.faith)
108 {
109 if (t.blessedState == BlessedState.Cursed)
110 {
112 return;
113 }
114 Msg.Say("waterCurse", t);
115 EClass.pc.PlayEffect("curse");
116 EClass.pc.PlaySound("curse3");
118 }
119 else if (t.blessedState == BlessedState.Blessed)
120 {
122 }
123 else
124 {
125 Msg.Say("waterBless", t);
126 EClass.pc.PlayEffect("revive");
127 EClass.pc.PlaySound("revive");
128 t.SetBlessedState(BlessedState.Blessed);
129 }
130 return;
131 }
132 if (!IsBranchAltar && EClass.pc.IsEyth && !EClass.pc.HasElement(1228))
133 {
134 EClass.pc.Say("god_offerEyth", owner, t);
135 return;
136 }
137 EClass.pc.Say("god_offer", owner, t, Deity.Name);
138 if (!CanOffer(t))
139 {
140 EClass.pc.Say("nothingHappens", owner, t);
141 return;
142 }
143 Effect.Get("debuff").Play(owner.pos);
144 EClass.pc.PlaySound("offering");
145 if (IsBranchAltar)
146 {
147 Msg.Say("nothingHappens");
148 }
149 else if (IsEyth && !EClass.pc.HasElement(1228))
150 {
151 if (EClass.pc.IsEyth)
152 {
153 Msg.Say("nothingHappens");
154 }
155 else
156 {
157 Msg.Say("takeover_empty", EClass.pc.faith.Name);
158 TakeOver();
159 _OnOffer(c, t, 2);
160 }
161 }
162 else
163 {
164 if (t.HasTag(CTAG.godArtifact) && (t.c_idDeity == Deity.id || (EClass.pc.IsEyth && EClass.pc.HasElement(1228))))
165 {
166 _ = t.encLV;
167 t.Destroy();
168 Thing thing = Religion.Reforge(t.id);
169 if (EClass.pc.IsEyth && EClass.pc.HasElement(1228) && IsEyth)
170 {
171 thing.c_idDeity = EClass.game.religions.Eyth.id;
172 }
173 thing.SetEncLv(t.encLV);
175 if (t.IsIdentified)
176 {
177 thing.Identify(show: true, IDTSource.SuperiorIdentify);
178 }
179 return;
180 }
181 if (EClass.pc.IsEyth && !EClass.pc.HasElement(1228))
182 {
183 Msg.Say("nothingHappens");
184 return;
185 }
186 if (Deity.id != EClass.pc.faith.id)
187 {
188 bool flag = EClass.rnd(EClass.pc.faith.GetOfferingValue(t, t.Num)) > EClass.rnd(200);
189 if (GetParam(1) != null || EClass.pc.IsEyth)
190 {
191 Msg.Say("nothingHappens");
192 return;
193 }
194 Msg.Say("takeover_versus", EClass.pc.faith.Name, Deity.Name);
195 if (flag)
196 {
197 Msg.Say("takeover_success", EClass.pc.faith.TextGodGender);
198 Msg.Say("takeover_success2", EClass.pc.faith.Name);
199 TakeOver();
200 _OnOffer(c, t, 5);
201 }
202 else
203 {
204 Msg.Say("takeover_fail", Deity.Name);
206 }
207 }
208 else
209 {
210 _OnOffer(c, t);
211 }
212 }
213 t.Destroy();
214 }
BlessedState
Definition: BlessedState.cs:2
IDTSource
Definition: IDTSource.cs:2
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:6375
virtual void SetBlessedState(BlessedState s)
Definition: Card.cs:3977
Point pos
Definition: Card.cs:60
Effect PlayEffect(string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
Definition: Card.cs:6409
int encLV
Definition: Card.cs:327
void SetEncLv(int a)
Definition: Card.cs:3946
void Destroy()
Definition: Card.cs:5164
BlessedState blessedState
Definition: Card.cs:279
bool IsIdentified
Definition: Card.cs:2417
void Say(string lang, string ref1=null, string ref2=null)
Definition: Card.cs:7052
static int rnd(long a)
Definition: EClass.cs:59
Definition: Effect.cs:7
static Effect Get(Effect original)
Definition: Effect.cs:85
void Play(float delay, Point from, float fixY=0f, Point to=null, Sprite sprite=null)
Definition: Effect.cs:100
static string SayNothingHappen()
Definition: Msg.cs:96
override string id
Definition: ReligionEyth.cs:3
ReligionEyth Eyth
string Name
Definition: Religion.cs:30
static Thing Reforge(string id, Point pos=null, bool first=true)
Definition: Religion.cs:300
void PunishTakeOver(Chara c)
Definition: Religion.cs:545
Thing Identify(bool show=true, IDTSource idtSource=IDTSource.Identify)
Definition: Thing.cs:2102
override bool CanOffer(Card c)
Definition: TraitAltar.cs:76
bool IsBranchAltar
Definition: TraitAltar.cs:9
void TakeOver()
Definition: TraitAltar.cs:282
void _OnOffer(Chara c, Thing t, int takeoverMod=0)
Definition: TraitAltar.cs:216

References _OnOffer(), Card.blessedState, Card.c_idDeity, CanOffer(), Deity, Card.Destroy(), Card.encLV, ReligionManager.Eyth, Chara.faith, EClass.game, Effect.Get(), Religion.GetOfferingValue(), Trait.GetParam(), Card.HasElement(), Card.HasTag(), Card.id, Religion.id, ReligionEyth.id, Thing.Identify(), IsBranchAltar, Chara.IsEyth, IsEyth, Card.IsIdentified, Religion.Name, Card.Num, Trait.owner, EClass.pc, Effect.Play(), Card.PlayEffect(), Card.PlaySound(), Card.pos, Religion.PunishTakeOver(), Religion.Reforge(), Game.religions, EClass.rnd(), Msg.Say(), Card.Say(), Msg.SayNothingHappen(), Card.SetBlessedState(), Card.SetEncLv(), TakeOver(), and Religion.TextGodGender.

Referenced by InvOwnerOffering._OnProcess().

◆ SetDeity()

void TraitAltar.SetDeity ( string  id)
inline

Definition at line 34 of file TraitAltar.cs.

35 {
36 owner.c_idDeity = id;
37 if (owner.id == "altar")
38 {
39 owner.ChangeMaterial(Deity.source.idMaterial);
40 }
41 }
Card ChangeMaterial(int idNew, bool ignoreFixedMaterial=false)
Definition: Card.cs:3117
SourceReligion.Row source
Definition: Religion.cs:32

References Card.ChangeMaterial(), Deity, Card.id, Trait.owner, and Religion.source.

Referenced by OnCreate(), OnImportMap(), and TakeOver().

◆ SetName()

override void TraitAltar.SetName ( ref string  s)
inlinevirtual

Reimplemented from Trait.

Definition at line 43 of file TraitAltar.cs.

44 {
45 if (!owner.c_idDeity.IsEmpty())
46 {
47 s = "_of".lang(StrDeity, s);
48 }
49 }
string StrDeity
Definition: TraitAltar.cs:17

References Card.c_idDeity, Trait.owner, and StrDeity.

◆ TakeOver()

void TraitAltar.TakeOver ( )
inline

Definition at line 282 of file TraitAltar.cs.

283 {
285 EClass.pc.faith.Talk("takeover");
286 EClass.pc.PlayEffect("revive");
287 owner.PlayEffect("aura_heaven");
288 }

References Chara.faith, Religion.id, Trait.owner, EClass.pc, Card.PlayEffect(), SetDeity(), and Religion.Talk().

Referenced by OnOffer().

◆ TrySetAct()

override void TraitAltar.TrySetAct ( ActPlan  p)
inlinevirtual

Reimplemented from Trait.

Definition at line 51 of file TraitAltar.cs.

52 {
53 if (IsBranchAltar)
54 {
55 return;
56 }
58 {
59 p.TrySetAct("actOffer", delegate
60 {
62 return false;
63 }, owner);
64 }
66 {
67 p.TrySetAct("actWorship", delegate
68 {
69 LayerDrama.currentReligion = Deity;
70 LayerDrama.Activate("_adv", "god", "worship");
71 return false;
72 }, owner);
73 }
74 }
bool TrySetAct(string lang, Func< bool > onPerform, Card tc, CursorInfo cursor=null, int dist=1, bool isHostileAct=false, bool localAct=true, bool canRepeat=false)
Definition: ActPlan.cs:372
static FactionBranch Branch
Definition: EClass.cs:23
static LayerDragGrid CreateOffering(TraitAltar altar)
static LayerDrama Activate(string book, string idSheet, string idStep, Chara target=null, Card ref1=null, string tag="")
Definition: LayerDrama.cs:66
virtual bool CanJoin
Definition: Religion.cs:52

References LayerDrama.Activate(), EClass.Branch, Religion.CanJoin, LayerDragGrid.CreateOffering(), Deity, Chara.faith, IsBranchAltar, Trait.owner, EClass.pc, FactionBranch.rank, and ActPlan.TrySetAct().

Property Documentation

◆ CanOnlyCarry

override bool TraitAltar.CanOnlyCarry
get

Definition at line 11 of file TraitAltar.cs.

◆ CanStack

override bool TraitAltar.CanStack
get

Definition at line 5 of file TraitAltar.cs.

◆ Deity

virtual Religion TraitAltar.Deity
get

Definition at line 15 of file TraitAltar.cs.

Referenced by _OnOffer(), CanOffer(), OnOffer(), SetDeity(), and TrySetAct().

◆ idDeity

virtual string TraitAltar.idDeity
get

Definition at line 13 of file TraitAltar.cs.

Referenced by AI_Pray.GetAltar(), and BranchMap.Refresh().

◆ IsAltar

override bool TraitAltar.IsAltar
get

Definition at line 7 of file TraitAltar.cs.

◆ IsBranchAltar

bool TraitAltar.IsBranchAltar
get

Definition at line 9 of file TraitAltar.cs.

Referenced by OnOffer(), and TrySetAct().

◆ IsEyth

bool TraitAltar.IsEyth
get

Definition at line 19 of file TraitAltar.cs.

Referenced by CanOffer(), and OnOffer().

◆ StrDeity

string TraitAltar.StrDeity
get

Definition at line 17 of file TraitAltar.cs.

Referenced by SetName().


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