include library.utils; include library.create; include library.healing; void end(obj_id self) { if ( hasObjVar(self, "testPet") ) { obj_id mob = getObjIdObjVar(self, "testPet"); destroyObject(mob); removeObjVar(self, "testPet"); } } void start(obj_id self) { if ( hasObjVar(self, "testPet") ) end(self); debugSpeakMsg(self, "--Noodle has begun"); createTriggerVolume( "blah", 3, true ); String creatureType = getStringObjVar(self,"testPetType"); location blah = getLocation(self); blah.x = blah.x + 1.25f; obj_id newmob = create.object(creatureType,blah); if ( newmob == null ) { debugSpeakMsg(self, "--Could not spawn pet"); return; } detachAllScripts(newmob); attachScript(newmob, "test.report_behavior"); attachScript(newmob, "test.ai_test2"); setObjVar(self, "testPet", newmob); location loc = getLocation(self); setHomeLocation(newmob, loc); stop(newmob); stopFloating(newmob); } void gimme_skills(obj_id speaker) { grantSkill(speaker, "outdoors_creaturehandler_novice"); grantSkill(speaker, "outdoors_creaturehandler_taming_01"); grantSkill(speaker, "outdoors_creaturehandler_taming_02"); grantSkill(speaker, "outdoors_creaturehandler_taming_03"); grantSkill(speaker, "outdoors_creaturehandler_taming_04"); grantSkill(speaker, "outdoors_creaturehandler_training_01"); grantSkill(speaker, "outdoors_creaturehandler_training_02"); grantSkill(speaker, "outdoors_creaturehandler_training_03"); grantSkill(speaker, "outdoors_creaturehandler_training_04"); grantSkill(speaker, "outdoors_creaturehandler_healing_01"); grantSkill(speaker, "outdoors_creaturehandler_healing_02"); grantSkill(speaker, "outdoors_creaturehandler_healing_03"); grantSkill(speaker, "outdoors_creaturehandler_healing_04"); grantSkill(speaker, "outdoors_creaturehandler_support_01"); grantSkill(speaker, "outdoors_creaturehandler_support_02"); grantSkill(speaker, "outdoors_creaturehandler_support_03"); grantSkill(speaker, "outdoors_creaturehandler_support_04"); grantSkill(speaker, "outdoors_creaturehandler_master"); setObjVar(speaker,"fasttame",1); } void start2(obj_id self) { if ( hasObjVar(self, "testPet") ) end(self); debugSpeakMsg(self, "--Testing has begun"); String creatureType = getStringObjVar(self,"testPetType"); location blah = getLocation(self); obj_id newmob = create.object(creatureType,blah); if ( newmob == null ) { debugSpeakMsg(self, "--Could not spawn pet"); return; } location loc = getLocation(self); setHomeLocation(newmob, loc); } void startMounts(obj_id self, obj_id speaker) { if ( hasObjVar(self, "testPet") ) end(self); debugSpeakMsg(self, "--Testing has begun"); String creatureType = getStringObjVar(self,"testPetType"); location blah = getLocation(self); obj_id newmob = create.object(creatureType,blah); if ( newmob == null ) { debugSpeakMsg(self, "--Could not spawn pet"); return; } location loc = getLocation(self); setHomeLocation(newmob, loc); attachScript(newmob, "ai.pet_advance"); gimme_skills(speaker); } trigger OnTriggerVolumeEntered(string volumeName, obj_id whoTriggeredMe) { debugSpeakMsg(self,"Trigger Volume Enter"); return SCRIPT_CONTINUE; } trigger OnTriggerVolumeExited(string volumeName, obj_id whoTriggeredMe) { debugSpeakMsg(self,"Trigger Volume Exit"); return SCRIPT_CONTINUE; } trigger OnObjectDamaged( obj_id attacker, obj_id weapon, int damage ) { healing.fullHeal(self); return SCRIPT_CONTINUE; } trigger OnCreatureDamaged(obj_id attacker, obj_id weapon, int[] damage) { healing.fullHeal(self); return SCRIPT_CONTINUE; } trigger OnAttach() { setObjVar(self, "blahblah", 1); start(self); return SCRIPT_CONTINUE; } trigger OnDetach() { end(self); return SCRIPT_CONTINUE; } trigger OnHearSpeech(obj_id speaker, string text) { string[] words = split( text, ' ' ); if(words[0].equals("cone")) { debugSpeakMsg(self, "happy cone cone"); float fltConeLength = 64f; float fltConeWidth = 15f; obj_id objTarget = getLookAtTarget(self); obj_id objPlayer = self; obj_id[] objDefenders = getCreaturesInCone(objPlayer, objTarget, fltConeLength, fltConeWidth); for(int intI = 0; intI