Un bâtiment de terrain combine un enregistrement graphique de dom.res, des réglages LAND/DOM et une fiche d’unité générique. Les maisons, casemates, bunkers et certaines fortifications suivent ce circuit. Les ponts utilisent un autre lecteur.
Réglages inclus, notamment sons ou fortifications. Ce fichier peut aussi contenir des lignes obj.
<environnement>/dom.res
Graphismes, palette, classe numérique et métadonnées de placement.
lang/UNITS/house
Fiche générique de la classe House.
lang/UNITS/__testportal
Fiche générique de la classe Portal.
La variante asien_unit/land/ utilise un nom de dossier en minuscules. Certaines ressources s’appellent DOM.RES. Conservez l’écriture présente dans votre archive.
Le moteur lit le nom de famille dom, puis ses inclusions. Il charge les ressources avant d’appliquer les réglages aux types présents. Un fichier defdom n’est donc pas une table automatiquement chargée : son inclusion doit exister dans le dom utilisé.
Sélecteurs et priorité
level 0
HP default 500 500 500 500
HP type 2 1000 1000 1000 1000
HP obj 26 1333 1333 1333 1333
Cet exemple illustre les trois formes. La ligne type n’est pas une observation des fichiers Fusion actuels.
Forme
Portée
clé default valeurs
Tous les types chargés de cette famille.
clé type classe valeurs
Types dont la classe numérique dans dom.res correspond à classe.
clé obj indice valeurs
Type dont l’indice dans le conteneur correspond à indice.
level valeur
Réglage de la famille, sans sélecteur.
Le moteur applique toutes les lignes default, puis toutes les lignes type, puis toutes les lignes obj. Il conserve l’ordre de lecture dans chaque groupe, inclusions comprises. Une ligne default placée plus bas ne passe pas après une ligne obj.
Pour un même champ, une ligne ultérieure du même groupe peut remplacer la précédente. Les tables de blindage et de protection sont réglées séparément pour chaque type de dégâts. Gardez toutes les lignes nécessaires au bloc.
La classe numérique de ressource est distincte de seltype house ou seltype bunker. Elle est aussi distincte de House dans le registre UNITS. L’indice obj identifie un type graphique, pas un bâtiment individuel placé sur la carte.
Fiche générique et tunnel
house utilise file none. Ses graphismes viennent de dom.res, pas d’un sprite choisi par cette propriété. Au chargement de la mission, le moteur crée house pour une classe de ressource inférieure à 6. Il crée __testportal pour les autres classes.
Copier la fiche house sous un nouvel identifiant ne change pas cette association. Les réglages communs de nom, de ciblage et d’attaque restent documentés dans Identité et ressources et Armes et munitions.
Les tunnels emploient le circuit Portal quand leur classe le sélectionne. Leur capacité, leurs liaisons, leur trajet et leurs règles de combat ne sont pas établis par la seule fiche générique.
Santé et états de dégâts
HP obj 0 1000 1000 1000 1000
Les quatre nombres sont des contributions de santé. Un objet placé à l’état 0 commence ici avec 4000 points. À l’état 1, il commence avec 3000 points. Les seuils de transition additionnent les contributions des états suivants.
Le lecteur consume quatre valeurs. Une cinquième valeur, présente dans certaines sources, ne crée pas un cinquième état. Les ressources comportent quatre groupes de graphismes.
Ne confondez pas HP avec health dans UNITS. Consultez aussi les limites du lecteur armor et protection.
Limites de cette référence
Les lecteurs sont vérifiés dans le code. Les délais, la capacité de garnison et les facteurs exacts des bonus restent en partie inconnus. Les exemples conservent les valeurs de Fusion ; ils ne constituent pas des valeurs recommandées pour équilibrer le jeu.
Les mods de couverture, de garnison cachée et de soins de HS2Engine peuvent changer le comportement. Notez les options de votre DLL lors d’un essai. Aucun essai interactif de cette procédure dans le jeu ou l’éditeur n’a été exécuté ici. Voir Sources et limites.
Les classes et archives indiquent la présence dans les fichiers, pas une garantie de prise en charge.
Le lecteur commun attend un type de dégâts et trois paires de valeurs. Fusion utilise souvent une seule valeur.
Notes de classe
Le lecteur limite 256 moins chaque valeur entre 0 et 256. Les arguments numériques absents valent zéro : ils ne répètent pas la première valeur. Les faces et le calcul des dégâts des bâtiments restent à confirmer.
Quatre identifiants de lang2/boomtypes, dont none si ce nom est reconnu par la table.
Notes de classe
Cette table de types est distincte des effets nommés utilisés par onhit_addexplosion. HouseExplosion renvoie le type de l’état courant pour une zone marquée du bâtiment.
Définit les contributions de santé des quatre états de dégâts.
hp obj object_id state0 state1 state2 state3
Paramètres
Quatre entiers, dans l’ordre des états 0 à 3.
Notes de classe
La santé initiale additionne les contributions de l’état placé jusqu’à l’état 3. 1000 1000 1000 1000 donne 4000 à l’état 0. Les seuils sont cumulatifs. Le lecteur ignore une cinquième valeur.
Chaque groupe : nom|none [one|cell [fraction [minimum [maximum]]]].
Notes de classe
one et cell valent 1 et 2 dans le lecteur. La fraction est convertie en fraction de 256, plafonnée à 255. Les bornes sont stockées sur un octet. Le traitement exact des zones reste à confirmer.
Le lecteur commun attend un type de dégâts et trois paires. Les fichiers Fusion fournissent souvent une paire.
Notes de classe
La table est distincte du blindage. Les nombres absents valent zéro. Le lien exact avec les dégâts subis par les occupants reste à confirmer dans le code de santé des bâtiments.