Class TutorialIsland

java.lang.Object
games.stendhal.server.maps.quests.AbstractQuest
games.stendhal.server.maps.quests.TutorialIsland
All Implemented Interfaces:
IQuest

public class TutorialIsland extends AbstractQuest
Creates a sandboxed map for new players to progress through a tutorial scenario. Player will be teleported to island on login automatically if this quest has not been completed. TODO: - create JUnit test - finish NPC interaction step - teach about buying/selling - teach about questing - teach about producing - create item usage tutorial step - teach about using healing items - teach about using scrolls - teach about using tools - teach about equipping items - create combat tutorial step - teach about stats - teach about weapon rate - teach about targeting - teach about ranged attacks - teach about element susceptibilities - teach about status effects & status resistant items - create tool usage tutorial step - teach about fishing - teach about mining - teach about harvesting - create pets tutorial step - create chat commands tutorial step - create achievement for finishing tutorial - create admin script to reset/restart tutorial - rewared karma for completing tutorial - check if player is new & make sure all equipment & items are removed - can detect if player is new by checking visited zones - make sure new players are teleported directly to tutorial island & not to int_semos_guard_house or int_semos_town_hall - give new players weapon & armor after tutorial is complete - make sure any items given to player during tutorial have infostring and are removed from player & ground when tutorial is finished - handle player dieing in tutorial zone - make visible in travel log
  • Constructor Details

    • TutorialIsland

      public TutorialIsland()
  • Method Details

    • addToWorld

      public void addToWorld()
      Description copied from interface: IQuest
      adds the quest to the game world (e.g. by placing SpeakerNPCs there)
      Specified by:
      addToWorld in interface IQuest
      Specified by:
      addToWorld in class AbstractQuest
    • getHistory

      public List<String> getHistory(Player player)
      Description copied from interface: IQuest
      Gets a the quest history for the given player, written in the first person.
      Parameters:
      player - Player
      Returns:
      list of history item-names
    • isVisibleOnQuestStatus

      public boolean isVisibleOnQuestStatus()
      Description copied from interface: IQuest
      Determines whether the quest should be shown in the Quest Status/Progress log
      Specified by:
      isVisibleOnQuestStatus in interface IQuest
      Overrides:
      isVisibleOnQuestStatus in class AbstractQuest
      Returns:
      true, if the quest is visible, false otherwise
    • getSlotName

      public String getSlotName()
      Description copied from class: AbstractQuest
      The slot-name in !quests.
      Specified by:
      getSlotName in interface IQuest
      Specified by:
      getSlotName in class AbstractQuest
      Returns:
      the slot's name
    • getName

      public String getName()
      Description copied from interface: IQuest
      Returns the name of the quest.
      Specified by:
      getName in interface IQuest
      Specified by:
      getName in class AbstractQuest
      Returns:
      name
    • getNPCName

      public String getNPCName()
      Description copied from class: AbstractQuest
      Returns the starter NPC for the quest, or null if there is none
      Specified by:
      getNPCName in interface IQuest
      Overrides:
      getNPCName in class AbstractQuest
      Returns:
      NPC name, or null for quests with no starter NPC
    • startTutorialForPlayer

      public void startTutorialForPlayer(Player player)
    • dismantleIsland

      public void dismantleIsland(Player player)