Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Microsoft.Xna.Framework;
- using Microsoft.Xna.Framework.Graphics;
- using Terraria;
- using Terraria.DataStructures;
- using Terraria.Enums;
- using Terraria.ID;
- using Terraria.ModLoader;
- using Terraria.ObjectData;
- namespace CortixMod.Tiles
- {
- public class SparkSlimeCandelabra : ModTile
- {
- public override void SetDefaults()
- {
- Main.tileLighted[Type] = true;
- Main.tileFrameImportant[Type] = true;
- Main.tileSolid[Type] = false;
- Main.tileNoAttach[Type] = true;
- Main.tileNoFail[Type] = true;
- Main.tileWaterDeath[Type] = true;
- TileObjectData.addTile(Type);
- AddToArray(ref TileID.Sets.RoomNeeds.CountsAsTorch);
- AddMapEntry(new Color(255, 67, 185));
- dustType = mod.DustType("SparkSlimeSparkle");
- disableSmartCursor = true;
- adjTiles = new int[] { TileID.Candelabras };
- }
- public override void KillMultiTile(int i, int j, int frameX, int frameY)
- {
- Item.NewItem(i * 16, j * 16, 32, 16, mod.ItemType("SparkSlimeCandelabra"));
- }
- public override void NumDust(int i, int j, bool fail, ref int num)
- {
- num = Main.rand.Next(1, 3);
- }
- public override void ModifyLight(int i, int j, ref float r, ref float g, ref float b)
- {
- Tile tile = Main.tile[i, j];
- if (tile.frameX < 66)
- {
- r = 0.9f;
- g = 0.9f;
- b = 0.9f;
- }
- }
- public override void SetDrawPositions(int i, int j, ref int width, ref int offsetY, ref int height)
- {
- offsetY = 0;
- if (WorldGen.SolidTile(i, j - 1))
- {
- offsetY = 2;
- if (WorldGen.SolidTile(i - 1, j + 1) || WorldGen.SolidTile(i + 1, j + 1))
- {
- offsetY = 4;
- }
- }
- }
- public override void PostDraw(int i, int j, SpriteBatch spriteBatch)
- {
- ulong randSeed = Main.TileFrameSeed ^ (ulong)((long)j << 32 | (long)((ulong)i));
- Color color = new Color(100, 100, 100, 0);
- int frameX = Main.tile[i, j].frameX;
- int frameY = Main.tile[i, j].frameY;
- int width = 20;
- int offsetY = 0;
- int height = 20;
- if (WorldGen.SolidTile(i, j - 1))
- {
- offsetY = 2;
- if (WorldGen.SolidTile(i - 1, j + 1) || WorldGen.SolidTile(i + 1, j + 1))
- {
- offsetY = 4;
- }
- }
- Vector2 zero = new Vector2(Main.offScreenRange, Main.offScreenRange);
- if (Main.drawToScreen)
- {
- zero = Vector2.Zero;
- }
- for (int k = 0; k < 7; k++)
- {
- float x = (float)Utils.RandomInt(ref randSeed, -10, 11) * 0.15f;
- float y = (float)Utils.RandomInt(ref randSeed, -10, 1) * 0.35f;
- Main.spriteBatch.Draw(mod.GetTexture("Tiles/SparkSlimeCandelabra_Flame"), new Vector2((float)(i * 16 - (int)Main.screenPosition.X) - (width - 16f) / 2f + x, (float)(j * 16 - (int)Main.screenPosition.Y + offsetY) + y) + zero, new Rectangle(frameX, frameY, width, height), color, 0f, default(Vector2), 1f, SpriteEffects.None, 0f);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement