mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-13 03:33:21 +00:00
Tyr Update (#12045)
This commit is contained in:
60
modular_chomp/code/modules/blob2/agate_blob.dm
Normal file
60
modular_chomp/code/modules/blob2/agate_blob.dm
Normal file
@@ -0,0 +1,60 @@
|
||||
/obj/structure/blob/core/living_agate
|
||||
desired_blob_type = /datum/blob_type/living_agate
|
||||
|
||||
/datum/blob_type/living_agate
|
||||
name = "agate hive"
|
||||
desc = "A tide of precursor technolgy gone wrong, energerized agate taking on an aggressive desire to spread and consume."
|
||||
effect_desc = "Spreads much faster than average"
|
||||
ai_desc = "genocidal"
|
||||
difficulty = BLOB_DIFFICULTY_SUPERHARD // Fastest spread of them all and has snowballing capabilities.
|
||||
color = "#FF3300"
|
||||
complementary_color = "#FF5125"
|
||||
spread_modifier = 1.0
|
||||
slow_spread_with_size = FALSE
|
||||
ai_aggressiveness = 95
|
||||
can_build_resources = TRUE
|
||||
attack_message = "The tide tries to swallow you"
|
||||
attack_message_living = ", and you feel your skin dissolve"
|
||||
attack_message_synth = ", and your external plating dissolves"
|
||||
faction = FACTION_TYR
|
||||
|
||||
damage_type = SEARING
|
||||
armor_check = "melee"
|
||||
armor_pen = 30
|
||||
damage_lower = 35
|
||||
damage_upper = 35
|
||||
|
||||
brute_multiplier = 0.5
|
||||
burn_multiplier = 0.5
|
||||
|
||||
can_build_factories = TRUE
|
||||
can_build_resources = TRUE
|
||||
can_build_nodes = TRUE
|
||||
|
||||
ranged_spores = TRUE
|
||||
spore_range = 7
|
||||
spore_projectile = /obj/item/projectile/energy/eclipse/tyrjavelin
|
||||
|
||||
spore_type = /mob/living/simple_mob/blob/spore/infesting
|
||||
|
||||
/datum/blob_type/living_agate/on_received_damage(var/obj/structure/blob/B, damage, damage_type, mob/living/attacker)
|
||||
if(damage > 0 && attacker && get_dist(B, attacker) <= 1)
|
||||
B.visible_message(span_danger("The [name] retaliates, lashing out at \the [attacker]!"))
|
||||
B.blob_attack_animation(attacker, B.overmind)
|
||||
attacker.blob_act(B)
|
||||
return ..()
|
||||
|
||||
/datum/blob_type/living_agate/on_attack(obj/structure/blob/B, mob/living/victim, def_zone)
|
||||
victim.electrocute_act(10, src, 1, def_zone)
|
||||
victim.stun_effect_act(0, 40, BP_TORSO, src, electric = TRUE)
|
||||
|
||||
/datum/blob_type/living_agate/on_spore_death(mob/living/simple_mob/blob/spore/S)
|
||||
if(S.is_infesting)
|
||||
return // Don't make blobs if they were on someone's head.
|
||||
var/turf/T = get_turf(S)
|
||||
var/obj/structure/blob/B = locate(/obj/structure/blob) in T
|
||||
if(B) // Is there already a blob here? If so, just heal it.
|
||||
B.adjust_integrity(10)
|
||||
else
|
||||
B = new /obj/structure/blob/normal(T, S.overmind) // Otherwise spread it.
|
||||
B.visible_message(span_danger("\A [B] forms on \the [T] as \the [S] bursts!"))
|
||||
Reference in New Issue
Block a user