mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-24 21:57:53 +01:00
Fleshtaker mimicry mob
A simple concept of a mob taking over other mindless mobs to strengthen and protect itself Work in progress,
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
Concept: Mind controlling parasite. Hostile to all mobs.
|
||||
On attack if our target is a simple mob, and has no mind.
|
||||
We simply engulf them, evicerating their body and stealing their form as well as some of their stats.
|
||||
However we dont gain special attacks and verbs, for example, if we evicerate a dragon we dont get a breath attack suddnely.
|
||||
Only physical attributes are copied.
|
||||
*/
|
||||
/mob/living/simple_mob/fleshtaker
|
||||
name = ""
|
||||
desc = ""
|
||||
pixel_x = -15
|
||||
//Lets write down our base stats so we can revert easily
|
||||
var/list/base_values = list( "name" = "Fleshtaker",
|
||||
"desc" = "A strange creature",
|
||||
"icon" = 'icons/mob/synxmanyvoices.dmi',
|
||||
"icon_living" = "939_living",
|
||||
"icon_dead" = "939_dead",
|
||||
"pixel_x" = -15,
|
||||
)
|
||||
|
||||
ai_holder_type = /datum/ai_holder/simple_mob/melee/pack_mob //A pack of these would be absolutely terrifying.
|
||||
var/flesh_mimic = FALSE //are we currently posing as something else?
|
||||
|
||||
/mob/living/simple_mob/fleshtaker/New()
|
||||
..()
|
||||
base_values["pixel_y"] = pixel_y //record our default y pixel offset for later reversion
|
||||
revert_mimic()
|
||||
|
||||
/mob/living/simple_mob/fleshtaker/proc
|
||||
//copy stats from our engulfed target
|
||||
/flesh_mimic(var/mob/living/simple_mob/target)
|
||||
name = target.name
|
||||
desc = target.desc
|
||||
icon = target.icon
|
||||
icon_living = target.icon_living
|
||||
icon_dead = target.icon_dead
|
||||
pixel_x = target.pixel_x
|
||||
pixel_x = target.pixel_y
|
||||
//steal base stats
|
||||
//possibly steal vorgans
|
||||
//initial spawn set, or when losing our host, reset
|
||||
/revert_mimic()
|
||||
name = base_values["name"]
|
||||
desc = base_values["desc"]
|
||||
icon = base_values["icon"]
|
||||
icon_living = base_values["icon_living"]
|
||||
icon_dead = base_values["icon_dead"]
|
||||
pixel_x = base_values["pixel_x"]
|
||||
pixel_y = base_values["pixel_y"]
|
||||
|
||||
/mob/living/simple_mob/fleshtaker/apply_melee_effects(var/atom/A)
|
||||
if(istype(A,/mob/living/simple_mob) && !flesh_mimic)
|
||||
var/mob/living/simple_mob/M = A
|
||||
if(!M.mind)
|
||||
src.flesh_mimic(M)
|
||||
M.gib()
|
||||
..()
|
||||
Reference in New Issue
Block a user