Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tutorial Quest Additions #1

Closed
wants to merge 14 commits into from
22 changes: 22 additions & 0 deletions QuestPackages/BatDungeon/Conversations/Steve.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
conversation:
Steve:
quester: 'Steve' # NPC Name
first: 'welcome' # The NPC options that will show when the player clicks the NPC

NPC_options:
welcome:
text: "Hey %player%! Welcome to the BatDungeon tutorial quest! This quest will give you an example of teleporting a player, killing mobs, and using variables!"
pointer: continue
npcCont:
text: "Head over to the BatDungeon Quest Package and head to the package.yml file. you'll notice line 5,6,7 accept coords. Change these to the coords for your world before starting the quest please"
pointer: "acceptQuest,denyQuest"

player_options:
acceptQuest:
text: "Start Quest"
event: "startQuest"
denyQuest:
text: "Deny Quest"
continue:
text: "&7(...)"
pointer: "npcCont"
10 changes: 10 additions & 0 deletions QuestPackages/BatDungeon/events.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
events:
teleportToCave: "teleport $caveLoc$" # We use the variable with '$variableName$' and we can use it in most event arguments.
teleportToNPC: "teleport $returnLoc$"
spawnBats: "spawn $batSpawn$ marked:targets"
startObj: "objective add killBats"
reward: "give diamond:1"

startQuest: "folder teleportToCave,spawnBats,startObj" # Folder events can run multiple pre defined events back to back. More on Folders here - https://betonquest.org/2.0-DEV/Documentation/Scripting/Building-Blocks/Events-List/#run-multiple-events-folder

endQuest: "folder teleportToNPC,reward"
2 changes: 2 additions & 0 deletions QuestPackages/BatDungeon/objectives.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
objective:
killBats: "mobkill BAT 5 notify events:endQuest"
7 changes: 7 additions & 0 deletions QuestPackages/BatDungeon/package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
npcs:
'0': "Steve"

variables: # Variables are useful for a tons of things, here we use them basically like a config file, where the coords you set below will automatically be the ones used during the quest
caveLoc: "0;0;0;world" # X;Y;Z;world_name - Location of your Cave
returnLoc: "0;0;0;world" # X;Y;Z;world_name - Location of your NPC
batSpawn: "0;0;0;world BAT 5" # X;Y;Z;world_name MOBNAME amount - Spawn Bats location and amount
2 changes: 2 additions & 0 deletions QuestPackages/Bouncer/package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
npcs:
'0': "Steve-o"
2 changes: 2 additions & 0 deletions QuestPackages/Burglar/package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
npcs:
'0': "Steve-o"
2 changes: 2 additions & 0 deletions QuestPackages/Courier/package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
npcs:
'0': "Steve-o"
2 changes: 2 additions & 0 deletions QuestPackages/Daily/package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
npcs:
'0': "Steve-o"
4 changes: 4 additions & 0 deletions QuestPackages/Delivery/Conversations/Steve.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
conversations:
Steve:
quester: "Steve"
first: "welcome, questStarted, questDone"
Empty file.
3 changes: 3 additions & 0 deletions QuestPackages/Delivery/package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
npcs:
'0': "Steve"
'1': "Steve2"
2 changes: 2 additions & 0 deletions QuestPackages/Escort/package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
npcs:
'0': "Steve-o"
23 changes: 23 additions & 0 deletions QuestPackages/Lumberjack/Conversations/Steve.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
conversations:
Steve:
quester: 'Steve' # NPC Name
first: 'firstGreeting, questDone, onQuest' # The NPC options that will show when the player clicks the NPC

NPC_options:
firstGreeting:
text: 'Hello %player%! Welcome to the world of BetonQuest! This is an example quest to gather 4 Logs! Do you wish to continue?'
pointer: 'questAccept, questDeny' # Point to player options
conditions: '!questDoneTag' # Checks if the player DOES NOT have the tag questDone. "!" Negates the condition and returns TRUE if the player DOES NOT meet the conditions.
onQuest:
text: "You have not completed the quest yet! Come back later!"
conditions: 'questStartedTag'
questDone:
text: "You have completed the quest already!"
conditions: 'questDoneTag'

player_options:
questAccept:
text: "Yes! I'd like to try the quest!"
event: 'startQuest'
questDeny:
text: "No. I have something else to do." # We dont really need to set an event here, the conversation will just end.
3 changes: 3 additions & 0 deletions QuestPackages/Lumberjack/conditions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
conditions:
questStartedTag: tag questStarted # Checks if the player has the tag questStarted given on quest start - More on TAG Conditions here - https://betonquest.org/2.0-DEV/Documentation/Scripting/Building-Blocks/Conditions-List/#tag-tag
questDoneTag: tag questDone # Checks if the player has the tag questDone given after completing the objective
3 changes: 3 additions & 0 deletions QuestPackages/Lumberjack/events.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
events:
startQuest: run ^objective add breakLogs ^tag add questStarted # Run the events listed, Starting the objective and Adding the questStarted tag. More on RUN events here - https://betonquest.org/2.0-DEV/Documentation/Scripting/Building-Blocks/Events-List/#run-events-run
endQuest: run ^tag del questStarted ^tag add questDone ^give diamond:1 # Run the events listed, Delete the questStarted tag, add the questDone tag, and give the player 1 Diamond
2 changes: 2 additions & 0 deletions QuestPackages/Lumberjack/objectives.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
objectives:
breakLogs: 'block OAK_LOG -4 notify event:endQuest' # Player objective to break 4 logs. Adding 'notify' sends the player a message through the objective letting them know progress. - https://betonquest.org/2.0-DEV/Documentation/Scripting/Building-Blocks/Objectives-List/#break-or-place-blocks-block
5 changes: 5 additions & 0 deletions QuestPackages/Lumberjack/package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
npcs:
'0': "Steve" # NPC ID and Name

items: # The item section is where you define quest items - https://betonquest.org/2.0-DEV/Documentation/Features/Items/
diamond: diamond
23 changes: 23 additions & 0 deletions QuestPackages/MonsterHunter/Conversations/Steve.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
conversations:
Steve:
quester: 'Steve' # NPC Name
first: 'welcome, questStarted, questDone' # The NPC options that will show when the player clicks the NPC

NPC_options:
welcome:
text: "Welcome to the MonsterHunter quest tutorial %player%! This is an example quest to hunt down 10 zombies, 5 skeleton, and 3 creepers! We could kill them all at once, but i chose to showcase what it would be like to have 'stages' of sorts going from one objective to another"
pointer: 'acceptQuest, denyQuest'
condition: '!questStarted,!questDone'
questStarted:
text: "You have not completed the quest yet!"
condition: 'questStarted, !questDone' # Another examplke of negating conditions, we can negate one but not the other. Again just put ! in front of the conditions you wish to negate.
questDone:
text: "You finished the Quest!"
condition: 'questDone'

player_options:
acceptQuest:
text: "Accpet Quest"
event: 'startQuestObj1'
denyQuest:
text: "Deny Quest"
3 changes: 3 additions & 0 deletions QuestPackages/MonsterHunter/conditions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
conditions:
questStarted: tag questStarted
questDone: tag questDone
5 changes: 5 additions & 0 deletions QuestPackages/MonsterHunter/events.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
events:
startQuestObj1: run ^objective add killZombie ^tag add questStarted ^notify Kill 10 Zombies! # Our NOTIFY event sends a message to the player with the given string - https://betonquest.org/2.0-DEV/Documentation/Scripting/Building-Blocks/Events-List/#sending-notifications-notify
startQuestObj2: run ^objective add killSkeleton ^notify Kill 5 Skeletons!
startQuestObj3: run ^objective add killCreeper ^notify Kill 3 Creepers!
endQuest: run ^tag delete questStarted ^tag add questDone ^give diamond:1 ^notify You have completed MonsterHunter quest! # We have already covered RUN events in other packages - https://betonquest.org/2.0-DEV/Documentation/Scripting/Building-Blocks/Events-List/#run-events-run and GIVE events - https://betonquest.org/2.0-DEV/Documentation/Scripting/Building-Blocks/Events-List/#give-items-give
4 changes: 4 additions & 0 deletions QuestPackages/MonsterHunter/objectives.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
objectives:
killZombie: mobkill ZOMBIE 10 notify event:startQuestObj2 # We use the mobkill objective here - https://betonquest.org/2.0-DEV/Documentation/Scripting/Building-Blocks/Objectives-List/#entity-kill-mobkill
killSkeleton: mobkill SKELETON 5 notify event:startQuestObj3
killCreeper: mobkill CREEPER 3 notify event:endQuest
5 changes: 5 additions & 0 deletions QuestPackages/MonsterHunter/package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
npcs:
'0': "Steve"

items:
diamond: diamond
2 changes: 2 additions & 0 deletions QuestPackages/RainDance/package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
npcs:
'0': "Steve-o"
Loading