mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-16 18:45:22 +01:00
0c3b1b8364
## About The Pull Request Splinter of #94324 Plasmamen no longer take 1.5x brute and burn damgae Plasmamen are now affected by demolition modifier, meaning they take less damage from sharp objects and more damage from blunt objects Skeletons and golems are also affected by demolition modifier ## Why It's Good For The Game As a part of #94324 I was making `MINERAL` mobs affected by demo mod But I realized this would absolutely murder the heck out of Plasmamen! 1.5x brute + another 1.25x brute from blunt objects! But then I realized "wait that kinda makes sense... a lot *more* sense than the arbitrary damage modifier" So here we are Plasmemes are as vulnerable to being smashed to bits as before, but can now boast a minor resistance to being stabbed due to their lack of fleshy bits This feels a bit more appropriate to their skeletal nature without completely removing that aspect of their character. It also gives them a very minor upside (they need it) ## Changelog 🆑 Melbert balance: Plasmamen no longer take flat 1.5x brute and burn damage balance: Plasmamen are now affected by weapon demolition modifier, meaning blunt attacks deal more damage but slashing or piercing deal less damage balance: Skeletons and Golems are also affected by weapon demolition modifier, as well as any mineral type mobs (of which none currently exist) /🆑
101 lines
4.0 KiB
Plaintext
101 lines
4.0 KiB
Plaintext
/**
|
|
* A funny little rolling guy who is great at scouting.
|
|
* It can see through walls, jaunt, and create a psychic network to report its findings.
|
|
* It can blind people to make a getaway, but also get stronger if it attacks the same target consecutively.
|
|
*/
|
|
/mob/living/basic/heretic_summon/raw_prophet
|
|
name = "\improper Raw Prophet"
|
|
real_name = "Raw Prophet"
|
|
desc = "An abomination stitched together from a few severed arms and one swollen, orphaned eye."
|
|
icon_state = "raw_prophet"
|
|
icon_living = "raw_prophet"
|
|
status_flags = CANPUSH
|
|
melee_damage_lower = 5
|
|
melee_damage_upper = 10
|
|
maxHealth = 65
|
|
health = 65
|
|
sight = SEE_MOBS|SEE_OBJS|SEE_TURFS
|
|
mob_biotypes = MOB_ORGANIC
|
|
/// List of innate abilities we have to add.
|
|
var/static/list/innate_abilities = list(
|
|
/datum/action/cooldown/spell/jaunt/ethereal_jaunt/ash/long = null,
|
|
/datum/action/cooldown/spell/list_target/telepathy/eldritch = null,
|
|
/datum/action/innate/expand_sight = null,
|
|
)
|
|
|
|
/mob/living/basic/heretic_summon/raw_prophet/Initialize(mapload)
|
|
. = ..()
|
|
AddElement(/datum/element/wheel)
|
|
var/static/list/body_parts = list(/obj/effect/gibspawner/human, /obj/item/bodypart/arm/left, /obj/item/organ/eyes)
|
|
AddElement(/datum/element/death_drops, body_parts)
|
|
AddComponent(/datum/component/focused_attacker)
|
|
var/on_link_message = "You feel something new enter your sphere of mind... \
|
|
You hear whispers of people far away, screeches of horror and a huming of welcome to [src]'s Mansus Link."
|
|
var/on_unlink_message = "Your mind shatters as [src]'s Mansus Link leaves your mind."
|
|
AddComponent( \
|
|
/datum/component/mind_linker/active_linking, \
|
|
network_name = "Mansus Link", \
|
|
chat_color = "#568b00", \
|
|
post_unlink_callback = CALLBACK(src, PROC_REF(after_unlink)), \
|
|
speech_action_background_icon_state = "bg_heretic", \
|
|
speech_action_overlay_state = "bg_heretic_border", \
|
|
linker_action_path = /datum/action/cooldown/spell/pointed/manse_link, \
|
|
link_message = on_link_message, \
|
|
unlink_message = on_unlink_message, \
|
|
)
|
|
|
|
grant_actions_by_list(get_innate_abilities())
|
|
|
|
/// Returns a list of abilities that we should add.
|
|
/mob/living/basic/heretic_summon/raw_prophet/proc/get_innate_abilities()
|
|
var/list/returnable_list = innate_abilities.Copy()
|
|
returnable_list += list(/datum/action/cooldown/spell/pointed/blind/eldritch = BB_TARGETED_ACTION)
|
|
return returnable_list
|
|
|
|
/*
|
|
* Callback for the mind_linker component.
|
|
* Stuns people who are ejected from the network.
|
|
*/
|
|
/mob/living/basic/heretic_summon/raw_prophet/proc/after_unlink(mob/living/unlinked_mob)
|
|
if(QDELETED(unlinked_mob) || unlinked_mob.stat == DEAD)
|
|
return
|
|
|
|
INVOKE_ASYNC(unlinked_mob, TYPE_PROC_REF(/mob, emote), "scream")
|
|
unlinked_mob.AdjustParalyzed(0.5 SECONDS) //micro stun
|
|
|
|
/mob/living/basic/heretic_summon/raw_prophet/melee_attack(atom/target, list/modifiers, ignore_cooldown)
|
|
SpinAnimation(speed = 5, loops = 1)
|
|
if (target == src)
|
|
return
|
|
return ..()
|
|
|
|
/// Variant raw prophet used by eldritch transformation with more base attack power
|
|
/mob/living/basic/heretic_summon/raw_prophet/ascended
|
|
melee_damage_lower = 15
|
|
melee_damage_upper = 20
|
|
|
|
/// NPC variant with a less bullshit ability
|
|
/mob/living/basic/heretic_summon/raw_prophet/ruins
|
|
ai_controller = /datum/ai_controller/basic_controller/raw_prophet
|
|
|
|
/mob/living/basic/heretic_summon/raw_prophet/ruins/get_innate_abilities()
|
|
var/list/returnable_list = innate_abilities.Copy()
|
|
returnable_list += list(/datum/action/cooldown/mob_cooldown/watcher_gaze = BB_TARGETED_ACTION)
|
|
return returnable_list
|
|
|
|
/// Walk and attack people, blind them when we can
|
|
/datum/ai_controller/basic_controller/raw_prophet
|
|
blackboard = list(
|
|
BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic,
|
|
)
|
|
|
|
ai_movement = /datum/ai_movement/basic_avoidance
|
|
idle_behavior = /datum/idle_behavior/idle_random_walk
|
|
planning_subtrees = list(
|
|
/datum/ai_planning_subtree/escape_captivity,
|
|
/datum/ai_planning_subtree/simple_find_target,
|
|
/datum/ai_planning_subtree/targeted_mob_ability,
|
|
/datum/ai_planning_subtree/attack_obstacle_in_path,
|
|
/datum/ai_planning_subtree/basic_melee_attack_subtree,
|
|
)
|