mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-31 09:08:30 +01:00
Tendril loot changes: Demonic portals drop locked chests instead of just flat out the item, removes some items from some lists, punching mitts is a vendor item. Concussive gauntlets grant hunter boxing. (#93127)
This commit is contained in:
@@ -34,6 +34,10 @@
|
||||
purchase_path = /obj/item/kinetic_crusher
|
||||
cost_per_order = 650
|
||||
|
||||
/datum/orderable_item/mining/punching_mitts
|
||||
purchase_path = /obj/item/clothing/gloves/fingerless/punch_mitts
|
||||
cost_per_order = 1000
|
||||
|
||||
/datum/orderable_item/mining/crusher_retool_kit
|
||||
purchase_path = /obj/item/crusher_trophy/retool_kit
|
||||
cost_per_order = 150
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
|
||||
/// For spawning loot from necropolis chests or other sources, this randomly chooses one of the following entries to spawn.
|
||||
/obj/effect/spawner/random/mining_loot
|
||||
name = "random mining loot"
|
||||
desc = "Spawns one random mining loot."
|
||||
icon = 'icons/obj/storage/crates.dmi'
|
||||
icon_state = "necrocrate"
|
||||
loot = list(
|
||||
/obj/item/shared_storage/red = 1,
|
||||
/obj/item/soulstone/anybody/mining = 1,
|
||||
/obj/item/clothing/glasses/godeye = 1,
|
||||
/obj/item/reagent_containers/cup/bottle/potion/flight = 1,
|
||||
/obj/item/clothing/gloves/gauntlets = 1,
|
||||
/obj/effect/spawner/random/mining_loot/pka_mod = 1,
|
||||
/obj/item/rod_of_asclepius = 1,
|
||||
/obj/item/organ/heart/cursed/wizard = 1,
|
||||
/obj/item/ship_in_a_bottle = 1,
|
||||
/obj/item/clothing/suit/hooded/berserker = 1,
|
||||
/obj/item/jacobs_ladder = 1,
|
||||
/obj/item/guardian_creator/miner = 1,
|
||||
/obj/item/warp_cube/red = 1,
|
||||
/obj/item/wisp_lantern = 1,
|
||||
/obj/item/immortality_talisman = 1,
|
||||
/obj/item/book/granter/action/spell/summonitem = 1,
|
||||
/obj/item/book_of_babel = 1,
|
||||
/obj/item/clothing/neck/necklace/memento_mori = 1,
|
||||
)
|
||||
|
||||
/obj/effect/spawner/random/mining_loot/demonic
|
||||
name = "random demonic mining loot"
|
||||
desc = "Spawns one random mining loot from the demonic list."
|
||||
icon = 'icons/obj/storage/crates.dmi'
|
||||
icon_state = "necrocrate"
|
||||
loot = list(
|
||||
/obj/item/shared_storage/red = 1,
|
||||
/obj/item/clothing/neck/cloak/wolf_coat = 1,
|
||||
/obj/item/soulstone/anybody/mining = 1,
|
||||
/obj/item/clothing/glasses/godeye = 1,
|
||||
/obj/item/reagent_containers/cup/bottle/potion/flight = 1,
|
||||
/obj/item/clothing/gloves/gauntlets = 1,
|
||||
/obj/effect/spawner/random/mining_loot/pka_mod = 1,
|
||||
/obj/item/rod_of_asclepius = 1,
|
||||
/obj/item/organ/heart/cursed/wizard = 1,
|
||||
/obj/item/jacobs_ladder = 1,
|
||||
/obj/item/guardian_creator/miner = 1,
|
||||
/obj/item/weldingtool/abductor = 1,
|
||||
/obj/item/warp_cube/red = 1,
|
||||
/obj/item/immortality_talisman = 1,
|
||||
/obj/item/book/granter/action/spell/summonitem = 1,
|
||||
/obj/item/clothing/neck/necklace/memento_mori = 1,
|
||||
/obj/item/book/granter/action/spell/sacredflame = 1,
|
||||
)
|
||||
|
||||
/// For spawning a rare PKA modkit
|
||||
/obj/effect/spawner/random/mining_loot/pka_mod
|
||||
name = "random rare PKA modkits"
|
||||
desc = "Spawns one random rare PKA modkits."
|
||||
icon = 'icons/obj/mining.dmi'
|
||||
icon_state = "modkit"
|
||||
loot = list(
|
||||
/obj/item/borg/upgrade/modkit/aoe/mobs/andturfs = 1,
|
||||
/obj/item/borg/upgrade/modkit/cooldown/repeater = 1,
|
||||
/obj/item/borg/upgrade/modkit/resonator_blasts = 1,
|
||||
/obj/item/borg/upgrade/modkit/bounty = 1,
|
||||
/obj/item/borg/upgrade/modkit/lifesteal = 1,
|
||||
)
|
||||
@@ -141,62 +141,11 @@ GLOBAL_LIST_INIT(ore_probability, list(
|
||||
*/
|
||||
/obj/effect/collapsing_demonic_portal/proc/drop_loot()
|
||||
visible_message(span_warning("Something slips out of [src]!"))
|
||||
var/loot = rand(1, 27)
|
||||
var/loot = rand(1, 100)
|
||||
switch(loot)
|
||||
if(1)
|
||||
new /obj/item/clothing/neck/cloak/wolf_coat(loc)
|
||||
if(2)
|
||||
new /obj/item/clothing/glasses/godeye(loc)
|
||||
if(3)
|
||||
new /obj/item/reagent_containers/cup/bottle/potion/flight(loc)
|
||||
if(4)
|
||||
new /obj/item/organ/heart/cursed/wizard(loc)
|
||||
if(5)
|
||||
new /obj/item/jacobs_ladder(loc)
|
||||
if(6)
|
||||
new /obj/item/rod_of_asclepius(loc)
|
||||
if(7)
|
||||
new /obj/item/warp_cube/red(loc)
|
||||
if(8)
|
||||
new /obj/item/wisp_lantern(loc)
|
||||
if(9)
|
||||
new /obj/item/immortality_talisman(loc)
|
||||
if(10)
|
||||
new /obj/item/book/granter/action/spell/summonitem(loc)
|
||||
if(11)
|
||||
new /obj/item/clothing/neck/necklace/memento_mori(loc)
|
||||
if(12)
|
||||
new /obj/item/borg/upgrade/modkit/lifesteal(loc)
|
||||
new /obj/item/bedsheet/cult(loc)
|
||||
if(13)
|
||||
new /obj/item/disk/design_disk/modkit_disc/mob_and_turf_aoe(loc)
|
||||
if(14)
|
||||
new /obj/item/disk/design_disk/modkit_disc/bounty(loc)
|
||||
if(15)
|
||||
new /obj/item/ship_in_a_bottle(loc)
|
||||
new /obj/item/oar(loc)
|
||||
if(16)
|
||||
if(1 to 80)
|
||||
new /obj/structure/closet/crate/necropolis/tendril/demonic(loc)
|
||||
if(81 to 90)
|
||||
new /mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/doom(loc)
|
||||
if(17)
|
||||
new /obj/item/clothing/gloves/fingerless/punch_mitts(loc)
|
||||
new /obj/item/clothing/head/cowboy(loc)
|
||||
if(18)
|
||||
new /obj/item/soulstone/anybody(loc)
|
||||
if(19)
|
||||
new /obj/item/disk/design_disk/modkit_disc/resonator_blast(loc)
|
||||
if(20)
|
||||
new /obj/item/disk/design_disk/modkit_disc/rapid_repeater(loc)
|
||||
if(21)
|
||||
new /obj/item/slimepotion/transference(loc)
|
||||
if(22)
|
||||
new /obj/item/slime_extract/adamantine(loc)
|
||||
if(23)
|
||||
new /obj/item/weldingtool/abductor(loc)
|
||||
if(24)
|
||||
if(91 to INFINITY)
|
||||
new /obj/structure/elite_tumor(loc)
|
||||
if(25)
|
||||
new /mob/living/basic/clown/clownhulk(loc)
|
||||
if(26)
|
||||
new /obj/item/clothing/shoes/winterboots/ice_boots(loc)
|
||||
if(27)
|
||||
new /obj/item/book/granter/action/spell/sacredflame(loc)
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
/obj/item/clothing/gloves/fingerless/punch_mitts
|
||||
name = "punching mitts"
|
||||
desc = "Fingerless gloves with nasty spikes attached. Allows the wearer to utilize the ill-reputed fighting technique known as Hunter Boxing. The style \
|
||||
allows the user to punch wildlife rapidly to death. Supposedly, this is an incredible workout, but few people are insane enough to attempt to \
|
||||
punch every dangerous creature they encounter in the wild to death with their bare hands. Also kinda works against humanoids as well. \
|
||||
Not that you would... right?"
|
||||
allows the user to rapidly punch wildlife and rock into smithereens. Great workout. Extremely ill-advised for ensuring your own personal survival."
|
||||
icon_state = "punch_mitts"
|
||||
body_parts_covered = HANDS|ARMS
|
||||
resistance_flags = LAVA_PROOF | FIRE_PROOF
|
||||
|
||||
@@ -114,6 +114,10 @@
|
||||
fire = 100
|
||||
acid = 30
|
||||
|
||||
/obj/item/clothing/gloves/gauntlets/Initialize(mapload)
|
||||
. = ..()
|
||||
AddComponent(/datum/component/martial_art_giver, /datum/martial_art/boxing/hunter)
|
||||
|
||||
/obj/item/clothing/gloves/gauntlets/equipped(mob/user, slot)
|
||||
. = ..()
|
||||
if(!(slot & ITEM_SLOT_GLOVES))
|
||||
|
||||
@@ -15,69 +15,14 @@
|
||||
integrity_failure = 0 //prevents bust_open from firing
|
||||
/// var to check if it got opened by a key
|
||||
var/spawned_loot = FALSE
|
||||
/// What random loot spawner our chest uses
|
||||
var/loot_to_spawn = /obj/effect/spawner/random/mining_loot
|
||||
|
||||
/obj/structure/closet/crate/necropolis/tendril/attackby(obj/item/item, mob/user, list/modifiers, list/attack_modifiers)
|
||||
if(!istype(item, /obj/item/skeleton_key) || spawned_loot)
|
||||
return ..()
|
||||
var/loot = rand(1,21)
|
||||
var/mod
|
||||
switch(loot)
|
||||
if(1)
|
||||
new /obj/item/shared_storage/red(src)
|
||||
if(2)
|
||||
new /obj/item/soulstone/anybody/mining(src)
|
||||
if(3)
|
||||
new /obj/item/organ/cyberimp/arm/toolkit/shard/katana(src)
|
||||
if(4)
|
||||
new /obj/item/clothing/glasses/godeye(src)
|
||||
if(5)
|
||||
new /obj/item/reagent_containers/cup/bottle/potion/flight(src)
|
||||
if(6)
|
||||
new /obj/item/clothing/gloves/gauntlets(src)
|
||||
if(7)
|
||||
mod = rand(1,4)
|
||||
switch(mod)
|
||||
if(1)
|
||||
new /obj/item/disk/design_disk/modkit_disc/resonator_blast(src)
|
||||
if(2)
|
||||
new /obj/item/disk/design_disk/modkit_disc/rapid_repeater(src)
|
||||
if(3)
|
||||
new /obj/item/disk/design_disk/modkit_disc/mob_and_turf_aoe(src)
|
||||
if(4)
|
||||
new /obj/item/disk/design_disk/modkit_disc/bounty(src)
|
||||
if(8)
|
||||
new /obj/item/rod_of_asclepius(src)
|
||||
if(9)
|
||||
new /obj/item/organ/heart/cursed/wizard(src)
|
||||
if(10)
|
||||
new /obj/item/ship_in_a_bottle(src)
|
||||
if(11)
|
||||
new /obj/item/clothing/suit/hooded/berserker(src)
|
||||
if(12)
|
||||
new /obj/item/jacobs_ladder(src)
|
||||
if(13)
|
||||
new /obj/item/guardian_creator/miner(src)
|
||||
if(14)
|
||||
new /obj/item/warp_cube/red(src)
|
||||
if(15)
|
||||
new /obj/item/wisp_lantern(src)
|
||||
if(16)
|
||||
new /obj/item/immortality_talisman(src)
|
||||
if(17)
|
||||
new /obj/item/book/granter/action/spell/summonitem(src)
|
||||
if(18)
|
||||
new /obj/item/book_of_babel(src)
|
||||
if(19)
|
||||
new /obj/item/borg/upgrade/modkit/lifesteal(src)
|
||||
new /obj/item/bedsheet/cult(src)
|
||||
if(20)
|
||||
new /obj/item/clothing/neck/necklace/memento_mori(src)
|
||||
if(21)
|
||||
new /obj/item/clothing/gloves/fingerless/punch_mitts(src)
|
||||
new /obj/item/clothing/head/cowboy(src)
|
||||
if(!contents.len)
|
||||
to_chat(user, span_warning("[src] makes a clunking sound as you try to open it. You feel compelled to let the gods know! (Please open an adminhelp and try again!)"))
|
||||
CRASH("Failed to generate loot. loot number: [loot][mod ? "subloot: [mod]" : null]")
|
||||
new loot_to_spawn(src)
|
||||
|
||||
spawned_loot = TRUE
|
||||
qdel(item)
|
||||
to_chat(user, span_notice("You disable the magic lock, revealing the loot."))
|
||||
@@ -95,6 +40,10 @@
|
||||
|
||||
//Megafauna chests
|
||||
|
||||
/obj/structure/closet/crate/necropolis/tendril/demonic
|
||||
name = "demonic chest"
|
||||
loot_to_spawn = /obj/effect/spawner/random/mining_loot/demonic
|
||||
|
||||
/obj/structure/closet/crate/necropolis/dragon
|
||||
name = "dragon chest"
|
||||
|
||||
|
||||
@@ -98,3 +98,13 @@
|
||||
set_items = list(
|
||||
/obj/item/storage/backpack/duffelbag/mining_conscript,
|
||||
)
|
||||
|
||||
/datum/voucher_set/mining/punching_mitts
|
||||
name = "Punching Mitts"
|
||||
description = "Contains a pair of punching mitts for turning the local wilderness into the local gravel pit with your BARE HANDS."
|
||||
icon = 'icons/obj/clothing/gloves.dmi'
|
||||
icon_state = "punch_mitts"
|
||||
set_items = list(
|
||||
/obj/item/clothing/gloves/fingerless/punch_mitts,
|
||||
/obj/item/clothing/head/cowboy,
|
||||
)
|
||||
|
||||
@@ -2442,6 +2442,7 @@
|
||||
#include "code\game\objects\effects\spawners\random\lavaland_mobs.dm"
|
||||
#include "code\game\objects\effects\spawners\random\maintenance.dm"
|
||||
#include "code\game\objects\effects\spawners\random\medical.dm"
|
||||
#include "code\game\objects\effects\spawners\random\mining_loot.dm"
|
||||
#include "code\game\objects\effects\spawners\random\mod.dm"
|
||||
#include "code\game\objects\effects\spawners\random\random.dm"
|
||||
#include "code\game\objects\effects\spawners\random\russian_rifle_spawner.dm"
|
||||
|
||||
Reference in New Issue
Block a user