MagickAbsorption

Tous les mods maisons en cours de développement par les moddeurs de la confrérie.
Avatar du membre
sagittarius22
Moddeur émérite | Traducteur chevronné
Moddeur émérite | Traducteur chevronné
Messages : 2948

MagickAbsorption

Message par sagittarius22 »

MagickAbsorption
Version : 2.0

Auteur : Sagittarius22

Lien VO : http://skyrim.nexusmods.com/mods/22546/

Rubrique de téléchargement : Jouabilité

Prérequis : Le dernier patch officiel Skyrim.

Description : Ce mod vous permet d'absorber l'énergie magie de votre adversaire afin de recharger votre arme. Vous devrez utiliser un sort de barrière ou le bouclier Parasortis.
Formules:
* Limite de recharge = La charge de votre arme doit être inférieure à votre Magie +150
* Recharge à chaque coup: Nombre aléatoire compris entre (-15) et (20) + (Votre magie)/3. Le nombre aléatoire est décidé au moment du coup, c'est une sorte de jet de dé pour voir si vous aurez un bonus ou un malus.
Exemple: votre personnage possède 300 de magie et le nombre aléatoire est de -10
-------> pour le coup reçu, l'arme se rechargera de: (300/3) -4.55 = 100-10.00 = 90.00 points
-------> Limite de recharge 300 +150 = 450 points.

Testeur : ??

Autorisation : Oui ;)

Captures d'écrans :

[youtube][/youtube]
Moddeur, Testeur et Traducteur
Avatar du membre
Gerauld
Confrère
Messages : 2439

Re: MagickAbsorption

Message par Gerauld »

Salut Sagi, j'ai voulu essayer ton mod mais n'ayant pas vu la source du script, j'hésite à l'installer. Tu connais ma prudence...surtout avec les surpirses que m'ont réservées certains mods récemment. Si tu me dis qu'il n'y a aucun registerforupdate() ou autre saleté du genre, ça me suffit.
J'imagine que tu as dû passer par un onwardhit() (je n'ai plus le nom exact de l'event en tête) posé par une quête donc normalement pas de soucis mais je préfère être sûr. ;)
Avatar du membre
sagittarius22
Moddeur émérite | Traducteur chevronné
Moddeur émérite | Traducteur chevronné
Messages : 2948

Re: MagickAbsorption

Message par sagittarius22 »

Ne t'inquiète pas mon ami, j'ai retenu la leçon avec les RegisterForUpdate et je ne les utiliserai plus jamais :)
Voici la source si tu veux:

Code : Tout sélectionner

Scriptname _SAGAbsorbMagickaScriptPlayer extends ReferenceAlias  
Import Utility
Import Debug

Event OnWardHit(ObjectReference akCaster, Spell akSpell, int aiStatus)
	if aiStatus == 1
			if (Self.GetRef() as Actor).GetEquippedWeapon(true) != NONE
				if (Self.GetRef() as Actor).GetAv("LeftItemCharge") < (Self.GetRef() as Actor).GetAv("Magicka") + 150 && (Self.GetRef() as Actor).GetAv("LeftItemCharge") > 0
					(Self.GetRef() as Actor).ModAv("LeftItemCharge", RandomFloat(-15,20)+(Self.GetRef() as Actor).GetAv("Magicka")/3)
				endif
			elseif (Self.GetRef() as Actor).GetEquippedWeapon(false) != NONE
				if (Self.GetRef() as Actor).GetAv("RightItemCharge") < (Self.GetRef() as Actor).GetAv("Magicka") + 150 && (Self.GetRef() as Actor).GetAv("RightItemCharge") > 0
					(Self.GetRef() as Actor).ModAv("RightItemCharge",RandomFloat(-15,20)+(Self.GetRef() as Actor).GetAv("Magicka")/3)
				;	Notification("Absorbe!")
				endif
			endif
	endif
EndEvent
Je n'inclus pas mes sources dans mes mods, surtout parce que certaines traductions russes non autorisées de mes mods se retrouvent sur des sites de TORRENT (!!). Pas de source, pas de traduction de script :embaras:
Moddeur, Testeur et Traducteur
Avatar du membre
Gerauld
Confrère
Messages : 2439

Re: MagickAbsorption

Message par Gerauld »

Ok. Je sélectionne l'esp et j'installe ce mod sans risque.

EDIT : Ça y est, il est adopté. :)
Avatar du membre
sagittarius22
Moddeur émérite | Traducteur chevronné
Moddeur émérite | Traducteur chevronné
Messages : 2948

Re: MagickAbsorption

Message par sagittarius22 »

Gerauld a écrit :Ok. Je sélectionne l'esp et j'installe ce mod sans risque.

EDIT : Ça y est, il est adopté. :)
Verdict? :)
Moddeur, Testeur et Traducteur
Avatar du membre
Gerauld
Confrère
Messages : 2439

Re: MagickAbsorption

Message par Gerauld »

Ça marche et ce qui est bien, c'est qu'on ne sombre pas dans le "grosbillisisme". Par contre, j'aurai bien vu l'intervention d'un talent (guérison (qui correspond à celui du sort) ou altération (qui collerait plus à mon avis).
La fourchette de recharge serait plus grande du coup passant de pas grand chose à un peu plus qu'actuellement pour un maître en altération ou en guérison.
Ce n'est qu'une idée.
Ce mod fait maintenant partie de ma modothèque. :)
A recommander à tous les guerriers/mages ou les mages utilisant souvent des bâtons. :top:
Avatar du membre
sagittarius22
Moddeur émérite | Traducteur chevronné
Moddeur émérite | Traducteur chevronné
Messages : 2948

Re: MagickAbsorption

Message par sagittarius22 »

Bonne idée, je vais rajouter la Guérison et l'Altération à la formule :top:
Moddeur, Testeur et Traducteur
Avatar du membre
sagittarius22
Moddeur émérite | Traducteur chevronné
Moddeur émérite | Traducteur chevronné
Messages : 2948

Re: MagickAbsorption

Message par sagittarius22 »

Voici la nouvelle formule:

Code : Tout sélectionner

Scriptname _SAGAbsorbMagickaScriptPlayer extends ReferenceAlias 
Import Utility
Import Debug

Bool IsWardHit
Float ExtraBonus = 0.00

Event OnWardHit(ObjectReference akCaster, Spell akSpell, int aiStatus)
	if (Self.GetRef() as Actor).GetBaseAv("Magicka")+(Self.GetRef() as Actor).GetBaseAv("Alteration")+(Self.GetRef() as Actor).GetBaseAv("Restoration") >= 480.00
		ExtraBonus = (Self.GetRef() as Actor).GetBaseAv("Magicka")/1.55
	endif
IsWardHit = TRUE
	if aiStatus == 1
			if (Self.GetRef() as Actor).GetEquippedWeapon(true) != NONE
				if (Self.GetRef() as Actor).GetAv("LeftItemCharge") < (Self.GetRef() as Actor).GetAv("Magicka") + 150 && (Self.GetRef() as Actor).GetAv("LeftItemCharge") > 0
					(Self.GetRef() as Actor).ModAv("LeftItemCharge", ExtraBonus+RandomFloat(-15,20)+(Self.GetRef() as Actor).GetAv("Magicka")/3)
				endif
			elseif (Self.GetRef() as Actor).GetEquippedWeapon(false) != NONE
				if (Self.GetRef() as Actor).GetAv("RightItemCharge") < (Self.GetRef() as Actor).GetAv("Magicka") + 150 && (Self.GetRef() as Actor).GetAv("RightItemCharge") > 0
					(Self.GetRef() as Actor).ModAv("RightItemCharge",ExtraBonus+RandomFloat(-15,20)+(Self.GetRef() as Actor).GetAv("Magicka")/3)
				;	Notification("Absorbe!")
				endif
			endif
	endif
Wait(2)
IsWardHit = FALSE
EndEvent


Event OnHit(ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, bool abBashAttack, bool abHitBlocked)
Wait(1)
if IsWardHit == FALSE
	if (Self.GetRef() as Actor).GetBaseAv("Magicka")+(Self.GetRef() as Actor).GetBaseAv("Alteration")+(Self.GetRef() as Actor).GetBaseAv("Restoration") >= 480.00
		ExtraBonus = (Self.GetRef() as Actor).GetBaseAv("Magicka")/2.55
	endif
		if akSource as Spell
			if (Self.GetRef() as Actor).GetEquippedWeapon(true) != NONE
				if (Self.GetRef() as Actor).GetAv("LeftItemCharge") < (Self.GetRef() as Actor).GetAv("Magicka") + 300 && (Self.GetRef() as Actor).GetAv("LeftItemCharge") > 0
					(Self.GetRef() as Actor).ModAv("LeftItemCharge", ExtraBonus+RandomFloat(-10,20)+(Self.GetRef() as Actor).GetAv("Magicka")/4)
				endif
			elseif (Self.GetRef() as Actor).GetEquippedWeapon(false) != NONE
				if (Self.GetRef() as Actor).GetAv("RightItemCharge") < (Self.GetRef() as Actor).GetAv("Magicka") + 300 && (Self.GetRef() as Actor).GetAv("RightItemCharge") > 0
					(Self.GetRef() as Actor).ModAv("RightItemCharge",ExtraBonus+RandomFloat(-10,20)+(Self.GetRef() as Actor).GetAv("Magicka")/4)
				;	Notification("Absorbe!")
				endif
			endif
		endif
endif
EndEvent
Moddeur, Testeur et Traducteur
Avatar du membre
Gerauld
Confrère
Messages : 2439

Re: MagickAbsorption

Message par Gerauld »

Si je comprends bien, maintenant l'objet équipé absorbe aussi l'énergie provenant des sorts lancés sur le joueur.
Normalement, il ne devrait pas y avoir trop de soucis mais j'aurai quand même vérifié si akAggressor n'était pas le joueur dans l'event onhit(). Il me semble qu'il peut y avoir déclenchement si le joueur se lance certains sorts. A vérifier.
Je viens de remplacer l'ancien script par celui-ci et de le compiler. Je testerai ça demain. ;)
Avatar du membre
Tenzaku
Traducteur chevronné
Traducteur chevronné
Messages : 3461

Re: MagickAbsorption

Message par Tenzaku »

Euh sinon pourquoi pas le talent enchantement ? (oui, je sais, je suis stupide :D)

Sinon je doute que le Ak.agressor soit un problème, le joueur n'ayant que deux mains il ne peut pas tenir le bouclier/sort, une arme à recharger et se lancer un sort...
Sauf si tu pars du principe que le bouclier lui-même pourrait être absorbé...
La plus pure des gentillesses est de ne pas être gentil
Image
Commettre une erreur et ne pas réviser son jugement est ce qu'on appelle une erreur.
Répondre

Retourner vers « En cours de développement »