#include <mudlib.h>
inherit MONSTER;
inherit "/inherit/base/actions";
private object owner;
void catch_tell(string str){
string who,what,pet,cmd;
if(sscanf(str,"%s %s\n",who,what)!=2)return;
if(what=="hugs you."||what=="kisses you."||what=="comforts you.")
call_out("celi",2,"smile "+lower_case(who));
if(what=="sighs.")
call_out("celi",2,"comfort "+lower_case(who));
if(sscanf(what,"says: %s %s",pet,cmd)==2)
if(pet=="celi"||pet=="celicia"&&find_player(lower_case(who))==owner)
call_out("celi",2,cmd);
}
status celi(string cmd){
string act,item;
object ob,from;
if(owner!=this_player())
return 0;
if(sscanf(cmd,"%s %s",act,item)==2)
if(act=="get")
return pick_up(item);
else if(act=="put")
return put(item);
else if(act=="give")
return give_object(item);
else if(act=="drop")
return drop_thing(item);
return command(cmd,this_object());
}
void init(){
add_action("celi","celi");
add_action("celi","celicia");
::init();
}
void heart_beat(){
owner=find_player("valrejn");
::heart_beat();
}
void reset(status arg){
::reset(arg);
if(arg)return;
move_object(clone_object("/obj/soul"),this_object());
set_living_name("celicia");
set_short("Celicia the baby dragon (peaceful)");
set_level(10);
load_chat(1,({"Celicia bounces around.\n","Celicia smiles happily.\n"}));
set_no_kill_flag(1);
set_msgin("Celicia lands nearby");
set_mmsgin("Celicia lands nearby");
set_msgout("Celicia spreads her wings and flies");
set_mmsgout("Celicia spreads her wings and flies into the clouds");
set_race("dragon");
set_gender(2);
set_magic_resist(100);
set_id("celicia");
set_alias("celi");
set_long(
" Celicia is a very cute baby dragon. She is only about a foot long and is\n"+
"dark green with a soft, furry, cream colored belly. She watches you curiously\n"+
"with tiny yellow eyes. A small, red, forked tounge sticks out of her mouth.\n"+
"She is wearing a necklace made of tiny green emeralds. She always stays very\n"+
"close to Valrejn, often wrapped around his neck.\n");
set_alt_name("dragon");
}