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_STRONG = "sounds/hit_strong.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_CROSSBOW = "sounds/atk_crossbow.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,
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,
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
GameScene.flash( (int)(0xFF*flashIntensity) << 16 );
if (isAlive()) {
if (flashIntensity >= 1/3f) {
Sample.INSTANCE.play(Assets.Sounds.HEALTH_CRITICAL);
if (flashIntensity >= 1/6f) {
Sample.INSTANCE.play(Assets.Sounds.HEALTH_CRITICAL, 1/3f + flashIntensity * 2f);
} 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
public void move( int step ) {
boolean wasHighGrass = Dungeon.level.map[step] == Terrain.HIGH_GRASS;
super.move( step );
if (!flying) {
@ -1608,7 +1610,11 @@ public class Hero extends Char {
} else if (Dungeon.level.map[pos] == Terrain.GRASS
|| Dungeon.level.map[pos] == Terrain.EMBERS
|| Dungeon.level.map[pos] == Terrain.FURROWED_GRASS){
Sample.INSTANCE.play( Assets.Sounds.GRASS, 1, Random.Float( 0.96f, 1.05f ) );
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 ) );
}
} else {
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;
hitSound = Assets.Sounds.HIT_ARROW;
}
@Override
@ -277,7 +279,7 @@ public class SpiritBow extends Weapon {
@Override
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;
@ -303,7 +305,7 @@ public class SpiritBow extends Weapon {
user.busy();
Sample.INSTANCE.play( Assets.Sounds.MISS, 0.6f, 0.6f, 1.5f );
throwSound();
((MissileSprite) user.sprite.parent.recycle(MissileSprite.class)).
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.WndOptions;
import com.watabou.noosa.audio.Sample;
import com.watabou.utils.Random;
import java.util.ArrayList;
@ -43,7 +44,7 @@ public class Dart extends MissileWeapon {
{
image = ItemSpriteSheet.DART;
hitSound = Assets.Sounds.HIT_STAB;
hitSound = Assets.Sounds.HIT_ARROW;
hitSoundPitch = 1.3f;
tier = 1;
@ -130,7 +131,7 @@ public class Dart extends MissileWeapon {
public void throwSound() {
updateCrossbow();
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 {
super.throwSound();
}

View File

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

View File

@ -207,7 +207,12 @@ public class AboutScene extends PixelScene {
"_Pack: Onomatopoeia_ by _Adam N_\n" +
"_Pack: Watermelon_ by _lolamadeus_\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",
"https://www.freesound.org");
freesound.setRect(transifex.left()-10, transifex.bottom() + 8, colWidth+20, 0);