Year of the Dragon: Through April 23rd, claim the adventure pack Slice of Life for free! Speak to Xatheral in the Hall of Heroes.

Game mechanicsNewbie guideIn developmentDDO StoreSocial Media

ChallengesClassesCollectablesCraftingEnhancementsEpic DestiniesFavorFeats


Please create an account or log in to build a reputation and unlock more editing privileges, and then visit DDO wiki's IRC Chat/Discord if you need any help!

Template talk:Quest

From DDO wiki
Jump to navigation Jump to search
⇑   ⇑   Back to top   ⇑   ⇑
Past discussions archived to...


This could use a Flagging item. Hoopy Froodle (ContribsMessage) 21:45, January 23, 2017 (EST)

  • Bump. Flagging parameter still isn't present in the template. Quests with flagging have it, DPL for flagging uses it. The template itself ignores it and doesn't have it documented. Faltout (ContribsMessage) 11:51, April 1, 2018 (EDT)
  • Working as currently intended. Flagging has always gone in the Overview section. The Flagging parameter is used on some pages to offer a possibly abbreviated version to DPL queries that make use of it and should not replace typing out the full flagging routine on the quest page itself as a subsection of the |overview=. If you'd like to change how it's intended to work, feel free to start a discussion on it. Thanks.  👟 ShoeMaker (Contribs • Message) 👟 04:15, April 3, 2018 (EDT)

questloc, adpack categorization[edit]

I have a couple of requests for this template.

  • Starting with |questloc=. First requested here (Template_talk:Quest/Archive01#Quest_Zones) but never implemented. This parameter should have at least 2 possible values because of 2 quests (Desert Caravan, Ritual Sacrifice) that can be accessed from 2 places. It should also be linked automatically by the template. Finally, quests should be categorized using this information (Quests in <questloc>) and categorization using |zone= should have a different name (Quests aqcuired in <zone>).
  • All quests have had their |adpack= updated. I made sure of that. Now it is time for the template to start categorizing the quests to adventure packs (<adpack> quests). Also, do not add this categorization to the {{Adpack}} template or a whole bunch of irrelevant pages will be categorized as well.

I have more modifications in mind, but those will do for now so I can start working on updating a bunch of pages with DPL.
Faltout (ContribsMessage) 07:48, April 26, 2018 (EDT)

  • I believe Into the Mists can also be entered from two places, House J and EStar; and the two free L15 Wheloon pre-quests can be entered from EStar or Wheloon (the third one that's part of the Shadowfell XPac can be picked up in EStar, but you have to go to Wheloon to enter, and a few others have alternative entrances but in the same zone, so I think these don't fit the parameters of this). But... where's the second entrance for RitSac? I only know about the one from Vale along the ridge. LrdSlvrhnd (ContribsMessage) 14:02, April 26, 2018 (EDT)
  • I added the |dungeonentrance= in Template:Quest/sandbox2 and Template:MissionInfoBox/sandbox2. It can accept multiple values separated by comma. For example (Desert Caravan): dungeonentrance=House Phiarlan,Zawabi's Refuge. Before deciding on the comma separation, I checked all the known zones for commas present in their name and didn't find any. Also added categorization for |dungeonentrance= ("Quests in <dungeonentrance>"), for |adpack= ("<adpack> quests") and changed the categorization of |zone= from "<zone> quests" to "Quests acquired in <zone>". The new parameter "dungeonentrance" will be visible in the MissionInfoBox (testcase1).
    I await for the code review and discussion. Note that the testcase doesn't have any categories because then it would appear in quest tables. To see if categorization works, remove the DPL section at the top of the testcase page and preview. The categories should be visible at the bottom. Faltout (ContribsMessage) 15:15, July 14, 2018 (EDT)
  • I notice that 2 days ago categorization according to adpack was added. That's good news because now I can finally add the quest DPL template to the adventure pack pages like I've done with the patron pages. Unfortunately, the previous categorization according to location was not removed (like I've proposed above) and now both categorizations are: "<adpack> quests" and "<bestowloc> quests" which creates confusion. I remind you that I've proposed some well-thought changes above and implemented them in the sandbox pages. Faltout (ContribsMessage) 09:24, July 24, 2020 (EDT)
    • I notice that 2 days ago, categorization changed again (when it was moved to {{MissionInfoBox}}) and became the same categorization for everything instead of separating the different types like I've mentioned above. It's now "<patron> quests", "<zone> quests", "<adpack> quests" and so on. This is obviously not functional given that a quest located in The Twelve may have The Gatekeepers as patron or a quest belonging to the Vale of Twilight pack may be in the Meridia area. The important functionality that was lost with the change was that the patron pages can no longer get their quest lists automatically and as a result, the favor in the favor page cannot be calculated. An unrelated note: Categorization should happen in this template as it has all the parameters to perform that categorization while the InfoBox only has some of them. This will allow categorization to be in the same place. Faltout (ContribsMessage) 05:20, July 26, 2020 (EDT)
      • Working as intended. Thanks. You can just use {{Quest list}} with a single parameter for patron, zone, adpack, etc and it'll create our list of quests for that area, patron, etc. You can pull up overlapping lists without issue. The only thing I need to figure out is why ' causes a DB issue when doing a query.  👟 ShoeMaker (Contribs • Message) 👟 09:13, July 26, 2020 (EDT)
        • Can you please add usage and examples to T:Quest list? For example, create a list of quests that grant House Jorasco favor; or a list of quests with bestowers in House Jorasco. Thanks. Cru121 (ContribsMessage) 02:10, July 27, 2020 (EDT)
          • Quest list is pretty simply. It creates a lists of quest for [<thing> quests] and sub-categories two levels deep. It's still a brand new work in progress as I've been stalled waiting on Xevo to resolve some SQL database issues (it can't produce results for category title with a ' single quote in the title). I'll add documentation and refine the process as I go. If Faltout already had something for this, he should have applied it to all the adpack pages, area pages, patron pages and if he had changes he wanted in a protected template he should of created a sandbox template and requested the changes. This should have been done a long time ago, but I get it - as volunteers, we get to things as they come to us.  👟 ShoeMaker (Contribs • Message) 👟 08:32, July 27, 2020 (EDT)
            • If you look at the start of this section, you will see that I requested categorization based on adpack 2 years ago and implemented the changes in the sandbox pages. I felt I needed to mention that because I find it funny that you say "If you wanted it, you should have implemented it long time ago" when that's exactly what I did... Faltout (ContribsMessage) 11:01, July 27, 2020 (EDT)
              • Yet it wasn't there until I added it just recently for the work on a project I started working on with {{Quest list}}. Apparently, almost no-one saw this discussion two years ago because it was never implemented or worked on and seems to have been quickly abandoned. I'd suggest next time you make use of the {{Edit request}} template to draw the attention of administrators who can preform the edits based on what is in the sandbox that the testcases show as working and viable. Before you get all defensive, I said next time as I realize that template didn't exist until 2018/11 and this request was 2018/07. For this request, it may have been in your best interest to pop into Discord or IRC (which has been around a VERY long time) or drop a note on a few different administrators' talk pages.  👟 ShoeMaker (Contribs • Message) 👟 08:51, July 29, 2020 (EDT)

Xp bonus[edit]

I just noticed that the bonus xp (conquest, ransack, whatnot) do not generate any xp numbers for epic xp. This template needs to send the epic xp values (if they exist) to {{XP bonus}}. Faltout (ContribsMessage) 05:57, July 21, 2018 (EDT)

Updated Quest Infobox[edit]

A Updated version quest info box is finally complete and up for review at Template:Sandbox/Bladedge. Its a complete overhaul to replace the existing info box which is outdated and missing information. Bladedge (ContribsMessage) 15:54, December 1, 2019 (EST)

  • Can you add the changes to make |mappic= not limited to 6 using #forargs?
  • Maybe use {{Reaper XP}} in the reaper section to show the skulls?
  • casual • normal • hard • elite XP values for heroic • epic • legendary should have separate inputs and not use {{Xpcolors}} nested like that. Separate values are required in the (parent {{Quest}}) template to show correct optional xp values anyway.
  • What's the |chaptera= through |chapterz= supposed to be for?
  • There aren't, and I don't expect there to be any quests with more than two of three, heroic • epic • legendary versions, so can we compact the levels for that to be side-by-side instead of stacked on separate rows? On the same note, favor could be collapsed to two rows with "Favor: solo" on top of "norm: hard: elite:" and some of the bottom section with chests, traps, collectable nodes, etc could be collapsed as well.
Just a first pass of thoughts before moving this to live.  👟 ShoeMaker (Contribs • Message) 👟 23:24, December 1, 2019 (EST)
  1. Ill see what I can do.
  2. Didn't like the hover over icon for popups doesnt work well for touchscreens. Kept it to raw math..
    • Kept it text base, no popups /rollovers/ hoverover, no duration mods just the same rxp you see at top of quest xp report Bladedge (ContribsMessage) 13:45, June 7, 2020 (EST)
  3. Leftover working code from when i started long ago. Came back, it work, kept it, but Ill change it.
  4. The order in which the quests in the quest chain takes place.
  5. XP rows collapse when blank, almost similar for saga. The reaper row were suppose to collapse but seems I forgot to code it , instead it now gives a expression error message....
    • Originally had it side by side as a third column but it looked cluttered and thru off the box quick readability.
    • Originally had it plan to hide chest, traps, etc when they not part of the quest. Then I thought just have this part remain visible as to show it wasn't omitted and to say up front "Here the numbers even if 0".
  6. Info I was going add: Ransack, Discreet, Conquest, Devious, monsters which could be info overload.

Bladedge (ContribsMessage) 18:46, February 9, 2020 (EST)

  1. free parameter: Keep it simple with a yes/no value. No "expansion" values or it will bring confusion to the public. Use {{IO}} to discover if the parameter holds a "yes" or "no" value instead of re-coding your own solution. If the parameter is empty, your response is inconsistent. On the one hand, a red unspecified appears, on the other hand the category "Pay to Play" is applied. If you are not sure what to do, do nothing and be consistent with that.
  2. advpack parameter: You changed the name from the current template. This means that ALL the quest pages will need to be updated to change a letter in a parameter. It also means that EVERY template that used this parameter (DPL templates) will need to be changed. Who is going to do that? Since the last time this template was updated some years ago, the quest pages have STILL not been updated. There also needs to be categorization based on adventure pack (see #questloc, adpack categorization above).
  3. name parameter: You also need a |pagename= parameter. The use of this parameter is so you can only apply categories if the parameter pagename and the magic word pagename have the same value. This prevents pages that transclude this template (accidentally or intentionally) from getting categories that do not belong to them.
  4. questtype parameter: Again, you change the name of already existing parameters. There are 2 parameters right now |raid= and |solo only= that provide all the information. And it's much simpler to use 2 parameters for this information because they describe different things. You also forgot the categorization for raids.
  5. level/epic/legendary parameters: You forgot the categorization per level.
  6. solo/normal/etc. parameters: You seem like you care if those parameters have values, but if you use xpcolors and the parameters do not have values then nothing appears (the same thing you want). Remove the "ifeq" coding. Note however, that if you want to use it again someplace else, you do not need to place the parameter value in the place of the letters. Placing nothing works just as well.
  7. reaper parameter: Your reaper xp calculation is wrong. The value you found is multiplied by quest duration as well. If the reaper parameter is empty, you should assume this is a non-reaper quest. Also, apply categorization. "Reaper quests", or "Non-reaper quests".
  8. world parameter: Remove the switch code. When Feywild or any other future world is released, accepting only those worlds means that the template will need to change. Furthermore, Demonweb is not forgotten realms. If someone would want to place this option, they should be able to. And what about quests taking place in multiple worlds (Beyond the Rift)? This parameter needs to accept a comma-separated list of world names and just link the individual names. Also, since you went into the trouble of getting this kind of information for a quest, you should also apply proper categorization. Something like "Quests in the <world> world".
  9. questchain parameter: Instead of yes/no, this should be the name of the quest chain. Also, apply categorization. Something like "<questchain> chain quests".
  10. chaptera/chapterz parameters: Those need descriptive names. I could not understand what their purpose was until I read the code. Better names would be "chapter number" and "total chapters".
  11. order parameter: You are accepting too many values for this (one of them is "finial"?). Keep it simple and strict. Yes/No/Capstone.
  12. flag parameter: If flag is true, say "Requires flagging (see Overview)". If flag is empty/false, say nothing. To add to that, the quest template should finally acknowledge the (already existing) |flagging= parameter and print what is needed to flag in the overview section.
  13. duration parameter: Why would you shorten the accepted values? Keep it strict. very short, short, medium, long, very long. Only those should be accepted and no other. Otherwise, some editors may start placing single letter values and confuse the editors coming after them. Also, where is the categorization?
  14. questacquired parameter: The name is not descriptive. A better name would be "bestow loc" (the same I used in {{Journal entry}}). We currently use the name "zone" which is even worse. However, changing the name of that parameter means that we need to update the quest pages as well as all the other templates. If the name is to be changed, the template should accept both "zone" and the new name. The categorization (which you forgot) also needs to change from "<zone> quests" to "Quests acquired in <zone>". Finally, since quests can be bestowed from multiple locations (for example Desert Caravan), this parameter also needs to accept a comma-separated list of values.
  15. questgiver parameter: The current name is "bestower" and it's pretty descriptive. There's no reason to change that. What needs to change is that it also needs a comma-separated list of values due to quests that have more than one bestower. I see that you print the questgiver as "NPC Contact". This is wrong, since the person that gives the quest is sometimes different than the person receiving the quest. The current name for the receiver is "npc". The bestower parameter also needs some special value for the walk-up quests.
  16. entrance parameter: It could be a bit more descriptive like "entrance loc". It also needs categorization. Something like "Quests in <entrance loc>". I don't understand why you have the switch in the code. Why would anyone ever specify the entrance as "no"? A quest with no dungeon entrance? Those are not quests, they are merely journal entries (and have their own template).
  17. dungeon parameter: The current name is "loc" and it sucks. However, if you are going to change the name, you should accept both parameters. Again, I don't understand the switch code. Every dungeon has a name, no reason there would be a "no" value.
  18. saga parameter: The saga quests are few. I don't see the need to spam "No saga available" in most of the quest infoboxes. If the parameter is left empty, remove the saga section entirely from the infobox.
  19. hsaga#/hsaganame# parameters: The code for those parameters is awful. Use "forargs" code and remove one of those parameters. Why do you need someone to tell you "hsaga1=yes" if there's also "hsaganame1=My saga"? Just supplying the name of the saga that contains the quest should be enough. And why do you need the distinction between heroic/epic/legendary sagas? The names of the sagas contain the word (Epic) in them. If you simply supply a link to the saga, there should be no confusion. Having said all that, my opinion is that the information about sagas should not be given in the quest page, but rather in the saga page. Using a saga template to list all the quests included in that saga, the quest page can then use DPL to collect the names of the sagas that include this quest and display them. So my opinion is that the saga parameters should go away and DPL replace them.
  20. patron parameter: First of all, the patron code is currently working. Why would you use a switch statement like that? Nobody places "AgeNTs OF arGOnNesseN" as a value for you to need to convert everything to lower case. Second, using hard-coded patrons means that every time a new patron is introduced, the quest template needs to be updated with the new patron value. The quest template is admin-protected. Are you personally going to be here on the lamannia update day to add the new patron? Because the other admins certainly won't be. Just look at how awful the code for the quest template is. If it was actually being maintained, we wouldn't need such an update to the template. You also forgot categorization.
  21. favor parameter: If the parameter is left empty, you should make a warning appear instead of expression errors. You should also make the values more compact. Having 4 rows for each favor value takes up a lot of space. "Solo" should actually be "Casual" in case there are multiple difficulties, "Solo" when the quest is solo only and non-existent when the quest is a raid. Also, Casual doesn't award 3.5 favor. The number is rounded down (see Base favor). You also forgot categorization.
  22. chest/collectable/lock/secretdoor/trap parameters: Displaying those in the infobox just takes up space. Also consider a single number value is misleading in most quests. There may be chests that only appear if a rare monster is present. There are champion chests. The party may need to split and not able to access all collectables in the quest. The locks may be pickable but also have keys within the quest. The secret doors and traps may be random. Those quest elements are explained in detail in the |expect=, |traps=, |misc= and |chest= sections.
  23. mappic parameters: Use "forargs". Label each map with a number so the tips section can reference the map number. Do not use extra rows if no maps exist.
  24. General coding notes
    • The editors are going to copy/paste the parameters of the template and fill them up gradually. You need to consider that every parameter will at some point be empty (but still existing) and you need to handle that emptiness gracefully and not show errors/empty lines/incorrect categories/etc. Using {{#switch:{{{parameter|no}}}|no=No value|#default={{{parameter|}}} }} is wrong. In this case, the parameter will exist, but be empty. Because the parameter exists, it will never take the default value of "no" and always go to the "#default" case of the switch. However, because the parameter is empty, you will show nothing. The only way to check if the user has given you a value is to use "#if". Every time you want to place a new row with some information, encapsulate the row in {{#if: {{{parameter|}}} | {{!}}- <!--row start--> {{!}} <!--cell start--> Information: {{{parameter}}} }} (see {{Journal entry}} for how hiding rows is done).
    • Keep the accepted values strict and self-explanatory. Editors have no problem writing the full "very long". Editors seeing "vl" as a value on the other hand may be confused. On that note, every time you want to check if a value is true or false, you should use the {{IO}} template. Most of the templates in the wiki use that and having a standard for which values mean false and which mean true is good.
    • Categorization should be done by the quest template and not the infobox. However, do not forget that the quests need categories because there are templates and other pages that use those categories. This means you need to update the quest template with all the categories mentioned above. A good practice is to have all the categorization in one place and encapsulate it with {{#ifeq:{{FULLPAGENAME}}|{{{pagename|}}} to only apply categories if the template is in the same page as the pagename parameter.
    • Do not use hard-coded values for information that is bound to change like sagas, patrons or worlds. Whatever the user enters (if it's non-empty), assume it's true and show it.
    • Do not bother with misuse of parameters. Showing "Wrong template" if someone puts "challenge" in questtype is not needed. Such simple errors (if they ever happen) are corrected almost immediately by editors.
    • Indent your code so that it is readable by others. Empty characters in front or at the end of values in parser functions are ignored. This means that {{#if:foo|foo|bar}} and {{#if: foo | foo| bar }} are exactly the same. You can use that to have the if-true code in a separate line and the if-false code in another line both properly indented. If you are not inside a parser function and spaces matter, use comments to keep indenting your code. Indenting your code is most needed when there are nested parser functions or long values and it's not immediately apparent where one function starts and ends.
    • Use comma-separated lists for multiple values or "forargs" when the values may contain commas.
    • You forgot the |extreme= parameter.
    • Keep in mind that some quests do not contain much info in the tips section. If you create a very long infobox, then the loot/monster tables of the page will require a huge scroll and leave a large amount of white space. (for example look at the white space in Housekeeping)

Change announcement[edit]

I have created an updated version which can be found as U:Corgrind/Sandbox/T:Project3

Purpose of this update are:

  • Implement a new parameter "maxnodes" to be used for quests which have a lot of random collectable nodes.
  • implement a new parameter "Shares favor level" which is now used for compendium categories. That prepares a change how this is handled in MIB I plan in future.
    • This change requires a update of the related quest pages which I will process then.
    • I could pull the level value from the related quest page with a DPL statement, but I think this is too much wasted CPU time for just a categorization.
  • move external links section behind Bonus XP and before loot. Most of these links refer to Youtube videos and I believe tzhey should be visible istead of hidden behind probably looooong lists of items and monsters
  • Anchor text for optional XP now reads "legendary" if quest is L30 or higher
  • collect all functional categorization at the end of the template
  • Update of snippet and parameter description

Change in categorization:

  • Fixed raid categorization for L30 raids (now legendary)
  • Count of collectables takes new parameter into account
  • I kept "epic" in the compendium categories mainly because I don't want to update a lot of categories and also the compendium still knows nothing about legendary.
    • The parameter "compendium = no" is not set on any quest page where it should be.

maxnodes has no effect on the general categorization scheme. Also it only has an effect if the new collectable params are used. What happens for example is that the quest Taken in Hand will display the collectable block like this :

  • Collectables: 2 out of
    • Rubble — in the room with the Dinosaur Master
    • Bookshelf — near the north-east shrine
    • Adventurer's Pack — in the room before the Necromancer
    • Alchemy Table — near the north-west shrine

and swap from C:Quests with collectables/4 to C:Quests with collectables/2


BTW: This is the current ToDo list for quests pages:

  • A lot of quest pages still use the old collectable parameter
  • Most quest pages have not been updated to reflect the changes in calculating the conquests limits.
    • For quests which have at least one of the parameters higher than 100 this should be 33/67/100
    • For all others a review is needed.
  • Many loot pages still use dedicated lists/tables instead of a DPL list
  • One note I'd like to add on this - "shares favor" might not be the exact best wording in this case, because a lot of the pages you're proposing to apply it to don't actually share favor counts with each other - to wit, all of the raids currently in "Quest pages using XP parameter with value" have seperate favor counts for the Heroic and Epic/Legendary versions of each raid, often with different base values. (The Chronoscope is a bit of a weird case because its Heroic and Epic versions share the same entry, but the Legendary version has its own.) PurpleSerpent (ContribsMessage) 10:44, March 22, 2024 (EDT)
  • After adding some maintenance categories I noticed that I have an issue here. But we have to get rid of the params xp, heroicxp and epicxp because they are even more confusing
  • BTW: Any suggestiuons for a better name other than "related quest page" ? Corgrind (ContribsMessage) 11:28, March 23, 2024 (EDT)
  • We could just swap in "heroicxpnotes" and "epicxpnotes" for "heroicxp" and "epicxp" respectively on those pages that need them - "xp" ought really to be removed entirely. PurpleSerpent (ContribsMessage) 14:36, March 24, 2024 (EDT)

Final version in published[edit]

I have published the final version of the new T:Quest template at U:Corgrind/Sandbox/T:Project3. This is a list of changes to the current version:

  • "enhanced" (hopefully) Usage block
    • Updated snippet and parameter description
    • Separated some spcial parameters and described them as such
    • Added a list of maintenance categories (some are new)
  • removed code for {{{{obj}}}
  • removed code for {{{failure}}}}
  • modified a lot of code for better parameter validation
  • moved the {{{external}}}} section behind the bonus XP section
  • Introduced the parameter {{{maxnodes}}}} into the collectables processing
  • modified the NPC reward section to give default texts and also categorize pages with specific value
  • removed code for {{{monsters}}}} and added a visible reference to related category if that does not exists
  • collected all categorization in a block at the end:
    • first the maintenance categiries which are always active
    • then the fuctional categiries which may be deactivated by {{{history|yes}}}} or {{{nocat|yes}}}}
  • Removed code for {{{monsters}}} changed the text to explicitely mention the missing category.

I kept handling {{{xp}}}}, {{{heroicxp}}}} and {{{epicxp}}}} because I have no final idea for that, and also there will be an update to MissionInfoBox included, but {{{shares favor}}}} is dominant if given. We cannot remove that parameter anymore because it is used in several DPL phantoms by U:Faltout.

For all: Please check the Usage section for errors to improve that even more. Please use the talk page there for comments and don't edit the template itself; I running a validation at the moment and may overwrite the page from the development stage. Corgrind (ContribsMessage) 07:19, March 24, 2024 (EDT)