
C # Mir C#传奇源码增加一个怪物的方法(Legend source code to increase monsters)
1,在数库中设置外观即image
2,设置AI(行为方式)
3,在Shared中的Eunms.cs中的
- public enum Monster : ushort
- {
- //添加
- Butcher = 450,
- Riklebites = 451,
- FeralTundraFurbolg = 452,
- FeralFlameFurbolg = 453,
- ArcaneTotem = 454,
- SpectralWraith = 455,
- BabyMagmaDragon = 456,
- BloodLord = 457,
- SerpentLord = 458,
- MirEmperor = 459,
- MutantManEatingPlant = 460,
- MutantWarg = 461,
- GrassElemental = 462,
- RockElemental = 463,
- 变态射手 = 465, //AI 8
- 4,在Client.MirObiects.MonsterObject中
- case MirAction.AttackRange1:
- if (CMain.Time >= NextMotion)
- ……………….
- else
- ……
- Case1
- Case2
- ….
- Case4
- …
- 找合适的地方添加可以改变攻击方式
- case Monster.AxeSkeleton:
- if (MapControl.GetObject(TargetID) != null)
- CreateProjectile(224, Libraries.Monsters[(ushort)Monster.AxeSkeleton], false, 3, 30, 0);
- break;
- case Monster.Dark:
- if (MapControl.GetObject(TargetID) != null)
- CreateProjectile(224, Libraries.Monsters[(ushort)Monster.Dark], false, 3, 30, 0);
- break;
- case Monster.变态射手:
- //创建一个名为”Monster.BoneArcher”的怪物攻击投射物,并播放了相应的音效。根据代码中的注释,
- //攻击的范围似乎是30个像素,但具体距离还需要结合游戏引擎和实际场景进行确认。
- //攻击范围?
- if (MapControl.GetObject(TargetID) != null)
- {
- CreateProjectile(224, Libraries.Monsters[(ushort)Monster.ZumaArcher], false, 1, 5, 0);
- SoundManager.PlaySound(BaseSound + 6);
- }
- break;