mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-10-02 10:53:44 +00:00
feat: contraband list with flagging and optional removal
Staff list contraband items on a new dashboard page (item search, reason, flag or flag and remove; contraband_manage to edit, reports_view to see). World servers check every inventory when a character loads and every item a player receives: each find is an economy flag of the new kind Contraband, shown with the other flags and in the character's related data. Items marked for removal are taken away, with a character snapshot kept first so they can be given back, an audit entry and a mail or chat message telling the player why. Staff are skipped unless contraband_ignore_staff is off. Worlds reload the list when it changes (RELOAD_CONTRABAND, added at the end of ePlayerAction). Fixes #1563 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
#include "master/PlayerAction.h"
|
||||
#include "master/MessageCapture.h"
|
||||
#include "MessageInspector.h"
|
||||
#include "Contraband.h"
|
||||
#include "LiveEvents.h"
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
@@ -952,6 +953,9 @@ void LoadPlayer(const SystemAddress& sysAddr) {
|
||||
}
|
||||
}
|
||||
|
||||
// Contraband is flagged (and removed if its entry says so) before the character is saved and sent
|
||||
Contraband::CheckOnLoad(player);
|
||||
|
||||
// Update the characters xml to ensure the update above is not only saved, but so the client picks up on the changes.
|
||||
c->SaveXMLToDatabase();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user