Modification de la sauvegarde de FreeCol

Bonjour,

Aujourd’hui je vais vous montrer comment modifier la sauvegarde de freecol afin de se donner un avantage.

Ce qui m’a motiver à rechercher le moyen de modifier le fichier de sauvegarde, c’est que l’arrivé au congrès de Bartolomé de las Casas avait permis à tous les indiens convertis de devenir des colons libres. Mais ce bonus ne s’est pas appliqué pour les indiens convertit qui m’ont rejoint par la suite. À ce moment je pesais que c’était un bug mais en faites non!

Avant de commencer

Il est nécessaire d’avoir:

  • freecol
  • xmlstarlet
  • file-roller

Méthode

  • Sauvegarder
  • ouvrir un terminal ( alt + F2 gnome-terminal )
  • ce déplacer dans le dossier de sauvegarde de freecol
$ cd ~/.freecol/save
  • ouvrir nautilus
$ nautilus . 2>/dev/null &
  • ouvrir l’archive .fsg
$ file-roller  save.fsg 2>/dev/null &
  • extraire le fichier savegame.xml de l’archive le mettre dans  ~/.freecol/save via  file-roller
  • Utliser xmlstarlet sur le fichier savegame.xml
  • glisser déposer le fichier savegame.xml nouvellement éditer dans l’archive ouverte par  file-roller

 

Modifier les indiens convertis en indien colon libre

  •  Tout d’abord, combien d’indien convertis nous avons?
$ xmlstarlet sel -t \
    -c 'count(//unit[@owner="player:1" and @unitType="model.unit.indianConvert"])' savegame.xml
6

Nous avons 6 indiens convertis.

  • Mise à jour des indiens
$ xmlstarlet ed -L \
    -u '//unit[@owner="player:1" and @unitType="model.unit.indianConvert"]/@unitType' \
    -v "model.unit.freeColonist" savegame.xml
  • Normalement il n’y a plus d’indiens convertis
$ xmlstarlet sel -t \
    -c 'count(//unit[@owner="player:1" and @unitType="model.unit.indianConvert"])' savegame.xml
 0

Ajouter des points de mouvement

$ xmlstarlet ed -L \
    -u '//unit[@owner="player:1" and @ID="unit:47754"]/@movesLeft' \
    -v 12 savegame.xml

Mettre à jours tous les dragons en vétéran

  • Compte le nombre de dragon non vétéran
$ xmlstarlet sel -t \
    -c 'count(//unit[@owner="player:1" and @role="DRAGOON" and @unitType!="model.unit.veteranSoldier"])' savegame.xml
11
  • Mets à jour les dragons en vétéran
$ xmlstarlet ed -L \
    -u '//unit[@owner="player:1" and @role="DRAGOON"]/@unitType' \
    -v "model.unit.veteranSoldier"  savegame.xml

Augmenter le nombre d’outil dans les colonies

  • Compte le nombre de colonie ayant moins de 200 outils
$ xmlstarlet sel -t \
    -c 'count(//colony[@owner="player:1"]/goodsContainer/storedGoods/goods[@type="model.goods.tools" and @amount<200])' \
    savegame.xml
7
  • Mets 200 outils dans les colonies ayant moins de 200 outils.
$ xmlstarlet ed -L \
    -u '//colony[@owner="player:1"]/goodsContainer/storedGoods/goods[@type="model.goods.tools" and @amount&lt;200]/@amount' \
    -v 200 savegame.xml

Se donner de l’or

  • Combien d’or nous avons ?
$ xmlstarlet sel -t \
    -v '//player[@ID="player:1"]/@gold' savegame.xml
2645
  • Mise à jour
$ xmlstarlet ed -L \
    -u '//player[@ID="player:1"]/@gold' -v 9999999 savegame.xml

Rappel

Glissez-déposer le fichier mis à jour via file-roller

Share Button

Laisser un commentaire