From 0a5926a7fde2138c13f2fd69be2b7552eb193780 Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Sun, 17 Aug 2025 13:27:33 +0200 Subject: [PATCH] some character shapes need to be unlocked --- config.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/config.cpp b/config.cpp index 0bf8a035..ee6a54f0 100644 --- a/config.cpp +++ b/config.cpp @@ -3569,6 +3569,11 @@ EX void pick_player_shape() { charstyle& cs = getcs(); for(int i=0; i>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); }); }