Shuttle update: Part Three: The Merchants Invest (#7591)

This is part 3 of the work of the big shuttle update started by Poze (#5771, description not up to date.) with more to come as that pr is split up into more manageable chunks. (Previous part: #7457)
This commit is contained in:
fernerr
2019-12-08 00:10:09 +02:00
committed by Erki
parent a09704f0dc
commit 58b2f532c8
16 changed files with 4469 additions and 3158 deletions
+37 -4
View File
@@ -411,6 +411,7 @@
/obj/random/voidsuit
name = "random voidsuit"
var/damaged = 0
var/for_vox = FALSE
var/list/suitmap = list(
/obj/item/clothing/suit/space/void = /obj/item/clothing/head/helmet/space/void,
/obj/item/clothing/suit/space/void/engineering = /obj/item/clothing/head/helmet/space/void/engineering,
@@ -419,7 +420,13 @@
/obj/item/clothing/suit/space/void/security = /obj/item/clothing/head/helmet/space/void/security,
/obj/item/clothing/suit/space/void/atmos = /obj/item/clothing/head/helmet/space/void/atmos,
/obj/item/clothing/suit/space/void/merc = /obj/item/clothing/head/helmet/space/void/merc,
/obj/item/clothing/suit/space/void/captain = /obj/item/clothing/head/helmet/space/void/captain
/obj/item/clothing/suit/space/void/captain = /obj/item/clothing/head/helmet/space/void/captain,
/obj/item/clothing/suit/space/void/cruiser = /obj/item/clothing/head/helmet/space/void/cruiser,
/obj/item/clothing/suit/space/void/frontier = /obj/item/clothing/head/helmet/space/void/frontier,
/obj/item/clothing/suit/space/void/hos = /obj/item/clothing/head/helmet/space/void/hos,
/obj/item/clothing/suit/space/void/lancer = /obj/item/clothing/head/helmet/space/void/lancer,
/obj/item/clothing/suit/space/void/sci = /obj/item/clothing/head/helmet/space/void/sci,
/obj/item/clothing/suit/space/void/sol = /obj/item/clothing/head/helmet/space/void/sol
)
problist = list(
/obj/item/clothing/suit/space/void = 2,
@@ -429,7 +436,13 @@
/obj/item/clothing/suit/space/void/security = 1,
/obj/item/clothing/suit/space/void/atmos = 1.5,
/obj/item/clothing/suit/space/void/merc = 0.5,
/obj/item/clothing/suit/space/void/captain = 0.3
/obj/item/clothing/suit/space/void/captain = 0.3,
/obj/item/clothing/suit/space/void/cruiser = 0.5,
/obj/item/clothing/suit/space/void/frontier = 1,
/obj/item/clothing/suit/space/void/hos = 0.3,
/obj/item/clothing/suit/space/void/lancer = 0.3,
/obj/item/clothing/suit/space/void/sci = 2,
/obj/item/clothing/suit/space/void/sol = 0.5
)
has_postspawn = TRUE
@@ -437,16 +450,36 @@
damaged = _damaged
. = ..(mapload)
/obj/random/voidsuit/post_spawn(obj/item/clothing/suit/space/void/suit)
/obj/random/voidsuit/post_spawn(obj/item/clothing/suit/space/suit)
var/helmet = suitmap[suit.type]
if (helmet)
new helmet(loc)
else
log_debug("random_obj (voidsuit): Type [suit.type] was unable to spawn a matching helmet!")
new /obj/item/clothing/shoes/magboots(loc)
if(!for_vox)
new /obj/item/clothing/shoes/magboots(loc)
else
new /obj/item/clothing/shoes/magboots/vox(loc)
new /obj/item/clothing/gloves/yellow/vox(loc)
if (damaged && prob(60))
suit.create_breaches(pick(BRUTE, BURN), rand(1, 5))
/obj/random/voidsuit/vox
name = "random vox voidsuit"
for_vox = TRUE
suitmap = list(
/obj/item/clothing/suit/space/vox/carapace = /obj/item/clothing/head/helmet/space/vox/carapace,
/obj/item/clothing/suit/space/vox/medic = /obj/item/clothing/head/helmet/space/vox/medic,
/obj/item/clothing/suit/space/vox/pressure = /obj/item/clothing/head/helmet/space/vox/pressure,
/obj/item/clothing/suit/space/vox/stealth = /obj/item/clothing/head/helmet/space/vox/stealth
)
problist = list(
/obj/item/clothing/suit/space/vox/carapace = 1,
/obj/item/clothing/suit/space/vox/medic = 1,
/obj/item/clothing/suit/space/vox/pressure = 1,
/obj/item/clothing/suit/space/vox/stealth = 1
)
/obj/random/vendor
name = "random vendor"
var/depleted = 0
@@ -676,14 +676,13 @@
"trashcart" = "trashcartopen",
"critter" = "critteropen",
"largemetal" = "largemetalopen",
"medicalcrate" = "medicalcrateopen"
"medicalcrate" = "medicalcrateopen",
"tcflcrate" = "tcflcrateopen"
)
/obj/structure/closet/crate/loot/Initialize(mapload, var/_rarity = 1, var/_quantity = 10)
/obj/structure/closet/crate/loot/Initialize(mapload)
. = ..()
rarity = _rarity
quantity = _quantity
spawntypes = list(
"1" = STOCK_RARE_PROB * rarity,
+1 -1
View File
@@ -140,7 +140,7 @@
/obj/structure/mirror/merchant/attack_hand(var/mob/living/carbon/human/user)
if(istype(get_area(src),/area/merchant_station))
if(istype(user) && user.mind && user.mind.assigned_role == "Merchant" && user.species.name != "Vox")
if(istype(user) && user.mind && (user.mind.assigned_role == "Merchant" || user.mind.assigned_role == "Merchants Assistant") && user.species.name != "Vox")
var/choice = input("Do you wish to become a Vox? This is not reversible.") as null|anything in list("No","Yes")
if(choice == "Yes")
user.set_species("Vox")