Arc feature - Persistent supplies (#22368)

# Summary

This PR adds persistent supply packages and a specialized charge card
for lore arcs.
Both can only be created using admin permissions and are not intended
for general availability.

## Changes

- Added a new package type, persistent supplies.
- Abstracted existing orion deliveries for shared code.
- Added a new persistent charge card variant.
- Added exceptions and specific logging for new card variant.

## Notes

Depends on PR #22367. Specific merge order not relevant.

Icons by @Fyniiy.

Relevant information for the current arc can be found on the forum
thread [Operation Deep
Dive](https://forums.aurorastation.org/topic/22921-all-crew-thread-operation-deep-dive/).

---------

Signed-off-by: FabianK3 <21039694+FabianK3@users.noreply.github.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
This commit is contained in:
FabianK3
2026-05-05 03:25:06 +02:00
committed by GitHub
parent d717a9e8eb
commit 328c56be11
25 changed files with 209 additions and 124 deletions
@@ -107,9 +107,10 @@
return TRUE
var/obj/item/spacecash/ewallet/charge_card
var/mob/living/L
if(!using_id)
if(isliving(usr))
var/mob/living/L = usr
L = usr
charge_card = L.get_active_hand()
if(!istype(charge_card))
return TRUE
@@ -137,6 +138,8 @@
status_message = "Account Error: Failed to Deposit Credits into Cargo Account"
return TRUE
charge_card.worth -= transaction_amount
if(istype(charge_card, /obj/item/spacecash/ewallet/persistent_charge_card))
log_and_message_admins("[charge_card] used for a transaction at [src] with amount [transaction_amount]. Remaining balance: [charge_card.worth]", L, get_turf(src))
playsound(computer, 'sound/machines/chime.ogg', 50, TRUE)
status_message = co.set_paid(GetNameAndAssignmentFromId(id_card), usr.character_id, destinationact)