2using System.Collections.Generic;
153 public virtual bool CanStack => owner.category.maxStack > 1;
227 return owner.c_lockLv == 0;
313 return owner.rarity <
Rarity.Artifact;
495 return "switch_on_electricity";
509 return "torch_unlit";
511 return "switch_off_electricity";
727 Vector3 vector2 =
item.Position();
758 for (
int i = 0; i < 50; i++)
760 Point point = list.RandomItem();
761 if (point.
IsValid && (func ==
null || func(point)) && (accessChara ==
null || accessChara.HasAccess(point)))
781 Room room = center.cell.room;
802 if (!p.cell.HasBlock || p.cell.HasFence)
804 listRadiusPoints.Add(p.Copy());
809 listRadiusPoints.Add(p.Copy());
872 string @ref = row.GetTextArray(
"name2")[1];
873 string ref2 = row.GetTextArray(
"name2")[0];
876 cc.
Talk(
"offer", @ref, ref2);
898 cc.depression.Mod(100);
912 int num = ((thing ==
null) ? (cc.
Evalue(280) / 2 + 2) : (cc.
Evalue(280) + 10));
917 num2 = num / 4 * 3 - 1;
919 if (num <= num2 && cc.
IsPC)
922 cc.
Say(
"openLockFail2");
926 if (thing !=
null && !flag)
933 cc.
Say(
"lockpick_success", cc, owner);
934 int num3 = 100 + num2 * 10;
943 owner.c_lockedHard =
false;
944 owner.c_priceAdd = 0;
950 owner.isLostProperty =
false;
956 cc.
Say(
"openLockFail");
958 cc.
ModExp(280, (thing !=
null) ? 50 : 30);
959 if ((thing ==
null) | (
EClass.
rnd(2) == 0))
1029 if (c.
held != owner)
1048 if (CanUse(owner.
Chara))
1102 if (Electricity != 0)
1104 EClass._zone.dirtyElectricity =
true;
1105 if (Electricity > 0)
1107 EClass._zone.electricity += Electricity;
1117 OnInstall(byPlayer);
1122 if (Electricity != 0)
1126 Toggle(on:
false, silent:
true);
1128 EClass._zone.dirtyElectricity =
true;
1129 if (Electricity > 0)
1131 EClass._zone.electricity -= Electricity;
1154 Toggle(on:
false, silent:
true);
1156 else if (AutoToggle)
1164 Toggle(on, silent:
true);
1168 public virtual void Toggle(
bool on,
bool silent =
false)
1170 if (owner.
isOn == on)
1174 if (Electricity < 0)
1184 owner.
Say(
"notEnoughElectricity", owner);
1186 owner.
PlaySound(
"electricity_insufficient");
1190 EClass._zone.electricity += Electricity;
1194 EClass._zone.electricity -= Electricity;
1198 PlayToggleEffect(silent);
1205 bool isOn = owner.
isOn;
1218 owner.
Say(isOn ?
"close" :
"open",
EClass.
pc, owner);
1219 owner.
PlaySound(
"Material/leather_drop");
1231 owner.
Say(flag ?
"toggle_fire" :
"toggle_ele",
EClass.
pc, owner);
1263 Toggle(!owner.
isOn);
1270 Toggle(!owner.
isOn);
1285 p.
TrySetAct(flag ?
"ActExtinguishTorch" :
"ActToggleOff", delegate
1294 p.
TrySetAct(flag ?
"ActTorch" :
"ActToggleOn", delegate
1323 public bool IsFuelEnough(
int num = 1, List<Thing> excludes =
null,
bool tryRefuel =
true)
1335 TryRefuel(FuelCost * num - owner.
c_charges, excludes);
1337 return owner.c_charges >= FuelCost * num;
1342 return GetFuelValue(s) > 0;
1347 return GetFuelValue(t) > 0;
1356 return GetFuelValue(t.
id);
1363 if (
id ==
"battery")
1397 if (FindFuel(refuel:
false))
1399 FindFuel(refuel:
true);
1401 bool FindFuel(
bool refuel)
1407 if (IsFuel(t) && t.tier == 0 && (excludes ==
null || !excludes.Contains(t)))
1416 int num2 = Mathf.Min(
item.Num, Mathf.CeilToInt((
float)num / (float)GetFuelValue(
item)));
1417 num -= GetFuelValue(
item) * num2;
1420 Refuel(
item.Split(num2));
1453 t.SetActive(enable:
true);
1458 t.SetActive(enable:
true);
1463 t.SetActive(owner.
Num > 1);
1474 int rawDeadLine = 0;
1488 if (remainingHours > 0)
1490 return "nextRestock".lang(lang.lang(),
Date.
GetText(remainingHours) ??
"");
1502 return Emo2.restock;
1510 return Emo2.blessing;
1512 return Emo2.restock;
1531 owner.isRestocking =
true;
1543 Add(
"book_exp", 10, 0);
1548 if (c_copyContainer ==
null)
1560 thing3.isStolen =
false;
1561 thing3.isCopy =
true;
1562 thing3.c_priceFix = 0;
1572 num4 = (1000 + owner.c_invest * 100) / (thing3.GetPrice(
CurrencyType.Money, sell:
false,
PriceType.CopyShop) + 50);
1573 int[] array =
new int[3] { 704, 703, 702 };
1574 foreach (
int ele
in array)
1576 if (thing3.HasElement(ele))
1587 if (num4 > 1 && thing3.trait.CanStack)
1589 thing3.SetNum(num4);
1602 string id2 = owner.
id;
1603 if (!(id2 ==
"mogu"))
1605 if (!(id2 ==
"felmera"))
1624 Add(
"license_illumination", 1, 0);
1625 Add(
"license_void", 1, 0);
1626 Add(
"license_adv", 1, 0);
1630 for (
int num7 = 0; num7 < 30; num7++)
1643 for (
int num8 = 0; num8 <
EClass.
rnd(3) + 1; num8++)
1647 for (
int num9 = 0; num9 <
EClass.
rnd(3) + 1; num9++)
1654 Add(
"board_map", 1, 0);
1655 Add(
"board_build", 1, 0);
1656 Add(
"book_resident", 1, 0);
1670 Add(
"board_home", 1, 0);
1671 Add(
"board_resident", 1, 0);
1676 Add(
"board_expedition", 1, 0);
1677 Add(
"mailpost", 1, 0);
1678 Add(
"record", 1, 0);
1681 Add(
"wagon1", 1, 0);
1682 Add(
"wagon_big", 1, 0);
1683 Add(
"wagon_big2", 1, 0);
1684 Add(
"wagon_big3", 1, 0);
1685 Add(
"wagon_big4", 1, 0);
1686 Add(
"wagon_big5", 1, 0);
1687 Add(
"teleporter", 1, 0);
1688 Add(
"teleporter2", 1, 0);
1689 Add(
"recharger", 1, 0);
1690 Add(
"machine_gene2", 1, 0);
1707 Add(
"drawing_paper", 10, 0);
1708 Add(
"drawing_paper2", 10, 0);
1709 Add(
"stethoscope", 1, 0);
1710 Add(
"whip_love", 1, 0);
1711 Add(
"whip_interest", 1, 0);
1712 Add(
"syringe_blood", 20, 0);
1715 Add(
"chest_tax", 1, 0);
1721 Add(
"flyer", 1, 0).SetNum(99);
1726 bool num5 = owner.id ==
"big_sister";
1730 Add(
"littleball", 10, 0);
1741 for (
int m = 0; m < 20; m++)
1751 for (
int n = 0; n < 10; n++)
1759 for (
int num6 = 0; num6 < 30; num6++)
1765 Add(
"candle9", 1, -1);
1766 Add(
"candle9", 1, -1);
1767 Add(
"candle9", 1, -1);
1768 Add(
"candle8", 1, 0);
1769 Add(
"candle8b", 1, 0);
1770 Add(
"candle8c", 1, 0);
1777 Add(
"chest_tax", 1, 0);
1779 Add(
"monsterball", 1, 0).SetNum(3).SetLv(10);
1782 Add(
"pillow_ehekatl", 1, 0);
1783 Add(
"grave_dagger1", 1, 0);
1784 Add(
"grave_dagger2", 1, 0);
1799 for (
int k = 0; k < 5; k++)
1803 thing2.c_priceFix = 1000;
1809 NoRestockId(
"sword_dragon");
1810 Add(
"sword_dragon", 1, 0).SetReplica(on:
true);
1811 NoRestockId(
"point_stick");
1812 Add(
"point_stick", 1, 0).SetReplica(on:
true);
1813 NoRestockId(
"blunt_bonehammer");
1814 Add(
"blunt_bonehammer", 1, 0).SetReplica(on:
true);
1815 NoRestockId(
"pole_gunlance");
1816 Add(
"pole_gunlance", 1, 0).SetReplica(on:
true);
1817 NoRestockId(
"sword_muramasa");
1818 Add(
"sword_muramasa", 1, 0).SetReplica(on:
true);
1819 NoRestockId(
"sword_forgetmenot");
1820 Add(
"sword_forgetmenot", 1, 0).SetReplica(on:
true);
1821 NoRestockId(
"dagger_fish");
1822 Add(
"dagger_fish", 1, 0).SetReplica(on:
true);
1823 NoRestockId(
"sword_zephir");
1824 Add(
"sword_zephir", 1, 0).SetReplica(on:
true);
1825 Add(
"ribbon", 1, 0);
1826 Add(
"helm_sage", 1, 0);
1827 Add(
"diary_sister", 1, 0);
1828 Add(
"diary_catsister", 1, 0);
1829 Add(
"diary_lady", 1, 0);
1830 Add(
"1165", 1, 0).SetNum(5);
1832 Add(
"1282", 1, 0).SetNum(5);
1833 Add(
"monsterball", 1, 0).SetNum(3).SetLv(20);
1834 Add(
"monsterball", 1, 0).SetNum(3).SetLv(40);
1835 Add(
"bill_tax", 1, 0).c_bill = 1;
1836 Add(
"bill_tax", 1, 0).c_bill = 1;
1837 Add(
"bill_tax", 1, 0).c_bill = 1;
1839 Add(
"container_magic", 1, 0);
1840 Add(
"container_magic", 1, 0).ChangeMaterial(
"iron").idSkin = 1;
1841 Add(
"container_magic", 1, 0).ChangeMaterial(
"bamboo").idSkin = 2;
1842 Add(
"container_magic", 1, 0).ChangeMaterial(
"feywood").idSkin = 3;
1843 Add(
"wrench_tent_elec", 1, 0);
1844 Add(
"wrench_tent_soil", 1, 0);
1845 Add(
"wrench_tent_seabed", 1, 0);
1846 Add(
"wrench_bed", 1, 0).SetNum(20);
1847 Add(
"wrench_storage", 1, 0).SetNum(10);
1848 Add(
"wrench_fridge", 1, 0).SetNum(1);
1849 Add(
"wrench_extend_v", 1, 0).SetNum(2);
1850 Add(
"wrench_extend_h", 1, 0).SetNum(2);
1855 float num = (float)(3 + Mathf.Min(ShopLv / 5, 10)) + Mathf.Sqrt(ShopLv);
1867 num = Mathf.Min(num, num2);
1868 for (
int j = 0; (float)j < num; j++)
1870 Thing thing = CreateStock();
1873 bool tryStack =
true;
1878 t.AddThing(thing, tryStack);
1891 for (
int l = 0; l < recipeKey.Length; l++)
1893 if (recipeKey[l] ==
ShopType.ToString())
1910 for (
int num12 = 1; num12 <= 17; num12++)
1918 int num13 = (EClass.debug.enable ? 20 : (EClass._zone.development / 10));
1921 Add(
"syringe_gene", num13, 0);
1922 Add(
"diary_little", 1, 0);
1926 Add(
"syringe_heaven", num13 / 5, 0);
1929 Add(
"medal", 10, 0);
1930 Add(
"ticket_fortune", 10, 0);
1934 Add(
"tool_talisman", 1, 0);
1945 Add(
"ecomark", 5, 0);
1946 Add(
"whip_egg", 1, 0);
1947 Add(
"helm_chef", 1, 0);
1948 Add(
"hammer_strip", 1, 0);
1949 Add(
"brush_strip", 1, 0);
1951 Add(
"plat", 100, 0);
1956 Add(
"bullet", 1, 0).SetNum(300 +
EClass.
rnd(100)).ChangeMaterial(
"iron");
1957 Add(
"bullet_energy", 1, 0).SetNum(100 +
EClass.
rnd(100)).ChangeMaterial(
"iron");
1975 Add(
"holyFeather", 1, 0);
1984 Add(
"ticket_massage", 1, 0);
1985 Add(
"ticket_armpillow", 1, 0);
1986 Add(
"ticket_champagne", 1, 0);
1988 for (
int num10 = 0; num10 < 3; num10++)
1996 TreasureType.Map =>
"chest_treasure",
1997 TreasureType.BossNefia =>
"chest_boss",
2000 thing6.c_lockedHard =
true;
2001 thing6.c_lockLv = num11;
2002 thing6.c_priceAdd = 2000 + num11 * 250 * ((treasureType ==
TreasureType.RandomChest) ? 1 : 5);
2003 thing6.c_revealLock =
true;
2016 for (
int num14 = 0; num14 < (EClass.debug.enable ? 3 : 3); num14++)
2059 Add(
"lockpick", 1, 0);
2062 Add(
"lockpick", 1, 0);
2068 thing11.c_idBacker = 0;
2072 if (thing11.
Num == 1)
2080 if (thing11.
IsFood && owner.
id ==
"rodwyn")
2088 thing11.noSell =
true;
2092 thing11.isStolen =
true;
2096 thing11.c_IDTState = 0;
2100 thing11.c_priceFix = -70;
2104 thing11.c_IDTState = 5;
2112 if (t.things.Count <= t.things.GridSize)
2116 int num15 = t.things.width * 10;
2117 if (t.things.Count > num15)
2119 int num16 = t.things.Count - num15;
2120 for (
int num17 = 0; num17 < num16; num17++)
2122 t.things.LastItem().Destroy();
2125 t.things.ChangeSize(t.things.width, Mathf.Min(t.things.Count / t.things.width + 1, 10));
2126 Thing Add(
string id,
int a,
int idSkin)
2130 thing8.idSkin = ((idSkin == -1) ?
EClass.
rnd(thing8.
source.skins.Length + 1) : idSkin);
2133 void AddAdvWeek(
int i)
2136 thing7.c_priceFix = -90;
2143 void NoRestock(
Thing _t)
2146 if (hashSet ==
null)
2148 hashSet =
new HashSet<string>();
2158 void NoRestockId(
string _id)
2175 return FromFilter(
"shop_generalExotic");
2179 return Create(
"panty");
2183 return Create(
"234");
2185 return FromFilter(
"shop_drink");
2187 return FromFilter(
"shop_furniture");
2189 return FromFilter(
"shop_book");
2191 return FromFilter(
"shop_magic");
2203 Thing thing3 =
null;
2204 for (
int i = 0; i < 1000; i++)
2206 thing3 = FromFilter(
"shop_healer");
2209 if (!(traitScroll.source.aliasParent !=
"WIL") && !(traitScroll.source.categorySub ==
"attack"))
2216 if (!(traitPotionRandom.source.aliasParent !=
"WIL") && !(traitPotionRandom.source.categorySub ==
"attack"))
2222 else if (thing3.
trait is
TraitRodRandom { source: not null } traitRodRandom && !(traitRodRandom.source.aliasParent !=
"WIL") && !(traitRodRandom.source.categorySub ==
"attack"))
2237 return Create(
"milk");
2241 return Create(
"book_plan");
2243 return FromFilter(
"shop_weapon");
2247 return Create(
"mod_ranged");
2249 return FromFilter(
"shop_gun");
2267 return FromFilter(
"shop_blackmarket");
2270 return FromFilter(
"shop_drink");
2272 return FromFilter(
"shop_booze");
2274 return FromFilter(
"shop_fruit");
2278 return Create(
"bait");
2282 return Create(
"fishingRod");
2284 return FromFilter(
"shop_fish");
2288 return Create(
"seasoning");
2290 return FromFilter(
"shop_meat");
2294 return Create(
"dough");
2296 return FromFilter(
"shop_bread");
2300 return Create(
"dough");
2302 return FromFilter(
"shop_sweet");
2306 return Create(
"seasoning");
2308 return Create(
"693");
2312 return Create(
"seasoning");
2314 return FromFilter(
"shop_food");
2316 return FromFilter(
"shop_drug");
2320 if (loytelMartLv >= 1)
2324 return Create(
"monsterball").SetLv(40 +
EClass.
rnd(ShopLv)).Thing;
2340 return Create(
"1165");
2346 switch ((from _s in row.
thing.ToCharArray()
2348 select _s).RandomItem())
2360 return FromFilter(
"shop_junk");
2364 return FromFilter(
"shop_junk");
2366 return FromFilter(
"shop_souvenir");
2372 return Create(
"firework_launcher");
2374 return Create(
"firework");
2378 if (IsFestival(
"olvina"))
2380 return Create(
new string[4] {
"1125",
"1126",
"pillow_truth",
"1230" }.RandomItem());
2382 if (IsFestival(
"yowyn"))
2384 return Create(
new string[3] {
"hat_mushroom",
"hat_witch",
"hat_kumiromi" }.RandomItem());
2386 if (IsFestival(
"noyel"))
2388 return Create(
new string[13]
2390 "1127",
"1128",
"xmas_sled",
"xmas_bigbag",
"xmas_bigbox",
"xmas_blackcat",
"xmas_blackcat",
"xmas_jure",
"xmas_crown",
"xmas_ball",
2391 "xmas_ball",
"xmas_ball",
"xmas_string"
2397 return Create(
new string[4] {
"1081",
"1082",
"1083",
"1084" }.RandomItem());
2401 return FromFilter(
"shop_junk");
2403 return FromFilter(
"shop_souvenir");
2407 if (IsFestival(
"kapul"))
2409 return Create(
new string[6] {
"999",
"1000",
"1001",
"1002",
"1003",
"1004" }.RandomItem());
2411 if (IsFestival(
"yowyn"))
2413 return Create(
new string[2] {
"1072",
"1073" }.RandomItem());
2415 if (IsFestival(
"noyel"))
2417 return Create(
new string[1] {
"1069" }.RandomItem());
2419 if (IsFestival(
"olvina"))
2421 return Create(
new string[2] {
"1070",
"1071" }.RandomItem());
2426 return Create(
new string[4] {
"953",
"954",
"955",
"956" }.RandomItem());
2428 return FromFilter(
"shop_lamp");
2432 return Create(
"lockpick");
2434 return FromFilter(
"shop_general");
2436 Thing Create(
string s)
2440 Thing FromFilter(
string s)
2444 static bool IsFestival(
string id)
bool TrySetAct(string lang, Func< bool > onPerform, Card tc, CursorInfo cursor=null, int dist=1, bool isHostileAct=false, bool localAct=true, bool canRepeat=false)
int GetInt(int id, int? defaultInt=null)
void SetInt(int id, int value=0)
static void SetRarity(Rarity q=Rarity.Normal)
static void SetNormalRarity(bool fixedMat=false)
void PlayAnime(AnimeID id, bool force)
void RemoveExtra(string id)
Thing TryMakeRandomItem(int lv=-1, TryMakeRandomItemSource itemSource=TryMakeRandomItemSource.Default, Chara crafter=null)
ElementContainerCard elements
SourceMaterial.Row material
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Card ChangeMaterial(int idNew, bool ignoreFixedMaterial=false)
Card MakeRefFrom(string id)
virtual int GetPrice(CurrencyType currency=CurrencyType.Money, bool sell=false, PriceType priceType=PriceType.Default, Chara c=null)
Thing AddThing(string id, int lv=-1)
void Talk(string idTopic, string ref1=null, string ref2=null, bool forceSync=false)
void ModCharge(int a, bool destroy=false)
void PlaySoundDrop(bool spatial=true)
virtual CardRow sourceCard
void ModExp(string alias, int a)
void PlayAnime(AnimeID id, bool force=false)
SourceCategory.Row category
bool HasElement(int ele, bool includeNagative=false)
void Say(string lang, string ref1=null, string ref2=null)
bool TryHoldCard(Card t, int num=-1, bool pickHeld=false)
static Thing MakeLoveLunch(Chara c)
static void MakeDish(Thing food, int lv, Chara crafter=null, int seed=-1)
static Thing GenerateGene(Chara c, Type? type=null)
int GetRaw(int offsetHours=0)
string GetText(TextFormat format)
int GetRemainingHours(int rawDeadLine)
static SourceManager sources
static BaseGameScreen screen
static int rndHalf(int a)
static GameSetting setting
Element SetBase(string alias, int v, int potential=0)
override bool IsCurrentZone
override bool IsCurrentZone
static GuildMerchant Merchant
static LayerDragGrid Create(InvOwnerDraglet owner, bool refuelFromLayerDragGrid=false)
static bool IsVisible(Point p1, Point p2, Action< Point, bool > _onVisit=null)
void ForeachSphere(int _x, int _z, float r, Action< Point > action)
void Add(Point point, float tile=0f, float color=0f)
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Dictionary< string, HashSet< string > > noRestocks
ref Vector3 Position(int height)
List< Card > ListCards(bool includeMasked=false)
void RefreshNeighborTiles()
bool IsCompleted(string id)
static List< RecipeSource > list
static Recipe Create(RecipeSource _source, int idMat=-1, Thing ing=null)
string GetText(string id="name", bool returnNull=false)
static SpawnList Get(string id, string parent=null, CardFilter filter=null)
CardRow Select(int lv=-1, int levelRange=-1)
void DestroyAll(Func< Thing, bool > funcExclude=null)
void Foreach(Action< Thing > action, bool onlyAccessible=true)
static Thing CreateRune(int ele, int v, bool free=false)
static Thing CreatePotion(int ele, int num=1)
static Thing CreateFromFilter(string id, int lv=-1)
static Thing CreateMap(string idSource=null, int lv=-1)
static Thing CreatePerfume(int ele, int num=1)
static Thing CreateRedBook(string id, int num=1)
static void CreateTreasureContent(Thing t, int lv, TreasureType type, bool clearContent)
static Thing CreateSpellbook(string alias, int num=1)
static Thing CreatePlan(int ele)
static Thing CreateRecipe(string id)
static Thing CreateSkillbook(int ele, int num=1)
static Thing CreateFromCategory(string idCat, int lv=-1)
static Thing CreateScroll(int ele, int num=1)
static Thing CreateRod(int ele, int charge=-1)
static Thing Create(string id, int idMat=-1, int lv=-1)
virtual bool IsBlockSight
static Thing MakeRandomSeed(bool enc=false)
static void LevelSeed(Thing t, SourceObj.Row obj, int num)
static Thing MakeSeed(string id, PlantData plant=null)
static void SetZone(Zone zone, Thing t)
virtual string LangBarter
virtual void OnImportMap()
virtual bool RequireFullStackCheck
virtual bool OnUse(Chara c, Card tg)
virtual bool CanExtendBuild
virtual TileMode tileMode
void OfferProcess(Chara cc)
virtual bool IsBlockSight
virtual bool HoldAsDefaultInteraction
virtual int GetActDuration(Chara c)
virtual bool CanBeAttacked
virtual bool CanBeHallucinated
virtual void SetMainText(UIText t, bool hotitem)
virtual bool CanUse(Chara c)
virtual bool ShouldRefreshTile
virtual bool ShowChildrenNumber
virtual List< Point > ListPoints(Point center=null, bool onlyPassable=true)
virtual CopyShopType CopyShop
virtual void OnChangePlaceState(PlaceState state)
virtual RenderData GetRenderData()
virtual Recipe GetRecipe()
virtual void OnSetCardGrid(ButtonGrid b)
virtual string IDInvStyle
virtual string IdSoundToggleOff
virtual HotItem GetHotItem()
int GetSortVal(UIList.SortMode m)
virtual bool Contains(RecipeSource r)
virtual void OnEquip(Chara c, bool onSetOwner)
virtual void OnTickHeld()
virtual void WriteNote(UINote n, bool identified)
int GetParamInt(int i, int def)
virtual void OnSteppedOut(Chara c)
virtual bool TryProgress(AIProgress p)
virtual bool CanBeDisassembled
virtual int OriginalElectricity
virtual void OnRead(Chara c)
virtual bool IgnoreLastStackHeight
Point GetRandomPoint(Func< Point, bool > func=null, Chara accessChara=null)
virtual void OnInstall(bool byPlayer)
virtual bool CanChangeHeight
virtual void TrySetAct(ActPlan p)
virtual bool CanSearchContent
virtual bool CanChildDecay(Card c)
virtual void TrySetHeldAct(ActPlan p)
virtual string IdSoundToggleOn
virtual void OnThrowGround(Chara c, Point p)
virtual bool CanStackTo(Thing to)
virtual string ReqHarvest
virtual bool IgnoreOnSteppedWhenMoving
virtual bool CanBeDestroyed
virtual bool CanRead(Chara c)
virtual bool AlwaysHideOnLowWall
virtual bool CanCook(Card c)
virtual string IdNoRestock
virtual bool CanBuildInTown
virtual void SetOwner(Card _owner)
virtual bool OnChildDecay(Card c, bool firstDecay)
void OnBarter(bool reroll=false)
virtual void OnRenderTile(Point point, HitResult result, int dir)
string GetTextRestock(string lang, bool pet)
virtual void OnOpenDoor(Chara c)
virtual LockOpenState TryOpenLock(Chara cc, bool msgFail=true)
virtual bool CanOpenContainer
virtual void TrySetToggleAct(ActPlan p)
virtual TileType tileType
virtual void PlayToggleEffect(bool silent)
virtual bool CanUse(Chara c, Card tg)
virtual bool CanUseRoomRadius
virtual bool CanCopy(Thing t)
virtual bool UseDummyTile
virtual void OnUnequip(Chara c)
virtual int DecaySpeedChild
virtual Sprite GetRefSprite()
virtual bool CanChangeAffinity
virtual bool IsOnlyUsableByPc
virtual bool RemoveGlobalOnBanish
virtual void OnAddedToZone()
virtual void Toggle(bool on, bool silent=false)
string GetParam(int i, string def=null)
virtual void OnUnsetCurrentItem()
virtual void OnRenderExtra(RenderParam p)
virtual bool CanEat(Chara c)
virtual Recipe GetBuildModeRecipe()
virtual int CostRerollShop
virtual void OnSimulateHour(VirtualDate date)
int GetFuelValue(Thing t)
virtual bool OnUse(Chara c, Point p)
virtual bool IsThrowMainAction
virtual bool InvertHeldSprite
virtual bool CanBeHeldAsFurniture
string TextNextRestockPet
virtual bool IsChangeFloorHeight
virtual void OnStepped(Chara c)
virtual bool CanBeTeleported
virtual string GetHoverText()
virtual void RefreshRenderer()
virtual bool CanUse(Chara c, Point p)
virtual bool CanOffer(Card tg)
virtual bool DisableAutoCombat
virtual void OnCreate(int lv)
virtual ? Color ColorExtra
virtual void OnSetCurrentItem()
virtual TraitRadiusType radiusType
virtual bool CanCopyInBlueprint
virtual bool OnUse(Chara c)
int GetFuelValue(string id)
virtual SourcePref GetPref()
void TryRefuel(int dest, List< Thing > excludes)
virtual bool CanBeShipped
virtual void OnUninstall()
static List< Point > listRadiusPoints
virtual void OnSetOwner()
virtual bool CanBuiltAt(Point p)
virtual bool CanUseContent
virtual bool IsNightOnlyLight
virtual void OnDrink(Chara c)
virtual bool UseLightColor
virtual void OnRemovedFromZone()
virtual bool ShouldTryRefreshRoom
virtual bool CanBlend(Thing t)
virtual Emo2 GetHeldEmo(Chara c)
virtual bool CanBeDropped
virtual void OnCrafted(Recipe recipe, List< Thing > ings)
bool IsFuelEnough(int num=1, List< Thing > excludes=null, bool tryRefuel=true)
virtual bool CanBeSmashedToDeath
virtual bool LevelAsQuality
virtual void OnEat(Chara c)
virtual Action GetHealAction(Chara c)
virtual int IdleUseChance
static TraitSelfFactory SelfFactory
virtual bool ShowContextOnPick
virtual SourceElement.Row GetRefElement()
virtual bool IdleUse(Chara c, int dist)
virtual void OnEnterScreen()
virtual bool IsSpecialContainer
virtual bool ShowFuelWindow
virtual void SetName(ref string s)
virtual bool CanBeOnlyBuiltInHome
virtual void SetParams(params string[] s)
virtual int CompareTo(Card b)
virtual bool CanDrink(Chara c)
virtual int InstallBottomPriority
virtual bool CanOnlyCarry
void Install(bool byPlayer)
virtual bool AllowCriminal
virtual void OnBlend(Thing t, Chara c)