mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-06-05 13:34:25 +01:00
f4bf017921
* Unit Test rework & Master/Ticker update * Fixes and working unit testing * Fixes * Test fixes and FA update * Fixed runtimes * Radio subsystem * move that glob wherever later * ident * CIBUILDING compile option * Fixed runtimes * Some changes to the workflow * CI Split * More split * Pathing * Linters and Annotators * ci dir fix * Missing undef fixed * Enable grep checks * More test conversions * More split * Correct file * Removes unneeded inputs * oop * More dependency changes * More conversions * Conversion fixes * Fixes * Some assert fixes * Corrects start gate * Converted some README.dms to README.mds * Removes duplicate proc * Removes unused defines * Example configs * fix dll access viol by double calling * Post-rebase fixes * Cleans up names global list * Undef restart counter * More code/game/ cleanup * Statpanel update * Skybox * add * Fix ticker * Roundend fix * Persistence dependency update * Reordering * Reordering * Reordering * Initstage fix * . * . * Reorder * Reorder * Circle * Mobs * Air * Test fix * CI Script Fix * Configs * More ticker stuff * This is now in 'reboot world' * Restart world announcements * no glob in PreInit * to define * Update * Removed old include * Make this file normal again * moved * test * shared unit testing objects * Updates batched_spritesheets and universal_icon * . * job data debug * rm that * init order * show us * . * i wonder * . * . * urg * do we not have a job ID? * . * rm sleep for now * updated rust-g linux binaries * binaries update 2 * binaries update 3 * testing something * change that * test something * . * . * . * locavar * test * move that * . * debug * don't run this test * strack trace it * cleaner * . * . * cras again * also comment this out * return to official rust g * Update robot_icons.dm * monitor the generation * . --------- Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
82 lines
2.6 KiB
Plaintext
82 lines
2.6 KiB
Plaintext
//Based on the ERT setup
|
|
|
|
GLOBAL_VAR_INIT(send_beruang, 0)
|
|
GLOBAL_VAR_INIT(can_call_traders, 1)
|
|
|
|
/client/proc/trader_ship()
|
|
set name = "Dispatch Beruang Trader Ship"
|
|
set category = "Fun.Event Kit"
|
|
set desc = "Invite players to join the Beruang."
|
|
|
|
if(!holder)
|
|
to_chat(usr, span_danger("Only administrators may use this command."))
|
|
return
|
|
if(!SSticker)
|
|
to_chat(usr, span_danger("The game hasn't started yet!"))
|
|
return
|
|
if(SSticker.current_state == 1)
|
|
to_chat(usr, span_danger("The round hasn't started yet!"))
|
|
return
|
|
if(GLOB.send_beruang)
|
|
to_chat(usr, span_danger("The Beruang has already been sent this round!"))
|
|
return
|
|
if(tgui_alert(usr, "Do you want to dispatch the Beruang trade ship?","Trade Ship",list("Yes","No")) != "Yes")
|
|
return
|
|
if(get_security_level() == "red") // Allow admins to reconsider if the alert level is Red
|
|
if(tgui_alert(usr, "The station is in red alert. Do you still want to send traders?","Trade Ship",list("Yes","No")) != "Yes")
|
|
return
|
|
if(GLOB.send_beruang)
|
|
to_chat(usr, span_danger("Looks like somebody beat you to it!"))
|
|
return
|
|
|
|
message_admins("[key_name_admin(usr)] is dispatching the Beruang.", 1)
|
|
log_admin("[key_name(usr)] used Dispatch Beruang Trader Ship.")
|
|
trigger_trader_visit()
|
|
|
|
/client/verb/JoinTraders()
|
|
|
|
set name = "Join Trader Visit"
|
|
set category = "IC.Event"
|
|
|
|
if(!MayRespawn(1))
|
|
to_chat(usr, span_warning("You cannot join the traders."))
|
|
return
|
|
|
|
if(isobserver(usr) || isnewplayer(usr))
|
|
if(!GLOB.send_beruang)
|
|
to_chat(usr, "The Beruang is not currently heading to the station.")
|
|
return
|
|
if(traders.current_antagonists.len >= traders.hard_cap)
|
|
to_chat(usr, "The number of trader slots is already full!")
|
|
return
|
|
traders.create_default(usr)
|
|
else
|
|
to_chat(usr, "You need to be an observer or new player to use this.")
|
|
|
|
/proc/trigger_trader_visit()
|
|
if(!GLOB.can_call_traders)
|
|
return
|
|
if(GLOB.send_beruang)
|
|
return
|
|
|
|
command_announcement.Announce("Incoming cargo hauler: Beruang (Reg: VRS 22EB1F11C2).", "[station_name()] Traffic Control")
|
|
|
|
GLOB.can_call_traders = 0 // Only one call per round.
|
|
GLOB.send_beruang = 1
|
|
consider_trader_load() //VOREStation Add
|
|
|
|
sleep(600 * 5)
|
|
GLOB.send_beruang = 0 // Can no longer join the traders.
|
|
|
|
GLOBAL_VAR(trader_loaded)
|
|
|
|
/proc/consider_trader_load()
|
|
if(!GLOB.trader_loaded)
|
|
GLOB.trader_loaded = TRUE
|
|
var/datum/map_template/MT = SSmapping.map_templates["Special Area - Salamander Trader"] //was: "Special Area - Trader"
|
|
if(!istype(MT))
|
|
error("Trader is not a valid map template!")
|
|
else
|
|
MT.load_new_z(centered = TRUE)
|
|
log_and_message_admins("Loaded the trade shuttle just now.")
|