mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 11:37:40 +01:00
Adds new trader shuttles for each trader type (#29734)
* Prepare for trade shuttles * The ships * Debug logs * W i d e * Adjust * Update boxstation.dmm * Templates instead of landmarks, test this Co-authored-by: Charlie Nolan <funnyman3595@gmail.com> Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com> * Fixes * Removed unnecessary comment Co-authored-by: Charlie Nolan <funnyman3595@gmail.com> Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com> * Null check Co-authored-by: Charlie Nolan <funnyman3595@gmail.com> Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com> * Reorganizes some ships to make viewing easier --------- Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com> Co-authored-by: Fordoxia <143041327+Fordoxia@users.noreply.github.com> Co-authored-by: Charlie Nolan <funnyman3595@gmail.com>
This commit is contained in:
co-authored by
Charlie Nolan
Fordoxia
parent
68171a0442
commit
4bed17ef31
@@ -479,6 +479,38 @@ SUBSYSTEM_DEF(shuttle)
|
||||
custom_escape_shuttle_loading = FALSE
|
||||
return loaded_shuttle
|
||||
|
||||
/datum/controller/subsystem/shuttle/proc/set_trader_shuttle(datum/map_template/shuttle/trader/template)
|
||||
var/obj/docking_port/mobile/trader/trade_shuttle = getShuttle("trader")
|
||||
if(trade_shuttle)
|
||||
var/obj/docking_port/stationary/docked_id = trade_shuttle.get_docked()
|
||||
if(docked_id?.id != "trader_base")
|
||||
CRASH("Attempted to load a new trade shuttle while the existing one was not at its home base.")
|
||||
// Dispose of the old shuttle.
|
||||
trade_shuttle.jumpToNullSpace()
|
||||
|
||||
var/obj/docking_port/mobile/trader/dock = getDock("trader_base")
|
||||
if(!dock)
|
||||
CRASH("Unable to load trading shuttle, no trading dock found.")
|
||||
|
||||
// Load in the new shuttle.
|
||||
trade_shuttle = load_template(template)
|
||||
var/result = trade_shuttle.canDock(dock)
|
||||
if(result == SHUTTLE_SOMEONE_ELSE_DOCKED)
|
||||
trade_shuttle.jumpToNullSpace()
|
||||
CRASH("A non-trader shuttle is blocking the trading dock.")
|
||||
if(result != SHUTTLE_CAN_DOCK)
|
||||
trade_shuttle.jumpToNullSpace()
|
||||
CRASH("New trading shuttle unable to dock at the trading dock: [result]")
|
||||
|
||||
trade_shuttle.dock(dock)
|
||||
|
||||
trade_shuttle.register()
|
||||
|
||||
// TODO indicate to the user that success happened, rather than just
|
||||
// blanking the modification tab
|
||||
|
||||
return trade_shuttle
|
||||
|
||||
/datum/controller/subsystem/shuttle/proc/request_transit_dock(obj/docking_port/mobile/M)
|
||||
if(!istype(M))
|
||||
CRASH("[M] is not a mobile docking port")
|
||||
|
||||
Reference in New Issue
Block a user