public override bool OnBeforeDeath() { if (Map != null && Combatant != null) { Map map = Map; if (map == null) return false; for (int k = 0; k < 3; ++k) { BaseCreature spawn = new GreaterSlime(); spawn.Team = Team; bool validLocation = false; Point3D loc = Location; for (int j = 0; !validLocation && j < 10; ++j) { int x = X + Utility.Random(3) - 1; int y = Y + Utility.Random(3) - 1; int z = map.GetAverageZ(x, y); if (validLocation = map.CanFit(x, y, Z, 16, false, false)) loc = new Point3D(x, y, Z); else if (validLocation = map.CanFit(x, y, z, 16, false, false)) loc = new Point3D(x, y, z); } PlaySound(Utility.RandomMinMax(457, 459)); spawn.MoveToWorld(loc, map); spawn.Combatant = Combatant; } } Delete(); return base.OnBeforeDeath(); }
public override bool OnBeforeDeath() { if (Map != null && Combatant != null) { Map map = Map; if (map == null) { return(false); } for (int k = 0; k < 3; ++k) { BaseCreature spawn = new GreaterSlime(); spawn.Team = Team; bool validLocation = false; Point3D loc = Location; for (int j = 0; !validLocation && j < 10; ++j) { int x = X + Utility.Random(3) - 1; int y = Y + Utility.Random(3) - 1; int z = map.GetAverageZ(x, y); if (validLocation = map.CanFit(x, y, Z, 16, false, false)) { loc = new Point3D(x, y, Z); } else if (validLocation = map.CanFit(x, y, z, 16, false, false)) { loc = new Point3D(x, y, z); } } PlaySound(Utility.RandomMinMax(457, 459)); spawn.MoveToWorld(loc, map); spawn.Combatant = Combatant; } } Delete(); return(base.OnBeforeDeath()); }