Adds explorer drones / adventures. (#57851)

A new side-job for cargo. Prepare and launch exploration drones at distant sites to encounter weird adventures, collect loot and expand the station cargo network. Adventures - the main content type here, can be written by anyone without any knowledge of programming. The purpose here is creating an way of interesting way of delivering lore (and adding some new job content/cargo expansion method).

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: EOBGames <58124831+EOBGames@users.noreply.github.com>
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
This commit is contained in:
AnturK
2021-03-26 11:38:39 +02:00
committed by GitHub
co-authored by tralezab EOBGames Fikou Aleksej Komarov
parent b08ff4f9ec
commit 8b1ffd1e49
59 changed files with 23108 additions and 18909 deletions
+4
View File
@@ -0,0 +1,4 @@
/datum/export/antique
cost = CARGO_CRATE_VALUE*10
unit_name = "antique"
export_types = list(/obj/item/antique)
+8
View File
@@ -43,6 +43,14 @@
QDEL_NULL(radio)
return ..()
/obj/machinery/computer/cargo/attacked_by(obj/item/I, mob/living/user)
if(istype(I,/obj/item/trade_chip))
var/obj/item/trade_chip/contract = I
contract.try_to_unlock_contract(user)
return TRUE
else
return ..()
/obj/machinery/computer/cargo/proc/get_export_categories()
. = EXPORT_CARGO
if(contraband)
+53
View File
@@ -2457,6 +2457,13 @@
/obj/item/book/random)
crate_type = /obj/structure/closet/crate/wooden
/datum/supply_pack/misc/exploration_drone
name = "Exploration Drone"
desc = "A replacement long-range exploration drone."
cost = CARGO_CRATE_VALUE * 5
contains = list(/obj/item/exodrone)
crate_name = "exodrone crate"
/datum/supply_pack/misc/paper
name = "Bureaucracy Crate"
desc = "High stacks of papers on your desk Are a big problem - make it Pea-sized with these bureaucratic supplies! Contains six pens, some camera film, hand labeler supplies, a paper bin, a carbon paper bin, three folders, a laser pointer, two clipboards and two stamps."//that was too forced
@@ -2799,3 +2806,49 @@
/obj/item/vending_refill/wardrobe/det_wardrobe,
/obj/item/vending_refill/wardrobe/law_wardrobe)
crate_name = "security department supply crate"
/// Exploration drone unlockables ///
/datum/supply_pack/exploration
special = TRUE
group = "Outsourced"
/datum/supply_pack/exploration/scrapyard
name = "Scrapyard Crate"
desc = "Outsourced crate containing various junk."
cost = CARGO_CRATE_VALUE * 5
contains = list(/obj/item/relic,
/obj/item/broken_bottle,
/obj/item/pickaxe/rusted)
crate_name = "scrapyard crate"
/datum/supply_pack/exploration/catering
name = "Catering Crate"
desc = "No cook? No problem! Food quality may vary depending on provider."
cost = CARGO_CRATE_VALUE * 5
contains = list(/obj/item/food/sandwich,
/obj/item/food/sandwich,
/obj/item/food/sandwich,
/obj/item/food/sandwich,
/obj/item/food/sandwich)
crate_name = "outsourced food crate"
/datum/supply_pack/exploration/catering/fill(obj/structure/closet/crate/C)
. = ..()
if(prob(30))
for(var/obj/item/food/F in C)
F.name = "spoiled [F.name]"
F.foodtypes |= GROSS
F.MakeEdible()
/datum/supply_pack/exploration/shrubbery
name = "Shrubbery Crate"
desc = "Crate full of hedge shrubs."
cost = CARGO_CRATE_VALUE * 5
crate_name = "shrubbery crate"
var/shrub_amount = 8
/datum/supply_pack/exploration/shrubbery/fill(obj/structure/closet/crate/C)
for(var/i in 1 to shrub_amount)
new /obj/item/grown/shrub(C)