WARMACHINE/HORDES > Discussions sur le jeu et les rumeurs
Conflict Chamber : création de liste et database de listes, vos avis?
bingham:
--- Citation de: schlaf le 17 février 2017 à 21:36:21 ---
--- Citation de: bingham le 17 février 2017 à 21:20:11 ---I'll let you know when they get back to me. I'm hoping they won't be too concerned since I'm not reproducing rules.
JSON format reasonable for the ids in the list?
--- Fin de citation ---
i hope for you they'll be lenient, since you won't compete with warroom. i believe they do not have very much retorsion power if you do not explicitly use/steal their IP : logos, extracts of rules, ...
also, JSON would be perfect, and an explanation of the rule for constructing the URL (specially about handling min/max units and attachments) since i did not try to reverse-engineer this, that would be too tedious for those 800+ references.
--- Fin de citation ---
Here's a mapping of codes to army list entries and theme lists: https://conflictchamber.com/ccmap.json
It's set up so that each code maps to a particular option (e.g., "2u" is the code for min Exemplar Vengers, "2v" is the code for max Exemplar Vengers; weapon attachments have a separate code for 1, 2, and 3 models). This may not seem terribly elegant at first, but it ends up allowing a more compact representation assuming that all entry codes are fixed-length.
The codes can be converted into integers as follows:
--- Code: --- export function decodeCharSingle(str: string, offset: number): number {
let c = str.charCodeAt(offset);
if (c >= "0".charCodeAt(0) && c <= "9".charCodeAt(0)) {
return c - "0".charCodeAt(0);
}
else if (c >= "a".charCodeAt(0) && c <= "z".charCodeAt(0)) {
return 10 + (c - "a".charCodeAt(0));
}
else if (c >= "A".charCodeAt(0) && c <= "Z".charCodeAt(0)) {
return 36 + (c - "A".charCodeAt(0));
}
else if (c == "-".charCodeAt(0)) {
return 62;
}
else if (c == "_".charCodeAt(0)) {
return 63;
}
else {
return -1;
}
}
export function decodeChar(str: string, offset: number): number {
return (decodeCharSingle(str, offset) * 64) + decodeCharSingle(str, offset + 1);
}
--- Fin du code ---
A list stored in URL format always starts with the character 'b'. The second character should be decoded as a single character as above; the 0x10 bit is set if the list is a Steamroller bit, and the mask 0x0f identifies the faction of the list from the following mapping:
--- Code: --- factions: {
1: {
wmh: 1,
n: "Cygnar"
},
2: {
wmh: 1,
n: "Protectorate of Menoth"
},
3: {
wmh: 1,
n: "Khador"
},
4: {
wmh: 1,
n: "Cryx"
},
5: {
wmh: 1,
n: "Retribution of Scyrah"
},
6: {
wmh: 1,
n: "Mercenaries"
},
7: {
wmh: 2,
n: "Trollbloods"
},
8: {
wmh: 2,
n: "Circle Orboros"
},
9: {
wmh: 2,
n: "Skorne"
},
10: {
wmh: 2,
n: "Legion of Everblight"
},
11: {
wmh: 2,
n: "Minions"
},
12: {
wmh: 1,
n: "Convergence of Cyriss"
}
}
--- Fin du code ---
The next two characters are the point size of the list as decoded above.
After that, the list itself begins. From here on out, every code is read as two characters. The list may start with the theme list code "_-" followed by a code identifying the theme list (see the themes mapping in ccmap.json), the contract code "_Z" identifying a mercenary contract (which right now is exclusively Operating Theater, so "_Z" will always be immediately followed by "07"). Next comes the caster if one is chosen (the caster must come first in a list), followed by the rest of the list. Entries that are attached to another entry (e.g., warjacks, command attachments, etc) are always attached to the closest prior entry that can accept them.
The code "__" separates lists in a list pairing.
Let me know if you have any questions, but I think that specifies everything.
bingham:
And the ATC lists are live, showing some demo of what the generalized system will look like: https://conflictchamber.com/#atclists
Lucius Forge:
Juste pour dire que je l'ai adopté depuis que j'ai compris qu'on pouvait enregistrer les listes. C'est juste indispensable et c'est très bien fait.
ealthril:
Témoignage.
Ce we j'étais à Toulouse. Vendredi avant de partir je reçois un mail d'un coéquipier : il faut imprimer les listes !
En 30s c'était fait au format SR, merci Conflict Chamber :D
billoudav:
Clairement, c'est facile, simple et efficace.... Ça devrait obligatoire pour tous les tournois ! et avec ça tu arrives le matin peinard avec tes listes justes... et l'orga est heureux !
Navigation
[#] Page suivante
[*] Page précédente
Utiliser la version classique