Research Pet (#9867)

This commit is contained in:
Geeves
2020-09-07 10:31:36 +02:00
committed by GitHub
parent 891318da31
commit 68f7129b19
7 changed files with 107 additions and 13 deletions

View File

@@ -0,0 +1,70 @@
/mob/living/simple_animal/hostile/commanded/baby_harvester
name = "Ives"
desc = "A mysterious docile hivebot, this type seems to be of a kind rarely seen in the Orion Spur. Look at its little tail!"
icon = 'icons/mob/npc/pets.dmi'
icon_state = "ives"
icon_living = "ives"
icon_dead = "ives_dead"
health = 70
maxHealth = 70
stop_automated_movement_when_pulled = TRUE
density = TRUE
speak_chance = 1
turns_per_move = 7
see_in_dark = 6
speak = list("Rawr!", "Gawrgle!", "Bizzbop!", "Bweeewoooo!")
speak_emote = list("roars pitifully", "squeals out a mechanical attempt at a growl")
emote_hear = list("roars pitifully", "squeals out a mechanical attempt at a growl")
sad_emote = list("bwoops sadly")
ranged = TRUE
projectilesound = 'sound/weapons/taser2.ogg'
projectiletype = /obj/item/projectile/beam/hivebot/harmless
attacktext = "harmlessly clawed"
harm_intent_damage = 5 // the damage we take
melee_damage_lower = 0
melee_damage_upper = 0
resist_mod = 2
mob_size = 5
response_help = "pets"
response_harm = "hits"
response_disarm = "pushes"
hunger_enabled = FALSE
destroy_surroundings = FALSE
attack_emote = "blares a tiny siren"
/mob/living/simple_animal/hostile/commanded/baby_harvester/get_bullet_impact_effect_type(var/def_zone)
return BULLET_IMPACT_METAL
/mob/living/simple_animal/hostile/death()
..(null, "blows apart!")
var/T = get_turf(src)
new /obj/effect/gibspawner/robot(T)
spark(T, 1, alldirs)
qdel(src)
/mob/living/simple_animal/hostile/commanded/baby_harvester/verb/befriend()
set name = "Befriend Ives"
set category = "IC"
set src in view(1)
if(!master)
var/mob/living/carbon/human/H = usr
if(istype(H))
master = usr
audible_emote("bwuups happily!")
return TRUE
else if(usr == master)
return TRUE
else
to_chat(usr, SPAN_WARNING("[src] ignores you."))

View File

@@ -183,6 +183,13 @@
tracer_type = /obj/effect/projectile/tracer/stun
impact_type = /obj/effect/projectile/impact/stun
/obj/item/projectile/beam/hivebot/harmless
name = "harmless electrical discharge"
damage = 0
damage_type = PAIN
taser_effect = TRUE
agony = 0
/obj/item/projectile/beam/hivebot/toxic
name = "concentrated gamma burst"
damage = 15

View File

@@ -240,17 +240,11 @@ mob/living/simple_animal/hostile/hitby(atom/movable/AM as mob|obj,var/speed = TH
addtimer(shoot_cb, 1)
addtimer(shoot_cb, 4)
addtimer(shoot_cb, 6)
else
Shoot(target, src.loc, src)
if(casingtype)
new casingtype(get_turf(src))
playsound(src, /decl/sound_category/casing_drop_sound, 50, 1)
shoot_wrapper(target, loc, src)
stance = HOSTILE_STANCE_IDLE
target_mob = null
return
/mob/living/simple_animal/hostile/proc/check_fire(target_mob)
if(!target_mob)
@@ -272,8 +266,9 @@ mob/living/simple_animal/hostile/hitby(atom/movable/AM as mob|obj,var/speed = TH
/mob/living/simple_animal/hostile/proc/shoot_wrapper(target, location, user)
Shoot(target, location, user)
if (casingtype)
if(casingtype)
new casingtype(loc)
playsound(src, /decl/sound_category/casing_drop_sound, 50, TRUE)
/mob/living/simple_animal/hostile/proc/Shoot(var/target, var/start, var/mob/user, var/bullet = 0)
if(target == start)