Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
TraitDrinkMilkMother.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2using UnityEngine;
3
5{
6 public override bool HoldAsDefaultInteraction => true;
7
8 public override Emo2 GetHeldEmo(Chara c)
9 {
10 if (c.Evalue(1232) > 0)
11 {
12 return Emo2.baby;
13 }
14 return Emo2.none;
15 }
16
17 public override void OnDrink(Chara c)
18 {
19 if (c.Evalue(1232) > 0)
20 {
21 c.SetFeat(1232, c.Evalue(1232) - 1);
22 int uidNext = EClass.game.cards.uidNext;
23 EClass.game.cards.uidNext = 1;
24 Rand.SetSeed(1);
26 chara.SetLv(Mathf.Clamp(5 + owner.encLV * 5, 1, 20 + EClass.pc.Evalue(237)));
27 Rand.SetSeed();
28 EClass.game.cards.uidNext = uidNext;
29 Debug.Log(chara.id + "/" + chara.LV);
30 List<Element> list = chara.elements.ListBestAttributes();
31 List<Element> list2 = chara.elements.ListBestSkills();
32 int num = 100;
33 int num2 = 0;
34 foreach (Element item in list)
35 {
36 Element element = c.elements.GetElement(item.id);
37 int num3 = item.ValueWithoutLink * (element.Potential - element.vTempPotential) / num / 2;
38 if (num3 > 0)
39 {
40 num2 += num3;
41 Debug.Log(item.source.alias + "/" + num3 + " org:" + item.ValueWithoutLink);
42 c.elements.ModBase(item.id, num3);
43 }
44 num += 50;
45 }
46 num = 100;
47 foreach (Element item2 in list2)
48 {
49 Element element2 = c.elements.GetElement(item2.id);
50 if (element2 != null && element2.ValueWithoutLink != 0)
51 {
52 int num4 = item2.ValueWithoutLink * (element2.Potential - element2.vTempPotential) / num / 2;
53 if (num4 > 0)
54 {
55 Debug.Log(item2.source.alias + "/" + num4 + " org:" + item2.ValueWithoutLink);
56 c.elements.ModBase(item2.id, num4);
57 }
58 num += 50;
59 }
60 }
61 c.feat += owner.encLV;
62 if (c.Evalue(1232) == 0)
63 {
64 c.Say("grow_adult", c);
65 c.PlaySound("mutation");
66 c.PlayEffect("mutation");
67 switch (c.id)
68 {
69 case "putty_snow":
70 if (c.idSkin >= 4)
71 {
72 c.idSkin = (c.idSkin - 4) / 2;
73 }
74 break;
75 case "putty_snow_gold":
76 if (c.idSkin >= 1)
77 {
78 c.idSkin = 0;
79 }
80 break;
81 case "chicken":
82 case "duck":
83 case "shamo":
84 c.idSkin = 0;
85 break;
86 }
87 }
88 else
89 {
90 c.Say("grow_baby", c);
91 c.PlaySound("ding_potential");
92 }
93 c.PlayEffect("buff");
94 EClass.pc.ModExp(237, 100);
95 }
96 else
97 {
98 base.OnDrink(c);
99 }
100 }
101}
Emo2
Definition: Emo2.cs:2
ElementContainerCard elements
Definition: Card.cs:37
string id
Definition: Card.cs:31
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:5404
Card SetLv(int a)
Definition: Card.cs:2735
Effect PlayEffect(string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
Definition: Card.cs:5438
int encLV
Definition: Card.cs:310
int Evalue(int ele)
Definition: Card.cs:2431
int idSkin
Definition: Card.cs:346
void ModExp(string alias, int a)
Definition: Card.cs:2508
int LV
Definition: Card.cs:370
void Say(string lang, string ref1=null, string ref2=null)
Definition: Card.cs:6046
string c_idRefCard
Definition: Card.cs:1637
static Chara Create(string id, int lv=-1)
Definition: CharaGen.cs:17
Definition: Chara.cs:10
void SetFeat(int id, int value=1, bool msg=false)
Definition: Chara.cs:8964
Definition: EClass.cs:5
static Game game
Definition: EClass.cs:8
static Chara pc
Definition: EClass.cs:14
Element ModBase(int ele, int v)
List< Element > ListBestSkills()
List< Element > ListBestAttributes()
Element GetElement(string alias)
int ValueWithoutLink
Definition: ELEMENT.cs:284
int id
Definition: ELEMENT.cs:240
SourceElement.Row source
Definition: ELEMENT.cs:263
int vTempPotential
Definition: ELEMENT.cs:248
CardManager cards
Definition: Game.cs:155
Definition: Rand.cs:4
static void SetSeed(int a=-1)
Definition: Rand.cs:37
override void OnDrink(Chara c)
override Emo2 GetHeldEmo(Chara c)
override bool HoldAsDefaultInteraction
Card owner
Definition: Trait.cs:26