[Confirmé] Reset de CD/Vie/Energie Apres les Duels
bonjour
voici donc un tous petit script que j'ai développer par besoin a mon serveur perso , sa remet les CD des sorts/items a 0,et réinitialise les points de vie et d’énergie(rage/mana...) après la fin de chaque duel

#include "ScriptMgr.h"



class cd_reset_after_duel :public PlayerScript
{
public:
	cd_reset_after_duel() :PlayerScript("cd_reset_after_duel"){}
	
	void OnDuelEnd(Player* winner, Player* loser, DuelCompleteType /*type*/)
	{ 
		
		loser->RemoveAllSpellCooldown();
		loser->ResetAllPowers();
		
	
		winner->RemoveAllSpellCooldown();
		winner->ResetAllPowers();
		


	}

};

void AddSC_cd_reset_after_duel()
{
	new cd_reset_after_duel();
}

Vu qu' aucune condition n'est verifié le script peu etre abuser pour profiter du reset , donc prenez ça en considération
N'hesitez pas si vous avez des conseils a me donner Wink
Merci pour ton partage !
Qu'en est-il des temps de recharge de certains crafts (transmutation, recherche de glyphe, de jaolerie,...) ?
je vais verifier ça Joann
Code :
#include "ScriptPCH.h"

class Duel_Script : public PlayerScript
{
public:
    Duel_Script() : PlayerScript("Duel_Script") { }

    void OnDuelStart(Player * winner, Player * loser)
    {
        if (winner->getPowerType() == POWER_ENERGY)
            winner->SetPower(POWER_ENERGY, winner->GetMaxPower(POWER_ENERGY));
        if (winner->getPowerType() == POWER_RAGE)
            winner->SetPower(POWER_RAGE, 0);
    }

    void OnDuelEnd(Player * winner, Player * loser, DuelCompleteType /*type*/)
    {
        winner->AttackStop();
        winner->CastStop();
        winner->RemoveAurasByType(SPELL_AURA_PERIODIC_DAMAGE);
        winner->RemoveArenaSpellCooldowns();
        winner->SetHealth(winner->GetMaxHealth());
        if (winner->getPowerType() == POWER_MANA)
            winner->SetPower(POWER_MANA, winner->GetMaxPower(POWER_MANA));
        loser->AttackStop();
        loser->CastStop();
        loser->RemoveAurasByType(SPELL_AURA_PERIODIC_DAMAGE);
        loser->RemoveArenaSpellCooldowns();
        loser->SetHealth(loser->GetMaxHealth());
        if (loser->getPowerType() == POWER_MANA)
            loser->SetPower(POWER_MANA, loser->GetMaxPower(POWER_MANA));
    }
};

void Duel_Script()
{
    new Duel_Script();


Voici le même script mais en mieux.


Il remet:

Vie
Mana
Rage ( à 0 )
Energie


Il enlève:

Combat ( bug combat )
Le cast si il en as un de lancer
Les proc ( bijoux ect... )
dsl j'ai pas pu repondre plus tôt car j'avait pas de co la nuit passé (vive algerie telecome)
donc oui le premier script enlève tout les cd de tt les spell(transmutation aussi) et donc pas opti

merci spex pour l’amélioration c vrais que c beaucoups plus utile commça

Retourner en haut WoW-Emu