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
Simply change it to what ever you want. Ex: change that ^^^ to this:
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:
If You want to change the cap simply change it. Ex
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:
And change it to:
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:
And change it to:
Now to make it so that you don't even have to use arrows find this line:
Change that to:
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:
Then change that to look like this:
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:
And simply change it to what you want to what you want the LMC cap to be EX for 50 LMC Cap:
Thank You If You Have Any Questions Please Post Them In This Thread.
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;
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; } }
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; } }
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;
}
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;
}
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 );
}
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 );
}*/
Code:
if ( attacker.Player && (pack == null || !pack.ConsumeTotal( AmmoType, 1 )) )
return false;
Code:
if ( attacker.Player && (pack == null || !pack.ConsumeTotal( AmmoType, 1 )) )
return true;
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;
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;
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;
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.