All pastes #637942 Raw Edit

Someone

public text v1 · immutable
#637942 ·published 2007-07-29 11:54 UTC
rendered paste body
#include "StdAfx.h"
#include "Setup.h"

class SCRIPT_DECL GoldUpGossip : public GossipScript
{
public:
    ADD_GOSSIP_FACTORY_FUNCTION(GoldUpGossip);
    void GossipHello(Creature* pCreature, Player* Plr, bool AutoSend);
    void GossipSelectOption(Creature* pCreature, Player* Plr, uint32 Id, uint32 IntId);
    void GossipEnd(Creature* pCreature, Player* Plr);
};

void GoldUpGossip::GossipHello(Creature* pCreature, Player* Plr, bool AutoSend)
{
    sLog.outDetail("Gossip-GoldUps.cpp : Hello by %s", Plr->GetName());
    GossipMenu *Menu;
    uint32 TextID = 820;
    // Hello (First) Menu.
    objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), TextID, Plr);
        Menu->AddItem( 1, "Give me gold.", 1 );
    if(AutoSend)
        Menu->SendTo(Plr);
}

#define SendQuickMenu(textid) objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), textid, Plr); \
    Menu->SendTo(Plr);

void GoldUpGossip::GossipSelectOption(Creature* pCreature, Player* Plr, uint32 Id, uint32 IntId)
{
    sLog.outDebug("Gossip-GoldUp.cpp : Select option %u by %s", IntId, Plr->GetName());
    switch(IntId)
    {
    case 1:     // MONEY TIME
    /* adding gold to player */
	uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
    int32 newgold = 5000000;

    if(newgold < 0)
    {
    return;
    }
    Plr->SetUInt32Value(PLAYER_FIELD_COINAGE, newgold);
    break;
	}
}


void GoldUpGossip::GossipEnd(Creature* pCreature, Player* Plr)
{
    GossipScript::GossipEnd(pCreature, Plr);
}

void SetupGoldUp(ScriptMgr * mgr)
{
    /* GoldUp List */
    mgr->register_gossip_script(197, &GoldUpGossip::Create);      //Alliance NPC
    mgr->register_gossip_script(21968, &GoldUpGossip::Create);      //Horde NPC
}