added "finish" button to dialogue UI, implementation of many, many trinket's effects, autot-argetting fix on death, added script for particles/player following

This commit is contained in:
2025-12-19 11:39:39 +01:00
parent 56f7fb4aaa
commit f624eeeeb6
14 changed files with 3062 additions and 1774 deletions

View File

@@ -24,25 +24,30 @@ namespace Beyond
public float faithMult;
public float damageMult;
public float speedMult;
public float staminaMult;
public float attackSpeedMult;
public float faithRegenMult;
public float thornDamageMult;
// --- NEW ATTRIBUTES ---
public float staminaMult; // For Stamina UI Scaling
public float soulfireDamageMult; // For Magic Damage (Fireball, etc)
// Harmony Flags (Effects from table)
// Renamed to match Player.cs usage
public bool effectBalance; // Balance (Flask bonus)
public bool effectCalmness; // Calmness (Longer shield)
public bool effectFaithVampirism; // Trust (Faith vampirism) - Was effectTrust
public bool effectBreeze; // Breeze (Freezing blast cost)
public bool effectFaithVampirism; // Trust (Faith vampirism)
public bool effectBreeze; // Zora's Focus (Buff Covert Gaze Radius/Length)
public bool effectDetermination; // Determination (Combo damage)
public bool effectHealthVampirism; // Vitality (Health vampirism) - Was effectVitality
public bool effectHealthVampirism; // Vitality (Health vampirism)
public bool effectEagerness; // Eagerness (Dash cooldown)
public bool effectBloom; // Bloom (Spell cost reduced)
public bool effectGrowth; // Growth (Cast restores HP)
public bool effectRose; // Rose (Thorn damage)
public bool effectDarkening; // The Darkening (Bonus dmg)
public bool effectEclipse; // Eclipse (Bonus all)
// --- NEW EFFECTS ---
public bool effectAngelEye; // Angel Eye (Silent Peek Cost = 0)
}
private void Start()
@@ -79,7 +84,10 @@ namespace Beyond
attackSpeedMult = 1f,
faithRegenMult = 1f,
thornDamageMult = 1f,
staminaMult = 1f
// Initialize New Stats
staminaMult = 1f,
soulfireDamageMult = 1f
};
// 2. Get Currently Equipped Items
@@ -96,14 +104,17 @@ namespace Beyond
foreach (var item in equippedItems)
{
stats.healthMult += GetPct(item, bItemAttributes.HealthBonusPercent);
stats.defenseMult -= GetPct(item, bItemAttributes.DefenseBonusPercent); // Defense reduces damage taken
stats.defenseMult -= GetPct(item, bItemAttributes.DefenseBonusPercent);
stats.faithMult += GetPct(item, bItemAttributes.FaithBonusPercent);
stats.damageMult += GetPct(item, bItemAttributes.DamageBonusPercent);
stats.speedMult += GetPct(item, bItemAttributes.MoveSpeedBonusPercent);
stats.attackSpeedMult += GetPct(item, bItemAttributes.AttackSpeedBonusPercent);
stats.faithRegenMult += GetPct(item, bItemAttributes.FaithRegenBonusPercent);
stats.thornDamageMult += GetPct(item, bItemAttributes.ThornDamageBonusPercent);
// New Attributes
stats.staminaMult += GetPct(item, bItemAttributes.StaminaBonusPercent);
stats.soulfireDamageMult += GetPct(item, bItemAttributes.SoulfireDamageBonusPercent);
}
// 4. Apply Harmonies (Based on Table)
@@ -126,61 +137,61 @@ namespace Beyond
int bright = items.Count(i => i.trinketColor == TrinketColor.Bright);
int dark = items.Count(i => i.trinketColor == TrinketColor.Dark);
// --- TABLE LOGIC IMPLEMENTATION ---
// Balance: Azure + Crimson + Viridian (A C V) -> Bonus Water of Life Flask
// Balance (A C V)
if (azure >= 1 && crimson >= 1 && viridian >= 1)
stats.effectBalance = true;
// Calmness: 3 Azure (A A A) -> Longer Shield
// Calmness (A A A)
if (azure >= 3)
stats.effectCalmness = true;
// Trust: 2 Azure + 1 Crimson (A A C) -> Faith Vampirism
// Trust (A A C)
if (azure >= 2 && crimson >= 1)
stats.effectFaithVampirism = true;
// Breeze: 2 Azure + 1 Viridian (A A V) -> Freezing blast free
// Zora's Focus / Breeze (A A V) -> Covert Gaze Radius/Length
if (azure >= 2 && viridian >= 1)
stats.effectBreeze = true;
// Determination: 3 Crimson (C C C) -> Combo finish +5% dmg
// Determination (C C C)
if (crimson >= 3)
stats.effectDetermination = true;
// Vitality: 2 Crimson + 1 Azure (C C A) -> Health Vampirism
// Vitality (C C A)
if (crimson >= 2 && azure >= 1)
stats.effectHealthVampirism = true;
// Eagerness: 2 Crimson + 1 Viridian (C C V) -> Reduce Dash Cooldown
// Eagerness (C C V)
if (crimson >= 2 && viridian >= 1)
stats.effectEagerness = true;
// Bloom: 3 Viridian (V V V) -> Spell cost reduced 20%
// Bloom (V V V)
if (viridian >= 3)
stats.effectBloom = true;
// Growth: 2 Viridian + 1 Azure (V V A) -> Cast restores HP
// Growth (V V A)
if (viridian >= 2 && azure >= 1)
stats.effectGrowth = true;
// Rose: 2 Viridian + 1 Crimson (V V C) -> Bonus Thorn Dmg
// Rose (V V C)
if (viridian >= 2 && crimson >= 1)
{
stats.effectRose = true;
stats.thornDamageMult += 0.05f;
}
// The Darkening: 3 Bright
// The Darkening (3 Bright)
if (bright >= 3)
stats.effectDarkening = true;
// Eclipse: 2 Bright + 1 Dark
// Eclipse (2 Bright + 1 Dark)
if (bright >= 1 && dark >= 1)
stats.effectEclipse = true;
// Angel Eye (Requires defining combo, placeholder logic)
// if (bright >= 2 && azure >= 1) stats.effectAngelEye = true;
}
// Helper: Convert Integer Attribute (5) to Float Percentage (0.05)
private float GetPct(bItem item, bItemAttributes attrName)
{
var attr = item.GetItemAttribute(attrName);