v3.3.0: damage-dealing spells now work against the 'no weapons' badge

This commit is contained in:
Evan Debenham
2025-10-08 15:34:08 -04:00
parent 0c066595b6
commit 2d87a13157
2 changed files with 5 additions and 1 deletions

View File

@@ -141,7 +141,7 @@ badges$badge.boss_challenge_2.desc=Defeat the prison boss without getting hit by
badges$badge.boss_challenge_3.title=Outmaneuvered
badges$badge.boss_challenge_3.desc=Defeat the caves boss without getting attacked or damaged while it is supercharged
badges$badge.boss_challenge_4.title=No Weapons in His Presence
badges$badge.boss_challenge_4.desc=Defeat the city boss without ever directly attacking him with weapons, rings, or wands
badges$badge.boss_challenge_4.desc=Defeat the city boss without ever directly attacking him with weapons, rings, wands, or damaging spells
badges$badge.boss_challenge_5.title=Doom Slayer
badges$badge.boss_challenge_5.desc=Defeat the final boss with all demon spawners alive and the badder bosses challenge enabled
badges$badge.games_played_1.title=Novice Dungeoneer

View File

@@ -35,6 +35,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Degrade;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Doom;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LifeLink;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.spells.ClericSpell;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.Sheep;
import com.shatteredpixel.shatteredpixeldungeon.effects.Beam;
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
@@ -460,6 +461,9 @@ public class DwarfKing extends Mob {
//Lightning has custom logic so that chaining it doesn't DQ for the badge
} else if (src instanceof Wand && !(src instanceof WandOfLightning)){
Statistics.qualifiedForBossChallengeBadge = false;
//Only damage-dealing spells from the Cleric
} else if (src instanceof ClericSpell){
Statistics.qualifiedForBossChallengeBadge = false;
}
if (isInvulnerable(src.getClass())){