WazHack

WazHack

29 ratings
Modding WazHack
By Waz
This guide describes how to use the modding features of WazHack.
   
Award
Favorite
Favorited
Unfavorite
Creating a new Mod
A mod for WazHack consists of a folder or simple text and image files. That folder is inside a "mods" folder which you will need to create in a special location:

On Windows:
%UserProfile%\AppData\LocalLow\Waz\WazHack\mods\

On MacOSX:
~/Library/Application Support/Waz/WazHack/mods

On Linux:
$XDG_CONFIG_HOME/unity3d/Waz/WazHack/mods

On Android:
Android/data/com.wazhack.WazHack/files/mods

On iOS, mods cannot be editted on-device. Create them on a PC then upload them to mod.io as described below.

Inside this "mods" folder you create your own folder (eg. "MyMod"), which must have these files:

  • metadata.txt
  • preview.jpg

The metadata.txt is in a simple "text tree" format that WazHack uses for most files. It is a tree structure of key-value pairs where depth is defined by single spaces. For example:

WazHackMod name Waz Examples description Some example character classes. tags Balanced,Allow on Mobile

Note the single space at the start of the "name" and "description" lines. Once uploaded, an additional "id" property will be added to the file automatically; it should not be changed.

The "tags" is a list of tags from the permitted list. If the tags include "Allow on Mobile", then you are giving permission for the mod to be published to users of the mobile version. Note that this does not guarantee that it will be made available.

The preview.jpg is the image you choose to represent your mod. Perhaps a group shot of your character classes. It should be a 16:9 image. Extensions of png, jpg, and jpeg are accepted.

Your mod's folder will also contain one .txt file for each new character class you wish to define, which use a similar file format.

See the "Waz Examples" mod for some examples: http://steamcommunity.com/sharedfiles/filedetails/?id=845557618
Creating a new Character Class
After creating your empty mod, you need to add some content. Currently, WazHack supports adding new character classes based on species of creatures in the game. You can play the game as a Kobold if you want, and you can give him any starting equipment you like. Obviously this can easily be abused to make overpowered classes that may spoil the game for you or for anyone else who tries your classes, so be sure to warn players if your mod includes overpowered classes both in the description and by adding the tag "Unbalanced" to the tags in the metadata.txt.

A new class is defined by a simple .txt file in your mod's folder, alongside the "metadata.txt" file described in the previous section.

Here is a sample, which if put in a orc.txt file defines a weak Orc:

WazHackModClass name Orc Adventurer description The Orc Adventurer is a furious creature with typically crude orcish gear. content type orc inventory 0 uncursed +0 orcish helm 1 uncursed +0 orcish ringmail 2 uncursed +0 orcish shield 3 uncursed +0 orcish shortsword 4 3 loaves of bread sex 1 pet giant rat petLevel 1 talents 0 gastronomy 1 dual wielding 2 first aid 3 mighty blows 4 shield parry 5 weapon knowledge 6 fury 7 courage belief foodism alignments 0 chaotic good,wild 1 neutral,even 2 chaotic evil,angry,cruel skills life,life,knives stats str 2d5+10 int 2d4+4 total 68 visuals skin #ff1111,#ffffff,0.5 scale 0.9 speed 1.1

Note again the use of single spaces to define the structure of the tree of information.

If you wish to make human characters, the "man" and "woman" types can also be used.

The supported properties under the "content" structure are:

type
The name of the creature from which the new class derives. May also be "man" or "woman".
inventory
a structure of numbered items, each item is like an in-game "wish", except loose terms like "bread" and not supported and capitalization must be correct.
sex
0=Neuter, 1=Male, 2=Female, 3=Either, 4=Plural
pet
creature name of pet (eg. cat)
petLevel
the experience level of the pet
talents
a structure of numbered items, each item is one of the in-game talents (eg. weapon knowledge). Note that Nightmare Mode is added for all classes regardless.
belief
foodism, norse gods, atheism, inner power, or darkness
alignments
a structure of numbered items, each item is an alignment (chaotic good, chaotic evil, neutral, lawful good, lawful evil) and an adjective for that alignment (eg. neutral,boring)
skills
a comma-separated list of skills to add 1 skill point to. Choices are: life, death, light, dark, knives, swords, greatswords, backswords, axes, clubs, polearms, bows, throwing, music.
stats
a structured list of items, each item is a stat (eg. "str" or "dex") as the key and a dice roll as the value. The dice role also defines the allowed range (eg. 2d6+3 is 5 to 15). An additional item "total" is an integer giving the total number of points allowed (ignored if impossible given dice).
visuals
a structured list of items, each items, each choosing styles and colors (see below)
scale
1 = normal scale for that creature, 0.5 = half-size, etc. Don't expect extremes to be playable.
speed
1 = normal speed for that creature, 0.5 = half speed, etc.

Each of the "visuals" chooses an element of the creature's body and applies a style and a color to it. Most types only support the "skin" element and no special styles. For "man" and "woman", special elements and styles are supported:

Element
man styles
woman styles
hair
long, short, friar, wild
long, short, medium, pigtails
beard
long, short, bushy
(none)

For each element, you can specify a style, texture, color, specular color, and shininess:
visuals hair long,#ff1111,#ffffff,0.5 beard short,#ff1111,#ffffff,0.5 skin myskin.png,#aa1111,#ffffff,0.5

All parts are optional.

Colors are web-style hex colors. Google "color picker".

The texture is mapped differently to each model, so you'll need to experiment, or ask for a template. The humanoid one is in Waz Examples. Alpha in the texture indicates mixing in the Color.

Note that for many creatures the color will be mixed with the textures of the creature and so may look completely terrible.

If you add the "debug" property (no value, just add it indented the same as name), you will get a little extra information, but also all textures will be output to your mod's directory. These are half-scale reduction from the built-in textures, but any scale textures can be used (though more than 512x512 is probably excessive).

Be sure to test your new class thoroughly before publishing it. Your in-development classes appear on pages just like the standard 16 character classes.

If your class does not appear, you have almost certainly made an error in the text file. You can see some verbose logging output in the WazHack_Data/output_log.txt file located where the WazHack executable is found on your system (use Steam's "browse local files" under Properties to find this).
Publishing your Mod
Steam Workshop

To publish your mod on the Steam Workshop, run WazHack, select the "Mods" option, and click the "Upload to Workshop" button that appears. You can make further changes and Update from here too, but beware of making major changes as players who are playing as your class wouldn't like to have their set of available Talents suddenly change mid-game!

When players play as a class from a mod, the savegame references the mod ID on Steam (which doesn't change) and the filename (minus the ".txt") of the class, so you should especially avoid changing these needlessly.

Note that if this is the first time you have published content, you may need to read and agree to Steam's Workshop Legal Agreement before your content will be visible to others.

Publish on mod.io

Mods published on mod.io are available to both Steam and mobile players.

To publish your mod on mod.io, pack the files in a ZIP file and submit it at https://wazhack.mod.io/ (login then press the "+" button). You can reuse your mod's preview image and description.

141 Comments
infinitetech Oct 29, 2023 @ 5:00pm 
however, if you really want to lock in a non-cursed version you could make it a +0 helm of brilliance. this wont give them any bonus, however it will make it possible to upgrade later and immune to the curse chance.

now... there did used to be a few other tags on items (ones i have not seen in a while, though could be rng), that seemed to be exclusive to other enchants/curses, like the uncurseable tag or a few others... but those give almost more potential power than the brilliance tag. other less powerful tags may also be good options as well, such as possibly a light giving item, or some other simple mixed bag qol type enchant.
infinitetech Oct 29, 2023 @ 5:00pm 
so bear with me, its been forever since i modded actively on this. but you need to identify the type of cap as well as add appropriate modifiers so... i think...:
Uncursed +0 Etched Helm

now... at one point i swore i found a tag for "_+_ Nonmagical _ _" which threw me off, because all other special types were a suffix to the item ("Helm Of Brilliance" for example) but that was near the beginning of the game and at some point it seemed to start causing issues. however, it seemed like if the type of helm (etched, crested, plumed, visored) or other item was designated that the chances of blessed/cursed items went down SIGNIFICANTLY.
Kodaxmax Oct 24, 2023 @ 11:05pm 
@infinitetech Could you give an example of a "full identified item"? An etched helm for example, how would you write it so it doesn't become of brilliance,telepathy,madness etc.?
infinitetech Oct 24, 2023 @ 8:53pm 
if you specify the exact (fully identified) item it will, in theory, stop that from happening, however, i have fought fringe cases a number of times. but that may be why almost every item players get come as a very precise version, not a random selection.

as for the pet, unsure how to help much with that, other than you could *possibly set the pet as already dead... or could attempt removing the pet check, however that may stop taming all together. or, choose a creature that will disappear right away. still doesn't help with the select screen much, but does help for in-game flavor of no starting pet.

(posting this because it has been a while since i saw Waz active)
Klokinator Oct 24, 2023 @ 4:45pm 
Hey, Waz. Don't know if you still read these. I'm just gettting into the game and I decided to make a class mod of my own. Couple questions.

1. In vanilla, you have a male and a female character who will share a pet between them. I can't replicate this effect with modded characters. Each character has their own pet and it makes the screen cluttered.
2. How do I make a character not start with a pet at all?
3. How do I guarantee an item will always start ordinary? I want my Warrior to start with a helm, but sometimes it becomes a Helm of Madness, even if I use "uncursed +0 helm"

Thanks in advance for any reply!
Jason1527 Jun 16, 2023 @ 8:27pm 
ight, iv done a few things, but nothing gave the intended result. however, there were 2 things that did not stop the wand from spawning. one was putting the text at the end like this:

uncursed +0 wand of striking (15 out of 15 charges)

this did not give charges, but its interesting that it didnt stop the wand from being created.
the other thing was trying to "add a branch" to it, like this:

uncursed +0 wand of striking
charge 15
chargemax 15

im not quite as surprised with this one, considering how modding works here, but still no dice.
if anyone can sort out how to make this work (or at least why it doesn't NOT work), please let us all know. kinda running out of uncovered ground here...
Jason1527 Jun 16, 2023 @ 8:11pm 
if i had to guess, i imagine it works like corrosion since it appears under the wand in game. not sure, just a hunch.
Jason1527 Jun 16, 2023 @ 8:05pm 
if possible, can someone get their hands on a wizard sheet? if one exists, post it here for us so we can figure this out.
Jason1527 Jun 16, 2023 @ 7:59pm 
ight, im gonna poke fun at the wand thing for a bit and see what sticks, be back soon with results.
infinitetech Jun 16, 2023 @ 12:20pm 
im just a little sad that we seemingly cannot mod in new items, zones, interactables, or npcs super easily. that would have kept this game far more active. though i do need to look further into those ideas