Package games.stendhal.server.core.rp.achievement.factory

Source Code of games.stendhal.server.core.rp.achievement.factory.FightingAchievementFactory

/* $Id: FightingAchievementFactory.java,v 1.6 2011/04/09 12:47:23 nhnb Exp $ */
/***************************************************************************
*                   (C) Copyright 2003-2010 - Stendhal                    *
***************************************************************************
***************************************************************************
*                                                                         *
*   This program is free software; you can redistribute it and/or modify  *
*   it under the terms of the GNU General Public License as published by  *
*   the Free Software Foundation; either version 2 of the License, or     *
*   (at your option) any later version.                                   *
*                                                                         *
***************************************************************************/
package games.stendhal.server.core.rp.achievement.factory;

import games.stendhal.server.core.rp.achievement.Achievement;
import games.stendhal.server.core.rp.achievement.Category;
import games.stendhal.server.entity.npc.condition.AndCondition;
import games.stendhal.server.entity.npc.condition.PlayerHasKilledNumberOfCreaturesCondition;

import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
/**
* Factory for fighting achievements
*
* @author madmetzger
*/
public class FightingAchievementFactory extends AbstractAchievementFactory {

  @Override
  public Collection<Achievement> createAchievements() {
    List<Achievement> fightingAchievements = new LinkedList<Achievement>();
    fightingAchievements.add(createAchievement("fight.general.rats", "Rat Hunter", "Kill 15 rats", Achievement.EASY_BASE_SCORE, true,
                          new PlayerHasKilledNumberOfCreaturesCondition("rat", 15)));
    fightingAchievements.add(createAchievement("fight.general.exterminator", "Exterminator", "Kill 10 rats of each kind", Achievement.MEDIUM_BASE_SCORE, true,
                          new PlayerHasKilledNumberOfCreaturesCondition(10, "rat", "caverat", "razorrat", "venomrat", "zombie rat", "giantrat", "ratman", "ratwoman", "archrat")));
    fightingAchievements.add(createAchievement("fight.general.deer", "Deer Hunter", "Kill 25 deer", Achievement.EASY_BASE_SCORE, true,
                          new PlayerHasKilledNumberOfCreaturesCondition("deer", 25)));
    fightingAchievements.add(createAchievement("fight.general.boars", "Boar Hunter", "Kill 20 boar", Achievement.EASY_BASE_SCORE, true,
                          new PlayerHasKilledNumberOfCreaturesCondition("boar", 20)));
    fightingAchievements.add(createAchievement("fight.general.bears", "Bear Hunter", "Kill 10 black bears, 10 bears and 10 babybears", Achievement.EASY_BASE_SCORE, true,
                          new PlayerHasKilledNumberOfCreaturesCondition(10, "bear", "black bear", "babybear")));
    fightingAchievements.add(createAchievement("fight.general.foxes", "Fox Hunter", "Kill 20 foxes", Achievement.EASY_BASE_SCORE, true,
                          new PlayerHasKilledNumberOfCreaturesCondition("fox", 20)));
    fightingAchievements.add(createAchievement("fight.general.safari", "Safari", "Kill 30 tigers, 30 lions and 50 elephants", Achievement.EASY_BASE_SCORE, true,
                          new AndCondition(
                              new PlayerHasKilledNumberOfCreaturesCondition("tiger", 30),
                              new PlayerHasKilledNumberOfCreaturesCondition("lion", 30),
                              new PlayerHasKilledNumberOfCreaturesCondition("elephant", 50)
                              )));
    fightingAchievements.add(createAchievement("fight.general.ents", "Wood Cutter", "Kill 10 ents, 10 entwifes and 10 old ents", Achievement.MEDIUM_BASE_SCORE, true,
                          new PlayerHasKilledNumberOfCreaturesCondition(10, "ent", "entwife", "old ent")));
    fightingAchievements.add(createAchievement("fight.special.rare", "Poacher", "Kill any rare creature", Achievement.HARD_BASE_SCORE, true,
        new KilledRareCreatureCondition()));

    fightingAchievements.add(createAchievement("fight.special.all", "Legend", "Kill all creatures solo", Achievement.HARD_BASE_SCORE, true,
        new KilledSoloAllCreaturesCondition()));
    fightingAchievements.add(createAchievement("fight.special.allshared", "Team Player", "Kill all creatures in a team", Achievement.HARD_BASE_SCORE, false,
        new KilledSharedAllCreaturesCondition()));
    return fightingAchievements;
  }

  @Override
  protected Category getCategory() {
    return Category.FIGHTING;
  }

}
TOP

Related Classes of games.stendhal.server.core.rp.achievement.factory.FightingAchievementFactory

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.