Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void CQuestManager::Kill(unsigned int pc, unsigned int npc, unsigned int pc2)
- {
- //m_CurrentNPCRace = npc;
- PC * pPC;
- sys_log(0, "CQuestManager::Kill QUEST_KILL_EVENT (pc=%d, npc=%d, pc2=%d)", pc, npc, pc2);
- if ((pPC = GetPC(pc)))
- {
- if (!CheckQuestLoaded(pPC))
- return;
- /* [hyo] ¸÷ kill¨? Aß?? A«?i?? ??¨´ °u·?C? ?oA¤»cC×
- quest script?^ when 171.kill begin ... µi?C AUµ?·I ?IC??? ¨???¸l?®°^ ?l¸®µC?u´?¶oµµ
- ??·I returnC?Ao ??°i ´?¸? °E»cµµ ?oC?C?µµ·? ??°?CO. (2011/07/21)
- */
- // call script
- if (npc > 0 && pc2 == 0)
- m_mapNPC[npc].OnKill(*pPC);
- LPCHARACTER ch = GetCurrentCharacterPtr();
- LPPARTY pParty = ch->GetParty();
- LPCHARACTER leader = pParty ? pParty->GetLeaderCharacter() : ch;
- if (leader)
- {
- m_pCurrentPartyMember = ch;
- if (m_mapNPC[npc].OnPartyKill(*GetPC(leader->GetPlayerID())))
- return;
- pPC = GetPC(pc);
- }
- LPCHARACTER victim = CHARACTER_MANAGER::instance().FindByPID(pc2);
- if (victim && victim->IsPC() && m_mapNPC[QUEST_NO_NPC].OnKill(*pPC))
- return;
- else if (m_mapNPC[QUEST_NO_NPC].OnKill(*pPC))
- return;
- if (leader)
- {
- m_pCurrentPartyMember = ch;
- m_mapNPC[QUEST_NO_NPC].OnPartyKill(*GetPC(leader->GetPlayerID()));
- }
- }
- else
- sys_err("QUEST: no such pc id : %d", pc);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement