Go Back   RunUO - Ultima Online Emulation > RunUO > Custom Script Releases

Custom Script Releases This forum is where you can release your custom scripts for other users to use.

Please note: By releasing your scripts here you are submitting them to the public and as such agree to make them public domain. The RunUO Team has made its software GPL for you to use and enjoy you should do the same for anything based off of RunUO.

Reply
 
Thread Tools Display Modes
Old 07-12-2006, 08:54 AM   #1 (permalink)
Forum Expert
 
Lokai's Avatar
 
Join Date: Aug 2003
Location: Bergen, NY (Rochester)
Age: 41
Posts: 1,425
Send a message via ICQ to Lokai Send a message via MSN to Lokai Send a message via Yahoo to Lokai
Smile Daat99 OWLTR Update for RunUO 2.0 (Supports FSAT Gen2!)

Daat99's Custom OWLTR for RunUO 2.0 RC1.
by Lokai

Now updated and organized for use with FS Animal Taming Gen2.
Scripts folder contains all files needed to add/replace for this system.
NOTE: Implies that you already have FS Animal Taming Gen2. If not, this may not work for you.

Installation:

1. BACKUP your existing RunUO Folder (not just the Scripts!)
2. Copy this Scripts folder to your RunUO installation folder. When prompted choose "Yes" or "Yes to All" to overwrite existing files.
3. Restart the server.

Uninstall:

1. Restore your original RunUO Folder.
2. Restart the server.

Updates:

5/20/2008
Re-uploaded all files.
Main Zip file includes ALL OTHER PATCHES, so you only need that one file, unless you are just looking for one of the others specifically.

11/17/2006
Added Patch for ML Resources randomly dropping when harvesting.

10/19/2006
corbingene01 updated docs.cs to work with this system. THANKS! I have posted the script here.

9/16/2006
Updated SmallBOD.cs to include check for BaseWeapon in EndCombine(). Thanks, merin.
8/3/2006
Updated ChampionSpawn.cs to include spawns for Sleeping Dragon. Thanks, DebbieDoo, for stumbling on this one.
Oops. Fixed last update. I had not incremented [7] to [8]. Done now.
7/11/2006
OWLTR gump now includes new options for the Trash for Tokens system. Lady Luck carries the variables.
1. TrashGoldOK - Bool - If set to False, prevents bag from being used to carry Gold.
2. TrashTokensOK - Bool - If set to False, prevents players from trashing Tokens, TokenChecks, the TokenLedger, and LootTokenChecks.
3. SafeBagMinutes - Int - Sets the amount of time before Trash is emptied.
4. SafeBagWeightPercent - Int - Sets the Percentage of Weight reduced by the bag. 0 = normal bag, 100 = items in bag weigh nothing.
When these variables are set, the change is Global, and no restart is required.

7/15/2006
Updated files for FS Animal Taming Gen2 (BaseCreature)

I announced this update on the Forums about a week before posting, so hopefully I am not stepping on any toes with this. Here is the link:
[2.0] Daat99 OWLTR update...sort of... - RunUO - Ultima Online Emulation
Attached Files
File Type: zip Daat99s OWLTR RunUO 2.0 RC1.zip (371.6 KB, 354 views)
File Type: cs SmallBOD.cs (13.1 KB, 108 views)
File Type: cs ChampionSpawn.cs (25.2 KB, 129 views)
File Type: cs Stealth.cs (2.9 KB, 99 views)
File Type: zip ML Resources Patch.zip (18.0 KB, 167 views)
File Type: cs Docs.cs (93.3 KB, 110 views)

Last edited by Lokai; 05-20-2008 at 06:12 PM. Reason: Updated for FSAT Gen2
Lokai is offline   Reply With Quote
Old 07-12-2006, 10:02 AM   #2 (permalink)
 
Join Date: Oct 2003
Posts: 30
Default

doesnt work. 2 problems. first, using Server. Scripts. Commands in Crafting recipe is error, i just took out the scripts and that bypassed it, dunno if that affects anything. Secondly, your own basecreature doesnt include the new powermoves for the gen2 taming system, so cant compile
Warmonkey is offline   Reply With Quote
Old 07-12-2006, 10:45 AM   #3 (permalink)
Forum Expert
 
Lokai's Avatar
 
Join Date: Aug 2003
Location: Bergen, NY (Rochester)
Age: 41
Posts: 1,425
Send a message via ICQ to Lokai Send a message via MSN to Lokai Send a message via Yahoo to Lokai
Default

Quote:
Originally Posted by Warmonkey
doesnt work. 2 problems. first, using Server. Scripts. Commands in Crafting recipe is error, i just took out the scripts and that bypassed it, dunno if that affects anything.
Strange, I do not get an error about this one.


Quote:
Originally Posted by Warmonkey
Secondly, your own basecreature doesnt include the new powermoves for the gen2 taming system, so cant compile
Unfortunately, I did not get gen2 prior to all the work I did, so you will need to merge those changes in.

If anyone can use this, and add the gen2 updates, I would appreciate it. I will try to help with any errors.
Lokai is offline   Reply With Quote
Old 07-12-2006, 09:11 PM   #4 (permalink)
Forum Newbie
 
Join Date: Feb 2006
Posts: 30
Default

I get the same error about the Server.Scripts.Commands
This was used by RunUO 1.0 but now has to be changed to:
Code:
using Server.Commands;
on line 18 in Crafting Recipe.cs instead of
Code:
using Server.Scripts.Commands;
Carlosos is offline   Reply With Quote
Old 07-15-2006, 03:16 AM   #5 (permalink)
 
Join Date: Oct 2003
Posts: 30
Default

theres too merging to do. too many files need to be edited to get gen2 to work, at least for me anywayz cuz im not scripter etc etc. if you do a version with gen2 aswell that would be class
Warmonkey is offline   Reply With Quote
Old 07-15-2006, 08:39 AM   #6 (permalink)
Forum Expert
 
Lokai's Avatar
 
Join Date: Aug 2003
Location: Bergen, NY (Rochester)
Age: 41
Posts: 1,425
Send a message via ICQ to Lokai Send a message via MSN to Lokai Send a message via Yahoo to Lokai
Default

Quote:
Originally Posted by Warmonkey
theres too merging to do. too many files need to be edited to get gen2 to work, at least for me anywayz cuz im not scripter etc etc. if you do a version with gen2 aswell that would be class
I will see what I can do. I was afraid this would happen for many people, which was why I tried to get feedback prior to releasing it.

I know at least one shard that installed this prior to the release of Gen2, and had no problems. If I get the time, I will work toward updating it for Gen2.

Of course, by then Gen3 will be out, and I will be in the same boat....
Lokai is offline   Reply With Quote
Old 07-15-2006, 11:29 AM   #7 (permalink)
Forum Expert
 
Lokai's Avatar
 
Join Date: Aug 2003
Location: Bergen, NY (Rochester)
Age: 41
Posts: 1,425
Send a message via ICQ to Lokai Send a message via MSN to Lokai Send a message via Yahoo to Lokai
Default

I think I got it!

I successfully updated the scripts for FSAT Gen2.

See the first Post for updated download.

Lokai is offline   Reply With Quote
Old 07-15-2006, 12:15 PM   #8 (permalink)
Forum Newbie
 
Join Date: Feb 2006
Posts: 30
Default

I think you might be missing something in the basecreature.cs to get the "FS Animal Taming Gen2" system to work with the OWLTR script except if you were able to put it into another file which I didn't check
Below:
Code:
if ( version >= 14 )
			{
				m_RemoveIfUntamed = reader.ReadBool();
				m_RemoveStep = reader.ReadInt();
			}
you should still have
Code:
	if( version <= 14 && m_Paragon && Hue == 0x31 )
			{
				Hue = Paragon.Hue; //Paragon hue fixed, should now be 0x501.
			}

			CheckStatTimers();

			ChangeAIType(m_CurrentAI);

			AddFollowers();

			if ( IsAnimatedDead )
				Spells.Necromancy.AnimateDeadSpell.Register( m_SummonMaster, this );
and below:
Code:
public virtual bool DeleteOnRelease{ get{ return m_bSummoned; } }
you are missing
Code:
//Advanced Pet System
		public void DoDeathCheck()
		{
			Mobile cm = this.ControlMaster;

			if ( cm != null && this.Controlled == true && Tamable == true )
			{
				if ( this.IsBonded == true )
				{
					if ( this.AbilityPoints >= 0 && Utility.Random( 100 ) < 25 )
					{
						this.AbilityPoints = this.AbilityPoints / 2;
						cm.SendMessage( 38, "Your pet has lost half of thier ability points due to its untimely death." );
					}
					else if ( this.Exp >= 0 && Utility.Random( 100 ) < 25 )
					{
						this.Exp = this.Exp / 2;
						cm.SendMessage( 38, "Your pet has lost half of thier exp due to its untimely death." );
					}
					else if ( Utility.Random( 100 ) < 25 )
					{
						int strloss = this.Str / 20;
						int dexloss = this.Dex / 20;
						int intloss = this.Int / 20;
						int hitsloss = this.Hits / 20;
						int stamloss = this.Stam / 20;
						int manaloss = this.Mana / 20;
						int physloss = this.PhysicalResistance / 20;
						int fireloss = this.FireResistance / 20;
						int coldloss = this.ColdResistance / 20;
						int energyloss = this.EnergyResistance / 20;
						int poisonloss = this.PoisonResistance / 20;
						int dminloss = this.DamageMin / 20;
						int dmaxloss = this.DamageMax / 20;

						this.Str -= strloss;
						this.Dex -= dexloss;
						this.Int -= intloss;
						
						if ( this.HitsMaxSeed >= 0 )
							this.HitsMaxSeed -= hitsloss;
						if ( this.StamMaxSeed >= 0 )
							this.StamMaxSeed -= stamloss;
						if ( this.ManaMaxSeed >= 0 )
							this.ManaMaxSeed -= manaloss;

						if ( this.PhysicalResistanceSeed >= 0 )
							this.PhysicalResistanceSeed -= physloss;
						if ( this.FireResistSeed >= 0 )
							this.FireResistSeed -= fireloss;
						if ( this.ColdResistSeed >= 0 )
							this.ColdResistSeed -= coldloss;
						if ( this.EnergyResistSeed >= 0 )
							this.EnergyResistSeed -= energyloss;
						if ( this.PoisonResistSeed >= 0 )
							this.PoisonResistSeed -= poisonloss;

						this.DamageMin -= dminloss;
						this.DamageMax -= dmaxloss;

						cm.SendMessage( 38, "Your pet has suffered a 5% stat lose due to its untimely death." );
					}

					cm.SendMessage( 64, "Your pet has been killed!" );
				}
				else
				{
					cm.SendMessage( 64, "Your pet has been killed!" );
				}
			}
		}

		public void DoBioDeath()
		{
			Mobile cm = this.ControlMaster;

			if ( cm != null && this.Controlled == true && Tamable == true )
			{
				if ( this.IsBonded == true )
				{
					if ( Utility.Random( 100 ) < 25 )
					{
						int strloss = this.Str / 20;
						int dexloss = this.Dex / 20;
						int intloss = this.Int / 20;
						int hitsloss = this.Hits / 20;
						int stamloss = this.Stam / 20;
						int manaloss = this.Mana / 20;
						int physloss = this.PhysicalResistance / 20;
						int fireloss = this.FireResistance / 20;
						int coldloss = this.ColdResistance / 20;
						int energyloss = this.EnergyResistance / 20;
						int poisonloss = this.PoisonResistance / 20;
						int dminloss = this.DamageMin / 20;
						int dmaxloss = this.DamageMax / 20;

						this.Str -= strloss;
						this.Dex -= dexloss;
						this.Int -= intloss;
						
						if ( this.HitsMaxSeed >= 0 )
							this.HitsMaxSeed -= hitsloss;
						if ( this.StamMaxSeed >= 0 )
							this.StamMaxSeed -= stamloss;
						if ( this.ManaMaxSeed >= 0 )
							this.ManaMaxSeed -= manaloss;

						if ( this.PhysicalResistanceSeed >= 0 )
							this.PhysicalResistanceSeed -= physloss;
						if ( this.FireResistSeed >= 0 )
							this.FireResistSeed -= fireloss;
						if ( this.ColdResistSeed >= 0 )
							this.ColdResistSeed -= coldloss;
						if ( this.EnergyResistSeed >= 0 )
							this.EnergyResistSeed -= energyloss;
						if ( this.PoisonResistSeed >= 0 )
							this.PoisonResistSeed -= poisonloss;

						this.DamageMin -= dminloss;
						this.DamageMax -= dmaxloss;

						cm.SendMessage( 38, "Your pet has suffered a 5% stat lose due to its untimely death." );
					}

					cm.SendMessage( 64, "Your pet has been killed!" );
				}
				else
				{
					cm.SendMessage( 64, "Your pet has been killed!" );
				}
			}
		}

		public void CheckLevel( Mobile defender )
		{
			int expgainmin, expgainmax;

			if ( this is BaseBioCreature )
			{
			}
			else if ( defender is BaseCreature )
			{
				if ( this.Controlled == true && this.ControlMaster != null && Summoned == false )
				{
					BaseCreature bc = (BaseCreature)defender;

					expgainmin = 5 + ( bc.HitsMax ) / 10;
					expgainmax = 5 + ( bc.HitsMax ) / 5;

					if ( m_Level <= m_MaxLevel - 1 )
						m_Exp += Utility.RandomList( expgainmin, expgainmax );
			
					int nextLevel = m_NextLevel * m_Level;

					if ( m_Exp >= nextLevel && m_Level <= m_MaxLevel - 1 )
					{
						Mobile cm = this.ControlMaster;
						m_Level += 1;
						m_Exp = 0;
						this.FixedParticles( 0x373A, 10, 15, 5012, EffectLayer.Waist );
						this.PlaySound( 503 );
						cm.SendMessage( 38, "Your pets level has increased to {0}.", m_Level );

						int gain = Utility.RandomList( 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 6 );

						int random = Utility.Random( 100 );

						if ( random < 2 )
							gain = gain * 10;
						else if ( random < 4 )
							gain = gain * 5;
						else if ( random < 6 )
							gain = gain * 4;
						else if ( random < 8 )
							gain = gain * 3;
						else if ( random < 10 )
							gain = gain * 2;
						//else
							//gain = gain;

						this.AbilityPoints += gain;

						if ( this.ControlMaster != null )
						{
							this.ControlMaster.SendMessage( 38, "Your pet {0} has gained some ability points, Goto your pets 'NPC Info' and click the red diamond to apply these points." );
							//this.ControlMaster.CloseGump( typeof( LevelGump ) );
							//this.ControlMaster.CloseGump( typeof( PetLevelGump ) );
							//this.ControlMaster.SendGump( new LevelGump( this ) );
						}

						if ( m_Level == 9 )
						{
							m_AllowMating = true;
							cm.SendMessage( 1161, "Your pet is now at the level to mate." );
						}
						if ( m_Evolves == true )
						{
							if ( UsesForm1 == true && F0 == true )
							{
								this.BodyValue = m_Form1;
								this.BaseSoundID = m_Sound1;
								m_F1 = true;
								m_F2 = false;
								m_F3 = false;
								m_F4 = false;
								m_F5 = false;
								m_F6 = false;
								m_F7 = false;
								m_F8 = false;
								m_F9 = false;
								UsesForm1 = false;
								cm.SendMessage( 64, "Your pet has evoloved." );
							}
							else if ( UsesForm2 == true && F1 == true )
							{
								this.BodyValue = m_Form2;
								this.BaseSoundID = m_Sound2;
								m_F1 = false;
								m_F2 = true;
								m_F3 = false;
								m_F4 = false;
								m_F5 = false;
								m_F6 = false;
								m_F7 = false;
								m_F8 = false;
								m_F9 = false;
								UsesForm2 = false;
								cm.SendMessage( 64, "Your pet has evoloved." );
							}
							else if ( UsesForm3 == true && F2 == true )
							{
								this.BodyValue = m_Form3;
								this.BaseSoundID = m_Sound3;
								m_F1 = false;
								m_F2 = false;
								m_F3 = true;
								m_F4 = false;
								m_F5 = false;
								m_F6 = false;
								m_F7 = false;
								m_F8 = false;
								m_F9 = false;
								UsesForm3 = false;
								cm.SendMessage( 64, "Your pet has evoloved." );
							}
							else if ( UsesForm4 == true && F3 == true )
							{
								this.BodyValue = m_Form4;
								this.BaseSoundID = m_Sound4;
								m_F1 = false;
								m_F2 = false;
								m_F3 = false;
								m_F4 = true;
								m_F5 = false;
								m_F6 = false;
								m_F7 = false;
								m_F8 = false;
								m_F9 = false;
								UsesForm4 = false;
								cm.SendMessage( 64, "Your pet has evoloved." );
							}
							else if ( UsesForm5 == true && F4 == true )
							{
								this.BodyValue = m_Form5;
								this.BaseSoundID = m_Sound5;
								m_F1 = false;
								m_F2 = false;
								m_F3 = false;
								m_F4 = false;
								m_F5 = true;
								m_F6 = false;
								m_F7 = false;
								m_F8 = false;
								m_F9 = false;
								UsesForm5 = false;
								cm.SendMessage( 64, "Your pet has evoloved." );
							}
							else if ( UsesForm6 == true && F5 == true )
							{
								this.BodyValue = m_Form6;
								this.BaseSoundID = m_Sound6;
								m_F1 = false;
								m_F2 = false;
								m_F3 = false;
								m_F4 = false;
								m_F5 = false;
								m_F6 = true;
								m_F7 = false;
								m_F8 = false;
								m_F9 = false;
								UsesForm6 = false;
								cm.SendMessage( 64, "Your pet has evoloved." );
							}
							else if ( UsesForm7 == true && F6 == true )
							{
								this.BodyValue = m_Form7;
								this.BaseSoundID = m_Sound7;
								m_F1 = false;
								m_F2 = false;
								m_F3 = false;
								m_F4 = false;
								m_F5 = false;
								m_F6 = false;
								m_F7 = true;
								m_F8 = false;
								m_F9 = false;
								UsesForm7 = false;
								cm.SendMessage( 64, "Your pet has evoloved." );
							}
							else if ( UsesForm8 == true && F7 == true )
							{
								this.BodyValue = m_Form8;
								this.BaseSoundID = m_Sound8;
								m_F1 = false;
								m_F2 = false;
								m_F3 = false;
								m_F4 = false;
								m_F5 = false;
								m_F6 = false;
								m_F7 = false;
								m_F8 = true;
								m_F9 = false;
								UsesForm8 = false;
								cm.SendMessage( 64, "Your pet has evoloved." );
							}
							else if ( UsesForm9 == true && F8 == true )
							{
								this.BodyValue = m_Form9;
								this.BaseSoundID = m_Sound9;
								m_F1 = false;
								m_F2 = false;
								m_F3 = false;
								m_F4 = false;
								m_F5 = false;
								m_F6 = false;
								m_F7 = false;
								m_F8 = false;
								m_F9 = true;
								UsesForm9 = false;
								cm.SendMessage( 64, "Your pet has evoloved." );
							}	
						}
					}
				}
			}
		}
		//End Advanced Pet System
and below:
Code:
if( AutoDispel && defender is BaseCreature && ((BaseCreature)defender).IsDispellable && AutoDispelChance > Utility.RandomDouble() )
				Dispel( defender );
this is missing:
Code:
	if ( FSATS.EnablePetLeveling == true )
			{
				bool nolevel = false;
				Type typ = this.GetType();
				string nam = typ.Name;

				foreach ( string check in FSATS.NoLevelCreatures )
				{
  					if ( check == nam )
    						nolevel = true;
				}

				if ( nolevel != true )
					CheckLevel( defender );
			}
I also attached my BaseCreature.cs which I merged after installing OWLTR and the Animal system.

By the way, thank you for your hard work Lokai to get this working under RunUO2.0RC1
Attached Files
File Type: cs BaseCreature.cs (142.4 KB, 164 views)

Last edited by Carlosos; 07-15-2006 at 12:19 PM.
Carlosos is offline   Reply With Quote
Old 07-15-2006, 12:40 PM   #9 (permalink)
 
Join Date: Oct 2003
Posts: 30
Default

i have problems with the mule.cs line 84 on.before.tame. wont compile. argh ive only got neruns and gen2 installed aswell, but having so many problems
Warmonkey is offline   Reply With Quote
Old 07-15-2006, 12:47 PM   #10 (permalink)
Forum Expert
 
Lokai's Avatar
 
Join Date: Aug 2003
Location: Bergen, NY (Rochester)
Age: 41
Posts: 1,425
Send a message via ICQ to Lokai Send a message via MSN to Lokai Send a message via Yahoo to Lokai
Default

Quote:
Originally Posted by Carlosos
I think you might be missing something in the basecreature.cs to get the "FS Animal Taming Gen2" system to work with the OWLTR script except if you were able to put it into another file which I didn't check
Below:
Code:
if ( version >= 14 )
			{
				m_RemoveIfUntamed = reader.ReadBool();
				m_RemoveStep = reader.ReadInt();
			}
you should still have
Code:
	if( version <= 14 && m_Paragon && Hue == 0x31 )
			{
				Hue = Paragon.Hue; //Paragon hue fixed, should now be 0x501.
			}

			CheckStatTimers();

			ChangeAIType(m_CurrentAI);

			AddFollowers();

			if ( IsAnimatedDead )
				Spells.Necromancy.AnimateDeadSpell.Register( m_SummonMaster, this );
and below:
Code:
public virtual bool DeleteOnRelease{ get{ return m_bSummoned; } }
you are missing
Code:
//Advanced Pet System
		public void DoDeathCheck()
		{
			Mobile cm = this.ControlMaster;

			if ( cm != null && this.Controlled == true && Tamable == true )
			{
				if ( this.IsBonded == true )
				{
					if ( this.AbilityPoints >= 0 && Utility.Random( 100 ) < 25 )
					{
						this.AbilityPoints = this.AbilityPoints / 2;
						cm.SendMessage( 38, "Your pet has lost half of thier ability points due to its untimely death." );
					}
					else if ( this.Exp >= 0 && Utility.Random( 100 ) < 25 )
					{
						this.Exp = this.Exp / 2;
						cm.SendMessage( 38, "Your pet has lost half of thier exp due to its untimely death." );
					}
					else if ( Utility.Random( 100 ) < 25 )
					{
						int strloss = this.Str / 20;
						int dexloss = this.Dex / 20;
						int intloss = this.Int / 20;
						int hitsloss = this.Hits / 20;
						int stamloss = this.Stam / 20;
						int manaloss = this.Mana / 20;
						int physloss = this.PhysicalResistance / 20;
						int fireloss = this.FireResistance / 20;
						int coldloss = this.ColdResistance / 20;
						int energyloss = this.EnergyResistance / 20;
						int poisonloss = this.PoisonResistance / 20;
						int dminloss = this.DamageMin / 20;
						int dmaxloss = this.DamageMax / 20;

						this.Str -= strloss;
						this.Dex -= dexloss;
						this.Int -= intloss;
						
						if ( this.HitsMaxSeed >= 0 )
							this.HitsMaxSeed -= hitsloss;
						if ( this.StamMaxSeed >= 0 )
							this.StamMaxSeed -= stamloss;
						if ( this.ManaMaxSeed >= 0 )
							this.ManaMaxSeed -= manaloss;

						if ( this.PhysicalResistanceSeed >= 0 )
							this.PhysicalResistanceSeed -= physloss;
						if ( this.FireResistSeed >= 0 )
							this.FireResistSeed -= fireloss;
						if ( this.ColdResistSeed >= 0 )
							this.ColdResistSeed -= coldloss;
						if ( this.EnergyResistSeed >= 0 )
							this.EnergyResistSeed -= energyloss;
						if ( this.PoisonResistSeed >= 0 )
							this.PoisonResistSeed -= poisonloss;

						this.DamageMin -= dminloss;
						this.DamageMax -= dmaxloss;

						cm.SendMessage( 38, "Your pet has suffered a 5% stat lose due to its untimely death." );
					}

					cm.SendMessage( 64, "Your pet has been killed!" );
				}
				else
				{
					cm.SendMessage( 64, "Your pet has been killed!" );
				}
			}
		}

		public void DoBioDeath()
		{
			Mobile cm = this.ControlMaster;

			if ( cm != null && this.Controlled == true && Tamable == true )
			{
				if ( this.IsBonded == true )
				{
					if ( Utility.Random( 100 ) < 25 )
					{
						int strloss = this.Str / 20;
						int dexloss = this.Dex / 20;
						int intloss = this.Int / 20;
						int hitsloss = this.Hits / 20;
						int stamloss = this.Stam / 20;
						int manaloss = this.Mana / 20;
						int physloss = this.PhysicalResistance / 20;
						int fireloss = this.FireResistance / 20;
						int coldloss = this.ColdResistance / 20;
						int energyloss = this.EnergyResistance / 20;
						int poisonloss = this.PoisonResistance / 20;
						int dminloss = this.DamageMin / 20;
						int dmaxloss = this.DamageMax / 20;

						this.Str -= strloss;
						this.Dex -= dexloss;
						this.Int -= intloss;
						
						if ( this.HitsMaxSeed >= 0 )
							this.HitsMaxSeed -= hitsloss;
						if ( this.StamMaxSeed >= 0 )
							this.StamMaxSeed -= stamloss;
						if ( this.ManaMaxSeed >= 0 )
							this.ManaMaxSeed -= manaloss;

						if ( this.PhysicalResistanceSeed >= 0 )
							this.PhysicalResistanceSeed -= physloss;
						if ( this.FireResistSeed >= 0 )
							this.FireResistSeed -= fireloss;
						if ( this.ColdResistSeed >= 0 )
							this.ColdResistSeed -= coldloss;
						if ( this.EnergyResistSeed >= 0 )
							this.EnergyResistSeed -= energyloss;
						if ( this.PoisonResistSeed >= 0 )
							this.PoisonResistSeed -= poisonloss;

						this.DamageMin -= dminloss;
						this.DamageMax -= dmaxloss;

						cm.SendMessage( 38, "Your pet has suffered a 5% stat lose due to its untimely death." );
					}

					cm.SendMessage( 64, "Your pet has been killed!" );
				}
				else
				{
					cm.SendMessage( 64, "Your pet has been killed!" );
				}
			}
		}

		public void CheckLevel( Mobile defender )
		{
			int expgainmin, expgainmax;

			if ( this is BaseBioCreature )
			{
			}
			else if ( defender is BaseCreature )
			{
				if ( this.Controlled == true && this.ControlMaster != null && Summoned == false )
				{
					BaseCreature bc = (BaseCreature)defender;

					expgainmin = 5 + ( bc.HitsMax ) / 10;
					expgainmax = 5 + ( bc.HitsMax ) / 5;

					if ( m_Level <= m_MaxLevel - 1 )
						m_Exp += Utility.RandomList( expgainmin, expgainmax );
			
					int nextLevel = m_NextLevel * m_Level;

					if ( m_Exp >= nextLevel && m_Level <= m_MaxLevel - 1 )
					{
						Mobile cm = this.ControlMaster;
						m_Level += 1;
						m_Exp = 0;
						this.FixedParticles( 0x373A, 10, 15, 5012, EffectLayer.Waist );
						this.PlaySound( 503 );
						cm.SendMessage( 38, "Your pets level has increased to {0}.", m_Level );

						int gain = Utility.RandomList( 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 6 );

						int random = Utility.Random( 100 );

						if ( random < 2 )
							gain = gain * 10;
						else if ( random < 4 )
							gain = gain * 5;
						else if ( random < 6 )
							gain = gain * 4;
						else if ( random < 8 )
							gain = gain * 3;
						else if ( random < 10 )
							gain = gain * 2;
						//else
							//gain = gain;

						this.AbilityPoints += gain;

						if ( this.ControlMaster != null )
						{
							this.ControlMaster.SendMessage( 38, "Your pet {0} has gained some ability points, Goto your pets 'NPC Info' and click the red diamond to apply these points." );
							//this.ControlMaster.CloseGump( typeof( LevelGump ) );
							//this.ControlMaster.CloseGump( typeof( PetLevelGump ) );
							//this.ControlMaster.SendGump( new LevelGump( this ) );
						}

						if ( m_Level == 9 )
						{
							m_AllowMating = true;
							cm.SendMessage( 1161, "Your pet is now at the level to mate." );
						}
						if ( m_Evolves == true )
						{
							if ( UsesForm1 == true && F0 == true )
							{
								this.BodyValue = m_Form1;
								this.BaseSoundID = m_Sound1;
								m_F1 = true;
								m_F2 = false;
								m_F3 = false;
								m_F4 = false;
								m_F5 = false;
								m_F6 = false;
								m_F7 = false;
								m_F8 = false;
								m_F9 = false;
								UsesForm1 = false;
								cm.SendMessage( 64, "Your pet has evoloved." );
							}
							else if ( UsesForm2 == true && F1 == true )
							{
								this.BodyValue = m_Form2;
								this.BaseSoundID = m_Sound2;
								m_F1 = false;
								m_F2 = true;
								m_F3 = false;
								m_F4 = false;
								m_F5 = false;
								m_F6 = false;
								m_F7 = false;
								m_F8 = false;
								m_F9 = false;
								UsesForm2 = false;
								cm.SendMessage( 64, "Your pet has evoloved." );
							}
							else if ( UsesForm3 == true && F2 == true )
							{
								this.BodyValue = m_Form3;
								this.BaseSoundID = m_Sound3;
								m_F1 = false;
								m_F2 = false;
								m_F3 = true;
								m_F4 = false;
								m_F5 = false;
								m_F6 = false;
								m_F7 = false;
								m_F8 = false;
								m_F9 = false;
								UsesForm3 = false;
								cm.SendMessage( 64, "Your pet has evoloved." );
							}
							else if ( UsesForm4 == true && F3 == true )
							{
								this.BodyValue = m_Form4;
								this.BaseSoundID = m_Sound4;
								m_F1 = false;
								m_F2 = false;
								m_F3 = false;
								m_F4 = true;
								m_F5 = false;
								m_F6 = false;
								m_F7 = false;
								m_F8 = false;
								m_F9 = false;
								UsesForm4 = false;
								cm.SendMessage( 64, "Your pet has evoloved." );
							}
							else if ( UsesForm5 == true && F4 == true )
							{
								this.BodyValue = m_Form5;
								this.BaseSoundID = m_Sound5;
								m_F1 = false;
								m_F2 = false;
								m_F3 = false;
								m_F4 = false;
								m_F5 = true;
								m_F6 = false;
								m_F7 = false;
								m_F8 = false;
								m_F9 = false;
								UsesForm5 = false;
								cm.SendMessage( 64, "Your pet has evoloved." );
							}
							else if ( UsesForm6 == true && F5 == true )
							{
								this.BodyValue = m_Form6;
								this.BaseSoundID = m_Sound6;
								m_F1 = false;
								m_F2 = false;
								m_F3 = false;
								m_F4 = false;
								m_F5 = false;
								m_F6 = true;
								m_F7 = false;
								m_F8 = false;
								m_F9 = false;
								UsesForm6 = false;
								cm.SendMessage( 64, "Your pet has evoloved." );
							}
							else if ( UsesForm7 == true && F6 == true )
							{
								this.BodyValue = m_Form7;
								this.BaseSoundID = m_Sound7;
								m_F1 = false;
								m_F2 = false;
								m_F3 = false;
								m_F4 = false;
								m_F5 = false;
								m_F6 = false;
								m_F7 = true;
								m_F8 = false;
								m_F9 = false;
								UsesForm7 = false;
								cm.SendMessage( 64, "Your pet has evoloved." );
							}
							else if ( UsesForm8 == true && F7 == true )
							{
								this.BodyValue = m_Form8;
								this.BaseSoundID = m_Sound8;
								m_F1 = false;
								m_F2 = false;
								m_F3 = false;
								m_F4 = false;
								m_F5 = false;
								m_F6 = false;
								m_F7 = false;
								m_F8 = true;
								m_F9 = false;
								UsesForm8 = false;
								cm.SendMessage( 64, "Your pet has evoloved." );
							}
							else if ( UsesForm9 == true && F8 == true )
							{
								this.BodyValue = m_Form9;
								this.BaseSoundID = m_Sound9;
								m_F1 = false;
								m_F2 = false;
								m_F3 = false;
								m_F4 = false;
								m_F5 = false;
								m_F6 = false;
								m_F7 = false;
								m_F8 = false;
								m_F9 = true;
								UsesForm9 = false;
								cm.SendMessage( 64, "Your pet has evoloved." );
							}	
						}
					}
				}
			}
		}
		//End Advanced Pet System
and below:
Code:
if( AutoDispel && defender is BaseCreature && ((BaseCreature)defender).IsDispellable && AutoDispelChance > Utility.RandomDouble() )
				Dispel( defender );
this is missing:
Code:
	if ( FSATS.EnablePetLeveling == true )
			{
				bool nolevel = false;
				Type typ = this.GetType();
				string nam = typ.Name;

				foreach ( string check in FSATS.NoLevelCreatures )
				{
  					if ( check == nam )
    						nolevel = true;
				}

				if ( nolevel != true )
					CheckLevel( defender );
			}
I also attached my BaseCreature.cs which I merged after installing OWLTR and the Animal system.

By the way, thank you for your hard work Lokai to get this working under RunUO2.0RC1

OK. This is strange. I downloaded FS Gen2, and the BaseCreature.cs file I have is UNCHANGED except for the sections I added for Daat99's OWLTR (which are all clearly marked.) Were there changes needed that were not included in his DISTROS folder?
Lokai is offline   Reply With Quote
Old 07-15-2006, 12:49 PM   #11 (permalink)
Forum Expert
 
Lokai's Avatar
 
Join Date: Aug 2003
Location: Bergen, NY (Rochester)
Age: 41
Posts: 1,425
Send a message via ICQ to Lokai Send a message via MSN to Lokai Send a message via Yahoo to Lokai
Default

Quote:
Originally Posted by Warmonkey
i have problems with the mule.cs line 84 on.before.tame. wont compile. argh ive only got neruns and gen2 installed aswell, but having so many problems
Did you use the BaseCreature.cs included? It has these sections:

PHP Code:
        public virtual void OnBeforeTame()
        {
            
//Daat99 OnBeforeTame Method
        
}
        
        public 
virtual void OnBeforeReTame()
        {
            
//Daat99 OnBeforeReTame Method
        

Lokai is offline   Reply With Quote
Old 07-15-2006, 01:10 PM   #12 (permalink)
Forum Newbie
 
Join Date: Feb 2006
Posts: 30
Default

Quote:
Originally Posted by Lokai
OK. This is strange. I downloaded FS Gen2, and the BaseCreature.cs file I have is UNCHANGED except for the sections I added for Daat99's OWLTR (which are all clearly marked.) Were there changes needed that were not included in his DISTROS folder?
To tell you the truth, I have no clue right now why I have these parts. I think I did the same as you did but I still have those sections. The "extra" parts that I came up with have to do with the stats/skills/attribute loss that happens when the animal dies.

I'm right now confused myself about this but I must have gotten the changes from somewhere and I know that it was already included when I installed an old version of the script on a RunUO 1.0 server a few months ago.
Carlosos is offline   Reply With Quote
Old 07-15-2006, 01:42 PM   #13 (permalink)
Forum Expert
 
Lokai's Avatar
 
Join Date: Aug 2003
Location: Bergen, NY (Rochester)
Age: 41
Posts: 1,425
Send a message via ICQ to Lokai Send a message via MSN to Lokai Send a message via Yahoo to Lokai
Default

Quote:
Originally Posted by Carlosos
To tell you the truth, I have no clue right now why I have these parts. I think I did the same as you did but I still have those sections. The "extra" parts that I came up with have to do with the stats/skills/attribute loss that happens when the animal dies.

I'm right now confused myself about this but I must have gotten the changes from somewhere and I know that it was already included when I installed an old version of the script on a RunUO 1.0 server a few months ago.
OK. The way this system works is this:

On NEW Install of RunUO 2.0 Server:
  1. Add Nerun's Distro (optional, but recommended.)
  2. Add FS Animal Taming Gen2 (replace stock scripts with files in FSAT's DISTROS folder.
  3. Add this release, overwriting all files automatically.
If you have a CUSTOMIZED RunUO 2.0 Server, make sure you install FSAT Gen 2, and remove all older versions, especially BaseCreature.cs.
Lokai is offline   Reply With Quote
Old 07-15-2006, 02:11 PM   #14 (permalink)
Forum Newbie
 
Join Date: Feb 2006
Posts: 30
Default

I think I now know what I did to get those extra sections. I compared the wrong basecreature.cs
I used on from the FSAnimalTaming2.0-Beta.rar script (I don't know who released this) to compare with the original one and than compared the basecreature from this script and than the FSAT version that you released.

Maybe you want to add those extra sections that I have to your version because it is a feature that was included in the old FSAT script and isn't included in your modified version anymore.
Carlosos is offline   Reply With Quote
Old 07-15-2006, 02:34 PM   #15 (permalink)
 
Join Date: Oct 2003
Posts: 30
Default

righto i created a fresh runuo2 and followed that order lokai and now it works. very strange!! not sure why it wasnt working before, had loads of errors. nevermind, i can start from here thanking you kindly
Warmonkey is offline   Reply With Quote
Old 07-15-2006, 03:32 PM   #16 (permalink)
Forum Expert
 
Rosey1's Avatar
 
Join Date: Oct 2005
Location: Oklahoma
Age: 32
Posts: 890
Send a message via ICQ to Rosey1 Send a message via AIM to Rosey1 Send a message via MSN to Rosey1 Send a message via Yahoo to Rosey1
Default

Quote:
Originally Posted by Lokai
OK. The way this system works is this:

On NEW Install of RunUO 2.0 Server:
  1. Add Nerun's Distro (optional, but recommended.)
  2. Add FS Animal Taming Gen2 (replace stock scripts with files in FSAT's DISTROS folder.
  3. Add this release, overwriting all files automatically.
If you have a CUSTOMIZED RunUO 2.0 Server, make sure you install FSAT Gen 2, and remove all older versions, especially BaseCreature.cs.
so i have to install the fsat gen 2 first and then the owltr to get no errors?
Rosey1 is offline   Reply With Quote
Old 07-15-2006, 03:52 PM   #17 (