public void SpawnOrcLord(Mobile target) { Map map = target.Map; if (map == null) { return; } int orcs = 0; foreach (Mobile m in this.GetMobilesInRange(10)) { if (m is OrcishLord) { ++orcs; } } if (orcs < 10) { BaseCreature orc = new OrcishLord(); orc.Team = this.Team; Point3D loc = target.Location; bool validLocation = false; for (int j = 0; !validLocation && j < 10; ++j) { int x = target.X + Utility.Random(3) - 1; int y = target.Y + Utility.Random(3) - 1; int z = map.GetAverageZ(x, y); if (validLocation = map.CanFit(x, y, this.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); } } orc.MoveToWorld(loc, map); orc.Combatant = target; } }
private void AddOrcLord(OrcishLord orcLord) { if (m_orcLordList == null) m_orcLordList = new ArrayList(); m_orcLordList.Add(orcLord); }
public virtual void SpawnEnemies( RVS Handeling, String RegionName, int amount) { int numberOfEnemies = amount; int kindOfEnemy = 0; int randomEnemy = 0; Mobile Enemy = null; //Mobile Enemy = new Sheep(); int randomValueX = 0; int randomValueY = 0; int negative = 0; Point3D spawn; Map spawnmap; if ( RegionName == "Sheep" ) { spawn = SheepSpawnPoint; spawnmap = SheepSpawnMap; kindOfEnemy = 0; } else if ( RegionName == "Rabbit" ) { spawn = RabbitSpawnPoint; spawnmap = RabbitSpawnMap; kindOfEnemy = 1; } else { spawn = SheepSpawnPoint; spawnmap = SheepSpawnMap; kindOfEnemy = 0; } for ( int i = 0; i < numberOfEnemies; i++ ) { //kindOfEnemy = Utility.Random( 5 ); randomValueX = Utility.Random( 11 ); negative = Utility.Random( 2 ); if ( negative > 0 ) randomValueX *= -1; negative = Utility.Random( 2 ); randomValueY = Utility.Random( 11 ); if ( negative > 0 ) randomValueY *= -1; if ( Handeling.RvS ) { switch ( kindOfEnemy ) { case 0: { Enemy = new Sheep(); break; } case 1: { Enemy = new Rabbit(); break; } } } else if ( Handeling.Orcs ) { kindOfEnemy = 0; randomEnemy = Utility.Random( 100 ); if ( randomEnemy <= 20 ) kindOfEnemy++; if ( randomEnemy <= 10 ) kindOfEnemy++; if ( randomEnemy <= 5 ) kindOfEnemy++; switch ( kindOfEnemy ) { case 0: { Enemy = new Orc(); break; } case 1: { Enemy = new OrcishLord(); break; } case 2: { Enemy = new Ettin(); break; } case 3: { Enemy = new OrcishMage(); break; } } } else if ( Handeling.Lizardmen ) { kindOfEnemy = 0; randomEnemy = Utility.Random( 100 ); if ( randomEnemy <= 20 ) kindOfEnemy++; if ( randomEnemy <= 10 ) kindOfEnemy++; if ( randomEnemy <= 5 ) kindOfEnemy++; switch ( kindOfEnemy ) { case 0: { Enemy = new Snake(); break; } case 1: { Enemy = new GiantSerpent(); break; } case 2: { Enemy = new Lizardman(); break; } case 3: { Enemy = new Drake(); break; } } } else if ( Handeling.Ratmen ) { kindOfEnemy = 0; randomEnemy = Utility.Random( 100 ); if ( randomEnemy <= 20 ) kindOfEnemy++; if ( randomEnemy <= 15 ) kindOfEnemy++; if ( randomEnemy <= 10 ) kindOfEnemy++; if ( randomEnemy <= 5 ) kindOfEnemy++; switch ( kindOfEnemy ) { case 0: { Enemy = new Sewerrat(); break; } case 1: { Enemy = new GiantRat(); break; } case 2: { Enemy = new Ratman(); break; } case 3: { Enemy = new RatmanMage(); break; } case 4: { Enemy = new RatmanArcher(); break; } } } else if ( Handeling.Undead ) { kindOfEnemy = 0; randomEnemy = Utility.Random( 100 ); if ( randomEnemy <= 50 ) kindOfEnemy++; if ( randomEnemy <= 40 ) kindOfEnemy++; if ( randomEnemy <= 30 ) kindOfEnemy++; if ( randomEnemy <= 20 ) kindOfEnemy++; if ( randomEnemy <= 10 ) kindOfEnemy++; if ( randomEnemy <= 5 ) kindOfEnemy++; switch ( kindOfEnemy ) { case 0: { Enemy = new Skeleton(); break; } case 1: { Enemy = new Zombie(); break; } case 2: { Enemy = new RestlessSoul(); break; } case 3: { Enemy = new SkeletalMage(); break; } case 4: { Enemy = new SkeletalKnight(); break; } case 5: { Enemy = new Mummy(); break; } case 6: { Enemy = new Lich(); break; } } } Enemy.Map = spawnmap; Enemy.Location = new Point3D((spawn.X + randomValueX), (spawn.Y + randomValueY), (spawn.Z)); Enemies.Add(Enemy); } }
public void SpawnOrcs(Mobile target) { Map map = this.Map; if (map == null) { return; } int orcs = 0; foreach (Mobile m in this.GetMobilesInRange(10)) { if (m is OrcCaptain || m is OrcBomber || m is OrcishLord) { ++orcs; } } if (orcs < 16) { PlaySound(0x3D); int newOrcs = Utility.RandomMinMax(3, 6); for (int i = 0; i < newOrcs; ++i) { BaseCreature orc; switch (Utility.Random(5)) { default: case 0: case 1: orc = new OrcishLord(); break; case 2: case 3: orc = new OrcBomber(); break; case 4: orc = new OrcCaptain(); break; } orc.Team = this.Team; bool validLocation = false; Point3D loc = this.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, this.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); } } orc.MoveToWorld(loc, map); orc.Combatant = target; } } }
public void SpawnOrcs( Mobile target ) { Map map = this.Map; if ( map == null ) return; int orcs = 0; foreach ( Mobile m in this.GetMobilesInRange( 10 ) ) { if (m is OrcCaptain || m is OrcBomber || m is OrcishLord) ++orcs; } if ( orcs < 16 ) { PlaySound( 0x3D ); int newOrcs = Utility.RandomMinMax( 3, 6 ); for ( int i = 0; i < newOrcs; ++i ) { BaseCreature orc; switch ( Utility.Random( 5 ) ) { default: case 0:case 1: orc = new OrcishLord(); break; case 2: case 3: orc = new OrcBomber(); break; case 4: orc = new OrcCaptain(); break; } orc.Team = this.Team; bool validLocation = false; Point3D loc = this.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, this.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 ); } orc.MoveToWorld( loc, map ); orc.Combatant = target; } } }
public void SpawnOrcLord( Mobile target ) { Map map = target.Map; if ( map == null ) return; int orcs = 0; foreach ( Mobile m in this.GetMobilesInRange( 10 ) ) { if ( m is OrcishLord ) ++orcs; } if ( orcs < 10 ) { BaseCreature orc = new OrcishLord(); orc.Team = this.Team; Point3D loc = target.Location; bool validLocation = false; for ( int j = 0; !validLocation && j < 10; ++j ) { int x = target.X + Utility.Random( 3 ) - 1; int y = target.Y + Utility.Random( 3 ) - 1; int z = map.GetAverageZ( x, y ); if ( validLocation = map.CanFit( x, y, this.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 ); } orc.MoveToWorld( loc, map ); orc.Combatant = target; } }