mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-29 07:59:01 +01:00
Guard dogs (#2143)
-adds guard dogs, mobs you can command around like the wizard's bear, with basic things like attack, stay and follow -they have a verb that allows one player to become their master, and change their name, by being near them -added the dogs to the random cargo spawn
This commit is contained in:
@@ -0,0 +1,120 @@
|
||||
/mob/living/simple_animal/hostile/commanded/dog
|
||||
name = "guard dog"
|
||||
desc = "A dog trained to listen and obey its owner commands, this one is a german shepherd."
|
||||
|
||||
icon = 'icons/mob/dog.dmi'
|
||||
icon_state = "german"
|
||||
icon_living = "german"
|
||||
icon_dead = "german_dead"
|
||||
|
||||
health = 75
|
||||
maxHealth = 75
|
||||
|
||||
stop_automated_movement_when_pulled = 1 //so people can drag the dog around
|
||||
density = 1
|
||||
|
||||
speak_chance = 1
|
||||
turns_per_move = 7
|
||||
see_in_dark = 6
|
||||
|
||||
speak = list("Woof!", "Bark!", "AUUUUUU!","AwooOOOoo!")
|
||||
speak_emote = list("barks", "woofs")
|
||||
emote_hear = list("barks", "woofs")
|
||||
|
||||
attacktext = "bitten"
|
||||
attack_sound = 'sound/misc/dog_bark.ogg'
|
||||
harm_intent_damage = 5
|
||||
melee_damage_lower = 15
|
||||
melee_damage_upper = 15
|
||||
|
||||
mob_size = 6
|
||||
|
||||
response_help = "pets"
|
||||
response_harm = "hits"
|
||||
response_disarm = "pushes"
|
||||
|
||||
hunger_enabled = 1 //so you can feed your dog or something
|
||||
autoseek_food = 0
|
||||
beg_for_food = 0
|
||||
|
||||
known_commands = list("stay", "stop", "attack", "follow")
|
||||
|
||||
var/name_changed = 0
|
||||
|
||||
/mob/living/simple_animal/hostile/commanded/dog/hit_with_weapon(obj/item/O, mob/living/user, var/effective_force, var/hit_zone)
|
||||
. = ..()
|
||||
if(!.)
|
||||
src.emote("barks!")
|
||||
|
||||
/mob/living/simple_animal/hostile/commanded/dog/attack_hand(mob/living/carbon/human/M as mob)
|
||||
..()
|
||||
if(M.a_intent == I_HURT)
|
||||
src.emote("barks!")
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/commanded/dog/verb/befriend()
|
||||
set name = "Befriend Dog"
|
||||
set category = "IC"
|
||||
set src in view(1)
|
||||
|
||||
if(!master)
|
||||
var/mob/living/carbon/human/H = usr
|
||||
if(istype(H))
|
||||
master = usr
|
||||
. = 1
|
||||
else if(usr == master)
|
||||
. = 1 //already friends, but show success anyways
|
||||
|
||||
else
|
||||
usr << "<span class='notice'>[src] ignores you.</span>"
|
||||
|
||||
return
|
||||
|
||||
/mob/living/simple_animal/hostile/commanded/dog/verb/change_name()
|
||||
set name = "Name Dog"
|
||||
set category = "IC"
|
||||
set src in view(1)
|
||||
|
||||
var/mob/M = usr
|
||||
if(!M.mind) return 0
|
||||
|
||||
if(!name_changed)
|
||||
|
||||
var/input = sanitizeSafe(input("What do you want to name the dog?", ,""), MAX_NAME_LEN)
|
||||
|
||||
if(src && input && !M.stat && in_range(M,src))
|
||||
name = input
|
||||
real_name = input
|
||||
name_changed = 1
|
||||
return 1
|
||||
|
||||
else
|
||||
usr << "<span class='notice'>[src] already has a name!</span>"
|
||||
return
|
||||
|
||||
/mob/living/simple_animal/hostile/commanded/dog/amaskan
|
||||
desc = "A dog trained to listen and obey its owner commands, this one is an amaskan."
|
||||
|
||||
icon_state = "amaskan"
|
||||
icon_living = "amaskan"
|
||||
icon_dead = "amaskan_dead"
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/commanded/dog/pug
|
||||
name = "pug"
|
||||
desc = "A small dog with a wrinkly muzzle."
|
||||
|
||||
icon_state = "pug"
|
||||
icon_living = "pug"
|
||||
icon_dead = "pug_dead"
|
||||
|
||||
health = 25
|
||||
maxHealth = 25
|
||||
|
||||
density = 0
|
||||
|
||||
mob_size = 5
|
||||
|
||||
harm_intent_damage = 5
|
||||
melee_damage_lower = 5
|
||||
melee_damage_upper = 5
|
||||
Reference in New Issue
Block a user