1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-08-25 23:12:20 +00:00

some character shapes need to be unlocked

This commit is contained in:
Zeno Rogue 2025-08-17 13:27:33 +02:00
parent 9fa3740b47
commit 0a5926a7fd

View File

@ -3569,6 +3569,11 @@ EX void pick_player_shape() {
charstyle& cs = getcs();
for(int i=0; i<pshGUARD; i++) {
dialog::addBoolItem(XLAT(playershapes[i].name), i == (cs.charid>>1), 'a'+i);
if((i == pshPrincess && !princess::everSaved) ||
(i == pshRatling && hiitemsMax(itCoral) < 25) ||
(i == pshSkeleton && hiitemsMax(itPalace) < 25) ||
(i == pshHyperbug && hiitemsMax(itRoyalJelly) < 25)
) dialog::lastItem().value = "(locked)";
dialog::add_action([i, &cs] {
if(i == pshPrincess) {
if(!princess::everSaved && !autocheat && !unlock_all) {
@ -3576,6 +3581,24 @@ EX void pick_player_shape() {
return;
}
}
if(i == pshRatling) {
if(hiitemsMax(itCoral) < 25 && !unlock_all && !autocheat) {
addMessage(XLAT("Collect 25 %1 to unlock first!", itCoral));
return;
}
}
if(i == pshSkeleton) {
if(hiitemsMax(itPalace) < 25 && !unlock_all && !autocheat) {
addMessage(XLAT("Collect 25 %1 to unlock first!", itPalace));
return;
}
}
if(i == pshHyperbug) {
if(hiitemsMax(itRoyalJelly) < 25 && !unlock_all && !autocheat) {
addMessage(XLAT("Collect 25 %1 to unlock first!", itRoyalJelly));
return;
}
}
cs.charid = (cs.charid & 1) | (i << 1);
});
}