public override float UseTimeMultiplier(Item item, Player player) { ClickerAddonPlayer modPlayer = player.GetModPlayer <ClickerAddonPlayer>(); if (ClickerCompat.IsClickerWeapon(item)) { if (!player.GetModPlayer <ClickerAddonPlayer>().autoClicker) { if (player.GetModPlayer <ClickerAddonPlayer>().silvaCapsuit) { item.autoReuse = true; return(2f); } else { return(1f); } } else { item.autoReuse = true; //return 10f; return(player.GetModPlayer <ClickerAddonPlayer>().autoClickerMultiplier[1]); } //return modPlayer.autoClickerMultiplier[1]; } else { return(1f); } }
public override void UpdateArmorSet(Player player) { player.setBonus = "5% increased clicker damage\nInferno effect when below 50% life\nYou have a 20% chance to emit a blazing explosion when you are hit\nClicker attacks summon damaging and healing flare orbs on hit"; Mod calamity = ModLoader.GetMod("CalamityMod"); ClickerAddonPlayer modPlayer = player.GetModPlayer <ClickerAddonPlayer>(); CalamityCompat.CalamityArmorSetBonus(player, "ataxia"); ClickerCompat.SetDamageAdd(player, 0.05f); modPlayer.ataxiaCapsuit = true; }
public override bool Shoot(Item item, Player player, ref Vector2 position, ref float speedX, ref float speedY, ref int type, ref int damage, ref float knockBack) { ClickerAddonPlayer clickerPlayer = player.GetModPlayer <ClickerAddonPlayer>(); Mod calamity = ModLoader.GetMod("CalamityMod"); if (ClickerCompat.IsClickerItem(item)) { if (clickerPlayer.daedalusCapsuit && Main.rand.NextBool(5)) { for (int i = 0; i < 5; i++) { int damageA = (int)(damage * 0.5f); Vector2 vec1 = Main.MouseWorld; Vector2 vec2 = new Vector2(Main.rand.NextFloat(-5f, 5f), Main.rand.NextFloat(-5f, 5f)); Projectile.NewProjectile(vec1, vec2, ProjectileID.CrystalShard, damageA, knockBack, player.whoAmI); } } if (clickerPlayer.reaverCapsuit && Main.rand.NextBool(5)) { int damageA = (int)(damage * 0.1f); for (int i = 0; i < 4; i++) { int numA = 50; Vector2 vec1 = new Vector2(Main.MouseWorld.X + Main.rand.Next(-numA, numA), Main.MouseWorld.Y + Main.rand.Next(-numA, numA)); Vector2 vec2 = new Vector2(0f, 0f); if (Main.rand.NextBool(2)) { Projectile.NewProjectile(vec1, vec2, ProjectileID.SporeTrap, damageA, knockBack, player.whoAmI); } else { Projectile.NewProjectile(vec1, vec2, ProjectileID.SporeTrap2, damageA, knockBack, player.whoAmI); } } } if (clickerPlayer.godSlayerCapsuit && Main.rand.NextBool(5)) { int damageA = (int)(damage * 0.15f); for (int i = 0; i < 4; i++) { int numA = 50; Vector2 vec1 = new Vector2(Main.MouseWorld.X + Main.rand.Next(-numA, numA), Main.MouseWorld.Y + Main.rand.Next(-numA, numA)); Vector2 vec2 = new Vector2(0f, 0f); Projectile.NewProjectile(vec1, vec2, calamity.ProjectileType("NebulaStar"), damageA, knockBack, player.whoAmI); } } return(false); } return(base.Shoot(item, player, ref position, ref speedX, ref speedY, ref type, ref damage, ref knockBack)); }
public override void UpdateAccessory(Player player, bool hideVisual) { ClickerAddonPlayer modPlayer = player.GetModPlayer <ClickerAddonPlayer>(); /*if (!hideVisual) * { * modPlayer.ZoneMiceMonolith = true; * } * else * { * modPlayer.ZoneTowerMice = true; * }*/ modPlayer.ZoneMiceMonolith = true; }
//private const int skillDelay = 0; public override float MeleeSpeedMultiplier(Item item, Player player) { ClickerAddonPlayer modPlayer = player.GetModPlayer <ClickerAddonPlayer>(); if (ClickerCompat.IsClickerWeapon(item)) { if (!modPlayer.autoClicker) { if (modPlayer.silvaCapsuit) { item.autoReuse = true; return(0.5f); } else { return(1f); } } else { item.autoReuse = true; //return 0.1f; return(modPlayer.autoClickerMultiplier[0]); } /*if(modPlayer.autoClicker || modPlayer.silvaCapsuit || player.HasBuff(ModLoader.GetMod("ClickerClass").BuffType("AutoClick")) || ClickerCompat.GetAccessory(player, "HandCream")) * { * item.autoReuse = true; * } * else * { * item.autoReuse = false; * } * return modPlayer.autoClickerMultiplier[0];*/ } else { return(1f); } }
public override void ModifyHitNPC(Projectile projectile, NPC target, ref int damage, ref float knockback, ref bool crit, ref int hitDirection) { Player player = Main.LocalPlayer; ClickerAddonPlayer clickerPlayer = player.GetModPlayer <ClickerAddonPlayer>(); if (ClickerCompat.IsClickerProj(projectile)) { for (int u = 0; u < Main.maxNPCs; u++) { /*NPC target = Main.npc[u];*/ if (target.CanBeChasedBy(projectile) && target.DistanceSQ(projectile.Center) < 100 * 10) { if (clickerPlayer.magmaChair) { target.AddBuff(BuffID.OnFire, 120, false); } if (clickerPlayer.frostCoolerArmor) { target.AddBuff(BuffID.Frostburn, 120, false); } //if (player.GetModPlayer<ClickerAddonPlayer>()) } } /*if (player.GetModPlayer<ClickerAddonPlayer>().magmaChair) * { * for (int u = 0; u < Main.maxNPCs; u++) * { * if (target.CanBeChasedBy(projectile) && target.DistanceSQ(projectile.Center) < 100 * 10) * { * target.AddBuff(BuffID.OnFire, 120, false); * } * } * }*/ } }
public override Color?GetAlpha(Color lightColor) { ClickerAddonPlayer player = Main.LocalPlayer.GetModPlayer <ClickerAddonPlayer>(); return(new Color?(player.lunarColor)); }
public override bool Shoot(Item item, Player player, ref Vector2 position, ref float speedX, ref float speedY, ref int type, ref int damage, ref float knockBack) { ClickerAddonPlayer clickerPlayer = player.GetModPlayer <ClickerAddonPlayer>(); if (ClickerCompat.IsClickerWeapon(item)) { Mod clickerClass = ModLoader.GetMod("ClickerClass"); //ClickerPlayer clickerPlayer = player.GetModPlayer<ClickerPlayer>(); //ClickerAddonPlayer modPlayer = player.GetModPlayer<ClickerAddonPlayer>(); /*if (skillDelay > 0) * { * skillDelay--; * }*/ if (player.altFunctionUse == 2) { if (clickerPlayer.setAbilityDelayTimer == 0) { if (clickerPlayer.cloneMice) { bool canTeleport = false; if (!ClickerCompat.HasClickEffect(player, "PhaseReach")) { if (Vector2.Distance(Main.MouseWorld, player.Center) < ClickerCompat.GetClickerRadius(player) * 100 && Collision.CanHitLine(new Vector2(player.Center.X, player.Center.Y - 12), 1, 1, Main.MouseWorld, 1, 1)) { canTeleport = true; } } else { canTeleport = true; } if (canTeleport) { Main.PlaySound(SoundID.Item, (int)Main.MouseWorld.X, (int)Main.MouseWorld.Y, 115); Main.SetCameraLerp(0.1f, 0); player.Center = Main.MouseWorld; NetMessage.SendData(MessageID.PlayerControls, number: player.whoAmI); player.fallStart = (int)(player.position.Y / 16f); clickerPlayer.setAbilityDelayTimer = 60; //skillDelay = 60; } } /*else if(player.GetModPlayer<ClickerAddonPlayer>().cloneMotherboard) * { * //Main.PlaySound(SoundID.Camera, Main.MouseWorld.X, Main.MouseWorld.Y, 0); * clickerPlayer.SetMotherboardRelativePosition(Main.MouseWorld); * player.GetModPlayer<ClickerAddonPlayer>().setAbilityDelayTimer = 60; * }*/ } } if (ClickerCompat.GetClickAmount(player) % 5 == 0 && clickerPlayer.clickerCobaltSet) { Main.PlaySound(SoundID.Item, (int)Main.MouseWorld.X, (int)Main.MouseWorld.Y, 24); player.AddBuff(clickerClass.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 = 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; } } if (clickerPlayer.clonePrecursor) { Projectile.NewProjectile(Main.MouseWorld.X, Main.MouseWorld.Y, 0f, 0f, clickerClass.ProjectileType("PrecursorPro"), (int)(damage * 0.25f), knockBack, player.whoAmI); } if (ClickerCompat.GetClickAmount(player) % 100 == 0 && clickerPlayer.cloneOverclock) { Main.PlaySound(SoundID.Item, (int)Main.MouseWorld.X, (int)Main.MouseWorld.Y, 94); player.AddBuff(clickerClass.BuffType("OverclockBuff"), 180, false); for (int i = 0; i < 25; i++) { int num6 = Dust.NewDust(player.position, 20, 20, 90, 0f, 0f, 150, default(Color), 1.35f); 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; } } if (clickerPlayer.diceEffect && Main.rand.NextBool(10)) { Projectile.NewProjectile(Main.MouseWorld.X, Main.MouseWorld.Y, 0f, 0f, clickerClass.ProjectileType("ClickDamage"), damage, knockBack, player.whoAmI); } /*if(clickerPlayer.ataxiaCapsuit && Main.rand.NextBool(4)) * { * Mod calamity = ModLoader.GetMod("CalamityMod"); * Vector2 vec1 = Main.MouseWorld; * int num1 = 50; * Vector2 vec2 = new Vector2(Main.rand.Next(-num1, num1), Main.rand.Next(-num1, num1)); * Projectile.NewProjectile(vec1, vec2, calamity.ProjectileType("AtaxiaHealOrb"), damage, knockBack, player.whoAmI); * }*/ return(false); } return(base.Shoot(item, player, ref position, ref speedX, ref speedY, ref type, ref damage, ref knockBack)); }
public static object Call(params object[] args) { Mod clickerAddon = ModLoader.GetMod("ClickerAddon"); string success = "Success"; try { string mes = args[0] as string; int index = 1; if (mes == "ClickerAddonStat") { var player = args[index + 0] as Player; var type = args[index + 1] as string; if (type == null) { throw new Exception($"Call Error: The statName argument for the attempted message, \"{mes}\" has returned null."); } if (player == null) { throw new Exception($"Call Error: The player argument for the attempted message, \"{mes}\" has returned null."); } ClickerAddonPlayer modPlayer = player.GetModPlayer <ClickerAddonPlayer>(); if (type == "SetArmorSet") { var name = args[index + 2] as string; if (name == null) { throw new Exception($"Call Error: The armorName argument for the attempted message, \"{mes}\" has returned null."); } if (ModLoader.GetMod("CalamityMod") != null) { if (name == "reaver" || name == "Reaver") { modPlayer.reaverCapsuit = true; } else if (name == "hydrothermic" || name == "Hydrothermic") { modPlayer.ataxiaCapsuit = true; } else if (name == "bloodflare" || name == "Bloodflare" || name == "BloodFlare") { modPlayer.bloodflareCapsuit = true; } else if (name == "godslayer" || name == "godSlayer" || name == "GodSlayer") { modPlayer.godSlayerCapsuit = true; } else if (name == "silva" || name == "Silva") { modPlayer.silvaCapsuit = true; } } else { throw new Exception($"Call Error: Calamity Mod is not loaded "); } } if (type == "SetAccessory") { var name = args[index + 2] as string; if (name == null) { throw new Exception($"Call Error: The accName argument for the attempted message, \"{mes}\" has returned null."); } if (name == "magmaChair") { modPlayer.magmaChair = true; } if (name == "bigRedButton") { modPlayer.bigRedButton = true; } if (name == "bandOfClicking") { modPlayer.bandOfClicking = true; } if (name == "dice") { modPlayer.diceEffect = true; } } if (type == "SetOtherEffect") { var name = args[index + 2] as string; if (name == null) { throw new Exception($"Call Error: The otherEffectName argument for the attempted message, \"{mes}\" has returned null."); } if (name == "carbonatedPotion" || name == "CarbonatedPotion") { ClickerCompat.EnableClickEffect(player, "ClickerAddon:Carbonated"); } if (name == "cheatautoclick" || name == "cheatAutoClick" || name == "CheatAutoClick") { modPlayer.autoClicker = true; } if (name == "cheatautoclick10x" || name == "cheatAutoClick10x" || name == "CheatAutoClick10x") { modPlayer.autoClicker = true; modPlayer.autoClickerMultiplier = new float[] { 0.1f, 10f }; } } } } catch (Exception e) { clickerAddon.Logger.Error($"Call Error: {e.StackTrace} {e.Message}"); } return(null); }