[MDB IGNORE] Lavaland Mineral Rework: Yapmining 2026 (#95682)

This commit is contained in:
SmArtKar
2026-04-20 16:52:59 +02:00
committed by GitHub
parent f88663a72a
commit 2680aafa3f
81 changed files with 6268 additions and 5581 deletions
@@ -13,8 +13,8 @@
mob_biotypes = MOB_ORGANIC|MOB_BUG|MOB_MINING
friendly_verb_continuous = "harmlessly rolls into"
friendly_verb_simple = "harmlessly roll into"
maxHealth = 45
health = 45
maxHealth = 175
health = 175
melee_damage_lower = 0
melee_damage_upper = 0
attack_verb_continuous = "barrels into"
@@ -49,16 +49,26 @@
else
can_lay_eggs = FALSE
var/list/food_types = string_list(list(/obj/item/stack/ore))
// Rarer ores heal us a bit depending on the rarity
var/static/list/food_types = list(
/obj/item/stack/ore = 0,
/obj/item/stack/ore/gold = 5,
/obj/item/stack/ore/uranium = 5,
/obj/item/stack/ore/diamond = 15,
/obj/item/stack/ore/bluespace_crystal = 20,
/obj/item/stack/ore/bananium = 30,
)
var/static/list/innate_actions = list(
/datum/action/cooldown/mob_cooldown/spit_ore = BB_SPIT_ABILITY,
/datum/action/cooldown/mob_cooldown/burrow = BB_BURROW_ABILITY,
)
grant_actions_by_list(innate_actions)
AddElement(/datum/element/ore_collecting)
AddElement(/datum/element/basic_eating, food_types = food_types, add_to_contents = TRUE)
AddElement(/datum/element/wall_tearer, allow_reinforced = FALSE)
AddComponent(/datum/component/proficient_miner, 0.05, TRUE) // Speedy boi
AddComponent(/datum/component/ai_listen_to_weather)
AddComponent(\
/datum/component/appearance_on_aggro,\
@@ -81,10 +91,10 @@
SIGNAL_HANDLER
if(stat != CONSCIOUS)
return COMPONENT_BULLET_PIERCED
return NONE
/// High penetration bullets should still go through. No goldgrub can save you from the colossus' death bolts.
if(prob(hitting_projectile.armour_penetration))
/// Reflects PKA/PKC shots and plasma cutter beams, unless they have high armor penetration
if(prob(hitting_projectile.armour_penetration) || (hitting_projectile.armor_flag != BOMB && hitting_projectile.armor_flag != ENERGY))
return NONE
visible_message(span_danger("[hitting_projectile] is repelled by [source]'s girth!"))
@@ -44,9 +44,9 @@
/datum/action/cooldown/mob_cooldown/burrow/Activate()
var/obj/effect/dummy/phased_mob/grub_burrow/holder = null
var/turf/current_loc = get_turf(owner)
var/mob/living/grub = owner
if(!do_after(owner, 3 SECONDS, target = current_loc))
owner.balloon_alert(owner, "need to stay still!")
if(!do_after(owner, 2.5 SECONDS, target = current_loc, extra_checks = CALLBACK(src, PROC_REF(health_check), grub.health)))
return
if(get_turf(owner) != current_loc)
@@ -72,6 +72,10 @@
StartCooldown()
return TRUE
/datum/action/cooldown/mob_cooldown/burrow/proc/health_check(health)
var/mob/living/grub = owner
return grub.health >= health
/obj/effect/dummy/phased_mob/grub_burrow
/obj/effect/dummy/phased_mob/grub_burrow/phased_check(mob/living/user, direction)
@@ -71,7 +71,7 @@ GLOBAL_LIST_EMPTY(raptor_population)
/obj/item/food/meat/slab/xeno = -15,
/obj/item/food/meat/steak = 50,
/obj/item/food/grown/ash_flora = 10,
/obj/item/fish = 15,
/obj/item/fish = 25,
/obj/item/organ = 25,
)
/// Inheritance datum we store our genetic data in