Exemplo n.º 1
0
        public override void SetStaticDefaults()
        {
            base.SetStaticDefaults();
            DisplayName.SetDefault("Witch Clicker");

            ClickEffect.WildMagic = ClickerSystem.RegisterClickEffect(mod, "WildMagic", "Wild Magic", "Randomly acts as any possible click effect", 6, new Color(175, 75, 255, 0), delegate(Player player, Vector2 position, int type, int damage, float knockBack)
            {
                List <string> excluded = new List <string>
                {
                    ClickEffect.WildMagic,
                    ClickEffect.Conqueror
                };

                List <string> allowed = new List <string>();

                foreach (var name in ClickerSystem.GetAllEffectNames())
                {
                    if (!excluded.Contains(name))
                    {
                        allowed.Add(name);
                    }
                }

                if (allowed.Count == 0)
                {
                    return;
                }

                string random = Main.rand.Next(allowed);
                if (ClickerSystem.IsClickEffect(random, out ClickEffect effect))
                {
                    effect.Action?.Invoke(player, position, type, damage, knockBack);
                }
            });
        }
Exemplo n.º 2
0
        public override void SetStaticDefaults()
        {
            base.SetStaticDefaults();

            ClickEffect.Curse = ClickerSystem.RegisterClickEffect(Mod, "Curse", null, null, 12, new Color(150, 100, 255), delegate(Player player, EntitySource_ItemUse_WithAmmo source, Vector2 position, int type, int damage, float knockBack)
            {
                Vector2 pos = position;

                int index = -1;
                for (int i = 0; i < Main.maxNPCs; i++)
                {
                    NPC npc = Main.npc[i];
                    if (npc.active && npc.CanBeChasedBy() && npc.DistanceSQ(pos) < 400f * 400f && Collision.CanHit(pos, 1, 1, npc.Center, 1, 1))
                    {
                        index = i;
                    }
                }
                if (index != -1)
                {
                    Vector2 vector = Main.npc[index].Center - pos;
                    float speed    = 6f;
                    float mag      = vector.Length();
                    if (mag > speed)
                    {
                        mag     = speed / mag;
                        vector *= mag;
                    }
                    Projectile.NewProjectile(source, pos, vector, ModContent.ProjectileType <ShadowyClickerPro>(), damage, knockBack, player.whoAmI);
                }
            });
        }
Exemplo n.º 3
0
        public override void SetStaticDefaults()
        {
            base.SetStaticDefaults();

            ClickEffect.HolyNova = ClickerSystem.RegisterClickEffect(mod, "HolyNova", null, null, 12, new Color(255, 225, 0), delegate(Player player, Vector2 position, int type, int damage, float knockBack)
            {
                Main.PlaySound(SoundID.NPCHit, (int)Main.MouseWorld.X, (int)Main.MouseWorld.Y, 5);
                for (int u = 0; u < Main.maxNPCs; u++)
                {
                    NPC target = Main.npc[u];
                    if (Collision.CanHit(target.Center, 1, 1, Main.MouseWorld, 1, 1) && target.DistanceSQ(Main.MouseWorld) < 350 * 350)
                    {
                        Vector2 vector = target.Center - Main.MouseWorld;
                        float speed    = 8f;
                        float mag      = (float)Math.Sqrt(vector.X * vector.X + vector.Y * vector.Y);
                        if (mag > speed)
                        {
                            mag = speed / mag;
                        }
                        vector *= mag;
                        Projectile.NewProjectile(target.Center.X, target.Center.Y, 0f, 0f, ModContent.ProjectileType <ArthursClickerPro>(), (int)(damage * 0.75f), knockBack, player.whoAmI, 1f, 0f);

                        for (int k = 0; k < 30; k++)
                        {
                            Dust dust      = Dust.NewDustDirect(target.Center, 8, 8, 87, vector.X + Main.rand.NextFloat(-1f, 1f), vector.Y + Main.rand.NextFloat(-1f, 1f), 0, default, 1.25f);
Exemplo n.º 4
0
        public override void SetStaticDefaults()
        {
            base.SetStaticDefaults();
            DisplayName.SetDefault("Palladium Clicker");

            ClickEffect.Regenerate = ClickerSystem.RegisterClickEffect(mod, "Regenerate", "Regenerate", "Grants the Rapid Healing buff, increasing the player's life regeneration", 8, new Color(250, 150, 100, 0), delegate(Player player, Vector2 position, int type, int damage, float knockBack)
            {
                Main.PlaySound(SoundID.Item, (int)Main.MouseWorld.X, (int)Main.MouseWorld.Y, 24);
                player.AddBuff(BuffID.RapidHealing, 120, false);
                for (int i = 0; i < 15; i++)
                {
                    int num6 = Dust.NewDust(player.position, 20, 20, ModContent.DustType <LoveDust>(), 0f, 0f, 0, Color.White, 1f);
                    Main.dust[num6].noGravity = true;
                    Main.dust[num6].velocity *= 0.75f;
                    int num7                   = Main.rand.Next(-50, 51);
                    int num8                   = Main.rand.Next(-50, 51);
                    Dust dust                  = Main.dust[num6];
                    dust.position.X            = dust.position.X + (float)num7;
                    Dust dust2                 = Main.dust[num6];
                    dust2.position.Y           = dust2.position.Y + (float)num8;
                    Main.dust[num6].velocity.X = -(float)num7 * 0.075f;
                    Main.dust[num6].velocity.Y = -(float)num8 * 0.075f;
                }
            });
        }
Exemplo n.º 5
0
        public override void SetStaticDefaults()
        {
            base.SetStaticDefaults();

            ClickEffect.Collision = ClickerSystem.RegisterClickEffect(Mod, "Collision", null, null, 10, new Color(150, 150, 225), delegate(Player player, EntitySource_ItemUse_WithAmmo source, Vector2 position, int type, int damage, float knockBack)
            {
                bool spawnEffects = true;
                for (int k = 0; k < 8; k++)
                {
                    float hasSpawnEffects = spawnEffects ? 1f : 0f;
                    Projectile.NewProjectile(source, position.X, position.Y, Main.rand.NextFloat(-2f, 2f), Main.rand.NextFloat(-2f, 2f), ModContent.ProjectileType <MiceClickerPro>(), (int)(damage * 0.75f), knockBack, player.whoAmI, (int)DateTime.Now.Ticks, hasSpawnEffects);
                    spawnEffects = false;
                }
            });

            if (!Main.dedServ)
            {
                glowmask = ModContent.Request <Texture2D>(Texture + "_Glow");

                HeldItemLayer.RegisterData(Item.type, new DrawLayerData()
                {
                    Texture = glowmask,
                    Color   = (PlayerDrawSet drawInfo) => new Color(255, 255, 255, 50) * 0.7f
                });
            }
        }
Exemplo n.º 6
0
        public override bool CanUseItem(Item item, Player player)
        {
            if (ClickerSystem.IsClickerWeapon(item))
            {
                ClickerPlayer clickerPlayer = player.GetModPlayer <ClickerPlayer>();
                if (clickerPlayer.clickerAutoClick || player.HasBuff(ModContent.BuffType <AutoClick>()))
                {
                    item.autoReuse = true;
                }
                else
                {
                    item.autoReuse = false;
                }

                if (!clickerPlayer.HasClickEffect(ClickEffect.PhaseReach))
                {
                    //collision
                    Vector2 motherboardPosition = clickerPlayer.setMotherboardPosition;
                    bool    inRange             = Vector2.Distance(Main.MouseWorld, player.Center) < clickerPlayer.ClickerRadiusReal && Collision.CanHit(new Vector2(player.Center.X, player.Center.Y - 12), 1, 1, Main.MouseWorld, 1, 1);
                    bool    inRangeMotherboard  = Vector2.Distance(Main.MouseWorld, motherboardPosition) < clickerPlayer.ClickerRadiusMotherboard && Collision.CanHit(motherboardPosition, 1, 1, Main.MouseWorld, 1, 1);
                    //bool allowMotherboard = player.GetModPlayer<ClickerPlayer>().clickerMotherboardSet && player.altFunctionUse == 2;

                    if (inRange || (inRangeMotherboard && player.altFunctionUse != 2))
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }
            return(base.CanUseItem(item, player));
        }
Exemplo n.º 7
0
 public override void GetWeaponCrit(Item item, Player player, ref int crit)
 {
     if (ClickerSystem.IsClickerWeapon(item))
     {
         crit += player.GetModPlayer <ClickerPlayer>().clickerCrit;
     }
 }
Exemplo n.º 8
0
 /// <summary>
 /// Call in <see cref="ModItem.SetDefaults"/> for a clicker weapon to set its dust type when it's used
 /// </summary>
 /// <param name="item">The clicker weapon</param>
 /// <param name="type">the dust type</param>
 public static void SetDust(Item item, int type)
 {
     if (ClickerSystem.IsClickerWeapon(item, out ClickerItemCore clickerItem))
     {
         clickerItem.clickerDustColor = type;
     }
 }
Exemplo n.º 9
0
        public override void SetStaticDefaults()
        {
            base.SetStaticDefaults();
            DisplayName.SetDefault("Cobalt Clicker");

            ClickEffect.Haste = ClickerSystem.RegisterClickEffect(mod, "Haste", "Haste", "Grants a jump boost and increased movement speed", 5, new Color(50, 125, 200, 0), delegate(Player player, Vector2 position, int type, int damage, float knockBack)
            {
                Main.PlaySound(SoundID.Item, (int)Main.MouseWorld.X, (int)Main.MouseWorld.Y, 24);
                player.AddBuff(ModContent.BuffType <Haste>(), 300, false);
                for (int i = 0; i < 15; i++)
                {
                    int num6 = Dust.NewDust(player.position, 20, 20, 56, 0f, 0f, 150, default(Color), 1.25f);
                    Main.dust[num6].noGravity = true;
                    Main.dust[num6].velocity *= 0.75f;
                    int num7                   = Main.rand.Next(-50, 51);
                    int num8                   = Main.rand.Next(-50, 51);
                    Dust dust                  = Main.dust[num6];
                    dust.position.X           += num7;
                    Dust dust2                 = Main.dust[num6];
                    dust2.position.Y          += num8;
                    Main.dust[num6].velocity.X = -num7 * 0.075f;
                    Main.dust[num6].velocity.Y = -num8 * 0.075f;
                }
            });
        }
Exemplo n.º 10
0
        public override void SetStaticDefaults()
        {
            base.SetStaticDefaults();

            ClickEffect.PetalStorm = ClickerSystem.RegisterClickEffect(Mod, "PetalStorm", null, null, 10, new Color(255, 150, 255), delegate(Player player, EntitySource_ItemUse_WithAmmo source, Vector2 position, int type, int damage, float knockBack)
            {
                SoundEngine.PlaySound(SoundID.Item, (int)position.X, (int)position.Y, 24);

                for (int k = 0; k < 5; k++)
                {
                    float xChoice     = Main.rand.Next(-100, 101);
                    float yChoice     = Main.rand.Next(-100, 101);
                    xChoice          += xChoice > 0 ? 300 : -300;
                    yChoice          += yChoice > 0 ? 300 : -300;
                    Vector2 startSpot = new Vector2(position.X + xChoice, position.Y + yChoice);
                    Vector2 endSpot   = new Vector2(position.X + Main.rand.Next(-10, 11), position.Y + Main.rand.Next(-10, 11));
                    Vector2 vector    = endSpot - startSpot;
                    float speed       = 4f;
                    float mag         = vector.Length();
                    if (mag > speed)
                    {
                        mag     = speed / mag;
                        vector *= mag;
                    }

                    int orichalcum = ModContent.ProjectileType <OrichaclumClickerPro>();
                    Projectile.NewProjectile(source, startSpot, vector, orichalcum, (int)(damage * 0.5f), 0f, player.whoAmI, Main.rand.Next(Main.projFrames[orichalcum]), 0f);
                }
            });
        }
Exemplo n.º 11
0
        public override void SetStaticDefaults()
        {
            base.SetStaticDefaults();

            ClickEffect.Fritz = ClickerSystem.RegisterClickEffect(Mod, "Fritz", null, null, 3, new Color(100, 100, 100), delegate(Player player, EntitySource_ItemUse_WithAmmo source, Vector2 position, int type, int damage, float knockBack)
            {
                var clickerPlayer = player.GetModPlayer <ClickerPlayer>();

                int radius = (int)(95 * clickerPlayer.clickerRadius);
                if (radius > 350)
                {
                    radius = 350;
                }

                Vector2 offset = player.Center;
                int tries      = 0;
                do
                {
                    offset  = Vector2.UnitY.RotatedByRandom(MathHelper.TwoPi);
                    offset *= radius * Main.rand.NextFloat();
                    offset += player.Center;
                    tries++;
                }while (tries < 100 && !Collision.CanHit(new Vector2(player.Center.X, player.Center.Y - 12), 1, 1, offset, 1, 1));

                if (tries >= 100)
                {
                    return;
                }

                Projectile.NewProjectile(source, offset, Vector2.Zero, ModContent.ProjectileType <FaultyClickerPro>(), (int)(damage * 2f), 0f, player.whoAmI);
            });
        }
Exemplo n.º 12
0
 /// <summary>
 /// Call in <see cref="ModItem.SetDefaults"/> for a clicker weapon to set its specific radius increase (1f means 100 pixel)
 /// </summary>
 /// <param name="item">The clicker weapon</param>
 /// <param name="radius">The additional radius</param>
 public static void SetRadius(Item item, float radius)
 {
     if (ClickerSystem.IsClickerWeapon(item, out ClickerItemCore clickerItem))
     {
         clickerItem.radiusBoost = radius;
     }
 }
Exemplo n.º 13
0
        public override void SetStaticDefaults()
        {
            base.SetStaticDefaults();

            ClickEffect.StingingThorn = ClickerSystem.RegisterClickEffect(mod, "StingingThorn", null, null, 8, new Color(100, 175, 75), delegate(Player player, Vector2 position, int type, int damage, float knockBack)
            {
                Main.PlaySound(SoundID.Item, (int)Main.MouseWorld.X, (int)Main.MouseWorld.Y, 17);

                Vector2 pos = Main.MouseWorld;

                int index = -1;
                for (int i = 0; i < 200; i++)
                {
                    NPC npc = Main.npc[i];
                    if (npc.active && npc.CanBeChasedBy() && Vector2.DistanceSquared(pos, npc.Center) < 400f * 400f && Collision.CanHit(pos, 1, 1, npc.Center, 1, 1))
                    {
                        index = i;
                    }
                }
                if (index != -1)
                {
                    Vector2 vector = Main.npc[index].Center - pos;
                    float speed    = 3f;
                    float mag      = (float)Math.Sqrt(vector.X * vector.X + vector.Y * vector.Y);
                    if (mag > speed)
                    {
                        mag = speed / mag;
                    }
                    vector *= mag;
                    Projectile.NewProjectile(Main.MouseWorld.X, Main.MouseWorld.Y, vector.X, vector.Y, ModContent.ProjectileType <PointyClickerPro>(), damage, knockBack, player.whoAmI);
                }
            });
        }
Exemplo n.º 14
0
 /// <summary>
 /// Call in <see cref="ModItem.SetDefaults"/> for a clicker item to make it display total click count in the tooltip
 /// </summary>
 /// <param name="item">The clicker class item</param>
 public static void SetDisplayTotalClicks(Item item)
 {
     if (ClickerSystem.IsClickerItem(item, out ClickerItemCore clickerItem))
     {
         clickerItem.isClickerDisplayTotal = true;
     }
 }
Exemplo n.º 15
0
 /// <summary>
 /// Call in <see cref="ModItem.SetDefaults"/> for a clicker weapon to set its radius color
 /// </summary>
 /// <param name="item">The clicker weapon</param>
 /// <param name="color">The color</param>
 public static void SetColor(Item item, Color color)
 {
     if (ClickerSystem.IsClickerWeapon(item, out ClickerItemCore clickerItem))
     {
         clickerItem.clickerRadiusColor = color;
     }
 }
Exemplo n.º 16
0
        public override void SetStaticDefaults()
        {
            base.SetStaticDefaults();
            DisplayName.SetDefault("Orichalcum Clicker");

            ClickEffect.PetalStorm = ClickerSystem.RegisterClickEffect(mod, "PetalStorm", "Petal Storm", "Causes 5 petal projectiles to be summoned near the player and shoot across the screen", 10, new Color(255, 150, 255, 0), delegate(Player player, Vector2 position, int type, int damage, float knockBack)
            {
                Main.PlaySound(SoundID.Item, (int)Main.MouseWorld.X, (int)Main.MouseWorld.Y, 24);

                for (int k = 0; k < 5; k++)
                {
                    float xChoice     = Main.rand.Next(-100, 101);
                    float yChoice     = Main.rand.Next(-100, 101);
                    xChoice          += xChoice > 0 ? 300 : -300;
                    yChoice          += yChoice > 0 ? 300 : -300;
                    Vector2 startSpot = new Vector2(Main.MouseWorld.X + xChoice, Main.MouseWorld.Y + yChoice);
                    Vector2 endSpot   = new Vector2(Main.MouseWorld.X + Main.rand.Next(-10, 11), Main.MouseWorld.Y + Main.rand.Next(-10, 11));
                    Vector2 vector    = endSpot - startSpot;
                    float speed       = 4f;
                    float mag         = (float)Math.Sqrt(vector.X * vector.X + vector.Y * vector.Y);
                    if (mag > speed)
                    {
                        mag = speed / mag;
                    }
                    vector *= mag;
                    Projectile.NewProjectile(startSpot.X, startSpot.Y, vector.X, vector.Y, ModContent.ProjectileType <OrichaclumClickerPro>(), (int)(damage * 0.5f), 0f, player.whoAmI, Main.rand.Next(3), 0f);
                }
            });
        }
Exemplo n.º 17
0
        public override void SetStaticDefaults()
        {
            //Special tooltip set before this normally, but we use lang keys so it's handled automatically
            base.SetStaticDefaults();

            ClickEffect.PhaseReach = ClickerSystem.RegisterClickEffect(mod, "PhaseReach", null, null, 1, new Color(100, 255, 255), null);
        }
Exemplo n.º 18
0
        public override void SetStaticDefaults()
        {
            base.SetStaticDefaults();

            ClickEffect.AutoClick = ClickerSystem.RegisterClickEffect(mod, "AutoClick", null, null, 20, new Color(150, 150, 255), delegate(Player player, Vector2 position, int type, int damage, float knockBack)
            {
                player.GetModPlayer <ClickerPlayer>().clickAmount++;
                Main.PlaySound(2, (int)Main.MouseWorld.X, (int)Main.MouseWorld.Y, 24);
                player.AddBuff(ModContent.BuffType <AutoClick>(), 300, false);
                for (int i = 0; i < 15; i++)
                {
                    int num6 = Dust.NewDust(player.position, 20, 20, 15, 0f, 0f, 255, default(Color), 1.5f);
                    Main.dust[num6].noGravity = true;
                    Main.dust[num6].velocity *= 0.75f;
                    int num7                   = Main.rand.Next(-50, 51);
                    int num8                   = Main.rand.Next(-50, 51);
                    Dust dust                  = Main.dust[num6];
                    dust.position.X           += num7;
                    Dust dust2                 = Main.dust[num6];
                    dust2.position.Y          += num8;
                    Main.dust[num6].velocity.X = -num7 * 0.075f;
                    Main.dust[num6].velocity.Y = -num8 * 0.075f;
                }
            });
        }
Exemplo n.º 19
0
        public override void SetStaticDefaults()
        {
            base.SetStaticDefaults();
            DisplayName.SetDefault("Space Clicker");

            ClickEffect.StarStorm = ClickerSystem.RegisterClickEffect(mod, "StarStorm", "Star Storm", "Causes 3 stars to fall from the sky and explode", 6, new Color(175, 75, 255, 0), delegate(Player player, Vector2 position, int type, int damage, float knockBack)
            {
                Main.PlaySound(SoundID.Item, (int)Main.MouseWorld.X, (int)Main.MouseWorld.Y, 42);

                for (int k = 0; k < 3; k++)
                {
                    Vector2 startSpot = new Vector2(Main.MouseWorld.X + Main.rand.Next(-100, 101), Main.MouseWorld.Y - 500 + Main.rand.Next(-25, 26));
                    Vector2 endSpot   = new Vector2(Main.MouseWorld.X + Main.rand.Next(-25, 26), Main.MouseWorld.Y + Main.rand.Next(-25, 26));
                    Vector2 vector    = endSpot - startSpot;
                    float speed       = 5f;
                    float mag         = (float)Math.Sqrt(vector.X * vector.X + vector.Y * vector.Y);
                    if (mag > speed)
                    {
                        mag = speed / mag;
                    }
                    vector *= mag;
                    Projectile.NewProjectile(startSpot.X, startSpot.Y, vector.X, vector.Y, ModContent.ProjectileType <SpaceClickerPro>(), (int)(damage * 0.75f), knockBack, player.whoAmI, endSpot.X, endSpot.Y);
                }
            });
        }
Exemplo n.º 20
0
        public override void SetStaticDefaults()
        {
            base.SetStaticDefaults();

            if (!Main.dedServ)
            {
                HeadLayer.RegisterData(Item.headSlot, new DrawLayerData()
                {
                    Texture = ModContent.Request <Texture2D>(Texture + "_Head_Glow"),
                    Color   = (PlayerDrawSet drawInfo) => new Color(Main.DiscoR, Main.DiscoG, Main.DiscoB, 75) * 0.8f
                });
            }

            ClickEffect.ChromaticBurst = ClickerSystem.RegisterClickEffect(Mod, "ChromaticBurst", null, null, 20, () => Color.Lerp(Color.White, Main.DiscoColor, 0.5f), delegate(Player player, EntitySource_ItemUse_WithAmmo source, Vector2 position, int type, int damage, float knockBack)
            {
                bool spawnEffects = true;
                int chromatic     = ModContent.ProjectileType <RGBPro>();

                float total = 7f;
                int i       = 0;
                while (i < total)
                {
                    float hasSpawnEffects = spawnEffects ? 1f : 0f;
                    Vector2 toDir         = Vector2.UnitX * 0f;
                    toDir           += -Vector2.UnitY.RotatedBy(i * (MathHelper.TwoPi / total)) * new Vector2(10f, 10f);
                    int damageAmount = (int)(damage * 0.33f);
                    damageAmount     = damageAmount < 1 ? 1 : damageAmount;
                    Projectile.NewProjectile(source, position, toDir.SafeNormalize(Vector2.UnitY) * 10f, chromatic, damageAmount, 1f, Main.myPlayer, 0f, hasSpawnEffects);
                    i++;
                    spawnEffects = false;
                }
            });
        }
Exemplo n.º 21
0
        public override void SetStaticDefaults()
        {
            base.SetStaticDefaults();

            ClickEffect.Rainbolt = ClickerSystem.RegisterClickEffect(Mod, "Rainbolt", null, null, 8, () => Color.Lerp(Color.White, Main.DiscoColor, 0.5f), delegate(Player player, EntitySource_ItemUse_WithAmmo source, Vector2 position, int type, int damage, float knockBack)
            {
                bool spawnEffects = true;
                for (int k = 0; k < 4; k++)
                {
                    //Projectile.NewProjectile(source, position, new Vector2(Main.rand.NextFloat(-3f, 3f), Main.rand.NextFloat(-3f, 3f)), ModContent.ProjectileType<RainbowClickerPro>(), (int)(damage * 0.5f), knockBack, player.whoAmI, hasSpawnEffects);

                    Vector2 spawnVelocity = Main.rand.NextVector2Circular(1f, 1f) + Main.rand.NextVector2CircularEdge(3f, 3f);
                    int projType          = ProjectileID.FairyQueenMagicItemShot;      //This projectile decreases damage by 20% each hit, fixed homing speed of 30
                    float targetIndex     = spawnEffects ? -2f : -1f;                  //Normally -1f, we intercept it
                    float randomColor     = player.miscCounterNormalized % 1f;
                    Projectile.NewProjectile(source, position, spawnVelocity, projType, (int)(damage * 0.5f), knockBack, player.whoAmI, targetIndex, randomColor);
                    spawnEffects = false;
                }
            });

            if (!Main.dedServ)
            {
                glowmask = ModContent.Request <Texture2D>(Texture + "_Glow");

                HeldItemLayer.RegisterData(Item.type, new DrawLayerData()
                {
                    Texture = glowmask,
                    Color   = (PlayerDrawSet drawInfo) => new Color(255, 255, 255, 50) * 0.75f
                });
            }
        }
Exemplo n.º 22
0
 /// <summary>
 /// Call in <see cref="ModItem.SetDefaults"/> for a clicker item to make it display total money generated by item
 /// </summary>
 /// <param name="item">The clicker class item</param>
 public static void SetDisplayMoneyGenerated(Item item)
 {
     if (ClickerSystem.IsClickerItem(item, out ClickerItemCore clickerItem))
     {
         clickerItem.isClickerDisplayMoneyGenerated = true;
     }
 }
Exemplo n.º 23
0
        public override void SetStaticDefaults()
        {
            base.SetStaticDefaults();
            DisplayName.SetDefault("Captain's Clicker");

            ClickEffect.Bombard = ClickerSystem.RegisterClickEffect(mod, "Bombard", "Bombard", "Causes 4 cannonballs to rain from the sky", 12, new Color(255, 225, 50, 0), delegate(Player player, Vector2 position, int type, int damage, float knockBack)
            {
                Main.PlaySound(SoundID.Item, (int)Main.MouseWorld.X, (int)Main.MouseWorld.Y, 14);

                for (int k = 0; k < 4; k++)
                {
                    Vector2 startSpot = new Vector2(Main.MouseWorld.X + Main.rand.Next(-150, 151), Main.MouseWorld.Y - 500 + Main.rand.Next(-25, 26));
                    Vector2 endSpot   = new Vector2(Main.MouseWorld.X + Main.rand.Next(-25, 26), Main.MouseWorld.Y + Main.rand.Next(-25, 26));
                    Vector2 vector    = endSpot - startSpot;
                    float speed       = 8f + Main.rand.NextFloat(-1f, 1f);
                    float mag         = (float)Math.Sqrt(vector.X * vector.X + vector.Y * vector.Y);
                    if (mag > speed)
                    {
                        mag = speed / mag;
                    }
                    vector *= mag;
                    Projectile.NewProjectile(startSpot.X, startSpot.Y, vector.X, vector.Y, ModContent.ProjectileType <CaptainsClickerPro>(), damage, knockBack, player.whoAmI, endSpot.X, endSpot.Y);
                }
            });
        }
Exemplo n.º 24
0
        public override void SetStaticDefaults()
        {
            base.SetStaticDefaults();
            DisplayName.SetDefault("Sinister Clicker");

            ClickEffect.Siphon = ClickerSystem.RegisterClickEffect(mod, "Siphon", "Siphon", "Deals a small amount of damage and restores the player's health by 5", 10, new Color(100, 25, 25, 0), delegate(Player player, Vector2 position, int type, int damage, float knockBack)
            {
                Main.PlaySound(SoundID.Item, (int)Main.MouseWorld.X, (int)Main.MouseWorld.Y, 112);
                Projectile.NewProjectile(Main.MouseWorld.X, Main.MouseWorld.Y, 0f, 0f, ModContent.ProjectileType <SinisterClickerPro>(), (int)(damage * 0.50f), knockBack, player.whoAmI);
                for (int i = 0; i < 15; i++)
                {
                    int num6 = Dust.NewDust(Main.MouseWorld, 20, 20, 5, 0f, 0f, 75, default(Color), 1.5f);
                    Main.dust[num6].noGravity = true;
                    Main.dust[num6].velocity *= 0.75f;
                    int num7                   = Main.rand.Next(-50, 51);
                    int num8                   = Main.rand.Next(-50, 51);
                    Dust dust                  = Main.dust[num6];
                    dust.position.X           += num7;
                    Dust dust2                 = Main.dust[num6];
                    dust2.position.Y          += num8;
                    Main.dust[num6].velocity.X = -num7 * 0.075f;
                    Main.dust[num6].velocity.Y = -num8 * 0.075f;
                }
            });
        }
Exemplo n.º 25
0
 public override void ModifyShootStats(Item item, Player player, ref Vector2 position, ref Vector2 velocity, ref int type, ref int damage, ref float knockback)
 {
     if (ClickerSystem.IsClickerWeapon(item))
     {
         var clickerPlayer = player.GetModPlayer <ClickerPlayer>();
         position = clickerPlayer.clickerPosition;
     }
 }
Exemplo n.º 26
0
        /// <summary>
        /// Call this in the inherited class as base.SetStaticDefaults() at the start of SetStaticDefaults
        /// </summary>
        public override void SetStaticDefaults()
        {
            ClickerSystem.RegisterClickerItem(this);

            //Set sacrifies to 1 by default. Let inheriting classes overwrite it if necessary
            //Most things in this mod are unstackable items, those all have 1
            CreativeItemSacrificesCatalog.Instance.SacrificeCountNeededByItemId[Type] = 1;
        }
Exemplo n.º 27
0
 public override bool CanRoll(Item item)
 {
     if (ClickerSystem.IsClickerWeapon(item))
     {
         return(item.maxStack == 1 && item.damage > 0 && item.useStyle > 0);
     }
     return(false);
 }
Exemplo n.º 28
0
        public override void SetStaticDefaults()
        {
            base.SetStaticDefaults();
            DisplayName.SetDefault("Spectre Clicker");
            Tooltip.SetDefault("Click on an enemy within sight to damage them");

            ClickEffect.PhaseReach = ClickerSystem.RegisterClickEffect(mod, "PhaseReach", "Phase Reach", "Damage enemies regardless of location", 1, new Color(100, 255, 255, 0), null);
        }
Exemplo n.º 29
0
 public override void Apply(Item item)
 {
     if (ClickerSystem.IsClickerWeapon(item, out ClickerItemCore clickerItem))
     {
         clickerItem.radiusBoostPrefix = radiusBonus;
         clickerItem.clickBoostPrefix  = clickBonus;
     }
 }
Exemplo n.º 30
0
        public override void SetStaticDefaults()
        {
            base.SetStaticDefaults();

            ClickEffect.Dazzle = ClickerSystem.RegisterClickEffect(Mod, "Dazzle", null, null, 8, new Color(200, 50, 255), delegate(Player player, EntitySource_ItemUse_WithAmmo source, Vector2 position, int type, int damage, float knockBack)
            {
                Projectile.NewProjectile(source, position, Vector2.Zero, ModContent.ProjectileType <CrystalClickerPro>(), 0, knockBack, player.whoAmI);
            });
        }