Custom mob creating software?

ParanoiaPhD

Well-Known Member
May 2, 2019
143
15
32
California
www.iceyou.org
Shard Name
Central USA
I was hoping someone could help me find a custom mob creation program. It would be very awesome to be able to type in what I want it to be like like all the skills stats ect plue some other stuff like hue special attacks ect. It would also be cool to be able to create custom attacks with it.
 

Archaaz

Well-Known Member
Sep 17, 2016
178
28
I do not know of anything like that, but it does sound interesting. I started out fumbling my way through and just did them all by adding code for special attacks to each mob script individually. Terribly messy, clumsy and inefficient. I still fumble my way through, but I know a little more than I did.

If I had it to do over on a new server, and I may try to tackle this at some point on my own muddled shard, I would either create custom scripts as children of BaseCreature for each type of mob (BaseUndead, BaseDaemon, etc) and add special features common to those types, and variables that could be set for each individual mob based on that script, or I would add an enum to BaseCreature with each mob type. This could be set to the type of mob in each creature script for easy reference. I have actually added this to BaseCreature, but have not done anything with it. I would also add any special attacks, related variables and methods to BaseCreature so they could be easily set (such as with the many variables and methods for Breath ability) and referenced.
Post automatically merged:
 

Anon the Felon

Well-Known Member
Jun 24, 2016
166
39
34
You can just add stuff like that to BaseCreature, and check again either type, bodyvalue, or slayertype even.
 
  • Like
Reactions: Archaaz

billy

Well-Known Member
May 22, 2014
46
9
30
Concord, New Hampshire
Shard Name
darklights
use this for example


C#:
#region ScreamOfHell
        public static void ScreamOfHell(Mobile from)
        {
            ScreamOfHell(from, 12, TimeSpan.FromMinutes(1));
        }
        public static void ScreamOfHell(Mobile from, int range)
        {
            ScreamOfHell(from, range, TimeSpan.FromMinutes(1));
        }
        public static void ScreamOfHell(Mobile from, int range, TimeSpan duration)
        {
            if (from.Map != Map.Internal && from.Map != null && from != null && !from.Blessed && from.Alive)
            {
                IPooledEnumerable eable = from.GetMobilesInRange(range);
                
                foreach (Mobile m in eable)
                {
                    if (m is BaseCreature && !m.Blessed && m.Alive && ((BaseCreature)from).IsEnemy(m) && from.CanBeHarmful(m))
                    {
                        BaseCreature b = m as BaseCreature;

                        if (b.Controlled && b != from)
                        {
                            b.Combatant = from;
                            b.BeginFlee(duration);
                        }
                    }
                }
            }
        }