Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
DarK™ Membre actif
Inscrit le: 29 Aoû 2011 Messages: 197 Sujets: 15 Spécialité en worldedit: Système/Déclencheurs [GUI]
|
Posté le: 29/06/16 14:18 Sujet du message: Damage detection sans DDS? |
|
|
Hello, étant donné que je ne sais pas si Fall's ORPG verra le jour en version finie, je voulais partager avec vous une trouvaille que j'ai faite, une possibilité de DDS est faisable sans insérer de DDS et 'presque' sans déclencheurs, certes il faudra coder beaucoup de choses derrière mais ça a le mérite d'être "fait-maison" donc, hyper personnalisable.
Je m'explique, dans les constantes de jeu, il y a des tables de réduction de dégâts (attaques perçantes plus efficace sur armure légère etc...).
La solution réside dans le fait que même avec un coefficient de dégâts de '0.00' (signifie que les dégâts seront multipliés par '0.00), l’événement "une unité subit des dégâts" se déclenche, il suffit de le fixer à '0.00' pour toutes les sources de dégâts sur toute les armures à l'exception du type chaos, qui infligera toujours '1.00'x ses dégâts (il me semble que par défaut, des dégâts chaos infligent toujours '1.00'x ses dégâts) en admettant que tout les dégâts de sorts soient codés de cette façon:
set DamageFromSpell = True
set DamagingUnit = Unit1
set DamagedUnit = Unit2
set DamageAmount = 50
*Appeler un déclencheur qui infligera les dégâts* (cette partie est importante pour la suite)
set DamageFromSpell = False
Toute les autres sources de dégâts sont donc issues de dégâts d'attaque de base - on peut alors imaginer des dégâts de sorts de tout type imaginables:
set DamageFromSpell = True
set DamagingUnit = Unit1
set DamagedUnit = Unit2
set DamageType = "Fire"
set DamageAmount = 50
*Appeler un déclencheur qui infligera les dégâts*
set DamageFromSpell = False
La magie réside dans des variables (unité-indexées ou joueur-indexées) et dans ce fameux "déclencheur qui infligera les dégâts"
De cette façon avec un processus de vérification des variables on peut se retrouver avec quelque chose du genre :
Une unité subit des dégâts
Si DamageFromSpell == True
Alors
Fait en sorte que DamagingUnit inflige DamageAmount en type CHAOS à DamagedUnit
Sinon
Fait en sorte que DamagingUnit inflige (Agilité de DamagingUnit) en type CHAOS à DamagedUnit
Fin-Si
Et on peut imaginer toute sorte de variables pour compléter notre système :
Damage_DodgeChance[] = %chance d'esquiver, à intégrer ici :
Si DamageFromSpell == True
Alors
Fait en sorte que DamagingUnit inflige DamageAmount en type CHAOS à DamagedUnit
Sinon
Si Damage_DodgeChance[Player number of owner of DamagedUnit] plus grand ou égal à random(1, 100)
Alors
Fait en sorte que DamagingUnit inflige (Agilité de DamagingUnit) en type CHAOS à DamagedUnit
Sinon
Affiche un message d'esquive/attaque ratée
Fin-Si
On peut aussi intégrer des coups critiques, si l'attaque n'est pas esquivée, du vol de vie sur un %age des dégâts infligés, du sort vampirique (% de dégâts des sorts rendus en points de vie...).
Ce système permettrait d'intégrer facilement beaucoup de variable et de traitement souvent lourds pour détecter des sorts, des attaques de bases, et tout ce genre de chose.
Qu'en pensez-vous?
Edit: étant au travail je ne peux pas insérer le code WorldEditor, si j'y pense en rentrant je le ferais pour rendre la présentation plus clair _________________
|
|
Revenir en haut |
|
|
Ayane Bot administrateur
Inscrit le: 17 Sep 2007 Messages: 2009 Sujets: 49
Médailles: 2 (En savoir plus...)
|
|
Revenir en haut |
|
|
DarK™ Membre actif
Inscrit le: 29 Aoû 2011 Messages: 197 Sujets: 15 Spécialité en worldedit: Système/Déclencheurs [GUI]
|
Posté le: 29/06/16 15:01 Sujet du message: |
|
|
Introuvable pour ma part :/ _________________
|
|
Revenir en haut |
|
|
Wareditor The Master of Nothing
Inscrit le: 22 Déc 2008 Messages: 1638 Sujets: 88 Spécialité en worldedit: Effacer
|
Posté le: 29/06/16 15:45 Sujet du message: |
|
|
Quel est l'intérêt ? _________________
|
|
Revenir en haut |
|
|
DarK™ Membre actif
Inscrit le: 29 Aoû 2011 Messages: 197 Sujets: 15 Spécialité en worldedit: Système/Déclencheurs [GUI]
|
Posté le: 29/06/16 15:48 Sujet du message: |
|
|
Wareditor a écrit: | Quel est l'intérêt ? |
Un damage detection system facilement créé, il nécessite par la suite de coder tout sort ou dégâts de base, mais pour des cartes qui utiliserait des types de dégâts, des sorts qui peuvent critiques, et tout autres interactions imaginable, le process sera le même. _________________
|
|
Revenir en haut |
|
|
Wareditor The Master of Nothing
Inscrit le: 22 Déc 2008 Messages: 1638 Sujets: 88 Spécialité en worldedit: Effacer
|
Posté le: 29/06/16 16:35 Sujet du message: |
|
|
Désolé mais je ne vois pas en quoi ce que tu proposes est plus facile ou plus avantageux que n'importe quel autre DDS classique. De plus, les DDS d'aujourd'hui permettent de faire une distinction entre dégâts physiques, dégâts de sort et dégâts code sans avoir à recoder l'entièreté des sorts du jeu.
EDIT: Rien que le titre du thread est absurde : Damage Detection sans Damage Detection System :p _________________
|
|
Revenir en haut |
|
|
Troll-Brain Ri1kamoua
Inscrit le: 23 Aoû 2007 Messages: 7143 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
|
Posté le: 29/06/16 21:11 Sujet du message: |
|
|
Wareditor a écrit: | Désolé mais je ne vois pas en quoi ce que tu proposes est plus facile ou plus avantageux que n'importe quel autre DDS classique. De plus, les DDS d'aujourd'hui permettent de faire une distinction entre dégâts physiques, dégâts de sort et dégâts code sans avoir à recoder l'entièreté des sorts du jeu.
EDIT: Rien que le titre du thread est absurde : Damage Detection sans Damage Detection System :p |
Sans aucun bug et/ou limitation ?
Je croyais que c'était encore la quête du graal à ce sujet. _________________
Le violet, c'est moche. |
|
Revenir en haut |
|
|
Wareditor The Master of Nothing
Inscrit le: 22 Déc 2008 Messages: 1638 Sujets: 88 Spécialité en worldedit: Effacer
|
Posté le: 30/06/16 15:53 Sujet du message: |
|
|
Il y a quelques limitations avec la méthode de la résistance magique à 200% : finger of death et life drain ne marchent pas et il faut implementer les objets ayant des résistances à la magie dans le système.
Aucune limitations majeurs selon moi.
Petit lien pour les curieux _________________
|
|
Revenir en haut |
|
|
DarK™ Membre actif
Inscrit le: 29 Aoû 2011 Messages: 197 Sujets: 15 Spécialité en worldedit: Système/Déclencheurs [GUI]
|
Posté le: 11/07/16 13:33 Sujet du message: |
|
|
Le mien n'a aucune limitation (de ce que j'ai vu en m'en servant), je créer actuellement une map où le but serait, à 4 joueurs, d'affronter de puissants monstres à la wow, phase, sorts, combo etc.. je ferais une présentation plus précise un peu plus tard, mais plusieurs compétences sont déjà présentes; renvoie + réduction de dégâts, coup critique (non-passif, via un sort) sur les attaques de base, détection de dégâts magiques ou physiques (boss plus ou moins résistants à certain type d'attaque) augmentation de dégâts contre une seule cible, augmentation dégâts des sorts... et j'en passe.
L'avantage également qu'il a, c'est qu'il est entièrement en GUI (et pas une "fausse" version GUI qui passe sur une sorte d'API), et ne consiste qu'en 2 déclencheurs (1 pour convertir une auto-attaque et faire les dégâts, le 2ème qui consiste à traiter le tout).
Je dirais que c'est plus un Damage System qu'un Damage Detection System, le système est celui qui inflige les dégâts de A à Z, et non un utilitaire de détection pour dégâts (et ensuite en ré-infliger). _________________
|
|
Revenir en haut |
|
|
Karbok Membre actif
Inscrit le: 29 Oct 2014 Messages: 181 Sujets: 8 Spécialité en worldedit: les gauffres au nutella
|
|
Revenir en haut |
|
|
DarK™ Membre actif
Inscrit le: 29 Aoû 2011 Messages: 197 Sujets: 15 Spécialité en worldedit: Système/Déclencheurs [GUI]
|
Posté le: 12/07/16 10:30 Sujet du message: |
|
|
Le système est déjà fait, je l'utilise notamment dans la map dont j'ai parlé précédemment; ceux qui existent déjà (de ceux que j'ai trouvé, on est jamais à l'abris d'être passé à côté) ont/nécessitent des implémentations compliquées et/ou contraignantes.
Le gros intérêt pour moi de celui que je propose est de se servir en partie d'une fonctionnalité du WE pour gérer les auto-hits et de gérer via déclencheurs la partie des sorts. Cela permet des effets très personnalisables pour peu que les connaissances en GUI soient avancées; à noter que l'utilisation de ce système ne gêne en rien l'utilisation du JASS à l'intérieur de son traitement. _________________
|
|
Revenir en haut |
|
|
|