Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //somewhere in pickup.cpp
- if(pChr && pChr->IsAlive())
- {
- // player picked us up, is someone was hooking us, let them go
- int RespawnTime = -1;
- switch (m_Type)
- {
- case POWERUP_HEALTH:
- if(m_Subtype != TILE_QUEST_TARGET)
- {
- if(pChr->IncreaseHealth(1))
- {
- GameServer()->CreateSound(m_Pos, SOUND_PICKUP_HEALTH);
- RespawnTime = g_pData->m_aPickups[m_Type].m_Respawntime;
- }
- }
- else
- {
- if(GameServer()->Collision()->CalcEntityPos(GameServer()->City()->questX[pChr->GetPlayer()->GetCID()], GameServer()->City()->questY[pChr->GetPlayer()->GetCID()]) == m_Pos)
- {
- GameServer()->City()->quest_rew[pChr->GetPlayer()->GetCID()] = true;
- GameServer()->City()->quest_proc[pChr->GetPlayer()->GetCID()] = false;
- pChr->SetEmote(EMOTE_HAPPY, Server()->Tick() + Server()->TickSpeed());
- GameWorld()->DestroyEntity(this);
- GameServer()->CreateSound(m_Pos, SOUND_PLAYER_SPAWN);
- }
- }
- break;
- }
- }
- /* ... */
- for(int i = 0; i<16; i++)
- {
- if(!GameServer()->City()->logged[i] && GameServer()->City()->quest_proc[i])
- {
- m_Pos = GameServer()->Collision()->CalcEntityPos(GameServer()->City()->questX[i], GameServer()->City()->questY[i]);
- m_Type = POWERUP_HEALTH;
- m_Subtype = TILE_QUEST_TARGET;
- GameWorld()->DestroyEntity(this); // remove entity
- char Buf[126];
- str_format(Buf, sizeof(Buf), "Destroyed quest entity, player ID: %d.", i);
- GameServer()->SendChatTarget(-1, Buf);
- GameServer()->City()->quest_proc[i] = false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement