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:
parent
91b7b14ea4
commit
678fd9b787
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
core/src/main/assets/sounds/hit_arrow.mp3
Normal file
BIN
core/src/main/assets/sounds/hit_arrow.mp3
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -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,
|
||||||
|
|
|
@ -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 ) );
|
||||||
}
|
}
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user