75908 {
75909
75910
75911
75912
75913
75914
75915
75916
75917
75918
75919
75920
75921
75922
75923
75924
75925
75926
75927
75928
75929
75930
75931
75932
75933
75934
75935
75936
75937
75938
75939
75940
75941
75942
75943
75944
75945
75946
75947
75948
75949
75950
75951
75952
75953
75954
75955
75956
75957
75958
75959
75960
75961
75962
75963
75964
75965
75966
75967
75968
75969
75970
75971
75972
75973
75974
75975
75976
75977
75978
75979
75980
75981
75982
75983
75984
75985
75986
75987
75988
75989
75990
75991
75992
75993
75994
75995
75996
75997
75998
75999
76000
76001
76002
76003
76004
76005
76006
76007
76008
76009
76016 if (Main.player[
owner].setMonkT2)
76017 {
76019 }
76020 if (Main.player[
owner].setMonkT3)
76021 {
76024 }
76026 if (
ai[0] >= (
float)
num3)
76027 {
76029 }
76031 {
76033 for (int i = 0; i < 200; i++)
76034 {
76037 {
76039 break;
76040 }
76041 }
76043 {
76045 }
76046 }
76048 {
76051 Point origin =
base.Center.ToTileCoordinates();
76054 {
76057 return;
76058 }
76060 {
76062 }
76065 {
76067 }
76072 {
76074 }
76076 {
76078 }
76082 {
76084 }
76086 }
76088 {
76091 {
76093 }
76094 }
76095 DelegateMethods.v3_1 =
new Vector3(0.2
f, 0.7
f, 1
f);
76096 Utils.PlotTileLine(
base.Center + Vector2.UnitX * -40
f,
base.Center + Vector2.UnitX * 40
f, 80
f, DelegateMethods.CastLightOpen);
76097 Vector2
vector2 =
default(Vector2);
76099 for (
int j = 0;
j < 4;
j++)
76100 {
76101 if (Main.rand.Next(6) != 0)
76102 {
76103 continue;
76104 }
76105 Vector2
vector3 = Main.rand.NextVector2Unit();
76107 {
76110 {
76113 dust.velocity = (
vector2 - dust.position).SafeNormalize(Vector2.Zero);
76114 dust.scale = 0.7f;
76116 dust.noGravity = true;
76117 dust.noLight = true;
76118 }
76119 }
76120 }
76121 for (
int k = 0;
k < 0;
k++)
76122 {
76123 if (Main.rand.Next(10) != 0)
76124 {
76125 continue;
76126 }
76127 Vector2
vector4 = Main.rand.NextVector2Unit();
76129 {
76132 {
76134 dust2.velocity *= 0.6f;
76135 dust2.velocity += Vector2.UnitY * -2
f;
76136 dust2.noGravity = true;
76137 dust2.noLight = true;
76138 }
76139 }
76140 }
76141 for (
int l = 0;
l < 4;
l++)
76142 {
76143 if (Main.rand.Next(10) == 0)
76144 {
76146 dust3.velocity *= 0.6f;
76147 dust3.velocity += Vector2.UnitY * -2
f;
76148 dust3.scale = 0.7f;
76149 dust3.noGravity = true;
76150 dust3.noLight = true;
76151 }
76152 }
76154 velocity.Y += 0.2f;
76155 }
static SlotId PlayTrackedSound(in SoundStyle style, Vector2? position=null)
Vector2 velocity
The velocity of this Entity in world coordinates per tick.
Vector2 position
The position of this Entity in world coordinates.
int width
The width of this Entity's hitbox, in pixels.
int height
The height of this Entity's hitbox, in pixels.
static readonly SoundStyle DD2_LightningAuraZap
int owner
The index of the player who owns this projectile. In Multiplayer, Clients "own" projectiles that they...
float[] ai
An array with 3 slots used for any sort of data storage, which is occasionally synced to the server....
static Conditions.NotNull _cachedConditions_notNull
float[] localAI
Acts like F:Terraria.Projectile.ai, but does not sync to the server. Many vanilla T:Terraria....
int frame
The frame number in the spritesheet that this projectile will be drawn with. Assign in M:Terraria....
float knockBack
This will always be set in Projectile.NewProjectile based on the weapons knockback and player stat mo...
int type
The Projectile ID of this projectile. The Projectile ID is a unique number assigned to each Projectil...
bool tileCollide
If true, the projectile will collide with tiles, usually bouncing or killing the tile depending on M:...
static Conditions.IsSolid _cachedConditions_solid
bool Colliding(Rectangle myRect, Rectangle targetRect)
int frameCounter
Used as a timer to decide when to change F:Terraria.Projectile.frame. Defaults to 0.
bool AI_137_CanHit(Vector2 targetPosition)
static GenSearch Chain(GenSearch search, params GenCondition[] conditions)
static bool Find(Point origin, GenSearch search, out Point result)