function getNameDescription(creature)
local v = getCreatureName(creature)
return isMonster(creature) and getMonsterInfo(v).description or v
end
function onPrepareDeath(cid, deathList)
if getPlayerLevel(cid) < 50 and getCreatureSkullType(cid) < SKULL_WHITE then
local corpse, ss = doCreateItem(getPlayerSex(cid) == 0 and 6081 or 6080, 1, getThingPos(cid)), ''
ss = "You recognize " .. getCreatureName(cid) .. ". " .. (getPlayerSex(cid) % 2 ~= 0 and "He" or "She") .. " was killed by "
if isCreature(deathList[1]) then
ss = ss .. getNameDescription(deathList[1])
local master = getCreatureMaster(deathList[1])
if master and master ~= deathList[1] then
ss = ss .. " summoned by " .. getNameDescription(master)
end
else
ss = ss .. deathList[1]
end
if #deathList > 1 then
if type(deathList[1]) ~= type(deathList[2]) then
if isCreature(deathList[2]) then
ss = ss .. " and by " .. getNameDescription(deathList[2])
local master = getCreatureMaster(deathList[2])
if master and master ~= deathList[2] then
ss = ss .. " summoned by " .. getNameDescription(master)
end
else
ss = ss .. " and by " .. deathList[2]
end
elseif isCreature(deathList[2]) then
if getNameDescription(deathList[1]) ~= getNameDescription(deathList[2]) then
ss = ss .. " and by " .. getNameDescription(deathList[2])
local master = getCreatureMaster(deathList[2])
if master and master ~= deathList[2] then
ss = ss .. " summoned by " .. getNameDescription(master)
end
end
elseif deathList[1]:lower() ~= deathList[2]:lower() then
ss = ss .. " and by " .. deathList[2]
end
end
doItemSetAttribute(corpse, 'description', ss)
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
doCreatureAddHealth(cid, getCreatureMaxHealth(cid), 65535, 256, true)
doCreatureAddMana(cid, getCreatureMaxMana(cid))
doRemoveConditions(cid, false)
return false
end
return true
end