bool GossipHello(Player* player) override
            {
                if (EventBegun)
                    return false;

                uint32 AnetheronEvent = GetInstanceData(DATA_ANETHERONEVENT);
                // Only let them start the Horde phases if Anetheron is dead.
                if (AnetheronEvent == DONE && GetInstanceData(DATA_ALLIANCE_RETREAT))
                {
                    uint32 KazrogalEvent = GetInstanceData(DATA_KAZROGALEVENT);
                    uint32 AzgalorEvent = GetInstanceData(DATA_AZGALOREVENT);
                    if (KazrogalEvent == NOT_STARTED)
                        AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_BEGIN_HORDE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
                    else if (KazrogalEvent == DONE && AzgalorEvent == NOT_STARTED)
                        AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_AZGALOR, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
                    else if (AzgalorEvent == DONE)
                        AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_RETREAT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);
                }

                if (player->IsGameMaster())
                    AddGossipItemFor(player, GOSSIP_ICON_TRAINER, GOSSIP_ITEM_GM1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);

                SendGossipMenuFor(player, 907, me->GetGUID());
                return true;
            }
 void OnGameObjectPushToWorld(GameObject* pGameObject)
 {
     // Gos which are not visible by killing a boss needs a second check...
     if (GetInstanceData(Data_EncounterState, CN_LORD_MARROWGAR) == State_Finished)
     {
         AddGameObjectStateByEntry(GO_MARROWGAR_ICEWALL_1, State_Active);    // Icewall 1
         AddGameObjectStateByEntry(GO_MARROWGAR_ICEWALL_2, State_Active);    // Icewall 2
         AddGameObjectStateByEntry(GO_MARROWGAR_DOOR, State_Active);         // Door
     }
 }
            bool GossipHello(Player* player) override
            {
                uint32 AzgalorEvent = GetInstanceData(DATA_AZGALOREVENT);

                // Only let them get item if Azgalor is dead.
                if (AzgalorEvent == DONE && !player->HasItemCount(ITEM_TEAR_OF_GODDESS))
                    AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_TYRANDE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
                SendGossipMenuFor(player, 907, me->GetGUID());
                return true;
            }
Exemple #4
0
int PASCAL WinMain( HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show )
{
    char buffer[PATH_MAX];

#if !defined( __WATCOMC__ ) && defined( __NT__ )
    _argc = __argc;
    _argv = __argv;
#endif
    EXEName = _cmdname( buffer );
    InstanceHandle = inst;
    showHow = show;
    prev = prev;
    cmdline = cmdline;

    InitMem();

#ifdef __WINDOWS__
    if( prev != NULL && !HasShare() ) {
        MessageBox( NULLHANDLE, "SHARE.EXE must be loaded before starting Windows in order to run multiple instances of the editor", EditorName, MB_OK );
        GetInstanceData( prev, (unsigned char _NEAR *)&Root, sizeof( Root ) );
        SetFocus( Root );
        return( 0 );
    }
#endif

    Comspec = getenv( "COMSPEC" );
#ifdef __WINDOWS__
    VarAddGlobalStr( "OS", "win" );
#else
    VarAddGlobalStr( "OS", "winnt" );
#endif
    SetConfigFileName( CFG_NAME );
    ReadProfile();

    ShowStartupDialog();

    initApplication();
    if( !initInstance() ) {
        return( 0 );
    }
    InitializeEditor();
    SetSaveConfig();
    if( !BAD_ID( CurrentWindow ) ) {
        SetFocus( Root );
    }

    SetWindowCursorForReal();
    ResizeRoot();
    EditMain();

    FiniMem();

    return( 0 );

} /* WinMain */
            bool GossipHello(Player* player) override
            {
                if (EventBegun)
                    return false;

                uint32 RageEncounter = GetInstanceData(DATA_RAGEWINTERCHILLEVENT);
                uint32 AnetheronEncounter = GetInstanceData(DATA_ANETHERONEVENT);
                if (RageEncounter == NOT_STARTED)
                    AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_BEGIN_ALLY, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
                else if (RageEncounter == DONE && AnetheronEncounter == NOT_STARTED)
                    AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_ANETHERON, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
                else if (RageEncounter == DONE && AnetheronEncounter == DONE)
                    AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_RETREAT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);

                if (player->IsGameMaster())
                    AddGossipItemFor(player, GOSSIP_ICON_TRAINER, GOSSIP_ITEM_GM1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);

                SendGossipMenuFor(player, 907, me->GetGUID());
                return true;
            }
Exemple #6
0
/*
 * MyGetInstanceData - The header file defn for GetInstanceData is WRONG,
 *                     so we do it here
 */
int MyGetInstanceData( unsigned short p1, char __near *p2, short p3 )
{
    return( GetInstanceData( p1, p2, p3 ) );
}
void InitAdded(HINSTANCE hPrevInstance)
{
    // get the results of the initialization of first instance
    GetInstanceData(hPrevInstance, (BYTE*) &SetUpData, sizeof(SETUPDATA));
}  // end of InitAdded()
Exemple #8
0
int GetIData( HINSTANCE inst, void near *data, unsigned int size )
{
    return( GetInstanceData( inst, data, size ) );
}