v0.8.1a: various sfx adjustments:

- fixed a bug where trample and grass both played instead of just trample
- volume tweaks to item, dewdrop, and debuff
- added a hitsound for arrows/darts
- added pitch variance to crossbow and bow
- adjusted hit_strong to mix better with other sounds, and to sound better on phone speakers
- adjusted health_warn and adjusted volume/trigger thresholds for health_warn and health_critical
This commit is contained in:
Evan Debenham 2020-07-02 18:19:03 -04:00
parent 91b7b14ea4
commit 678fd9b787
13 changed files with 25 additions and 16 deletions

Binary file not shown.

Binary file not shown.

View File

@ -137,6 +137,7 @@ public class Assets {
public static final String HIT_MAGIC = "sounds/hit_magic.mp3"; public static final String HIT_MAGIC = "sounds/hit_magic.mp3";
public static final String HIT_STRONG = "sounds/hit_strong.mp3"; public static final String HIT_STRONG = "sounds/hit_strong.mp3";
public static final String HIT_PARRY = "sounds/hit_parry.mp3"; public static final String HIT_PARRY = "sounds/hit_parry.mp3";
public static final String HIT_ARROW = "sounds/hit_arrow.mp3";
public static final String ATK_SPIRITBOW = "sounds/atk_spiritbow.mp3"; public static final String ATK_SPIRITBOW = "sounds/atk_spiritbow.mp3";
public static final String ATK_CROSSBOW = "sounds/atk_crossbow.mp3"; public static final String ATK_CROSSBOW = "sounds/atk_crossbow.mp3";
public static final String HEALTH_WARN = "sounds/health_warn.mp3"; public static final String HEALTH_WARN = "sounds/health_warn.mp3";
@ -188,7 +189,7 @@ public class Assets {
OPEN, UNLOCK, ITEM, DEWDROP, STEP, WATER, GRASS, TRAMPLE, STURDY, OPEN, UNLOCK, ITEM, DEWDROP, STEP, WATER, GRASS, TRAMPLE, STURDY,
HIT, MISS, HIT_SLASH, HIT_STAB, HIT_CRUSH, HIT_MAGIC, HIT_STRONG, HIT_PARRY, HIT, MISS, HIT_SLASH, HIT_STAB, HIT_CRUSH, HIT_MAGIC, HIT_STRONG, HIT_PARRY,
ATK_SPIRITBOW, ATK_CROSSBOW, HEALTH_WARN, HEALTH_CRITICAL, HIT_ARROW, ATK_SPIRITBOW, ATK_CROSSBOW, HEALTH_WARN, HEALTH_CRITICAL,
DESCEND, EAT, READ, LULLABY, DRINK, SHATTER, ZAP, LIGHTNING, LEVELUP, DEATH, DESCEND, EAT, READ, LULLABY, DRINK, SHATTER, ZAP, LIGHTNING, LEVELUP, DEATH,
CHALLENGE, CURSED, TRAP, EVOKE, TOMB, ALERT, MELD, BOSS, BLAST, PLANT, RAY, BEACON, CHALLENGE, CURSED, TRAP, EVOKE, TOMB, ALERT, MELD, BOSS, BLAST, PLANT, RAY, BEACON,

View File

@ -1103,10 +1103,10 @@ public class Hero extends Char {
flashIntensity = Math.min(1/3f, flashIntensity); //cap intensity at 1/3 flashIntensity = Math.min(1/3f, flashIntensity); //cap intensity at 1/3
GameScene.flash( (int)(0xFF*flashIntensity) << 16 ); GameScene.flash( (int)(0xFF*flashIntensity) << 16 );
if (isAlive()) { if (isAlive()) {
if (flashIntensity >= 1/3f) { if (flashIntensity >= 1/6f) {
Sample.INSTANCE.play(Assets.Sounds.HEALTH_CRITICAL); Sample.INSTANCE.play(Assets.Sounds.HEALTH_CRITICAL, 1/3f + flashIntensity * 2f);
} else { } else {
Sample.INSTANCE.play(Assets.Sounds.HEALTH_WARN, flashIntensity * 3f); Sample.INSTANCE.play(Assets.Sounds.HEALTH_WARN, 1/3f + flashIntensity * 4f);
} }
} }
} }
@ -1598,6 +1598,8 @@ public class Hero extends Char {
@Override @Override
public void move( int step ) { public void move( int step ) {
boolean wasHighGrass = Dungeon.level.map[step] == Terrain.HIGH_GRASS;
super.move( step ); super.move( step );
if (!flying) { if (!flying) {
@ -1608,7 +1610,11 @@ public class Hero extends Char {
} else if (Dungeon.level.map[pos] == Terrain.GRASS } else if (Dungeon.level.map[pos] == Terrain.GRASS
|| Dungeon.level.map[pos] == Terrain.EMBERS || Dungeon.level.map[pos] == Terrain.EMBERS
|| Dungeon.level.map[pos] == Terrain.FURROWED_GRASS){ || Dungeon.level.map[pos] == Terrain.FURROWED_GRASS){
if (step == pos && wasHighGrass) {
Sample.INSTANCE.play(Assets.Sounds.TRAMPLE, 1, Random.Float( 0.96f, 1.05f ) );
} else {
Sample.INSTANCE.play( Assets.Sounds.GRASS, 1, Random.Float( 0.96f, 1.05f ) ); Sample.INSTANCE.play( Assets.Sounds.GRASS, 1, Random.Float( 0.96f, 1.05f ) );
}
} else { } else {
Sample.INSTANCE.play( Assets.Sounds.STEP, 1, Random.Float( 0.96f, 1.05f ) ); Sample.INSTANCE.play( Assets.Sounds.STEP, 1, Random.Float( 0.96f, 1.05f ) );
} }

View File

@ -225,6 +225,8 @@ public class SpiritBow extends Weapon {
{ {
image = ItemSpriteSheet.SPIRIT_ARROW; image = ItemSpriteSheet.SPIRIT_ARROW;
hitSound = Assets.Sounds.HIT_ARROW;
} }
@Override @Override
@ -277,7 +279,7 @@ public class SpiritBow extends Weapon {
@Override @Override
public void throwSound() { public void throwSound() {
Sample.INSTANCE.play( Assets.Sounds.ATK_SPIRITBOW ); Sample.INSTANCE.play( Assets.Sounds.ATK_SPIRITBOW, 1, Random.Float(0.87f, 1.15f) );
} }
int flurryCount = -1; int flurryCount = -1;
@ -303,7 +305,7 @@ public class SpiritBow extends Weapon {
user.busy(); user.busy();
Sample.INSTANCE.play( Assets.Sounds.MISS, 0.6f, 0.6f, 1.5f ); throwSound();
((MissileSprite) user.sprite.parent.recycle(MissileSprite.class)). ((MissileSprite) user.sprite.parent.recycle(MissileSprite.class)).
reset(user.sprite, reset(user.sprite,

View File

@ -36,6 +36,7 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.windows.WndBag; import com.shatteredpixel.shatteredpixeldungeon.windows.WndBag;
import com.shatteredpixel.shatteredpixeldungeon.windows.WndOptions; import com.shatteredpixel.shatteredpixeldungeon.windows.WndOptions;
import com.watabou.noosa.audio.Sample; import com.watabou.noosa.audio.Sample;
import com.watabou.utils.Random;
import java.util.ArrayList; import java.util.ArrayList;
@ -43,7 +44,7 @@ public class Dart extends MissileWeapon {
{ {
image = ItemSpriteSheet.DART; image = ItemSpriteSheet.DART;
hitSound = Assets.Sounds.HIT_STAB; hitSound = Assets.Sounds.HIT_ARROW;
hitSoundPitch = 1.3f; hitSoundPitch = 1.3f;
tier = 1; tier = 1;
@ -130,7 +131,7 @@ public class Dart extends MissileWeapon {
public void throwSound() { public void throwSound() {
updateCrossbow(); updateCrossbow();
if (bow != null) { if (bow != null) {
Sample.INSTANCE.play(Assets.Sounds.ATK_CROSSBOW); Sample.INSTANCE.play(Assets.Sounds.ATK_CROSSBOW, 1, Random.Float(0.87f, 1.15f));
} else { } else {
super.throwSound(); super.throwSound();
} }

View File

@ -60,9 +60,6 @@ public class HighGrass {
freezeTrample = true; freezeTrample = true;
} else { } else {
Level.set(pos, Terrain.GRASS); Level.set(pos, Terrain.GRASS);
if (ch instanceof Hero){
Sample.INSTANCE.play(Assets.Sounds.TRAMPLE, 1, Random.Float( 0.96f, 1.05f ) );
}
} }
} else { } else {
@ -72,9 +69,6 @@ public class HighGrass {
} else { } else {
Level.set(pos, Terrain.GRASS); Level.set(pos, Terrain.GRASS);
} }
if (ch instanceof Hero){
Sample.INSTANCE.play(Assets.Sounds.TRAMPLE, 1, Random.Float( 0.96f, 1.05f ) );
}
int naturalismLevel = 0; int naturalismLevel = 0;

View File

@ -207,7 +207,12 @@ public class AboutScene extends PixelScene {
"_Pack: Onomatopoeia_ by _Adam N_\n" + "_Pack: Onomatopoeia_ by _Adam N_\n" +
"_Pack: Watermelon_ by _lolamadeus_\n" + "_Pack: Watermelon_ by _lolamadeus_\n" +
"_metal chain_ by _Mediapaja2009_\n" + "_metal chain_ by _Mediapaja2009_\n" +
"_Pack: Sword Clashes Pack_ by _JohnBuhr_\n", "_Pack: Sword Clashes Pack_ by _JohnBuhr_\n" +
"_Pack: Metal Clangs and Pings_ by _wilhellboy_\n" +
"_Pack: Stabbing Stomachs & Crushing Skulls_ by _TheFilmLook_\n" +
"_Sheep bleating_ by _zachrau_\n" +
"_Lemon,Juicy,Squeeze,Fruit.wav_ by _Filipe Chagas_\n" +
"_Lemon,Squeeze,Squishy,Fruit.wav_ by _Filipe Chagas_",
"www.freesound.org", "www.freesound.org",
"https://www.freesound.org"); "https://www.freesound.org");
freesound.setRect(transifex.left()-10, transifex.bottom() + 8, colWidth+20, 0); freesound.setRect(transifex.left()-10, transifex.bottom() + 8, colWidth+20, 0);