RunUO Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

How To Change Fc/Fcr, Reagents, Arrows, Skill and Statcap, Lower Mana Cost

ICESHED

Wanderer
How To Change Fc/Fcr, Reagents, Arrows, Skill and Statcap, Lower Mana Cost

Okay. This is the most frequently asked questions i have seen so far. If you want to change Fc/Fcr cap. Go to Scripts\Spells\Base\spell.cs. Find this like
Code:
			// Faster casting cap of 2 (if not using the protection spell) 
			// Faster casting cap of 0 (if using the protection spell) 
			// Paladin spells are subject to a faster casting cap of 4 
			// Paladins with magery of 70.0 or above are subject to a faster casting cap of 2 
			int fcMax = 2;

Simply change it to what ever you want. Ex: change that ^^^ to this:
Code:
			// Faster casting cap of 4 (if not using the protection spell) 
			// Faster casting cap of 0 (if using the protection spell) 
			// Paladin spells are subject to a faster casting cap of 4 
			// Paladins with magery of 70.0 or above are subject to a faster casting cap of 2 
			int fcMax = 4;
Then you have a fastercasting cap of 4 instead of your Default 2.

Now to change the FCR cap. Go to Scripts\Spells\Base\spell.cs. but this time find these lines:
Code:
		public virtual int CastRecoveryBase{ get{ return 6; } }
		public virtual int CastRecoveryCircleScalar{ get{ return 0; } }
		public virtual int CastRecoveryFastScalar{ get{ return 1; } }
		public virtual int CastRecoveryPerSecond{ get{ return 4; } }
		public virtual int CastRecoveryMinimum{ get{ return 0; } }
If You want to change the cap simply change it. Ex
Code:
		public virtual int CastRecoveryBase{ get{ return 4; } }
		public virtual int CastRecoveryCircleScalar{ get{ return 0; } }
		public virtual int CastRecoveryFastScalar{ get{ return 1; } }
		public virtual int CastRecoveryPerSecond{ get{ return 2; } }
		public virtual int CastRecoveryMinimum{ get{ return 0; } }
So now moving on we will go to reagents. To make it so that we don't have to have reagents to cast spells we go to Scripts\Spells\Base\spell.cs. but this time look for this line:
Code:
public virtual bool ConsumeReagents()
		{
			if ( m_Scroll != null || !m_Caster.Player )
				return false;

			if ( AosAttributes.GetValue( m_Caster, AosAttribute.LowerRegCost ) > Utility.Random( 100 ) )
				return true;

			Container pack = m_Caster.Backpack;

			if ( pack == null )
				return false;

			f ( pack.ConsumeTotal( m_Info.Reagents, m_Info.Amounts ) == -1 )
				return true;

			if ( GetType().BaseType == typeof( Spell ) )
			{
				if ( ArcaneGem.ConsumeCharges( m_Caster, 1 + (int)Circle ) )
					return true;
			}

			return false;
		}
And change it to:
Code:
public virtual bool ConsumeReagents()
		{
			if ( m_Scroll != null || !m_Caster.Player )
				return true;

			if ( AosAttributes.GetValue( m_Caster, AosAttribute.LowerRegCost ) > Utility.Random( 100 ) )
				return true;

			Container pack = m_Caster.Backpack;

			if ( pack == null )
				return false;

			//if ( pack.ConsumeTotal( m_Info.Reagents, m_Info.Amounts ) == -1 )
				return true;

			if ( GetType().BaseType == typeof( Spell ) )
			{
				if ( ArcaneGem.ConsumeCharges( m_Caster, 1 + (int)Circle ) )
					return true;
			}

			return false;
		}
And thats it no more regs.
Now we move on to Arrows. To Make it so arrows will not hit the ground after you miss someone. Go to Scripts\Items\Weapons\Ranged\BaseRanged.cs and look for this line:
Code:
public override void OnMiss( Mobile attacker, Mobile defender )
		{
			if ( attacker.Player && 0.4 >= Utility.RandomDouble() )
				Ammo.MoveToWorld( new Point3D( defender.X + Utility.RandomMinMax( -1, 1 ), defender.Y + Utility.RandomMinMax( -1, 1 ), defender.Z ), defender.Map );

			base.OnMiss( attacker, defender );
		}
And change it to:
Code:
		/*public override void OnMiss( Mobile attacker, Mobile defender )
		{
			if ( attacker.Player && 0.4 >= Utility.RandomDouble() )
				Ammo.MoveToWorld( new Point3D( defender.X + Utility.RandomMinMax( -1, 1 ), defender.Y + Utility.RandomMinMax( -1, 1 ), defender.Z ), defender.Map );

			base.OnMiss( attacker, defender );
		}*/
Now to make it so that you don't even have to use arrows find this line:
Code:
if ( attacker.Player && (pack == null || !pack.ConsumeTotal( AmmoType, 1 )) )
				return false;
Change that to:
Code:
if ( attacker.Player && (pack == null || !pack.ConsumeTotal( AmmoType, 1 )) )
				return true;
Now you have made all bows ammoless.

Now we move on to skillcap. You will need to look in this file \scripts\misc\charactercreation.cs and look for this line:
Code:
newChar.Player = true;
			newChar.AccessLevel = ((Account)args.Account).AccessLevel;
			newChar.Female = args.Female;
			newChar.Body = newChar.Female ? 0x191 : 0x190;
			newChar.Hue = Utility.ClipSkinHue( args.Hue & 0x3FFF ) | 0x8000;
			newChar.Hunger = 20;
Then change that to look like this:
Code:
			newChar.Player = true;
			newChar.AccessLevel = ((Account)args.Account).AccessLevel;
			newChar.Female = args.Female;
			newChar.Body = newChar.Female ? 0x191 : 0x190;
			newChar.Hue = Utility.ClipSkinHue( args.Hue & 0x3FFF ) | 0x8000;
			newChar.Hunger = 20;
                                      newChar.Skills.Cap= 999999;  
                                      newChar.StatCap = 300;
But instead of those numbers make them your own.

Now we move on to Lower Mana Cost. Simply go to Scripts\Spells\Base\spell.cs and look for this line:
Code:
			// Lower Mana Cost = 40%
			int lmc = AosAttributes.GetValue( m_Caster, AosAttribute.LowerManaCost );
			if ( lmc > 40 )
				lmc = 40;
And simply change it to what you want to what you want the LMC cap to be EX for 50 LMC Cap:
Code:
			// Lower Mana Cost = 50%
			int lmc = AosAttributes.GetValue( m_Caster, AosAttribute.LowerManaCost );
			if ( lmc > 50 )
				lmc = 50;

Thank You If You Have Any Questions Please Post Them In This Thread.
 

abramelin

Wanderer
first thank very much!this is a very good faq.
i have a question.where can i modify or look at the sdi? (spell damage increase)
 

ICESHED

Wanderer
uhh let me c

abramelin said:
first thank very much!this is a very good faq.
i have a question.where can i modify or look at the sdi? (spell damage increase)

Okay first of all thanks took me along time and let me look ill have the sdi question awnsered in 30 minutes
 

ICESHED

Wanderer
okay here it is

the SDI cap change it here
Code:
int sdiBonus = AosAttributes.GetValue( m_Caster, AosAttribute.SpellDamage );
			// PvP spell damage increase cap of 15% from an item’s magic property
			if ( playerVsPlayer && sdiBonus > 15 )
				sdiBonus = 15;
Ex for 30% SDI cap:
Code:
int sdiBonus = AosAttributes.GetValue( m_Caster, AosAttribute.SpellDamage );
			// PvP spell damage increase cap of 30% from an item’s magic property
			if ( playerVsPlayer && sdiBonus > 30% )
				sdiBonus = 30;

K well thats the thing for SDI
 

Falafel

Wanderer
where did i can change the base speed of warriors? or something like that... you see - i did 4\6 fc\frc, and now i need to give to warriors bonuses to... beouse 4\6 - mages became too powerfull... what can i doo?
 

Obsydian

Wanderer
I think (I might be wrong, though) it can be found here:

Code:
public virtual TimeSpan ComputeMovementSpeed( Direction dir )
{
	if ( (dir & Direction.Mask) != (this.Direction & Direction.Mask) )
		return TimeSpan.FromSeconds( 0.1 );
		bool running = ( (dir & Direction.Running) != 0 );
		bool onHorse = ( this.Mount != null );
		if ( onHorse )
		return ( running ? TimeSpan.FromSeconds( 0.1 ) : TimeSpan.FromSeconds( 0.2 ) );

		return ( running ? TimeSpan.FromSeconds( 0.2 ) : TimeSpan.FromSeconds( 0.4 ) );
}

That's in PlayerMobile.cs file. If you change the TimeSpan.FromSeconds to lower values, like:

Code:
if ( onHorse )
return ( running ? [COLOR="Red"]TimeSpan.FromSeconds( 0.05 ) : TimeSpan.FromSeconds( 0.01 ) );[/COLOR]

Should work. I'm not sure though, cuz I'm in the office and have no way to launch UO and check it out.

Regards
Sid
 

Ravatar

Knight
I wish we still had the old faq forum, this would be a nice addition. Hopefully when people search for the terms in your thread name they'll get the help they need. Nice work!
 

daat99

Moderator
Staff member
Ravatar said:
I wish we still had the old faq forum, this would be a nice addition. Hopefully when people search for the terms in your thread name they'll get the help they need. Nice work!
I hope the F.A.Q. forum will be back too :(
I requested it several times in the past but I was told that adding it will require a lot of work and time that ryan doesn't have atm :(
I guess we'll have to wait a bit longer for it...
 

ICESHED

Wanderer
Yo i dont know how to change warriors

Yo i dont know how to change warriors.... Warriors= ITembased Dexxors and i hate dexxors i am a mage myself so i dont really bother changing that stuff...
 

Falafel

Wanderer
& one more question -

what kind of bonus can i give to warriors (fencer & macers) - that thay would be able to fight with 3\6 mages?
 

daat99

Moderator
Staff member
Falafel said:
& one more question -

what kind of bonus can i give to warriors (fencer & macers) - that thay would be able to fight with 3\6 mages?
Don't hijack a thread, it's extreamly rude.
Start your own thread and you'll find out that a lot more people will be willing to help you.
 
M

Matutin

Guest
where i can change the skill cap of eache skill to 120, and the stat cap of each stat(125 to 300)
 

Ryan_2005

Wanderer
Thank you so much my players hate using regs and now that i got Arrows and regs off thier even more happier THANKS!!!
 

Admin Mago

Wanderer
thx for the tutorial

Im trying to make a class script but i dont know how...
Im thinking in Warrior,Mage,Bard,Ranger,Thief and Crafter. The classes have a bonus.

Warrior = more physical damage resist, more heal with healing, more physical damage, etc
Bard = More money with begging, more power with bard skills, etc
Mage= More magic damage, more magic resist, etc
Crafter= Make itens better, etc
Thief= More effective poisoning, etc
Ranger= More damage with distance, etc


How can i make it?
 

coolguy335

Wanderer
This whole thing is a lie!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

ive tryed for 5 hours and nothing your just a bunch of non helping freeks
 

ICESHED

Wanderer
uhh..

coolguy335 said:
This whole thing is a lie!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

ive tryed for 5 hours and nothing your just a bunch of non helping freeks

On my shard that works and also read the rules before posting stuff...
HTML:
http://runuo.com/forums/showthread.php?t=62008
go there and you will see this
Be respectful of others. so please be respectful.
 

daat99

Moderator
Staff member
coolguy335 said:
This whole thing is a lie!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

ive tryed for 5 hours and nothing your just a bunch of non helping freeks
You didn't post what you tried so how can we help you???
We aren't mind readers just in case you don't know...
 
Top