public override void UpdateArmorSet(Player player) { player.setBonus = "Increases minion damage by 25%\n" + "Increases squire travel range by 5 blocks\n" + "Increases squire travel speed by 25%"; player.minionDamageMult += 0.25f; SquireModPlayer squirePlayer = player.GetModPlayer <SquireModPlayer>(); squirePlayer.squireRangeFlatBonus += 60f; squirePlayer.squireTravelSpeedMultiplier += 0.25f; squirePlayer.hardmodeOreSquireArmorSetEquipped = true; // insert whatever variable needs to be activated so the player's minions will release homing fungi spores similar to the fungi bulb, but just recolored to look like a mushroom. }
public override void UpdateArmorSet(Player player) { player.setBonus = "Become immune after striking an enemy\n" + "Increases minion damage by 10%\n" + "Increases squire travel range by 5 blocks\n" + "Increases squire travel speed by 20%"; player.minionDamageMult += 0.10f; player.onHitDodge = true; // titanium armor effect SquireModPlayer squirePlayer = player.GetModPlayer <SquireModPlayer>(); squirePlayer.squireRangeFlatBonus += 80f; squirePlayer.squireTravelSpeedMultiplier += 0.20f; squirePlayer.hardmodeOreSquireArmorSetEquipped = true; // insert whatever variable needs to be activated so the player's minions will release homing fungi spores similar to the fungi bulb, but just recolored to look like a mushroom. }
public override Vector2 IdleBehavior() { int angleFrame = animationFrame % AnimationFrames; float angle = 2 * (float)(Math.PI * angleFrame) / AnimationFrames; float radius = 36; Vector2 angleVector = radius * new Vector2((float)Math.Cos(angle), (float)Math.Sin(angle)); SquireModPlayer modPlayer = player.GetModPlayer <SquireModPlayer>(); if (modPlayer.HasSquire()) { projectile.spriteDirection = modPlayer.GetSquire().spriteDirection; } // offset downward vertically a bit // the scale messes with the positioning in some way return(base.IdleBehavior() + angleVector + new Vector2(0, 8)); }
public override void ModifyHitNPC(Projectile projectile, NPC target, ref int damage, ref float knockback, ref bool crit, ref int hitDirection) { if (!DoesSummonDamage(projectile)) { return; } Player player = Main.player[projectile.owner]; MinionSpawningItemPlayer modPlayer = player.GetModPlayer <MinionSpawningItemPlayer>(); SquireModPlayer squirePlayer = player.GetModPlayer <SquireModPlayer>(); // require multiple minion types for any bonus float damageMult = 1; if (modPlayer.minionVarietyBonusCount > 1) { damageMult += modPlayer.minionVarietyBonusCount * modPlayer.minionVarietyDamageBonus; } if (squirePlayer.GetSquire() != default) { damageMult -= ServerConfig.Instance.MinionDamageSquireNerf / 100f; } damage = (int)(damage * damageMult); }
protected override bool IsEquipped(SquireModPlayer player) { return(player.royalArmorSetEquipped); }
protected override bool IsEquipped(SquireModPlayer player) { return(player.squireTechnoSkullAccessory); }
protected override bool IsEquipped(SquireModPlayer player) => player.HasSquire() && player.GetSquire().type == ProjectileType <TitaniumSquireMinion>();