9 public override string IDInvStyle
13 if (base.GetParam(3,
null) !=
null)
15 return base.GetParam(3,
null);
17 return this.DefaultIdInvStyle;
23 public override RefCardName RefCardName
27 return RefCardName.None;
33 public string idContainer
37 if (base.GetParam(4,
null) !=
null)
39 return base.GetParam(4,
null);
41 return this.DefaultIdContainer;
51 if (this.owner.sourceCard.trait.Length <= 1)
53 return this.DefaultWidth;
55 return base.GetParam(1,
null).ToInt();
65 if (this.owner.sourceCard.trait.Length <= 2)
67 return this.DefaultHeight;
69 return base.GetParam(2,
null).ToInt();
75 public virtual string DefaultIdInvStyle
79 return base.IDInvStyle;
85 public virtual string DefaultIdContainer
95 public virtual int DefaultWidth
105 public virtual int DefaultHeight
115 public virtual int ChanceLock
125 public virtual int ChanceMedal
135 public override int DecaySpeedChild
145 public override bool IsContainer
155 public virtual bool ShowOpenActAsCrime
159 return this.owner.isNPCProperty;
165 public override bool UseAltTiles
169 return this.owner.things.Count == 0 && this.owner.c_lockLv == 0;
174 public override void OnCreate(
int lv)
176 this.owner.things.SetSize(this.Width, this.Height);
177 if (this.ChanceLock > 0 && this.ChanceLock >
EClass.rnd(100))
180 this.owner.c_lockLv =
EClass.curve(5 + lv / 2 +
EClass.rnd(lv / 2), 50, 10, 80);
186 public virtual void Prespawn(
int lv)
188 if (!this.CanOpenContainer)
192 int num = 1 +
EClass.rnd(2);
193 int num2 =
EClass.curve(lv, 20, 15, 75);
194 for (
int i = 0; i < num; i++)
197 if (
EClass.sources.spawnLists.map.ContainsKey(
this.idContainer))
199 thing =
ThingGen.CreateFromFilter(this.idContainer, -1);
201 else if (
EClass.sources.categories.map.ContainsKey(
this.idContainer))
203 thing =
ThingGen.CreateFromCategory(this.idContainer, -1);
207 string idContainer = this.idContainer;
208 if (!(idContainer ==
"money"))
210 if (!(idContainer ==
"provision"))
212 if (
EClass.sources.things.map.ContainsKey(
this.idContainer))
214 thing =
ThingGen.Create(this.idContainer, -1, -1);
218 thing =
ThingGen.CreateFromFilter(
"container_general", (lv + this.owner.c_lockLv > 0) ? 5 : 0);
223 thing =
ThingGen.CreateFromCategory((
EClass.rnd(2) == 0) ?
"preserved" :
"drink", -1);
226 else if (
EClass.rnd(2) == 0)
228 thing =
ThingGen.Create(
"money", -1, -1).SetNum(10 +
EClass.rnd(50 + num2 * 25));
230 else if (
EClass.rnd(2) == 0)
232 thing =
ThingGen.Create(
"money2", -1, -1).SetNum(1 +
EClass.rnd(Mathf.Min(2 + num2 / 50, 5)));
236 thing =
ThingGen.Create(
"plat", -1, -1);
241 this.owner.AddCard(thing);
244 if (
EClass.rnd(
this.ChanceMedal) == 0)
246 this.owner.Add(
"medal", 1, 1);
256 return this.owner.c_idRefCard !=
null;
261 public void PutChara(
string id)
263 this.owner.c_idRefCard = id;
264 this.owner.AddCard(
ThingGen.Create(
"junk", -1, -1));
268 public override void SetName(ref
string s)
270 if (this.owner.Thing.IsSharedContainer)
272 s =
"_shared".lang(s,
null,
null,
null,
null);
274 if (!this.owner.c_idRefName.IsEmpty() &&
this.owner.c_altName.IsEmpty())
276 s =
"_written".lang(this.owner.c_idRefName, s,
null,
null,
null);