//---------------------------------------------------------------------- // 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 }