2using System.Collections.Generic;
149 public virtual bool CanStack => owner.category.maxStack > 1;
221 return owner.c_lockLv == 0;
305 return owner.rarity <
Rarity.Artifact;
485 return "switch_on_electricity";
499 return "torch_unlit";
501 return "switch_off_electricity";
703 Vector3 vector2 =
item.Position();
734 for (
int i = 0; i < 50; i++)
736 Point point = list.RandomItem();
737 if (point.
IsValid && (func ==
null || func(point)) && (accessChara ==
null || accessChara.HasAccess(point)))
757 Room room = center.cell.room;
778 if (!p.cell.HasBlock || p.cell.HasFence)
780 listRadiusPoints.Add(p.Copy());
785 listRadiusPoints.Add(p.Copy());
848 string @ref = row.GetTextArray(
"name2")[1];
849 string ref2 = row.GetTextArray(
"name2")[0];
852 cc.
Talk(
"offer", @ref, ref2);
874 cc.depression.Mod(100);
888 int num = ((thing ==
null) ? (cc.
Evalue(280) / 2 + 2) : (cc.
Evalue(280) + 10));
893 num2 = num / 4 * 3 - 1;
895 if (num <= num2 && cc.
IsPC)
898 cc.
Say(
"openLockFail2");
902 if (thing !=
null && !flag)
909 cc.
Say(
"lockpick_success", cc, owner);
910 int num3 = 100 + num2 * 10;
919 owner.c_lockedHard =
false;
920 owner.c_priceAdd = 0;
926 owner.isLostProperty =
false;
932 cc.
Say(
"openLockFail");
934 cc.
ModExp(280, (thing !=
null) ? 50 : 30);
935 if ((thing ==
null) | (
EClass.
rnd(2) == 0))
1005 if (c.
held != owner)
1024 if (CanUse(owner.
Chara))
1078 if (Electricity != 0)
1080 EClass._zone.dirtyElectricity =
true;
1081 if (Electricity > 0)
1083 EClass._zone.electricity += Electricity;
1093 OnInstall(byPlayer);
1098 if (Electricity != 0)
1102 Toggle(on:
false, silent:
true);
1104 EClass._zone.dirtyElectricity =
true;
1105 if (Electricity > 0)
1107 EClass._zone.electricity -= Electricity;
1130 Toggle(on:
false, silent:
true);
1132 else if (AutoToggle)
1140 Toggle(on, silent:
true);
1144 public virtual void Toggle(
bool on,
bool silent =
false)
1146 if (owner.
isOn == on)
1150 if (Electricity < 0)
1160 owner.
Say(
"notEnoughElectricity", owner);
1162 owner.
PlaySound(
"electricity_insufficient");
1166 EClass._zone.electricity += Electricity;
1170 EClass._zone.electricity -= Electricity;
1174 PlayToggleEffect(silent);
1181 bool isOn = owner.
isOn;
1194 owner.
Say(isOn ?
"close" :
"open",
EClass.
pc, owner);
1195 owner.
PlaySound(
"Material/leather_drop");
1207 owner.
Say(flag ?
"toggle_fire" :
"toggle_ele",
EClass.
pc, owner);
1239 Toggle(!owner.
isOn);
1246 Toggle(!owner.
isOn);
1261 p.
TrySetAct(flag ?
"ActExtinguishTorch" :
"ActToggleOff", delegate
1270 p.
TrySetAct(flag ?
"ActTorch" :
"ActToggleOn", delegate
1299 public bool IsFuelEnough(
int num = 1, List<Thing> excludes =
null,
bool tryRefuel =
true)
1311 TryRefuel(FuelCost * num - owner.
c_charges, excludes);
1313 return owner.c_charges >= FuelCost * num;
1318 return GetFuelValue(s) > 0;
1323 return GetFuelValue(t) > 0;
1332 return GetFuelValue(t.
id);
1339 if (
id ==
"battery")
1373 if (FindFuel(refuel:
false))
1375 FindFuel(refuel:
true);
1377 bool FindFuel(
bool refuel)
1383 if (IsFuel(t) && t.tier == 0 && (excludes ==
null || !excludes.Contains(t)))
1392 int num2 = Mathf.Min(
item.Num, Mathf.CeilToInt((
float)num / (float)GetFuelValue(
item)));
1393 num -= GetFuelValue(
item) * num2;
1396 Refuel(
item.Split(num2));
1429 t.SetActive(enable:
true);
1434 t.SetActive(enable:
true);
1439 t.SetActive(owner.
Num > 1);
1450 int rawDeadLine = 0;
1464 if (remainingHours > 0)
1466 return "nextRestock".lang(lang.lang(),
Date.
GetText(remainingHours) ??
"");
1478 return Emo2.restock;
1486 return Emo2.blessing;
1488 return Emo2.restock;
1507 owner.isRestocking =
true;
1523 if (c_copyContainer ==
null)
1535 thing4.isStolen =
false;
1536 thing4.isCopy =
true;
1537 thing4.c_priceFix = 0;
1547 num4 = (1000 + owner.c_invest * 100) / (thing4.GetPrice(
CurrencyType.Money, sell:
false,
PriceType.CopyShop) + 50);
1548 int[] array =
new int[4] { 701, 704, 703, 702 };
1549 foreach (
int ele
in array)
1551 if (thing4.HasElement(ele))
1562 if (num4 > 1 && thing4.trait.CanStack)
1564 thing4.SetNum(num4);
1577 string id2 = owner.
id;
1578 if (!(id2 ==
"mogu"))
1580 if (!(id2 ==
"felmera"))
1598 Add(
"license_illumination", 1, 0);
1599 Add(
"license_void", 1, 0);
1600 Add(
"license_adv", 1, 0);
1604 for (
int n = 0; n < 30; n++)
1617 for (
int num5 = 0; num5 <
EClass.
rnd(3) + 1; num5++)
1621 for (
int num6 = 0; num6 <
EClass.
rnd(3) + 1; num6++)
1628 Add(
"board_map", 1, 0);
1629 Add(
"board_build", 1, 0);
1630 Add(
"book_resident", 1, 0);
1644 Add(
"board_home", 1, 0);
1645 Add(
"board_resident", 1, 0);
1650 Add(
"board_expedition", 1, 0);
1651 Add(
"mailpost", 1, 0);
1652 Add(
"record", 1, 0);
1655 Add(
"wagon1", 1, 0);
1656 Add(
"wagon_big", 1, 0);
1657 Add(
"wagon_big2", 1, 0);
1658 Add(
"wagon_big3", 1, 0);
1659 Add(
"wagon_big4", 1, 0);
1660 Add(
"wagon_big5", 1, 0);
1661 Add(
"teleporter", 1, 0);
1662 Add(
"teleporter2", 1, 0);
1663 Add(
"recharger", 1, 0);
1664 Add(
"machine_gene2", 1, 0);
1681 Add(
"drawing_paper", 10, 0);
1682 Add(
"drawing_paper2", 10, 0);
1683 Add(
"stethoscope", 1, 0);
1684 Add(
"whip_love", 1, 0);
1685 Add(
"whip_interest", 1, 0);
1690 Add(
"flyer", 1, 0).SetNum(99);
1695 bool num2 = owner.id ==
"big_sister";
1699 Add(
"littleball", 10, 0);
1702 for (
int k = 0; k < 10; k++)
1710 for (
int l = 0; l < 30; l++)
1716 Add(
"candle9", 1, -1);
1717 Add(
"candle9", 1, -1);
1718 Add(
"candle9", 1, -1);
1719 Add(
"candle8", 1, 0);
1720 Add(
"candle8b", 1, 0);
1721 Add(
"candle8c", 1, 0);
1728 Add(
"chest_tax", 1, 0);
1730 Add(
"monsterball", 1, 0).SetNum(3).SetLv(10);
1733 Add(
"pillow_ehekatl", 1, 0);
1734 Add(
"grave_dagger1", 1, 0);
1735 Add(
"grave_dagger2", 1, 0);
1746 for (
int j = 0; j < 5; j++)
1750 thing2.c_priceFix = 1000;
1757 Add(
"sword_dragon", 1, 0).SetReplica(on:
true);
1759 Add(
"axe_destruction", 1, 0).SetReplica(on:
true);
1761 Add(
"blunt_bonehammer", 1, 0).SetReplica(on:
true);
1763 Add(
"pole_gunlance", 1, 0).SetReplica(on:
true);
1765 Add(
"sword_muramasa", 1, 0).SetReplica(on:
true);
1767 Add(
"sword_forgetmenot", 1, 0).SetReplica(on:
true);
1769 Add(
"dagger_fish", 1, 0).SetReplica(on:
true);
1771 Add(
"sword_zephir", 1, 0).SetReplica(on:
true);
1772 Add(
"ribbon", 1, 0);
1773 Add(
"helm_sage", 1, 0);
1774 Add(
"diary_sister", 1, 0);
1775 Add(
"diary_catsister", 1, 0);
1776 Add(
"diary_lady", 1, 0);
1777 Add(
"1165", 1, 0).SetNum(5);
1779 Add(
"monsterball", 1, 0).SetNum(3).SetLv(20);
1780 Add(
"monsterball", 1, 0).SetNum(3).SetLv(40);
1781 Add(
"bill_tax", 1, 0).c_bill = 1;
1782 Add(
"bill_tax", 1, 0).c_bill = 1;
1783 Add(
"bill_tax", 1, 0).c_bill = 1;
1784 Add(
"container_magic", 1, 0);
1785 Add(
"container_magic", 1, 0).ChangeMaterial(
"iron").idSkin = 1;
1786 Add(
"container_magic", 1, 0).ChangeMaterial(
"bamboo").idSkin = 2;
1787 Add(
"container_magic", 1, 0).ChangeMaterial(
"feywood").idSkin = 3;
1788 Add(
"wrench_tent_elec", 1, 0);
1789 Add(
"wrench_tent_soil", 1, 0);
1790 Add(
"wrench_bed", 1, 0).SetNum(20);
1791 Add(
"wrench_storage", 1, 0).SetNum(10);
1792 Add(
"wrench_fridge", 1, 0).SetNum(1);
1793 Add(
"wrench_extend_v", 1, 0).SetNum(2);
1794 Add(
"wrench_extend_h", 1, 0).SetNum(2);
1798 float num = (float)(3 + Mathf.Min(ShopLv / 5, 10)) + Mathf.Sqrt(ShopLv);
1800 num = Mathf.Min(num, 300f);
1801 for (
int i = 0; (float)i < num; i++)
1803 Thing thing = CreateStock();
1819 for (
int m = 0; m < recipeKey.Length; m++)
1821 if (recipeKey[m] ==
ShopType.ToString())
1832 int num9 = (EClass.debug.enable ? 20 : (EClass._zone.development / 10));
1835 Add(
"syringe_gene", num9, 0);
1836 Add(
"diary_little", 1, 0);
1840 Add(
"syringe_heaven", num9 / 5, 0);
1845 Add(
"tool_talisman", 1, 0);
1856 Add(
"ecomark", 5, 0);
1857 Add(
"whip_egg", 1, 0);
1859 Add(
"plat", 100, 0);
1863 Add(
"bullet", 1, 0).SetNum(300 +
EClass.
rnd(100)).ChangeMaterial(
"iron");
1864 Add(
"bullet_energy", 1, 0).SetNum(100 +
EClass.
rnd(100)).ChangeMaterial(
"iron");
1878 Add(
"holyFeather", 1, 0);
1887 Add(
"ticket_massage", 1, 0);
1888 Add(
"ticket_armpillow", 1, 0);
1889 Add(
"ticket_champagne", 1, 0);
1891 for (
int num7 = 0; num7 < 3; num7++)
1899 TreasureType.Map =>
"chest_treasure",
1900 TreasureType.BossNefia =>
"chest_boss",
1903 thing5.c_lockedHard =
true;
1904 thing5.c_lockLv = num8;
1905 thing5.c_priceAdd = 2000 + num8 * 250 * ((treasureType ==
TreasureType.RandomChest) ? 1 : 5);
1906 thing5.c_revealLock =
true;
1917 for (
int num10 = 0; num10 < (EClass.debug.enable ? 3 : 3); num10++)
1951 Add(
"lockpick", 1, 0);
1954 Add(
"lockpick", 1, 0);
1960 thing9.c_idBacker = 0;
1964 if (thing9.
Num == 1)
1972 if (thing9.
IsFood && owner.
id ==
"rodwyn")
1980 thing9.noSell =
true;
1984 thing9.isStolen =
true;
1988 thing9.c_IDTState = 0;
1992 thing9.c_priceFix = -70;
1996 thing9.c_IDTState = 5;
2004 if (t.things.Count <= t.things.GridSize)
2008 int num11 = t.things.width * 10;
2009 if (t.things.Count > num11)
2011 int num12 = t.things.Count - num11;
2012 for (
int num13 = 0; num13 < num12; num13++)
2014 t.things.LastItem().Destroy();
2017 t.things.ChangeSize(t.things.width, Mathf.Min(t.things.Count / t.things.width + 1, 10));
2018 Thing Add(
string id,
int a,
int idSkin)
2022 thing6.idSkin = ((idSkin == -1) ?
EClass.
rnd(thing6.
source.skins.Length + 1) : idSkin);
2029 void NoRestock(
Thing _t)
2032 if (hashSet ==
null)
2034 hashSet =
new HashSet<string>();
2057 return FromFilter(
"shop_generalExotic");
2061 return Create(
"panty");
2065 return Create(
"234");
2067 return FromFilter(
"shop_drink");
2069 return FromFilter(
"shop_furniture");
2071 return FromFilter(
"shop_book");
2073 return FromFilter(
"shop_magic");
2085 Thing thing2 =
null;
2086 for (
int i = 0; i < 1000; i++)
2088 thing2 = FromFilter(
"shop_healer");
2091 if (!(traitScroll.source.aliasParent !=
"WIL") && !(traitScroll.source.categorySub ==
"attack"))
2098 if (!(traitPotionRandom.source.aliasParent !=
"WIL") && !(traitPotionRandom.source.categorySub ==
"attack"))
2104 else if (thing2.
trait is
TraitRodRandom { source: not null } traitRodRandom && !(traitRodRandom.source.aliasParent !=
"WIL") && !(traitRodRandom.source.categorySub ==
"attack"))
2119 return Create(
"milk");
2123 return Create(
"book_plan");
2125 return FromFilter(
"shop_weapon");
2129 return Create(
"mod_ranged");
2131 return FromFilter(
"shop_gun");
2149 return FromFilter(
"shop_blackmarket");
2152 return FromFilter(
"shop_drink");
2154 return FromFilter(
"shop_booze");
2156 return FromFilter(
"shop_fruit");
2160 return Create(
"bait");
2164 return Create(
"fishingRod");
2166 return FromFilter(
"shop_fish");
2170 return Create(
"seasoning");
2172 return FromFilter(
"shop_meat");
2176 return Create(
"dough");
2178 return FromFilter(
"shop_bread");
2182 return Create(
"dough");
2184 return FromFilter(
"shop_sweet");
2188 return Create(
"seasoning");
2190 return FromFilter(
"shop_food");
2192 return FromFilter(
"shop_drug");
2196 if (loytelMartLv >= 1)
2200 return Create(
"monsterball").SetLv(40 +
EClass.
rnd(ShopLv)).Thing;
2216 return Create(
"1165");
2222 switch ((from _s in row.
thing.ToCharArray()
2224 select _s).RandomItem())
2236 return FromFilter(
"shop_junk");
2239 return FromFilter(
"shop_junk");
2241 return FromFilter(
"shop_souvenir");
2247 return Create(
"firework_launcher");
2249 return Create(
"firework");
2253 if (IsFestival(
"olvina"))
2255 return Create(
new string[4] {
"1125",
"1126",
"pillow_truth",
"1230" }.RandomItem());
2257 if (IsFestival(
"yowyn"))
2259 return Create(
new string[3] {
"hat_mushroom",
"hat_witch",
"hat_kumiromi" }.RandomItem());
2261 if (IsFestival(
"noyel"))
2263 return Create(
new string[9] {
"1127",
"1128",
"xmas_sled",
"xmas_bigbag",
"xmas_bigbox",
"xmas_blackcat",
"xmas_blackcat",
"xmas_jure",
"xmas_crown" }.RandomItem());
2268 return Create(
new string[4] {
"1081",
"1082",
"1083",
"1084" }.RandomItem());
2272 return FromFilter(
"shop_junk");
2274 return FromFilter(
"shop_souvenir");
2278 if (IsFestival(
"kapul"))
2280 return Create(
new string[6] {
"999",
"1000",
"1001",
"1002",
"1003",
"1004" }.RandomItem());
2282 if (IsFestival(
"yowyn"))
2284 return Create(
new string[2] {
"1072",
"1073" }.RandomItem());
2286 if (IsFestival(
"noyel"))
2288 return Create(
new string[1] {
"1069" }.RandomItem());
2290 if (IsFestival(
"olvina"))
2292 return Create(
new string[2] {
"1070",
"1071" }.RandomItem());
2297 return Create(
new string[4] {
"953",
"954",
"955",
"956" }.RandomItem());
2299 return FromFilter(
"shop_lamp");
2303 return Create(
"lockpick");
2305 return FromFilter(
"shop_general");
2307 Thing Create(
string s)
2311 Thing FromFilter(
string s)
2315 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)
void MakeRefFrom(string id)
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)
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)
Thing TryMakeRandomItem(int lv=-1)
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 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 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 CreateRod(int ele)
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 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 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 OnCrafted(Recipe recipe)
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 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
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)