Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
Feat Class Reference
Inheritance diagram for Feat:
Element EClass Mutation

Public Member Functions

override bool CanLink (ElementContainer owner)
 
override Sprite GetIcon (string suffix="")
 
override void OnWriteNote (UINote n, ElementContainer owner)
 
string GetHint (ElementContainer owner)
 
override bool IsPurchaseFeatReqMet (ElementContainer owner, int lv=-1)
 
override void WritePurchaseReq (UINote n, int lv=-1)
 
List< string > Apply (int a, ElementContainer owner, bool hint=false)
 
- Public Member Functions inherited from Element
virtual SourceElement.Row GetSource ()
 
virtual int GetSourcePotential (int v)
 
virtual Sprite GetSprite ()
 
int GetMaterialSourceValue (Thing t, int v)
 
virtual int GetSourceValue (int v, int lv, SourceValueType type)
 
virtual Sprite GetIcon (string suffix="")
 
bool IsActive (Card c)
 
int SortVal (bool charaSheet=false)
 
virtual bool CanLink (ElementContainer owner)
 
bool HasTag (string tag)
 
void SetImage (Image i)
 
virtual string GetDetail ()
 
bool IsFactionElement (Chara c)
 
Element GetParent (Card c)
 
void WriteNote (UINote n, ElementContainer owner=null, Action< UINote > onWriteNote=null)
 
void WriteNoteWithRef (UINote n, ElementContainer owner, Action< UINote > onWriteNote, Element refEle)
 
void _WriteNote (UINote n, Chara c, Act act)
 
void AddHeaderAbility (UINote n)
 
void _WriteNote (UINote n, ElementContainer owner, Action< UINote > onWriteNote, bool isRef, bool addHeader=true)
 
virtual void OnWriteNote (UINote n, ElementContainer owner)
 
virtual void OnChangeValue ()
 
void CheckLevelBonus (ElementContainer owner, UINote n=null)
 
int GetSortVal (UIList.SortMode m)
 
virtual Act.Cost GetCost (Chara c)
 
virtual int GetPower (Card c)
 
virtual void SetTextValue (UIText text)
 
virtual bool IsPurchaseFeatReqMet (ElementContainer owner, int lv=-1)
 
virtual void WritePurchaseReq (UINote n, int lv=1)
 

Static Public Attributes

static List< string > hints = new List<string>()
 
static string[] featRef = new string[5]
 
- Static Public Attributes inherited from Element
const int Div = 5
 
static Element Void = new Element()
 
static int[] List_MainAttributes = new int[9] { 70, 72, 71, 77, 74, 75, 76, 73, 79 }
 
static int[] List_MainAttributesMajor = new int[8] { 70, 72, 71, 77, 74, 75, 76, 73 }
 
static int[] List_Body = new int[4] { 70, 72, 71, 77 }
 
static int[] List_Mind = new int[4] { 74, 75, 76, 73 }
 
static List< SourceElement.RowListElements = new List<SourceElement.Row>()
 
static List< SourceElement.RowListAttackElements = new List<SourceElement.Row>()
 
- Static Public Attributes inherited from EClass
static Core core
 

Properties

override bool ShowBonuses [get]
 
override string Name [get]
 
override string FullName [get]
 
override bool ShowXP [get]
 
override bool ShowValue [get]
 
override int CostLearn [get]
 
- Properties inherited from Element
SourceElement.Row source [get]
 
virtual int DisplayValue [get]
 
virtual int MinValue [get]
 
int Value [get]
 
int ValueWithoutLink [get]
 
virtual int MinPotential [get]
 
int Potential [get]
 
virtual bool CanGainExp [get]
 
bool IsFlag [get]
 
virtual string Name [get]
 
virtual string FullName [get]
 
virtual int ExpToNext [get]
 
virtual bool UseExpMod [get]
 
virtual int CostTrain [get]
 
virtual int CostLearn [get]
 
virtual bool ShowXP [get]
 
virtual bool ShowMsgOnValueChanged [get]
 
virtual bool ShowValue [get]
 
virtual bool ShowPotential [get]
 
virtual bool UsePotential [get]
 
virtual bool PotentialAsStock [get]
 
virtual bool ShowRelativeAttribute [get]
 
virtual bool ShowBonuses [get]
 
virtual string ShortName [get]
 
bool IsGlobalElement [get]
 
bool IsFactionWideElement [get]
 
bool IsPartyWideElement [get]
 
virtual bool ShowEncNumber [get]
 
bool IsTrait [get]
 
bool IsFoodTrait [get]
 
bool IsFoodTraitMain [get]
 
bool IsMainAttribute [get]
 
Act act [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 Element
static string GetName (string alias)
 
static SourceElement.Row Get (int id)
 
static Dictionary< int, int > GetElementMap (int[] list)
 
static Dictionary< int, int > GetElementMap (int[] list, Dictionary< int, int > map)
 
static SourceElement.Row GetRandomElement (int lv=1)
 
static Element Create (int id, int v=0)
 
static Element Create (string id, int v=1)
 
static int GetId (string alias)
 
static int GetResistLv (int v)
 
static int GetResistDamage (int dmg, int v, int power=0)
 
- Static Public Member Functions inherited from EClass
static int rnd (int a)
 
static int curve (int a, int start, int step, int rate=75)
 
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 Element
SourceElement.Row _source
 
int id
 
int vBase
 
int vExp
 
int vPotential
 
int vTempPotential
 
int vLink
 
int vSource
 
int vSourcePotential
 
ElementContainer owner
 

Detailed Description

Definition at line 248 of file FEAT.cs.

Member Function Documentation

◆ Apply()

List< string > Feat.Apply ( int  a,
ElementContainer  owner,
bool  hint = false 
)
inline

Definition at line 329 of file FEAT.cs.

330 {
331 if (hint)
332 {
333 hints.Clear();
334 }
335 int value = base.Value;
336 int A = Mathf.Abs(a);
337 int invert = ((a >= 0) ? 1 : (-1));
338 if (hint)
339 {
340 featRef[0] = a.ToString() ?? "";
341 featRef[1] = a.ToString() ?? "";
342 }
343 Chara chara = owner.Chara;
344 int num = vPotential;
345 if (!hint && a > 0 && chara != null)
346 {
347 num = (vPotential = chara.LV);
348 }
349 switch (id)
350 {
351 case 1206:
352 ModBase(78, -a * 10, hide: false);
353 break;
354 case 1642:
355 featRef[0] = ((a == 1) ? 10 : ((a == 2) ? 20 : 30)).ToString() ?? "";
356 break;
357 case 1643:
358 featRef[0] = ((a == 1) ? 1 : ((a == 2) ? 3 : 5)).ToString() ?? "";
359 break;
360 case 1610:
361 ModBase(60, a * 4, hide: false);
362 break;
363 case 1611:
364 ModBase(61, a * 4, hide: false);
365 break;
366 case 1612:
367 ModBase(62, a * 4, hide: false);
368 break;
369 case 1620:
370 ModAttribute(70);
371 break;
372 case 1621:
373 ModAttribute(72);
374 break;
375 case 1622:
376 ModAttribute(71);
377 break;
378 case 1623:
379 ModAttribute(73);
380 break;
381 case 1626:
382 ModAttribute(75);
383 break;
384 case 1625:
385 ModAttribute(76);
386 break;
387 case 1627:
388 ModAttribute(77);
389 break;
390 case 1624:
391 ModAttribute(74);
392 break;
393 case 1629:
394 ModBase(79, a * 5, hide: false);
395 break;
396 case 1630:
397 ModBase(65, ((A == 1) ? 2 : ((A == 2) ? 5 : 10)) * invert, hide: false);
398 break;
399 case 1631:
400 ModBase(64, ((A == 1) ? 2 : ((A == 2) ? 5 : 10)) * invert, hide: false);
401 break;
402 case 1632:
403 ModBase(150, a * 2, hide: false);
404 break;
405 case 1633:
406 ModBase(210, a * 3, hide: false);
407 ModBase(402, ((A == 3) ? 1 : 0) * invert, hide: false);
408 break;
409 case 1634:
410 ModBase(291, a * 4, hide: false);
411 break;
412 case 1635:
413 ModBase(100, a * 3, hide: false);
414 break;
415 case 1636:
416 ModBase(306, a * 4, hide: false);
417 break;
418 case 1628:
419 ModBase(78, a * 2, hide: false);
420 break;
421 case 1640:
422 ModBase(77, a * 2, hide: false);
423 break;
424 case 1400:
425 featRef[0] = (a * 10).ToString() ?? "";
426 break;
427 case 1404:
428 featRef[0] = (a * 10).ToString() ?? "";
429 break;
430 case 1401:
431 ModBase(78, a * 15, hide: false);
432 break;
433 case 1406:
434 featRef[0] = (a * 20).ToString() ?? "";
435 featRef[1] = (a * 5).ToString() ?? "";
436 break;
437 case 1644:
438 featRef[0] = a.ToString() ?? "";
439 if (!hint)
440 {
441 if (a > 0)
442 {
444 }
445 else
446 {
447 _ = a;
448 _ = 0;
449 }
450 if (owner.Chara.IsPC && (bool)WidgetEquip.Instance)
451 {
453 }
454 }
455 ModBase(60, (A > 5) ? ((A - 5) * -3 * invert) : 0, hide: false);
456 ModBase(79, (A > 5) ? ((A - 5) * -5 * invert) : 0, hide: false);
457 ModBase(77, (A > 5) ? ((A - 5) * -3 * invert) : 0, hide: false);
458 break;
459 case 1230:
460 ModBase(60, A * 2 * invert, hide: false);
461 ModBase(79, A * 3 * invert, hide: false);
462 break;
463 case 1204:
464 ModBase(64, a * 50, hide: true);
465 ModBase(401, a, hide: false);
466 break;
467 case 1202:
468 ModBase(403, a * 20, hide: true);
469 break;
470 case 1210:
471 ModBase(955, a * 5, hide: false);
472 ModBase(953, a * 10, hide: false);
473 ModBase(958, a * 5, hide: false);
474 ModBase(956, a * 10, hide: false);
475 ModBase(950, a * -5, hide: false);
476 break;
477 case 1239:
478 ModBase(956, a * 5, hide: false);
479 ModBase(959, a * 5, hide: false);
480 ModBase(423, a, hide: false);
481 ModBase(424, a, hide: false);
482 ModBase(421, a, hide: false);
483 break;
484 case 1233:
485 ModBase(954, a * 10, hide: false);
486 ModBase(423, a, hide: false);
487 ModBase(425, a, hide: false);
488 ModBase(424, a, hide: false);
489 ModBase(421, a, hide: false);
490 break;
491 case 1226:
492 ModBase(955, a * 5, hide: false);
493 ModBase(953, a * 5, hide: false);
494 break;
495 case 1212:
496 ModBase(961, a * 5, hide: false);
497 ModBase(953, a * 5, hide: false);
498 ModBase(958, a * 5, hide: false);
499 ModBase(956, a * 5, hide: false);
500 ModBase(954, a * 5, hide: false);
501 ModBase(957, a * 5, hide: false);
502 ModBase(959, a * 5, hide: false);
503 break;
504 case 1213:
505 ModBase(962, a * 20, hide: false);
506 break;
507 case 1224:
508 ModBase(951, a * 15, hide: false);
509 break;
510 case 1217:
511 ModBase(952, a * -10, hide: false);
512 ModBase(955, a * 20, hide: false);
513 ModBase(964, a * 20, hide: false);
514 break;
515 case 1218:
516 ModBase(950, a / 40, hide: false);
517 ModBase(952, a / 40, hide: false);
518 ModBase(955, a / 40, hide: false);
519 ModBase(953, a / 40, hide: false);
520 ModBase(958, a / 40, hide: false);
521 ModBase(956, a / 40, hide: false);
522 ModBase(954, a / 40, hide: false);
523 ModBase(959, a / 40, hide: false);
524 ModBase(964, a / 40, hide: false);
525 ModBase(961, a / 40, hide: false);
526 break;
527 case 1221:
528 ModBase(964, a * 20, hide: false);
529 break;
530 case 1223:
531 ModBase(963, a * 20, hide: false);
532 break;
533 case 1216:
534 ModBase(6020, a, hide: false);
535 break;
536 case 1415:
537 ModBase(60, a * 15, hide: false);
538 ModBase(79, a * 5, hide: false);
539 ModBase(953, a * 3, hide: false);
540 ModBase(961, a, hide: false);
541 ModBase(960, a, hide: false);
542 break;
543 case 1419:
544 ModPotential(101, a * 50);
545 ModPotential(111, a * 50);
546 ModPotential(103, a * 50);
547 ModPotential(106, a * 50);
548 ModPotential(122, a * 50);
549 ModPotential(120, a * 50);
550 ModPotential(123, a * 50);
551 break;
552 case 1510:
553 ModBase(65, a * 3, hide: false);
554 break;
555 case 1511:
556 ModBase(65, -a * 3, hide: false);
557 break;
558 case 1512:
559 ModBase(73, a * 5, hide: false);
560 break;
561 case 1513:
562 ModBase(73, -a * 5, hide: false);
563 break;
564 case 1514:
565 ModBase(72, a * 3, hide: false);
566 break;
567 case 1515:
568 ModBase(72, -a * 3, hide: false);
569 break;
570 case 1516:
571 ModBase(300, a * 4, hide: false);
572 break;
573 case 1517:
574 ModBase(300, -a * 4, hide: false);
575 break;
576 case 1518:
577 ModBase(79, a * 5, hide: false);
578 break;
579 case 1519:
580 ModBase(79, -a * 5, hide: false);
581 break;
582 case 1520:
583 ModBase(70, a * 3, hide: false);
584 break;
585 case 1521:
586 ModBase(70, -a * 3, hide: false);
587 break;
588 case 1522:
589 ModBase(77, a * 5, hide: false);
590 break;
591 case 1523:
592 ModBase(77, -a * 5, hide: false);
593 break;
594 case 1524:
595 ModBase(307, a * 4, hide: false);
596 break;
597 case 1525:
598 ModBase(307, -a * 4, hide: false);
599 break;
600 case 1526:
601 ModBase(951, a * 5, hide: false);
602 ModBase(950, -a * 5, hide: false);
603 break;
604 case 1527:
605 ModBase(951, -a * 5, hide: false);
606 ModBase(950, a * 5, hide: false);
607 break;
608 case 1528:
609 ModBase(952, a * 5, hide: false);
610 break;
611 case 1529:
612 ModBase(952, -a * 5, hide: false);
613 break;
614 case 1530:
615 ModBase(960, a * 5, hide: false);
616 ModBase(956, -a * 5, hide: false);
617 break;
618 case 1531:
619 ModBase(960, -a * 5, hide: false);
620 ModBase(956, a * 5, hide: false);
621 break;
622 case 1300:
623 case 1305:
624 case 1310:
625 case 1315:
626 case 1320:
627 case 1325:
628 case 1330:
629 case 1335:
630 case 1340:
631 case 1345:
632 case 1350:
633 case 1355:
634 GodHint();
635 break;
636 case 1550:
637 ModBase(404, -a * 10, hide: false);
638 break;
639 case 1551:
640 ModBase(77, -a * (4 + num / 5), hide: false);
641 break;
642 case 1552:
643 ModBase(79, a * Mathf.Min(30 + num / 5, 100), hide: false);
644 if (!hint && a > 0)
645 {
646 chara?.body.UnequipAll(39);
647 }
648 break;
649 case 1553:
650 ModBase(73, a * (5 + num / 3), hide: false);
651 ModBase(77, -a * (5 + num / 3), hide: false);
652 break;
653 case 1554:
654 ModBase(404, a * 10, hide: false);
655 ModBase(401, a, hide: false);
656 ModBase(79, a * (10 + num / 5), hide: false);
657 if (!hint && a > 0)
658 {
659 chara?.body.UnequipAll(33);
660 }
661 break;
662 case 1555:
663 ModBase(65, a * (12 + num), hide: false);
664 ModBase(77, -a * (5 + num / 5), hide: false);
665 if (!hint && a > 0)
666 {
667 chara?.body.UnequipAll(31);
668 }
669 break;
670 case 1556:
671 ModBase(64, -a * (10 + num), hide: false);
672 ModBase(67, a * (5 + num / 2), hide: false);
673 break;
674 case 1557:
675 ModBase(71, -a * (5 + num / 3), hide: false);
676 ModBase(72, -a * (4 + num / 4), hide: false);
677 ModBase(74, a * (6 + num / 2), hide: false);
678 ModBase(75, a * (2 + num / 6), hide: false);
679 break;
680 case 1560:
681 ModBase(60, -a * 15, hide: false);
682 ModBase(70, -a * (4 + num / 3), hide: false);
683 break;
684 case 1561:
685 ModBase(61, -a * 15, hide: false);
686 ModBase(76, -a * (4 + num / 3), hide: false);
687 break;
688 case 1562:
689 ModBase(65, a * (15 + num / 2), hide: false);
690 ModBase(79, -a * (10 + num / 5), hide: false);
691 break;
692 case 1563:
693 ModBase(77, -a * (3 + num / 4), hide: false);
694 break;
695 case 1564:
696 ModBase(961, a * 5, hide: false);
697 break;
698 case 1565:
699 ModBase(955, a * 20, hide: false);
700 break;
701 }
702 if (hint)
703 {
704 string text = base.source.GetText("textExtra");
705 if (!text.IsEmpty())
706 {
707 string text2 = text.SplitNewline().TryGet(value - 1, 99);
708 if (!text2.IsEmpty())
709 {
710 int num2 = 0;
711 string[] array = text2.Split(',');
712 for (int i = 0; i < array.Length; i++)
713 {
714 string item = array[i].Replace("#1", featRef[num2]);
715 hints.Add(item);
716 num2++;
717 }
718 }
719 }
720 }
721 return hints;
722 void GodHint()
723 {
724 if (!hint)
725 {
726 return;
727 }
728 foreach (Element value2 in owner.Card.Chara.faithElements.dict.Values)
729 {
730 if (value2.source.id != id)
731 {
732 NoteElement(value2.id, value2.Value);
733 }
734 }
735 }
736 void ModAttribute(int ele)
737 {
738 if (!hint)
739 {
740 Debug.Log(A);
741 Debug.Log(((A == 1) ? 2 : ((A == 2) ? 4 : 5)) * invert);
742 }
743 ModBase(ele, ((A == 1) ? 2 : ((A == 2) ? 4 : 5)) * invert, hide: false);
744 ModPotential(ele, a * 10);
745 }
746 void ModBase(int ele, int _v, bool hide)
747 {
748 if (!hint)
749 {
750 owner.ModBase(ele, _v);
751 }
752 if (!hide && _v != 0)
753 {
754 NoteElement(ele, _v);
755 }
756 }
757 void ModPotential(int ele, int _v)
758 {
759 if (!hint)
760 {
761 owner.ModPotential(ele, _v);
762 }
763 Note("modPotential".lang(EClass.sources.elements.map[ele].GetName(), "+" + _v + "%"));
764 }
765 void Note(string s)
766 {
767 if (hint)
768 {
769 hints.Add(s);
770 }
771 }
772 void NoteElement(int ele, int a)
773 {
775 if (row.category == "ability")
776 {
777 Note("hintLearnAbility".lang(row.GetName().ToTitleCase()));
778 }
779 else if (row.tag.Contains("flag"))
780 {
781 Note(row.GetName());
782 }
783 else
784 {
785 string @ref = ((a < 0) ? "" : "+") + a;
786 if (row.category == "resist")
787 {
788 int num3 = 0;
789 @ref = ((a > 0) ? "+" : "-").Repeat(Mathf.Clamp(Mathf.Abs(a) / 5 + num3, 1, 5));
790 Note("modValueRes".lang(row.GetName(), @ref));
791 }
792 else
793 {
794 Note("modValue".lang(row.GetName(), @ref));
795 }
796 }
797 }
798 }
@ ModPotential
@ hint
virtual Chara Chara
Definition: Card.cs:1946
int LV
Definition: Card.cs:370
void UnequipAll(int idSlot)
Definition: CharaBody.cs:57
Definition: Chara.cs:10
CharaBody body
Definition: Chara.cs:91
override bool IsPC
Definition: Chara.cs:597
void AddRandomBodyPart(bool msg=false)
Definition: Chara.cs:1920
ElementContainer faithElements
Definition: Chara.cs:38
Definition: EClass.cs:5
static SourceManager sources
Definition: EClass.cs:42
Dictionary< int, Element > dict
Element ModPotential(int ele, int v)
virtual Card Card
Element ModBase(int ele, int v)
virtual Chara Chara
int id
Definition: ELEMENT.cs:240
SourceElement.Row source
Definition: ELEMENT.cs:263
int vPotential
Definition: ELEMENT.cs:246
ElementContainer owner
Definition: ELEMENT.cs:256
int Value
Definition: ELEMENT.cs:282
static List< string > hints
Definition: FEAT.cs:250
static string[] featRef
Definition: FEAT.cs:252
override string GetName()
SourceElement elements
static WidgetEquip Instance
Definition: WidgetEquip.cs:11
void Rebuild()
Definition: WidgetEquip.cs:53

References Chara.AddRandomBodyPart(), Chara.body, ElementContainer.Card, SourceElement.Row.category, Card.Chara, ElementContainer.Chara, Debug, ElementContainer.dict, SourceManager.elements, Chara.faithElements, featRef, SourceElement.Row.GetName(), hint, hints, Element.id, WidgetEquip.Instance, Chara.IsPC, item, Card.LV, ElementContainer.ModBase(), ModPotential, ElementContainer.ModPotential(), Element.owner, WidgetEquip.Rebuild(), Element.source, EClass.sources, SourceElement.Row.tag, CharaBody.UnequipAll(), Element.Value, and Element.vPotential.

Referenced by GetHint(), OnWriteNote(), and Chara.SetFeat().

◆ CanLink()

override bool Feat.CanLink ( ElementContainer  owner)
inlinevirtual

Reimplemented from Element.

Definition at line 273 of file FEAT.cs.

274 {
275 return !base.IsGlobalElement;
276 }

◆ GetHint()

string Feat.GetHint ( ElementContainer  owner)
inline

Definition at line 292 of file FEAT.cs.

293 {
294 string text = "";
295 Apply(base.Value, owner, hint: true);
296 foreach (string hint in hints)
297 {
298 text = text + hint.StripLastPun() + ", ";
299 }
300 return text.TrimEnd(' ').TrimEnd(',');
301 }
List< string > Apply(int a, ElementContainer owner, bool hint=false)
Definition: FEAT.cs:329

References Apply(), hint, hints, and Element.owner.

◆ GetIcon()

override Sprite Feat.GetIcon ( string  suffix = "")
inlinevirtual

Reimplemented from Element.

Definition at line 278 of file FEAT.cs.

279 {
280 return SpriteSheet.Get("Media/Graphics/Icon/Element/icon_elements", "ele_Feat");
281 }
static Sprite Get(string id)
Definition: SpriteSheet.cs:28

References SpriteSheet.Get().

◆ IsPurchaseFeatReqMet()

override bool Feat.IsPurchaseFeatReqMet ( ElementContainer  owner,
int  lv = -1 
)
inlinevirtual

Reimplemented from Element.

Definition at line 303 of file FEAT.cs.

304 {
305 if (base.source.req.Length != 0)
306 {
307 Element element = owner.GetElement(base.source.req[0]);
308 if (element == null || element.ValueWithoutLink < ((base.source.req.Length == 1) ? 1 : base.source.req[Mathf.Clamp(((lv == -1 && owner != null) ? owner.Value(id) : lv) + 1, 1, base.source.req.Length - 1)].ToInt()))
309 {
310 return false;
311 }
312 }
313 return true;
314 }
int Value(int ele)
Element GetElement(string alias)
int ValueWithoutLink
Definition: ELEMENT.cs:284

References ElementContainer.GetElement(), Element.owner, ElementContainer.Value(), and Element.ValueWithoutLink.

Referenced by Chara.ListAvailabeFeats().

◆ OnWriteNote()

override void Feat.OnWriteNote ( UINote  n,
ElementContainer  owner 
)
inlinevirtual

Reimplemented from Element.

Definition at line 283 of file FEAT.cs.

284 {
285 Apply(base.Value, owner, hint: true);
286 foreach (string hint in hints)
287 {
288 n.AddText("_bullet".lang() + hint);
289 }
290 }
UIItem AddText(string text, FontColor color=FontColor.DontChange)
Definition: UINote.cs:113

References Apply(), hint, hints, and Element.owner.

◆ WritePurchaseReq()

override void Feat.WritePurchaseReq ( UINote  n,
int  lv = -1 
)
inlinevirtual

Reimplemented from Element.

Definition at line 316 of file FEAT.cs.

317 {
318 if (base.source.req.Length != 0)
319 {
320 Element element = Element.Create(base.source.req[0], (base.source.req.Length == 1) ? 1 : base.source.req[Mathf.Clamp(((lv == -1 && owner != null) ? owner.Value(id) : lv) + 1, 1, base.source.req.Length - 1)].ToInt());
321 if (element != null)
322 {
323 n.AddHeader("featReq");
324 n.AddText(element.Name + ": " + element.Value, FontColor.Bad);
325 }
326 }
327 }
FontColor
Definition: FontColor.cs:2
virtual string Name
Definition: ELEMENT.cs:294
static Element Create(int id, int v=0)
Definition: ELEMENT.cs:913
UIItem AddHeader(string text, Sprite sprite=null)
Definition: UINote.cs:79

References UINote.AddHeader(), UINote.AddText(), Element.Create(), Element.Name, Element.owner, Element.Value, and ElementContainer.Value().

Member Data Documentation

◆ featRef

string [] Feat.featRef = new string[5]
static

Definition at line 252 of file FEAT.cs.

Referenced by Apply(), and ElementContainer.GetFeatRef().

◆ hints

List<string> Feat.hints = new List<string>()
static

Definition at line 250 of file FEAT.cs.

Referenced by Apply(), GetHint(), and OnWriteNote().

Property Documentation

◆ CostLearn

override int Feat.CostLearn
get

Definition at line 271 of file FEAT.cs.

◆ FullName

override string Feat.FullName
get

Definition at line 258 of file FEAT.cs.

259 {
260 get
261 {
262 string[] array = base.source.GetText().SplitNewline();
263 return array.TryGet(base.Value - 1) + ((base.source.max > 1 && array.Length == 1 && base.Value > 1) ? (" " + base.Value) : "");
264 }
265 }

Referenced by Chara.SetFeat().

◆ Name

override string Feat.Name
get

Definition at line 256 of file FEAT.cs.

◆ ShowBonuses

override bool Feat.ShowBonuses
get

Definition at line 254 of file FEAT.cs.

◆ ShowValue

override bool Feat.ShowValue
get

Definition at line 269 of file FEAT.cs.

◆ ShowXP

override bool Feat.ShowXP
get

Definition at line 267 of file FEAT.cs.


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