Hello guys!
Found mob creature system,and looks works correctly,i get creatures get random level between 1-5 on spawn,but stats are not ok,just normal stats on a level bear.
Here the core code:
Any ideas? Thanks in advance!!!
Found mob creature system,and looks works correctly,i get creatures get random level between 1-5 on spawn,but stats are not ok,just normal stats on a level bear.
Here the core code:
Code:
using Server;
using System;
using Server.Mobiles;
using Server.Items;
namespace Koryn.IlevelCreature
{
public abstract class ILevel : BaseCreature
{
private int m_Level; // Level
[CommandProperty(AccessLevel.GameMaster)]
public int Level
{
get { return Utility.RandomMinMax(1, 5); }
set { m_Level = value; InvalidateProperties(); }
}
public ILevel( AIType aiType, FightMode fightMode, int rangePerception, int rangeFight, double activeSpeed, double passiveSpeed ) : base ( aiType, fightMode, rangePerception, rangeFight, activeSpeed, passiveSpeed )
{
}
public ILevel(Serial serial)
: base(serial)
{
}
public override void GetProperties(ObjectPropertyList list)
{
base.GetProperties(list);
list.Add("Level {0} ",Level);
}
public static void addstats(Mobile mo_killer,int mo_level)
{
BaseCreature on = (BaseCreature)mo_killer;
int Level = mo_level;
int tamskill = Convert.ToInt32(on.MinTameSkill);
if (Level == 1)
{
on.Title = "[Level 1]";
on.RawStr += 100;
on.RawDex += 100;
on.RawInt += 100;
on.VirtualArmor += 5;
if (on.Tamable && tamskill < 100)
{
on.MinTameSkill += 5;
}
}
if (Level == 2)
{
on.Title = "[Level 2]";
on.RawStr += 200;
on.RawDex += 100;
on.RawInt += 100;
on.VirtualArmor += 10;
if (on.Tamable && tamskill < 100)
{
on.MinTameSkill += 7;
}
}
if (Level == 3)
{
on.Title = "[Level 3]";
on.RawStr += 300;
on.RawDex += 100;
on.RawInt += 100;
on.VirtualArmor += 20;
if (on.Tamable && tamskill < 100)
{
on.MinTameSkill += 10;
}
}
if (Level == 4)
{
on.Title = "[Level 4]";
on.RawStr += 400;
on.RawDex += 100;
on.RawInt += 100;
on.VirtualArmor += 30;
if (on.Tamable && tamskill < 100)
{
on.MinTameSkill += 15;
}
}
if (Level == 5)
{
on.Title = "[Level 5]";
on.RawStr += 500;
on.RawDex += 100;
on.RawInt += 100;
on.VirtualArmor += 40;
if (on.Tamable && tamskill < 100)
{
on.MinTameSkill += 20;
}
}
else
{
on.Tamable = false;
}
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
// version
writer.Write((int)0);
writer.Write((int)m_Level);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
switch (version)
{
case 0:
m_Level = reader.ReadInt();
break;
}
}
}
}
Any ideas? Thanks in advance!!!