[Mod PSDK] Death Overhaul et Nuzlocke

10 Réponses • 1037 Vues

Death Overhaul v3.0

Bonsoir à tous,

J'ai le plaisir de vos partager l'une des plus grandes features de mon fan-game Pokémon Sacred Phoenix : mon mod Death Overhaul qui revisite les conséquences du KO selon plusieurs degrés. Entièrement paramétrable, cela permet au maker ou au joueur de régler la difficulté qu'il souhaite.
Ce mod n'est pas "jeu officiel friendly", c'est-à-dire qu'il n'est pas conforme aux gameplay officiel Pokémon, mais a pris inspiration dans des théories de fans et leur désir de difficulté. Il a été créé avant tout pour l'univers de Sacred Phoenix, mais comme ça peut en intéresser ou en inspirer certains, je partage avec plaisir.
Ce mod est aussi une extension du Nuzlocke Challenge intégré nativement à PSDK, offrant une grande souplesse et de nombreuses clauses optionnelles, chacune activable indépendamment.

--> Télécharger le Mod ! <--
(Crédits : Altarax et Amras Anárion - Code source de PSDK : Nuri Yuri -- testé avec succès sur PSDK 24.63)

PDF sur la mort des Pokémons à Keltios - game design document sur dont ce Mod est basé.

Ancienne version pour PSDK 24.47 à 24.56 : Death Overhaul v2

Fonctionnalités :

  • Mode Nuzlocke entièrement personnalisable
    – Clause de la capture unique par zone indépendante de celles de mort si KO (Le maker peut au choix les jumeler ou les différentier.)
    – Clause chromatique
    – Clause doublon
    – Clause légendaire
    – Clause Black-Out
    – Clause objets interdits en combat (plugin optionnel, cf. plus bas)

  • Marquage des morts avec un statut « mort » distinct du KO.
    Permet de conserver ses Pokémons décédés dans une boîte cimetière.

  • Système de mort réaliste à mi-chemin un jeu Pokémon traditionnel et un Nuzlocke
    Offrant une difficulté intermédiaire entre ces deux modes, un Pokémon meurt s’il perd en un coup le double de ses PV max (explications dans ce PDF). Ce mode permet aussi à un Pokémon d’être « gravement KO » s’il a frôlé la mort, ce qui nécessitera des soins plus poussés.

  • Système de réincarnation et résurrection propre à Sacred Phoenix, activable de trois manières différentes :
    – Mode 1 (par défaut) : Résurrection possible durant un temps limité avec les Cendres sacrées (à l’exception des Pokémons spectres), puis chance de réincarnation en un Pokémon spectre à l’issue du cooldown. (Si échec de la réincarnation, ça devient une permadeath.)
    – Mode 2 : Résurrection possible sans limite de temps avec les Cendres sacrées (sauf spectres), mais pas de réincarnation.
    – Mode 3 : Vraie permadeath : pas de méthode de résurrection via les Cendres Sacrés, ni de réincarnation.
    # Dans le cas n°1, les Légendaires peuvent se réincarner en œuf et réapparaitre dans l’équipe du joueur ou à un endroit déterminé sur l’une de vos maps.
    # Dans les cas n°1 et n°2, les Pokémons spectres subissent un bannissement en cas de « mort », ce qui équivaut à une permadeath.
    # Dans tous les cas, la résurrection peut toujours être forcée via une commande script insérable en évent-making. (Utile si vous souhaitez permettre la résurrection des Pokémons spectres par exemple.)

  • Poison à l’ancienne
    Si activé, un Pokémon qui tombe à 0 PV in-map deviendra KO comme dans les trois premières générations, au lieu d’automatiquement guérir avec 1 PV. Le KO sera bien entendu une mort si le mode Nuzlocke est activé.

Pas encore implémenté :
• Les conséquences (bonnes ou mauvaises) de tuer le Pokémon d'un adversaire. Est prévu un gros bonus d'XP, mais une pénalité d'amitié (et donc un risque de désobéissance selon la philosophie du Phénix sacré).
• Ajout dans le cimetière natif de PSDK en cas de « relâchement » d’un Pokémon mort.
• Recensement des Pokémons morts ou morts déf présents dans le PC ou l’équipe (en plus de ceux du cimetière de PSDK) pour la partie « à la mémoire de » du Hall of Fame.


Plugins optionnels (peuvent être utilisés en standalone) :

  • Mode de difficulté
    Offre 3 modes de difficulté permettant de modifier le niveau (×0,9 ; ×1 ou ×1,1) des dresseurs adverses. (Possibilité de créer d’autres paliers de difficulté ou de modifier les coefficients en allant dans le script.)

  • Objets interdits en combat
    Permet au joueur de se fixer une clause d’interdiction des objets en combat.
    Permet aussi au maker de temporairement bloquer l’accès au sac pour un combat scénarisé. Plusieurs phrases types notifiant l’interdiction sont incluses de série.

  • Loyalty Overhaul v1
    Inflige une pénalité d’amitié lorsque le Pokémon tombe KO. La pénalité est proportionnelle aux PV perdus (toujours minimale en mode traditionnel, progressive en mode réaliste et toujours maximale en mode Nuzlocke).
    Permet aussi à la Luxe Ball, à la Copain Ball et au Grelot Coque de fonctionner correctement.


Screenshots :

Minidraco a frôle la mort !



Un mort dans l'équipe



Un Chenipan qui trois jours après ne s'est pas réincarné...



Poison à l'ancienne



Poison à l'ancienne




Documentation et installation :

(Ce mod est lourd (23 à 30 plugins !) et possède donc un risque de conflit de mods non négligeable si vous avez installé d'autres plug-ins, je vous conseille de faire un back-up de votre projet.)

PDF d'installation des scripts : https://www.sacredphoenix.fr/res/Telechargements/PDF/Mods/Death Overhaul - guide d’installation.pdf

PDF de paramétrage des évents : https://www.sacredphoenix.fr/res/Telechargements/PDF/Mods/Death Overhaul - guide de l'event-making.pdf
---------------------

• Si vous avez une ancienne version de Death Overhaul, supprimez les anciens scripts.

• Décompresser l'archive.

• Mettre les dossiers "Data", "graphics" et "scripts" à la racine de votre Projet PSDK. Remplacer les fichiers, si demandé.

• Dans le dossier « -- plugins optionnels -- » du mod…
– Si vous souhaitez la feature de Caught Overhaul (rééquilibrage de la capture), installez dans votre dossier /scripts le dossier 06600 Caught Overhaul. Rectifiez ou complétez les arrays en début du script maître « 16040 Caught Overhaul » si vous utilisez des Fakemons.
– Si vous souhaitez la feature d’objets interdits en combat, installez dans votre dossier /scripts le dossier 06650 No items on battle.
– Si vous souhaitez activer l’ébauche de Loyalty overhaul, installez dans votre dossier /scripts le dossier 06700 Loyalty Overhaul lite.
– Si vous souhaitez la feature de difficulté, installez dans votre dossier /scripts le dossier 06800 Difficulty settings

• Renseignez les variables, constantes, arrays et interrupteurs nécessaires à ce mod dans le script maître : « 00500 Death overhaul - master - Gestion cycle vie-mort ». Tout est centralisé ici depuis la version 2.0 du mod.

• En vous aidant des screenshots et fichiers contenus dans “-- Events Communs à mettre sur RMXP --”, créer les 3 évents communs demandés :
– Un compte à rebours qui gère les réincarnations 3 jours après la mort. (Vous pouvez faire une version simplifiée qui ne gère que les jours écoulés.)
– L'appel des textes des morts.
– Éditer les deux lignes conditionnelles de l’évènement commun n°3 conformément au screenshot « Event commun 3 de retour au centre ».
(Les 2 premiers ne sont pas indispensables si la feature de réincarnation est désactivée.)

• Dans votre projet, créer un ou plusieurs évents pour pouvoir modifier les variables et interrupteurs liés au mod et tester les changements. :)

• Profitez ! ;-)


Bugfix, Zenos et moi avant bêta-testé cela afin d'avoir de proposer cette version "standalone" indépendante. Pensez à bien dédier les 2 évents communs demandés ainsi que les variables et interrupteurs listés pour le faire fonctionner.

Néanmoins, PSDK étant en perpétuelle évolution, je ne garantis pas que ça restera compatible sur le long-terme (bien que je tâcherai de le maintenir toujours compatible ce n'est-ce parce que cette feature me tient à coeur.)
Quoi qu'il en soit, n'hésitez pas à faire vos retours et signalements de bugs.

« Modifié: 04 mai 2020, 03:12:48 par Amras Anárion »

Pack Script PSDK

Nuri Yuri

HostMaster

C'est un truc de fou xD
Sinon, pour la comparaison que tu veux que je change, indique moi la quelle doit être changé ^^'
ln(yo) = <3

Eurons

Mappeur

Bienvenue chez la team Phoenix, il a pas le temps mdr
C'est un truc de fou xD
Sinon, pour la comparaison que tu veux que je change, indique moi la quelle doit être changé ^^'

Pour les `hp <= 0` au lieu des `hp == 0` , ma demande tient tout simplement du fait que si les PV passent en négatif pour mon mod "Death Overhaul", plein de bugs (allant d'un glitch graphique marrant à un crash en bonne et due forme) peuvent se produire.
Exemples de bugs que j'ai du patcher via des plug-ins additionnels :
- Application des pertes de stats après qu'un Pokémon soit KO.
- Double message de KO en cas de cumul de dégâts indirects car des dégâts indirects sont appliqués sur un Pokémon déjà KO. (Ex : Orbe Vie + poison). Cela se suit inexorablement d'un crash. (Car double appel du script de switch après KO pour un même Pokémon KO.)
6 des 24 plugins, c'est juste pour remplacer les `hp == 0` par des  `hp <= 0`, ce qui réduit la compatibilité avec d'autres plugins et les mises à jours (augmentation des conflits).

D'où ma demande pour l'Alpha 25 de faire cette petite anticipation quand une condition du style `Si les PV sont égaux à 0` doit apparaitre. (En gros, tout ce qui ne doit pas se trigger si les PV d'un Pokémo ne sont pas strictement positifs.)
Pour un gameplay officiel, ce changement n'aura bien entendu aucune conséquence.
Mod mis à jour pour PSDK 24.44. Le lien est inchangé : https://www.sacredphoenix.fr/Telechargements/PSDK/Scripts/Death%20Overhaul.7z

On est descendu de 24 à 20 plugins grâce à push officialisé des hp == 0 en hp <= 0 dans PSDK, donc un risque plus faible de conflit.  :3
Cette petite cure a été aussi l'occasion de changer certains scripts.

Ceux qui ont été mis à jour sont :
• 13150 Death overhaul - StatusSprite icon.rb
Mise à jour de compatibilité avec le nouveau mécanisme PSDK 24.43 sur la spritesheet des statuts.
• 16150 Patch Scene Battle BEGEND Turn.rb
Divers rééquilibrages sur les dégâts/regens des objets tenus + suppression de fragments de codes devenus inutiles depuis le hp <= 0 + le proc de l'Orbe vie et des Restes affiche désormais une phrase appropriée
• 16040 Death overhaul - Mort Duree Animation.rb
Animation de diminution des PV deux fois plus lente
• 16031 Difficulty level.rb
patch pour éviter des Pokémons niveau 0 ou supérieur au niveau max autorisé
• 17021 Death overhaul - mue.rb
Malheureusement toujours indispensable, sinon mue proc si le Pokémon est KO

Ceux qui ont été supprimés sont :
• 13600 Death overhaul - StatusSprite icon.rb (renommage suite à changement de nom du script originel)
• 16043 Death overhaul - Patch crash negative HP.rb
• 17170 Death overhaul - BE Interpreter Effects.rb
• 17180 Death overhaul - Module Interpreter Stats.rb
• 17190 Death overhaul - Module Interpreter Statut.rb

Les bugs liés aux PV négatifs ont aussi disparu.  :)

Si vous souhaitez faire une mise à jour ciblée, vous avez les clés en main.  :3
Notez qu'il faudra absolument mettre à jour les graphismes (fournis dans l'archive actualisée), car il y a eu quelques petits changements liés à StatusSprite icon.rb.

La version "lite" avec un mode Nuzlocke simple (statut "mort", pas de PV négatif, fonctionnement binaire activé/désactivé uniquement sur les Pokémons des joueurs) est toujours promise. Il faudra juste que je trouve le temps de m'y consacrer.
Le mod a été mis à jour en version 1.3 :

Changelog :

1.1 - 02/11/2019
• Compatibilité PSDK 24.44

1.1 - 17/01/2020
• Ajout d'une constante GUARANTEE_REBIRTH : array permettant de garantir à 100% la réincarnation de Pokémons précis.
• Ajout d'un guide d'installation en PDF dans le dossier du mod.

1.3 - 18/01/2020
• Ajout d'une constante MONEY_KELTIOS (false par défaut) : permet d'assurer la compatibilité avec le mod "Argent de Keltios".
• Ajout d'une constante LOYALTY_OVERHAUL (false par défaut) : permet d'assurer la compatibilité avec le mod "Loyalty Overhaul".
• Ajout de la partie explicative sur les oeufs de légendaire dans le guide d'installation.
• Correction d'un bug critique lorsque le niveau de difficulté des dresseurs était modifié suite à un renommage de constante sur PSDK qui datait de la 24.47. (Merci Zenos pour le signalement.)

2.0 - 17/03/2020
• Centralisation de toutes les constantes dans un seul script du mod.
• Gestion de la capture par zone grâce à l'implémentation officielle de cette fonction dans PSDK depuis la 24.53.
• Ajout des clauses chromatique, doublon, légendaire et Black out.
• Ajout du poison à l'ancienne
• Ajout d'une fonctionnalité d'objets interdits en combat
• La réincarnation est désormais partiellement ou totalement désactivable.
• Rétrocompatibilité de mod jusqu'à la version 24.47 de PSDK.
• Compatibilité automatique avec les autres mods de Sacred Phoenix.
• Documentation plus complète, séparant le volet "installation et paramétrage des scripts" de la partie "évent-making".

« Modifié: 21 mars 2020, 13:22:37 par Amras Anárion »

Nuri Yuri

HostMaster

Cool de revoir ces plugins. Un truc qui serait pas mal, c'est qu'ils aient leur propre repo gitlab histoire que les fix puissent être suivis et que les MAJ chez les utilisateurs soient plus simple ;)

Pour rappel, un plugin cloné depuis git (cd scripts => git clone url "00001 Nom Du Plugin") s'update ainsi :
cd "scripts/00001 Nom Du Plugin"
git pull
Ce qui est vachement plus simple ;q

Enfin ça pourra être pour le futur.
ln(yo) = <3
Ces plugins sont en effet de retour, et avec un update majeur suite à la dernière mise à jour PSDK qui m'a motivé à rajouter de nouvelles options, offrant un Nuzlocke entièrement paramétrable. (Le maker peut jumeler des paramètres pour simplifier les choix proposés au joueur.)
Cette nouvelle version est compatible avec PSDK 24.47 et versions supérieures de l'Alpha 24, ainsi qu'avec mes autres mods. (La compatibilité est automatique.)

S'il me reste encore une chose de prévue (avant l'inexorable adaptation pour l'Alpha 25), c'est de créer un menu de paramétrage des diverses options proposés.
Le mod a été mis à jour en version 3.0 :

Changelog :

3.0 - 04/05/2020
• Compatibilité avec la version actuelle de PSDK (24.63), notamment vis-à-vis de la méthode renommée pour l'appel des types et des objets. (La version 2.0 compatible de PSDK 24.47 à 24.56 reste temporairement disponible pour les anciens projets.)
• Réorganisation du mod et de ses plug-ins optionnels en sous-dossiers pour faciliter leur installation/désinstallation ainsi qu'optimiser leur ordre de chargement.
• Renommage du script maitre "90000 Death overhaul - Gestion cycle vie-mort" en "00500 Death overhaul - master - Gestion cycle vie-mort". En effet, ce script devait être le premier à charger et non le dernier.
• Prise en compte du cimetière natif de PSDK (non utilisé pour le moment, mais ça permettra une comptabilité future).
• Ajout de Caught Overhaul parmi les plug-ins optionnels. (Ce mod est de base standalone, mais je l'inclus afin qu'il soit mis à jour en même temps que Death Overhaul si vous l'avez déjà installé.)
• Le plug-in optionnel "Loyalty Overhaul" est renommé en "Loyalty Overhaul lite", version allégée de ce qui est en cours de codage pour Sacred Phoenix.
• Mod optionnel Loyalty Overhaul lite : la nature a désormais une légère influence sur les variations de bonheur.
• Mod optionnel No items on battle : ce plug-in optionnel est désormais proposé indépendamment de "Difficulty settings". De plus, il s'avère que le script "14330 Death overhaul - Sac interdit" était lié à ce plug-in et ne faisait pas parti du Core de Death Overhaul : il est donc déplacé dans le dossier optionnel de "No items on battle".
• Tous les mods optionnels sont utilisables de manière indépendante sans Death Overhaul. (Dans ce cas là, il faudra aller dans le premier script de chaque plugin optionnel et paramétrer ce qui est demandé (n° de variable ou remplissage d'un array).

Si vous migrez de la 2.0 vers la 3.0, vous pouvez conserver vos réglages de l'ancien script en conservant votre script 90000 Death overhaul - Gestion cycle vie-mort" puis en le renommant 00500 Death overhaul - master - Gestion cycle vie-mort pour écraser celui contenu dans la version 3.0. (En lui même, ce script maitre n'a pas été modifié - il est juste renommé).
Y aurait-il une possible compatibilité avec PSP ?

Rey

Modérateur

Les scripts PSDK ne fonctionnent pas sur PSP, et inversement les scripts de PSP ne fonctionnent pas sur PSDK. Il faut totalement réadapter le script pour le mettre aux normes de PSP pour espérer qu'il fonctionne sur ce dernier.

There was an error while thanking
Thanking...