Elin Decompiled Documentation EA 23.350.1 Nightly
Loading...
Searching...
No Matches
TraitCrafter Class Reference
Inheritance diagram for TraitCrafter:
Trait EClass TraitBarrelMaker TraitButcher TraitDyeMaker TraitFactory TraitGemCutter TraitGrindstone TraitIncubator TraitKiln TraitMill TraitRationMaker TraitRollingFortune TraitRuneMold TraitSawMill TraitScratchMachine TraitSculpture TraitSmelter TraitSpinner TraitStoneCutter TraitToolTalisman TraitWoodMill

Public Types

enum  MixType {
  None , Food , Resource , Dye ,
  Butcher , Grind , Sculpture , Talisman ,
  Scratch , Incubator , Fortune , RuneMold ,
  FixedResource , SeedWork
}
 
enum  AnimeType { Default , Microwave , Pot }
 
- Public Types inherited from Trait
enum  TileMode {
  Default , Door , Illumination , DefaultNoAnime ,
  SignalAnime , FakeBlock , FakeObj
}
 
enum  CopyShopType { None , Item , Spellbook }
 

Public Member Functions

virtual int WitchDoubleCraftChance (Thing t)
 
virtual string IDReqEle (RecipeSource r)
 
virtual bool IsCraftIngredient (Card c, int idx)
 
bool IsIngredient (int idx, SourceRecipe.Row r, Card c)
 
virtual bool IsIngredient (string cat, Card c)
 
int GetSortVal (SourceRecipe.Row r)
 
virtual int GetDuration (AI_UseCrafter ai, int costSp)
 
virtual int GetCostSp (AI_UseCrafter ai)
 
SourceRecipe.Row GetSource (AI_UseCrafter ai)
 
virtual bool ShouldConsumeIng (SourceRecipe.Row item, int index)
 
virtual Thing Craft (AI_UseCrafter ai)
 
override void TrySetAct (ActPlan p)
 
override bool CanUse (Chara c)
 
override bool OnUse (Chara c)
 
virtual void OnEndAI (AI_UseCrafter ai)
 
- Public Member Functions inherited from Trait
string GetParam (int i, string def=null)
 
int GetParamInt (int i, int def)
 
virtual SourcePref GetPref ()
 
virtual RenderData GetRenderData ()
 
virtual bool Contains (RecipeSource r)
 
virtual int GetValue ()
 
virtual bool CanStackTo (Thing to)
 
virtual string GetHoverText ()
 
virtual Action GetHealAction (Chara c)
 
virtual bool CanBlend (Thing t)
 
virtual void OnBlend (Thing t, Chara c)
 
virtual int GetActDuration (Chara c)
 
virtual SourceElement.Row GetRefElement ()
 
virtual Sprite GetRefSprite ()
 
virtual void OnRenderExtra (RenderParam p)
 
virtual Emo2 GetHeldEmo (Chara c)
 
virtual void SetOwner (Card _owner)
 
virtual bool IdleUse (Chara c, int dist)
 
virtual void OnSetOwner ()
 
virtual void OnImportMap ()
 
virtual void SetParams (params string[] s)
 
virtual void OnCrafted (Recipe recipe, List< Thing > ings)
 
virtual void OnCreate (int lv)
 
virtual void OnEquip (Chara c, bool onSetOwner)
 
virtual void OnUnequip (Chara c)
 
virtual void OnChangePlaceState (PlaceState state)
 
virtual void OnAddedToZone ()
 
virtual void OnRemovedFromZone ()
 
virtual void OnSimulateHour (VirtualDate date)
 
virtual string GetName ()
 
virtual void SetName (ref string s)
 
virtual void OnRenderTile (Point point, HitResult result, int dir)
 
virtual void OnListInteraction (InvOwner.ListInteraction list, ButtonGrid b, bool context)
 
virtual int CompareTo (Card b)
 
virtual bool CanBuiltAt (Point p)
 
virtual void Update ()
 
Point GetPoint ()
 
Point GetRandomPoint (Func< Point, bool > func=null, Chara accessChara=null)
 
virtual List< Point > ListPoints (Point center=null, bool onlyPassable=true, bool allowChara=true)
 
virtual Recipe GetRecipe ()
 
virtual Recipe GetBuildModeRecipe ()
 
virtual bool CanCook (Card c)
 
void CookProgress ()
 
virtual bool CanOffer (Chara cc, Card tg)
 
void OfferProcess (Chara cc)
 
void Offer (Chara cc)
 
virtual bool TryProgress (AIProgress p)
 
virtual LockOpenState TryOpenLock (Chara cc, bool msgFail=true)
 
virtual LockOpenState TryPryOpenLock (Chara cc, bool msgFail=true)
 
void DamageRandomProperty (Chara cc)
 
virtual void OnLockOpen (Chara cc)
 
virtual void WriteNote (UINote n, bool identified)
 
int GetSortVal (UIList.SortMode m)
 
virtual HotItem GetHotItem ()
 
virtual bool CanRead (Chara c)
 
virtual void OnRead (Chara c)
 
virtual bool CanEat (Chara c)
 
virtual void OnEat (Chara c)
 
virtual bool CanDrink (Chara c)
 
virtual void OnDrink (Chara c)
 
virtual void OnThrowGround (Chara c, Point p)
 
virtual bool CanUse (Chara c)
 
virtual bool CanUse (Chara c, Card tg)
 
virtual bool CanUse (Chara c, Point p)
 
virtual bool OnUse (Chara c)
 
virtual bool OnUse (Chara c, Card tg)
 
virtual bool OnUse (Chara c, Point p)
 
virtual void TrySetAct (ActPlan p)
 
virtual void TrySetHeldAct (ActPlan p)
 
virtual void OnHeld ()
 
virtual void OnTickHeld ()
 
virtual void OnSetCurrentItem ()
 
virtual void OnUnsetCurrentItem ()
 
virtual bool OnChildDecay (Card c, bool firstDecay)
 
virtual bool CanChildDecay (Card c)
 
virtual void OnSetCardGrid (ButtonGrid b)
 
virtual void OnDie ()
 
virtual void OnStepped (Chara c)
 
virtual void OnSteppedOut (Chara c)
 
virtual void OnOpenDoor (Chara c)
 
void Install (bool byPlayer)
 
void Uninstall ()
 
virtual void OnInstall (bool byPlayer)
 
virtual void OnUninstall ()
 
virtual void PositionFix (ref Vector3 v)
 
virtual void TryToggle ()
 
virtual void Toggle (bool on, bool silent=false)
 
virtual void PlayToggleEffect (bool silent)
 
virtual void OnToggle ()
 
virtual void TrySetToggleAct (ActPlan p)
 
bool IsFuelEnough (int num=1, List< Thing > excludes=null, bool tryRefuel=true)
 
bool IsFuel (string s)
 
bool IsFuel (Thing t)
 
int GetFuelValue (Thing t)
 
int GetFuelValue (string id)
 
void Refuel (Thing t)
 
void TryRefuel (int dest, List< Thing > excludes)
 
virtual void OnEnterScreen ()
 
virtual void RefreshRenderer ()
 
virtual void SetMainText (UIText t, bool hotitem)
 
virtual bool CanCopy (Thing t)
 
string GetTextRestock (string lang, bool pet)
 
Emo2 GetRestockedIcon ()
 
virtual void OnBarter (bool reroll=false)
 
Thing CreateStock ()
 

Properties

override bool ShowFuelWindow [get]
 
virtual Emo Icon [get]
 
virtual int numIng [get]
 
virtual string IdSource [get]
 
virtual AnimeType animeType [get]
 
virtual AnimeID IdAnimeProgress [get]
 
virtual string idSoundProgress [get]
 
virtual string idSoundComplete [get]
 
virtual bool StopSoundProgress [get]
 
override bool IsNightOnlyLight [get]
 
virtual bool CanUseFromInventory [get]
 
override bool HoldAsDefaultInteraction [get]
 
virtual string idSoundBG [get]
 
virtual string CrafterTitle [get]
 
virtual bool CanTriggerFire [get]
 
virtual bool AutoTurnOff [get]
 
virtual bool IsConsumeIng [get]
 
virtual bool CloseOnComplete [get]
 
virtual int CostSP [get]
 
- Properties inherited from Trait
string[] Params [get]
 
virtual byte WeightMod [get]
 
virtual int IdSkin [get]
 
virtual string Name [get]
 
virtual TileType tileType [get]
 
virtual RefCardName RefCardName [get]
 
virtual bool IsBlockPath [get]
 
virtual bool IsBlockSight [get]
 
virtual bool IsDoor [get]
 
virtual bool IsOpenSight [get]
 
virtual bool IsOpenPath [get]
 
virtual bool IsFloating [get]
 
virtual bool IsNoShop [get]
 
virtual bool IsGround [get]
 
virtual bool IsOnlyUsableByPc [get]
 
virtual bool InvertHeldSprite [get]
 
virtual bool IsChangeFloorHeight [get]
 
virtual bool ShouldRefreshTile [get]
 
virtual bool ShouldTryRefreshRoom [get]
 
virtual int InstallBottomPriority [get]
 
virtual bool CanHarvest [get]
 
virtual int radius [get]
 
virtual TraitRadiusType radiusType [get]
 
virtual bool CanUseRoomRadius [get]
 
virtual int GuidePriotiy [get]
 
virtual int OriginalElectricity [get]
 
virtual int Electricity [get]
 
virtual bool IgnoreLastStackHeight [get]
 
virtual int Decay [get]
 
virtual int DecaySpeed [get]
 
virtual int DecaySpeedChild [get]
 
virtual bool IsFridge [get]
 
virtual int DefaultStock [get]
 
virtual bool HoldAsDefaultInteraction [get]
 
virtual int CraftNum [get]
 
virtual bool ShowOrbit [get]
 
virtual bool HaveUpdate [get]
 
virtual bool IsSpot [get]
 
virtual bool IsFactory [get]
 
virtual bool CanAutofire [get]
 
virtual bool CanName [get]
 
virtual bool CanPutAway [get]
 
virtual bool CanChangeHeight [get]
 
virtual bool CanStack [get]
 
virtual bool CanCopyInBlueprint [get]
 
virtual bool CanBeAttacked [get]
 
virtual bool CanBeTeleported [get]
 
virtual bool CanExtendBuild [get]
 
virtual string langNote [get]
 
virtual string IDInvStyle [get]
 
virtual string IDActorEx [get]
 
virtual bool MaskOnBuild [get]
 
virtual bool ShowContextOnPick [get]
 
virtual bool IsThrowMainAction [get]
 
virtual bool LevelAsQuality [get]
 
virtual bool UseDummyTile [get]
 
virtual bool RequireFullStackCheck [get]
 
virtual bool DisableAutoCombat [get]
 
virtual InvGridSize InvGridSize [get]
 
virtual bool IsContainer [get]
 
virtual bool CanUseContent [get]
 
virtual bool CanSearchContent [get]
 
virtual bool CanOpenContainer [get]
 
virtual bool IsSpecialContainer [get]
 
virtual ContainerType ContainerType [get]
 
virtual ThrowType ThrowType [get]
 
virtual EffectDead EffectDead [get]
 
virtual bool IsHomeItem [get]
 
virtual bool IsAltar [get]
 
virtual bool IsRestSpot [get]
 
virtual bool CanBeMasked [get]
 
virtual bool IsLocalAct [get]
 
virtual bool IsBlendBase [get]
 
virtual bool CanBeOnlyBuiltInHome [get]
 
virtual bool CanBuildInTown [get]
 
virtual bool CanBeHeld [get]
 
virtual bool CanBeStolen [get]
 
virtual bool CanOnlyCarry [get]
 
virtual bool CanBeDestroyed [get]
 
virtual bool CanBeSmashedToDeath [get]
 
virtual bool CanBeHallucinated [get]
 
virtual bool CanBeDropped [get]
 
virtual string ReqHarvest [get]
 
virtual bool CanBeDisassembled [get]
 
virtual bool CanBeShipped [get]
 
virtual bool HasCharges [get]
 
virtual bool ShowCharges [get]
 
virtual bool ShowChildrenNumber [get]
 
virtual bool ShowAsTool [get]
 
virtual bool CanBeHeldAsFurniture [get]
 
virtual bool HideInAdv [get]
 
virtual bool NoHeldDir [get]
 
virtual bool AlwaysHideOnLowWall [get]
 
bool ExistsOnMap [get]
 
virtual bool RenderExtra [get]
 
virtual float DropChance [get]
 
virtual string IdNoRestock [get]
 
virtual int IdleUseChance [get]
 
virtual string RecipeCat [get]
 
virtual bool IsTool [get]
 
virtual string LangUse [get]
 
virtual bool IgnoreOnSteppedWhenMoving [get]
 
virtual bool IsOn [get]
 
virtual bool IsAnimeOn [get]
 
bool IsToggle [get]
 
virtual bool AutoToggle [get]
 
bool IsLighting [get]
 
virtual bool IsLightOn [get]
 
virtual bool IsNightOnlyLight [get]
 
virtual TileMode tileMode [get]
 
virtual bool UseAltTiles [get]
 
virtual bool UsePositionFix [get]
 
virtual bool UseLowblock [get]
 
virtual bool UseExtra [get]
 
virtual bool UseLightColor [get]
 
virtual ? Color ColorExtra [get]
 
virtual int MaxFuel [get]
 
virtual int FuelCost [get]
 
virtual bool ShowFuelWindow [get]
 
bool IsRequireFuel [get]
 
string IdToggleExtra [get]
 
virtual ToggleType ToggleType [get]
 
virtual string IdSoundToggleOn [get]
 
virtual string IdSoundToggleOff [get]
 
virtual int ShopLv [get]
 
virtual CopyShopType CopyShop [get]
 
virtual int NumCopyItem [get]
 
virtual ShopType ShopType [get]
 
virtual CurrencyType CurrencyType [get]
 
virtual PriceType PriceType [get]
 
virtual bool AllowSell [get]
 
virtual int CostRerollShop [get]
 
virtual CurrencyType CurrencyRerollShop [get]
 
virtual bool AllowCriminal [get]
 
virtual int RestockDay [get]
 
virtual SlaverType SlaverType [get]
 
virtual string LangBarter [get]
 
virtual bool RemoveGlobalOnBanish [get]
 
virtual bool CanChangeAffinity [get]
 
string TextNextRestock [get]
 
string TextNextRestockPet [get]
 
- Properties inherited from EClass
static Game game [get]
 
static bool AdvMode [get]
 
static Player player [get]
 
static Chara pc [get]
 
static UI ui [get]
 
static Map _map [get]
 
static Zone _zone [get]
 
static FactionBranch Branch [get]
 
static FactionBranch BranchOrHomeBranch [get]
 
static Faction Home [get]
 
static Faction Wilds [get]
 
static Scene scene [get]
 
static BaseGameScreen screen [get]
 
static GameSetting setting [get]
 
static GameData gamedata [get]
 
static ColorProfile Colors [get]
 
static World world [get]
 
static SourceManager sources [get]
 
static SourceManager editorSources [get]
 
static SoundManager Sound [get]
 
static CoreDebug debug [get]
 

Additional Inherited Members

- Static Public Member Functions inherited from EClass
static int rndSeed (int a, int seed)
 
static int rnd (long a)
 
static int rnd (int a)
 
static int curve (long _a, int start, int step, int rate=75)
 
static int sqrt (int a)
 
static int rndHalf (int a)
 
static float rndf (float a)
 
static int rndSqrt (int a)
 
static void Wait (float a, Card c)
 
static void Wait (float a, Point p)
 
static int Bigger (int a, int b)
 
static int Smaller (int a, int b)
 
- Public Attributes inherited from Trait
Card owner
 
- Static Public Attributes inherited from Trait
static TraitSelfFactory SelfFactory = new TraitSelfFactory()
 
- Static Public Attributes inherited from EClass
static Core core
 
- Static Protected Attributes inherited from Trait
static List< Point > listRadiusPoints = new List<Point>()
 

Detailed Description

Definition at line 4 of file TraitCrafter.cs.

Member Enumeration Documentation

◆ AnimeType

Enumerator
Default 
Microwave 
Pot 

Definition at line 24 of file TraitCrafter.cs.

◆ MixType

Enumerator
None 
Food 
Resource 
Dye 
Butcher 
Grind 
Sculpture 
Talisman 
Scratch 
Incubator 
Fortune 
RuneMold 
FixedResource 
SeedWork 

Definition at line 6 of file TraitCrafter.cs.

Member Function Documentation

◆ CanUse()

override bool TraitCrafter.CanUse ( Chara  c)
inlinevirtual

Reimplemented from Trait.

Definition at line 598 of file TraitCrafter.cs.

599 {
601 {
602 return false;
603 }
604 return CanUseFromInventory;
605 }
bool isNPCProperty
Definition: Card.cs:557
Definition: EClass.cs:6
static Zone _zone
Definition: EClass.cs:21
virtual bool CanUseFromInventory
Definition: TraitCrafter.cs:51
Card owner
Definition: Trait.cs:28
virtual bool IsUserZone
Definition: Zone.cs:278

References EClass._zone, CanUseFromInventory, Card.isNPCProperty, Zone.IsUserZone, and Trait.owner.

◆ Craft()

virtual Thing TraitCrafter.Craft ( AI_UseCrafter  ai)
inlinevirtual

Definition at line 293 of file TraitCrafter.cs.

294 {
295 Thing thing = ai.ings[0];
296 Thing thing2 = ((numIng > 1) ? ai.ings[1] : null);
297 SourceRecipe.Row source = GetSource(ai);
298 if (source == null)
299 {
300 return null;
301 }
302 if (!EClass.player.knownCraft.Contains(source.id))
303 {
304 SE.Play("idea");
305 Msg.Say("newKnownCraft");
306 EClass.player.knownCraft.Add(source.id);
307 if ((bool)LayerDragGrid.Instance)
308 {
310 }
311 }
312 string thing3 = source.thing;
313 MixType mixType = source.type.ToEnum<MixType>();
314 int num = source.num.Calc();
315 Thing t = null;
316 string[] array = thing3.Split('%');
317 bool claimed;
318 switch (mixType)
319 {
320 case MixType.Food:
321 t = CraftUtil.MixIngredients(thing3, ai.ings, CraftUtil.MixType.General, 0, EClass.pc);
322 break;
323 case MixType.Resource:
324 case MixType.FixedResource:
325 t = CraftUtil.MixIngredients(ThingGen.Create(array[0], (array.Length > 1) ? EClass.sources.materials.alias[array[1]].id : thing.material.id), ai.ings, (mixType == MixType.FixedResource) ? CraftUtil.MixType.NoMix : CraftUtil.MixType.General, 999, EClass.pc).Thing;
326 break;
327 case MixType.Dye:
328 t = ThingGen.Create(thing3, thing2.material.id);
329 break;
330 case MixType.Butcher:
331 thing3 = SpawnListThing.Get("butcher", (SourceThing.Row a) => a.Category.id == "bodyparts").Select().id;
332 t = ThingGen.Create(thing3);
333 break;
334 case MixType.Grind:
335 if (source.tag.Contains("rust"))
336 {
337 EClass.pc.Say("polish", EClass.pc, ai.ings[1]);
338 ai.ings[1].ModEncLv(1);
339 ai.ings[0].ModNum(-1);
340 }
341 if (source.tag.Contains("mod_eject"))
342 {
343 ai.ings[1].EjectSockets();
344 ai.ings[0].ModNum(-1);
345 }
346 break;
347 case MixType.Sculpture:
348 {
349 t = ThingGen.Create(thing3);
350 List<CardRow> list2 = EClass.player.codex.ListKills();
351 list2.Add(EClass.sources.cards.map["putty"]);
352 list2.Add(EClass.sources.cards.map["snail"]);
353 CardRow cardRow = list2.RandomItemWeighted((CardRow a) => Mathf.Max(50 - a.LV, Mathf.Clamp(EClass.pc.Evalue(258) / 2, 1, a.LV * 2)));
354 t.c_idRefCard = cardRow.id;
355 t.ChangeMaterial(thing.material);
356 t.SetEncLv(Mathf.Min(EClass.rnd(EClass.rnd(Mathf.Max(5 + EClass.pc.Evalue(258) - cardRow.LV, 1))), 12));
357 t = CraftUtil.MixIngredients(t, ai.ings, CraftUtil.MixType.General, 999, EClass.pc).Thing;
358 break;
359 }
360 case MixType.RuneMold:
361 {
362 Thing eq = ai.ings[0];
363 Thing thing4 = eq.Duplicate(1);
364 thing4.SetEncLv(0);
365 List<Element> list = thing4.elements.ListRune();
366 if (list.Count == 0)
367 {
369 break;
370 }
371 foreach (Element item in list)
372 {
373 SocketData runeEnc = eq.GetRuneEnc(item.id);
374 item.vLink = 0;
375 if (runeEnc != null)
376 {
377 if (item.vBase + item.vSource != runeEnc.value)
378 {
379 item.vLink = item.vBase + item.vSource;
380 }
381 item.vBase = runeEnc.value;
382 item.vSource = 0;
383 }
384 }
385 if (eq.material.hardness > owner.material.hardness && !EClass.debug.enable)
386 {
387 Msg.Say("rune_tooHard", owner);
388 break;
389 }
390 EClass.ui.AddLayer<LayerList>().SetList2(list, (Element a) => GetName(a), delegate(Element a, ItemGeneral b)
391 {
392 owner.ModNum(-1);
393 eq.Destroy();
394 Thing thing8 = ThingGen.Create("rune");
396 thing8.refVal = a.id;
397 thing8.encLV = a.vBase + a.vSource;
398 EClass.pc.Pick(thing8);
399 EClass.pc.PlaySound("intonation");
400 EClass.pc.PlayEffect("intonation");
401 }, delegate(Element a, ItemGeneral b)
402 {
403 string lang = a.vBase + a.vSource + ((a.vLink != 0) ? (" (" + a.vLink + ")") : "");
404 b.SetSubText(lang, 200, FontColor.Default, TextAnchor.MiddleRight);
405 b.Build();
406 if (a.HasTag("noRune"))
407 {
408 b.button1.interactable = false;
409 b.button1.mainText.gameObject.AddComponent<CanvasGroup>().alpha = 0.5f;
410 }
411 }).SetSize(500f)
412 .SetOnKill(delegate
413 {
414 })
415 .SetTitles("wRuneMold");
416 break;
417 }
418 case MixType.SeedWork:
419 {
420 TraitSeed traitSeed = thing2.trait as TraitSeed;
421 string id = thing.id;
422 if (id == "mercury" || id == "blood_angel")
423 {
424 int num7 = thing2.encLV;
425 if (thing.id == "mercury")
426 {
427 num7 = num7 * 2 / 3;
428 }
429 t = TraitSeed.MakeSeed(traitSeed.row);
430 if (num7 > 0)
431 {
432 TraitSeed.LevelSeed(t, traitSeed.row, num7);
433 t.elements.SetBase(2, EClass.curve(t.encLV, 50, 10, 80));
434 }
435 }
436 else
437 {
438 t = TraitSeed.MakeSeed(traitSeed.row);
439 }
440 break;
441 }
442 case MixType.Talisman:
443 {
444 int num2 = EClass.pc.Evalue(1418);
445 Thing thing5 = ai.ings[1];
446 SourceElement.Row source2 = (thing5.trait as TraitSpellbook).source;
447 int num3 = thing5.c_charges * source2.charge * (100 + num2 * 50) / 500 + 1;
448 int num4 = 100;
449 Thing thing6 = ThingGen.Create("talisman").SetNum(num3);
450 thing6.refVal = source2.id;
451 thing6.encLV = num4 * (100 + num2 * 10) / 100;
452 thing.ammoData = thing6;
453 thing.c_ammo = num3;
454 EClass.pc.Say("talisman", thing, thing6);
455 thing5.Destroy();
456 break;
457 }
458 case MixType.Scratch:
459 claimed = false;
460 Prize(20, "medal", "save", cat: false);
461 Prize(10, "plat", "save", cat: false);
462 Prize(10, "furniture", "nice", cat: true);
463 Prize(4, "plamo_box", "nice", cat: false);
464 Prize(4, "food", "", cat: false);
465 Prize(1, "casino_coin", "", cat: false);
466 break;
467 case MixType.Fortune:
468 {
470 int num5 = 0;
471 FortuneRollData orCreateFortuneRollData = EClass._zone.GetOrCreateFortuneRollData(refresh: false);
472 int seed = orCreateFortuneRollData.seed + orCreateFortuneRollData.count + EClass.player.seedFortune;
474 for (int num6 = 3; num6 > 0; num6--)
475 {
476 if (EClass.rnd(FortuneRollData.chances[num6]) == 0)
477 {
478 num5 = num6;
479 break;
480 }
481 }
482 Rand.SetSeed();
483 if (num5 != 0)
484 {
485 owner.PlaySound((num5 == 3) ? "fortuneroll_winBig" : "fortuneroll_win");
486 }
487 Thing thing7 = ThingGen.Create("fortune_ball");
488 thing7.ChangeMaterial(FortuneRollData.mats[num5]);
489 EClass._zone.AddCard(thing7, owner.pos);
490 owner.PlaySound("fortuneroll_ball");
491 orCreateFortuneRollData.GetPrize(num5, seed);
492 if ((bool)LayerDragGrid.Instance)
493 {
495 }
496 break;
497 }
498 case MixType.Incubator:
500 break;
501 default:
502 t = ThingGen.Create(thing3);
503 if (thing3 == "gene")
504 {
505 if (ai.ings[0].c_DNA != null)
506 {
507 t.MakeRefFrom(ai.ings[0].c_idRefCard);
508 t.c_DNA = ai.ings[0].c_DNA;
509 t.c_DNA.GenerateWithGene(DNA.Type.Inferior, t);
510 }
511 }
512 else
513 {
514 t = CraftUtil.MixIngredients(t, ai.ings, CraftUtil.MixType.General, 999, EClass.pc).Thing;
515 }
516 break;
517 }
518 if (t != null)
519 {
520 if (t.HasElement(1229))
521 {
522 num = 1;
523 }
524 if (t.HasElement(704))
525 {
526 num = 1;
527 }
528 if (t.HasElement(703))
529 {
530 num = 1;
531 }
532 t.SetNum(num);
533 }
534 return t;
535 static string GetName(Element a)
536 {
537 string text = a.Name;
538 string encSlot = a.source.encSlot;
539 if ((encSlot == null || encSlot.Length != 0) && !(encSlot == "global") && !(encSlot == "all"))
540 {
541 text += " [";
542 string[] array2 = a.source.encSlot.Split(',');
543 foreach (string text2 in array2)
544 {
545 text += ((text2 == "weapon") ? "weapon_enc".lang() : EClass.sources.elements.alias[text2].GetName().ToTitleCase());
546 text += ", ";
547 }
548 text = text.TrimEnd(", ".ToCharArray()) + "]";
549 }
550 return text;
551 }
552 void Prize(int chance, string s, string col, bool cat)
553 {
554 if (!claimed && EClass.rnd(chance) == 0)
555 {
556 t = (cat ? ThingGen.CreateFromCategory(s, EClass.pc.LV) : ThingGen.Create(s, -1, EClass.pc.LV));
557 claimed = true;
558 if (col != "")
559 {
560 Msg.SetColor(col);
561 }
562 }
563 }
564 }
@ seed
FontColor
Definition: FontColor.cs:2
List< Thing > ings
string id
Definition: CardRow.cs:7
Thing Split(int a)
Definition: Card.cs:3665
ElementContainerCard elements
Definition: Card.cs:42
string id
Definition: Card.cs:36
SourceMaterial.Row material
Definition: Card.cs:2103
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:6645
Card ChangeMaterial(int idNew, bool ignoreFixedMaterial=false)
Definition: Card.cs:3217
Card MakeRefFrom(string id)
Definition: Card.cs:6027
Thing SetNum(int a)
Definition: Card.cs:3676
Point pos
Definition: Card.cs:60
Effect PlayEffect(string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
Definition: Card.cs:6679
int encLV
Definition: Card.cs:329
void SetEncLv(int a)
Definition: Card.cs:4045
SocketData GetRuneEnc(int idEle)
Definition: Card.cs:3806
void Destroy()
Definition: Card.cs:5314
virtual Thing Thing
Definition: Card.cs:2110
int Evalue(int ele)
Definition: Card.cs:2704
Thing Duplicate(int num)
Definition: Card.cs:3625
DNA c_DNA
Definition: Card.cs:1933
void ModNum(int a, bool notify=true)
Definition: Card.cs:3696
bool HasElement(int ele, bool includeNagative=false)
Definition: Card.cs:6383
int LV
Definition: Card.cs:389
void Say(string lang, string ref1=null, string ref2=null)
Definition: Card.cs:7324
Thing Pick(Thing t, bool msg=true, bool tryStack=true)
Definition: Chara.cs:4606
List< CardRow > ListKills()
Definition: CodexManager.cs:70
bool enable
Definition: CoreDebug.cs:302
static Thing MixIngredients(string idProduct, List< Thing > ings, MixType type, int idMat=0, Chara crafter=null)
Definition: CraftUtil.cs:364
Definition: DNA.cs:9
void GenerateWithGene(Type _type, Card gene, Chara model=null)
Definition: DNA.cs:286
Type
Definition: DNA.cs:11
static int curve(long _a, int start, int step, int rate=75)
Definition: EClass.cs:69
static int rnd(long a)
Definition: EClass.cs:59
static SourceManager sources
Definition: EClass.cs:43
static Player player
Definition: EClass.cs:13
static Chara pc
Definition: EClass.cs:15
static CoreDebug debug
Definition: EClass.cs:49
static UI ui
Definition: EClass.cs:17
List< Element > ListRune()
Element SetBase(string alias, int v, int potential=0)
int id
Definition: ELEMENT.cs:259
SourceElement.Row source
Definition: ELEMENT.cs:282
bool HasTag(string tag)
Definition: ELEMENT.cs:482
virtual string Name
Definition: ELEMENT.cs:313
int vLink
Definition: ELEMENT.cs:269
int vSource
Definition: ELEMENT.cs:271
void GetPrize(int grade, int seed)
static string[] mats
static int[] chances
void Build()
Definition: ItemGeneral.cs:210
UIButton SetSubText(string lang, int x, FontColor c=FontColor.Default, TextAnchor align=TextAnchor.MiddleLeft)
Definition: ItemGeneral.cs:161
UIDragGridInfo info
static LayerDragGrid Instance
Layer SetOnKill(Action action)
Definition: Layer.cs:584
Definition: Msg.cs:5
static string SayNothingHappen()
Definition: Msg.cs:96
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58
static void SetColor()
Definition: Msg.cs:22
CodexManager codex
Definition: Player.cs:1185
HashSet< int > knownCraft
Definition: Player.cs:1146
int seedFortune
Definition: Player.cs:1017
Definition: Rand.cs:4
static void SetSeed(int a=-1)
Definition: Rand.cs:44
int LV
Definition: RenderRow.cs:22
Dictionary< string, CardRow > map
Definition: SourceCard.cs:9
SourceMaterial materials
SourceCard cards
SourceElement elements
static SpawnList Get(string id, Func< SourceThing.Row, bool > func)
string id
Definition: SpawnList.cs:10
static Thing CreateFromCategory(string idCat, int lv=-1)
Definition: ThingGen.cs:75
static Thing Create(string id, int idMat=-1, int lv=-1)
Definition: ThingGen.cs:53
Definition: Thing.cs:8
SourceRecipe.Row GetSource(AI_UseCrafter ai)
virtual int numIng
Definition: TraitCrafter.cs:35
static Chara Incubate(Thing egg, Point pos, Card incubator=null)
static Thing MakeSeed(string idSource)
Definition: TraitSeed.cs:105
static void LevelSeed(Thing t, SourceObj.Row obj, int num)
Definition: TraitSeed.cs:184
SourceObj.Row row
Definition: TraitSeed.cs:9
virtual string GetName()
Definition: Trait.cs:732
UIText mainText
Definition: UIButton.cs:102
UIButton button1
Definition: UIItem.cs:18
FortuneRollData GetOrCreateFortuneRollData(bool refresh=true)
Definition: Zone.cs:4144
Card AddCard(Card t, Point point)
Definition: Zone.cs:2151

References EClass._zone, Zone.AddCard(), ItemGeneral.Build(), UIItem.button1, Card.c_DNA, SourceManager.cards, FortuneRollData.chances, Card.ChangeMaterial(), Player.codex, ThingGen.Create(), ThingGen.CreateFromCategory(), EClass.curve(), EClass.debug, Card.Destroy(), Card.Duplicate(), Card.Dye(), Card.elements, SourceManager.elements, CoreDebug.enable, Card.encLV, Card.Evalue(), DNA.GenerateWithGene(), SpawnListThing.Get(), Trait.GetName(), Zone.GetOrCreateFortuneRollData(), FortuneRollData.GetPrize(), GetSource(), Card.HasElement(), Element.HasTag(), Card.id, CardRow.id, Element.id, SourceElement.Row.id, SourceRecipe.Row.id, SpawnList.id, TraitFoodEggFertilized.Incubate(), LayerDragGrid.info, AI_UseCrafter.ings, LayerDragGrid.Instance, item, Player.knownCraft, TraitSeed.LevelSeed(), CodexManager.ListKills(), ElementContainer.ListRune(), Card.LV, RenderRow.LV, UIButton.mainText, Card.MakeRefFrom(), TraitSeed.MakeSeed(), SourceCard.map, Card.material, SourceManager.materials, FortuneRollData.mats, CraftUtil.MixIngredients(), Card.ModNum(), Element.Name, SourceRecipe.Row.num, numIng, Trait.owner, EClass.pc, Chara.Pick(), Card.PlayEffect(), EClass.player, Card.PlaySound(), Card.pos, UIDragGridInfo.Refresh(), EClass.rnd(), TraitSeed.row, Msg.Say(), Card.Say(), Msg.SayNothingHappen(), seed, Player.seedFortune, ElementContainer.SetBase(), Msg.SetColor(), Card.SetEncLv(), Card.SetNum(), Layer.SetOnKill(), Rand.SetSeed(), ItemGeneral.SetSubText(), Element.source, EClass.sources, Card.Split(), SourceRecipe.Row.tag, Card.Thing, SourceRecipe.Row.thing, SourceRecipe.Row.type, EClass.ui, SocketData.value, Element.vLink, and Element.vSource.

Referenced by AI_UseCrafter.Run().

◆ GetCostSp()

virtual int TraitCrafter.GetCostSp ( AI_UseCrafter  ai)
inlinevirtual

Reimplemented in TraitFactory.

Definition at line 242 of file TraitCrafter.cs.

243 {
244 return GetSource(ai).sp;
245 }

References GetSource().

Referenced by AI_UseCrafter.Run().

◆ GetDuration()

virtual int TraitCrafter.GetDuration ( AI_UseCrafter  ai,
int  costSp 
)
inlinevirtual

Reimplemented in TraitFactory, TraitRollingFortune, and TraitScratchMachine.

Definition at line 237 of file TraitCrafter.cs.

238 {
239 return Mathf.Max(1, GetSource(ai).time * 100 / (80 + EClass.pc.Evalue(IDReqEle(ai.recipe?.source)) * 5));
240 }
RecipeSource source
Definition: Recipe.cs:204
virtual string IDReqEle(RecipeSource r)
Definition: TraitCrafter.cs:74

References Card.Evalue(), GetSource(), IDReqEle(), EClass.pc, AI_UseCrafter.recipe, and Recipe.source.

Referenced by AI_UseCrafter.Run().

◆ GetSortVal()

int TraitCrafter.GetSortVal ( SourceRecipe::Row  r)
inline

Definition at line 223 of file TraitCrafter.cs.

224 {
225 int num = r.id;
226 string[] ing = r.ing1;
227 for (int i = 0; i < ing.Length; i++)
228 {
229 if (ing[i].Contains('@'))
230 {
231 num -= 10000;
232 }
233 }
234 return num;
235 }
virtual bool Contains(RecipeSource r)
Definition: Trait.cs:619

References Trait.Contains().

Referenced by GetSource().

◆ GetSource()

SourceRecipe.Row TraitCrafter.GetSource ( AI_UseCrafter  ai)
inline

Definition at line 247 of file TraitCrafter.cs.

248 {
249 List<SourceRecipe.Row> list = new List<SourceRecipe.Row>();
250 foreach (SourceRecipe.Row row in EClass.sources.recipes.rows)
251 {
252 if (row.factory == IdSource)
253 {
254 list.Add(row);
255 }
256 }
257 for (int i = 0; i < numIng; i++)
258 {
259 foreach (SourceRecipe.Row row2 in EClass.sources.recipes.rows)
260 {
261 if (i >= ai.ings.Count || !IsIngredient(i, row2, ai.ings[i]))
262 {
263 list.Remove(row2);
264 }
265 }
266 }
267 if (list.Count == 0)
268 {
269 return null;
270 }
271 list.Sort((SourceRecipe.Row a, SourceRecipe.Row b) => GetSortVal(a) - GetSortVal(b));
272 return list[0];
273 }
SourceRecipe recipes
virtual string IdSource
Definition: TraitCrafter.cs:37
bool IsIngredient(int idx, SourceRecipe.Row r, Card c)
Definition: TraitCrafter.cs:99
int GetSortVal(SourceRecipe.Row r)

References GetSortVal(), IdSource, AI_UseCrafter.ings, IsIngredient(), numIng, SourceManager.recipes, and EClass.sources.

Referenced by Craft(), GetCostSp(), GetDuration(), TraitRollingFortune.GetDuration(), TraitScratchMachine.GetDuration(), and AI_UseCrafter.Run().

◆ IDReqEle()

virtual string TraitCrafter.IDReqEle ( RecipeSource  r)
inlinevirtual

Reimplemented in TraitCauldron, TraitDyeMaker, and TraitSelfFactory.

Definition at line 74 of file TraitCrafter.cs.

75 {
76 return GetParam(1) ?? "handicraft";
77 }
string GetParam(int i, string def=null)
Definition: Trait.cs:591

References Trait.GetParam().

Referenced by GetDuration(), and AI_UseCrafter.Run().

◆ IsCraftIngredient()

virtual bool TraitCrafter.IsCraftIngredient ( Card  c,
int  idx 
)
inlinevirtual

Definition at line 79 of file TraitCrafter.cs.

80 {
81 foreach (SourceRecipe.Row row in EClass.sources.recipes.rows)
82 {
83 if (idx == 1)
84 {
86 if (!IsIngredient(0, row, card) || (card == c && card.Num < 2))
87 {
88 continue;
89 }
90 }
91 if (IsIngredient(idx, row, c))
92 {
93 return true;
94 }
95 }
96 return false;
97 }
Definition: Card.cs:11
List< ButtonGrid > buttons

References LayerDragGrid.buttons, card, LayerDragGrid.Instance, IsIngredient(), SourceManager.recipes, and EClass.sources.

Referenced by InvOwnerCraft.ShouldShowGuide().

◆ IsIngredient() [1/2]

bool TraitCrafter.IsIngredient ( int  idx,
SourceRecipe::Row  r,
Card  c 
)
inline

Definition at line 99 of file TraitCrafter.cs.

100 {
101 if (r.factory != IdSource || c == null)
102 {
103 return false;
104 }
105 if (c.c_isImportant && ShouldConsumeIng(r, idx))
106 {
107 return false;
108 }
109 if (c.trait is TraitFoodFishSlice)
110 {
111 return false;
112 }
113 if (r.tag.Contains("debug") && !EClass.debug.enable)
114 {
115 return false;
116 }
117 string[] array = ((idx == 0) ? r.ing1 : r.ing2);
118 switch (r.type.ToEnum<MixType>())
119 {
120 case MixType.Grind:
121 {
122 if (idx != 1)
123 {
124 break;
125 }
126 if (r.tag.Contains("rust") && c.encLV >= 0)
127 {
128 return false;
129 }
130 if (!r.tag.Contains("mod_eject"))
131 {
132 break;
133 }
134 if (c.sockets == null)
135 {
136 return false;
137 }
138 bool flag = false;
139 foreach (int socket in c.sockets)
140 {
141 if (socket != 0)
142 {
143 flag = true;
144 }
145 }
146 if (!flag)
147 {
148 return false;
149 }
150 break;
151 }
152 case MixType.SeedWork:
153 if (idx == 1 && c.id == "seed" && c.encLV == 0)
154 {
155 return false;
156 }
157 break;
158 }
159 string[] array2 = array;
160 foreach (string text in array2)
161 {
162 if (r.tag.Contains("noCarbone") && c.material.alias == "carbone")
163 {
164 return false;
165 }
166 if (text.StartsWith('#'))
167 {
168 string text2 = text.Replace("#", "");
169 if (c.category.IsChildOf(text2) && IsIngredient(text2, c))
170 {
171 return true;
172 }
173 continue;
174 }
175 if (text.Contains('@'))
176 {
177 string[] array3 = text.Split('@');
178 if (c.id != array3[0] && c.sourceCard._origin != array3[0])
179 {
180 return false;
181 }
182 if (c.refCard is SourceChara.Row row && row.race_row.tag.Contains(array3[1]))
183 {
184 return true;
185 }
186 if (c.material.tag.Contains(array3[1]))
187 {
188 return true;
189 }
190 continue;
191 }
192 if (text == "any")
193 {
194 if (this is TraitDyeMaker)
195 {
196 if (c.id == "dye")
197 {
198 return false;
199 }
200 if (!c.category.GetRoot().tag.Contains("dye") && !c.category.tag.Contains("dye"))
201 {
202 return false;
203 }
204 }
205 if (!c.IsUnique && !c.IsImportant && !c.trait.CanOnlyCarry)
206 {
207 return true;
208 }
209 }
210 if (c.id == text || c.sourceCard._origin == text)
211 {
212 return true;
213 }
214 }
215 return false;
216 }
string _origin
Definition: CardRow.cs:15
bool IsImportant
Definition: Card.cs:2157
CardRow refCard
Definition: Card.cs:2019
bool IsUnique
Definition: Card.cs:2143
Trait trait
Definition: Card.cs:54
bool c_isImportant
Definition: Card.cs:1051
virtual CardRow sourceCard
Definition: Card.cs:2183
SourceCategory.Row category
Definition: Card.cs:2101
List< int > sockets
Definition: Card.cs:48
SourceRace.Row race_row
Definition: SourceChara.cs:80
virtual bool ShouldConsumeIng(SourceRecipe.Row item, int index)
virtual bool CanOnlyCarry
Definition: Trait.cs:305

References Card.c_isImportant, EClass.debug, CoreDebug.enable, Card.encLV, Card.id, IdSource, IsIngredient(), SourceChara.Row.race_row, ShouldConsumeIng(), Card.sockets, and Card.trait.

Referenced by GetSource(), IsCraftIngredient(), and IsIngredient().

◆ IsIngredient() [2/2]

virtual bool TraitCrafter.IsIngredient ( string  cat,
Card  c 
)
inlinevirtual

Reimplemented in TraitRuneMold, and TraitToolTalisman.

Definition at line 218 of file TraitCrafter.cs.

219 {
220 return true;
221 }

◆ OnEndAI()

virtual void TraitCrafter.OnEndAI ( AI_UseCrafter  ai)
inlinevirtual

Reimplemented in TraitRollingFortune.

Definition at line 631 of file TraitCrafter.cs.

632 {
633 }

Referenced by AI_UseCrafter.OnEnd().

◆ OnUse()

override bool TraitCrafter.OnUse ( Chara  c)
inlinevirtual

Reimplemented from Trait.

Definition at line 607 of file TraitCrafter.cs.

608 {
610 {
612 return false;
613 }
614 if (IsFactory)
615 {
616 Thing thing = owner.Thing;
617 if (EClass.player.recipes.ListSources(thing).Count > 0)
618 {
619 EClass.ui.AddLayer<LayerCraft>().SetFactory(thing);
620 }
621 else
622 {
623 Msg.Say("noRecipes");
624 }
625 return false;
626 }
628 return false;
629 }
static LayerDragGrid CreateCraft(TraitCrafter crafter)
static string SayCannotUseHere()
Definition: Msg.cs:101
RecipeManager recipes
Definition: Player.cs:1167
List< RecipeSource > ListSources(Thing factory, List< RecipeSource > newRecipes=null)
virtual bool IsRegion
Definition: Spatial.cs:515
virtual bool IsFactory
Definition: Trait.cs:143

References EClass._zone, LayerDragGrid.CreateCraft(), Trait.IsFactory, Spatial.IsRegion, RecipeManager.ListSources(), Trait.owner, EClass.player, Player.recipes, Msg.Say(), Msg.SayCannotUseHere(), Card.Thing, and EClass.ui.

◆ ShouldConsumeIng()

virtual bool TraitCrafter.ShouldConsumeIng ( SourceRecipe::Row  item,
int  index 
)
inlinevirtual

Reimplemented in TraitBarrelMaker, TraitGrindstone, TraitRuneMold, and TraitToolTalisman.

Definition at line 275 of file TraitCrafter.cs.

276 {
277 if (IsFactory)
278 {
279 return true;
280 }
281 if (item == null)
282 {
283 return false;
284 }
285 int id = item.id;
286 if ((uint)(id - 47) <= 1u)
287 {
288 return index == 0;
289 }
290 return true;
291 }

References Trait.IsFactory, and item.

Referenced by IsIngredient(), and AI_UseCrafter.Run().

◆ TrySetAct()

override void TraitCrafter.TrySetAct ( ActPlan  p)
inlinevirtual

Reimplemented from Trait.

Definition at line 566 of file TraitCrafter.cs.

567 {
569 {
570 return;
571 }
572 if (IsFactory)
573 {
574 Thing _t = owner.Thing;
575 p.TrySetAct("craft", delegate
576 {
577 if (EClass.player.recipes.ListSources(_t).Count > 0)
578 {
579 EClass.ui.AddLayer<LayerCraft>().SetFactory(_t);
580 }
581 else
582 {
583 Msg.Say("noRecipes");
584 }
585 return false;
586 }, _t, CursorSystem.Craft);
587 }
588 else if (!(this is TraitIncubator) || EClass._zone.IsPCFactionOrTent)
589 {
590 p.TrySetAct(CrafterTitle, delegate
591 {
593 return false;
594 }, owner);
595 }
596 }
bool TrySetAct(string lang, Func< bool > onPerform, Card tc, CursorInfo cursor=null, int dist=1, bool isHostileAct=false, bool localAct=true, bool canRepeat=false)
Definition: ActPlan.cs:372
static CursorInfo Craft
Definition: CursorSystem.cs:90
virtual string CrafterTitle
Definition: TraitCrafter.cs:57
bool IsPCFactionOrTent
Definition: Zone.cs:483

References EClass._zone, CursorSystem.Craft, CrafterTitle, LayerDragGrid.CreateCraft(), Trait.IsFactory, Card.isNPCProperty, Zone.IsPCFactionOrTent, Zone.IsUserZone, RecipeManager.ListSources(), Trait.owner, EClass.player, Player.recipes, Card.Thing, and ActPlan.TrySetAct().

◆ WitchDoubleCraftChance()

virtual int TraitCrafter.WitchDoubleCraftChance ( Thing  t)
inlinevirtual

Reimplemented in TraitAlchemyBench, and TraitToolAlchemy.

Definition at line 69 of file TraitCrafter.cs.

70 {
71 return 0;
72 }

Property Documentation

◆ animeType

virtual AnimeType TraitCrafter.animeType
get

Definition at line 39 of file TraitCrafter.cs.

Referenced by AI_UseCrafter.Run().

◆ AutoTurnOff

virtual bool TraitCrafter.AutoTurnOff
get

Definition at line 61 of file TraitCrafter.cs.

Referenced by AI_UseCrafter.OnEnd().

◆ CanTriggerFire

virtual bool TraitCrafter.CanTriggerFire
get

Definition at line 59 of file TraitCrafter.cs.

◆ CanUseFromInventory

virtual bool TraitCrafter.CanUseFromInventory
get

Definition at line 51 of file TraitCrafter.cs.

Referenced by CanUse().

◆ CloseOnComplete

virtual bool TraitCrafter.CloseOnComplete
get

Definition at line 65 of file TraitCrafter.cs.

Referenced by AI_UseCrafter.Run().

◆ CostSP

virtual int TraitCrafter.CostSP
get

Definition at line 67 of file TraitCrafter.cs.

◆ CrafterTitle

virtual string TraitCrafter.CrafterTitle
get

Definition at line 57 of file TraitCrafter.cs.

Referenced by TrySetAct().

◆ HoldAsDefaultInteraction

override bool TraitCrafter.HoldAsDefaultInteraction
get

Definition at line 53 of file TraitCrafter.cs.

◆ Icon

virtual Emo TraitCrafter.Icon
get

Definition at line 33 of file TraitCrafter.cs.

Referenced by AI_UseCrafter.OnStart().

◆ IdAnimeProgress

virtual AnimeID TraitCrafter.IdAnimeProgress
get

Definition at line 41 of file TraitCrafter.cs.

Referenced by AI_UseCrafter.Run().

◆ idSoundBG

virtual string TraitCrafter.idSoundBG
get

Definition at line 55 of file TraitCrafter.cs.

Referenced by AI_UseCrafter.OnEnd(), and AI_UseCrafter.Run().

◆ idSoundComplete

virtual string TraitCrafter.idSoundComplete
get

Definition at line 45 of file TraitCrafter.cs.

Referenced by AI_UseCrafter.Run().

◆ idSoundProgress

virtual string TraitCrafter.idSoundProgress
get

Definition at line 43 of file TraitCrafter.cs.

Referenced by AI_UseCrafter.Run().

◆ IdSource

virtual string TraitCrafter.IdSource
get

Definition at line 37 of file TraitCrafter.cs.

Referenced by GetSource(), UIDragGridInfo.Init(), and IsIngredient().

◆ IsConsumeIng

virtual bool TraitCrafter.IsConsumeIng
get

Definition at line 63 of file TraitCrafter.cs.

Referenced by AI_UseCrafter.Run().

◆ IsNightOnlyLight

override bool TraitCrafter.IsNightOnlyLight
get

Definition at line 49 of file TraitCrafter.cs.

◆ numIng

virtual int TraitCrafter.numIng
get

Definition at line 35 of file TraitCrafter.cs.

Referenced by Craft(), GetSource(), LayerDragGrid.GetTargets(), and UIDragGridInfo.Init().

◆ ShowFuelWindow

override bool TraitCrafter.ShowFuelWindow
get

Definition at line 31 of file TraitCrafter.cs.

◆ StopSoundProgress

virtual bool TraitCrafter.StopSoundProgress
get

Definition at line 47 of file TraitCrafter.cs.

Referenced by AI_UseCrafter.Run().


The documentation for this class was generated from the following file: