Initial MSVC 2008 projects workspace
This commit is contained in:
48
l2ooghelper/packet_handlers/ph_Revive.cpp
Normal file
48
l2ooghelper/packet_handlers/ph_Revive.cpp
Normal file
@@ -0,0 +1,48 @@
|
||||
#include "stdafx.h"
|
||||
#include "Logger.h"
|
||||
#include "L2Client.h"
|
||||
|
||||
/** Server: Len 7 [Revive]
|
||||
07 00
|
||||
01
|
||||
3F 8E 05 10 // objectID? ***/
|
||||
void L2Client::ph_Revive( class L2Client *pcls, L2GamePacket *p )
|
||||
{
|
||||
int party_idx = 0;
|
||||
p->getPacketType();
|
||||
unsigned int objectID = p->readUInt();
|
||||
if( objectID == pcls->usr.objectID )
|
||||
{
|
||||
// user is revived!
|
||||
log_error( LOG_USERAI, "User is Revived!\n" );
|
||||
pcls->addChatToTab( CHAT_DMG, L"You are revived!" );
|
||||
pcls->usr.isDead = 0;
|
||||
pcls->usr.canResurrectToVillage = pcls->usr.canResurrectToCH = pcls->usr.canResurrectToCastle =
|
||||
pcls->usr.canResurrectToFortress = pcls->usr.canResurrectToSiegeHQ = pcls->usr.canResurrectFixed = 0;
|
||||
}
|
||||
else if( pcls->party.isInParty( objectID, &party_idx ) )
|
||||
{
|
||||
L2Player *partyMember = pcls->party.getPartyPlayer( party_idx );
|
||||
partyMember->isAlikeDead = 0;
|
||||
wchar_t wmes[128] = {0};
|
||||
swprintf( wmes, 127, L"Party player [%s] revived", partyMember->charName );
|
||||
pcls->addChatToTab( CHAT_DMG, wmes );
|
||||
}
|
||||
// someone in the world revived
|
||||
WorldObjectTreeNode wotNode;
|
||||
if( pcls->world_tree.GetInfoByObjectID( objectID, &wotNode ) )
|
||||
{
|
||||
int idx = wotNode.getArrayIdx();
|
||||
switch( wotNode.getObjectType() )
|
||||
{
|
||||
case L2OT_PC:
|
||||
{
|
||||
pcls->world_chars.chars_array[idx]->isAlikeDead = 0;
|
||||
wchar_t wmes[128] = {0};
|
||||
swprintf( wmes, 127, L"Character [%s] revived", pcls->world_chars.chars_array[idx]->charName );
|
||||
pcls->addChatToTab( CHAT_DMG, wmes );
|
||||
} break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user