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

GlossaryItemsMapsMonstersPlacesQuestsRacesReincarnationSkillsSpells


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!

User:Aldyron/Sandbox/Template List of monsters in habitat

From DDO wiki
Jump to navigation Jump to search
frameless link=
WARNING! You're in my sandbox.
This is just an experiment. You are advised *not* to rely on what you find here, which I could purposefully alter (even making it wrong) in order to experiment with formatting, coding and other wikiful things.
frameless link=
Work in progress
This is an incomplete, work-in-progress page. I routinely leave it half-functioning (and thus half-broken). I will remove this notice when the page's ready.


Chaotic notes[edit]

  • The namespace constraint is currently redundant. Keep it if querying time is lower with it.
Temporarily admitting namespace User in order to include testbed monster pages User:Aldyron/Sandbox/Kobold Shaman for dpl, User:Aldyron/Sandbox/Magefire Cannon for dpl.
  • Using Missing in Action as our work-in-progress target quest gives no results. Using The Grotto gives 1 result. It's the system-wide limit of 500 again: when querying the whole alphabetic-sorted list of monsters (WASLOM), no monster from Missing in Action appears in the first 500 (the first one is Dog, beyond the 500th in the WASLOM, currently Darkfang Hunter), while one monster from The Grotto is in the first 500 (Aging Sahuagin Warrior).
That is, instead of querying everything and then limiting at 500, it queries at most 500 and then checks for matches. It will never be suitable this way. Showstopper.
  • Using Vault of Night yields a few results, useful for mixed-formats wrangling.
  • Eureka. Using linksto severely limits page selections to the few monsters that actually link to the quest. Less CPU load, less storage load, less time. Drawback: doesn't take redirects into account. Oh, well, I wanted to correct every link in every monster page anyway. :-)))
  • Must check that the link to the quest actually is in the habitat parameter, otherwise you get false positives (e.g.: Velah cites Vault of Night in the description parameter, but the monster is not in the quest; likewise for Tobias Warbuckle).
  • Linked. Must provide for empty field values, otherwise we get [[]]. Employ phantom template. Update: done.
  • N.B.: Vault of Night should be The Vault of Night. It works anyway. Check for implications.
  • Update. Selection was greatly simplified by the writing of {{Monster}}. Now every monster is (*should* be) categorized by habitat too.
    • Also note that not only do the habitats need to be updated using the new indexed habitat### format, but we must check and compare the Special:WhatLinksHere for each monster as well to make sure that we are not missing any habitats as we go. ShoeMaker (Contribs • Message) 09:12, October 11, 2016 (EDT)
  • Using Missing in Action *and* Stealthy Repossession together, I'll have a Kobold Shaman for trying to make CR work. Will probe for more CR data points.
That's turning out to be a poor choice: it's looking more and more like Kobold Shamans always have a CR of 1/1/3/5. Probing continues.
It just occurred to me that I don't need accurate data for my test monster: I can invent. I *must* invent, in order to test edge cases.
I currently have a "master" list of properties with optional quest-rows overriding some of the details quest-wise (and I'm possibly abusing the template while doing that). Adequate for Human readers, but not when you feed it to dpl.
I think I need a database-like modular structure containing quest-rows with *all* properties but the monster's name.
Yeah, right... That would mean repeating the constant properties row after row. Maybe better to have a default-row (basically what I have now, but in explicit row-form) and quest-rows of omitted or default-overriding properties.
I may be wrong. Must mull.
BTW, is it even *possible* to do it like that?
Maybe... sparse bidimensional matrix, Quest_Property=value, built in the individual monster's page, row by row, by an ancillary template; default row automatically built by feeding the same ancillary template the current data set; (useless?) counters updated by the ancillary template; all about *data*, not presentation. Sense-making, but possibly too heavy on the parser.
I possibly don't even need the default row: I can use the current data set. Even more backwards-compatible. :-)

Staging area[edit]

  • |includematch = /the grotto/i
    • It works, but we need a much stricter check.
  • |includematch = /\x7c\s*habitat\s*=\s*[^\x7c]*Missing in Action/i
    • |includematch = / \x7c \s* habitat \s* = \s* [^\x7c]* Missing in Action / i (rewritten for clarity)
    • / (slash) opens the regex
    • \x7c matches the pipe character, |
    • \s* matches whitespace/tabs/newlines in any quantity, including zero quantity
    • [^\x7c]* matches any character except | in any quantity, including zero quantity
    • / (slash) closes the regex
    • i at the end is a PCRE Pattern Modifier for caseless matching (though I personally prefer caseful matching)
  • |includematch = /\x7c\s*habitat\s*=\s*[^\x7c]*{{{habitat|}}}/i

Usage[edit]

{{User:Aldyron/Sandbox/Template List of monsters in habitat|(habitat) <!-- Required. (habitat) is a quest or WAA or ???. This help line is a WORK IN PROGRESS. --> }}

Examples[edit]

Hissing in Action[edit]

{{User:Aldyron/Sandbox/Template List of monsters in habitat|habitat=Hissing in Action}}


Healthy Depossession[edit]

{{User:Aldyron/Sandbox/Template List of monsters in habitat|habitat=Healthy Depossession}}


The Drunken Fewer[edit]

{{User:Aldyron/Sandbox/Template List of monsters in habitat|habitat=The Drunken Fewer}}


Bands of Menechtarun[edit]

{{User:Aldyron/Sandbox/Template List of monsters in habitat|habitat=Bands of Menechtarun}}


CATEGORIZATION[edit]

Coding[edit]

(see source)