local reimu_pet_sound = { "UI.Aowu", "Icewrack_Pup.Ult.Howl", "Icewrack_Pup.Flee", "Icewrack_Pup.idle_alt_bark", "Icewrack_Pup.Alert", "Icewrack_Pup.Happy", "Icewrack_Pup.Breath", } local reimu_pet_model = { -- 默认 h000 = "models/items/courier/courier_ti10_radiant/courier_ti10_radiant.vmdl", h000b = "models/items/courier/courier_ti10_radiant/courier_ti10_radiant_lvl2/courier_ti10_radiant_lvl2.vmdl", h000c = "models/items/courier/courier_ti10_radiant/courier_ti10_radiant_lvl3/courier_ti10_radiant_lvl3.vmdl", h000d = "models/items/courier/courier_ti10_radiant/courier_ti10_radiant_lvl4/courier_ti10_radiant_lvl4.vmdl", h000e = "models/items/courier/courier_ti10_radiant/courier_ti10_radiant_lvl5/courier_ti10_radiant_lvl5.vmdl", h000f = "models/items/courier/courier_ti10_radiant/courier_ti10_radiant_lvl6/courier_ti10_radiant_lvl6.vmdl", h000g = "models/items/courier/courier_ti10_radiant/courier_ti10_radiant_lvl7/courier_ti10_radiant_lvl7.vmdl", h001 = "models/pets/icewrack_wolf/icewrack_wolf.vmdl", h002 = "models/heroes/invoker_kid/invoker_kid_trainer_dragon.vmdl", -- h001 = "models/props_gameplay/donkey.vmdl", -- 默认信使,小马,天辉 -- h002 = "models/props_gameplay/donkey_dire.vmdl", -- 默认信使,小马,夜宴 h003 = "models/pets/armadillo/armadillo.vmdl", h004 = "models/courier/baby_rosh/babyroshan_ti9.vmdl", --普通信使 beginner h101 = "models/courier/skippy_parrot/skippy_parrot.vmdl", h102 = "models/courier/smeevil_mammoth/smeevil_mammoth.vmdl", h103 = "models/items/courier/arneyb_rabbit/arneyb_rabbit.vmdl", h104 = "models/items/courier/axolotl/axolotl.vmdl", h105 = "models/items/courier/coco_the_courageous/coco_the_courageous.vmdl", h106 = "models/items/courier/coral_furryfish/coral_furryfish.vmdl", h107 = "models/items/courier/corsair_ship/corsair_ship.vmdl", h108 = "models/items/courier/duskie/duskie.vmdl", h109 = "models/items/courier/itsy/itsy.vmdl", h110 = "models/items/courier/jumo/jumo.vmdl", h111 = "models/items/courier/mighty_chicken/mighty_chicken.vmdl", h112 = "models/items/courier/nexon_turtle_05_green/nexon_turtle_05_green.vmdl", h113 = "models/items/courier/pumpkin_courier/pumpkin_courier.vmdl", h114 = "models/items/courier/pw_ostrich/pw_ostrich.vmdl", h115 = "models/items/courier/scuttling_scotty_penguin/scuttling_scotty_penguin.vmdl", h116 = "models/items/courier/shagbark/shagbark.vmdl", h117 = "models/items/courier/snaggletooth_red_panda/snaggletooth_red_panda.vmdl", h118 = "models/items/courier/snail/courier_snail.vmdl", h119 = "models/items/courier/teron/teron.vmdl", h120 = "models/items/courier/xianhe_stork/xianhe_stork.vmdl", h121 = "models/items/courier/starladder_grillhound/starladder_grillhound.vmdl", h122 = "models/items/courier/pw_zombie/pw_zombie.vmdl", h123 = "models/items/courier/raiq/raiq.vmdl", h124 = "models/courier/frog/frog.vmdl", h125 = "models/courier/godhorse/godhorse.vmdl", h126 = "models/courier/imp/imp.vmdl", h127 = "models/courier/mighty_boar/mighty_boar.vmdl", h128 = "models/items/courier/onibi_lvl_03/onibi_lvl_03.vmdl", h129 = "models/items/courier/echo_wisp/echo_wisp.vmdl", --蠕行水母 h130 = "models/courier/sw_donkey/sw_donkey.vmdl", --驴法师new h131 = "models/items/courier/gnomepig/gnomepig.vmdl", --丰臀公主new h132 = "models/items/furion/treant/ravenous_woodfang/ravenous_woodfang.vmdl",--焚牙树精new h133 = "models/courier/mechjaw/mechjaw.vmdl",--机械咬人箱new h134 = "models/items/courier/mole_messenger/mole_messenger.vmdl",--1级矿车老鼠 h135 = "models/items/courier/jumo_dire/jumo_dire.vmdl", h136 = "models/items/courier/courier_ti9/courier_ti9.vmdl", h137 = "models/items/courier/courier_ti9/courier_ti9_lvl2/courier_ti9_lvl2.vmdl", h138 = "models/props_gameplay/donkey.vmdl", h139 = "models/hy/huya.vmdl", --小英雄信使 ameteur h201 = "models/courier/doom_demihero_courier/doom_demihero_courier.vmdl", h202 = "models/courier/huntling/huntling.vmdl", h203 = "models/courier/minipudge/minipudge.vmdl", h204 = "models/courier/seekling/seekling.vmdl", h205 = "models/items/courier/baekho/baekho.vmdl", h206 = "models/items/courier/basim/basim.vmdl", h207 = "models/items/courier/devourling/devourling.vmdl", h208 = "models/items/courier/faceless_rex/faceless_rex.vmdl", h209 = "models/items/courier/tinkbot/tinkbot.vmdl", h210 = "models/items/courier/lilnova/lilnova.vmdl", h211 = "models/items/courier/amphibian_kid/amphibian_kid.vmdl", h212 = "models/courier/venoling/venoling.vmdl", h213 = "models/courier/juggernaut_dog/juggernaut_dog.vmdl", h214 = "models/courier/otter_dragon/otter_dragon.vmdl", h215 = "models/items/courier/boooofus_courier/boooofus_courier.vmdl", h216 = "models/courier/baby_winter_wyvern/baby_winter_wyvern.vmdl", h217 = "models/courier/yak/yak.vmdl", h218 = "models/items/furion/treant/eternalseasons_treant/eternalseasons_treant.vmdl", h219 = "models/items/courier/blue_lightning_horse/blue_lightning_horse.vmdl", h220 = "models/items/courier/waldi_the_faithful/waldi_the_faithful.vmdl", h221 = "models/items/courier/bajie_pig/bajie_pig.vmdl", h222 = "models/items/courier/courier_faun/courier_faun.vmdl", h223 = "models/items/courier/livery_llama_courier/livery_llama_courier.vmdl", h224 = "models/items/courier/onibi_lvl_10/onibi_lvl_10.vmdl", h225 = "models/items/courier/little_fraid_the_courier_of_simons_retribution/little_fraid_the_courier_of_simons_retribution.vmdl", --胆小南瓜人 h226 = "models/items/courier/hermit_crab/hermit_crab.vmdl", --螃蟹1 h227 = "models/items/courier/hermit_crab/hermit_crab_boot.vmdl", --螃蟹2 h228 = "models/items/courier/hermit_crab/hermit_crab_shield.vmdl", --螃蟹3 h229 = "models/courier/donkey_unicorn/donkey_unicorn.vmdl", --竭智法师new h230 = "models/items/courier/white_the_crystal_courier/white_the_crystal_courier.vmdl", --蓝心白隼new h231 = "models/items/furion/treant/furion_treant_nelum_red/furion_treant_nelum_red.vmdl",--莲花人new h232 = "models/courier/beetlejaws/mesh/beetlejaws.vmdl",--甲虫咬人箱new h233 = "models/courier/smeevil_bird/smeevil_bird.vmdl", h234 = "models/items/courier/mole_messenger/mole_messenger_lvl4.vmdl",--蜡烛头矿车老鼠 h235 = "models/items/courier/chocobo/chocobo.vmdl", --迅捷陆行鸟 h236 = "models/items/courier/flightless_dod/flightless_dod.vmdl", --嘟嘟鸟 h237 = "models/items/courier/frostivus2018_courier_serac_the_seal/frostivus2018_courier_serac_the_seal.vmdl", h238 = "models/items/courier/pangolier_squire/pangolier_squire.vmdl", h239 = "models/hujing_wangyu/hujing.vmdl", h240 = "models/items/courier/courier_ti9/courier_ti9_lvl3/courier_ti9_lvl3.vmdl", h241 = "models/items/courier/axolotl/axolotl.vmdl", h242 = "models/items/courier/snaggletooth_red_panda/snaggletooth_red_panda.vmdl", h243 = "models/items/courier/xianhe_stork/xianhe_stork.vmdl", --珍藏信使 pro h301 = "models/items/courier/bookwyrm/bookwyrm.vmdl", h302 = "models/items/courier/captain_bamboo/captain_bamboo.vmdl", h303 = "models/items/courier/kanyu_shark/kanyu_shark.vmdl", h304 = "models/items/courier/tory_the_sky_guardian/tory_the_sky_guardian.vmdl", h305 = "models/items/courier/shroomy/shroomy.vmdl", h306 = "models/items/courier/courier_janjou/courier_janjou.vmdl", h307 = "models/items/courier/green_jade_dragon/green_jade_dragon.vmdl", h308 = "models/courier/drodo/drodo.vmdl", h309 = "models/courier/mech_donkey/mech_donkey.vmdl", h310 = "models/courier/donkey_crummy_wizard_2014/donkey_crummy_wizard_2014.vmdl", h311 = "models/courier/octopus/octopus.vmdl", h312 = "models/items/courier/scribbinsthescarab/scribbinsthescarab.vmdl", h313 = "models/courier/defense3_sheep/defense3_sheep.vmdl", h314 = "models/items/courier/snapjaw/snapjaw.vmdl", h315 = "models/items/courier/g1_courier/g1_courier.vmdl", h316 = "models/courier/donkey_trio/mesh/donkey_trio.vmdl", h317 = "models/items/courier/boris_baumhauer/boris_baumhauer.vmdl", h318 = "models/courier/baby_rosh/babyroshan.vmdl", h319 = "models/items/courier/bearzky/bearzky.vmdl", h320 = "models/items/courier/defense4_radiant/defense4_radiant.vmdl", h321 = "models/items/courier/defense4_dire/defense4_dire.vmdl", h322 = "models/items/courier/onibi_lvl_20/onibi_lvl_20.vmdl", h323 = "models/items/juggernaut/ward/fortunes_tout/fortunes_tout.vmdl", --招财猫 h324 = "models/items/courier/hermit_crab/hermit_crab_necro.vmdl", --螃蟹4 h325 = "models/items/courier/hermit_crab/hermit_crab_travelboot.vmdl", --螃蟹5 h326 = "models/items/courier/hermit_crab/hermit_crab_lotus.vmdl", --螃蟹6 h327 = "models/courier/donkey_ti7/donkey_ti7.vmdl", h328 = "models/items/courier/shibe_dog_cat/shibe_dog_cat.vmdl", --天猫地狗new h329 = "models/items/furion/treant/hallowed_horde/hallowed_horde.vmdl",--万圣树群new h330 = "models/courier/flopjaw/flopjaw.vmdl",--大嘴咬人箱new h331 = "models/courier/lockjaw/lockjaw.vmdl",--咬人箱洛克new h332 = "models/items/courier/butch_pudge_dog/butch_pudge_dog.vmdl",--布狗new h333 = "models/courier/turtle_rider/turtle_rider.vmdl", h334 = "models/courier/smeevil_crab/smeevil_crab.vmdl", h335 = "models/items/courier/mole_messenger/mole_messenger_lvl6.vmdl",--绿钻头矿车老鼠 h336 = "models/items/courier/amaterasu/amaterasu.vmdl", --天照大神 h337 = "models/qie/qie.vmdl", h338 = "models/courier/f2p_courier/f2p_courier.vmdl", h339 = "models/items/courier/azuremircourierfinal/azuremircourierfinal.vmdl", h340 = "models/items/courier/courier_ti9/courier_ti9_lvl6/courier_ti9_lvl6.vmdl", h341 = "models/bilibilitv/model/tv.vmdl", h342 = "models/courier/baby_rosh/babyroshan.vmdl", h343 = "models/courier/baby_rosh/babyroshan.vmdl", h344 = "models/courier/baby_rosh/babyroshan.vmdl", h345 = "models/courier/baby_winter_wyvern/baby_winter_wyvern.vmdl", h346 = "models/courier/beetlejaws/mesh/beetlejaws.vmdl", h347 = "models/courier/doom_demihero_courier/doom_demihero_courier.vmdl", h348 = "models/courier/huntling/huntling.vmdl", h349 = "models/courier/minipudge/minipudge.vmdl", h350 = "models/courier/seekling/seekling.vmdl", h351 = "models/courier/venoling/venoling.vmdl", h352 = "models/items/courier/axolotl/axolotl.vmdl", h353 = "models/items/courier/devourling/devourling.vmdl", h354 = "models/courier/baby_rosh/babyroshan_elemental.vmdl", h355 = "models/courier/baby_rosh/babyroshan_elemental.vmdl", h399 = "models/courier/baby_rosh/babyroshan_winter18.vmdl",--姜饼肉山 --战队信使 master h401 = "models/courier/navi_courier/navi_courier.vmdl", h402 = "models/items/courier/courier_mvp_redkita/courier_mvp_redkita.vmdl", h403 = "models/items/courier/ig_dragon/ig_dragon.vmdl", h404 = "models/items/courier/lgd_golden_skipper/lgd_golden_skipper.vmdl", h405 = "models/items/courier/vigilante_fox_red/vigilante_fox_red.vmdl", h406 = "models/items/courier/virtus_werebear_t3/virtus_werebear_t3.vmdl", h407 = "models/items/courier/throe/throe.vmdl", h408 = "models/items/courier/vaal_the_animated_constructradiant/vaal_the_animated_constructradiant.vmdl", h409 = "models/items/courier/vaal_the_animated_constructdire/vaal_the_animated_constructdire.vmdl", h410 = "models/items/courier/carty/carty.vmdl", h411 = "models/items/courier/carty_dire/carty_dire.vmdl", h412 = "models/items/courier/dc_angel/dc_angel.vmdl", h413 = "models/items/courier/dc_demon/dc_demon.vmdl", h414 = "models/items/courier/vigilante_fox_green/vigilante_fox_green.vmdl", h415 = "models/items/courier/bts_chirpy/bts_chirpy.vmdl", h416 = "models/items/courier/krobeling/krobeling.vmdl", h417 = "models/items/courier/jin_yin_black_fox/jin_yin_black_fox.vmdl", h418 = "models/items/courier/jin_yin_white_fox/jin_yin_white_fox.vmdl", h419 = "models/items/courier/fei_lian_blue/fei_lian_blue.vmdl", h420 = "models/items/courier/gama_brothers/gama_brothers.vmdl", h421 = "models/items/courier/onibi_lvl_21/onibi_lvl_21.vmdl", h422 = "models/items/courier/wabbit_the_mighty_courier_of_heroes/wabbit_the_mighty_courier_of_heroes.vmdl", --小飞侠 h423 = "models/items/courier/hermit_crab/hermit_crab_octarine.vmdl", --螃蟹7 h424 = "models/items/courier/hermit_crab/hermit_crab_skady.vmdl", --螃蟹8 h425 = "models/items/courier/hermit_crab/hermit_crab_aegis.vmdl", --螃蟹9 h426 = "models/items/furion/treant_flower_1.vmdl",--绽放树精new h427 = "models/courier/smeevil_magic_carpet/smeevil_magic_carpet.vmdl", h428 = "models/items/courier/mole_messenger/mole_messenger_lvl7.vmdl",--绿钻头金矿车老鼠 h499 = "models/items/courier/krobeling_gold/krobeling_gold.vmdl",--金dp h429 = "models/items/courier/nilbog/nilbog.vmdl",--贪小疯魔 h430 = "models/courier/frull/frull_courier.vmdl", --灵犀弗拉尔 h431 = "models/items/courier/sltv_10_courier/sltv_10_courier.vmdl", --黄油小生 h432 = "models/items/courier/nian_courier/nian_courier.vmdl", --年兽宝宝 h433 = "models/courier/baby_rosh/babyroshan_ti9.vmdl", h434 = "models/items/courier/courier_ti9/courier_ti9_lvl7/courier_ti9_lvl7.vmdl", h435 = "models/shudaixiong/model/shudaixiong/shudaixiong.vmdl", h436 = "models/courier/baby_rosh/babyroshan.vmdl", h437 = "models/courier/baby_rosh/babyroshan.vmdl", h438 = "models/courier/baby_winter_wyvern/baby_winter_wyvern.vmdl", h439 = "models/courier/flopjaw/flopjaw.vmdl", h440 = "models/courier/juggernaut_dog/juggernaut_dog.vmdl", h441 = "models/courier/smeevil_crab/smeevil_crab.vmdl", h442 = "models/items/courier/axolotl/axolotl.vmdl", h443 = "models/items/courier/fei_lian_blue/fei_lian_blue.vmdl", h444 = "models/items/courier/wabbit_the_mighty_courier_of_heroes/wabbit_the_mighty_courier_of_heroes.vmdl", h445 = "models/items/courier/wabbit_the_mighty_courier_of_heroes/wabbit_the_mighty_courier_of_heroes.vmdl", h446 = "models/items/courier/wabbit_the_mighty_courier_of_heroes/wabbit_the_mighty_courier_of_heroes.vmdl", } local reimu_pet_skin = { h138 = 1, h436 = 1, h437 = 2, h342 = 3, h343 = 4, h344 = 5, h354 = 1, h355 = 2, h345 = 1, h438 = 2, h346 = 1, h347 = 1, h348 = 1, h440 = 1, h349 = 1, h350 = 1, h441 = 1, h351 = 1, h241 = 1, h352 = 2, h442 = 3, h353 = 1, h242 = 1, h444 = 1, h445 = 2, h446 = 3, h243 = 1, h443 = 1, h439 = 1, } local reimu_pet_size = { h000 = 1, h001 = 1, h002 = 1, --普通信使 beginner h101 = 1.1, h102 = 1.1, h103 = 1.1, h104 = 1, h105 = 1, h106 = 1, h107 = 1.2, h108 = 1, h109 = 1.1, h110 = 1.1, h111 = 1.1, h112 = 1.2, h113 = 1, h114 = 1.2, h115 = 1.2, h116 = 1, h117 = 1.3, h118 = 1.1, h119 = 1.3, h120 = 1.3, h121 = 1.1, h122 = 1.1, h123 = 1.2, h124 = 1, h125 = 1, h126 = 1, h127 = 1, h128 = 1.1, h129 = 1.2, --蠕行水母 h130 = 1, --驴法师new h131 = 1, --丰臀公主new h132 = 0.7,--焚牙树精new h133 = 1.1,--机械咬人箱new h134 = 1.1,--1级矿车老鼠 h135 = 1.1, h136 = 1.1, h137 = 1.15, h138 = 1.15, h139 = 2.5, h199 = 1.5, --小英雄信使 ameteur h201 = 1.2, h202 = 1.2, h203 = 1.2, h204 = 1.2, h205 = 1.2, h206 = 1.2, h207 = 1.2, h208 = 1.3, h209 = 1.2, h210 = 1.25, h211 = 1.2, h212 = 1.1, h213 = 1, h214 = 1.25, h215 = 1.2, h216 = 1.25, h217 = 1.2, h218 = 1.1, h219 = 1.2, h220 = 1.25, h221 = 1.25, h222 = 1.3, h223 = 1.15, h224 = 1.25, h225 = 1.3, --胆小南瓜人 h226 = 1.3, --螃蟹1 h227 = 1.3, --螃蟹2 h228 = 1.2, --螃蟹3 h229 = 1.2, --竭智法师new h230 = 1.3, --蓝心白隼new h231 = 0.8,--莲花人new h232 = 1.2,--甲虫咬人箱new h233 = 1.2, h234 = 1.2,--蜡烛头矿车老鼠 h235 = 1.2, --迅捷陆行鸟 h236 = 1.2, --嘟嘟鸟 h237 = 1.2, h238 = 0.8, h239 = 1.4, h240 = 1.25, h241 = 1.1, h242 = 1.4, h243 = 1.4, --珍藏信使 pro h301 = 1.3, h302 = 1.3, h303 = 1.3, h304 = 1.35, h305 = 1.3, h306 = 1.3, h307 = 1.3, h308 = 1.3, h309 = 1.2, h310 = 1.2, h311 = 1.25, h312 = 1.3, h313 = 1.3, h314 = 1.3, h315 = 1.25, h316 = 1.3, h317 = 1.4, h318 = 1.3, h319 = 1.3, h320 = 1.3, h321 = 1.3, h322 = 1.3, h323 = 1.1, --招财猫 h324 = 1.3, --螃蟹4 h325 = 1.25, --螃蟹5 h326 = 1.25, --螃蟹6 h327 = 1.25, h328 = 1.3, --天猫地狗new h329 = 0.9,--万圣树群new h330 = 1.3,--大嘴咬人箱new h331 = 1.25,--咬人箱洛克new h332 = 1.3,--布狗new h333 = 1.3, h334 = 1.3, h335 = 1.1,--绿钻头矿车老鼠 h336 = 1.15, --天照大神 h337 = 1.4, h338 = 1.3, h339 = 1.4, h340 = 1.3, h341 = 2.3, h342 = 1.3, h343 = 1.3, h344 = 1.3, h354 = 1.3, h355 = 1.3, h345 = 1.35, h346 = 1.3, h347 = 1.3, h348 = 1.3, h349 = 1.3, h350 = 1.3, h351 = 1.2, h352 = 1.2, h353 = 1.3, h399 = 1.2,--姜饼肉山 --战队信使 master h401 = 1.4, h402 = 1.4, h403 = 1.4, h404 = 1.55, h405 = 1.4, h406 = 1.5, h407 = 1.3, h408 = 1.35, h409 = 1.35, h410 = 1.3, h411 = 1.3, h412 = 1.3, h413 = 1.3, h414 = 1.4, h415 = 1.35, h416 = 1.4, h417 = 1.4, h418 = 1.4, h419 = 1.4, h420 = 1.2, h421 = 1.35, h422 = 1.4, --小飞侠 h423 = 1.3, --螃蟹7 h424 = 1.3, --螃蟹8 h425 = 1.3, --螃蟹9 h426 = 1.1,--绽放树精new h427 = 1.55, h428 = 1.2,--绿钻头金矿车老鼠 h499 = 1.55,--金dp h429 = 1.3,--贪小疯魔 h430 = 1.3, --灵犀弗拉尔 h431 = 1.2, --黄油小生 h432 = 1.3, --年兽宝宝 h433 = 1.35, h434 = 1.4, h435 = 1.0, h438 = 1.45, h439 = 1.35, h440 = 1.2, h441 = 1.4, h442 = 1.3, h444 = 1.4, h445 = 1.4, h446 = 1.4, h443 = 1.4, h436 = 1.4, h437 = 1.4, } local reimu_pet_effect = { -- 未包含的 -- "e316", -- 一圈蓝色五角星 -- "e999", -- 皇冠 "e000", -- 无特效 "e101", "e102", "e103", "e104", "e107", "e108", "e111", "e112", "e113", "e114", "e201", "e202", "e203", "e205", "e210", "e213", "e214", "e301", "e302", "e303", "e304", "e305", "e306", "e308", "e309", "e311", "e312", "e313", "e315", "e317", "e319", "e320", "e321", "e322", "e401", "e402", "e403", "e404", "e405", "e406", "e407", "e408", "e409", "e410", "e451", "e452", "e453", "e454", "e455", "e456", "e457", "e458", "e459", } local courier_flyup_effect_list = { h208 = "effect/xukong/cour_rex_flying.vpcf", h432 = "effect/nianshou/courier_nian_ambient.vpcf", h499 = "effect/jin_dp/courier_krobeling_gold_ambient.vpcf", h399 = "effect/jiangbing/1.vpcf", h308 = "effect/drodo/1.vpcf", h199 = "effect/gewugu/3.vpcf", h239 = "effect/wangyu/1.vpcf", h303 = "effect/douyu/2.vpcf", h433 = "effect/roshan_ti9/1.vpcf", h341 = "effect/music/1.vpcf", h354 = "effect/lava_roshan/1.vpcf", h355 = "effect/frost_roshan/ambient.vpcf", h342 = "effect/darkmoon_roshan/1.vpcf", h343 = "effect/sand_roshan/baby_roshan_desert_sands_ambient.vpcf", h344 = "effect/biyu_roshan/1.vpcf", h436 = "effect/golden_roshan/ambient.vpcf", h437 = "effect/platinum_roshan/ambient.vpcf", h438 = "effect/golden_ww/1.vpcf", h439 = "effect/gold_angel/angels.vpcf", h440 = "effect/liansai_dog/1.vpcf", h441 = "effect/liansai_dog2/1.vpcf", h446 = "effect/wabbit/lvl3.vpcf", } local courier_ground_effect_list = { h199 = "effect/gewugu/2.vpcf", h303 = "particles/gem/brewmaster_drunken_haze_debuff_bubbles_2.vpcf", } function SetDefaultSkin(caster, index) local skin = { { "models/items/courier/courier_ti10_radiant/courier_ti10_radiant.vmdl", "particles/econ/courier/courier_ti10/courier_ti10_lvl1_ambient.vpcf", }, { "models/items/courier/courier_ti10_radiant/courier_ti10_radiant_lvl2/courier_ti10_radiant_lvl2.vmdl", "particles/econ/courier/courier_ti10/courier_ti10_lvl2_ambient.vpcf", }, { "models/items/courier/courier_ti10_radiant/courier_ti10_radiant_lvl3/courier_ti10_radiant_lvl3.vmdl", "particles/econ/courier/courier_ti10/courier_ti10_lvl3_ambient.vpcf", }, { "models/items/courier/courier_ti10_radiant/courier_ti10_radiant_lvl4/courier_ti10_radiant_lvl4.vmdl", "particles/econ/courier/courier_ti10/courier_ti10_lvl4_ambient.vpcf", }, { "models/items/courier/courier_ti10_radiant/courier_ti10_radiant_lvl5/courier_ti10_radiant_lvl5.vmdl", "particles/econ/courier/courier_ti10/courier_ti10_lvl5_ambient.vpcf", }, { "models/items/courier/courier_ti10_radiant/courier_ti10_radiant_lvl6/courier_ti10_radiant_lvl6.vmdl", "particles/econ/courier/courier_ti10/courier_ti10_lvl6_ambient.vpcf", }, { "models/items/courier/courier_ti10_radiant/courier_ti10_radiant_lvl7/courier_ti10_radiant_lvl7.vmdl", "particles/econ/courier/courier_ti10/courier_ti10_lvl7_ambient.vpcf", } } if index == nil or index < 1 or index > #skin then index = RandomInt(1, #skin) end local model = skin[index][1] local effect = skin[index][2] caster:SetOriginalModel(model) caster:SetModel(model) caster:SetModelScale(1.0) if caster.effect_name ~= nil then caster:RemoveAbility(caster.effect_name) caster:RemoveModifierByName('modifier_texiao_star') caster.effect_name = nil end if caster.default_effect ~= nil then ParticleManager:DestroyParticleSystem(caster.default_effect, true) caster.default_effect = nil end local effectIndex = ParticleManager:CreateParticle(effect, PATTACH_ABSORIGIN_FOLLOW, caster) ParticleManager:SetParticleControl(effectIndex, 0, caster:GetOrigin()) caster.default_effect = effectIndex -- ParticleManager:DestroyParticleSystem(effectIndex,false) -- PATTACH_ABSORIGIN_FOLLOW -- PATTACH_POINT_FOLLOW -- PATTACH_WORLDORIGIN end function OnSpellStartReimuPet01(keys) local caster = keys.caster if caster.is_init ~= true then caster.is_init = true keys.ability:ApplyDataDrivenModifier(caster, caster, "modifier_reimu_pet_01_state", nil) local playerid = caster:GetPlayerOwnerID() local petLevel = GameRules.PlayerData[playerid].pet_level caster.pet_level = petLevel keys.ability:ApplyDataDrivenModifier(caster, caster, "modifier_reimu_pet_01_level", nil):SetStackCount(petLevel) caster:CreatureLevelUp(petLevel - 1) local keyTotal = GameRules.PlayerData[playerid].key_total or 0 if keyTotal > 0 then local item = CreateItem("item_3121", nil, nil) if item ~= nil then item.owner_player_id = playerid item:SetPurchaser(caster:GetOwner()) item:SetCurrentCharges(keyTotal) caster:GetOwner():AddItem(item) end end local key = GameRules.PlayerData[playerid].pet_model if reimu_pet_model[key] == nil then GameRules.PlayerData[playerid].pet_model = "h000" key = "h000" end caster.pet_model = key if key == "h000" then SetDefaultSkin(caster) elseif string.sub(key,1,4) == "h000" then SetDefaultSkin(caster, table.keyindex(reimu_pet_model, key)) else local model = reimu_pet_model[key] caster:SetOriginalModel(model) caster:SetModel(model) caster:SetSkin(reimu_pet_skin[key] or 0) caster:SetModelScale(math.min(2.5, (reimu_pet_size[key] or 1) * (1 + 0.05 * petLevel))) local effect = GameRules.PlayerData[playerid].pet_effect or "e000" if table.hasvalue(reimu_pet_effect, effect) then caster.effect_name = effect AddAbilityAndSetLevel(caster, effect) if courier_flyup_effect_list[effect] ~= nil then ShowCourierEffect(caster,1) else ShowCourierEffect(caster,2) end end end return end local index = (table.keyindex(reimu_pet_model, caster.pet_model) or 0) + 1 if index > math.min(caster.pet_level or 1, table.count(reimu_pet_model)) then index = 1 end if caster.default_effect ~= nil then ParticleManager:DestroyParticleSystem(caster.default_effect,true) caster.default_effect = nil end local key = table.getkey(reimu_pet_model, index) caster.pet_model = key if string.sub(key,1,4) == "h000" then SetDefaultSkin(caster, index) else local model = reimu_pet_model[key] caster:SetOriginalModel(model) caster:SetModel(model) caster:SetSkin(reimu_pet_skin[key] or 0) caster:SetModelScale(math.min(2.5, (reimu_pet_size[key] or 1) * (1 + 0.05 * caster.pet_level))) end if tostring(PlayerResource:GetSteamID(caster:GetPlayerOwnerID())) == GameRules.GameData.admin then CustomGameEventManager:Send_ServerToPlayer(caster:GetPlayerOwner() , "show_message", {msg="#change_to_pet_model", duration=5, params={key = caster.pet_model}, color="#ff0"} ) end end function OnSpellStartReimuPet02(keys) local caster = keys.caster if string.sub(caster.pet_model,1,4) ~= "h000" and caster.default_effect ~= nil then ParticleManager:DestroyParticleSystem(caster.default_effect,true) caster.default_effect = nil end if caster.effect_name ~= nil then caster:RemoveAbility(caster.effect_name) caster:RemoveModifierByName('modifier_texiao_star') end local index = 0 if caster.effect_name == nil then index = 1 else for k,v in ipairs(reimu_pet_effect) do if v == caster.effect_name then index = k + 1 break end end if index > math.min(caster.pet_level or 1, #reimu_pet_effect) then index = 1 end end local effect = reimu_pet_effect[index] caster.effect_name = effect AddAbilityAndSetLevel(caster, effect) if courier_flyup_effect_list[effect] ~= nil then ShowCourierEffect(caster,1) else ShowCourierEffect(caster,2) end if tostring(PlayerResource:GetSteamID(caster:GetPlayerOwnerID())) == GameRules.GameData.admin then CustomGameEventManager:Send_ServerToPlayer(caster:GetPlayerOwner() , "show_message", {msg="#change_to_pet_effect", duration=5, params={key = caster.effect_name}, color="#ff0"} ) end end function OnSpellStartReimuPet03(keys) local caster = keys.caster local playerid = caster:GetPlayerOwnerID() GameRules.PlayerData[playerid].pet_model = caster.pet_model GameRules.PlayerData[playerid].pet_effect = caster.effect_name Service:SavePetCustom(playerid) UnitStunTarget(caster,caster,6.0) local vecCaster = caster:GetOrigin() local count = 4 local effectIndex = ParticleManager:CreateParticle("particles/heroes/thtd_patchouli_04/ability_patchouli_04.vpcf", PATTACH_CUSTOMORIGIN, caster) ParticleManager:SetParticleControl(effectIndex, 0, vecCaster + Vector(0,0,256)) ParticleManager:SetParticleControl(effectIndex, 1, vecCaster + Vector(0,0,256)) ParticleManager:SetParticleControl(effectIndex, 3, vecCaster + Vector(0,0,256)) caster:SetContextThink(DoUniqueString("OnSpellStartReimuPet03"), function() count = count * 2 local radius = math.min(128,count) ParticleManager:SetParticleControl(effectIndex, 14, Vector(radius,0,0)) if count > 100 then ParticleManager:DestroyParticleSystemTimeFalse(effectIndex,3.0) return nil end return 0.5 end, 0.5) local effectIndex = ParticleManager:CreateParticle("particles/heroes/remilia/ability_remilia_04_laser.vpcf",PATTACH_CUSTOMORIGIN,caster) ParticleManager:SetParticleControl(effectIndex, 0, vecCaster+Vector(0,0,700)) ParticleManager:SetParticleControl(effectIndex, 1, vecCaster+Vector(800,0,800)) ParticleManager:SetParticleControl(effectIndex, 2, vecCaster+Vector(0,0,0)) ParticleManager:SetParticleControl(effectIndex, 3, vecCaster+Vector(-800,0,800)) ParticleManager:SetParticleControl(effectIndex, 4, vecCaster+Vector(0,0,1600)) ParticleManager:SetParticleControl(effectIndex, 6, vecCaster) ParticleManager:DestroyParticleSystem(effectIndex,false) local effectIndexSmoke = ParticleManager:CreateParticle("particles/heroes/remilia/ability_remilia_04_laser_rocket.vpcf",PATTACH_CUSTOMORIGIN,caster) ParticleManager:SetParticleControl(effectIndexSmoke, 0, vecCaster+Vector(0,0,700)) ParticleManager:SetParticleControl(effectIndexSmoke, 1, Vector(1,0,0)) ParticleManager:SetParticleControl(effectIndexSmoke, 2, Vector(-1,0,0)) ParticleManager:SetParticleControl(effectIndexSmoke, 3, Vector(0,0,0.5)) ParticleManager:SetParticleControl(effectIndexSmoke, 4, Vector(0,0,-1)) ParticleManager:DestroyParticleSystem(effectIndexSmoke,false) end function OnSpellStartReimuPet04(keys) local caster = keys.caster local playerid = caster:GetPlayerOwnerID() local hero = caster:GetOwner() if hero:GetNumItemsInInventory() >= THTD_MAX_ITEM_SLOT then CustomGameEventManager:Send_ServerToPlayer(hero:GetPlayerOwner(), "display_custom_error", {msg="not_enough_item_slot"}) return end if tostring(PlayerResource:GetSteamID(caster:GetPlayerOwnerID())) == GameRules.GameData.admin then local item = hero:FindItemInInventory("item_3121") if item ~= nil then item:SetCurrentCharges(item:GetCurrentCharges() + 1) else item = CreateItem("item_3121", nil, nil) if item ~= nil then item.owner_player_id = playerid item:SetPurchaser(hero) hero:AddItem(item) -- local vHitLoc = caster:GetAttachmentOrigin(caster:ScriptLookupAttachment("attach_hitloc")) -- local drop = CreateItemOnPositionSync(vHitLoc, item) -- item:LaunchLootInitialHeight(false, vHitLoc.z, vHitLoc.z+200, 1.0, GetGroundPosition(caster:GetOwner():GetAbsOrigin() + caster:GetOwner():GetForwardVector() * 100, caster:GetOwner())) end end caster:EmitSound(reimu_pet_sound[RandomInt(1, #reimu_pet_sound)]) CustomGameEventManager:Send_ServerToPlayer(hero:GetPlayerOwner(), "show_message", {msg="#key_made_tip", duration=3, params={}, color="#ff0"}) ParticleManager:DestroyParticleSystem(hero.thtd_emoji_effect,true) hero.thtd_emoji_effect = ParticleManager:CreateParticle("particles/thtd/emoji/thtd_msg_hongliange.vpcf", PATTACH_OVERHEAD_FOLLOW, hero) ParticleManager:SetParticleControlEnt(hero.thtd_emoji_effect , 0, hero, PATTACH_OVERHEAD_FOLLOW, "attach_hitloc", Vector(0,0,0), true) --灵梦用 attach_emoji ParticleManager:SetParticleControl(hero.thtd_emoji_effect, 3, Vector(1,0,0)) ParticleManager:DestroyParticleSystemTime(hero.thtd_emoji_effect,5.0) return end if GameRules.PlayerData[playerid]["point"] == nil or GameRules.PlayerData[playerid]["point"] < keys.point then CustomGameEventManager:Send_ServerToPlayer(caster:GetPlayerOwner() , "display_custom_error", {msg="not_enough_game_point"} ) return end caster:EmitSound(reimu_pet_sound[RandomInt(1, #reimu_pet_sound)]) Service:BuyMagicKey(playerid, 1) end local model_tree = { -- "maps/journey_assets/props/trees/journey_armandpine/journey_armandpine_01.vmdl", -- "maps/journey_assets/props/trees/journey_armandpine/journey_armandpine_02.vmdl", -- "maps/journey_assets/props/trees/journey_maple/journey_maple02.vmdl", -- "maps/jungle_assets/trees/kapok/export/kapok_002.vmdl", -- "maps/jungle_assets/trees/kapok/export/kapok_003.vmdl", -- "maps/jungle_assets/trees/kapok/export/kapok_004.vmdl", -- "models/props_tree/dire_tree006.vmdl", -- "models/props_tree/palm_01.vmdl", -- "models/props_tree/palm_02b.vmdl", -- "models/props_tree/palm_02c.vmdl", -- "models/props_tree/palm_03_inspector.vmdl", "models/props_tree/frostivus_tree.vmdl", -- 圣诞树 -- "models/props_tree/newbloom_tree.vmdl", -- 新春树 } function OnSpellStartReimuPet05(keys) local caster = keys.caster local targetPoint = keys.target_points[1] caster:EmitSound("UI.Aowu") if targetPoint.y > 415 and targetPoint.y < 2000 then local y = 2000 if (2000-targetPoint.y) > (targetPoint.y-415) then y = 415 end targetPoint = Vector(targetPoint.x, y, targetPoint.z) elseif targetPoint.y > -2000 and targetPoint.y < -415 then local y = -2000 if math.abs(-2000-targetPoint.y) > math.abs(-415-targetPoint.y) then y = -415 end targetPoint = Vector(targetPoint.x, y, targetPoint.z) end if targetPoint.x > 3755 and targetPoint.x < 4470 then targetPoint = Vector(3755, targetPoint.y, targetPoint.z) elseif targetPoint.x < -3755 and targetPoint.x > -4470 then targetPoint = Vector(-3755, targetPoint.y, targetPoint.z) end if GetDistanceBetweenTwoVec2D(caster:GetAbsOrigin(), targetPoint) <= 200 then caster.pet_point = nil if caster.pet_tree ~= nil then UTIL_Remove(caster.pet_tree) end caster.pet_tree = nil else caster.pet_point = targetPoint if caster.pet_tree ~= nil then UTIL_Remove(caster.pet_tree) end caster.pet_tree = CreateTempTreeWithModel(targetPoint, 36000, model_tree[RandomInt(1, #model_tree)]) end end function ShowCourierEffect(hero,type) if hero.flyup_effect ~= nil then ParticleManager:DestroyParticle(hero.flyup_effect,true) end if hero.ground_effect ~= nil then ParticleManager:DestroyParticle(hero.ground_effect,true) end local key = table.getkey(reimu_pet_model, hero.model_index) if type == 1 then --陆地特效 if key ~= nil and courier_ground_effect_list[key] ~= nil then --陆地特效 local ground_effect = courier_ground_effect_list[key] hero.ground_effect = PlayParticleOnUnitUntilDeath({ caster = hero, p = ground_effect, }) end end if type == 2 then --飞行特效 if key ~= nil and courier_flyup_effect_list[key] ~= nil then --飞行特效 local flyup_effect = courier_flyup_effect_list[key] hero.flyup_effect = PlayParticleOnUnitUntilDeath({ caster = hero, p = flyup_effect, }) end end end function PlayParticleOnUnitUntilDeath(keys) local p = keys.p local u = keys.caster if u == nil then return end local pos = keys.pos or PATTACH_ABSORIGIN_FOLLOW local pp = ParticleManager:CreateParticle(p, pos, u) ParticleManager:SetParticleControlEnt( pp, 0, u, pos, nil, u:GetOrigin(), true ); ParticleManager:SetParticleControlEnt( pp, 1, u, pos, nil, u:GetOrigin(), true ); ParticleManager:SetParticleControlEnt( pp, 2, u, pos, nil, u:GetOrigin(), true ); ParticleManager:SetParticleControlEnt( pp, 3, u, pos, nil, u:GetOrigin(), true ); ParticleManager:SetParticleControlEnt( pp, 4, u, pos, nil, u:GetOrigin(), true ); ParticleManager:SetParticleControlEnt( pp, 5, u, pos, nil, u:GetOrigin(), true ); ParticleManager:SetParticleControlEnt( pp, 6, u, pos, nil, u:GetOrigin(), true ); u:SetContextThink(DoUniqueString("dota_timer"), function() if GameRules:IsGamePaused() then return 0.1 end if u == nil or u:IsNull() == true or u:IsAlive() == false then if pp ~= nil then ParticleManager:DestroyParticle(pp,true) end return end if pp == nil then return end return 0.1 end, 0.1) return pp end function SetCourier(hero, onduty_hero, onduty_hero_effect) local onduty_hero_model = GameRules:GetGameModeEntity().sm_hero_list[onduty_hero] local onduty_hero_skin = GameRules:GetGameModeEntity().sm_hero_list_skin[onduty_hero] or 0 hero:SetOriginalModel(onduty_hero_model) hero:SetModel(onduty_hero_model) hero:SetSkin(onduty_hero_skin) hero.init_model_scale = GameRules:GetGameModeEntity().sm_hero_size[onduty_hero] or 1 hero:SetModelScale(hero.init_model_scale) hero.ori_model = onduty_hero_model hero.ori_skin = onduty_hero_skin if hero.effect ~= nil then hero:RemoveAbility(hero.effect) hero:RemoveModifierByName('modifier_texiao_star') end if onduty_hero_effect ~= 'e000' then if string.find(GameRules:GetGameModeEntity().effect_list,onduty_hero_effect) then AddAbilityAndSetLevel(hero,onduty_hero_effect) hero.effect = onduty_hero_effect end end ShowCourierEffect(hero,1) hero.onduty_hero = onduty_hero end