Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
SpelunkerProjectileHelper.cs
Go to the documentation of this file.
3
5
7{
9
11
13
14 private int _frameCounter;
15
17 {
18 _clampBox = new Rectangle(2, 2, Main.maxTilesX - 2, Main.maxTilesY - 2);
19 if (++_frameCounter >= 10)
20 {
21 _frameCounter = 0;
24 }
25 }
26
28 {
30 {
32 }
33 }
34
35 private void CheckSpot(Vector2 Center)
36 {
37 int num = (int)Center.X / 16;
38 int num2 = (int)Center.Y / 16;
39 int num3 = Utils.Clamp(num - 30, _clampBox.Left, _clampBox.Right);
40 int num4 = Utils.Clamp(num + 30, _clampBox.Left, _clampBox.Right);
41 int num5 = Utils.Clamp(num2 - 30, _clampBox.Top, _clampBox.Bottom);
42 int num6 = Utils.Clamp(num2 + 30, _clampBox.Top, _clampBox.Bottom);
43 Point item = default(Point);
44 Vector2 position = default(Vector2);
45 for (int i = num3; i <= num4; i++)
46 {
47 for (int j = num5; j <= num6; j++)
48 {
49 Tile tile = Main.tile[i, j];
50 if (tile != null && tile.active() && Main.IsTileSpelunkable(tile) && !(new Vector2(num - i, num2 - j).Length() > 30f))
51 {
52 item.X = i;
53 item.Y = j;
54 if (_tilesChecked.Add(item) && Main.rand.Next(4) == 0)
55 {
56 position.X = i * 16;
57 position.Y = j * 16;
58 Dust dust = Dust.NewDustDirect(position, 16, 16, 204, 0f, 0f, 150, default(Color), 0.3f);
59 dust.fadeIn = 0.75f;
60 dust.velocity *= 0.1f;
61 dust.noLight = true;
62 }
63 }
64 }
65 }
66 }
67}
void ICollection< T >. Add(T item)
Definition HashSet.cs:225
static Dust NewDustDirect(Vector2 Position, int Width, int Height, int Type, float SpeedX=0f, float SpeedY=0f, int Alpha=0, Color newColor=default(Color), float Scale=1f)
Definition Dust.cs:63
static int maxTilesY
Definition Main.cs:1116
static int maxTilesX
Definition Main.cs:1114
static Tile[,] tile
Definition Main.cs:1675
static UnifiedRandom rand
Definition Main.cs:1387
static bool IsTileSpelunkable(Tile t)
Definition Main.cs:20286
bool active()
Definition Tile.cs:565