Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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, bonus or nor, id bonus, value bonus , etc etc
- [53001] = { 34001, "'s Phoenix do Fogo", 0, 1, 1, 5000000},
- [53002] = { 34002, "'s Baby Reindeer", 0, nil},
- [53003] = { 34003, "'s Phoenix do Gelo", 0, nil},
- [53004] = { 34001, "'s Phoenix do Fogo", 0, nil},
- [53005] = { 34004, "'s Azrael Bebé ", 1, nil},
- [53006] = { 34009, "'s Azrael Bebé (Ouro)", 1, nil},
- [53010] = { 34008, "'s Leonidas", 0, nil},
- [53011] = { 34007, "'s Khan", 0, nil},
- [53012] = { 34005, "'s Porky", 0, nil},
- [53013] = { 34006, "'s Rufus", 0, nil},
- [53007] = { 34010, "'s Bambi", 0, nil},
- [53008] = { 34011, "'s Knuud", 0, nil},
- [53009] = { 34012, "'s Bao Bao", 0, nil},
- }
- 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 53007.use or 53013.use or 53012.use or 53011.use or 53010.use or 53005.use or 53004.use or 53003.use or 53002.use or 53001.use or 53006.use or 53008.use or 53009.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)
- if pet_info[4] != nil then
- local num_bonus = pet_info[4] -- valor de bonus a "desaplicar"
- for i = 1, num_bonus, 1 do
- affect.remove_collect(pet_info[5+2*(i-1)], pet_info[6+2*(i-1)], 60*60*24*365)
- end
- end
- else
- if pet.count_summoned() < 1 then
- pet.summon(mobVnum, petName, false)
- if pet_info[4] != nil then
- local num_bonus = pet_info[4] -- valor de bonus a aplicar
- for i = 1, num_bonus, 1 do
- affect.add_collect(pet_info[5+2*(i-1)], pet_info[6+2*(i-1)], 60*60*24*365)
- end
- end
- else
- syschat("You already summoned a pet.")
- 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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement