-
Notifications
You must be signed in to change notification settings - Fork 67
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[MIRROR] Legioned Monkeys create different mobs [MDB IGNORE] (#2846)
* Legioned Monkeys create different mobs (#83698) ## About The Pull Request ![image](https://github.com/tgstation/tgstation/assets/7483112/e25b360a-3cb2-4150-998c-c1293e917b68) A Monkey infested by a Legion will spawn a "Rabble" instead of a "Legion". This is a somewhat slow 40 HP mob which tries to melee attack nearby people. Its only real claim to excitement is that it can and will ventcrawl if it has nobody to attack. ## Why It's Good For The Game Apparently people are creating large amounts of monkeys using monkey cubes and then using the Legion's infestation mechanic to transform them into large groups of much more dangerous mobs. This is funny and creative but probably shouldn't be as effective as it is. Replacing Legion Monkeys with this mob will still create a mob of... mobs, but they won't self-perpetuate in the same way. ## Changelog :cl: add: A unique kind of mob is created when a Monkey is infested by a Legion. /:cl: * Legioned Monkeys create different mobs --------- Co-authored-by: Jacquerel <[email protected]> Co-authored-by: NovaBot13 <[email protected]>
- Loading branch information
1 parent
9ddb0e1
commit 58762cf
Showing
6 changed files
with
79 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
63 changes: 63 additions & 0 deletions
63
code/modules/mob/living/basic/lavaland/legion/legion_monkey.dm
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
/// Weak mob spawned if a legion infests a monkey | ||
/mob/living/basic/mining/legion/monkey | ||
name = "rabble" | ||
desc = "You can see what was once a monkey under the shifting mass of corruption. It doesn't have enough biomass to reproduce." | ||
icon_state = "legion_monkey" | ||
pass_flags = PASSTABLE | ||
speed = 5 | ||
maxHealth = 40 | ||
health = 40 | ||
melee_damage_lower = 10 | ||
melee_damage_upper = 10 | ||
attack_verb_continuous = "mauls" | ||
attack_verb_simple = "maul" | ||
attack_vis_effect = ATTACK_EFFECT_BITE | ||
attack_sound = 'sound/weapons/bite.ogg' | ||
speak_emote = list("chimpers") | ||
corpse_type = /obj/effect/mob_spawn/corpse/human/monkey | ||
ai_controller = /datum/ai_controller/basic_controller/legion_monkey | ||
|
||
/mob/living/basic/mining/legion/monkey/Initialize(mapload) | ||
. = ..() | ||
ADD_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS, INNATE_TRAIT) | ||
AddComponent(/datum/component/basic_mob_attack_telegraph) | ||
AddComponent(/datum/component/regenerator, outline_colour = COLOR_SOFT_RED) | ||
|
||
/mob/living/basic/mining/legion/monkey/assign_abilities() | ||
return | ||
|
||
/mob/living/basic/mining/legion/monkey/get_loot_list() | ||
return | ||
|
||
/// Icebox variant | ||
/mob/living/basic/mining/legion/monkey/snow | ||
name = "snow rabble" | ||
desc = "You can see what was once a monkey under the densely packed snow. It doesn't look friendly." | ||
icon = 'icons/mob/simple/icemoon/icemoon_monsters.dmi' | ||
icon_state = "snow_monkey" | ||
|
||
/mob/living/basic/mining/legion/monkey/snow/Initialize(mapload) | ||
. = ..() | ||
AddComponent(/datum/component/appearance_on_aggro, aggro_state = "snow_monkey_alive") // Surprise! I was real! | ||
|
||
/// Opportunistically hops in and out of vents, if it can find one and is not biting someone. | ||
/datum/ai_controller/basic_controller/legion_monkey | ||
blackboard = list( | ||
BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, | ||
BB_TARGET_MINIMUM_STAT = HARD_CRIT, | ||
BB_VENTCRAWL_COOLDOWN = 20 SECONDS, | ||
BB_TIME_TO_GIVE_UP_ON_VENT_PATHING = 30 SECONDS, | ||
) | ||
|
||
ai_traits = STOP_MOVING_WHEN_PULLED | ||
ai_movement = /datum/ai_movement/basic_avoidance | ||
idle_behavior = /datum/idle_behavior/idle_random_walk/less_walking | ||
|
||
// We understand that vents are nice little hidey holes through epigenetic inheritance, so we'll use them. | ||
planning_subtrees = list( | ||
/datum/ai_planning_subtree/random_speech/legion, | ||
/datum/ai_planning_subtree/simple_find_target, | ||
/datum/ai_planning_subtree/attack_obstacle_in_path, | ||
/datum/ai_planning_subtree/basic_melee_attack_subtree, | ||
/datum/ai_planning_subtree/opportunistic_ventcrawler, | ||
) |
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters