Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
TraitTicketFurniture.cs
Go to the documentation of this file.
1using UnityEngine;
2
4{
5 public Zone zone
6 {
7 get
8 {
9 return RefZone.Get(owner.refVal);
10 }
11 set
12 {
13 owner.refVal = value?.uid ?? 0;
14 }
15 }
16
17 public override bool IsTool => true;
18
19 public override void TrySetHeldAct(ActPlan p)
20 {
21 if (EClass._zone.GetTopZone() != zone)
22 {
23 return;
24 }
25 p.pos.Things.ForEach(delegate(Thing t)
26 {
27 if (t.IsInstalled && t.isNPCProperty && t.trait.CanBeHeld && !t.trait.IsDoor && !t.isMasked && t.source.value != 0 && (EClass._zone is Zone_LittleGarden || t.trait.CanBeDestroyed))
28 {
29 int price = GetPrice(t) * t.Num;
30 p.TrySetAct("actCollectFurniture".lang(price.ToString() ?? "", t.Name) + ((t.category.ticket >= 10) ? "ticketNotIntended".lang() : ""), delegate
31 {
32 if (owner.Num < price)
33 {
34 Msg.Say("notEnoughTicket");
35 return false;
36 }
37 SE.Pay();
38 owner.ModNum(-price);
39 t.isNPCProperty = false;
40 if (t.trait is TraitPillow)
41 {
42 t.noSell = true;
43 }
44 EClass.pc.Pick(t);
45 return false;
46 });
47 }
48 });
49 }
50
51 public int GetPrice(Thing t)
52 {
53 int num = (t.GetPrice() / 500 + 1) * t.category.ticket;
55 {
56 if (num >= 10)
57 {
58 num = 10;
59 }
60 num = Mathf.Max(num + EClass.player.little_dead - EClass.player.little_saved / 5, num);
61 }
62 return num;
63 }
64
65 public override void SetName(ref string s)
66 {
67 if (zone != null)
68 {
69 s = "_of".lang(zone.Name, s);
70 }
71 }
72
73 public static void SetZone(Zone zone, Thing t)
74 {
75 int num = 0;
76 if (zone != null)
77 {
78 if (zone.IsTown || zone is Zone_LittleGarden)
79 {
80 num = zone.GetTopZone().uid;
81 }
82 if (zone.IsPCFaction)
83 {
84 num = EClass.game.spatials.Find("mysilia").uid;
85 }
86 }
87 if (num == 0)
88 {
89 num = EClass.game.spatials.Find("palmia").uid;
90 }
91 t.refVal = num;
92 }
93}
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
Definition: UIBook.cs:627
Point pos
Definition: ActPlan.cs:149
bool isMasked
Definition: Card.cs:562
bool isNPCProperty
Definition: Card.cs:526
virtual int GetPrice(CurrencyType currency=CurrencyType.Money, bool sell=false, PriceType priceType=PriceType.Default, Chara c=null)
Definition: Card.cs:6449
int refVal
Definition: Card.cs:190
Trait trait
Definition: Card.cs:49
bool IsInstalled
Definition: Card.cs:2241
SourceCategory.Row category
Definition: Card.cs:1925
Definition: EClass.cs:5
static Game game
Definition: EClass.cs:8
static Zone _zone
Definition: EClass.cs:20
static Player player
Definition: EClass.cs:12
SpatialManager spatials
Definition: Game.cs:152
int little_dead
Definition: Player.cs:733
int little_saved
Definition: Player.cs:736
List< Thing > Things
Definition: Point.cs:314
static Zone Get(int uid)
Definition: RefZone.cs:3
Zone Find(string id)
int uid
Definition: Spatial.cs:70
Definition: Thing.cs:8
SourceThing.Row source
Definition: Thing.cs:11
static void SetZone(Zone zone, Thing t)
override void SetName(ref string s)
override void TrySetHeldAct(ActPlan p)
Definition: Trait.cs:7
virtual bool CanBeDestroyed
Definition: Trait.cs:285
virtual bool CanBeHeld
Definition: Trait.cs:269
virtual bool IsDoor
Definition: Trait.cs:56
Card owner
Definition: Trait.cs:26
Definition: Zone.cs:12
Zone GetTopZone()
Definition: Zone.cs:1854
virtual bool IsTown
Definition: Zone.cs:220
bool IsPCFaction
Definition: Zone.cs:464