mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-01-06 07:32:15 +00:00
* Converts basilisks, watchers * Hivelords and legions * Hivelordbrood balance adjustment * New Linters * Speech fix --------- Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
54 lines
2.1 KiB
Plaintext
54 lines
2.1 KiB
Plaintext
/mob/living/basic/mining
|
|
icon = 'icons/mob/lavaland/lavaland_monsters.dmi'
|
|
status_flags = NONE // don't inherit standard basicmob flags
|
|
mob_size = MOB_SIZE_LARGE
|
|
mob_biotypes = MOB_ORGANIC|MOB_BEAST
|
|
faction = list("mining")
|
|
weather_immunities = list("lava","ash")
|
|
unsuitable_atmos_damage = 0
|
|
minimum_survivable_temperature = 0
|
|
maximum_survivable_temperature = INFINITY
|
|
obj_damage = 30
|
|
environment_smash = ENVIRONMENT_SMASH_WALLS
|
|
a_intent = INTENT_HARM
|
|
see_in_dark = 8
|
|
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE
|
|
mob_size = MOB_SIZE_LARGE
|
|
melee_attack_cooldown_min = 1.5 SECONDS
|
|
melee_attack_cooldown_max = 2.5 SECONDS
|
|
/// Special loot drops for crushers
|
|
var/crusher_loot
|
|
/// What is the chance the mob drops it if all their health was taken by crusher attacks
|
|
var/crusher_drop_mod = 25
|
|
/// Whether or not the mob came from a tendril
|
|
var/from_tendril = FALSE
|
|
/// Alternate icon for mobs that are angry
|
|
var/icon_aggro = null
|
|
/// If we want the mob to have 66% resist from burn damage projectiles
|
|
var/has_laser_resist = TRUE
|
|
/// Message to output if throwing damage is absorbed
|
|
var/throw_blocked_message = "bounces off"
|
|
|
|
/mob/living/basic/mining/bullet_act(obj/item/projectile/P) // Reduces damage from most projectiles to curb off-screen kills
|
|
if(P.damage < 30 && P.damage_type != BRUTE && has_laser_resist)
|
|
P.damage = (P.damage / 3)
|
|
visible_message("<span class='danger'>[P] has a reduced effect on [src]!</span>")
|
|
..()
|
|
|
|
/mob/living/basic/mining/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) // No floor tiling them to death, wiseguy
|
|
if(isitem(AM))
|
|
var/obj/item/T = AM
|
|
if(T.throwforce <= 20)
|
|
visible_message("<span class='notice'>[T] [throw_blocked_message] [src.name]!</span>")
|
|
return
|
|
..()
|
|
|
|
/mob/living/basic/mining/death(gibbed)
|
|
var/datum/status_effect/crusher_damage/C = has_status_effect(STATUS_EFFECT_CRUSHERDAMAGETRACKING)
|
|
if(C && crusher_loot && prob((C.total_damage/maxHealth) * crusher_drop_mod)) // on average, you'll need to kill 4 creatures before getting the item
|
|
spawn_crusher_loot()
|
|
..(gibbed)
|
|
|
|
/mob/living/basic/mining/proc/spawn_crusher_loot()
|
|
butcher_results[crusher_loot] = 1
|