2using System.Collections.Generic;
150 public virtual bool CanStack => owner.category.maxStack > 1;
224 return owner.c_lockLv == 0;
310 return owner.rarity <
Rarity.Artifact;
492 return "switch_on_electricity";
506 return "torch_unlit";
508 return "switch_off_electricity";
710 Vector3 vector2 =
item.Position();
741 for (
int i = 0; i < 50; i++)
743 Point point = list.RandomItem();
744 if (point.
IsValid && (func ==
null || func(point)) && (accessChara ==
null || accessChara.HasAccess(point)))
764 Room room = center.cell.room;
785 if (!p.cell.HasBlock || p.cell.HasFence)
787 listRadiusPoints.Add(p.Copy());
792 listRadiusPoints.Add(p.Copy());
855 string @ref = row.GetTextArray(
"name2")[1];
856 string ref2 = row.GetTextArray(
"name2")[0];
859 cc.
Talk(
"offer", @ref, ref2);
881 cc.depression.Mod(100);
895 int num = ((thing ==
null) ? (cc.
Evalue(280) / 2 + 2) : (cc.
Evalue(280) + 10));
900 num2 = num / 4 * 3 - 1;
902 if (num <= num2 && cc.
IsPC)
905 cc.
Say(
"openLockFail2");
909 if (thing !=
null && !flag)
916 cc.
Say(
"lockpick_success", cc, owner);
917 int num3 = 100 + num2 * 10;
926 owner.c_lockedHard =
false;
927 owner.c_priceAdd = 0;
933 owner.isLostProperty =
false;
939 cc.
Say(
"openLockFail");
941 cc.
ModExp(280, (thing !=
null) ? 50 : 30);
942 if ((thing ==
null) | (
EClass.
rnd(2) == 0))
1012 if (c.
held != owner)
1031 if (CanUse(owner.
Chara))
1085 if (Electricity != 0)
1087 EClass._zone.dirtyElectricity =
true;
1088 if (Electricity > 0)
1090 EClass._zone.electricity += Electricity;
1100 OnInstall(byPlayer);
1105 if (Electricity != 0)
1109 Toggle(on:
false, silent:
true);
1111 EClass._zone.dirtyElectricity =
true;
1112 if (Electricity > 0)
1114 EClass._zone.electricity -= Electricity;
1137 Toggle(on:
false, silent:
true);
1139 else if (AutoToggle)
1147 Toggle(on, silent:
true);
1151 public virtual void Toggle(
bool on,
bool silent =
false)
1153 if (owner.
isOn == on)
1157 if (Electricity < 0)
1167 owner.
Say(
"notEnoughElectricity", owner);
1169 owner.
PlaySound(
"electricity_insufficient");
1173 EClass._zone.electricity += Electricity;
1177 EClass._zone.electricity -= Electricity;
1181 PlayToggleEffect(silent);
1188 bool isOn = owner.
isOn;
1201 owner.
Say(isOn ?
"close" :
"open",
EClass.
pc, owner);
1202 owner.
PlaySound(
"Material/leather_drop");
1214 owner.
Say(flag ?
"toggle_fire" :
"toggle_ele",
EClass.
pc, owner);
1246 Toggle(!owner.
isOn);
1253 Toggle(!owner.
isOn);
1268 p.
TrySetAct(flag ?
"ActExtinguishTorch" :
"ActToggleOff", delegate
1277 p.
TrySetAct(flag ?
"ActTorch" :
"ActToggleOn", delegate
1306 public bool IsFuelEnough(
int num = 1, List<Thing> excludes =
null,
bool tryRefuel =
true)
1318 TryRefuel(FuelCost * num - owner.
c_charges, excludes);
1320 return owner.c_charges >= FuelCost * num;
1325 return GetFuelValue(s) > 0;
1330 return GetFuelValue(t) > 0;
1339 return GetFuelValue(t.
id);
1346 if (
id ==
"battery")
1380 if (FindFuel(refuel:
false))
1382 FindFuel(refuel:
true);
1384 bool FindFuel(
bool refuel)
1390 if (IsFuel(t) && t.tier == 0 && (excludes ==
null || !excludes.Contains(t)))
1399 int num2 = Mathf.Min(
item.Num, Mathf.CeilToInt((
float)num / (float)GetFuelValue(
item)));
1400 num -= GetFuelValue(
item) * num2;
1403 Refuel(
item.Split(num2));
1436 t.SetActive(enable:
true);
1441 t.SetActive(enable:
true);
1446 t.SetActive(owner.
Num > 1);
1457 int rawDeadLine = 0;
1471 if (remainingHours > 0)
1473 return "nextRestock".lang(lang.lang(),
Date.
GetText(remainingHours) ??
"");
1485 return Emo2.restock;
1493 return Emo2.blessing;
1495 return Emo2.restock;
1514 owner.isRestocking =
true;
1530 if (c_copyContainer ==
null)
1542 thing5.isStolen =
false;
1543 thing5.isCopy =
true;
1544 thing5.c_priceFix = 0;
1554 num6 = (1000 + owner.c_invest * 100) / (thing5.GetPrice(
CurrencyType.Money, sell:
false,
PriceType.CopyShop) + 50);
1555 int[] array =
new int[4] { 701, 704, 703, 702 };
1556 foreach (
int ele
in array)
1558 if (thing5.HasElement(ele))
1569 if (num6 > 1 && thing5.trait.CanStack)
1571 thing5.SetNum(num6);
1584 string id2 = owner.
id;
1585 if (!(id2 ==
"mogu"))
1587 if (!(id2 ==
"felmera"))
1605 Add(
"license_illumination", 1, 0);
1606 Add(
"license_void", 1, 0);
1607 Add(
"license_adv", 1, 0);
1611 for (
int num4 = 0; num4 < 30; num4++)
1624 for (
int num8 = 0; num8 <
EClass.
rnd(3) + 1; num8++)
1628 for (
int num9 = 0; num9 <
EClass.
rnd(3) + 1; num9++)
1635 Add(
"board_map", 1, 0);
1636 Add(
"board_build", 1, 0);
1637 Add(
"book_resident", 1, 0);
1651 Add(
"board_home", 1, 0);
1652 Add(
"board_resident", 1, 0);
1657 Add(
"board_expedition", 1, 0);
1658 Add(
"mailpost", 1, 0);
1659 Add(
"record", 1, 0);
1662 Add(
"wagon1", 1, 0);
1663 Add(
"wagon_big", 1, 0);
1664 Add(
"wagon_big2", 1, 0);
1665 Add(
"wagon_big3", 1, 0);
1666 Add(
"wagon_big4", 1, 0);
1667 Add(
"wagon_big5", 1, 0);
1668 Add(
"teleporter", 1, 0);
1669 Add(
"teleporter2", 1, 0);
1670 Add(
"recharger", 1, 0);
1671 Add(
"machine_gene2", 1, 0);
1688 Add(
"drawing_paper", 10, 0);
1689 Add(
"drawing_paper2", 10, 0);
1690 Add(
"stethoscope", 1, 0);
1691 Add(
"whip_love", 1, 0);
1692 Add(
"whip_interest", 1, 0);
1697 Add(
"flyer", 1, 0).SetNum(99);
1702 bool num3 = owner.id ==
"big_sister";
1706 Add(
"littleball", 10, 0);
1713 for (
int l = 0; l < 20; l++)
1723 for (
int m = 0; m < 10; m++)
1731 for (
int n = 0; n < 30; n++)
1737 Add(
"candle9", 1, -1);
1738 Add(
"candle9", 1, -1);
1739 Add(
"candle9", 1, -1);
1740 Add(
"candle8", 1, 0);
1741 Add(
"candle8b", 1, 0);
1742 Add(
"candle8c", 1, 0);
1749 Add(
"chest_tax", 1, 0);
1751 Add(
"monsterball", 1, 0).SetNum(3).SetLv(10);
1754 Add(
"pillow_ehekatl", 1, 0);
1755 Add(
"grave_dagger1", 1, 0);
1756 Add(
"grave_dagger2", 1, 0);
1767 for (
int k = 0; k < 5; k++)
1771 thing2.c_priceFix = 1000;
1777 NoRestockId(
"sword_dragon");
1778 Add(
"sword_dragon", 1, 0).SetReplica(on:
true);
1779 NoRestockId(
"point_stick");
1780 Add(
"point_stick", 1, 0).SetReplica(on:
true);
1781 NoRestockId(
"blunt_bonehammer");
1782 Add(
"blunt_bonehammer", 1, 0).SetReplica(on:
true);
1783 NoRestockId(
"pole_gunlance");
1784 Add(
"pole_gunlance", 1, 0).SetReplica(on:
true);
1785 NoRestockId(
"sword_muramasa");
1786 Add(
"sword_muramasa", 1, 0).SetReplica(on:
true);
1787 NoRestockId(
"sword_forgetmenot");
1788 Add(
"sword_forgetmenot", 1, 0).SetReplica(on:
true);
1789 NoRestockId(
"dagger_fish");
1790 Add(
"dagger_fish", 1, 0).SetReplica(on:
true);
1791 NoRestockId(
"sword_zephir");
1792 Add(
"sword_zephir", 1, 0).SetReplica(on:
true);
1793 Add(
"ribbon", 1, 0);
1794 Add(
"helm_sage", 1, 0);
1795 Add(
"diary_sister", 1, 0);
1796 Add(
"diary_catsister", 1, 0);
1797 Add(
"diary_lady", 1, 0);
1798 Add(
"1165", 1, 0).SetNum(5);
1800 Add(
"1282", 1, 0).SetNum(5);
1801 Add(
"monsterball", 1, 0).SetNum(3).SetLv(20);
1802 Add(
"monsterball", 1, 0).SetNum(3).SetLv(40);
1803 Add(
"bill_tax", 1, 0).c_bill = 1;
1804 Add(
"bill_tax", 1, 0).c_bill = 1;
1805 Add(
"bill_tax", 1, 0).c_bill = 1;
1807 Add(
"container_magic", 1, 0);
1808 Add(
"container_magic", 1, 0).ChangeMaterial(
"iron").idSkin = 1;
1809 Add(
"container_magic", 1, 0).ChangeMaterial(
"bamboo").idSkin = 2;
1810 Add(
"container_magic", 1, 0).ChangeMaterial(
"feywood").idSkin = 3;
1811 Add(
"wrench_tent_elec", 1, 0);
1812 Add(
"wrench_tent_soil", 1, 0);
1813 Add(
"wrench_tent_seabed", 1, 0);
1814 Add(
"wrench_bed", 1, 0).SetNum(20);
1815 Add(
"wrench_storage", 1, 0).SetNum(10);
1816 Add(
"wrench_fridge", 1, 0).SetNum(1);
1817 Add(
"wrench_extend_v", 1, 0).SetNum(2);
1818 Add(
"wrench_extend_h", 1, 0).SetNum(2);
1823 float num = (float)(3 + Mathf.Min(ShopLv / 5, 10)) + Mathf.Sqrt(ShopLv);
1830 num = Mathf.Min(num, num2);
1831 for (
int j = 0; (float)j < num; j++)
1833 Thing thing = CreateStock();
1836 bool tryStack =
true;
1841 t.AddThing(thing, tryStack);
1854 for (
int num7 = 0; num7 < recipeKey.Length; num7++)
1856 if (recipeKey[num7] ==
ShopType.ToString())
1867 for (
int num12 = 1; num12 <= 12; num12++)
1875 int num13 = (EClass.debug.enable ? 20 : (EClass._zone.development / 10));
1878 Add(
"syringe_gene", num13, 0);
1879 Add(
"diary_little", 1, 0);
1883 Add(
"syringe_heaven", num13 / 5, 0);
1886 Add(
"medal", 10, 0);
1887 Add(
"ticket_fortune", 10, 0);
1891 Add(
"tool_talisman", 1, 0);
1902 Add(
"ecomark", 5, 0);
1903 Add(
"whip_egg", 1, 0);
1904 Add(
"helm_chef", 1, 0);
1905 Add(
"hammer_strip", 1, 0);
1906 Add(
"brush_strip", 1, 0);
1908 Add(
"plat", 100, 0);
1913 Add(
"bullet", 1, 0).SetNum(300 +
EClass.
rnd(100)).ChangeMaterial(
"iron");
1914 Add(
"bullet_energy", 1, 0).SetNum(100 +
EClass.
rnd(100)).ChangeMaterial(
"iron");
1928 Add(
"holyFeather", 1, 0);
1937 Add(
"ticket_massage", 1, 0);
1938 Add(
"ticket_armpillow", 1, 0);
1939 Add(
"ticket_champagne", 1, 0);
1941 for (
int num10 = 0; num10 < 3; num10++)
1949 TreasureType.Map =>
"chest_treasure",
1950 TreasureType.BossNefia =>
"chest_boss",
1953 thing6.c_lockedHard =
true;
1954 thing6.c_lockLv = num11;
1955 thing6.c_priceAdd = 2000 + num11 * 250 * ((treasureType ==
TreasureType.RandomChest) ? 1 : 5);
1956 thing6.c_revealLock =
true;
1967 for (
int num14 = 0; num14 < (EClass.debug.enable ? 3 : 3); num14++)
2001 Add(
"lockpick", 1, 0);
2004 Add(
"lockpick", 1, 0);
2010 thing11.c_idBacker = 0;
2014 if (thing11.
Num == 1)
2022 if (thing11.
IsFood && owner.
id ==
"rodwyn")
2030 thing11.noSell =
true;
2034 thing11.isStolen =
true;
2038 thing11.c_IDTState = 0;
2042 thing11.c_priceFix = -70;
2046 thing11.c_IDTState = 5;
2054 if (t.things.Count <= t.things.GridSize)
2058 int num15 = t.things.width * 10;
2059 if (t.things.Count > num15)
2061 int num16 = t.things.Count - num15;
2062 for (
int num17 = 0; num17 < num16; num17++)
2064 t.things.LastItem().Destroy();
2067 t.things.ChangeSize(t.things.width, Mathf.Min(t.things.Count / t.things.width + 1, 10));
2068 Thing Add(
string id,
int a,
int idSkin)
2072 thing8.idSkin = ((idSkin == -1) ?
EClass.
rnd(thing8.
source.skins.Length + 1) : idSkin);
2075 void AddAdvWeek(
int i)
2078 thing7.c_priceFix = -90;
2085 void NoRestock(
Thing _t)
2088 if (hashSet ==
null)
2090 hashSet =
new HashSet<string>();
2100 void NoRestockId(
string _id)
2117 return FromFilter(
"shop_generalExotic");
2121 return Create(
"panty");
2125 return Create(
"234");
2127 return FromFilter(
"shop_drink");
2129 return FromFilter(
"shop_furniture");
2131 return FromFilter(
"shop_book");
2133 return FromFilter(
"shop_magic");
2145 Thing thing3 =
null;
2146 for (
int i = 0; i < 1000; i++)
2148 thing3 = FromFilter(
"shop_healer");
2151 if (!(traitScroll.source.aliasParent !=
"WIL") && !(traitScroll.source.categorySub ==
"attack"))
2158 if (!(traitPotionRandom.source.aliasParent !=
"WIL") && !(traitPotionRandom.source.categorySub ==
"attack"))
2164 else if (thing3.
trait is
TraitRodRandom { source: not null } traitRodRandom && !(traitRodRandom.source.aliasParent !=
"WIL") && !(traitRodRandom.source.categorySub ==
"attack"))
2179 return Create(
"milk");
2183 return Create(
"book_plan");
2185 return FromFilter(
"shop_weapon");
2189 return Create(
"mod_ranged");
2191 return FromFilter(
"shop_gun");
2209 return FromFilter(
"shop_blackmarket");
2212 return FromFilter(
"shop_drink");
2214 return FromFilter(
"shop_booze");
2216 return FromFilter(
"shop_fruit");
2220 return Create(
"bait");
2224 return Create(
"fishingRod");
2226 return FromFilter(
"shop_fish");
2230 return Create(
"seasoning");
2232 return FromFilter(
"shop_meat");
2236 return Create(
"dough");
2238 return FromFilter(
"shop_bread");
2242 return Create(
"dough");
2244 return FromFilter(
"shop_sweet");
2248 return Create(
"seasoning");
2250 return Create(
"693");
2254 return Create(
"seasoning");
2256 return FromFilter(
"shop_food");
2258 return FromFilter(
"shop_drug");
2262 if (loytelMartLv >= 1)
2266 return Create(
"monsterball").SetLv(40 +
EClass.
rnd(ShopLv)).Thing;
2282 return Create(
"1165");
2288 switch ((from _s in row.
thing.ToCharArray()
2290 select _s).RandomItem())
2302 return FromFilter(
"shop_junk");
2306 return FromFilter(
"shop_junk");
2308 return FromFilter(
"shop_souvenir");
2314 return Create(
"firework_launcher");
2316 return Create(
"firework");
2320 if (IsFestival(
"olvina"))
2322 return Create(
new string[4] {
"1125",
"1126",
"pillow_truth",
"1230" }.RandomItem());
2324 if (IsFestival(
"yowyn"))
2326 return Create(
new string[3] {
"hat_mushroom",
"hat_witch",
"hat_kumiromi" }.RandomItem());
2328 if (IsFestival(
"noyel"))
2330 return Create(
new string[9] {
"1127",
"1128",
"xmas_sled",
"xmas_bigbag",
"xmas_bigbox",
"xmas_blackcat",
"xmas_blackcat",
"xmas_jure",
"xmas_crown" }.RandomItem());
2335 return Create(
new string[4] {
"1081",
"1082",
"1083",
"1084" }.RandomItem());
2339 return FromFilter(
"shop_junk");
2341 return FromFilter(
"shop_souvenir");
2345 if (IsFestival(
"kapul"))
2347 return Create(
new string[6] {
"999",
"1000",
"1001",
"1002",
"1003",
"1004" }.RandomItem());
2349 if (IsFestival(
"yowyn"))
2351 return Create(
new string[2] {
"1072",
"1073" }.RandomItem());
2353 if (IsFestival(
"noyel"))
2355 return Create(
new string[1] {
"1069" }.RandomItem());
2357 if (IsFestival(
"olvina"))
2359 return Create(
new string[2] {
"1070",
"1071" }.RandomItem());
2364 return Create(
new string[4] {
"953",
"954",
"955",
"956" }.RandomItem());
2366 return FromFilter(
"shop_lamp");
2370 return Create(
"lockpick");
2372 return FromFilter(
"shop_general");
2374 Thing Create(
string s)
2378 Thing FromFilter(
string s)
2382 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
bool HasElement(int ele, int req=1)
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
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)
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()
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 MakeSeed(SourceObj.Row obj, PlantData plant=null)
static Thing MakeRandomSeed(bool enc=false)
static void LevelSeed(Thing t, SourceObj.Row obj, int num)
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 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 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)
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 IsOnlyUsableByPc
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)
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)