Tutorial: Wiki Editing II

From ChatWars Wiki
Revision as of 19:13, 10 September 2018 by LuGam (talk | contribs) ("But where's the hook?")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Purpose of this page

Yo, I'll keep this rather informal here, see it as some sort of info post in telegram or whatever. This page is meant to give a short overview about the state of the wiki right now (2018-07-17), what the problems are and how we want to work on that now.

Current problems

Well. As you might have experienced the last few days, we had some technical stuff going on with the wiki, I'm sorry for the inconveniences this may have caused. But the reason for this is that we (okay, Luis and me) decided it's time to get a big update done. The wiki grew so much over time, the amount of information is getting more and more and this causes some problems with information spread out everywhere:

  • For example we list all item IDs on Master List of Item Codes, while on the item pages they might be missing or the other way around, the item might not be listed on the master list page.
  • Recipes are listed on the item pages, e.g. Potion of Rage, but when we want to have an overview page over all recipes/alchemy recipes Recipe, we need to enter all that again - so many possibilities to make mistakes or keep things not updated/synchronized. Speaking of, of course mana/morph/twilight potions not even mentioned on those pages. you see the problem?
  • We have the fanciest class pages with nice tables of the skill caps. Nice, right? And how often did you hear "Why are the skill caps not visible on the skill pages?"

I guess I made my point here.

What we want

All those problems can be pinned down to one single thing: information is not defined at single points but all over the pages. The concept of a wiki is to have the information on the most basic/detailed page and all other pages should use this information. The master list of item codes list should get those item codes from the pages of the items automatically - when we change something on the item page, the master list has to update automatically. The class pages should use the skill caps from the skill pages.

How to get that: We want to use variables that can be set in the wiki on the item pages for example and that can be called from everywhere or that can be used as keywords that can be searched. The master list page could have a function call like

Search for all items that have an Item ID, list their names and the ID in a table.

Semantic Wiki

I installed an extension to the wiki, called "Semantic Wiki" that allows us to do exactly that. Variables are called "Properties" in this system. All properties have a certain type that has to be defined. Examples in this wiki are Property:ItemID, of the type "text", so we can set strings like k38 or 516 as ItemIDs. Another property is Property:Weight, this will be a number, obviously. The software will cry if we assign the wrong type to a property. All properties that were defined for this wiki can be found at https://chatwars-wiki.de/index.php?title=Category:Property

How to assign properties

The following example shows how to assign the property to a page:


{{#set:
| ItemID=k38
}}

The #set function assigns the properties to a page without creating any visible sign on the page of doing so. It should be noted that we can only search for properties if they are not-empty. So if we have item pages with a bunch of properties, but the ItemID property is not set, we can't search for "list of all items" by searching for all pages with an item ID.

The big task

Items

I think it's obvious what I will ask of you now... we need to assign a fuckton of properties to a fuckton of pages. But on the long run, we will profit of this in the best way. While we're working on functions to call all these properties and automate stuff, check out PropertyExampleList. I copied the empty list of property values there, some comments are there to explain which property expects which assignment. Most of them are pretty obvious, but please don't hesitate to contact me (@TheGrumpyGecko) or Luis (@LuGam) if you have questions with any of that.

This list of properties is relevant for all items: Weapons, Armor, Potions, Pieces of Equipment, Recipes... If you copy this list of properties, do us a favor and fill out at least the following three/four variables:

 ItemID -> A string
 ItemType -> One of the following: "Weapon", "Protective Gear", "Potion", "Piece of Equipment", "Recipe (Item)", "Consumable", "Resource", "Misc". Without the quotes. 
 ItemSubType -> only if applicable e.g. "Sword", "Alchemy Resource", "Boots". Keep it empty for standard resources
 Note -> Short state of the property assignment, like "needs rework", "almost all properties missing". 

The other properties are important, too, but this is crucial stuff.

Okay, and probably another important thing is to explain how recipes are entered. Take a look again on PropertyExampleList and scroll down. I copied the current state of the Coke page properties. The recipe is entered at the bottom of the property list. They are assigned outside of the set-function, (insert technical blablabla, those are sub-properties. not relevant for you, I guess). Just enter all items needed to craft there and the amount, example from the page about coke:


{{#subobject:
 |Crafting ingredient=Coal
 |Qty=3
}}
{{#subobject:
 |Crafting ingredient=Charcoal
 |Qty=3
}}

Would be nice if you fill that out, too, where it is needed.

Skills

Skills will be moved to the new system as well - check this example of the skill Power Napping:

{{#set:
| BoolSpecialSkill=true
| Description=Advancing this skill increases speed of stamina regeneration, while you are at rest.
| Level10=0
| Level11=0
  .
  .
  .
| Level27=1
| Level28=1
| Level29=1

| Level30=2
| Level31=2
| Level32=2
| Level33=2
  .
  .
  .
}}

(look at the power napping page for the full table)

you get the idea.

just assign each level its respective skill cap (yes, also add level 10 to 19 with cap 0 if the skill only unlocks at level 20)

"But what if I don't know the skill cap/have no confirmation?"

It's good you ask!

if you are not sure about a skill cap, but you think it is right because of extrapolation from earlier patterns for example, just add an "*" after the cap - the respective skill cap will be marked with light blue background in tables which indicates it being an estimate. And if you don't know the skill at all just write a question mark instead of the level cap (this thing: "?") it will be marked in red in all tables.

Now to actually show the skill caps ON THE INDIVIDUAL SKILL PAGES (we will work on the summary tables for each class because they're more complicated and we're not quite sure how to do them yet) add:

{|class="wikitable" style="width: 90%; text-align: center"
|+ Skill caps for levels 20-39
|-
!scope="col" style="width: 10%; text-align: left"|Skill / Level
!scope="col" style="width: 45%; text-align: left"|Description
!20
!21
!22
!23
  .
  .
  .
!36
!37
!38
!39
|-
{{#ask: [[{{PAGENAME}}]]
|headers=hide
|format=template
|template=SkillRow
|?BoolSpecialSkill
|?Description#

|?Level20#
|?Level21#
|?Level22#
|?Level23#
  .
  .
  .
|?Level36#
|?Level37#
|?Level38#
|?Level39#
}}
|}

(look at the power napping page for the full table) I trust you to be able to change the header of the table ("Skill caps for levels 20-39") and the column names (the actual level indicators) accordingly (since there will need to be at least 2 tables; each table should not have more than 20 levels, otherwise it's just too crowded - make a table for:

  • lvl10-19 (if the skill is already available there)
  • then 20-39
  • then 40-59

"But where's the hook?"

I'm glad you asked!

Please REEEEAAAALLLY keep the properties in the right order for the #ask. Why? Well, it doesn't work otherwise.

Also: DO NOT(!) write something else in the "level" properties. It will break the table (it will be interpreted by the program as a valid skill cap and will be displayed as such, like, it doesn't kill things, but it really messes up the output)

Also Also: CAPITALIZATION IS REALLY IMPORTANT. THE PROPERTY NAMES HAVE TO BE CAPITALIZED EXACTLY LIKE IN HERE (capital "L", small everything else and the number of the level following immediately after without space or underscore or anything).


Now, last but not least:

Some skills have different skill caps for different classes. In that case please do NOT call the properties "LevelXX", but call them:

  • Alchemist: AcLevelXX
  • Blacksmith: BsLevelXX
  • Collector: ClLevelXX
  • Knight: KnLevelXX
  • Sentinel: SnLevelXX
  • Ranger: RnLevelXX

If for example Knights and Sentinels have the same skill caps (eg Prudent Duelist) please still define properties for both of them, even though it is duplicating (make sure to copy the information to both of them). There may be a better solution to that in the future, but for now this will have to do.

Also, in that case please also make tables for each of the classes (Ranger, Knight, Sentinel) (You can merge two tables if they are exactly the same skill caps like for Sentinels and Knights, just make sure it's understandable that this is the skill cap table for both of them)

That should be it - don't forget, we're always here for questions

Final remarks

Feel free to ask in the taskforce group or in private chat. I'll update this page or create another one to explain how to search for properties. But we really need to focus on setting all that, first. When we got a list of working properties for skills, we'll notify you. For now, let's focus on the items. Thank you for your help!

-- GrumpyGecko Wolf.png Collector, 22:13, 17 July 2018 (CEST)