All pastes #957186 Raw Edit

Untitled

public text v1 · immutable
#957186 ·published 2008-03-25 20:47 UTC
rendered paste body
void CreatureDieHook(BYTE *pSomething, CCreature *pCreature)
{
	if(pCreature->isNPC())
	{
		if(ConfigFile::In()->ConfigData.bZaricheSystem) //zariche system turned on
			if(!ConfigFile::In()->ConfigData.ZaricheInfo.bExists) //Zariche doesnt exist in the world
				if(pCreature->GetSharedData()->nLevel >= ConfigFile::In()->ConfigData.nMinLvlDrop) //npc got equal or higher lvl -settings from config file
				{
					if(wcscmp(pCreature->GetSharedData()->wszName, L"wasted_corpse"))
					{
						int nRandom = rnd(1000);
						if(nRandom <= ConfigFile::In()->ConfigData.nChanceToDrop)
						{
							pCreature->AddItemToInventory(8190, 1);
							CLog::Log()->AddAnsi(CLog::SystemConsoleBlue, "[C5Ext] NPC[%ls] has dropped zariche in %d/%d/%d .", pCreature->GetSharedData()->wszName, (int) pCreature->GetSharedData()->x, (int) pCreature->GetSharedData()->y, (int) pCreature->GetSharedData()->z);
							BroadcastToAllUser("cdddddddd", 0x64, 1815, 2, 7,
								(int) pCreature->GetSharedData()->x,
								(int) pCreature->GetSharedData()->y,
								(int) pCreature->GetSharedData()->z, 
								3, 8190); //SendInfo that zariche has been dropped
							BroadcastToAllUser("chd", 0xFE, 0x40, 3); //RedSky
							BroadcastToAllUser("cddddd", 0xc4, 
								(int) pCreature->GetSharedData()->x, 
								(int) pCreature->GetSharedData()->y, 
								(int) pCreature->GetSharedData()->z,
								30, 5); //EarthQuake
							ConfigFile::In()->ConfigData.ZaricheInfo.nX = (int) pCreature->GetSharedData()->x;
							ConfigFile::In()->ConfigData.ZaricheInfo.nY = (int) pCreature->GetSharedData()->y;
							ConfigFile::In()->ConfigData.ZaricheInfo.nZ = (int) pCreature->GetSharedData()->z;
							ConfigFile::In()->ConfigData.ZaricheInfo.nTime = (int) time(NULL);
							ConfigFile::In()->ConfigData.ZaricheInfo.bExists = true;
							ConfigFile::In()->ConfigData.ZaricheInfo.bOwnerOnline = true;
							ConfigFile::In()->SaveConfigFile();
						}
					}
				}
	}
	CDoNothingMessage(pSomething, pCreature); //Normal Execution
}