mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-30 00:29:02 +01:00
Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-sync
This commit is contained in:
@@ -13,6 +13,7 @@
|
||||
attack_verb_simple = list("attack", "saw", "slice", "tear", "lacerate", "rip", "dice", "cut")
|
||||
force = 15
|
||||
attack_speed = 6
|
||||
resistance_flags = FIRE_PROOF | LAVA_PROOF
|
||||
actions_types = list(/datum/action/cooldown/dagger_swing)
|
||||
hitsound = 'sound/items/weapons/bladeslice.ogg'
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
|
||||
@@ -114,14 +114,17 @@
|
||||
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)
|
||||
tool_behaviour = TOOL_MINING
|
||||
RegisterSignal(user, COMSIG_LIVING_UNARMED_ATTACK, PROC_REF(rocksmash))
|
||||
RegisterSignal(user, COMSIG_MOVABLE_BUMP, PROC_REF(rocksmash))
|
||||
else
|
||||
stopmining(user)
|
||||
if(!(slot & ITEM_SLOT_GLOVES))
|
||||
return
|
||||
tool_behaviour = TOOL_MINING
|
||||
RegisterSignal(user, COMSIG_LIVING_UNARMED_ATTACK, PROC_REF(rocksmash))
|
||||
RegisterSignal(user, COMSIG_MOVABLE_BUMP, PROC_REF(rocksmash))
|
||||
|
||||
/obj/item/clothing/gloves/gauntlets/dropped(mob/user)
|
||||
. = ..()
|
||||
|
||||
@@ -373,7 +373,7 @@
|
||||
if(isanimal_or_basicmob(loc))
|
||||
holder_animal = loc
|
||||
RegisterSignal(holder_animal, COMSIG_LIVING_DEATH, PROC_REF(on_holder_animal_death))
|
||||
AddElement(/datum/element/empprotection, EMP_PROTECT_ALL)
|
||||
AddElement(/datum/element/empprotection, EMP_PROTECT_ALL|EMP_NO_EXAMINE)
|
||||
|
||||
/obj/structure/closet/stasis/Entered(atom/movable/arrived, atom/old_loc, list/atom/old_locs)
|
||||
. = ..()
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
/obj/item/organ/brain/cybernetic/ai/on_mob_insert(mob/living/carbon/brain_owner, special, movement_flags)
|
||||
. = ..()
|
||||
brain_owner.add_traits(list(HUMAN_SENSORS_VISIBLE_WITHOUT_SUIT, TRAIT_NO_MINDSWAP, TRAIT_CORPSELOCKED), REF(src))
|
||||
brain_owner.add_traits(list(TRAIT_BASIC_HEALTH_HUD_VISIBLE, TRAIT_NO_MINDSWAP, TRAIT_CORPSELOCKED), REF(src))
|
||||
update_med_hud_status(brain_owner)
|
||||
RegisterSignal(brain_owner, COMSIG_LIVING_HEALTH_UPDATE, PROC_REF(update_med_hud_status))
|
||||
RegisterSignal(brain_owner, COMSIG_CLICK, PROC_REF(owner_clicked))
|
||||
@@ -53,7 +53,7 @@
|
||||
/obj/item/organ/brain/cybernetic/ai/on_mob_remove(mob/living/carbon/organ_owner, special, movement_flags)
|
||||
undeploy()
|
||||
. = ..()
|
||||
organ_owner.remove_traits(list(HUMAN_SENSORS_VISIBLE_WITHOUT_SUIT, TRAIT_NO_MINDSWAP, TRAIT_CORPSELOCKED), REF(src))
|
||||
organ_owner.remove_traits(list(TRAIT_BASIC_HEALTH_HUD_VISIBLE, TRAIT_NO_MINDSWAP, TRAIT_CORPSELOCKED), REF(src))
|
||||
UnregisterSignal(organ_owner, list(COMSIG_LIVING_HEALTH_UPDATE, COMSIG_CLICK, COMSIG_MOB_GET_STATUS_TAB_ITEMS, COMSIG_MOB_MIND_BEFORE_MIDROUND_ROLL, COMSIG_QDELETING, COMSIG_LIVING_PRE_WABBAJACKED))
|
||||
|
||||
var/obj/item/implant/radio/radio = radio_weakref.resolve()
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user