Can someone double check my work
I have tried creating a few mobiles. They seem to be correct for the most part, but I am unsure on a few things.
[code:1]
using System;
using Server;
using Server.Mobiles;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName( "an ogre lord corpse" )]
public class OgreLord : BaseCreature
{
[Constructable]
public OgreLord() : base( AIType.AI_Meelee, AIType.AI_Meelee, 10, 1, 1, 0.4, 2 )
{
this.Body = 0x1;
this.Name = "an ogre lord";
this.BaseSoundID = 0x1AB;
this.InitStats( Utility.Random( 867, 61 ), Utility.Random( 69, 8 ), Utility.Random( 58, 10 ) );
this.Skills[SkillName.Macing].Base = Utility.Random( 94, 3 );
this.Skills[SkillName.Tactics].Base = Utility.Random( 94, 5 );
this.Skills[SkillName.MagicResist].Base = Utility.Random( 133, 8 );
this.VirtualArmor = 50;
this.Fame = Utility.Random( 10000, 5000 );
this.Karma = -Utility.Random( 10000, 5000 );
Container pack = new Backpack();
pack.Movable = false;
pack.DropItem( new Gold( 600, 800 ) );
pack.DropItem( new Ruby() );
pack.DropItem( new Ruby() );
this.AddItem( pack );
this.AddItem( new Club() );
}
public OgreLord( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
}
[/code:1]
Here are my assumptions:
[code:1]this.InitStats( Utility.Random( 867, 61 ), Utility.Random( 69, 8 ), Utility.Random( 58, 10 ) ); [/code:1]
will give it a base of 867 Str with a random range of +/- 61, a base dex of 69 with a range of +/- 8, and a base int of 58 with a +/- 10. Or is it an 867 str with a random addition of 0-61 str? My tests have concluded that at least one of these two scenarios is correct.
[code:1]
this.Skills[SkillName.Macing].Base = Utility.Random( 94, 3 );
[/code:1]
Will this give him a base of 94 macing skill within a range of 3? I am really lost on this as I cannot figure out the skills of others.
[code:1]this.Fame = Utility.Random( 10000, 5000 );
this.Karma = -Utility.Random( 10000, 5000 ); [/code:1]
This gives me the same question as stat scores. I know this sets it at a 10,000 point base, but is it with a +/- 5,000 or is it a random +0 through 5,000
[code:1]
pack.DropItem( new Gold( 600, 800 ) );
[/code:1]
And this gives an amount of gold between 600 and 800, correct?
I have tried creating a few mobiles. They seem to be correct for the most part, but I am unsure on a few things.
[code:1]
using System;
using Server;
using Server.Mobiles;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName( "an ogre lord corpse" )]
public class OgreLord : BaseCreature
{
[Constructable]
public OgreLord() : base( AIType.AI_Meelee, AIType.AI_Meelee, 10, 1, 1, 0.4, 2 )
{
this.Body = 0x1;
this.Name = "an ogre lord";
this.BaseSoundID = 0x1AB;
this.InitStats( Utility.Random( 867, 61 ), Utility.Random( 69, 8 ), Utility.Random( 58, 10 ) );
this.Skills[SkillName.Macing].Base = Utility.Random( 94, 3 );
this.Skills[SkillName.Tactics].Base = Utility.Random( 94, 5 );
this.Skills[SkillName.MagicResist].Base = Utility.Random( 133, 8 );
this.VirtualArmor = 50;
this.Fame = Utility.Random( 10000, 5000 );
this.Karma = -Utility.Random( 10000, 5000 );
Container pack = new Backpack();
pack.Movable = false;
pack.DropItem( new Gold( 600, 800 ) );
pack.DropItem( new Ruby() );
pack.DropItem( new Ruby() );
this.AddItem( pack );
this.AddItem( new Club() );
}
public OgreLord( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
}
[/code:1]
Here are my assumptions:
[code:1]this.InitStats( Utility.Random( 867, 61 ), Utility.Random( 69, 8 ), Utility.Random( 58, 10 ) ); [/code:1]
will give it a base of 867 Str with a random range of +/- 61, a base dex of 69 with a range of +/- 8, and a base int of 58 with a +/- 10. Or is it an 867 str with a random addition of 0-61 str? My tests have concluded that at least one of these two scenarios is correct.
[code:1]
this.Skills[SkillName.Macing].Base = Utility.Random( 94, 3 );
[/code:1]
Will this give him a base of 94 macing skill within a range of 3? I am really lost on this as I cannot figure out the skills of others.
[code:1]this.Fame = Utility.Random( 10000, 5000 );
this.Karma = -Utility.Random( 10000, 5000 ); [/code:1]
This gives me the same question as stat scores. I know this sets it at a 10,000 point base, but is it with a +/- 5,000 or is it a random +0 through 5,000
[code:1]
pack.DropItem( new Gold( 600, 800 ) );
[/code:1]
And this gives an amount of gold between 600 and 800, correct?