From b371965d630e219d0d776b99ab905f88d3adca6a Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Tue, 18 Nov 2025 17:03:05 -0500 Subject: [PATCH] v3.3.0: talent buffs re:thrown weapon changes: - durable projectiles reverted to +50/75%, from +33/50% - point blank boost up to 25%/lvl from 20%/lvl - projectile momentum dmg boost reverted to +15%/lvl from +10%/lvl --- core/src/main/assets/messages/actors/actors.properties | 6 +++--- .../items/weapon/missiles/MissileWeapon.java | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/core/src/main/assets/messages/actors/actors.properties b/core/src/main/assets/messages/actors/actors.properties index 49a109efb..279133169 100644 --- a/core/src/main/assets/messages/actors/actors.properties +++ b/core/src/main/assets/messages/actors/actors.properties @@ -1065,7 +1065,7 @@ actors.hero.talent.bounty_hunter.desc=_+1:_ When the Assassin kills an enemy wit actors.hero.talent.evasive_armor.title=evasive armor actors.hero.talent.evasive_armor.desc=_+1:_ While freerunning, the Freerunner gains an additional _+1 evasion_ per excess point of strength on his armor.\n\n_+2:_ While freerunning, the Freerunner gains an additional _+2 evasion_ per excess point of strength on his armor.\n\n_+3:_ While freerunning, the Freerunner gains an additional _+3 evasion_ per excess point of strength on his armor. actors.hero.talent.projectile_momentum.title=projectile momentum -actors.hero.talent.projectile_momentum.desc=_+1:_ While freerunning, the Freerunner gains _+50% accuracy and +10% damage_ with thrown weapons.\n\n_+2:_ While freerunning, the Freerunner gains _+100% accuracy and +20% damage_ with thrown weapons.\n\n_+3:_ While freerunning, the Freerunner gains _+150% accuracy and +30% damage_ with thrown weapons. +actors.hero.talent.projectile_momentum.desc=_+1:_ While freerunning, the Freerunner gains _+50% accuracy and +15% damage_ with thrown weapons.\n\n_+2:_ While freerunning, the Freerunner gains _+100% accuracy and +30% damage_ with thrown weapons.\n\n_+3:_ While freerunning, the Freerunner gains _+150% accuracy and +45% damage_ with thrown weapons. actors.hero.talent.speedy_stealth.title=speedy stealth actors.hero.talent.speedy_stealth.desc=_+1:_ The Freerunner gains 2 stacks of momentum per turn while he is invisible.\n\n_+2:_ In addition to the benefits of +1, freerunning no longer counts down while the Freerunner is invisible.\n\n_+3:_ In addition to the benefits of +1 and +2, the Freerunner moves at 2x speed while invisible, regardless of whether he is freerunning or not. @@ -1109,10 +1109,10 @@ actors.hero.talent.rejuvenating_steps.desc=_+1:_ When the Huntress steps on shor actors.hero.talent.heightened_senses.title=heightened senses actors.hero.talent.heightened_senses.desc=_+1:_ The Huntress gains mind vision on characters within _2 tiles of her position_.\n\n_+2:_ The Huntress gains mind vision on characters within _3 tiles of her position_. actors.hero.talent.durable_projectiles.title=durable projectiles -actors.hero.talent.durable_projectiles.desc=_+1:_ Thrown weapons have _+33% durability_ when used by the Huntress.\n\n_+2:_ Thrown weapons have _+50% durability_ when used by the Huntress. +actors.hero.talent.durable_projectiles.desc=_+1:_ Thrown weapons have _+50% durability_ when used by the Huntress.\n\n_+2:_ Thrown weapons have _+75% durability_ when used by the Huntress. actors.hero.talent.point_blank.title=point blank -actors.hero.talent.point_blank.desc=_+1:_ When the Huntress uses her bow or a thrown weapon at melee range it has _-30% accuracy,_ instead of -50%.\n\n_+2:_ When the Huntress uses her bow or a thrown weapon at melee range it has _-10% accuracy,_ instead of -50%.\n\n_+3:_ When the Huntress uses her bow or a thrown weapon at melee range it has _+10% accuracy,_ instead of -50%.\n\nNote that thrown weapons or the spirit bow always have +50% accuracy when used at a distance. +actors.hero.talent.point_blank.desc=_+1:_ When the Huntress uses her bow or a thrown weapon at melee range it has _-25% accuracy,_ instead of -50%.\n\n_+2:_ When the Huntress uses her bow or a thrown weapon at melee range it has _normal accuracy,_ instead of -50%.\n\n_+3:_ When the Huntress uses her bow or a thrown weapon at melee range it has _+25% accuracy,_ instead of -50%.\n\nNote that thrown weapons or the spirit bow always have +50% accuracy when used at a distance. actors.hero.talent.seer_shot.title=seer shot actors.hero.talent.seer_shot.desc=_+1:_ When the Huntress fires an arrow at the ground, it grants vision in a 3x3 area around it for _5 turns_. This has a 20 turn cooldown.\n\n_+2:_ When the Huntress fires an arrow at the ground, it grants vision in a 3x3 area around it for _10 turns_. This has a 20 turn cooldown.\n\n_+3:_ When the Huntress fires an arrow at the ground, it grants vision in a 3x3 area around it for _15 turns_. This has a 20 turn cooldown. actors.hero.talent.seer_shot.meta_desc=_If this talent is gained by a different hero_ it will trigger from any thrown weapon. diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/MissileWeapon.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/MissileWeapon.java index 740f0faf7..f93dc8d6b 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/MissileWeapon.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/MissileWeapon.java @@ -221,7 +221,7 @@ abstract public class MissileWeapon extends Weapon { protected float adjacentAccFactor(Char owner, Char target){ if (Dungeon.level.adjacent( owner.pos, target.pos )) { if (owner instanceof Hero){ - return (0.5f + 0.2f*((Hero) owner).pointsInTalent(Talent.POINT_BLANK)); + return (0.5f + 0.25f*((Hero) owner).pointsInTalent(Talent.POINT_BLANK)); } else { return 0.5f; } @@ -443,9 +443,9 @@ abstract public class MissileWeapon extends Weapon { public float durabilityPerUse( int level ){ float usages = baseUses * (float)(Math.pow(1.5f, level)); - //+33%/50% durability + //+50%/75% durability if (Dungeon.hero != null && Dungeon.hero.hasTalent(Talent.DURABLE_PROJECTILES)){ - usages *= 1f + (1+Dungeon.hero.pointsInTalent(Talent.DURABLE_PROJECTILES))/6f; + usages *= 1.25f + (0.25f*Dungeon.hero.pointsInTalent(Talent.DURABLE_PROJECTILES)); } if (holster) { usages *= MagicalHolster.HOLSTER_DURABILITY_FACTOR; @@ -507,7 +507,7 @@ abstract public class MissileWeapon extends Weapon { damage += Hero.heroDamageIntRange( 0, exStr ); } if (owner.buff(Momentum.class) != null && owner.buff(Momentum.class).freerunning()) { - damage = Math.round(damage * (1f + 0.1f * ((Hero) owner).pointsInTalent(Talent.PROJECTILE_MOMENTUM))); + damage = Math.round(damage * (1f + 0.15f * ((Hero) owner).pointsInTalent(Talent.PROJECTILE_MOMENTUM))); } }