mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-05-15 03:12:25 +01:00
5c5ccc4c9f
* moves the last admin verbs * . * Update diagnostics.dm Co-authored-by: Cameron Lennox <killer65311@gmail.com> * . * . * . * . * Fixes jump to mob * Fixes coordinate jump * Convo fixes * Fixes random maps * yeh --------- Co-authored-by: Cameron Lennox <killer65311@gmail.com>
72 lines
2.5 KiB
Plaintext
72 lines
2.5 KiB
Plaintext
//Based on the ERT setup
|
|
|
|
GLOBAL_VAR_INIT(send_beruang, FALSE)
|
|
GLOBAL_VAR_INIT(can_call_traders, TRUE)
|
|
|
|
ADMIN_VERB(trader_ship, R_ADMIN|R_EVENT, "Dispatch Beruang Trader Ship", "Invite players to join the Beruang.", ADMIN_CATEGORY_FUN_EVENT_KIT)
|
|
if(SSticker.current_state <= GAME_STATE_PREGAME)
|
|
to_chat(user, span_danger("The round hasn't started yet!"))
|
|
return
|
|
if(GLOB.send_beruang)
|
|
to_chat(user, span_danger("The Beruang has already been sent this round!"))
|
|
return
|
|
if(tgui_alert(user, "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(user, "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(user, span_danger("Looks like somebody beat you to it!"))
|
|
return
|
|
|
|
message_admins("[key_name_admin(user)] is dispatching the Beruang.")
|
|
log_admin("[key_name(user)] used Dispatch Beruang Trader Ship.")
|
|
trigger_trader_visit()
|
|
|
|
/client/verb/JoinTraders()
|
|
set name = "Join Trader Visit"
|
|
set category = "IC.Event"
|
|
|
|
if(!MayRespawn(TRUE))
|
|
to_chat(src, span_warning("You cannot join the traders."))
|
|
return
|
|
|
|
if(!isobserver(mob) && !isnewplayer(mob))
|
|
to_chat(src, "You need to be an observer or new player to use this.")
|
|
return
|
|
|
|
if(!GLOB.send_beruang)
|
|
to_chat(src, "The Beruang is not currently heading to the station.")
|
|
return
|
|
if(GLOB.traders.current_antagonists.len >= GLOB.traders.hard_cap)
|
|
to_chat(src, "The number of trader slots is already full!")
|
|
return
|
|
GLOB.traders.create_default(mob)
|
|
|
|
/proc/trigger_trader_visit()
|
|
if(!GLOB.can_call_traders)
|
|
return
|
|
if(GLOB.send_beruang)
|
|
return
|
|
|
|
GLOB.command_announcement.Announce("Incoming cargo hauler: Beruang (Reg: VRS 22EB1F11C2).", "[station_name()] Traffic Control")
|
|
|
|
GLOB.can_call_traders = FALSE // Only one call per round.
|
|
GLOB.send_beruang = TRUE
|
|
consider_trader_load() //VOREStation Add
|
|
|
|
sleep(300 SECONDS)
|
|
GLOB.send_beruang = FALSE // 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))
|
|
log_mapping("Trader is not a valid map template!")
|
|
else
|
|
MT.load_new_z(centered = TRUE)
|
|
log_and_message_admins("Loaded the trade shuttle just now.")
|