//----------------------------------------------------------------------
// remove effect from target
//----------------------------------------------------------------------
void EffectAddItemToCorpse::unaffect (Zone* pZone , ZoneCoord_t x , ZoneCoord_t y , Object* pTarget)
	throw(Error)
{
	__BEGIN_TRY

	// 올바른 좌표이어야 한다.
	Assert(pTarget!=NULL);

	Item* pItem = dynamic_cast<Item*>(pTarget);
	Assert(pItem!=NULL);

	pZone->getObjectRegistry().registerObject(pItem);

	Item* pCorpseItem = pZone->getItem(m_CorpseObjectID);

	if (pCorpseItem!=NULL && pCorpseItem->getItemClass()==Item::ITEM_CLASS_CORPSE)
	{
		Corpse* pCorpse = dynamic_cast<Corpse*>(pCorpseItem);
		Assert(pCorpse!=NULL);

		pCorpse->addTreasure(pItem);
	}
	else
	{
		throw Error("시체가 아니네");
	}

	pTarget = NULL;

	__END_CATCH
}