Je trouverais logique qu'une arme bénéficie des bonus d'un personnage : Un sabre avec un équilibrage particulier serait par exemple terrible dans les mains d'un personnage expérimenté, mais peu efficace (voire pénalisant) pour un novice.
Par contre qu'une arme te rendre plus agile ce n'est pas logique, bien que l'implémentation le laisse croire : on donnera un bonus d'agi à l'arme pour expliquer qu'elle est maniable alors qu'on pourrait se contenter d'améliorer le bonus aux dégâts conférés par l'agilité pour cette arme.
Dans les deux cas, l'exemple des PV est mal choisi pour une arme parce que les points de vie c'est dans le corps du perso et pas dans son stuff.
Oui j'ai fait un choix, vu que tu demandes comment on fait/ferait, c'est une proposition. Elle a le mérite d'être simple si on applique tous les bonus longue durée en % et les temporaires en +/-
Mais tu peux facilement décider autrement tes priorités.
Autre exemple : je prends en premier les bonus "naturels", que tu as tout le temps, par exemple bonus de classe de +10% de PV (100 => 110)
Ensuite, je prends les bonus du stuff, une armure +10 PV (comme je l'ai dit c'est pas logique mais c'est courant) (110 => 120)
Ensuite j'ajoute les buffs magiques en pourcentage sur le total, dans l'ordre ou ils ont été posés, ou bien pourcentages d'abord et +/- ensuite
Mais comme tu dis que ça te gène, fais l'inverse, tu prends d'abord les bonus conférés par les armes, puis les 10% de classe.
Deux choses ici, dans les deux cas il te faudra faire des tests d'équilibrage pour voir quelle méthode est interessante. Ensuite, il faudra rester cohérent, afin qu'on puisse faire du theorycraft ou plus simlpement que le joueur sache le calculer.
Ensuite tu peux complexifier la chose : si comme dans wow les points de vie sont en partie déduits de l'endurance, tu peux donner à une armure un bonus d'endurance, qui sert dans le calcul de base des stats et par-dessus lequel tu appliques les bonus de classe. Et pour d'autres objets, tu peux donner un simple bonus de PV qui viendront simplement s'additionner au total.
Enfin, pour l'implémentation, je disais simplement que , ton joueur de base dispose de 100 + 10% de classe + 10% d'une arme + 10 magiques:
100 * 1.1 * 1.1 + 10
ensuite le timer des 10 magiques finit, tu recalcules simplement en listant tous les bonus du joueur dans l'odre que tu es en train de décider :
100 * 1.1 * 1.1
et pouf tu as tes nouveaux PV.
C'est redondant parce que ça tombe à chaque fois qu'il y a un changement, mais ça me paraît logique. Et ça ne devrait pas être long non, vui que ce sont de simples multiplications/additions/etc
Sinon si je devais retenir un truc de ce que j'ai dit c'est :
1. définir un ordre entre bonus natifs, bonus des armes, buffs magiques/rage/etc. (dans cet ordre là pour moi car je vais du plus permanent au plus court -- sauf si on change d'arme ??)
2. dans chaque groupe, appliquer d'abord les pourcentages puis les additions, c'est plus simple à calculer dans sa tête et pour y voir clair.
3. rester cohérent : ne pas s'parpiller entre des épées qui apportent du bonus % à l'endurance et d'autres du +/- à l'endurance. Pour le couple endurance/arme-blanche ce sera toujours pourcentage, ou bien score mais pas l'un ou l'autre selon l'objet.
(tu peux remplacer couple endurance/arme-blanche par endurance/arme-blanche/guerrier pour différencier les effets selon la classe si chaque classe est spécifique, pourquoi pas, l'important est de ne pas perdre le joueur)
Par contre qu'une arme te rendre plus agile ce n'est pas logique, bien que l'implémentation le laisse croire : on donnera un bonus d'agi à l'arme pour expliquer qu'elle est maniable alors qu'on pourrait se contenter d'améliorer le bonus aux dégâts conférés par l'agilité pour cette arme.
Dans les deux cas, l'exemple des PV est mal choisi pour une arme parce que les points de vie c'est dans le corps du perso et pas dans son stuff.
(15-11-2011, 04:11 PM)Argorate a écrit : Globe: je préfère stocker les effets fixe directement dans le champs correspondant lorsque c'est possible (comme avec les pv par exemple)
oxman & niahoo : le problème c'est justement le "avant ou après", car là niahoo, tu as déjà fait un choix de priorité dans ton exemple.
En gros tu prends les pourcentages, tu les appliques et tu ajoutes les "+" derrière (effectivement c'est plus simple), mais ça veux dire qu'un joueur qui à un bonus de classe de 10% de PV, les auras sur ces PV de base, mais s'il obtient une arme ou autre objet qui fait un bonus de +10PV, le %age n'y sera pas appliqué, c'est ça qui me gène ^^
Sinon pour se qui est de le recalculé a chaque modif, ça veux dire qu'il faut faire un traitement spécial de le setPv() et tout les nombreux autres carac possible?
C'est un peu long et redondant non?
Oui j'ai fait un choix, vu que tu demandes comment on fait/ferait, c'est une proposition. Elle a le mérite d'être simple si on applique tous les bonus longue durée en % et les temporaires en +/-
Mais tu peux facilement décider autrement tes priorités.
Autre exemple : je prends en premier les bonus "naturels", que tu as tout le temps, par exemple bonus de classe de +10% de PV (100 => 110)
Ensuite, je prends les bonus du stuff, une armure +10 PV (comme je l'ai dit c'est pas logique mais c'est courant) (110 => 120)
Ensuite j'ajoute les buffs magiques en pourcentage sur le total, dans l'ordre ou ils ont été posés, ou bien pourcentages d'abord et +/- ensuite
Mais comme tu dis que ça te gène, fais l'inverse, tu prends d'abord les bonus conférés par les armes, puis les 10% de classe.
Deux choses ici, dans les deux cas il te faudra faire des tests d'équilibrage pour voir quelle méthode est interessante. Ensuite, il faudra rester cohérent, afin qu'on puisse faire du theorycraft ou plus simlpement que le joueur sache le calculer.
Ensuite tu peux complexifier la chose : si comme dans wow les points de vie sont en partie déduits de l'endurance, tu peux donner à une armure un bonus d'endurance, qui sert dans le calcul de base des stats et par-dessus lequel tu appliques les bonus de classe. Et pour d'autres objets, tu peux donner un simple bonus de PV qui viendront simplement s'additionner au total.
Enfin, pour l'implémentation, je disais simplement que , ton joueur de base dispose de 100 + 10% de classe + 10% d'une arme + 10 magiques:
100 * 1.1 * 1.1 + 10
ensuite le timer des 10 magiques finit, tu recalcules simplement en listant tous les bonus du joueur dans l'odre que tu es en train de décider :
100 * 1.1 * 1.1
et pouf tu as tes nouveaux PV.
C'est redondant parce que ça tombe à chaque fois qu'il y a un changement, mais ça me paraît logique. Et ça ne devrait pas être long non, vui que ce sont de simples multiplications/additions/etc
Sinon si je devais retenir un truc de ce que j'ai dit c'est :
1. définir un ordre entre bonus natifs, bonus des armes, buffs magiques/rage/etc. (dans cet ordre là pour moi car je vais du plus permanent au plus court -- sauf si on change d'arme ??)
2. dans chaque groupe, appliquer d'abord les pourcentages puis les additions, c'est plus simple à calculer dans sa tête et pour y voir clair.
3. rester cohérent : ne pas s'parpiller entre des épées qui apportent du bonus % à l'endurance et d'autres du +/- à l'endurance. Pour le couple endurance/arme-blanche ce sera toujours pourcentage, ou bien score mais pas l'un ou l'autre selon l'objet.
(tu peux remplacer couple endurance/arme-blanche par endurance/arme-blanche/guerrier pour différencier les effets selon la classe si chaque classe est spécifique, pourquoi pas, l'important est de ne pas perdre le joueur)