Logo Khaganat
Traductions de cette page?:

Les familiers

Les familiers sont des créatures (des .creature en fait, donc cela peut-être un objet, un véhicule…) qu'un joueur peut plus ou moins contrôler (sur Atys on connait depuis très longtemps les mektoubs).
Il en existe actuellement deux types :

  • les montures (une maximum) ;
  • les animaux de bât (trois maximum).

Il suffit d'inscrire dans la section basics le paramètre pet animal ticket dans la caractéristique ''family''.

Au total, un joueur ne peut pas posséder plus de quatre familiers (limite harcodée dans le c++).

Comme habituellement, je présente ici le contenu des fichiers de Data Sheet directement, sans passer par Georges Editor, pour en simplifier la présentation, mais libre à chacun d'utiliser cet éditeur, bien sûr. Cela permet en outre d'avoir les LOGs remplis, que je coupe pour plus de clarté ici.

Contenu de la Data Sheet

Un familier est un objet qui contient les sections normales d'un objet de type .sitem, à savoir basics et 3D plus la section dédiée aux familiers, appelée pet.

Il convient donc de remplir une DS avec les sections :

Là encore, le parentage permettra d'économiser les redites.

Fichier exemple

Pour ceux qui s'inquiéteraient du manque de précision sur les informations quant aux inventaires que peuvent posséder/transporter les animaux familiers, cela ne se définit pas ici, mais dans la DS de la créature appelée dans le Pet Sheet, les fichiers en .creature possédant une caractéristique animal_bag qui permet de leur attribuer un .sitem de type inventaire.

Familier de bât

Voici un exemple de datasheet complète pour une créature de ce type :

pack_beast01.sitem
<?xml version="1.0"?>
<FORM Revision="$Revision: 1.0 $" State="modified">
  <STRUCT>
    <STRUCT Name="basics">
      <ATOM Name="name" Value="pack_beast01"/>
      <ATOM Name="family" Value="pet animal ticket"/>
      <ATOM Name="Drop or Sell" Value="false"/>
      <ATOM Name="ItemType" Value="MektoubPackerTicket"/>
      <ATOM Name="origin" Value="fyros"/>
      <ATOM Name="quality" Value="50"/>
    </STRUCT>
    <STRUCT Name="pet">
      <ATOM Name="Pet Price" Value="25000"/>
      <ATOM Name="Pet Sheet" Value="mektoubpack.creature"/>
      <ATOM Name="Pet Slot" Value="1"/>
      <ATOM Name="Hunger Count" Value="2000"/>
    </STRUCT>
    <STRUCT Name="3d">
      <ATOM Name="icon background" Value="BK_generic.tga"/>
      <ATOM Name="icon" Value="mektoub_pack.tga"/>
    </STRUCT>
  </STRUCT>
  <STRUCT/>
  <STRUCT/>
  <STRUCT/>
  <STRUCT/>
  <LOG></LOG>
</FORM>

On voit bien que si on souhaite décliner cet animal de bât en plusieurs niveaux, on aura intérêt à créer une DS parente et des DS enfants qui ne modifieront/ajouteront que ce qui varie d'un modèle à l'autre.
Par exemple :

_pack_beast.sitem
<?xml version="1.0"?>
<FORM Revision="$Revision: 1.0 $" State="modified">
  <STRUCT>
    <STRUCT Name="basics">
      <ATOM Name="family" Value="pet animal ticket"/>
      <ATOM Name="Drop or Sell" Value="false"/>
      <ATOM Name="ItemType" Value="MektoubPackerTicket"/>
      <ATOM Name="origin" Value="fyros"/>
    </STRUCT>
    <STRUCT Name="pet">
      <ATOM Name="Pet Price" Value="25000"/>
      <ATOM Name="Pet Sheet" Value="mektoubpack.creature"/>
      <ATOM Name="Pet Slot" Value="1"/>
      <ATOM Name="Hunger Count" Value="2000"/>
    </STRUCT>
    <STRUCT Name="3d">
      <ATOM Name="icon background" Value="BK_generic.tga"/>
      <ATOM Name="icon" Value="mektoub_pack.tga"/>
    </STRUCT>
  </STRUCT>
  <STRUCT/>
  <STRUCT/>
  <STRUCT/>
  <STRUCT/>
  <LOG></LOG>
</FORM>
pack_beast01.sitem
<?xml version="1.0"?>
<FORM Revision="$Revision: 1.0 $" State="modified">
  <PARENT Filename="_pack_beast.sitem"/>
  <STRUCT>
    <STRUCT Name="basics">
      <ATOM Name="name" Value="pack_beast01"/>
      <ATOM Name="quality" Value="50"/>
    </STRUCT>
  </STRUCT>
  <STRUCT/>
  <STRUCT/>
  <STRUCT/>
  <STRUCT/>
  <LOG></LOG>
</FORM>
pack_beast02.sitem
<?xml version="1.0"?>
<FORM Revision="$Revision: 1.0 $" State="modified">
  <PARENT Filename="_pack_beast.sitem"/>
  <STRUCT>
    <STRUCT Name="basics">
      <ATOM Name="name" Value="pack_beast02"/>
      <ATOM Name="quality" Value="150"/>
    </STRUCT>
  </STRUCT>
  <STRUCT/>
  <STRUCT/>
  <STRUCT/>
  <STRUCT/>
  <LOG></LOG>
</FORM>

Familier de monte

Exemple de DS complète pour un familier de monte :

pack_beast01.sitem
<?xml version="1.0"?>
<FORM Revision="$Revision: 1.0 $" State="modified">
  <PARENT Filename="_ia.sitem"/>
  <STRUCT>
    <STRUCT Name="basics">
      <ATOM Name="name" Value="steed_beast01"/>
      <ATOM Name="family" Value="pet animal ticket"/>
      <ATOM Name="Drop or Sell" Value="false"/>
      <ATOM Name="ItemType" Value="MektoubMountTicket"/>
      <ATOM Name="origin" Value="fyros"/>
      <ATOM Name="quality" Value="50"/>
      <ATOM Name="Saleable" Value="false"/>
    </STRUCT>
    <STRUCT Name="pet">
      <ATOM Name="Pet Price" Value="50000"/>
      <ATOM Name="Pet Sheet" Value="mektoubsteed.creature"/>
      <ATOM Name="Pet Slot" Value="1"/>
      <ATOM Name="Hunger Count" Value="2000"/>
    </STRUCT>
    <STRUCT Name="3d">
      <ATOM Name="icon background" Value="BK_generic.tga"/>
      <ATOM Name="icon" Value="mektoub_steed.tga"/>
    </STRUCT>
  </STRUCT>
  <STRUCT/>
  <STRUCT/>
  <STRUCT/>
  <STRUCT/>
  <LOG></LOG>
</FORM>

Comme toujours, penser au parentage pour décliner en série en réduisant les saisies.

L'ajout dans les fichiers de langue

Il ne faut pas oublier d'ajouter nos nouvelles datasheets dans les fichiers de langue, que ces objets possèdent un nom à afficher dans le client.

Pour les objets il s'agit du fichier item_words_XX.txt (XX désignant le code ISO de la langue, voir la partie dédiée à la localisation). L'itemID à renseigner dans ce fichier doit correspondre au nom de la .sitem : ici pack_beast01 et pack_beast02.

Il semblerait qu'il ne soit pas nécessaire de nommer l'intégralité d'un nom de sitem si on veut que la même identification touche plusieurs DS.
En renseignant pack_beast comme itemID, les termes correspondants du fichier de langue vont être utilisés pour toutes les DS commençant par pack_beast donc ici, cela concernera les deux animaux de bât qui seront désignés sous le même nom.

CC Attribution-Share Alike 4.0 International Driven by DokuWiki
fr/ds/rcdspet.txt · Dernière modification : 2021/12/03 19:19 de 127.0.0.1

Licences Mentions légales Accueil du site Contact