- YndilMembre
- Nombre de messages : 23
Age : 31
Localisation : Dans le grand nord, entre la pluie et le brouillard
Distinction : aucune
Date d'inscription : 05/07/2010
Script formule de combat (résolu)
Jeu 30 Juin 2011 - 14:36
Bonjour je suis à la recherche d'un script me permettant de changer le calcul de dommages. C'est à dire Que le calcul serait:
(((Niv du lanceur*2/5+2)*Force de l'attaquant*force de l'arme utilisée/Def de la victime)/50)+2
Calcul assez compliqué non? Sachant que le facteur "force de l'arme utilisée" est remplacée par 1 venant de l'attaque des monstres. Ce n'est pas fini, et oui! Pour les sorts, il faudrait modifier la force et la défense par l'intelligence du monstre ou du perso.
J'avoue que ce sera un travail de longue haleine mais un petit tuto serait le bienvenu (je crois que j'en demande trop)
Merci d'avance!
(((Niv du lanceur*2/5+2)*Force de l'attaquant*force de l'arme utilisée/Def de la victime)/50)+2
Calcul assez compliqué non? Sachant que le facteur "force de l'arme utilisée" est remplacée par 1 venant de l'attaque des monstres. Ce n'est pas fini, et oui! Pour les sorts, il faudrait modifier la force et la défense par l'intelligence du monstre ou du perso.
J'avoue que ce sera un travail de longue haleine mais un petit tuto serait le bienvenu (je crois que j'en demande trop)
Merci d'avance!
- driccMembre
- Nombre de messages : 2760
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009
Re: Script formule de combat (résolu)
Jeu 30 Juin 2011 - 15:28
Tiens , oui , par curiosité ou ça se change ...
... eh bien , c'est dans la classe Game_Battler .
un "Game_Battler" peux etre aussi bien un allié qu'un ennemi donc la modif ne serait à faire qu'a un endroit .
Donc ajoute ce script à la suite :
Mais modifie à l'intérieur en fonction de tes besoins (là , j'ai en fait juste copié les methodes) .
Par contre , j'ai peur qu'il ne soit pas possible de differencier la force de l'arme de la force du combattant ... les 2 sont déja sommés .
... eh bien , c'est dans la classe Game_Battler .
un "Game_Battler" peux etre aussi bien un allié qu'un ennemi donc la modif ne serait à faire qu'a un endroit .
Donc ajoute ce script à la suite :
- Code:
class Game_Battler
#--------------------------------------------------------------------------
# * Calculation of Damage From Normal Attack
# attacker : Attacker
# The results are substituted for @hp_damage
#--------------------------------------------------------------------------
def make_attack_damage_value(attacker)
damage = attacker.atk * 4 - self.def * 2 # base calculation
damage = 0 if damage < 0 # if negative, make 0
damage *= elements_max_rate(attacker.element_set) # elemental adjustment
damage /= 100
if damage == 0 # if damage is 0,
damage = rand(2) # half of the time, 1 dmg
elsif damage > 0 # a positive number?
@critical = (rand(100) < attacker.cri) # critical hit?
@critical = false if prevent_critical # criticals prevented?
damage *= 3 if @critical # critical adjustment
end
damage = apply_variance(damage, 20) # variance
damage = apply_guard(damage) # guard adjustment
@hp_damage = damage # damage HP
end
#--------------------------------------------------------------------------
# * Calculation of Damage Caused by Skills or Items
# user : User of skill or item
# obj : Skill or item (for normal attacks, this is nil)
# The results are substituted for @hp_damage or @mp_damage.
#--------------------------------------------------------------------------
def make_obj_damage_value(user, obj)
damage = obj.base_damage # get base damage
if damage > 0 # a positive number?
damage += user.atk * 4 * obj.atk_f / 100 # Attack F of the user
damage += user.spi * 2 * obj.spi_f / 100 # Spirit F of the user
unless obj.ignore_defense # Except for ignore defense
damage -= self.def * 2 * obj.atk_f / 100 # Attack F of the target
damage -= self.spi * 1 * obj.spi_f / 100 # Spirit F of the target
end
damage = 0 if damage < 0 # If negative, make 0
elsif damage < 0 # a negative number?
damage -= user.atk * 4 * obj.atk_f / 100 # Attack F of the user
damage -= user.spi * 2 * obj.spi_f / 100 # Spirit F of the user
end
damage *= elements_max_rate(obj.element_set) # elemental adjustment
damage /= 100
damage = apply_variance(damage, obj.variance) # variance
damage = apply_guard(damage) # guard adjustment
if obj.damage_to_mp
@mp_damage = damage # damage MP
else
@hp_damage = damage # damage HP
end
end
end
Mais modifie à l'intérieur en fonction de tes besoins (là , j'ai en fait juste copié les methodes) .
Par contre , j'ai peur qu'il ne soit pas possible de differencier la force de l'arme de la force du combattant ... les 2 sont déja sommés .
- YndilMembre
- Nombre de messages : 23
Age : 31
Localisation : Dans le grand nord, entre la pluie et le brouillard
Distinction : aucune
Date d'inscription : 05/07/2010
Re: Script formule de combat (résolu)
Jeu 30 Juin 2011 - 15:41
Merci beaucoup! je vais revoir ma formule en fonction de mes besoins... J'crois que je vais te créditer dans un prochain jeu...
- driccMembre
- Nombre de messages : 2760
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009
Re: Script formule de combat (résolu)
Jeu 30 Juin 2011 - 16:04
Oh , c'était pas grand chose sur ce coup là .
A propos , on dirait que le bonus d'ATK de l'arme est stocké dans @atk_plus . C'est ce que je vois dans la methode "atk" de "Game_Battler" .
A propos , on dirait que le bonus d'ATK de l'arme est stocké dans @atk_plus . C'est ce que je vois dans la methode "atk" de "Game_Battler" .
- BalbereithStaffeux retraité
- Nombre de messages : 4129
Age : 31
Localisation : dans l'ombre...
Distinction : Péripatéticienne à temps perdu
Helly n°666 [Coco' ;D]
mon ptit balbounet p'tit jardinier en herbe(les râteaux ça le connait) [tonton Adurna]
Cultivateur professionnel de la commu' (il a de bons outils en de nombreux exemplaires ) [Coco' ]
Date d'inscription : 13/05/2009
Re: Script formule de combat (résolu)
Sam 3 Sep 2011 - 0:12
résolu déplacé
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|