diff --git a/code/game/objects/items/storage/wallets.dm b/code/game/objects/items/storage/wallets.dm index 35aa743cfb2..e58cab6c656 100644 --- a/code/game/objects/items/storage/wallets.dm +++ b/code/game/objects/items/storage/wallets.dm @@ -57,16 +57,19 @@ front_id = null var/winning_tally = 0 + var/is_magnetic_found = FALSE for(var/obj/item/card/id/id_card in contents) // Certain IDs can forcibly jump to the front so they can disguise other cards in wallets. Chameleon/Agent ID cards are an example of this. - if(HAS_TRAIT(id_card, TRAIT_MAGNETIC_ID_CARD)) + if(!is_magnetic_found && HAS_TRAIT(id_card, TRAIT_MAGNETIC_ID_CARD)) front_id = id_card - break + is_magnetic_found = TRUE + + if(!is_magnetic_found) + var/card_tally = SSid_access.tally_access(id_card, ACCESS_FLAG_COMMAND) + if(card_tally > winning_tally) + winning_tally = card_tally + front_id = id_card - var/card_tally = SSid_access.tally_access(id_card, ACCESS_FLAG_COMMAND) - if(card_tally > winning_tally) - winning_tally = card_tally - front_id = id_card LAZYINITLIST(combined_access) combined_access |= id_card.access