Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FixedRecipeCost

Mod MelonLoader pour Dave the Diver permettant de supprimer l'augmentation du coût des améliorations de recettes. C'est le premier mod MelonLoader pour Dave the Diver à ma connaissance !

Dans le style de ce mod : https://www.nexusmods.com/davethediver/mods/19

Fonctionnement

Le jeu calcule normalement le nombre d'ingrédients nécessaires pour améliorer une recette en fonction de son niveau.

Ce mod intercepte ce calcul et force un coût fixe basé sur la quantité d'ingrédients d'origine de la recette.

Dans l'idée :

Niveau Jeu vanilla Avec le mod
1 → 2 1 1
2 → 3 2 1
3 → 4 4 1
4 → 5 8 1
5 → 6 16 1

Pour les joueurs

Prérequis

  • Dave the Diver

J'ai testé uniquement avec Steam sous Linux.

Backup des saves

Sous Linux avec Steam, il faut backup /steamapps/compatdata/1868140/pfx/

Pour plus de détails, voir https://www.pcgamingwiki.com/wiki/Dave_the_Diver

Installation

1. Installer MelonLoader

Il existe un guide très complet ici : https://github.com/TLD-Mods/Linux_Proton_Guide

En résumé :

Téléchargez la version Linux de MelonLoader :

https://melonwiki.xyz/#/?id=automated-installation

Donnez les droits d'exécution au MelonLoader.Installer.Linux et lancez le.

Il détecte automatiquement les jeux Unity même s'ils tournent dans Proton donc il devrait lister Dave The Diver.

Il faut aussi ajouter les paramètres de lancement Steam qui sont fournis par MelonLoader : WINEDLLOVERRIDES="version=n,b" %command%

2. Premier lancement

Lancez le jeu une première fois.

MelonLoader créera automatiquement plusieurs dossiers :

Dave The Diver/
├── MelonLoader/
├── Mods/
└── UserData/

3. Installer le mod

Copiez :

FixedRecipeCost.dll

dans :

Dave The Diver/Mods/

4. Vérification

Au démarrage, ouvrez :

MelonLoader/Latest.log

Vous devriez voir :

[Fixed Recipe Cost] Fixed Recipe Cost loaded

Désinstallation

Supprimez simplement :

Dave The Diver/Mods/FixedRecipeCost.dll

Pour les développeurs

Le but de cette section est de servir de tuto pour créer des mods MelonLoader. N'hésitez pas à fork et créer des PR !

Prérequis

Installez .NET depuis https://dotnet.microsoft.com/fr-fr/

Tout ce qui suit a été fait sous Windows.

Création du projet

$env:DOTNET_CLI_TELEMETRY_OPTOUT=1
dotnet new classlib -n FixedRecipeCost
cd FixedRecipeCost

Fichier .csproj

    <TargetFramework>net472</TargetFramework>

Dépendances

dotnet add package HarmonyX

Récupérez MelonLoader.dll dans MelonLoader.x64.zip dans la release de MelonLoader.

Voir https://github.com/LavaGang/MelonLoader/releases

Ajouter

MelonLoader.dll

Dans :

Libs/
    <Reference Include="MelonLoader">
      <HintPath>.\Libs\MelonLoader.dll</HintPath>
    </Reference>

Compilation

dotnet build -c Release

Des DLL seront générés dans :

bin/Release/net472/

Il n'y a que FixedRecipeCost.dll qui nous intéresse.

Architecture du mod

Le mod cible actuellement :

GameFormulaManager.RequiredIngredientsCount(
    int level,
    int originCount)

La méthode qui est responsable du calcul du nombre d'ingrédients requis pour les améliorations de recettes.

Le patch Harmony remplace le calcul du coût par :

originCount

afin de conserver un coût fixe pour tous les niveaux d'amélioration.

Débogage

Les logs MelonLoader sont disponibles dans :

MelonLoader/Latest.log

Pour vérifier les patches Harmony :

MelonLoader/Logs/

Reverse Engineering

Les travaux actuels reposent sur les classes identifiées dans le dump IL2CPP :

GameFormulaManager
CookStudyFormula
CookStudyFormulaData
FormulaContext.CookStudy

Pour obtenir un dump, il faut récupérer GameAssembly.dll et global-metadata.dat dans les fichiers du jeu.

On peut utiliser Il2CppDumper qui est opensource : https://github.com/Perfare/Il2CppDumper

Il existe aussi une version web Il2CppDumper en ligne ici https://il2cppdumper.com/

Le fichier produit le plus intéressant est dump.cs

Il contient les définitions des classes et méthodes à patcher.

About

Un mod MelonLoader pour Dave the Diver

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages