(Edit : J'ai écrit que je n'avais pas réellement essayé de construire une nouvelle version du logiciel, mais j'ai étudié les fichiers dans tous les répertoires installés par le logiciel, et j'ai étudié le code source du programme, et je suis un développeur professionnel de logiciels avec des décennies d'expérience, et un MJ de GURPS avec des décennies d'expérience, et je suis sûr que c'est probablement l'endroit correct pour faire le changement demandé (pour la question secondaire aussi), et probablement un changement de code syntaxiquement correct pour faire le changement demandé. S'il vous plaît (tous les critiques de rpg.se) ayez pitié et ne déclassez pas encore plus ma réponse juste parce que je n'ai pas passé des heures à mettre en place un environnement de développement fonctionnel (je n'ai même pas de Mac et l'environnement de développement est configuré sur Mac) et à implémenter et tester les changements, pour une question de rpg.se qui demande juste des pointeurs de code).
Je n'ai pas encore essayé de faire (les heures de travail qu'il faudrait probablement pour faire fonctionner et tester un environnement de développement non-Mac) ceci (je n'ai pas d'environnement de développement Java, ni de Mac), mais je vois un candidat très probable pour l'endroit où modifier le code pour faire ceci :
Dans le dossier : https://github.com/richardwilkes/gcs/blob/master/src/com/trollworks/gcs/skill/SkillAttribute.java
Il y a des sections pour chaque attribut comme :
/** The dexterity attribute. */
DX {
@Override
public String toString() {
return DX_TITLE;
}
@Override
public int getBaseSkillLevel(GURPSCharacter character) {
return character != null ? character.getDexterity() : Integer.MIN_VALUE;
}
}
Et je commencerais par changer le
character.getDexterity() : Integer.MIN_VALUE;
pour être plus comme :
(character.getDexterity() / 2 + 5: Integer.MIN_VALUE);
Pour ce qui est de la modification du coût des points d'attribut, il semble que vous deviez modifier la fonction getPointsForAttribute() (et/ou les méthodes individuelles de chaque attribut qui l'appellent (par exemple, updateStrengthInfo()), et/ou examiner comment SheetPreferences.areOptionalStrengthRulesUsed() est utilisée.
c'est-à-dire dans https://github.com/richardwilkes/gcs/blob/master/src/com/trollworks/gcs/character/GURPSCharacter.java
private static int getPointsForAttribute(int delta, int ptsPerLevel, int reduction) {
int amt = delta * ptsPerLevel;
if (reduction > 0 && delta > 0) {
int rounder = delta < 0 ? -99 : 99;
if (reduction > 80) {
reduction = 80;
}
amt = (rounder + amt * (100 - reduction)) / 100;
}
return amt;
}
0 votes
Ce serait une excellente question pour la liste de diffusion gcs_java_devel, bien que je ne sois pas sûr que l'auteur soit d'une grande aide, car la vie l'en empêche.
0 votes
En fait, j'ai ouvert un problème sur github en demandant directement à M. Wilkes !