-
-
Notifications
You must be signed in to change notification settings - Fork 51
Guidelines
zumbak04 edited this page Nov 20, 2020
·
50 revisions
Hello! Here you will find tips or not very strict rules that we follow to make our work easier. You may not read things not related to you: you may skip flag guidelines if you work on localization.
- If you want to commit changes that aren't yours, are completely generated, moved from one place to another or contain a lot of deleted lines, commented out lines, please TRY TO write in "(GDC)" at the end of your commit message.
- TRY TO talk to reviewers! When you fix a bug or implement a feature mentioned in the review, say to everyone on GitHub it's fixed or implemented!
-
TRY TO add
wc
at the beginning of non-vanilla files (created for this mod), so we can distinguish which files are related to the mod. Examples:wc_third_war_events.txt
,wc_event_modifiers.txt
. - PLEASE read these Console Tricks. They will help in testing.
- PLEASE read these GitHub Text Tricks. They will help in communicating on GitHub.
- If you're a developer, we RECOMMEND TO take a look at
Warcraft-Guardians-of-Azeroth\.artist_resources
andWarcraft-Guardians-of-Azeroth\.coder_resources
folders. For example, in.artist_resources
you can find layered images of our icons.
- We RECOMMEND TO use Notepad++ for scripting. In these Notepad Tricks you will find the download link and some tricks.
- TRY TO follow this Code Style. This unified code style allows you to save time spent interpreting the code of other developers.
- When you create some new script like an event, decision etc., TRY TO leave a comment so other developers can know context.
- If you change vanilla lines, TRY TO write comment
# Warcraft
before these lines and highlight it by making gaps (empty lines) before and after the mod lines.
Example
prisoner = no
# Warcraft
culture = gurubashi
trait = creature_troll
trait = greedy
- We RECOMMEND TO read the Troubleshooting Article to find bugs easier. It's not said in the article, but to see the full error log you need to write these arguments:
-debug -debugscripts -fullhistoricalsetuplog -scriptlog
.
-
TRY TO to use
weight_multiplier
instead ofmean_time_to_happen
. This makes the game less laggy. More info about whatweight_multiplier
is, you can find in this Event Modding Article. -
TRY TO add as much Event Pre-triggers and Decision Pre-triggers as possible. This makes the game less laggy. Design your features so they're limited to
only_playable = yes
orai = no
or both. - If you're working on Targeted Decisions, TRY NOT TO use
all
filter. Especially, if it'sai_target_filter
.
- If your culture uses lore names TRY TO separate them from others like this:
Example
# Names
# Order:
# Arathi lore names (ancient humans)
# Azerothian lore names
# Random names
male_names = {
Anduin Thoradin Antonius Kelsing Ignaeus Lordain Meryl
Barathen Llane Landan Varian Ello Crispin Hogan Farrin Robin Rafe Role Catriona Sirra Medivh Nielas Gavinrad Abercrombie Moroes Attumen Edwin Bazil Klaven Gregor Aldous Bolten Morelan Remington Baurles
Acton Adair_Adair Adam_Adam Adrien Aedis_Aedis Alcott Aldwin_Aldwin Allan_Allan Allison_Allison Alyn_Alyn
Ander_Ander Ang_Ang Angus_Angus Anson_Anson Argos_Argos Arnold_Arnold Arthur_Arthur Augustus_Augustus
Bailey Barks Barnett Baros_Baros Barrett Bazzil_Bazzil Behsten_Behsten Ben_Ben Benjamin
Bernard_Bernard Bert Bradney Brand Brandon_Brandon Brennan Brentan Brian_Brian Brodie Bruce
Bruno Bryan_Bryan Carrington Carson Casey Chapman Chilton_Chilton Darrel Darrius Declan Dickinson
Dwayne Dwenn Dwite Dwyght Earl Edwardson Egerton Elbridge Emmyrson Fitch_Fitch Fitzgerald_Fitzgerald
Gaiman_Gaiman Gavin Hesse_Hesse Hyatt Jackson Jagger Jaiden Johan Joseph Kayden Keegan Kenelm Kerwin_Kerwin Kristoff_Kristoff Lauffer_Lauffer
Maxim Milton Neal Newall Newbold Newton Nico Osbert Parr Payton Philip Raff Ralph Randy Redfield Redmund Redwald Rell Renato Rhett Ripley Robben Rowan Ruben
Ryan Sandon Sean Shayne Simon Spenser Stefan Stuart Sullivan Sydell Taylor_Taylor Thorne Tito Tristen Wade Welborne Whittaker Wilson Winward
}
female_names = {
Decindra Mereldar
Varia Taria Tiffin Althea Keira Dorothea Eliza Vanessa
Alexandra_Alexandra Alicia_Alicia Alma_Alma Alison_Alison Akyssa_Alyssa Amber_Amber Anastasia_Anastasia Angela_Angela
Aysa_Aysa Ardwyn_Ardwyn Alexa Alize Amanda Ann Ansley Ariana Asha Ayanna Beatrix Bela Bellatrix
Bree Brigitte Bethany_Bethany Betty_Betty Camilla Carletta Carolaine Cecil Constance_Constance Celina Celsa Carla_Carla Cesaria
Catarina_Catarina Catherine_Catherine Catrina_Catrina Clerice Clover Caledra_Caledra Creada Dagena Deidra Edwina Elaine Elenor
Elisa Ellen Ember Eva Fastrada Felita Finnula Framberta Frolaica Frotlina Genovefa Gilian Gillian Gisela Gwen Halley
Hannah Idonea Isobel Isolde Jaezel Jazel Jillia Jaxon_Jaxon Josphine June Kali Kelsey Kenata Landina Lantsida Eliza Liz
Lizbeth Luana Lucille Lucretia Madelgarde Marcia Marcovefa Marjory Martinga Melania Mercy Mierelle Mirelle Morberga Nials Noira Noreen
Parella Parker Ramona Rigunth Rose Rothaide Rubia Sarias Severina Sybil Theda Theodelinda Ursyn Velvet Zarise
}
-
TRY TO name Event Namespaces like this:
WC + 3-2 Letters of Abbreviation
. For examples, the namespace ofwc_third_war_events.txt
isWCTHW
.
- Artifact icons (sprites) are declared in
Warcraft-Guardians-of-Azeroth\interface\wc_treasury.gfx
.
- If you plan to add new characters, we RECOMMEND TO take a look at This How To Create Dynasty guidelines.
- TRY NOT TO make character attributes higher than 25 (35 maximum). Having a higher value than this breaks certain vanilla events and balance.
-
TRY NOT TO change province attributes without changing
Warcraft-Guardians-of-Azeroth\map\provinceDef.xls
. This is because the next map generation will clear all of your changes. For more information, Visit this Utility Guide. DO NOT open thisprovinceDef.xls
in any program except Microsoft Excel 2010 or above. - Using this Utility, MAKE SURE your settings in
<folder where you installed utility>/config.properties
look like this except formoddirectory
andintalldir
lines.
Click to expand
landedTitlesName=01_landed_titles.txt
writeTitleHistory=true
writeTechnologyHistory=true
PLACEHOLDER_FLAG_CHECKSUMS=730032328,2982430784,2136429345,686042394,1250550140,4068395823,1226274226
PLACEHOLDER_FLAG=default_flag.tga
LOCALISATION_PREFIX=00_
templateTop = # {name}\n\
\n\
# County Title\n\
title = {name}\n\
\n\
# Settlements\n\
max_settlements = {maxSettlements}\n
templateBottom = \n\
# Misc\n\
culture = {culture}\n\
religion = {religion}\n\
{terrain}
header = ###### AUTO GENERATED CONTENT (c) CKTools v19 ######\n\n
empireTemplate = \
e_{name} = {\n\
\tcolor={ {red} {green} {blue} }\n\
\tcolor2={ 255 255 20 }\n\
\t\n\
\tcapital = {capitalId} # {capital}\n\
\tculture = {culture}\n\
\t\n
kingdomTemplate = \
k_{name} = {\n\
\tcolor={ {red} {green} {blue} }\n\
\tcolor2={ 255 255 255 }\n\
\t\n\
\tcapital = {capitalId} # {capital}\n\
\tculture = {culture}\n\
{languages}\
\t\n
duchyTemplate = \
d_{name} = {\n\
\tcolor={ {red} {green} {blue} }\n\
\tcolor2={ 255 255 255 }\n\
\t\n\
\tcapital = {capitalId} # {capital}\n\
\tculture = {culture}\n\
{languages}\
\t\n
countyTemplate = \
c_{name} = { # {countyId}\n\
\tcolor={ {red} {green} {blue} }\n\
\tcolor2={ 255 255 255 }\n\
{languages}\
\t\n
baronyTemplate = \
b_{name} = {\n\
\tused_for_dynasty_names = no\n\
\n
titlePreamble_B = \
# {topLiege}\n\
1.1.1={\n\
\tlaw = agnatic_succession\n\
\tlaw = succ_gavelkind\n\
}\n
titlePreamble_C = \
# {topLiege}\n
titlePreamble_T = \
# {topLiege}\n
titleLiegeDefinition = \
800.1.1={\n\
\tliege={liege}\n\
}\n
defaultMap_Center = \
definitions = "definition.csv"\n\
provinces = "provinces.bmp"\n\
positions = "positions.txt"\n\
terrain = "terrain.bmp"\n\
rivers = "rivers.bmp"\n\
terrain_definition = "terrain.txt"\n\
heightmap = "topology.bmp"\n\
tree_definition = "trees.bmp"\n\
continent = "continent.txt"\n\
adjacencies = "adjacencies.csv"\n\
climate = "climate.txt"\n\
region = "island_region.txt"\n\
geographical_region = "geographical_region.txt"\n\
static = "statics"\n\
seasons = "seasons.txt"\n\
externals = {\n\
}
defaultMap_Trees = \
# Define which indices in trees.bmp palette which should count as trees for automatic terrain assignment\n\
tree = { 3 4 7 10 }\n
# first bookmark date
#tech1.year=1200
#tech1.military=0.5
#tech1.economy=1.0
#tech1.culture=1.0
# last date
#tech2.year=1600
#tech2.military=5.0
#tech2.economy=5.0
#tech2.culture=5.0
# first bookmark date
tech1.year=200
tech1.military=1.5
tech1.economy=1.5
tech1.culture=1.5
# last date
tech2.year=800
tech2.military=4.5
tech2.economy=4.5
tech2.culture=4.5
- We RECOMMEND TO these amounts of holding slots and built holdings:
- 3 built holdings, 4 slots by default.
- +1 built holding and slot if the province has a known small city, village, castle, etc.
- +2 built holdings and slots if the province has known a known big city, castle, etc.
- +3 built holdings and slots if the province has known a known major city, castle, etc.
- -1 built holding and slot if the province is a wasteland.
- We RECOMMEND TO name provinces/titles short. Avoid 2-words titles and use of "of" in your names.
-
TRY NOT TO change titles in
01_landed_titles.txt
. It's an auto-generated file. Instead of it, use overwrite files. The file names should start withz_
. To overwrite the title, you must use the exact same name (k_gilneas
,e_kaldorei
, etc.). - TRY NOT TO make duchies too big. A normal duchy should have a maximum of 4 de-jure counties.
- When you add new provinces/duchies, DO NOT FORGET to update
geographical_region.txt
andisland_region.txt
. Every province must have the assigned region ingeographical_region.txt
and the assigned island/continent (except the Eastern Kingdoms' provinces). - When you add new provinces, DO NOT FORGET to change the map object positions using The Nudge.
-
province_settlement_frame_<Graphical Culture>.dds
andprovince_capital_settlement_frame_<Graphical Culture>.dds
are 4 times less saturated than the original image.
- We RECOMMEND to read this Portrait Guide. It's under construction, but it has some important information inside.
- TRY TO add new localization at the end of the file.
-
TRY TO to write the localization of decision names, modifier names, event titles, trait names etc. while following these rules:
- Capitalize nouns, verbs and adjectives. Example:
Use Poisonous Gas
,Conjured Food for Poor
. - Skip articles except
the
article when it is the only object in the world. Normal examples:Subdue Void Creature
,Increases §GDeath Knight Level Up Chance§!
. Examples withthe
:Restore the Empire of Zul
,Join the Black Empire
. - Write them as short and as concise as possible.
- Capitalize nouns, verbs and adjectives. Example: