Skip to content

Commit

Permalink
1.2.4.0 update.
Browse files Browse the repository at this point in the history
Added 1 new weapon, "Burning Desire."
The Stellar Nova Gauge's visuals have been overhauled.
Fixed Spatial Disk alert messages being repeated in Multiplayer.
The Spatial Disk will now animate in the inventory when new dialogue is available.

Added a sound effect upon attacking with the Konpaku Katana. Additionally, shortened projectile range.
Overhauled Neo Dealmaker: now has a faster charge attack that does increased damage, faster attacks, new sound effects, and new visual effects.
Changes have been made to the following weapons:
Takonomicon now scales with boss progression, and Void Octopus scaling has been reduced from 7% to 1%. On-hit damage of Eldritch blast has decreased, but the speed of minion projectiles has increased.
Ashen Ambition will now always return you to your original position after execution.
Sparkblossom's Beacon drones will now explode with 2x base damage instead of 3x.
  • Loading branch information
ThePaperLuigi committed Sep 14, 2022
1 parent d19921f commit 39ea40d
Show file tree
Hide file tree
Showing 80 changed files with 2,648 additions and 565 deletions.
79 changes: 79 additions & 0 deletions Buffs/BurningDesire/BoilingBloodBuff.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Terraria;
using Terraria.DataStructures;
using Terraria.ID;
using Terraria.ID;
using Terraria.ModLoader;
using static Terraria.ModLoader.ModContent;

namespace StarsAbove.Buffs.BurningDesire
{
public class BoilingBloodBuff : ModBuff
{
public override void SetStaticDefaults()
{
DisplayName.SetDefault("Boiling Blood");
Description.SetDefault("Blazing strength empowers you, granting 30% increased damage, 30 defense, attack speed based on missing HP, and follow-up attacks" +
"\nHowever, health regeneration is disabled and you are slowly losing HP over time" +
"\n'It's not hot enough here!'");
Main.buffNoTimeDisplay[Type] = false;
Main.debuff[Type] = false; //Add this so the nurse doesn't remove the buff when healing
BuffID.Sets.NurseCannotRemoveDebuff[Type] = true;
}
int lifeDrainTimer;
public override void Update(Player player, ref int buffIndex)
{
player.GetDamage(DamageClass.Generic) += 0.3f;
player.statDefense += 30;
player.GetAttackSpeed(DamageClass.Generic) += (float)(player.statLifeMax2 - player.statLife) / player.statLifeMax2;
player.lifeRegenTime = 10;
lifeDrainTimer++;
if(lifeDrainTimer > 20)
{
lifeDrainTimer = 0;
if(player.statLife > 1)
{
player.statLife--;

}
}

if (player.HeldItem.ModItem is Items.BurningDesire)
{

}
else
{
player.ClearBuff(BuffType<BoilingBloodBuff>());
buffIndex--;
}

}
public override void ModifyBuffTip(ref string tip, ref int rare)
{



base.ModifyBuffTip(ref tip, ref rare);
}
public override bool PreDraw(SpriteBatch spriteBatch, int buffIndex, ref BuffDrawParams drawParams)
{


Vector2 shake = new Vector2(Main.rand.Next(-1, 2), Main.rand.Next(-1, 2));

drawParams.Position += shake;
drawParams.TextPosition += shake;


return true;
}

public override bool RightClick(int buffIndex)
{

return false;
}
}
}
Binary file added Buffs/BurningDesire/BoilingBloodBuff.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
47 changes: 47 additions & 0 deletions Buffs/BurningDesire/BoilingBloodCooldown.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Terraria;
using Terraria.DataStructures;
using Terraria.ID;
using Terraria.ID;
using Terraria.ModLoader;
using static Terraria.ModLoader.ModContent;

namespace StarsAbove.Buffs.BurningDesire
{
public class BoilingBloodCooldown : ModBuff
{
public override void SetStaticDefaults()
{
DisplayName.SetDefault("Extinguished");
Description.SetDefault("Unable to activate Boiling Blood");
Main.buffNoTimeDisplay[Type] = false;
Main.debuff[Type] = true; //Add this so the nurse doesn't remove the buff when healing
BuffID.Sets.NurseCannotRemoveDebuff[Type] = true;
}
int lifeDrainTimer;
public override void Update(Player player, ref int buffIndex)
{


}
public override void ModifyBuffTip(ref string tip, ref int rare)
{



base.ModifyBuffTip(ref tip, ref rare);
}
public override bool PreDraw(SpriteBatch spriteBatch, int buffIndex, ref BuffDrawParams drawParams)
{





return true;
}


}
}
Binary file added Buffs/BurningDesire/BoilingBloodCooldown.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
35 changes: 35 additions & 0 deletions Buffs/BurningDesire/PowerStrikeBuff.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
using Microsoft.Xna.Framework;
using Terraria;using Terraria.ID;
using Terraria.ID;
using Terraria.ModLoader;
using static Terraria.ModLoader.ModContent;

namespace StarsAbove.Buffs.BurningDesire
{
public class PowerStrikeBuff : ModBuff
{
public override void SetStaticDefaults()
{
DisplayName.SetDefault("Power Strike");
Description.SetDefault("");
Main.buffNoTimeDisplay[Type] = true;
Main.debuff[Type] = false; //Add this so the nurse doesn't remove the buff when healing
BuffID.Sets.NurseCannotRemoveDebuff[Type] = true;
}

public override void Update(Player player, ref int buffIndex)
{
player.GetDamage(DamageClass.Generic) += (player.GetModPlayer<StarsAbovePlayer>().powerStrikeStacks * 0.05f);
player.statDefense += player.GetModPlayer<StarsAbovePlayer>().powerStrikeStacks * 5;
}
public override void ModifyBuffTip(ref string tip, ref int rare)
{
tip = $"{Main.LocalPlayer.GetModPlayer<StarsAbovePlayer>().powerStrikeStacks}/5 stacks" +
$"\nDamage increased by {Main.LocalPlayer.GetModPlayer<StarsAbovePlayer>().powerStrikeStacks * 5}%" +
$"\nDefense increased by {Main.LocalPlayer.GetModPlayer<StarsAbovePlayer>().powerStrikeStacks * 5}" +
$"\n'Do you hear the roar of this chainsaw?'";

base.ModifyBuffTip(ref tip, ref rare);
}
}
}
Binary file added Buffs/BurningDesire/PowerStrikeBuff.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion Buffs/TakodachiBuff.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public override void Update(Player player, ref int buffIndex) {

}

player.GetDamage(DamageClass.Summon) += (player.ownedProjectileCounts[ProjectileType<Projectiles.Takodachi.TakodachiMinion>()] * 0.07f);
player.GetDamage(DamageClass.Summon) += (player.ownedProjectileCounts[ProjectileType<Projectiles.Takodachi.TakodachiMinion>()] * 0.01f);

}
}
Expand Down
33 changes: 33 additions & 0 deletions Effects/rainbowtrail.cs
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,39 @@ private float StripWidth(float progressOnStrip)
}
}

public struct SmallYellowTrail
{
private static VertexStrip _vertexStrip = new VertexStrip();

public void Draw(Projectile proj)
{
MiscShaderData miscShaderData = GameShaders.Misc["RainbowRod"];
miscShaderData.UseSaturation(-2.8f);
miscShaderData.UseOpacity(4f);
miscShaderData.Apply();
_vertexStrip.PrepareStripWithProceduralPadding(proj.oldPos, proj.oldRot, StripColors, StripWidth, -Main.screenPosition + proj.Size / 2f);
_vertexStrip.DrawTrail();
Main.pixelShader.CurrentTechnique.Passes[0].Apply();
}

private Color StripColors(float progressOnStrip)
{
Color value = Main.hslToRgb(.225f, .39f, 0.7f);
//Color result = Color.Lerp(Color.Black, value, Utils.GetLerpValue(-0.2f, 0.5f, progressOnStrip, clamped: true)) * (1f - Utils.GetLerpValue(0f, 0.98f, progressOnStrip));
Color result = Color.Yellow;
result.A = 0;
return result;
}

private float StripWidth(float progressOnStrip)
{
float num = 0.2f;
float lerpValue = Utils.GetLerpValue(-0f, 0.2f, progressOnStrip, clamped: true);
num *= 1f - (1f - lerpValue) * (1f - lerpValue);
return MathHelper.Lerp(0f, 32f, num);
}
}

public struct UltimaPurpleTrail
{
private static VertexStrip _vertexStrip = new VertexStrip();
Expand Down
64 changes: 61 additions & 3 deletions Items/AncientBook.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,15 @@ public class AncientBook : ModItem
public override void SetStaticDefaults() {
DisplayName.SetDefault("Takonomicon");
Tooltip.SetDefault("Calls forth [c/B875F0:Void Octopi] to assail foes with homing lasers" +
"\nEach [c/B875F0:Void Octopus] summoned increases damage of all minions and summon weapons by 7%" +
"\nEach [c/B875F0:Void Octopus] summoned increases damage of all minions and summon weapons by 1%" +
"\nRight click to fire [c/E752B3:Eldritch Blast] towards your cursor for 3 seconds, melting foes in a line before you (1 minute cooldown)" +
"\nWith at least one [c/B875F0:Void Octopus] summoned, the [c/5652E7:Abyssal Gauge] will appear" +
"\nWhen [c/B875F0:Void Octopi] or [c/E752B3:Eldritch Blast] deals damage the [c/5652E7:Abyssal Gauge] will increase, even when this weapon is not held" +
"\nWhen the [c/5652E7:Abyssal Gauge] is full, [c/AC49F5:Ancient One's Summoning] will activate when this weapon is held" +
"\n[c/AC49F5:Ancient One's Summoning] will cause magical portals to surround the nearest foe, dealing half base damage" +
"\n[c/AC49F5:Ancient One's Summoning] will cause magical portals to surround the nearest foe" +
"\nAfter a short delay, tentacles will be summoned to strike, inflicting Shadowflame for 7 seconds" +
"\nFor each void octopi summoned, the amount of [c/AC49F5:Ancient One's Summoning]'s portals will increase and [c/E752B3:Eldritch Blast] does more damage" +
"\nDamage scales with world progression" +
"\n'We are happy. We are here. We are hype. We are...'"
+ $"");

Expand Down Expand Up @@ -166,7 +167,64 @@ public override void HoldItem(Player player)


}
public override Vector2? HoldoutOffset()

public override void UpdateInventory(Player player)
{
if (NPC.downedSlimeKing)
{
Item.damage = 15;
}
if (NPC.downedBoss1)
{
Item.damage = 16;
}
if (NPC.downedBoss2)
{
Item.damage = 17;
}
if (NPC.downedQueenBee)
{
Item.damage = 18;
}
if (NPC.downedBoss3)
{
Item.damage = 19;
}
if (Main.hardMode)
{
Item.damage = 22;
}
if (NPC.downedMechBossAny)
{
Item.damage = 24;
}
if (NPC.downedMechBoss1 && NPC.downedMechBoss2 && NPC.downedMechBoss3)
{
Item.damage = 26;
}
if (NPC.downedPlantBoss)
{
Item.damage = 28;
}
if (NPC.downedGolemBoss)
{
Item.damage = 30;
}
if (NPC.downedFishron)
{
Item.damage = 34;
}
if (NPC.downedAncientCultist)
{
Item.damage = 44;
}
if (NPC.downedMoonlord)
{
Item.damage = 60;
}

}
public override Vector2? HoldoutOffset()
{
return new Vector2(-3, 4);
}
Expand Down
2 changes: 1 addition & 1 deletion Items/AshenAmbition.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public override void SetStaticDefaults()
"\nEach stack of [c/812ABA:Call of the Void] increases movement speed by 5%" +
"\nAt 5 stacks of [c/812ABA:Call of the Void] all stacks are reset and [c/926AD9:Ashen Execution] has a 10 second cooldown" +
"\nAdditionally, gain [c/FF7EF3:Ashen Strength] for 2 seconds, drastically restoring HP and increasing damage by 20%" +
"\nFailing to execute an enemy returns you to your starting position and resets all stacks of [c/812ABA:Call of the Void]" +
"\nFailing to execute an enemy resets all stacks of [c/812ABA:Call of the Void]" +
"\n'Put these foolish ambitions to rest'" +
$""); //The (English) text shown below your weapon's name

Expand Down
Loading

0 comments on commit 39ea40d

Please # to comment.