Elin Decompiled Documentation EA 23.264 Nightly
Loading...
Searching...
No Matches
ActTelekinesis Class Reference
Inheritance diagram for ActTelekinesis:
Spell Ability Act Element EClass

Public Member Functions

override string GetText (string str="")
 
override void OnMarkMapHighlights ()
 
override bool CanPerform ()
 
List< PointListPath (Point start, Point end)
 
int GetWeightLimit ()
 
int GetDifficulty ()
 
void DoDamage (Card c, int dist=1, int mtp=100)
 
override bool Perform ()
 
- Public Member Functions inherited from Ability
override bool CanLink (ElementContainer owner)
 
override long GetSourceValue (long v, int lv, SourceValueType type)
 
override int GetPower (Card c)
 
override void OnChangeValue ()
 
- Public Member Functions inherited from Act
virtual CursorInfo GetCursorIcon (Card c)
 
virtual MultiSprite GetStateIcon ()
 
override Sprite GetSprite ()
 
virtual bool ShowMouseHint (Card c)
 
virtual bool IsValidTC (Card c)
 
virtual string GetHintText (string str="")
 
virtual string GetText (string str="")
 
virtual string GetTextSmall (Card c)
 
bool IsTargetHostileParty ()
 
virtual Color GetActPlanColor ()
 
virtual bool Perform ()
 
virtual bool CanPerform ()
 
bool Perform (Chara _cc, Card _tc=null, Point _tp=null)
 
bool CanPerform (Chara _cc, Card _tc=null, Point _tp=null)
 
virtual bool IsToolValid ()
 
new void SetImage (Image image)
 
virtual void OnMarkMapHighlights ()
 
virtual bool ShouldMapHighlight (Point p)
 
- 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 long GetSourceValue (long 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)
 
void AddEncNote (UINote n, Card Card, ElementContainer.NoteMode mode=ElementContainer.NoteMode.Default, Func< Element, string, string > funcText=null, Action< UINote, Element > onAddNote=null)
 
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, bool shorten=false)
 
virtual bool IsPurchaseFeatReqMet (ElementContainer owner, int lv=-1)
 
virtual void WritePurchaseReq (UINote n, int lv=1)
 

Properties

override bool ShowMapHighlight [get]
 
override int PerformDistance [get]
 
override bool IsHostileAct [get]
 
- Properties inherited from Spell
override bool PotentialAsStock [get]
 
- Properties inherited from Ability
override bool ShowBonuses [get]
 
override bool CanPressRepeat [get]
 
override bool LocalAct [get]
 
- Properties inherited from Act
override bool ShowPotential [get]
 
override bool UsePotential [get]
 
override bool ShowRelativeAttribute [get]
 
virtual CursorInfo CursorIcon [get]
 
virtual string ID [get]
 
virtual bool IsAct [get]
 
virtual bool WillEndTurn [get]
 
virtual bool CloseLayers [get]
 
virtual int LeftHand [get]
 
virtual int RightHand [get]
 
virtual int ElementPowerMod [get]
 
virtual bool ShowMapHighlight [get]
 
virtual bool ShowMapHighlightBlock [get]
 
virtual bool PickHeldOnStart [get]
 
virtual bool DropHeldOnStart [get]
 
virtual bool CanPressRepeat [get]
 
virtual bool CanAutofire [get]
 
virtual bool ResetAxis [get]
 
virtual bool RequireTool [get]
 
virtual bool IsHostileAct [get]
 
virtual bool HideRightInfo [get]
 
virtual bool ShouldEndMimicry [get]
 
virtual bool HaveLongPressAction [get]
 
virtual float Radius [get]
 
virtual int PerformDistance [get]
 
virtual int MaxRadius [get]
 
virtual TargetType TargetType [get]
 
virtual bool LocalAct [get]
 
virtual bool CanRapidFire [get]
 
virtual float RapidDelay [get]
 
virtual bool ShowAuto [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

- Public Types inherited from Act
enum  CostType { None , MP , SP }
 
- Static Public Member Functions inherited from Act
static void SetReference (Chara _cc, Card _tc=null, Point _tp=null)
 
static void SetTool (Thing t)
 
- 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, bool useWeight=true)
 
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 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 Element
SourceElement.Row _source
 
int id
 
int vBase
 
int vExp
 
int vPotential
 
int vTempPotential
 
int vLink
 
int vSource
 
int vSourcePotential
 
ElementContainer owner
 
- Static Public Attributes inherited from Act
static Chara CC
 
static Card TC
 
static Point TP = new Point()
 
static Thing TOOL
 
static int powerMod = 100
 
static bool forcePt
 
static Act CurrentAct
 
- 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
 

Detailed Description

Definition at line 5 of file ActTelekinesis.cs.

Member Function Documentation

◆ CanPerform()

override bool ActTelekinesis.CanPerform ( )
inlinevirtual

Reimplemented from Act.

Definition at line 43 of file ActTelekinesis.cs.

44 {
45 if (!Act.CC.IsPC)
46 {
47 return false;
48 }
50 if (Act.TC == null || Act.TC.pos.Equals(Act.CC.pos))
51 {
52 return false;
53 }
55 {
56 return false;
57 }
58 if (ListPath(Act.CC.pos, Act.TC.pos).Count <= 1)
59 {
60 return false;
61 }
62 Act.TP.Set(Act.TC.pos);
63 return base.CanPerform();
64 }
List< Point > ListPath(Point start, Point end)
Definition: ACT.cs:62
static Card TC
Definition: ACT.cs:79
static Point TP
Definition: ACT.cs:81
static Chara CC
Definition: ACT.cs:77
virtual bool IsMultisize
Definition: Card.cs:2161
Point pos
Definition: Card.cs:60
Trait trait
Definition: Card.cs:54
override bool IsPC
Definition: Chara.cs:614
Definition: EClass.cs:6
static Scene scene
Definition: EClass.cs:31
Point Set(int _x, int _z)
Definition: Point.cs:503
bool Equals(int _x, int _z)
Definition: Point.cs:960
PointTarget mouseTarget
Definition: Scene.cs:135
virtual bool CanBeHeld
Definition: Trait.cs:291
virtual bool CanBeTeleported
Definition: Trait.cs:179

References Trait.CanBeHeld, Trait.CanBeTeleported, PointTarget.card, Act.CC, Point.Equals(), Card.IsMultisize, Chara.IsPC, ListPath(), Scene.mouseTarget, Card.pos, EClass.scene, Point.Set(), Act.TC, Act.TP, and Card.trait.

◆ DoDamage()

void ActTelekinesis.DoDamage ( Card  c,
int  dist = 1,
int  mtp = 100 
)
inline

Definition at line 110 of file ActTelekinesis.cs.

111 {
112 long num = Dice.Create("SpTelekinesis", GetPower(Act.CC), Act.CC, this).Roll();
113 num = num * (50 + dist * 25) / 100;
114 if (Act.TC.SelfWeight > 1000)
115 {
116 num = num * (100 + (int)Mathf.Sqrt(Act.TC.SelfWeight / 10) / 2) / 100;
117 }
118 num = num * mtp / 100;
120 c.DamageHP(num, 925, 100, AttackSource.Throw, Act.CC);
121 }
AttackSource
Definition: AttackSource.cs:2
override int GetPower(Card c)
Definition: ABILITY.cs:321
virtual int SelfWeight
Definition: Card.cs:2046
void DamageHP(long dmg, AttackSource attackSource=AttackSource.None, Card origin=null)
Definition: Card.cs:4088
void DoHostileAction(Card _tg, bool immediate=false)
Definition: Chara.cs:6314
Definition: Dice.cs:5
static int Roll(int num, int sides, int bonus=0, Card card=null)
Definition: Dice.cs:48
static Dice Create(Element ele, Card c)
Definition: Dice.cs:120

References Act.CC, Dice.Create(), Card.DamageHP(), Chara.DoHostileAction(), Ability.GetPower(), Dice.Roll(), Card.SelfWeight, and Act.TC.

Referenced by Perform().

◆ GetDifficulty()

int ActTelekinesis.GetDifficulty ( )
inline

Definition at line 99 of file ActTelekinesis.cs.

100 {
101 int num = Act.TC.SelfWeight / GetWeightLimit();
102 ConATField condition = Act.TC.GetCondition<ConATField>();
103 if (condition != null)
104 {
105 num += condition.value;
106 }
107 return Mathf.Clamp(num / 33, 0, 3);
108 }

References GetWeightLimit(), Act.TC, and BaseCondition.value.

Referenced by GetText(), and Perform().

◆ GetText()

override string ActTelekinesis.GetText ( string  str = "")
inlinevirtual

Reimplemented from Act.

Definition at line 23 of file ActTelekinesis.cs.

24 {
25 string text = " (" + Lang.GetList("skillDiff")[GetDifficulty()] + ")";
26 return base.GetText(str) + text;
27 }
Definition: Lang.cs:6
static string[] GetList(string id)
Definition: Lang.cs:114

References GetDifficulty(), and Lang.GetList().

◆ GetWeightLimit()

int ActTelekinesis.GetWeightLimit ( )
inline

Definition at line 89 of file ActTelekinesis.cs.

90 {
91 long num = GetPower(Act.CC);
92 if (num * num <= int.MaxValue)
93 {
94 return (int)(num * num);
95 }
96 return int.MaxValue;
97 }

References Act.CC, and Ability.GetPower().

Referenced by GetDifficulty().

◆ ListPath()

List< Point > ActTelekinesis.ListPath ( Point  start,
Point  end 
)
inline

Definition at line 66 of file ActTelekinesis.cs.

67 {
68 List<Point> list = new List<Point>();
69 List<Point> list2 = EClass._map.ListPointsInLine(start, end, 20, returnOnBlocked: false);
70 bool flag = start.Distance(end) != 1;
71 if (flag)
72 {
73 list2.Reverse();
74 }
75 foreach (Point item in list2)
76 {
77 if (!item.Equals(start) && (!flag || start.Distance(item) <= start.Distance(end)) && item.IsInBounds)
78 {
79 if (!item.Equals(end) && (item.IsBlocked || (item.HasChara && item.FirstChara.IsMultisize)))
80 {
81 break;
82 }
83 list.Add(item);
84 }
85 }
86 return list;
87 }
static Map _map
Definition: EClass.cs:19
List< Point > ListPointsInLine(Point center, Point to, int radius, bool returnOnBlocked=true)
Definition: Map.cs:2326
Definition: Point.cs:9
int Distance(Point p)
Definition: Point.cs:989

References EClass._map, Point.Distance(), item, and Map.ListPointsInLine().

Referenced by CanPerform(), OnMarkMapHighlights(), and Perform().

◆ OnMarkMapHighlights()

override void ActTelekinesis.OnMarkMapHighlights ( )
inlinevirtual

Reimplemented from Act.

Definition at line 29 of file ActTelekinesis.cs.

30 {
32 {
33 return;
34 }
36 List<Point> list = ListPath(EClass.pc.pos, pos);
37 foreach (Point item in list)
38 {
39 item.SetHighlight(list.LastItem().Equals(item) ? 8 : 2);
40 }
41 }
static Chara pc
Definition: EClass.cs:15
bool IsValid
Definition: Point.cs:88

References PointTarget.card, Point.IsValid, item, ListPath(), Scene.mouseTarget, EClass.pc, Card.pos, PointTarget.pos, and EClass.scene.

◆ Perform()

override bool ActTelekinesis.Perform ( )
inlinevirtual

Reimplemented from Act.

Definition at line 123 of file ActTelekinesis.cs.

124 {
125 if (GetDifficulty() * 33 > EClass.rnd(100))
126 {
127 Act.TC.PlayEffect("Element/ball_Gravity");
128 Act.TC.PlaySound("gravity");
129 Act.CC.Say("tooHeavy", Act.TC);
130 return true;
131 }
132 bool flag = Act.TC.Dist(Act.CC) != 1;
133 List<Point> list = ListPath(Act.CC.pos, Act.TC.pos);
134 Act.CC.PlaySound("telekinesis");
135 Act.CC.PlayEffect("telekinesis");
136 if (EClass._zone.IsCrime(Act.CC, this))
137 {
138 Act.CC.pos.TryWitnessCrime(Act.CC, Act.TC.Chara, 5, (Chara c) => EClass.rnd(3) == 0);
139 }
140 Point point = list.Last();
141 for (int i = 0; i < list.Count; i++)
142 {
143 Point point2 = list[i];
144 Effect.Get("telekinesis2").Play(0.1f * (float)i, point2);
145 if (point2.Equals(Act.TC.pos) || !point2.HasChara)
146 {
147 continue;
148 }
149 foreach (Chara item in point2.ListCharas())
150 {
151 Act.TC.Kick(item, ignoreSelf: true, karmaLoss: false);
152 Act.TC.pos.PlayEffect("vanish");
153 if (!flag && (item.isChara || item.trait.CanBeAttacked))
154 {
155 DoDamage(item, i, 50);
156 }
157 }
158 }
159 if (point.HasChara)
160 {
162 }
163 Act.TC.MoveImmediate(point, focus: true, cancelAI: false);
164 Act.TC.pos.PlayEffect("telekinesis");
165 if (!flag)
166 {
167 Act.TC.pos.PlayEffect("vanish");
168 Act.TC.pos.PlaySound("rush");
170 {
171 DoDamage(Act.TC, list.Count);
172 }
173 }
174 if (!flag && Act.TC.isChara && Act.TC.IsAliveInCurrentZone)
175 {
177 }
178 return true;
179 }
void DoDamage(Card c, int dist=1, int mtp=100)
virtual Chara Chara
Definition: Card.cs:2071
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:6314
void Kick(Point p, bool ignoreSelf=false, bool checkWall=true)
Definition: Card.cs:5996
Effect PlayEffect(string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
Definition: Card.cs:6348
virtual bool IsAliveInCurrentZone
Definition: Card.cs:2128
virtual bool isChara
Definition: Card.cs:2084
int Dist(Card c)
Definition: Card.cs:7838
void MoveImmediate(Point p, bool focus=true, bool cancelAI=true)
Definition: Card.cs:5874
void Say(string lang, string ref1=null, string ref2=null)
Definition: Card.cs:6991
Definition: Chara.cs:10
Condition AddCondition(string id, int p=100, bool force=false)
Definition: Chara.cs:9231
static Zone _zone
Definition: EClass.cs:21
static int rnd(long a)
Definition: EClass.cs:59
Definition: Effect.cs:7
static Effect Get(Effect original)
Definition: Effect.cs:85
void Play(float delay, Point from, float fixY=0f, Point to=null, Sprite sprite=null)
Definition: Effect.cs:100
SoundSource PlaySound(string id, bool synced=true, float v=1f, bool spatial=true)
Definition: Point.cs:1253
List< Chara > ListCharas()
Definition: Point.cs:1171
bool TryWitnessCrime(Chara criminal, Chara target=null, int radius=4, Func< Chara, bool > funcWitness=null)
Definition: Point.cs:873
Effect PlayEffect(string id)
Definition: Point.cs:1248
Chara FirstChara
Definition: Point.cs:288
bool HasChara
Definition: Point.cs:238
virtual bool CanBeAttacked
Definition: Trait.cs:177
bool IsCrime(Chara c, Act act)
Definition: Zone.cs:3573

References EClass._zone, Chara.AddCondition(), Trait.CanBeAttacked, Act.CC, Card.Chara, Card.Dist(), DoDamage(), Point.Equals(), Point.FirstChara, Effect.Get(), GetDifficulty(), Point.HasChara, Card.IsAliveInCurrentZone, Card.isChara, Zone.IsCrime(), item, Card.Kick(), ListPath(), Card.MoveImmediate(), Effect.Play(), Point.PlayEffect(), Card.PlayEffect(), Point.PlaySound(), Card.PlaySound(), Card.pos, EClass.rnd(), Card.Say(), Act.TC, Card.trait, and Point.TryWitnessCrime().

Property Documentation

◆ IsHostileAct

override bool ActTelekinesis.IsHostileAct
get

Definition at line 11 of file ActTelekinesis.cs.

12 {
13 get
14 {
15 if (Act.TC != null)
16 {
17 return Act.TC.isNPCProperty;
18 }
19 return false;
20 }
21 }
bool isNPCProperty
Definition: Card.cs:555

◆ PerformDistance

override int ActTelekinesis.PerformDistance
get

Definition at line 9 of file ActTelekinesis.cs.

◆ ShowMapHighlight

override bool ActTelekinesis.ShowMapHighlight
get

Definition at line 7 of file ActTelekinesis.cs.


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