Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
Critter Class Reference
Inheritance diagram for Critter:
EClass CritterCancer CritterCancerSmall CritterFish CritterFrog CritterFrogSmall CritterRandom CritterRat CritterRatSmall CritterRoach CritterRoachSmall

Public Member Functions

void Update ()
 

Static Public Member Functions

static Critter Create (Cell cell)
 
static void RebuildCritter (Cell cell)
 
- 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

int tile
 
int index
 
Vector2 dir
 
float x
 
float y
 
float dirTimer
 
float animeTimer
 
float speed = 0.1f
 
bool reverse
 

Static Public Attributes

const float R = 0.12f
 
- Static Public Attributes inherited from EClass
static Core core
 

Properties

virtual int[] animeTiles [get]
 
virtual int[] idleTiles [get]
 
virtual int AnimeTile [get]
 
virtual int IdleTile [get]
 
virtual int SnowTile [get]
 
virtual int Interval [get]
 
virtual float BaseSpeed [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]
 

Detailed Description

Definition at line 3 of file Critter.cs.

Member Function Documentation

◆ Create()

static Critter Critter.Create ( Cell  cell)
inlinestatic

Definition at line 39 of file Critter.cs.

40 {
41 BiomeProfile biomeProfile = cell.sourceFloor.biome ?? EClass.core.refs.biomes.Plain;
42 if (biomeProfile == null)
43 {
44 return null;
45 }
46 if (cell.IsTopWater)
47 {
48 if (EClass.rnd(12) == 0)
49 {
50 return new CritterFish();
51 }
52 return null;
53 }
54 if (biomeProfile.id == BiomeID.Snow)
55 {
56 return null;
57 }
58 if (EClass.rnd(12) == 0)
59 {
60 return new CritterFrog();
61 }
62 if (EClass.rnd(6) == 0)
63 {
64 return new CritterFrogSmall();
65 }
66 if (EClass.rnd(12) == 0)
67 {
68 return new CritterCancer();
69 }
70 if (EClass.rnd(6) == 0)
71 {
72 return new CritterCancerSmall();
73 }
74 if (EClass.rnd(12) == 0)
75 {
76 return new CritterRat();
77 }
78 if (EClass.rnd(6) == 0)
79 {
80 return new CritterRatSmall();
81 }
82 if (EClass.rnd(12) == 0)
83 {
84 return new CritterRoach();
85 }
86 if (EClass.rnd(6) == 0)
87 {
88 return new CritterRoachSmall();
89 }
90 return new CritterRandom();
91 }
BiomeID
Definition: BiomeID.cs:2
bool IsTopWater
Definition: Cell.cs:700
BiomeProfile Plain
Definition: CoreRef.cs:144
Biomes biomes
Definition: CoreRef.cs:325
CoreRef refs
Definition: Core.cs:51
Definition: EClass.cs:5
static int rnd(int a)
Definition: EClass.cs:50
static Core core
Definition: EClass.cs:6

References CoreRef.biomes, EClass.core, BiomeProfile.id, Cell.IsTopWater, CoreRef.Biomes.Plain, Core.refs, and EClass.rnd().

◆ RebuildCritter()

static void Critter.RebuildCritter ( Cell  cell)
inlinestatic

Definition at line 93 of file Critter.cs.

94 {
95 cell.critter = null;
96 if (cell.sourceObj.id == 68)
97 {
98 cell.critter = new CritterFish();
99 }
100 }
SourceObj.Row sourceObj
Definition: Cell.cs:1072

References Cell.sourceObj.

Referenced by PartialMap.Apply(), Map.Load(), Map.SetFloor(), and Map.SetObj().

◆ Update()

void Critter.Update ( )
inline

Definition at line 102 of file Critter.cs.

103 {
104 float gameDelta = Core.gameDelta;
105 animeTimer -= gameDelta * speed * 100f;
106 if (animeTimer < 0f)
107 {
108 index++;
109 animeTimer = 2f;
110 }
111 if (dir.x != 0f || dir.y != 0f)
112 {
113 tile = AnimeTile;
114 }
115 else
116 {
117 tile = IdleTile;
118 }
119 dirTimer -= gameDelta;
120 if (dirTimer < 0f)
121 {
123 dir.x = EClass.rnd(3) - 1;
124 dir.y = EClass.rnd(3) - 1;
125 speed = 0.01f * (float)(EClass.rnd(20) + 1) * BaseSpeed;
126 reverse = dir.x > 0f;
127 }
128 x += dir.x * gameDelta * speed;
129 if (x > 0.12f)
130 {
131 x = 0.12f;
132 dir.x = 0f;
133 }
134 else if (x < -0.12f)
135 {
136 x = -0.12f;
137 dir.x = 0f;
138 }
139 y += dir.y * gameDelta * speed;
140 if (y > 0.12f)
141 {
142 y = 0.12f;
143 dir.y = 0f;
144 }
145 else if (y < -0.12f)
146 {
147 y = -0.12f;
148 dir.y = 0f;
149 }
150 }
Definition: Core.cs:14
static float gameDelta
Definition: Core.cs:21
float speed
Definition: Critter.cs:21
float animeTimer
Definition: Critter.cs:19
virtual int IdleTile
Definition: Critter.cs:31
int index
Definition: Critter.cs:9
virtual int Interval
Definition: Critter.cs:35
virtual int AnimeTile
Definition: Critter.cs:29
bool reverse
Definition: Critter.cs:23
float dirTimer
Definition: Critter.cs:17
float x
Definition: Critter.cs:13
Vector2 dir
Definition: Critter.cs:11
int tile
Definition: Critter.cs:7
virtual float BaseSpeed
Definition: Critter.cs:37
float y
Definition: Critter.cs:15

References AnimeTile, animeTimer, BaseSpeed, dir, dirTimer, Core.gameDelta, IdleTile, index, Interval, reverse, EClass.rnd(), speed, tile, x, and y.

Referenced by BaseTileMap.DrawTile().

Member Data Documentation

◆ animeTimer

float Critter.animeTimer

Definition at line 19 of file Critter.cs.

Referenced by Update().

◆ dir

Vector2 Critter.dir

Definition at line 11 of file Critter.cs.

Referenced by Update().

◆ dirTimer

float Critter.dirTimer

Definition at line 17 of file Critter.cs.

Referenced by Update().

◆ index

int Critter.index

Definition at line 9 of file Critter.cs.

Referenced by Update().

◆ R

const float Critter.R = 0.12f
static

Definition at line 5 of file Critter.cs.

◆ reverse

bool Critter.reverse

Definition at line 23 of file Critter.cs.

Referenced by BaseTileMap.DrawTile(), and Update().

◆ speed

float Critter.speed = 0.1f

Definition at line 21 of file Critter.cs.

Referenced by Update().

◆ tile

int Critter.tile

Definition at line 7 of file Critter.cs.

Referenced by BaseTileMap.DrawTile(), and Update().

◆ x

float Critter.x

Definition at line 13 of file Critter.cs.

Referenced by Update().

◆ y

float Critter.y

Definition at line 15 of file Critter.cs.

Referenced by Update().

Property Documentation

◆ AnimeTile

virtual int Critter.AnimeTile
get

Definition at line 29 of file Critter.cs.

Referenced by Update().

◆ animeTiles

virtual int [] Critter.animeTiles
get

Definition at line 25 of file Critter.cs.

◆ BaseSpeed

virtual float Critter.BaseSpeed
get

Definition at line 37 of file Critter.cs.

Referenced by Update().

◆ IdleTile

virtual int Critter.IdleTile
get

Definition at line 31 of file Critter.cs.

Referenced by Update().

◆ idleTiles

virtual int [] Critter.idleTiles
get

Definition at line 27 of file Critter.cs.

◆ Interval

virtual int Critter.Interval
get

Definition at line 35 of file Critter.cs.

Referenced by Update().

◆ SnowTile

virtual int Critter.SnowTile
get

Definition at line 33 of file Critter.cs.

Referenced by BaseTileMap.DrawTile().


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