Files
Bubberstation/code/game/gamemodes/clock_cult/clock_structures/clock_shells.dm
Joan Lung 3cb86a189b Marauder tweaks (#23397)
🆑 Joan
rscadd: Clockwork Marauders now grant their host action buttons to force them to emerge/recall and communicate with them, instead of requiring the host to type their name or use a verb, respectively.
rscdel: Clockwork Marauders no longer see their block and counter chances; this was mostly useless info, as knowing the chance didn't matter as to what you'd do.
rscdel: Clockwork Marauders can no longer change their name.
tweak: Clockwork Marauders have a slightly lower chance to block, and take slightly more damage when far from their host.
bugfix: Fixes a bug where Clockwork Marauders never suffered reduced damage and speed at low health and never got the damage bonus at high health.
/🆑

Fixes clockwork mobs being unable to toggle clockwork structures.
Fixes marauder and vitality matrix healing not actually working on humans???
Fixes the anime fragment joke never actually showing up.
2017-01-30 10:24:46 +13:00

49 lines
2.4 KiB
Plaintext

//Useless on their own, these shells can create powerful constructs.
/obj/structure/destructible/clockwork/shell
construction_value = 0
anchored = 0
density = 0
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF
var/mobtype = /mob/living/simple_animal/hostile/clockwork
var/spawn_message = " is an error and you should yell at whoever spawned this shell."
/obj/structure/destructible/clockwork/shell/attackby(obj/item/I, mob/living/user, params)
if(istype(I, /obj/item/device/mmi/posibrain/soul_vessel))
if(!is_servant_of_ratvar(user))
..()
return 0
var/obj/item/device/mmi/posibrain/soul_vessel/S = I
if(!S.brainmob)
user << "<span class='warning'>[S] is inactive! Turn it on or capture a mind first.</span>"
return 0
if(S.brainmob && (!S.brainmob.client || !S.brainmob.mind))
user << "<span class='warning'>[S]'s trapped consciousness appears inactive!</span>"
return 0
user.visible_message("<span class='notice'>[user] places [S] in [src], where it fuses to the shell.</span>", "<span class='brass'>You place [S] in [src], fusing it to the shell.</span>")
var/mob/living/simple_animal/A = new mobtype(get_turf(src))
A.visible_message("<span class='brass'>[src][spawn_message]</span>")
S.brainmob.mind.transfer_to(A)
A.fully_replace_character_name(null, "[findtext(A.name, initial(A.name)) ? "[initial(A.name)]":"[A.name]"] ([S.brainmob.name])")
user.drop_item()
qdel(S)
qdel(src)
return 1
else
return ..()
/obj/structure/destructible/clockwork/shell/cogscarab
name = "cogscarab shell"
desc = "A small brass shell with a cube-shaped receptable in its center. It gives off an aura of obsessive perfectionism."
clockwork_desc = "A dormant receptable that, when powered with a soul vessel, will become a weak construct with an inbuilt proselytizer."
icon_state = "clockdrone_shell"
mobtype = /mob/living/simple_animal/drone/cogscarab
spawn_message = "'s eyes blink open, glowing bright red."
/obj/structure/destructible/clockwork/shell/fragment
name = "fragment shell"
desc = "A massive brass shell with a small cube-shaped receptable in its center. It gives off an aura of contained power."
clockwork_desc = "A dormant receptable that, when powered with a soul vessel, will become a powerful construct."
icon_state = "anime_fragment"
mobtype = /mob/living/simple_animal/hostile/clockwork/fragment
spawn_message = " whirs and rises from the ground on a flickering jet of reddish fire."