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;
  }