// ##################################################################### \\
//                                                                       \\
//                                                                       \\
//      This is a Fucking script made by Arcanios for testing his        \\
//           programming skills for Eclipse Ultime Server                \\
//                                                                       \\
//                                                                       \\
// ##################################################################### \\
 
 
#include "ScriptPCH.h"
#define HEAL_VISUAL 40387  // Define d'un visual sympatique trouvé sur wow head pour le heal, ne prend pas de place en mémoire.
#define SPELL_RES 15007     // Aura du Mal de la Résurrection
#define WSH_1 "Voila mec !"
#define WSH_2 "Mieux non ?"
 
 
//Pour réaliser ce script j'ai utilisé la syntaxe commune, couramment utilisée
 
 
class npc_doctor_custom : public CreatureScript
{
public:
    npc_doctor_custom()
        : CreatureScript("npc_doctor_custom")
        {
        }
 
bool OnGossipHello(Player* pPlayer, Creature* pCreature)
{
           
        pPlayer->ADD_GOSSIP_ITEM( 8, "Soignez moi !" , GOSSIP_SENDER_MAIN, 10);                                          
        pPlayer->ADD_GOSSIP_ITEM( 2, "Enlevez moi ce fucking Mal de la resurrection !" , GOSSIP_SENDER_MAIN, 11);
        pPlayer->ADD_GOSSIP_ITEM( 7, "A plus !" , GOSSIP_SENDER_MAIN, 12);
        pPlayer->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,pCreature->GetGUID());
               
               
 
        return true;
}
 
void SendMenu_npc_doctor(Player* pPlayer, Creature* pCreature, uint32 uiAction)
        {
           
 
        if (pPlayer->isInCombat())                      // Le joueur est-il en combat ?
        {
                pPlayer->CLOSE_GOSSIP_MENU();
                pCreature->MonsterSay("|cffff0000Tu es en combat ! revient plus tard ...", LANG_UNIVERSAL, NULL);     //Le npc say en canal général
        return;
        }
 
        switch(uiAction)
        {
                case 10:
                        pPlayer->CLOSE_GOSSIP_MENU();
                        pPlayer->SetHealth(pPlayer->GetMaxHealth());                     // Met le joueur au maximum de sa vie
                                                pPlayer->CastSpell(pPlayer,HEAL_VISUAL,false);                   // Lance un petit effet visuel
                        pCreature->MonsterWhisper(WSH_1, pPlayer->GetGUID());            //le npc whisp le joueur
                        break;
 
                case 11:
                        pPlayer->CLOSE_GOSSIP_MENU();
                        pPlayer->RemoveAura(SPELL_RES); // On enlève le Mal de la résurrection
                                       
                        pCreature->MonsterWhisper(WSH_2, pPlayer->GetGUID());
                                               
                        break;
                case 12:
                        pPlayer->CLOSE_GOSSIP_MENU();
                        pCreature->MonsterSay("|cff0a929bAurevoir, et bon jeu sur Eclipse Ultime !", LANG_UNIVERSAL, NULL);
        }
}
 
bool OnGossipSelect(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction)
{
            pPlayer->PlayerTalkClass->ClearMenus();
 
        if (uiSender == GOSSIP_SENDER_MAIN)
        SendMenu_npc_doctor(pPlayer, pCreature, uiAction);
 
        return true;
}
 
};
 
void AddSC_npc_doctor_custom()
{
        new npc_doctor_custom;
}
