Files
2020-02-16 19:40:21 -08:00

117 lines
3.4 KiB
Plaintext

// fart
/obj/machinery/bot/skullbot
name = "skullbot"
desc = "A skull on a leg. Useful, somehow. I guess."
icon = 'icons/obj/aibots.dmi'
icon_state = "skullbot"
layer = 5.0 //TODO LAYER
density = 0
anchored = 0
on = 1
health = 5
no_camera = 1
process()
if (prob(10) && src.on == 1)
SPAWN_DBG(0)
var/message = pick("clak clak", "clak")
speak(message)
if (prob(33) && src.emagged == 1)
SPAWN_DBG(0)
var/message = pick("i have a bone to pick with you", "make no bones about it", "this is very humerus", "my favorite singer is pelvis presley", "im going to give you a sternum talking to", "i play the trombone", "don't be a coccyx", "this is sacrum ground", "im only ribbing you", "this is going tibia fun experience", "ill vertabreak you in two", "im the skeleton crew", "you're bone-idle", "my favourite drink is bone jack, but it goes right through me", "i can't feel my head, im a numbskull", "once i get to you, youre boned", "id eat you, but i don't have the stomach for it", "im just skullking around", "can i thorax you a question", "thats a load of mandibleshit", "reticulataing spines...")
playsound(src.loc, "sound/items/Scissor.ogg", 50, 1)
speak(message)
emag_act(var/mob/user, var/obj/item/card/emag/E)
if (!src.emagged)
if (user)
user.show_text("You short out the vocal emitter on [src].", "red")
SPAWN_DBG(0)
src.visible_message("<span class='combat'><B>[src] buzzes oddly!</B></span>")
playsound(src.loc, "sound/items/Scissor.ogg", 50, 1)
src.emagged = 1
return 1
return 0
demag(var/mob/user)
if (!src.emagged)
return 0
if (user)
user.show_text("You repair [src]'s vocal emitter.", "blue")
src.emagged = 0
return 1
attackby(obj/item/W as obj, mob/user as mob)
src.visible_message("<span class='combat'>[user] hits [src] with [W]!</span>")
switch (W.damtype)
if ("fire")
src.health -= W.force * 0.5
if ("brute")
src.health -= W.force * 0.5
else
if (src.health <= 0)
src.explode()
hear_talk(var/mob/living/carbon/speaker, messages, real_name, lang_id)
if (!messages || !src.on)
return
var/m_id = (lang_id == "english" || lang_id == "") ? messages[1] : messages[2]
if (prob(25))
var/list/speech_list = splittext(messages[m_id], " ")
if(!speech_list || !speech_list.len)
return
var/num_claks = rand(1,4)
var/counter = 0
while (num_claks)
counter++
num_claks--
speech_list[rand(1,speech_list.len)] = "clak"
if (counter >= (speech_list.len / 2) )
num_claks = 0
src.speak( jointext(speech_list, " ") )
return
gib()
return src.explode()
explode()
src.on = 0
src.visible_message("<span class='combat'><B>[src] blows apart!</B></span>")
var/datum/effects/system/spark_spread/s = unpool(/datum/effects/system/spark_spread)
s.set_up(3, 1, src)
s.start()
qdel(src)
return
/obj/machinery/bot/skullbot/crystal
name = "crystal skullbot"
icon_state = "skullbot-crystal"
/obj/machinery/bot/skullbot/strange
name = "strange skullbot"
icon_state = "skullbot-P"
/obj/machinery/bot/skullbot/peculiar
name = "peculiar skullbot"
icon_state = "skullbot-strange"
/obj/machinery/bot/skullbot/odd
name = "odd skullbot"
icon_state = "skullbot-A"
/obj/machinery/bot/skullbot/faceless
name = "faceless skullbot"
icon_state = "skullbot-noface"
/obj/machinery/bot/skullbot/gold
name = "golden skullbot"
icon_state = "skullbot-gold"
/obj/machinery/bot/skullbot/ominous
name = "ominous skullbot"
icon_state = "skullbot-ominous"