Class TutorialIsland
java.lang.Object
games.stendhal.server.maps.quests.AbstractQuest
games.stendhal.server.maps.quests.TutorialIsland
- All Implemented Interfaces:
IQuest
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
-
Field Summary
Fields inherited from class games.stendhal.server.maps.quests.AbstractQuest
npcs, questInfo
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
adds the quest to the game world (e.g.void
dismantleIsland(Player player)
getHistory(Player player)
Gets a the quest history for the given player, written in the first person.getName()
Returns the name of the quest.Returns the starter NPC for the quest, or null if there is noneThe slot-name in !quests.boolean
Determines whether the quest should be shown in the Quest Status/Progress logvoid
startTutorialForPlayer(Player player)
Methods inherited from class games.stendhal.server.maps.quests.AbstractQuest
fillQuestInfo, getFormattedHistory, getHint, getMinLevel, getQuestInfo, getRegion, isCompleted, isRepeatable, isStarted, removeFromWorld, updatePlayer
-
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 interfaceIQuest
- Specified by:
addToWorld
in classAbstractQuest
-
getHistory
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 interfaceIQuest
- Overrides:
isVisibleOnQuestStatus
in classAbstractQuest
- Returns:
- true, if the quest is visible, false otherwise
-
getSlotName
Description copied from class:AbstractQuest
The slot-name in !quests.- Specified by:
getSlotName
in interfaceIQuest
- Specified by:
getSlotName
in classAbstractQuest
- Returns:
- the slot's name
-
getName
Description copied from interface:IQuest
Returns the name of the quest.- Specified by:
getName
in interfaceIQuest
- Specified by:
getName
in classAbstractQuest
- Returns:
- name
-
getNPCName
Description copied from class:AbstractQuest
Returns the starter NPC for the quest, or null if there is none- Specified by:
getNPCName
in interfaceIQuest
- Overrides:
getNPCName
in classAbstractQuest
- Returns:
- NPC name, or null for quests with no starter NPC
-
startTutorialForPlayer
-
dismantleIsland
-