[in work] Quests project

Discussion about topics that don't fit elsewhere.
User avatar
tangar
Posts: 1652
Joined: Tue Mar 03, 2015 3:49 pm
Contact:

[in work] Quests project

Post by tangar »

There is new quest system in development with quite deep mechanics of interaction with NPCs

ImageImageImageImageImage Lets write quests and ideas in this topic. Do not hesitate to add even raw quests or just drafts, everything could be used in future.

1) To learn how quests looks like, please download source files:
"TomeNET ..... complete source code (client+server)" there http://tomenet.eu/downloads.php

Path to the file:
lib/game/q_info.txt

In this file you could find already published "quest" from Town Elder (stays near tavern in Bree) and figure out how quest system works.

I'll update this topic with more information soon.

Please help TomeNet with your awesome ideas!
Tangar's tileset, addon, guides & maps: English TomeNET page ||||||| Russian TomeNet page
http://youtube.com/GameGlaz — streams in English // http://youtube.com/StreamGuild — streams in Russian
My chars @ angband.oook.cz
User avatar
tangar
Posts: 1652
Joined: Tue Mar 03, 2015 3:49 pm
Contact:

Re: [in work] Quests project

Post by tangar »

I've readed "q_info.txt" attentively. Quest system is REALLY great and there are a lot of cool opportunities which doesn't exist in any AAA-RPG game. But its quite complex also, so there is a problem in designing quests for it. It have quite complex format of metadata, for example:
# for testing purpose
N:0:testquesAR:C. Blue:Test Quest:-1:0:0
C:0
I:1:1:1:100:FFFFF:FFFF:1:1:1:0:0:1
T:1:1:1:1:1:1:1:1:1:-1:-1
Q:1:37:0:b:T:-1:-1:Blind Bat
#L:2:0:1:-1:-1:-1:0:98:39:0:-:0:0
L:0:0:0:63:63:0:0:98:39:0:-:0:0
F:0:1:1:0:1:0:0
U:0:0:0
W:0:0:0:-:Hello, $$N!
W:0:0:0:-:Would you like some [[ale]] or rather a [[solid ration]]?
...
[....THERE WAS A SPOILER...]
...
R:3:80:38:0:0:0:0:0:0:0:0:0:4:2:0
R:4:80:35:0:0:0:0:0:0:0:0:0:3:1:0
As you see, for each quest we need to fill a lot of meta-data about quest, questgiver, locations & etc. It would be extreamely hard to complete this for each quest with our "hands". And also a lot of errors could appear - its very hard to count numbers of symbols for each entry every time.

So! We need something like "editor", which would make quest creation easier. I think it could be done with web-based engine for quest creation. Instrument based on forms which could "transpose" options and text which we make into game meta-data.

I found something quite close to quest-editor which we need:
http://textadventures.co.uk/quest

Its web-based program which create text-based games. Look at this video to understand how it looks like:
https://www.youtube.com/watch?v=7vIi0U4rSX4

Its open source project https://github.com/textadventures/quest - so its possible to modify it to TomeNet quest system... Or may be its better create our own editor...

What do you think?

---

Still in a meantime we could write quests in this topic :) Just as plain text I think, it could be formatted later.
Tangar's tileset, addon, guides & maps: English TomeNET page ||||||| Russian TomeNet page
http://youtube.com/GameGlaz — streams in English // http://youtube.com/StreamGuild — streams in Russian
My chars @ angband.oook.cz
User avatar
tangar
Posts: 1652
Joined: Tue Mar 03, 2015 3:49 pm
Contact:

Re: [in work] Quests project

Post by tangar »

I'll post my quests there - http://tangar.info/en/blog/quests-for-tomenet/ as they are drafts yet.

Please post you stories!
Tangar's tileset, addon, guides & maps: English TomeNET page ||||||| Russian TomeNet page
http://youtube.com/GameGlaz — streams in English // http://youtube.com/StreamGuild — streams in Russian
My chars @ angband.oook.cz
User avatar
tangar
Posts: 1652
Joined: Tue Mar 03, 2015 3:49 pm
Contact:

Re: [in work] Quests project

Post by tangar »

Are there any people who know web-based coding (for example php) to create quest editor?
Tangar's tileset, addon, guides & maps: English TomeNET page ||||||| Russian TomeNet page
http://youtube.com/GameGlaz — streams in English // http://youtube.com/StreamGuild — streams in Russian
My chars @ angband.oook.cz
Lightman
Posts: 165
Joined: Thu Jun 07, 2012 7:55 pm

Re: [in work] Quests project

Post by Lightman »

I have some quests I sent the devs. There were some bugs at the time but I should be able to pull the quests out of my email.

I wrote the quests by entering data in Excel. I think I had it quite nicely worked out.

I am happy to hand over what I was doing if anyone is interested.
User avatar
tangar
Posts: 1652
Joined: Tue Mar 03, 2015 3:49 pm
Contact:

Re: [in work] Quests project

Post by tangar »

Sure, please upload it :) Its great idea to use excel, it could make quest creation much easier ;)
Tangar's tileset, addon, guides & maps: English TomeNET page ||||||| Russian TomeNet page
http://youtube.com/GameGlaz — streams in English // http://youtube.com/StreamGuild — streams in Russian
My chars @ angband.oook.cz
Lightman
Posts: 165
Joined: Thu Jun 07, 2012 7:55 pm

Re: [in work] Quests project

Post by Lightman »

I found my old quest file. I will post it below.

Most of the quests ran into a bug in an early stage, so I never completed them.
Lightman
Posts: 165
Joined: Thu Jun 07, 2012 7:55 pm

Re: [in work] Quests project

Post by Lightman »

# File: q_info.txt

# This file contains all the quest information for new quest_info[] struct
# on which work started in 2013, to provide a full fledged quest framework.
# - C. Blue


# Version stamp (required)
V:1.0.0


# Current state - things that have already been implemented. Other stuff is omitted here.
# Some things that are not implemented in here are noted in caps in each line ;)
# 'NI' is short for NOT IMPLEMENTED.

# N:index:internal codename(UNIQUE AND EXACTLY 10 CHARACTERS):creatorname:quest name[:repeatable (-1 for infinitely, default is 0, append an 'x' to disable it)]
# (optional) C:list stages that allow a player to acquire the quest, separated by colons (usually 0 aka the first stage)
# (optional - player requirements) I:privileged:individual (MUST BE 1 or 2):minlv:maxlv:races:classes:modenorm:modeel:modepvp:fruitbat(1=real,2=real or fake):monsterform:questdonecreditstage
# (optional - prerequisites) E:list of colon-separated prequest codenames (up to 5) which must have been completed to pick up this quest
# (optional - quest spawn times) T:night:day:morning:forenoon:noon:afternoon:evening:midnight:deepnight:starttime:stoptime
# (optional - quest ending/respawn) U:endingstage (0 = none):duration:cooldown

# There can be up to 30 Q-lines, for up to 30 questors
# Q (for type=monster) :type:ridx:char:attr:minlv:maxlv:name
# Q (for type=parchment):type:sval:attr:level:name
# Q (for type=object) :type:tval:sval:pval:bpval:name1:name2:name2b:good?:great?:verygreat?:attr:level:name

# note: Each L/F/K-line must follow after its Q line!
# L (up to 30x, per Q line - questor location):locations (SURFACE/TOWNS ONLY):terrains:towns (BASIC 5 ONLY):exact wpos wx:wy:wz:adjacent terrain extension:exact pos x:y:radius:mapfile (if not using terrain type) or '-':map offset x:y
# Ld (up to 30x, per L line):minfloorlev:maxfloorlev:list of dungeon indices eligible for spawning, separated by colons... (255 = IDDC, 0 = all 'wilderness' dungeons ie those not in d_info.txt)
# (optional) F (up to 30x, per Q line - initial behaviour):accept-on-los? (NI):accept-on-interaction?:talkable?:despawned?:invincible?:questor floor is static?:quest ends on leaving floor?(NI)
# (optional) K (up to 30x, per Q line - for killable questors):itemdroptype (0=none,1=regular,2=specific,3=both):tval:sval:pval:bpval:name1:name2:name2b:good:great:verygreat:createreward 0..5:dropgold:giveexp (-1 for normal exp)

#(Parameters from here on, except for keywords/keywordreplies, are all individual per quest stage)

# (optional - stage automatics) A:stage:spawn quest (-1 to disable):auto-accept it (2=quietly):change stage (255 to disable):0:timed change at ingame hour (-1 to disable):timed change after realtime minutes (0 to disable):change quietly (skip stage dialogue):set/clear flags:genocide-wpos x:y:z (set x==-1 to disable)
# (optional, up to 15x) Af:stage:questor's wpos (0..n, 255 to use specific wpos instead):quest item wpos (0..n, 255 to use specific wpos instead):specific wpos wx:wy:wz:pos x:y:grid feature to be 'built' there on stage start (see f_info.txt)

# (optional, up to 5x - quest items) B:stage:<spawn special quest item> pval (can be used as sort of an index for retrieval quest goals):char:attr:weight:level:name
# (for each B line) Bl:stage:questorhandout (-1 to disable):locations (SURFACE/TOWNS ONLY):terrains:towns (BASIC 5 ONLY):exact wpos wx:wy:wz:adjacent terrain extension:exact pos x:y:radius:mapfile (if not using terrain type) or '-':map offset x:y
# note: 'Bl' takes same parameters as 'L' lines (except for 'questor hand out'). Each Bl-line must follow after its B-line!

# (optional - questor morph/change) S:stage:questor to modify:talkable:despawned:invincible:death_fail:name ("-" to keep):ridx (0 to keep):char ('-' to keep):attr ('-' to keep):level (0 to keep)
# (optional - questor hostility) H:stage:questor:unquestor?:hostile-to-players?:hostile-to-monsters?:revert-hp:revert-ingametime (-1 to disable):revert-after-realtime (0 to disable):newstage:quiet?
# (optional - questor moves/teles) J:stage:questor:teleport wx:wy:wz:x:y:teleport players wx:wy:wz:x:y:walkspeed:destx:desty:newstage:quiet?

# (optional - add temporary dungeon) D:stage:base:max:tower?:nomap?:hard (1=forcedown:2=iron):stores (1=iron,2=all):theme(NI):name (or "-"):floors are static?:keep until quest ends?:flags1:flags2:flags3:[:final floor map file: offset x:y]
# (for D-line) Dl:stage:locations (SURFACE/TOWNS ONLY):terrains:towns (BASIC 5 ONLY):exact wpos wx:wy:adjacent terrain extension:exact pos x:y:radius:mapfile (if not using terrain type) or '-':map offset x:y

# (optional, up to 10x - spawn monsters) m:stage:amount:groups:scattered?:clones:specific ridx:char:attr:minlev:maxlev:partial name to match
# (for each 'm'-line) ml:stage:locations (SURFACE/TOWNS ONLY):terrains:towns (BASIC 5 ONLY):exact wpos wx:wy:wz:adjacent terrain extension:exact pos x:y:radius:mapfile (if not using terrain type) or '-':map offset x:y
# (optional, for each 'm'-line) mh:hurtplayers?:hurtquestors?:invincplayers?:invincquestors?:targetplayers?:targetquestors? (completely NI: will always behave like normal monsters)

# (optional, up to 50x - automatic narration) X:stage:flags:narration text
# (optional? - up to 15x - questor dialogue) W:questor:stage:examine? (0=normal talk,1=examine, negative = copy another stage):flags:convo line
# if a negative examine-argument is specified, the line ends after that. The remaining arguments are not to be specified. Only one W-line is required in this case!
# this is a hack: This stage's dialogue will actually mimic the stage dialogue from the stage of the absolute value of 'examine' argument. NOTE: You must not refer to another cloned dialogue!
# (optional - for questor dialogue) Wr:questor:stage:default reply line (replaces the 'has nothing to say about that' line)
# use $$Q or $$q up to one time, to insert the questor's name! Q = show in light umber (for active talk), q = show in dark umber (for passive narration)
# (optional - up to 100x - dialogue keywords) Y:questor (-1 for any):stage (-1 for any*):flags:keyword (or "y" for 1st keyword and "n" for second, for a yes/no choice):changeflags:nextstage (or 255 for dont change stage)
# (optional - after a Y-line) YQ:list of further questors (their index numbers, 0..29) for which this keyword is valid, separated by colons
# (optional - after a Y-line) YS:list of further stages during which this keyword is valid, separated by colons
# (optional - up to 50x - replies to keywords) y:questor (-1 for any):stage (-1 for any):flags:keyword
# (optional - after a y-line) yY:list of further keywords for which this reply is valid, separated by colons
# (optional - after a y-line) yQ:list of further questors for which this reply is valid, separated by colons
# (optional - after a y-line) yS:list of further stages during which this reply is valid, separated by colons
# (optional - after a y-line, 15x repeatable) YR:flags:reply convo line

# goals to kill specific monsters:
# (optional) k:stage:goal:minlev:maxlev:number
# (optional) kN:stage:goal:partial name... (list of partial names, up to 5, separated by colons)
# (optional) kI:stage:goal:r_idx... (list of r_idx, up to 10, separated by colons)
# (optional) kV:stage:goal:r_char:r_attr... (list of ':r_char:r_attr' pairs, up to 5, separated by colons)

# goals to collect specific items:
# (optional) r:stage:goal:min value:number:allow owned items?
# (optional) rN:stage:goal:partial name... (list of partial names, up to 5, separated by colons)
# (optional) rI:stage:goal:tval:sval... (list of ':tval:sval' pairs, up to 10, separated by colons)
# (optional) rV:stage:goal:pval:bpval:attr:name1:name2:name2b... (list of 6-tuples like this, up to 5, separated by colons)

# optional target location where those kill/retrieve goals have to be cleared:
# (optional, if k/r line exists) P:stage:goal#:goalwpos wx:wy:wz:adjacent terrain extension:goal at exact x:y:radius:mapfile (if not using terrain type) or '-':map offset x:y

# optional target location where the player has to move after having cleared the goals, to get them credited.
# This can also be specified without any kill/retrieve goals, in which case it becomes a simple 'travel-to' goal:
# (optional) M:stage:goal#:deliver to questor (takes precedence, -1 for none):deliver to wpos wx:wy:wz:deliver to terrain type:deliver to pos x:y:radius:mapfile (if not using terrain type) or '-':map offset x:y

# (optional) Z:stage:goal:changeflags (flags that get set/cleared when that goal is cleared)
# (up to 5x) G:stage:next stage:main kill/retrieve/move goals required to complete separated by colons (optional goals are NOT allowed here) to progress to next stage
# (optional) O:stage:get reward n (-1 to disable):main/optional goals required for reward (0 for none -> it's for free) separated by colons
# (optional, up to 10x - rewards) R:stage:define reward tval:sval:pval:bpval:name1:name2:name2b:good?:great?:verygreat?:createreward 0..5:gold:exp:specialstatuseffect

# Further notes:
# -The index number must just be counting up for each quest added to this file, starting with 0.
# -The internal codename must be unique among all quests and exactly 10 characters long.
# -All quests should currently be set to 'individual'! (Global quests work depending on the quest goals. Some won't, though.)
# Individual means either '1' (goals are shared with party members) or '2' (must be completely soloed). '0' means 'global' and is currently not implemented.
# -Stage changes can use negative numbers. In that case the new stage is the current stage + random 1..(absolute value of nextstage). Eg -3 -> will proceed +1, +2 or +3 stages randomly.
# -questor types 1 (monster) and 3 (object) are supported at the moment.
# -questor 'locations' are: +1 for 'world surface', +2 for 'town' (so '3' for both). Must not be zero unless a specific wpos is set instead.
# -For item questors you might want to set 'examine' flag so they don't "talk" to you.
# -#goal is 1..5 for main goal, and -1..-5 for optional goals.
# -Although the 'examine' flag can be specified for each conversation line again, the last line existing for a questor/stage combination will take priority.
# -About dialogues/narrations:
# Use [[...]] to highlight the text between the brackets.
# You can automatically insert the player's name, title, race, race-attribute ('elven') or class, by using these placeholders: $$N, $$T, $$R, $AA, $$C.
# If you don't want the first letter to be capitalised, use $$n, $$t, $$r, $$a, $$c instead.
# -About keywords:
# "~" means the empty keyword "", user can just press ENTER key without writing anything to trigger it.
# if the FIRST MATCHING (questor+stage) keyword is "y" it brings up a yes/no prompt. The second questor/stage-matching keyword should be "n".
# (*) Keywords set to 'any stage' (-1) are not sufficient to stop an otherwise empty stage from terminate nor to prompt a quest_dialogue() on their own.
# -About global 'flags':
# '-' means no flags.
# For lines that change those: 'a' to 'p' to clear flags, 'A' to 'P' to set flags, eg ..:aBChK:..
# For lines that check those (conversational lines): 'A' to 'P' to check for a flag, which must be set (to display the convo line etc). Cleared flags don't matter.
# -About retrieving items:
# char/attr '-' means 'any', pval/bpval -9999 means 'any', oname1/2/2b -1 means 'any' and -2 means 'any but must not be zero'.
# -About R/O lines:
# If R-lines are given for a stage, but no O line is defined, the rewards are handed out "for free" in that stage.

# You must never use the ':' char in any keyword or text line, since it's used as delimiter here.
# #questor is 0..29 (30 questors max)
# #stage is 1..29 (30 stages max, 0 is reserved for the initial stage)
# talk/narration can have up to 15 text lines
# keywords can be up to 29 characters long
# #goal is 1..5 for main goal, and -1..-5 for optional goals.
# Optional goals are currently NOT IMPLEMENTED and will break the quest!
# Status effects (rewards): Positive numbers indicate a potion, scroll, staff or non-directional(!) rod from k_info.txt.
# Negative numbers are extra effects: -1 = 1000t of luck, -2 = 2000t of luck, -3 = 3000t of luck.



# for testing purpose
N:0:testquesAR:C. Blue:Test Quest:-1
C:0
I:1:1:1:100:FFFFF:FFFF:1:1:1:0:0:1
T:1:1:1:1:1:1:1:1:1:-1:-1
Q:1:37:b:T:-1:-1:Blind Bat
#L:2:0:1:-1:-1:-1:0:98:39:0:-:0:0
L:0:0:0:63:63:0:0:98:39:0:-:0:0
F:0:1:1:0:1:0:0
U:0:0:0
W:0:0:0:-:Hello, $$N!
W:0:0:0:-:Would you like some [[ale]] or rather a [[solid ration]]?
Y:0:0:-:ale:-:1
Y:0:0:-:ration:-:2
Y:0:0:-:solid ration:-:2
W:0:1:0:-:Well then, visit the shop keeper of the general store!
W:0:2:0:-:Well then, visit the shop keeper of the general store..
#position 105:40 for actual Bree's general store entrance:
M:1:1:-1:32:32:0:0:105:40:0:-:0:0
M:2:1:-1:32:32:0:0:105:40:0:-:0:0
G:1:3:1
G:2:4:1
O:3:0:0
X:3:-:The shop keeper hands you a pint of fine ale!
O:4:1:0
X:4:-:The shop keeper hands you a ration of food!
R:3:80:38:0:0:0:0:0:0:0:0:0:4:2:0
R:4:80:35:0:0:0:0:0:0:0:0:0:3:1:0


# for testing purpose
N:1:testquestM:C. Blue:Minimal Test Quest:-1
# note: only purpose of I-line is to restrict it to privileged users/admins
I:1:1:1:100:FFFFF:FFFF:1:1:1:0:0:1
#Q:1:37:b:n:-1:-1:-1:-1:-1:Fast Bat
Q:3:22:30:0:0:0:0:0:0:0:0:P:0:Sharp..Bat..of Slicing?
L:0:0:0:63:63:0:0:100:39:0:-:0:0
W:0:0:1:-:Hello, $$T! Wanna visit the General Store for me?
Y:0:0:-:y:-:1
Y:0:0:-:n:-:2
W:0:1:0:-:Thanks!
M:1:1:-1:32:32:0:0:105:40:0:-:0:0
G:1:3:1
X:3:-:The shop keeper hands you a pint of fine ale!
R:3:80:38:0:0:0:0:0:0:0:0:0:1:1:0


# for testing purpose
N:2:testquesKR:C. Blue:Kill/Retrieve Test Quest:-1
I:1:1:1:100:FFFFF:FFFF:1:1:1:0:0:1
Q:1:37:b:N:-1:-1:Goalkeeper Bat
L:0:0:0:63:63:0:0:99:35:0:-:0:0
W:0:0:0:-:'Sup, yo $$r! [[Kill]] shit or [[retrieve]] stuff for me.
W:0:0:0:-:So what do you prefer, buddy?
Y:0:-1:-:sup:-:255
y:0:-1:-:sup
yR:-:Yo!
Y:0:-1:-:yo:-:255
y:0:-1:-:yo
yR:-:Sup!

Y:0:0:-:kill:-:1
#W:0:1:0:-:Slay two dogs or wolves, they deserve it. Report to the general store's keeper!
W:0:1:0:-:Slay two dogs or wolves, they deserve it. Let me know when you're done.
W:0:1:0:-:..oh and also, maybe this bat comes in handy. DON'T LOSE IT!
B:1:0:\:u:40:0:& Bat~
Bl:1:0:0:0:0:0:0:0:0:0:0:0:-:0:0
r:1:3:0:1:0
rI:1:3:127:2
#rV:1:3:-9999:-9999:-:-1:-1:-1
k:1:1:0:0:2
kV:1:1:C:-
#kI:1:1:r_idx...
#M:1:2:32:32:0:0:105:40:0:-:0:0
#M:1:2:-1:63:63:0:0:99:35:1:-:0:0
M:1:2:0:63:63:0:0:99:35:1:-:0:0
G:1:3:1:2:3
X:3:-:The Goalkeeper Bat seems very satisfied.
R:3:80:38:0:0:0:0:0:0:0:0:0:2:2:0

Y:0:0:-:retrieve:-:2
W:0:2:0:-:Dude where's muh potions.. I had two red potions I'm sure.
#W:0:2:0:-:Anyway, if you find them, just bring them to the general store's keeper, ok?
r:2:1:0:2:0
#note: since tval/sval aren't defined here, any other red item would work too (rings!) ;)
rV:2:1:-9999:-9999:r:-1:-1:-1:-9999:-9999:R:-1:-1:-1:
#M:2:2:32:32:0:0:105:40:0:-:0:0
#M:2:2:-1:63:63:0:0:99:35:1:-:0:0
M:2:2:0:63:63:0:0:99:35:1:-:0:0
G:2:4:1:2
X:4:-:The Goalkeeper Bat seems very satisfied.
R:4:80:38:0:0:0:0:0:1:1:0:0:2:2:0


N:3:testCastle:C. Blue:Treasure Depository Breach:-1
I:1:1:1:100:FFFFF:FFFF:1:1:1:0:0:1

Q:1:1059:p:u:-1:-1:Guard
L:0:0:0:63:63:0:0:150:30:0:tq_tc.txt:143:22
W:0:0:0:-:Hold it right there! What is the password?
Wr:0:0:$$Q That's not the right password, $$r!
Y:0:-1:-:suxen:-:1
y:0:-1:-:suxen
yR:-:You may enter!
J:1:0:-1:-1:-1:-1:-1:-1:-1:-1:151:28:0:0:0:0:0

Q:1:1059:p:u:-1:-1:Guard
L:0:0:0:63:63:0:0:152:30:0:-:0:0
W:1:0:0:-:Hold it right there! What is the password?
Y:1:-1:-:suxen:-:1
y:1:-1:-:suxen
yR:-:You may enter!
J:1:1:-1:-1:-1:-1:-1:-1:-1:-1:151:28:0:0:0:0:0

$TEST_SERVER$Q:1:15:t:y:-1:-1:Dozing drunk
$TEST_SERVER$L:0:0:0:63:63:0:0:149:24:0:-:0:0
$TEST_SERVER$W:2:0:0:-:Washhup? Hic..

$TEST_SERVER$r:0:1:0:1:1
$TEST_SERVER$rI:0:1:80:38:80:39
$TEST_SERVER$M:0:1:2:-1:-1:-1:0:0:0:0:-:0:0
$TEST_SERVER$G:0:2:1
$TEST_SERVER$W:2:2:0:-:Ohhdshankyou! Hic..

$TEST_SERVER$r:2:1:0:1:1
$TEST_SERVER$rI:2:1:80:38:80:39
$TEST_SERVER$M:2:1:2:-1:-1:-1:0:0:0:0:-:0:0
$TEST_SERVER$G:2:3:1
$TEST_SERVER$W:2:3:0:-:Ohhdshankyou! Hic..

$TEST_SERVER$r:3:1:0:1:1
$TEST_SERVER$rI:3:1:80:38:80:39
$TEST_SERVER$M:3:1:2:-1:-1:-1:0:0:0:0:-:0:0
$TEST_SERVER$G:3:4:1
$TEST_SERVER$W:2:4:0:-:Ohhdshankyou! Watshout that Nexus won't arresht you! Hic..

##################################################
#Define Quest 4 - Bree Logistics. Questors & quest info.
##################################################
N:4:BreeLogist:Lightman:Bree Logistics:-1
C:0
I:0:1:2:20:FFFFF:FFFF:1:1:1:0:0:1
T:1:1:1:1:1:1:1:1:1:-1:-1
Q:1:15:h:r:-1:-1:Recruitment Officer for the Bree Defence Council
L:0:0:0:32:32:0:0:118:32:0:-:0:0
Q:1:15:p:r:-1:-1:Tower Guard
L:0:0:0:32:32:0:0:130:50:0:-:0:0
F:0:1:1:0:1:0:0;
U:14:0:0
Y:-1:-1:-:morgoth:-:255
y:-1:-1:-:morgoth:-
yR:-:Morgoth is the father of evil, behind the troubles of middle earth.
Y:-1:-1:-:wight-king:-:255
y:-1:-1:-:wight-king:-
yR:-:The wight king is an undead monster at the bottom of barrow downs.
Y:-1:-1:-:wight king:-:255
y:-1:-1:-:wight king:-
yR:-:The wight king is an undead monster at the bottom of barrow downs.
Y:-1:-1:-:villains:-:255
y:-1:-1:-:villains:-
yR:-:All kinds of evil monsters have come back to life of late.
Y:-1:-1:-:bree:-:255
y:-1:-1:-:bree:-
yR:-:You are in the town of Bree.
#
##################################################
#Goal 4.1 - Assassinate the agent of the black market (Id=14)
##################################################
W:0:0:0:-:Greetings $$N. You look like you are from out of town.
W:0:0:0:-:We are urgently recruiting for the war against the Wight-king.
W:0:0:0:-:Can we count you in?
Y:0:0:-:y:-:1
Y:0:0:-:n:-:1
y:0:0:-:y:-+
yR:-:Morgoth, Lord of Darkness has returned. The troubles of middle earth are upon us.
yR:-:Many ancient villains have been brought back to life from the distant past....
yR:-:What is worse, they aren't staying dead!
yR:-:Even Bree is under pressure from an undead monster known as the Wight-King.
yR:-:It seems an agent is working for him in the black market.
yR:-:Some of the town's folk are turning hostile.
yR:-:Please assassinate this agent of the black market to prove yourself.
yR:-:You may have to wait for an opportunity to get hold of him.
y:0:0:-:n:-
yR:-:I fear you may encounter the enemy forces yet, $$N.
yR:-:I won't write you off.
W:0:1:0:-:We need you to assassinate the agent of the black market.
k:1:1:0:0:1
kI:1:1:14
G:1:2:1
W:0:2:0:-:Things have quietened down a bit. Did you succeed in killing the agent?
Y:0:2:-:y:-:3
Y:0:2:-:n:-:2
y:0:0:-:n:-
yR:-:Keep looking!
#
##################################################
#Goal 4.2 - Deliver a cold potion to the tower guard
##################################################
#
W:0:3:0:-:The first priority for Bree is survival.
W:0:3:0:-:Please deliver a potion of resist cold to the tower guard.
W:0:3:0:-:He guards the tower to the Southeast of Bree but is ill from the weather.
W:0:3:0:-:You can often find a potion of resist cold in shop number five.
W:0:3:0:-:The tower guard needs a potion of resist cold.
Wr:0:3:You chat to the recruitment officer... (Press escape to exit conversation)
W:1:3:0:-:The Bree training tower is a great place to train in safety.
Wr:1:3:You talk to the Tower Guard... (Press escape to exit conversation)
Wr:1:3:The tower guard is cold and sickly. (Press escape to exit conversation)
r:3:2:1:1:1
rI:3:2:71:31
#
M:3:2:1:32:32:0:0:130:50:0:-:0:0
G:3:4:2
W:1:4:0:-:Can I have a small sip of your cold potion?
Y:1:4:-:y:-:5
Y:1:4:-:n:-:4
y:0:0:-:n:-
yR:-:The tower guard sneezes.
#
##################################################
#Goal 4.3 - Cull 5 fruit bats in the training tower
##################################################
#
W:1:5:0:-:Thanks! You might want to drink the rest later.
W:1:5:1:-:The Tower Guard looks a whole lot better now.
W:1:5:0:-:Thanks for the cold potion.
W:1:5:0:-:Fruit bats are breeding like crazy in the training tower.
W:1:5:0:-:They need to be culled, they are disrupting our troops.
W:1:5:0:-:Take out 5 or more fruit bats please.
W:1:5:0:-:When you are ready we will give you harder tasks. Agreed?
Wr:1:5:You chat to the Tower Guard (Press escape to exit conversation)
Y:1:5:-:y:-:6
Y:1:5:-:n:-:5
y:1:5:-:y:-
yR:-:Good. Get to it!
y:1:5:-:n:-
yR:-:Those bats still need sorting out.
W:1:5:0:-:Take out the fruit bats!
Wr:1:5:You chat to the Tower Guard (Press escape to exit conversation)
k:6:3:0:0:5
kI:6:3:37
G:6:7:3
W:1:7:0:-:There seem to be less bats about at the moment.
W:1:7:0:-:Did you kill the fruit bats?
Y:1:7:-:y:-:8
Y:1:7:-:n:-:7
W:1:8:0:-:Excellent work!
#

##################################################
#Define Quest 5 - Ghost Buster. Questors & quest info.
##################################################
N:5:GhostHunt1:Lightman:Ghost Buster:1
C:0
I:0:1:3:25:FFFFF:FFFF:1:1:1:0:0:1
T:1:1:1:1:1:1:1:1:1:-1:-1
Q:1:15:p:g:-1:-1:The Exorcist
L:0:0:0:32:32:0:0:93:32:0:-:0:0
F:0:1:1:0:1:0:0;
U:3:0:0
Y:-1:-1:-:phantom warrior:-:255
y:-1:-1:-:phantom warrior:-
yR:-:Phantom warriors are visible ghosts that come in packs.
Y:-1:-1:-:phantom:-:255
y:-1:-1:-:phantom:-
yR:-:Phantom warriors are visible ghosts that come in packs.
Y:-1:-1:-:phantoms:-:255
y:-1:-1:-:phantoms:-
yR:-:Phantom warriors are visible ghosts that come in packs.
Y:-1:-1:-:phantom warriors:-:255
y:-1:-1:-:phantom warriors:-
yR:-:Phantom warriors are visible ghosts that come in packs.
Y:-1:-1:-:poltergeist:-:255
y:-1:-1:-:poltergeist:-
yR:-:Poltergeists are tormented spirits of the departed unable to enter the afterlife.
Y:-1:-1:-:poltergeists:-:255
y:-1:-1:-:poltergeists:-
yR:-:Poltergeists are tormented spirits of the departed unable to enter the afterlife.
#
##################################################
#Goal 5.1 - The hunt for phantom warrriors (Id=152)
#Reward - Ring of see invisible for hunting ghosts
##################################################
W:0:0:0:-:Hello. Do you want to be a ghost buster?
Y:0:0:-:y:-:1
y:0:0:-:y:-+
yR:-:Excellent. Kill four phantom warriors to put them back into the after-life.
Y:0:0:-:n:-:1
y:0:0:-:n:-+
yR:-:Unfortunately, those phantoms are going to be after you with or without me.
W:0:1:0:-:Phantom warriors can attack through walls. Kill some for us.
k:1:1:0:0:4
kI:1:1:152
G:1:2:1
W:0:2:0:-:There are less phantom warriors than normal. Did you kill some?
Y:0:2:-:y:-:3
Y:0:2:-:n:-:2
y:0:0:-:n:-
yR:-:OK, let us know if you can kill some.
W:0:3:0:-:Unlike phantoms, most ghosts are invisible.
W:0:3:0:-:Take this ring so that you can hunt invisible ghosts
R:3:45:22:0:0:0:0:0:0:0:0:0:100:100:0
#
##################################################
#Goal 5.2 - Killing a poltergeist
#Reward - Free action ring
##################################################
W:0:3:0:-:Do you want to hunt a poltergeist for me?
Y:0:3:-:y:-:1
y:0:3:-:y:-+
yR:-:Great! They are found shallow. Don't forget to use a ring for seeing invisible monsters.
Y:3:0:-:n:-:1
y:3:0:-:n:-+
yR:-:If you do kill one, come back to me.
W:0:3:0:-:Poltergeists can be defeated, and their souls will be released once more.
k:1:1:0:0:1
kI:1:1:65
G:3:4:3
W:0:4:0:-:There is some undead goo on you! Did you kill a poltergeist for me?
Y:0:4:-:y:-:5
Y:0:4:-:n:-:4
y:0:0:-:n:-
yR:-:OK, well, look out for them!
W:0:5:0:-:You have caused a tormented spirit to enter rest.
W:0:5:0:-:This particular ring will enable you to resist paralysis from the undead.
R:5:45:21:0:0:0:0:0:0:0:0:0:100:100:0

##################################################
#Define Quest 6 - The undrinkable fountain
#Reward - 20 coins and 2 experience from level 1
#Not repeatable
##################################################
N:6:Fountain01:Lightman:The undrinkable fountain:0
I:0:1:1:100:FFFFF:FFFF:1:1:1:0:0:1
Q:1:85:_:b:-1:-1:The undrinkable fountain:-1:-1:Bree Fountain
L:0:0:0:32:32:0:0:31:44:0:-:0:0
W:0:0:1:-:The fountain is full of undrinkable copper coloured water. Search fountain now?
Y:0:0:-:y:-:1
Y:0:0:-:n:-:0
W:0:1:1:-:You search about in the undrinkable fountain and see some old copper coins.
R:1:0:0:0:0:0:0:0:0:0:0:0:20:2:0

##################################################
#Define Quest 7 - The old moss covered statue
#Take the trident from a hidden statue after level 5
#5 squares east of shop 4, hidden in the trees
##################################################
N:7:Statue0001:Lightman:The old moss covered statue:0
I:0:1:1:100:FFFFF:FFFF:1:1:1:0:0:1
Q:1:3:#:g:-1:-1:The old moss covered statue
L:0:0:0:32:32:0:0:96:34:0:-:0:0
W:0:0:1:-:The Statue is holding a trident. Take the trident?
Y:0:0:-:y:-:1
Y:0:0:-:n:-:0
W:0:1:1:-:You take the trident from the statue.
R:1:22:5:0:0:0:0:0:0:0:0:0:0:0:0

##################################################
#Define Quest 8 - The hidden whirlpool
#No reward. Infinitely repeatable for all levels.
#Short cut from one side of Bree to the other side
#Found in the goldfish pond in the northeast side
##################################################
N:8:Whirlpool1:Lightman:The hidden whirlpool:-1
I:0:1:1:100:FFFFF:FFFF:1:1:1:0:0:1
Q:1:895:~:b:-1:-1:The hidden whirlpool
L:0:0:0:32:32:0:0:165:13:0:-:0:0
W:0:0:1:-:There is a hidden whirlpool. Enter the whirlpool?
Y:0:0:-:y:-:1
Y:0:0:-:n:-:0
J:1:1:-1:-1:-1:-1:-1:-1:-1:-1:30:44:0:0:0:0:0
W:0:1:1:-:You dive in the whirlpool.
W:0:1:1:-:Water gushes around you and you slide through a dark water filled tunnel.
W:0:1:1:-:You come out somewhere else.

##################################################
#Define Quest 9 - War in Gondolin
##################################################
N:9:Gondolin01:Lightman:War in Gondolin:-1
I:0:1:1:100:FFFFF:FFFF:1:1:1:0:0:1
Q:1:895:p:w:-1:-1:Captain of Gondolin
L:2:0:2:-1:-1:0:0:44:19:0:-:0:0
F:0:0:0:0:0:0:0
Q:1:895:H:r:-1:-1:red minotaur
L:2:0:2:-1:-1:0:0:30:19:0:-:0:0
F:0:0:0:0:0:0:0
W:0:0:1:-:The Captain of Gondolin wants to hire you as a mercenary.
W:0:0:1:-:Do you accept his offer?
Y:0:0:-:y:-:1
Y:0:0:-:n:-:0
W:0:1:1:-:You've been hired. Pay is on completion of each job.
W:1:1:1:-:Arrrrrgh!
H:1:1:0:1:0:100:-1:180:2:0
W:1:2:1:-:The red minotaur is dead!

##################################################
#Define Quest 10 - Missing girl
##################################################
N:10:LostGirl01:Lightman:Missing Girl!:-1
U:4:3600:0
I:0:1:1:100:FFFFF:FFFF:1:1:1:0:0:1
Q:1:895:h:w:-1:-1:worried hobbit
L:1:0:0:32:32:0:0:14:27:0:-:0:0
F:0:1:1:0:1:0:0
W:0:0:0:-:The hobbit is hysterical. Do you wish to comfort her?
Y:0:0:-:y:-:1
Y:0:0:-:n:-:0
W:0:1:0:-:The worried hobbit breaks down in tears…
W:0:1:0:-:A hobbit child has been lost near the surface of the barrow downs.
W:0:1:1:-:Find the hobbit child and bring her back.
B:1:1:h:y:100:1:a wounded hobbit child
Bl:1:-1:0:-1:0:32:32:-1:-1:40:40:30:-:0:0
r:1:1:0:0:0
rV:1:1:1:-9999:y:-1:-1:-1:-9999:-9999:R:-1:-1:-1
G:1:2:1
M:2:2:0:32:32:0:0:1:1:1:-:0:0
G:2:3:2
W:0:3:1:-:My hero! Thank you, so much!
W:0:3:0:-:The mother is flooded in tears of joy!
W:0:3:1:-:My poor little thing, let me bandage that up…
W:0:3:1:-:Please could you gently hand her to me?
Y:0:3:-:y:-:4
Y:0:3:-:n:-:3
W:0:4:1:-:There, there….
R:4:0:0:0:0:0:0:0:0:0:0:0:0:25:0
User avatar
tangar
Posts: 1652
Joined: Tue Mar 03, 2015 3:49 pm
Contact:

Re: [in work] Quests project

Post by tangar »

Its cool quests, but I thought you've created somekind of a system in Exel, kinda engine which could help to create quests.

We need something like this:
http://textadventures.co.uk/quest

Its web-based program which create text-based games. Explanation how it works:
https://www.youtube.com/watch?v=7vIi0U4rSX4

With such system quest creation would be accessible to "humanities", people who is far away from coding.. We need something like wysiwyg-editor, but for quests.
Tangar's tileset, addon, guides & maps: English TomeNET page ||||||| Russian TomeNet page
http://youtube.com/GameGlaz — streams in English // http://youtube.com/StreamGuild — streams in Russian
My chars @ angband.oook.cz
Lightman
Posts: 165
Joined: Thu Jun 07, 2012 7:55 pm

Re: [in work] Quests project

Post by Lightman »

I took a look at what I was doing in Excel, but it isn't going to help to be honest. I could make it into a quest editor if I had time. So not right now.
Post Reply