mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-10-18 18:52:48 +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:
@@ -29,6 +29,7 @@
|
||||
#include "dChatFilter.h"
|
||||
#include "MissionComponent.h"
|
||||
#include "Mission.h"
|
||||
#include "Contraband.h"
|
||||
#include "LiveEvents.h"
|
||||
|
||||
namespace {
|
||||
@@ -293,6 +294,8 @@ uint32_t DashboardActions::Apply(const PlayerActionRequest& request) {
|
||||
return ChangeMission(request.action, request.characterId, static_cast<uint32_t>(request.targetId), request.approved, request.text);
|
||||
case ePlayerAction::RELOAD_LIVE_OPS:
|
||||
return LiveEvents::Reload();
|
||||
case ePlayerAction::RELOAD_CONTRABAND:
|
||||
return Contraband::Reload();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user