Luxury shuttle improvements (#48395)

This commit is contained in:
cacogen
2019-12-28 05:09:30 +01:00
committed by skoglol
parent 8769033efb
commit e3b8829be3
6 changed files with 736 additions and 427 deletions
File diff suppressed because it is too large Load Diff
+2
View File
@@ -16,6 +16,7 @@
var/port_x_offset
var/port_y_offset
var/extra_desc = ""
/datum/map_template/shuttle/proc/prerequisites_met()
return TRUE
@@ -226,6 +227,7 @@
suffix = "luxury"
name = "Luxury Shuttle"
description = "A luxurious golden shuttle complete with an indoor swimming pool. Each crewmember wishing to board must bring 500 credits, payable in cash and mineral coin."
extra_desc = "This shuttle costs 500 credits to board."
admin_notes = "Due to the limited space for non paying crew, this shuttle may cause a riot."
credit_cost = 10000
@@ -169,7 +169,7 @@
SSshuttle.existing_shuttle = SSshuttle.emergency
SSshuttle.action_load(S)
D.adjust_money(-S.credit_cost)
minor_announce("[usr.real_name] has purchased [S.name] for [S.credit_cost] credits." , "Shuttle Purchase")
minor_announce("[usr.real_name] has purchased [S.name] for [S.credit_cost] credits.[S.extra_desc ? " [S.extra_desc]" : ""]" , "Shuttle Purchase")
message_admins("[ADMIN_LOOKUPFLW(usr)] purchased [S.name].")
SSblackbox.record_feedback("text", "shuttle_purchase", 1, "[S.name]")
else
+6
View File
@@ -86,6 +86,12 @@
icon = 'icons/turf/walls/uranium_wall.dmi'
icon_state = "uranium"
/turf/closed/indestructible/riveted/diamond
name = "diamond wall"
desc = "A wall with diamond plating. You monster."
icon = 'icons/turf/walls/diamond_wall.dmi'
icon_state = "diamond"
/turf/closed/indestructible/abductor
icon_state = "alien1"
+1 -1
View File
@@ -316,7 +316,7 @@
mode = SHUTTLE_DOCKED
setTimer(SSshuttle.emergencyDockTime)
send2tgs("Server", "The Emergency Shuttle has docked with the station.")
priority_announce("The Emergency Shuttle has docked with the station. You have [timeLeft(600)] minutes to board the Emergency Shuttle.", null, 'sound/ai/shuttledock.ogg', "Priority")
priority_announce("[SSshuttle.emergency] has docked with the station. You have [timeLeft(600)] minutes to board the Emergency Shuttle.", null, 'sound/ai/shuttledock.ogg', "Priority")
ShuttleDBStuff()
+24 -11
View File
@@ -213,17 +213,19 @@
//Luxury Shuttle Blockers
/obj/effect/forcefield/luxury_shuttle
name = "luxury shuttle ticket booth"
desc = "A forceful money collector."
timeleft = 0
/obj/machinery/scanner_gate/luxury_shuttle
name = "luxury shuttle ticket field"
density = FALSE //allows shuttle airlocks to close, nothing but an approved passenger gets past CanPass
locked = TRUE
use_power = FALSE
var/threshold = 500
var/static/list/approved_passengers = list()
var/static/list/check_times = list()
var/list/payees = list()
/obj/effect/forcefield/luxury_shuttle/CanPass(atom/movable/mover, turf/target)
/obj/machinery/scanner_gate/luxury_shuttle/CanPass(atom/movable/mover, turf/target)
if(mover in approved_passengers)
set_scanline("scanning", 10)
return TRUE
if(!isliving(mover)) //No stowaways
@@ -231,10 +233,19 @@
return FALSE
/obj/machinery/scanner_gate/luxury_shuttle/Crossed(atom/movable/AM)
return
/obj/machinery/scanner_gate/luxury_shuttle/attackby(obj/item/W, mob/user, params)
return
/obj/machinery/scanner_gate/luxury_shuttle/emag_act(mob/user)
return
#define LUXURY_MESSAGE_COOLDOWN 100
/obj/effect/forcefield/luxury_shuttle/Bumped(atom/movable/AM)
/obj/machinery/scanner_gate/luxury_shuttle/Bumped(atom/movable/AM)
if(!isliving(AM))
alarm_beep()
return ..()
var/datum/bank_account/account
@@ -315,18 +326,18 @@
var/change = FALSE
if(payees[AM] > 0)
change = TRUE
var/obj/item/holochip/HC
var/obj/item/holochip/HC = new /obj/item/holochip(AM.loc)
HC.credits = payees[AM]
HC.name = "[HC.credits] credit holochip"
if(istype(AM, /mob/living/carbon/human))
var/mob/living/carbon/human/H = AM
if(!H.put_in_hands(new HC))
if(!H.put_in_hands(HC))
AM.pulling = HC
else
new HC(AM.loc)
AM.pulling = HC
payees[AM] -= payees[AM]
say("<span class='robot'>Welcome aboard, [AM]![change ? " Here is your change." : ""]</span>")
say("<span class='robot'>Welcome to first class, [AM]![change ? " Here is your change." : ""]</span>")
approved_passengers += AM
check_times -= AM
@@ -335,10 +346,12 @@
for(var/obj/I in counted_money)
qdel(I)
if(!check_times[AM] || check_times[AM] < world.time) //Let's not spam the message
to_chat(AM, "<span class='notice'>$[payees[AM]] received. You need $[threshold-payees[AM]] more.</span>")
to_chat(AM, "<span class='notice'>[payees[AM]] credits received. You need [threshold-payees[AM]] more.</span>")
check_times[AM] = world.time + LUXURY_MESSAGE_COOLDOWN
alarm_beep()
return ..()
else
alarm_beep()
return ..()
/mob/living/simple_animal/hostile/bear/fightpit