v3.3.0: renamed existing skeleton key to worn key

This commit is contained in:
Evan Debenham
2025-11-13 15:59:37 -05:00
parent c34e552208
commit f06943c3e5
10 changed files with 23 additions and 18 deletions

View File

@@ -694,8 +694,8 @@ items.keys.crystalkey.desc=The cut surfaces of this crystalline key shimmer in t
items.keys.ironkey.name=iron key
items.keys.ironkey.desc=The notches on this ancient iron key are well worn; its leather lanyard is battered by age. What door might it open?
items.keys.skeletonkey.name=skeleton key
items.keys.skeletonkey.desc=This key looks serious: its head is shaped like a skull. Probably it can open some serious door.
items.keys.wornkey.name=worn key
items.keys.wornkey.desc=This key is worn and discolored, but looks serious. Probably it can open some serious door nearby.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -47,6 +47,11 @@ public class ShatteredPixelDungeon extends Game {
public ShatteredPixelDungeon( PlatformSupport platform ) {
super( sceneClass == null ? WelcomeScene.class : sceneClass, platform );
//pre-v3.3.0
com.watabou.utils.Bundle.addAlias(
com.shatteredpixel.shatteredpixeldungeon.items.keys.WornKey.class,
"com.shatteredpixel.shatteredpixeldungeon.items.keys.SkeletonKey" );
//pre-v2.5.3
com.watabou.utils.Bundle.addAlias(
com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfDetectMagic.class,

View File

@@ -113,7 +113,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.keys.CrystalKey;
import com.shatteredpixel.shatteredpixeldungeon.items.keys.GoldenKey;
import com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey;
import com.shatteredpixel.shatteredpixeldungeon.items.keys.Key;
import com.shatteredpixel.shatteredpixeldungeon.items.keys.SkeletonKey;
import com.shatteredpixel.shatteredpixeldungeon.items.keys.WornKey;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.Potion;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfExperience;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfHealing;
@@ -1219,7 +1219,7 @@ public class Hero extends Char {
hasKey = true;
} else if (door == Terrain.LOCKED_EXIT
&& Notes.keyCount(new SkeletonKey(Dungeon.depth)) > 0) {
&& Notes.keyCount(new WornKey(Dungeon.depth)) > 0) {
hasKey = true;
@@ -2345,7 +2345,7 @@ public class Hero extends Char {
CellEmitter.get( doorCell ).start( Speck.factory( Speck.DISCOVER ), 0.025f, 20 );
}
} else {
hasKey = Notes.remove(new SkeletonKey(Dungeon.depth));
hasKey = Notes.remove(new WornKey(Dungeon.depth));
if (hasKey) Level.set(doorCell, Terrain.UNLOCKED_EXIT);
}

View File

@@ -33,7 +33,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Ooze;
import com.shatteredpixel.shatteredpixeldungeon.effects.FloatingText;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.DriedRose;
import com.shatteredpixel.shatteredpixeldungeon.items.keys.SkeletonKey;
import com.shatteredpixel.shatteredpixeldungeon.items.keys.WornKey;
import com.shatteredpixel.shatteredpixeldungeon.items.quest.GooBlob;
import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
@@ -287,7 +287,7 @@ public class Goo extends Mob {
Dungeon.level.unseal();
GameScene.bossSlain();
Dungeon.level.drop( new SkeletonKey( Dungeon.depth ), pos ).sprite.drop();
Dungeon.level.drop( new WornKey( Dungeon.depth ), pos ).sprite.drop();
//60% chance of 2 blobs, 30% chance of 3, 10% chance for 4. Average of 2.5
int blobs = Random.chances(new float[]{0, 0, 6, 3, 1});

View File

@@ -32,17 +32,17 @@ import com.watabou.utils.Callback;
import java.io.IOException;
public class SkeletonKey extends Key {
public class WornKey extends Key {
{
image = ItemSpriteSheet.SKELETON_KEY;
image = ItemSpriteSheet.WORN_KEY;
}
public SkeletonKey() {
public WornKey() {
this( 0 );
}
public SkeletonKey( int depth ) {
public WornKey( int depth ) {
super();
this.depth = depth;
}

View File

@@ -68,7 +68,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.food.SupplyRation;
import com.shatteredpixel.shatteredpixeldungeon.items.keys.CrystalKey;
import com.shatteredpixel.shatteredpixeldungeon.items.keys.GoldenKey;
import com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey;
import com.shatteredpixel.shatteredpixeldungeon.items.keys.SkeletonKey;
import com.shatteredpixel.shatteredpixeldungeon.items.keys.WornKey;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.brews.AquaBrew;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.brews.BlizzardBrew;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.brews.CausticBrew;
@@ -253,7 +253,7 @@ public enum Catalog {
ReclaimTrap.class, SummonElemental.class, BeaconOfReturning.class);
MISC_CONSUMABLES.addItems( Gold.class, EnergyCrystal.class, Dewdrop.class,
IronKey.class, GoldenKey.class, CrystalKey.class, SkeletonKey.class,
IronKey.class, GoldenKey.class, CrystalKey.class, WornKey.class,
TrinketCatalyst.class, Stylus.class, Torch.class, Honeypot.class, Ankh.class,
CorpseDust.class, Embers.class, CeremonialCandle.class, DarkGold.class, DwarfToken.class,
GooBlob.class, TengusMask.class, MetalShard.class, KingsCrown.class,

View File

@@ -144,7 +144,7 @@ public class ItemSpriteSheet {
public static final int IRON_KEY = MISC_CONSUMABLE +7;
public static final int GOLDEN_KEY = MISC_CONSUMABLE +8;
public static final int CRYSTAL_KEY = MISC_CONSUMABLE +9;
public static final int SKELETON_KEY = MISC_CONSUMABLE +10;
public static final int WORN_KEY = MISC_CONSUMABLE +10;
public static final int MASK = MISC_CONSUMABLE +11;
public static final int CROWN = MISC_CONSUMABLE +12;
public static final int AMULET = MISC_CONSUMABLE +13;
@@ -171,7 +171,7 @@ public class ItemSpriteSheet {
assignItemRect(IRON_KEY, 8, 14);
assignItemRect(GOLDEN_KEY, 8, 14);
assignItemRect(CRYSTAL_KEY, 8, 14);
assignItemRect(SKELETON_KEY, 8, 14);
assignItemRect(WORN_KEY, 8, 14);
assignItemRect(MASK, 11, 9);
assignItemRect(CROWN, 13, 7);
assignItemRect(AMULET, 16, 16);

View File

@@ -27,7 +27,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.keys.CrystalKey;
import com.shatteredpixel.shatteredpixeldungeon.items.keys.GoldenKey;
import com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey;
import com.shatteredpixel.shatteredpixeldungeon.items.keys.Key;
import com.shatteredpixel.shatteredpixeldungeon.items.keys.SkeletonKey;
import com.shatteredpixel.shatteredpixeldungeon.items.keys.WornKey;
import com.shatteredpixel.shatteredpixeldungeon.journal.Notes;
import com.watabou.gltextures.SmartTexture;
import com.watabou.gltextures.TextureCache;
@@ -57,7 +57,7 @@ public class KeyDisplay extends Visual {
//and the order they will be truncated if there is no space (higher first, larger counts first)
private static final LinkedHashMap<Class<? extends Key>, Integer> keyMap = new LinkedHashMap<>();
static {
keyMap.put(SkeletonKey.class, 1);
keyMap.put(WornKey.class, 1);
keyMap.put(CrystalKey.class, 2);
keyMap.put(GoldenKey.class, 3);
keyMap.put(IronKey.class, 4);