mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-17 04:27:39 +00:00
## About The Pull Request Adds a new space ruin to the pool. It's the haunted trading post. It is a whiteship dock with a large (safe) common area. The back rooms contain loot and danger. Here are a few 'teaser' images. https://i.imgur.com/M1te9Ha.png https://i.imgur.com/SF3bJ62.png https://i.imgur.com/i9xeUFP.png https://i.imgur.com/UBwpJAM.png Notable treasures: Cash, Donk Co merch, Donk Co guns, Donk Co Donk Pockets, Donk Co vendors, Donk Co ID Cards, and the Donk Co Secret Recipe. Oh yeah the secret documents teach you how to make three prototype variants of Donk Pockets. There is no limit to the amount of times it can be read, so if you want to corner the market remember to lock up the documents. Or you can share them with your friends. **Now COMPLETE!**  ## Why It's Good For The Game This ruin is a multi-room dungeon with multiple solutions to each room. It has plenty of action from mobs, traps and hazards. Each room has some form of treasure or unique item in it. There's a boss at the end with great rewards for fighting it, including a cool gun (slightly worse variant of laser carbine). This ruin is also a whiteship dock and space base. The public area is entirely safe: stick to the well lit sector and don't trespass in the employees only areas and you won't be harmed. There is a variety of vendors to resupply at (including a brand new Donk Co snack vendor) but unlike most other space ruins you do have to pay. A whiteship can dock at this ruin if you have one, so you can bring groups of people to party or attack the dungeon together. ## Changelog 🆑 add: Adds the Haunted Trading Post space ruin. add: Adds 10+ unique items for the Haunted Trading Post add: Adds 5 dangerous mobs for the Haunted Trading Post add: Adds 4 new types of hazardous traps for the Haunted Trading Post. /🆑 --------- Co-authored-by: Afevis <ShizCalev@users.noreply.github.com> Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
117 lines
4.3 KiB
Plaintext
117 lines
4.3 KiB
Plaintext
///A pinata that has a chance to drop candy items when struck with a melee weapon that deals at least 10 damage
|
|
/obj/structure/pinata
|
|
name = "corgi pinata"
|
|
desc = "A papier-mâché representation of a corgi that contains all sorts of sugary treats."
|
|
icon = 'icons/obj/toys/toy.dmi'
|
|
icon_state = "pinata_placed"
|
|
base_icon_state = "pinata_placed"
|
|
max_integrity = 300 //20 hits from a baseball bat
|
|
anchored = TRUE
|
|
///What sort of candy the pinata will contain
|
|
var/candy_options = list(
|
|
/obj/item/food/bubblegum,
|
|
/obj/item/food/candy,
|
|
/obj/item/food/chocolatebar,
|
|
/obj/item/food/gumball,
|
|
/obj/item/food/lollipop/cyborg,
|
|
)
|
|
///How much candy is dropped when the pinata is destroyed
|
|
var/destruction_loot = 5
|
|
///Debris dropped when the pinata is destroyed
|
|
var/debris = /obj/effect/decal/cleanable/wrapping/pinata
|
|
|
|
/obj/structure/pinata/Initialize(mapload)
|
|
. = ..()
|
|
AddComponent(/datum/component/pinata, candy = candy_options, death_drop = destruction_loot)
|
|
|
|
/obj/structure/pinata/take_damage(damage_amount, damage_type, damage_flag, sound_effect, attack_dir, armour_penetration)
|
|
. = ..()
|
|
if(get_integrity() < (max_integrity/2))
|
|
icon_state = "[base_icon_state]_damaged"
|
|
if(damage_amount >= 10) // Swing means minimum damage threshhold for dropping candy is met.
|
|
flick("[icon_state]_swing", src)
|
|
|
|
/obj/structure/pinata/play_attack_sound(damage_amount, damage_type, damage_flag)
|
|
switch(damage_type)
|
|
if(BRUTE)
|
|
if(damage_amount)
|
|
playsound(src, 'sound/weapons/slash.ogg', 50, TRUE)
|
|
else
|
|
playsound(src, 'sound/weapons/tap.ogg', 50, TRUE)
|
|
if(BURN)
|
|
playsound(src, 'sound/items/welder.ogg', 100, TRUE)
|
|
|
|
/obj/structure/pinata/atom_deconstruct(disassembled)
|
|
new debris(get_turf(src))
|
|
|
|
///An item that when used inhand spawns an immovable pinata
|
|
/obj/item/pinata
|
|
name = "pinata assembly kit"
|
|
desc = "A papier-mâché corgi that contains various candy, must be set up before you can smash it."
|
|
icon = 'icons/obj/toys/toy.dmi'
|
|
icon_state = "pinata"
|
|
///The pinata that is created when this is placed.
|
|
var/pinata_type = /obj/structure/pinata
|
|
|
|
/obj/item/pinata/attack_self(mob/user)
|
|
var/turf/player_turf = get_turf(user)
|
|
if(player_turf?.is_blocked_turf(TRUE))
|
|
return FALSE
|
|
balloon_alert_to_viewers("setting up pinata...")
|
|
if(!do_after(user, 4 SECONDS, target = get_turf(user), progress = TRUE))
|
|
balloon_alert(user, "cancelled!")
|
|
new pinata_type(get_turf(user))
|
|
balloon_alert(user, "pinata setup")
|
|
qdel(src)
|
|
|
|
/obj/structure/pinata/syndie
|
|
name = "syndicate corgi pinata"
|
|
desc = "A papier-mâché representation of a corgi that contains all sorts of bombastic treats."
|
|
icon_state = "pinata_syndie_placed"
|
|
base_icon_state = "pinata_syndie_placed"
|
|
destruction_loot = 2
|
|
debris = /obj/effect/decal/cleanable/wrapping/pinata/syndie
|
|
candy_options = list(
|
|
/obj/item/food/bubblegum,
|
|
/obj/item/food/candy,
|
|
/obj/item/food/chocolatebar,
|
|
/obj/item/food/gumball,
|
|
/obj/item/food/lollipop,
|
|
/obj/item/grenade/c4,
|
|
/obj/item/grenade/clusterbuster/soap,
|
|
/obj/item/grenade/empgrenade,
|
|
/obj/item/grenade/frag,
|
|
/obj/item/grenade/syndieminibomb,
|
|
) //Candy items at the top, explosives at the bottom to be easier to read instead of fully alphabetized.
|
|
|
|
/obj/item/pinata/syndie
|
|
name = "weapons grade pinata assembly kit"
|
|
desc = "A papier-mâché corgi that contains various candy and explosives, must be set up before you can smash it."
|
|
icon_state = "pinata_syndie"
|
|
pinata_type = /obj/structure/pinata/syndie
|
|
|
|
/obj/structure/pinata/donk
|
|
name = "donk corgi pinata"
|
|
desc = "A papier-mâché representation of a corgi that contains all sorts of savory treats."
|
|
icon_state = "pinata_donk_placed"
|
|
base_icon_state = "pinata_donk_placed"
|
|
debris = /obj/effect/decal/cleanable/wrapping/pinata/donk
|
|
candy_options = list(
|
|
/obj/item/food/donkpocket/warm,
|
|
/obj/item/food/donkpocket/warm/pizza,
|
|
/obj/item/food/donkpocket/warm/honk,
|
|
/obj/item/food/donkpocket/warm/berry,
|
|
/obj/item/food/donkpocket/warm,
|
|
/obj/item/food/tatortot,
|
|
/obj/item/gun/ballistic/automatic/pistol/toy,
|
|
/obj/item/hot_potato/harmless/toy,
|
|
/obj/item/storage/box/donkpockets,
|
|
/obj/item/toy/plush/donkpocket,
|
|
)
|
|
|
|
/obj/item/pinata/donk
|
|
name = "\improper Donk Co. pinata assembly kit"
|
|
desc = "A papier-mâché corgi that contains various foodstuff and toys, must be set up before you can smash it."
|
|
icon_state = "pinata_donk"
|
|
pinata_type = /obj/structure/pinata/donk
|