PHP Code:
quest pet_system begin
state start begin
function get_pet_info(itemVnum)
pet_info_map = {
-- [ITEM VNUM] MOB_VNUM, DEFAULT NAME, buff_idx, spawn_effect_idx
[53001] = { 20121, "'s Fire Phoenix", 0},
[53002] = { 20128, "'s Baby Reindeer", 0},
[53003] = { 20123, "'s Ice Phoenix", 0},
[53005] = { 20129, "'s Baby Azrael", 0},
[53006] = { 20134, "'s Rufus", 0},
[53007] = { 20135, "'s Leonidas", 0},
[53008] = { 20140, "´s Porky", 0},
[53009] = { 20141, "´s Khan", 0},
[53010] = { 20141, "´s Knuud", 0},
[53011] = { 23323, "´s BaoBao", 0},
}
itemVnum = tonumber(itemVnum)
return pet_info_map[itemVnum]
end
function get_spawn_effect_file(idx)
effect_table = {
[0] = nil,
[1] = "d:\\\\ymir work\\\\effect\\\\etc\\\\appear_die\\\\npc2_appear.mse",
}
return effect_table [idx]
end
when 53009.use or 53008.use or 53007.use or 53006.use or 53005.use or 53004.use or 53003.use or 53002.use or 53001.use or 53010.use or 53011.use begin
local pet_info = pet_system.get_pet_info(item.vnum)
if null != pet_info then
local mobVnum = pet_info[1]
local petName = pet_info[2]
local spawn_effect_file_name = pet_system.get_spawn_effect_file(pet_info[3])
if true == pet.is_summon(mobVnum) then
if spawn_effect_file_name != nil then
pet.spawn_effect (mobVnum, spawn_effect_file_name)
end
pet.unsummon(mobVnum)
else
if pet.count_summoned() < 1 then
pet.summon(mobVnum, petName, false)
else
syschat("Du hast schon ein Haustier gerufen.")
end
if spawn_effect_file_name != nil then
pet.spawn_effect(mobVnum, spawn_effect_file_name)
end
end -- if pet.is_summon
end -- if null != pet_info
end -- when
end -- state
end -- quest






