AnimalTaming Help (Question about Tamed Animals)

Delinquent

Member
Sep 12, 2019
6
3
35
Texas
I'm trying to make a horse that when it is tamed, it will clear the Owner list and also become Untamed again so it can be re-tamed.
Currently Inside the Animaltaming.cs file I have added m_Creature.Owners.Clear(); to the animal once the tame was successful, which does appear to work. Because one the Animal is tamed I can look at its props and it shows the Last Owner as Null. But in the same section of AnimalTaming.cs I added m_Creature.Controlled = false; and also tried m_Creature.Controlled.isNull(); but none of this appears to work. The animal will stay tamed.

I'm just looking for anything else I should look at, or if I need to add something to the animals cs file.

Any Guidance would be awesome.

I also added a Bool Flag in the BaseCreatures section just to tell if the animal should untame itself or not.

I was unable to find anything like this one the forums except a script called TamersLittleHelper or something, which doesn't really do the same thing that i'm trying to accomplish.

This is a ServUO server. Not RunUO

Thanks again,
Delinquent
 

Delinquent

Member
Sep 12, 2019
6
3
35
Texas
So I ended up solving my own issue.
I missed a spot in the AnimalTaming.cs script that was adding the mobile tamer (players) name to the SetControlMaster to the players name. I put this line into the same If statement as the rest of the script and it resolved my issue.

I now have a "taming horse" that can be tamed over and over and still gain skill off of!
 
  • Like
Reactions: Espcevan

Finaltwist

Member
Sep 7, 2019
21
2
I'm trying to make a horse that when it is tamed, it will clear the Owner list and also become Untamed again so it can be re-tamed.
Currently Inside the Animaltaming.cs file I have added m_Creature.Owners.Clear(); to the animal once the tame was successful, which does appear to work. Because one the Animal is tamed I can look at its props and it shows the Last Owner as Null. But in the same section of AnimalTaming.cs I added m_Creature.Controlled = false; and also tried m_Creature.Controlled.isNull(); but none of this appears to work. The animal will stay tamed.
instead of creating a new horse, I found a much better way to fix animal taming - passively check the skill while you are taming (e.g. animal lore gains when trying to tame). Fixes the entire skill and makes it fun now. you can gain multiple times per try.

if ( !alreadyOwned ) // Passively check animal lore for gain
{
switch ( Utility.Random( 3 ) )
{
case 0: m_Tamer.CheckTargetSkill( SkillName.AnimalTaming, m_Creature, 0.0, 120.0 ); break;
case 1: break;
case 2: break;
}

m_Tamer.CheckTargetSkill( SkillName.AnimalLore, m_Creature, 0.0, 120.0 ); //+++
}