mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-19 21:46:42 +00:00
🆑 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.
49 lines
2.4 KiB
Plaintext
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."
|