public static BaseCreature create(ActorType actorType, Point2 position) { BaseEnemy result; if (actorType.is(Sps.Actors.Player)) { result = new Player(activePlayers++); } else { result = generateCreature(actorType); } result.setup(position); EntityManager.get().addEntity(result); if (AigilasConfig.get().debugInventory) { for (int ii = 0; ii < 1000; ii++) { result.pickupItem(ItemFactory.createRandomPlain()); } } return result; }
public static BaseCreature createMinion( SkillId skillId, BaseCreature source, SkillEffect effectGraphic, Point2 location) { Minion result = null; switch (skillId) { case Acid_Nozzle: result = new AcidNozzle(); break; case Dart_Trap: result = new DartTrap(); break; case Explode: result = new Explosion(); break; case Ice_Shard: result = new IceShard(); break; case Vapor_Cloud: result = new VaporCloud(); break; case Plague: result = new PoisonCloud(); break; default: try { throw new Exception("No minion was defined for the given skillId."); } catch (Exception e) { e.printStackTrace(); } } result.init(source, effectGraphic); if (location != null) { result.setLocation(location); } EntityManager.get().addEntity(result); return result; }