Listes des scripts et features à ajouter à Sacred Phoenix

Discussion dans 'L'antre de Porygon (codage et script)' créé par Amras Anárion, 14 Juillet 2019.

  1. Amras Anárion

    Amras Anárion Roi Mythique Membre du personnel

    [​IMG] Petite liste des tâches pour les Idéaux de Sacred Phoenix faisant appel à des compétences de codage.

    yyyyj, je t'ai classé le tout par ordre de portée / priorité. Ce qui est listé en premier me semble être le plus accessible à ce jour.
    Penses aussi à jeter un coup d'oeil tout en bas à partir de la section "Giratina". J'y liste les bugs prioritaires à corriger ou les fonctionnalités les plus intéressantes pour PSDK.



    Gameplay - modifications à portée aujourd'hui
    • Gérer la possibilité de switch "gratuit" après un KO adverse non via le choix du joueur fait dans le menu "Options", mais via un interrupteur géré par le scénario. Requiert au préalable de débuguer le mode "choix" sur PSDK (mode non fonctionnel).

    • En cas de changement des PV max (ex : après une évolution, le don d'un Super Bonbon, suite à une Méga-Évolution Sacrée ou quand Giratina change de forme. Oui oui, à Keltios sa forme Originelle a plus de base stats en PV que sa forme alternative.), faire en sortie que les PV actuels soient calculés par excès par rapport au pourcentage de PV possédés. (Actuellement, les PV actuels restent inchangés et on peut donc avoir des Giratinas à 35/34 PV en lui enlevant l'Orbe Platiné.)
    (Le calcul par excès – ceil – assure qu'un Pokémon à qui il reste 1 PV ne tombera pas KO si ses PV max diminue, tout en empêchant les PV actuels de dépasser les PV max.)

    Menu d'option plus complet
    Cette tâche a été commencée par Cottens mais semble abandonnée depuis 1 mois...
    [​IMG] Réalisé : le choix de la langue.
    [​IMG] Reste à faire (90 % du travail) :
    – Améliorer l'ergonomie du menu d'option. La touche software "B" n'est pas du tout utilisée en l'état. Comme dans un jeu officiel, appuyer sur "B" permet de tout de suite quitter le menu d'option s'il n'y a pas eu de changement. S'il y a eu un changement, le jeu demande si le joueur veut conserver ou pas les modifications, enregistre les changements si "oui", puis quitte le menu d'option dans les 2 cas.
    – Débugger le réglage du volume sonore (BGM)
    – Instaurer un réglage du volume des effets sonores (indépendant de la BGM)
    – Finesse des réglettes de volume par pas de 5% au lieu de 25%.
    – Choix du mode de difficulté (Facile / Normal / Difficile). Selon le choix du mode, le nom du Pokémon adverse sera affiché respectivement en bronze / argent / or durant les combats pour indiquer la difficulté choisie (et donc reflèter si son niveau a été augmenté ou pas).
    – Gestion de la mort (Traditionnel / Réaliste / Nuzlocke)* Selon le choix du type de mort, le nom du Pokémon du joueur sera affiché respectivement en bronze / argent / or durant les combats pour indiqué la difficulté choisie (et donc refléter si nos Pokémons sont mortels ou pas).
    – Mort des adversaires (Activé / Désactivé)

    Au premier démarrage du jeu, les options seront par défaut sur : Français (ou détection automatique de la langue du PC dans l'idéal), 50 %, 50 %, Normal, Réaliste, Activé.

    J'avais pensé distinguer les réglages de gameplay du réglage de difficulté (un peu comme dans Skyrim) : quand le joueur va sur "Option", 3 choix lui seront proposés.
    – Commandes (la scène activée lorsqu'on fait [F1] )
    – Paramètres (réglage du son, des animations de combat...)
    – Difficulté (les 3 derniers paramètres implémentés grâce à la feature d'Altarax.)

    On peut aussi faire un menu à 2 niveaux comme dans Uranium.
    • Le niveau 1 inclut la plupart des options + "Difficulté" + "Commandes".
    • Si le joueur place la sélection sur l'un de ces 2 choix et appuie sur "A", ça ouvre un menu d'option de niveau 2 qui correspond à cela.

    Le menu de difficulté (qui faudra distinguer dans tous les cas du menu d'option de niveau 1) proposera en première place des "presets" de difficulté. 7 sont prévus : Novice / Jeu officiel / Facile / Normal / Difficile / Nuzlocke / Nuzlocke hardcore.
    Si le joueur choisi un preset puis modifie individuellement un réglage, le preset affichera "nom du preset" (modifié), le "nom du preset" correspondant au preset le plus élevé qui satisfait tous les critères de difficulté sélectionné par le joueur. (Par exemple, si le joueur choisi le preset Nuzlocke, puis baisse individuellement la difficulté globale en "facile", le preset affichera "Facile (modifié)", puisque le preset Nuzlocke demande au minimum une difficulté globale "moyenne").
    Ou alors affichera "personnalisé" si c'est plus facile à coder (aka les réglages personnalisés ne correspondent à aucun des 7 presets).

    Le menu d'option d'Uranium :
    (À gauche, les options globales - A droite, les options de difficulté)

    [​IMG]

    * À noter que passé le stade des premières balls obtenues en jeu (déterminé par si une variable en jeu a dépassé une certaine valeur), si le joueur a désactivé le mode Nuzlocke, la sauvegarde ne pourra plus jamais être flaguée comme étant en Nuzlocke.
    Conséquence : le nom de nos Pokémon ne pourra plus être affiché en doré, même si le joueur recoche l'option. (La solution la plus facile étant bien entendu d'interdire le passage / retour au mode Nuzlocke une fois ce palier de jeu passé.)
    Conséquence 2 : si le joueur quitte le mode Nuzlocke, le jeu devra l'avertir de cela et lui demander de confirmer son choix.

    Mode Nuzlocke - règle de la capture unique par zone (avec ses 2 clauses les plus connues : clause doublon et clause chromatique)
    La mort des Pokémon géré proprement, c'est un Idéal devenu Réalité. Mais un vrai Nuzlocke demande une seconde règle : celle de n'obtenir qu'un seul Pokémon par zone.
    En parallèle de la gestion de la mort en mode Nuzlocke, il faudra donc rajouter l'option de difficulté "Capture unique par zone" pour offrir un Nuzlocke complet.
    Si le mode "Capture unique par zone" est actif, le jeu activera un interrupteur propre à chaque zone dès la fin du premier Pokémon sauvage rencontré (peu importe l'issue du combat : fuite, défaite, victoire, capture...) sauf si c'est un Shiny et que la Clause Chromatique est activée et sauf si le Pokémon est déjà dans le Pokédex et que la Clause Doublon est activée.
    Ce qui fait que...
    – Si lors de ce combat, l'interrupteur de la zone est "false", la capture est autorisée.
    – S'il est sur "true" et que le joueur lance une ball, cnt vaudra "-3" dans le script d'overhaul de la capture, la ball sera déviée (et donc récupérée par le joueur) et le jeu affichera : "Ce n'est pas votre Pokémon de zone. Le Nuzlocke vous interdit de le capturer."

    Pour les œufs de Pokémon, c'est un peu compliqué sachant que c'est la zone d'éclosion qui doit faire foi (et non celle d'obtention de l’œuf). (Ça reviendrait à interdire l'usage de la pension.) On peut donc laisser ce pan sans "protection Nuzlocke" : au joueur de s'auto-discipliner.

    Pour les Pokémons donnés par des PNJ, l'interrupteur de zone peut être activé manuellement (et bien entendu testé au préalable pour voir si le joueur a le droit de recevoir le Pokémon mais au risque de "bloquer" l'évent.). (Solution intéressante : si le joueur reçoit un Pokémon mais qu'il a déjà grillé la zone, le marquer comme "mort def").
    Ou alors on peut lâcher prise comme c'est le cas dans Pokémon Unarium et ne pas mettre de contrôle sur cela. Au joueur de s'auto-discipliner là aussi.

    A noter que la Clause Légendaire sera systématique : c'est-à-dire que si le joueur rencontre un Légendaire, sa capture sera toujours autorisée si de base, le scénario le permettait. (Déterminé par l'interrupteur 130.) Libre au joueur de s'interdire sa capture. (Mon scénario n'imposera pas de capture de Légendaire.)

    Je rajouterai aussi l'option de difficulté : Poison à l'ancienne. Au lieu de survivre à 1 PV, le pokémon empoisonné tombe KO (ou meurt si Nuzlocke). Ce KO vaut -20 en amitié (-250 si Nuzlocke, puisque mort) (et bien sûr stoppe le poison, puisque poison et KO ne sont pas compatible ensemble^^)


    Palier de bonus de gain d'expérience (à portée aujourd'hui, donne tout son sens aux 3 niveaux de difficulté)
    Adorant compléter mon Pokédex, je sais qu'il est harassant de faire monter des Pokémons de bas niveau pour les faire évoluer, de même qu'aider un Pokémon nouvellement intégré dans l'équipe a rattraper les anciens.
    Parallèlement, je reconnais l'intérêt de limiter l'overgrind sans pour autant la bloquer sauvagement via de la désobéissance imposée ou un blocage du niveau max comme l'a fait Pokémon Reborn.

    Plutôt que d'appliquer la formule d'XP de la 7G (qui est très handicapante à bas niveau avec des malus d'XP qui atteignent très vite les -60 %), j'ai eu l'idée de rajouter un facteur sur le gain d'expérience, facteur qui se multiplera à ceux déjà existant et qui dépendra :
    – du nombre de Talismans possédés (cela déterminera les paliers de bonus / malus)
    – du niveau du Pokémon qui XP.
    – Les paliers seront au nombre de quatre : XP ×4, XP ×2, XP×1 (inchangé) et XP× 0,5.
    Par exemple, au premier talisman possédé, les Pokémons inférieur au niveau 5 auront ×2 en expérience, ×1 entre le niveau 5 et le niveau 17 et ×0,5 au-delà (le joueur sera considéré comme en overgrind).
    En acquérant son second Talisman, les chiffres monteront à ×4 au-dessous du niveau 5, ×2 entre le niveau 5 et le niveau 13, ×1 entre le niveau 14 et le niveau 24 et ×0,5 au-delà.
    Comme ces paliers seront les mêmes quelque soit le niveau de difficulté choisi... Il sera alors plus difficile de dépasser le niveaux des dresseurs en mode difficile, à l'inverse du mode facile où le grind sera bien moins nécessaire.
    Note : il est possible que je mette plus de 4 paliers. Quoi qu'il en soit, les valeurs seront codées dans un array en 3 dimensions (une dimension pour le nombre de talismans, une dimension pour chaque palier et une dimension pour le niveau qui y correspond).


    Système de craft
    En interagissant avec un objet ou un PNJ, cela ouvrira un menu approprié (Forgeage, alchimie et enchantement...) qui proposera une liste de recettes selon nos compétences. Chaque recette listera la listes des matières premières nécessaires et ce qu'on possède. (Pour le moment, je n'ai pas trouvé comment faire en Event-Making, la seule commande que je vois étant "L'objet yyy est possédé" sans pouvoir compter combien on en a.)
    Cela servira pour :
    – Fabriquer les balls de Keltios à parti des Noigrumes, des cristaux de stase et d'un métal précieux qu'on aura trouvé ou miné (oui, il y aura du minage aussi)
    – Enchanter des cristaux trouvés ou minés en objets enchantés ou pierres magiques
    – Confectionner des potions et remèdes à partir de plantes et baies


    Affichage HD
    (Certains éléments sous le spoiler peuvent être réalisé de manière indépendante, donc son à portée aujourd'hui.)
    • Pour la MessageBox principale, afficher cette image-ci (lien) (existe aussi sans le rouleau de parchemin) dézommée côté software pour s'adapter à la taille du PSDK – à la place que ça utilise l'image "universelle". Cela donnera un rendu plus naturel pour cette fenêtre de message qui aura toujours la même taille in-game.
    Idem pour la MessageBox en combat. (Elle fait aussi la même taille.)
    Les autres fenêtres "redimensionnables" (comme la commande de choix) continueront de faire appel à cette image :
    [​IMG]

    • Écran-Titre en HD (possibilité de mettre l'image principale en 640x480 et non en 320×240 upscalé ×2... Pour le moment, échec.)
    Image de l'écran-titre en 680×480 : Lien

    [​IMG]

    • L'idéal ultime : Passer le jeu en HD (base 640×480 et / ou 640×360). Nécessitera de retravailler en profondeur tous les scripts d'affichage. Requiert de déverrouiller le mode vectoriel de l'affichage des polices d'écriture. (Cf bugs PSDK.)


    Amélioration du "Follow me" pour lui donner un impact significatif en jeu.
    – Plus d'interactions possibles avec le Pokémon suiveur. (Ex : celui ci peut nous faire signe qu'il a trouvé un objet caché à côté, ou il se plaindra s'il est paralysé.)
    – La présence ou non du Pokémon suiveur influera sur "l'hostilité" des dresseurs et des Pokémons sauvages. (Pokémon pas sorti = moins de chance d'être reconnu comme dresseur par un dresseur et moins de chance d'être attaqué par un Pokémon sauvage). Une touche permettra donc de faire "Toggle" sur le follow me (comme dans Pokémon Phoenix Rising).
    – Si le Pokémon suiveur est un Légendaire, cela peut changer la réaction de certains PNJs lorsqu'on leur parle.


    Overhaul du bonheur et de l'obéissance :
    • Pour le bonheur et l'effroi :
    – Barre d'amitié étendue de 0 à 1023 points.
    – Ajout d'une jauge d' "effroi" en parallèle de la jauge de bonheur qui reflète la "peur" et l'autorité que nous inspirons à notre Pokémon. Le joueur aura relativement peu de contrôle sur la jauge d'effroi, celle-ci ayant tendance à revenir naturellement vers un "point d'équilibre " (qui dépend du nombre de Talismans possédés par rapport au niveau du Pokémon, et si celui-ci est avec son dresseur d'origine ou pas).
    – Révision du barème des actions qui montent ou diminue le bonheur, et création du barème pour les modifications de l'effroi.
    – Affichage de la jauge d'amitié dans le résumé du Pokémon (au moins un 4ème onglet sera requis), ainsi que de la jauge d'effroi et d'une jauge de loyauté (dépendante de la valeur des 2 premières jauges)
    – L'amitié et l'affection seront fusionné sous cette même stat.
    – Si l'amitié atteint un niveau élevé, les mêmes bonus qu'une affection élevée dans les jeux officiels s'activeront en combat. (Survie à 1 PV, esquive gratuite, coup critique gratuit, ou guérison spontané d'un statut, bonus débloqués selon des paliers). Bien entendu, les PNJ profiteront eux aussi de ces bonus si l'amitié de leurs Pokémons est élévée.
    – Les textes d'entrée en combat (Que doit faire [Pokémon] ?) changeront selon le niveau d'amitié (et de crainte) comme c'est le cas dans les jeux officiels lorsque l'affection est élevée.

    • Création de la Pokérécré (mini-jeux en 2D pour augmenter le bonheur de nos Pokémons.) Bien entendu, une statistique de gaieté et de satiété limitera le nombre de "parties" possibles sur un temps donné.

    • Instauration de la désobéissance des Pokémons. Cela dépendra de la somme des jauges de bonheur et de crainte et non plus du simple fait si le Pokémon a été échangé selon le nombre de badges possédés. (Bien que les badges conserveront une influence indirecte en jouant sur la jauge d'effroi.) Les Pokémons des PNJ pourront eux aussi désobéir à leurs dresseurs.


    Gameplay - modifications prévues plus tard
    • La Méga-Évolution Sacrée.
    • Les combats contre les Augures selon les règles officielles des champions d'Arène dans le dessin animé (cf description workshop).
    • La possibilité de fuir (déclarer forfait) contre un combat de dresseur.
    • 2 Talents possibles par Pokémon (pas pour tous)
    • Système de gain d'expérience dynamique. (L'XP est version en temps réel à la fin de chaque tour et non après un KO, permettant de rétribuer chaque action effectuée en combat même si ça se termine par un KO.)


    La probabilité des effets secondaires des attaques et des capacités de statut influencé par l'affinité des types.
    • Cette Feature se marie très bien avec les 8 attaques du fait des résistances et immunités qu'elles va engendrer.
    – Exemple : Lance-Flammes, qui de base aura 20 % de chances de brûler l'adversaire, aura cette probabilité à 10 % si "Ce n'est pas très efficace... " (cas d'un Pokémon Eau), mais 30 % si c'est "Super efficace !" (cas d'un Pokémon Plante). Un Pokémon Dragon aura 45 % de chance d'être gelé par Blizzard (au lieu de 30 %), et même 60 % si c'est un Dragon / Vol (à condition qu'il survive...) !

    • Dans le même esprit, la précision des attaques de Statut débuffantes prendra aussi en compte l'affinité des types.
    – 0 % si de base inefficace (Ainsi, un Pokémon Spectre sera complètement immunisé à Rugissement, Mimi-Queue, etc... et un Pokémon Vol n'aura plus à craindre l'attaque Jet de Sable).
    – 25 % de la précision d'origine si double Résistance (Poudre Dodo lancé sur un Papillusion n'aura ainsi plus que 3 chances sur 16 de réussir.)
    – 50 % si résistance simple
    – 100 % (inchangé) si affinité normale.
    – 150 % de la précision normale si vulnérabilité simple
    – 200 % si vulnérabilité double. (Laggron n'aura aucune chance d'échapper à une Poudre Dodo, même après un Coup d'Boue).
    Dans les jeux officiels, le type octroyé aux attaques de Statut faisant figuration (littéralement) dans 95 % des cas. Avec Sacred Phoenix, ça aura enfin une influence.
    Si le jet de précision initial était bon, mais que le second jet (de 25 ou 50 %) a échoué, le jeu affichera "[Pokémon ciblé] a résisté à l'attaque ! et "Ça n'affecte pas [Pokémon ciblé]..." s'il était immunisé.


    Terrain et météo :
    • Instauration de l'influence des terrains sur la puissance des attaques à la manière de Pokémon Reborn. (Ex : sur un terrain aquatique, les attaques Eau seront plus puissantes et les attaques Sol ou Feu moins puissantes.) Les effets du terrain se cumuleront (par multiplication) aux effets de la météo et des auras.
    • Sont classés comme "Aura" des états tels que Distorsion, Gravité, Vent Arrière, Aura Féerique, Aura Psychique, etc...).
    • Un seul terrain et une seule météo peuvent être actives à la fois, mais les Auras peuvent se cumuler entre elles.
    • Nouvelles météo : Orage et Neige. La Brume sera considérée comme une météo, de même que l'orage qui remplacera le champ électrifié. Le champ psychique sera considéré comme une Aura.
    • Certaines attaques pourront changer le terrain. Créa-Herbe changera le terrain en prairie. Une attaque Déflagration, elle, peut transformer un terrain glace en terrain eau (et un Laser Glace faire l'inverse).


    Overhaul des options de combat :
    • 8 Attaques par Pokémon. Demandera une grande refonte des scripts et un Ruby Host adapté à ce changement. Doit aller de pair avec la jauge de Mana et de Souffle qui remplace les PP.
    • Jauges de Mana et de Souffle à la place des PP.
    • Ajout de l'option "Posture" sur le menu de combat.
    • Ajout de l'option "Stratégie" sur le menu de combat.
    # Pour tous les détails, c'est dans le PDF de présentation du projet.


    Overhaul de la capture - partie fuite des Pokémons sauvages :
    – Un Pokémon sauvage pas ou trop peu affaibli tentera de fuir le combat si on tente de lui jeter une Pokéball, comme cela pouvait se produire en 1G. L'action de fuite - qui sera "prise" après l'action du joueur si celle-ci fut de jeter une ball - annulera l'attaque que le Pokémon sauvage aurait voulu lancer et aura une chance sur 2 de réussir si notre Pokémon est plus rapide. 100 % de probabilité si le Pokémon sauvage est plus rapide que le notre.
    La probabilité de tentative de fuite du Pokémon sauvage sera proche de 100 % s'il est en pleine santé. À 50 % (sans statut), il n'y aura plus aucun risque de fuite. (Formule exacte à déterminer.)


    [​IMG]Relevant du débuggage ou des fonctionnalités à rajouter à PSDK

    • Débuguer le mode "choix" sur PSDK (mode de combat non fonctionnel). (Cottens a ça sur le feu normalement.)
    • Débugger le réglage du volume dans les options PSDK. (Cottens a ça sur le feu normalement.)
    • Combats 3V3 (face à 3 dresseurs ou 1 dresseurs. Dans les 2 cas, chaque camp envoie 3 Pokémons en même temps.)
    • Combat 2V2 avec un allié.
    • Si combat 2V2 avec un allié, texte intégrant le mot "allié" (Ex : Le Roucoups allié utilise Tornade !) lors des actions du Pokémon allié comme c'est le cas sur Pokémon Essentials.
    • Intégrations des stats de Sang-Froid, Beauté, Grâce, Intelligence, Robustesse, Lustre au PFM des Pokémons en vue des concours Pokémons + intégration des effets en concours des attaques.
    • La Méga-Évolution tant attendue sur PSDK.
    • Affichage de la police d'écriture "en HD"... Alors que par nature, une police d'écriture est du vectoriel, PSDK s'acharne à calculer son affichage sur une matrice 320×240 quelque soit la taille de la fenêtre de jeu. À voir si ça ne peut pas être optimisé.


    [​IMG]Réalisé de manière satisfaisante, mais optimisable

    • Optimiser le système de baies de Keltios pour avoir un équivalent (en terme d'optimisation) à celui de Nuri Yuri.
    • Animation améliorée d'évolution en combat. Le résultat est honorable. Reste à prévoir de le magnifier pour se rapprocher d'un jeu officiel. (Effets de particules.)


    [​IMG] Terminé - Idéaux devenus réalités

    • Calendrier de Keltios avec affichage de la date dans le menu de jeu et en tant que date de capture sur le résumé des Pokémon
    • Gestion des saisons
    • Système de baies à la 2G. (Géré exclusivement via Event-Making - mais optimisable si on arrive à passer par un script.)
    • Système d'EV rééquilibré à la sauce kelte.
    • Textes d'efficacité "C'est extrêmement efficace !!!" et "Ce n'est pas du tout efficace..." avec bruitage adéquat.
    • Combat duo VS 1 dresseur
    • Évolution en combat
    • Overhaul de la capture (sauf partie fuite des Pokémons sauvages)
    – Comme en 1G, le nombre de secousses dépendra de la probabilité de capture, à la différence qu'il ne s'agira pas d'un nombre fixe de secousses, mais d'un nombre minimum possible (ex : Si la probabilité est supérieure à 50 %, ça remuera toujours 3 fois en cas d'échec. Entre 25 et 50 % : 2 ou 3 fois, etc...). Inversement, un Pokémon affaibli haut-la-main ou capturé avec une ball très efficace pourra remuer moins de 3 fois, signe que la capture s'est faite avec une très grande marge.
    – Système de déflection de ball comme en 1G : un Pokémon non suffisamment affaibli repoussera les balls lancées. Les balls ainsi jetées ne seront pas déduites du sac (ou seront récupérées par le dresseur après le combat) étant donné qu'elles ne se sont pas enclenchées. Notons que si cela se produit, c'est que la probabilité de capture est nulle. Il faut que le Pokémon sauvage passe sous un seuil d'affaiblissement (qui dépendra de son taux de capture) pour ne plus avoir la force d'esquiver les balls.
    – Un Pokémon sauvage pas ou trop peu affaibli tentera de fuir le combat si on tente de lui jeter une Pokéball, comme cela pouvait se produire en 1G. L'action de fuite - qui sera "prise" après l'action du joueur si celle-ci fut de jeter une ball - annulera l'attaque que le Pokémon sauvage aurait voulu lancer et aura une chance sur 2 de réussir si notre Pokémon est plus rapide. 100 % de probabilité si le Pokémon sauvage est plus rapide que le notre.
    La probabilité de tentative de fuite du Pokémon sauvage sera proche de 100 % s'il est en pleine santé. À 50 % (sans statut), il n'y aura plus aucun risque de fuite. (Formule exacte à déterminer.)
    • Système de gain d'argent lors des combats adapté au monde de Keltios.
    Après un combat, le gain d'argent sera le produit de 3 facteurs :
    – Coefficient d’enthousiasme : nouveauté propre à Sacred Phoenix. Au lieu que la somme d'argent totale soit facteur du niveau du dernier Pokémon possédé par le dresseur, cela sera une variable qui s'incrémentera après certaines actions. 5 points au départ du combat puis +1 par tour écoulé, +5 par Pokémon qui tombe KO (peu importe le camp) et +15 si un Pokémon meurt (peu importe le camp).
    –Base d'argent : inchangé, cela dépend du dresseur affronté (de la présence d'un public du point de vue du scénario du jeu).
    –Bonus : inchangé. Comme dans un jeu officiel dépend de l'usage de la Pièce Rune et des O-Auras d'argent.
    Notons que la phrase "[Nom du joueur] gagne [somme] kels." ne doit pas être affiché si le gain est de zéro. (Cas de la majorité des combats.)
    • Niveaux de difficulté (à portée aujourd'hui) et mode Nuzlocke (requiert la gestion de la mort - cf plus loin)
    Le mode de difficulté est simple et sera déterminé par une variable qui pourra prendre 3 valeurs :
    • Mode facile : -10 % sur le niveaux de tous les Pokémons des dresseurs, arrondi par défaut (floor).
    • Mode normal : Niveaux des Pokémons des dresseurs identique à ce qui a été programmé sur le Ruby Host.*
    • Mode difficile : +10 % sur le niveaux de tous les Pokémons des dresseurs, arrondi par excès (ceil).

    Ceci pourra être modifié à tout moment dans le menu des options.
    Comme dans Pokémon Gemme, le mode de difficulté engendrera une petite différence d'affichage sur l'écran de combat. Pokémon Gemme avait choisi d'afficher un chiffre romain (un I en bronze, un II en argent ou un III en or) selon le choix du joueur. J'avais pensé à faire afficher le nom du Pokémon adverse dans ces trois couleurs là (au lieu du blanc) selon le choix fait. (Dans les trois cas, on restera sur une teinte claire pour que ça reste lisible).
    Pour plus tard, la même feature sera appliqué sur le nom de nos Pokémons, mais selon le choix de la gestion de la mort des Pokémons (traditionnel, réaliste, Nuzlocke).
    Ainsi, si dans l'écran de combat, le nom de l'adverse et le nôtre sont tout deux affichés en doré par exemple, on saura que le joueur joue en difficulté difficile avec le mode Nuzlocke activé.

    * À noter que certains combats scénarisés style "Tour de Combat" (et bien entendu en PvP) n'auront pas les niveaux influencés par le choix de la difficulté.
    le but de cette feature est aussi d'éviter d'avoir à tripler chaque dresseur dans la base de donnée Ruby Host, en sachant que seul le niveau changera à chaque fois et rien d'autre.
    • La mort des Pokémons à Keltios
    Ceci est valable avec le mode "Réaliste" dans l'option de gestion de la mort.
    – En mode Nulocke, vos Pokémons seront "Mort" dès le KO. (La possibilité de résurrection avant le palier "Mort définitive" à 48H sera néanmoins préservé, libre au joueur de s'interdire de l'utiliser.)
    – En mode "Tradditionnel", la mort sera désactivée pour nos Pokémons.
    – Une option indépendante "Mort des Pokémons des adversaires" (active par défaut) pourra être désactivée afin que le joueur n'ait pas à gérer sa force de frappe. (Car tuer des Pokémons est mal vu à dans la plupart des combats à Keltios, surtout pour la jauge d'amitié et d'effroi de vos créatures magiques).

    • Créer un statut "Mort" voisin du statut "KO". Cela existe dans Pokémon Uranium lors que mode Nuzlocke est activé. Un Pokémon mort ne peu plus être ranimé en combat (contrairement au KO) mais une possibilité de résurrection existe si on agit assez rapidement après un trépas (et si ce n'est pas un Pokémon Spectre).
    • Créer un second statut "Mort définitive" qui correspond au départ définitif de l'âme du Pokémon dans l'au-delà. Graphiquement, l'affichage sera strictement identique. En coulisse, ça signifie que le Pokémon est mort depuis plus de 48H in-game et donc qu'il est trop tard pour le ressusciter. (Car oui, une possibilité de résurrection existe en jeu ! Ho-Oh et Xerneas en ont le pouvoir, mais ça ne fonctionne que si le sang du Pokémon tombé au combat est encore "chaud".)
    Lorsque la mort sera définitive, un message sera affiché pour prévenir le joueur. Mais c'est aussi à ce moment là qu'il existe une probabilité que l'âme du Pokémon défunt refuse de rejoindre le monde d'Yveltall et choisit de rester sous forme d'un Pokémon Spectre de même niveau que de son vivant. (Cette probabilité dépendra du niveau d'amitié ; et le Pokémon spectre qui en découlera dépendra de l'espèce du Pokémon défunt.)
    À noter qu'un Pokémon Spectre "mort" l'est directement pour toujours, car ça correspond au bannissement de son âme.
    • Les Pokémons Légendaires – par essence divins – suivront une règle différente. S'ils meurent en combat et atteignent le stade de la "mort définitive", ils se réincarnent sous la forme d'un oeuf qui apparaitra quelque part dans le monde.
    • Affichage des PV en nombre négatif possible suite à un KO, dans la limite en valeur absolue des PV max. Lorsque les PV sont négatifs, la jauge de PV est rempli de rouge depuis la droite. (Utile pour la gestion de la mort des Pokémons.) Car c'est lorsqu'en valeur absolue, les PV négatifs du Pokémon sont égaux (ou supérieurs) aux PV max (soit 200% des PV max perdus) que le Pokémon meurt au combat.
    • Si les PV perdus équivaut à 180-199 % des PV max perdus, le Pokémon sera "KO au bord de la mort", engendrant un gain d'XP plus important pour le vainqueur (mais une perte d'amitié plus forte pour le Pokémon vaincu). Un Pokémon KO au bord de la mort aura besoin d'un temps de récupération supérieur pour combattre à nouveau (au moins 24 heures sur le calendrier du jeu). Bien entendu, un Pokémon tué rapportera encore plus d'XP qu'un KO au bord de la mort (mais détériorera son degré d'amitié si cette mise à mort n'était pas méritée.)
    • Un Pokémon avec les bonus de Poké-Récré peut survivre face à un coup mortel et "Tomber KO au bord de la mort" à la place.
    • Un Pokémon qui adore son dresseur aura du respect pour son adversaire et veillera à pas le tuer accidentellement (s'il n'était pas en Posture agressive ou en train d'utiliser une Capacité Z). Dans ces conditions là, un coup fatal deviendra un "KO au bord de la mort".
     
    Dernière édition: 12 Août 2019
    Bugfix et yyyyj aiment ça.
  2. Bugfix

    Bugfix Dresseur prometteur

    ça en fais du boulot ^^ Bonne chance pour tout faire.
    (j'avoue que le "Palier de bonus de gain d'expérience" m’intéresse fortement xD)
     
  3. Amras Anárion

    Amras Anárion Roi Mythique Membre du personnel

    Mise à jour de la partie "Réalisé" : cette partie des objectifs devenus réalité s'est considérablement agrandie.
    Ajout dans les Idéaux de la refonte du menu d'options et de 2-3 petites choses.