mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-16 04:34:21 +00:00
Implements the Requests Manager, a new admin tool used to view all prayers, Centcom/Syndicate requests, and nuke code requests within the span of a round. The verb can be found under Admin.Game, or alternatively just use the verb directly Requests Manager. The requests can be filtered by type (using the type filter button), or using a text search which searches both the message text as well as the request owner's name.
44 lines
1.1 KiB
Plaintext
44 lines
1.1 KiB
Plaintext
/// Requests from prayers
|
|
#define REQUEST_PRAYER "request_prayer"
|
|
/// Requests for Centcom
|
|
#define REQUEST_CENTCOM "request_centcom"
|
|
/// Requests for the Syndicate
|
|
#define REQUEST_SYNDICATE "request_syndicate"
|
|
/// Requests for the nuke code
|
|
#define REQUEST_NUKE "request_nuke"
|
|
|
|
/**
|
|
* # Request
|
|
*
|
|
* A representation of an in-game request, such as a prayer.
|
|
*/
|
|
/datum/request
|
|
/// Unique ID of the request
|
|
var/id
|
|
/// Atomic ID for increment unique request IDs
|
|
var/static/atomic_id = 0
|
|
/// The type of request
|
|
var/req_type
|
|
/// The owner of the request, the player who created it
|
|
var/client/owner
|
|
/// The ckey of the owner, used for re-binding variables on login
|
|
var/owner_ckey
|
|
/// The name of the owner, in format <key>/<name>, assigned at time of request creation
|
|
var/owner_name
|
|
/// The message associated with the request
|
|
var/message
|
|
/// When the request was created
|
|
var/timestamp
|
|
|
|
/datum/request/New(client/requestee, type, request)
|
|
if (!requestee)
|
|
qdel(src)
|
|
return
|
|
id = ++atomic_id
|
|
owner = requestee
|
|
owner_ckey = owner.ckey
|
|
req_type = type
|
|
message = request
|
|
timestamp = world.time
|
|
owner_name = key_name(requestee, FALSE)
|