Examples of Creature


Examples of games.stendhal.server.entity.creature.Creature

        // get the default EntityManager
        final EntityManager manager = SingletonRepository.getEntityManager();

        // Is the entity a creature
        if (manager.isCreature(clazz, type)) {
          final Creature creature = manager.getCreature(clazz, type);
          final CreatureRespawnPoint point = new CreatureRespawnPoint(this,
              x, y, creature, 1);
          add(point);
        } else {
          logger.error("Unknown Entity (class/type: " + clazz + ":"
View Full Code Here

Examples of games.stendhal.server.entity.creature.Creature

        }
      }

    });

    final Creature creature = new Creature(clazz, subclass, name, hp, atk, def,
        level, xp, width, height, speed, dropsItems, aiProfiles,
        creatureSays, respawn, description);
    creature.equip(equipsItems);
   
    creature.setCorpse(corpseName, corpseWidth, corpseHeight);
    creature.setSusceptibilities(susceptibilities);
    creature.setDamageType(damageType);
   
    return creature;
  }
View Full Code Here

Examples of games.stendhal.server.entity.creature.Creature

   *
   */
  private AttackableCreature pickSuitableCreature(final int playerlevel) {
    final EntityManager manager = SingletonRepository.getEntityManager();

    Creature pickedCreature = null;

    final Collection<Creature> creatures = manager.getCreatures();
      final List<Creature> possibleCreatures = new ArrayList<Creature>();
      for (final Creature creature : creatures) {
        if (creature.getLevel() <= LEVEL_FACTOR * playerlevel && creature.get("class").equals("undead")
View Full Code Here

Examples of games.stendhal.server.entity.creature.Creature

   */
  protected void respawn() {

    try {
      // clone the prototype creature
      final Creature newentity = prototypeCreature.getNewInstance();

      // A bit of randomization to make Joan and Snaketails a bit happier.
      // :)
      newentity.setAtk(Rand.randGaussian(newentity.getAtk(),
          newentity.getAtk() / 10));
      newentity.setDef(Rand.randGaussian(newentity.getDef(),
          newentity.getDef() / 10));
     
      newentity.registerObjectsForNotification(observers);
     
      if (StendhalRPAction.placeat(zone, newentity, x, y)) {
        newentity.init();
        newentity.setRespawnPoint(this);

        creatures.add(newentity);
      } else {
        // Could not place the creature anywhere.
        // Treat it like it just had died.
        notifyDead(newentity);
        logger.warn("Could not respawn " + newentity.getName() + " near "
            + zone.getName() + " " + x + " " + y);
      }
    } catch (final Exception e) {
      logger.error("error respawning entity " + prototypeCreature, e);
    }
View Full Code Here

Examples of games.stendhal.server.entity.creature.Creature

    item.setImplementation(Item.class);
    item.setWeight(1);
    item.setEquipableSlots(slots);
    manager.addItem(item);   
   
    final Creature creature = new ItemGuardCreature(manager.getCreature("rat"), "golden key");
    final CreatureRespawnPoint point = new CreatureRespawnPoint(zone, 40, 5, creature, 1);
    zone.add(point);
  }
View Full Code Here

Examples of games.stendhal.server.entity.creature.Creature

    final CreatureRespawnPoint point = new CreatureRespawnPoint(zone, 40, 5, creature, 1);
    zone.add(point);
  }

  private void attackableAnimal(final StendhalRPZone zone, final Map<String, String> attributes) {
    Creature creature = new AttackableCreature(manager.getCreature("orc"));
    CreatureRespawnPoint point = new CreatureRespawnPoint(zone, 4, 56, creature, 1);
    point.setRespawnTime(60 * 60 * 3);
    zone.add(point);

    creature = manager.getCreature("deer");
View Full Code Here

Examples of games.stendhal.server.entity.creature.Creature

    int count = 0;
    // max ALLOWED_FAILS fails to place all creatures before we give up
    while (numCreatures < NUMBER_OF_CREATURES && count < ALLOWED_FAILS) {
      int level = Rand.randUniform((int) (player.getLevel() * LEVEL_RATIO), player.getLevel());
      CreatureSpawner creatureSpawner = new CreatureSpawner();
      Creature creature = new Creature(creatureSpawner.calculateNextCreature(level));
        if (StendhalRPAction.placeat(this, creature, Rand.randUniform(MIN_X, MAX_X), Rand.randUniform(MIN_Y, MAX_Y))) {
          numCreatures++;
        } else {
          logger.info(" could not add a creature to adventure island: " + creature);
          count++;
View Full Code Here

Examples of games.stendhal.server.entity.creature.Creature

  public void testPickIdealCreatureratLONGLIST() {
    //final DailyMonsterQuest dmqp = new DailyMonsterQuest();
    final DailyMonsterQuest.DailyQuestAction dmqpick = new DailyQuestAction();
    CreatureTestHelper.generateRPClasses();
    final LinkedList<Creature> creatureList = new LinkedList<Creature>();
    Creature creat;
    for (int i = 0; i < 3; i++) {
      creat = new Creature();
      creat.setLevel(i);
      creatureList.add(creat);
    }

    for (int i = 10; i < 50; i++) {
      creat = new Creature();
      creat.setLevel(i);
      creatureList.add(creat);
    }
    for (int i = 10; i < 20; i++) {
      creat = new Creature();
      creat.setLevel(i);
      creatureList.add(creat);
    }

   
    for (int i = 80; i < 100; i++) {
      creat = new Creature();
      creat.setLevel(i);
      creatureList.add(creat);
    }
    Collections.sort(creatureList, new LevelBasedComparator());
    for (int level = 0; level < 120; level++) {
      assertThat("1 rat in list", dmqpick.pickIdealCreature(level, false, creatureList).getLevel(),
View Full Code Here

Examples of games.stendhal.server.entity.creature.Creature

      }
      if (creature.getLevel() > HIGHEST_LEVEL) {
        continue;
      }

      final Creature target = creature.getCreature();
      final Optimizer optimizer = new Optimizer(target);
     
      player.setLevel(level);
      player.setBaseHP(100 + 10 * level);
      player.setAtk(atkLevels[level]);
      player.setDef(defLevels[level]);

      equip(player, level);

      System.out.println("Player(" + level + ") vs "
          + creature.getCreatureName());

      durationThreshold = DEFAULT_DURATION_THRESHOLD;
     
      boolean balanced = false;
      int tries = 0;
      while (!balanced) {
        final Pair<Integer, Integer> results = combat(player, target,
            ROUNDS);
        final int meanTurns = results.first();
        final int meanLeftHP = results.second();

        final int proposedXPValue = (int) ((2 * creature.getLevel() + 1) * (meanTurns / 2.0));
        creature.setLevel(creature.getLevel(), proposedXPValue);
       
        System.out.println("Target ATK: "
            + target.getAtk()
              + "/DEF: "
              + target.getDef()
              + "/HP: "
              + target.getBaseHP()
              + "\t Turns: "
              + meanTurns
              + "\tLeft HP:"
              + meanLeftHP);
         
        if (isCorrectResult(level, meanTurns, meanLeftHP / (double) player.getBaseHP())) {
          balanced = true;
        } else {   
          optimizer.step(meanLeftHP, meanTurns);

          System.out.println("New ATK: " + target.getAtk()
              + "/DEF: " + target.getDef() + "/HP: "
              + target.getBaseHP());
        }
       
        // relax convergence criteria for pathological cases
        tries++;
        if (tries % 200 == 0) {
          durationThreshold *= 1.1;
          System.out.println(target.getName() + ": changed threshold to " + durationThreshold);
        }
      }

      boolean changed = false;

      if (creature.getAtk() != target.getAtk()) {
        changed = true;
      }

      if (creature.getDef() != target.getDef()) {
        changed = true;
      }

      if (creature.getHP() != target.getBaseHP()) {
        changed = true;
      }

      System.out.print("BALANCED: ");
      final StringBuilder stringBuilder = new StringBuilder();
      stringBuilder.append(creature.getCreatureName());
      stringBuilder.append("(");
      stringBuilder.append(creature.getLevel());
      stringBuilder.append(")\t");
      if (changed) {
        stringBuilder.append("*\t");
      } else {
        stringBuilder.append(" \t");
      }
      stringBuilder.append("ATK: ");
      stringBuilder.append(target.getAtk());
      stringBuilder.append("\t\tDEF: ");
      stringBuilder.append(target.getDef());
      stringBuilder.append("\t\tHP: ");
      stringBuilder.append(target.getBaseHP());
      stringBuilder.append("\t\tXP: ");
      stringBuilder.append(creature.getXP());
      System.out.println(stringBuilder.toString());
    }
  }
View Full Code Here

Examples of games.stendhal.server.entity.creature.Creature

        player.sendPrivateText("/altercreature <id> name;atk;def;hp;xp - Use a - as a placeholder to keep default value.");
        return;
      }


      final Creature creature = (Creature) changed;
      new GameEvent(player.getName(), "alter", action.get(TARGET), stat).raise();

      final int newatk = MathHelper.parseIntDefault(parts[1], creature.getAtk());
      final int newdef = MathHelper.parseIntDefault(parts[2], creature.getDef());
      final int newHP = MathHelper.parseIntDefault(parts[3], creature.getBaseHP());
      final int newXP = MathHelper.parseIntDefault(parts[4], creature.getXP());

      if(!"-".equals(parts[0])) {
        creature.setName(parts[0]);
      }
      creature.setAtk(newatk);
      creature.setDef(newdef);
      creature.initHP(newHP);
      creature.setXP(newXP);

      creature.update();
      creature.notifyWorldAboutChanges();


    }
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.