1using System.Collections.Generic;
34 public bool isDish => sourceCard._origin ==
"dish";
53 Mold.ignoreStackHeight = Input.GetKey(KeyCode.LeftControl);
71 base.BuildIngredientList();
84 bool flag = ingredients.Count < 3;
87 if (ingredient.
id ==
"seasoning")
109 if (base.source.colorIng != 0)
161 int num4 = renderRow.LV + num3;
162 bool flag = num3 < 0;
167 foreach (
Thing ing
in ings)
179 else if (cardRow !=
null && cardRow.
tag.Contains(
"no_fail"))
202 key =
new string[6] {
"dagger",
"sword",
"axe_hand",
"blunt_club",
"spear",
"staff_long" }.RandomItem();
206 key =
new string[6] {
"dagger",
"sword",
"axe_hand",
"blunt_club",
"spear",
"staff_long" }.RandomItem();
207 num = ings[1].material.id;
232 rarity = (flag ? Rarity.Crude :
Rarity.Normal),
239 foreach (
Thing ing2
in ings)
255 thing.isCrafted =
true;
258 if (base.source.colorIng != 0)
288 thing.decay = thing.MaxDecay + 1;
292 if (thing.
IsAmmo && num2 < 0)
327 Msg.
Say(
"crafted", thing);
337 EClass.player.flags.canComupWithFoodRecipe =
false;
339 if (flag && crafter !=
null && crafter.CanTriggerFire &&
EClass.
rnd(4) == 0)
354 List<Thing> list =
new List<Thing>();
357 list.Add(ingredient.
thing);
363 t.elements.SetBase(757, 1);
371 List<Thing> list =
new List<Thing>();
374 list.Add(ingredient.
thing);
382 return sourceCard.category
switch
384 "meal_meat" =>
"fail_meat",
385 "meal_fish" =>
"fail_fish",
386 "meal_vegi" =>
"fail_vegi",
387 "meal_fruit" =>
"fail_fruit",
388 "meal_cake" =>
"fail_dough_cake",
389 "meal_bread" =>
"fail_dough_bread",
390 "meal_noodle" =>
"fail_noodle",
391 "meal_egg" =>
"fail_egg",
392 "meal_rice" =>
"fail_rice",
393 "meal_soup" =>
"fail_drink",
435 if (base.source.colorIng != 0)
439 if (
card.IsContainer)
455 public override void Build(
Chara chara,
Card t,
Point pos,
int mat,
int dir,
int altitude,
int bridgeHeight)
470 t.altitude = altitude;
471 t.isPlayerCreation =
true;
474 t.isSubsetCard =
true;
476 t.ignoreStackHeight = Input.GetKey(KeyCode.LeftControl);
495 Debug.LogWarning(
"kokodayo");
504 void CheckBlock(
Point _pos)
510 chara.
Kick(
item, ignoreSelf:
false, karmaLoss:
false);
550 recipeCard._mold =
_mold;
TraitHouseBoard houseBoard
void Add(Act a, string s="")
virtual bool IsRoofEditMode(Card c=null)
static void Set(CardBlueprint _bp=null)
SocketData AddRune(Card rune)
bool CanAddRune(TraitMod mod)
void SetPlaceState(PlaceState newState, bool byPlayer=false)
ElementContainerCard elements
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Card ChangeMaterial(int idNew, bool ignoreFixedMaterial=false)
virtual void SetDir(int d)
virtual CardRenderer _CreateRenderer()
void ForeachPoint(Action< Point, bool > action)
virtual void SetBlessedState(BlessedState s)
void RenderMarker(Point point, bool active, HitResult result, bool main, int dir, bool useCurrentPosition=false)
virtual void Rotate(bool reverse=false)
void SetFreePos(Point point)
void PlaySoundDrop(bool spatial=true)
bool TryStackTo(Thing to)
SourceCategory.Row category
bool HasElement(int ele, bool includeNagative=false)
static Chara Create(string id, int lv=-1)
void HoldCard(Card t, int num=-1)
void Kick(Point p, bool ignoreSelf=false, bool checkWall=true)
static Thing MixIngredients(string idProduct, List< Thing > ings, MixType type, int idMat=0, Chara crafter=null)
static void MakeDish(Thing food, int lv, Chara crafter=null, int seed=-1)
int GetRaw(int offsetHours=0)
static SourceManager sources
void AddNote(UINote n, Func< Element, bool > isValid=null, Action onAdd=null, NoteMode mode=NoteMode.Default, bool addRaceFeat=false, Func< Element, string, string > funcText=null, Action< UINote, Element > onAddNote=null)
Element SetBase(string alias, int v, int potential=0)
void ModFire(int x, int z, int amount)
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
bool canComupWithFoodRecipe
List< Chara > ListCharas()
static void SetSeed(int a=-1)
override void WriteNote(UINote n)
void MixIngredients(Thing t)
override void BuildIngredientList()
override TileType tileType
override void OnChangeAltitude(int a)
override void Build(TaskBuild task)
override void OnRenderMarker(Point point, bool active, HitResult result, bool main, int dir, int bridgeHeight)
override void Build(Chara chara, Card t, Point pos, int mat, int dir, int altitude, int bridgeHeight)
override string GetIdThing()
override Thing Craft(BlessedState blessed, bool sound=false, List< Thing > ings=null, TraitCrafter crafter=null, bool model=false)
override Recipe Duplicate()
override string GetDetail()
override RenderRow renderRow
override void OnSelected()
override void OnChangeIngredient()
override void SetDir(int d)
override IRenderer GetRenderer()
void ComeUpWithRandomRecipe(string idCat=null, int lvBonus=0)
List< Ingredient > ingredients
virtual SourceMaterial.Row GetMainMaterial()
virtual SourceMaterial.Row GetColorMaterial()
Dictionary< string, CardRow > map
static Thing Create(string id, int idMat=-1, int lv=-1)
Thing Identify(bool show=true, IDTSource idtSource=IDTSource.Identify)
virtual bool CanRotate(bool buildMode)
virtual void OnRenderTile(Point point, HitResult result, int dir)
virtual TileType tileType
virtual void OnCrafted(Recipe recipe, List< Thing > ings)
Card AddCard(Card t, Point point)