{ id = "ability.shadow_shaman.serpent_ward" name = "#DOTA_Import_Serpent_Ward" desc = "#DOTA_Import_Serpent_Ward_Desc" template_group = "#DOTA_Workshop_SubmissionType_Ability" template_subgroup = "#npc_dota_hero_shadow_shaman" directory = "shadowshaman/serpent_ward" game_unit = "npc_dota_shadow_shaman_ward_1" workshop_tags = [ "Ability", "Shadow Shaman", "serpent_ward" ] models = [ { id = "model_serpent_ward" s1_legacy_name = "model0" name = "#DOTA_Import_Serpent_Ward" preview_desc = "#DOTA_Workshop_Preview_Desc_Shaman_Ward_Item" auto_hitbox_set_name = "default" default_portrait_model = "models/heroes/shadowshaman/shadowshaman_totem.vmdl" lod_list = [ { id = "mesh_portrait" s1_legacy_name = "lod0" name = "#DOTA_Workshop_LOD0Title" desc = "#DOTA_Workshop_No_Anim_Mesh_Lod0_Desc" max_polygons = 1500 }, { id = "mesh_world" s1_legacy_name = "lod1" name = "#DOTA_Workshop_LOD1Title" desc = "#DOTA_Workshop_No_Anim_Mesh_Lod1_Desc" max_polygons = 600 }, ] material_list = [ { id = "material_serpent_ward" s1_legacy_name = "vmt0" name = "#DOTA_Import_Mat0Title_Generic" desc = "#DOTA_Import_Mat0Desc_Generic" template_vmat = "materials/models/heroes/shadowshaman/totem_color.vmat" max_tex_width = 256 max_tex_height = 256 }, ] anim_list = [ { id = "animation_spawn" s1_legacy_name = "anim0" name = "#DOTA_Workshop_Animation_Spawn" suffix = "_anim_spawn" sequence_name = "spawn" activity_name = "ACT_DOTA_SPAWN" default = "scripts/workshop_import_templates/default_content/shadow_shaman/ss_totem_spawn.dmx" always_use_default_anim = true }, { id = "animation_loadout" name = "#DOTA_Workshop_Animation_LoadoutIdle" desc = "#DOTA_Workshop_Animation_LoadoutIdle_Desc" suffix = "_loadout_idle" sequence_name = "loadout" activity_name = "ACT_DOTA_LOADOUT" looping = true optional = true default = "scripts/workshop_import_templates/default_content/shadow_shaman/ss_totem_loadout.dmx" always_use_default_anim = true }, { id = "animation_loadout_spawn" name = "#DOTA_Workshop_Animation_LoadoutSpawn" desc = "#DOTA_Workshop_Animation_LoadoutSpawn_Desc" suffix = "_loadout_spawn" sequence_name = "loadout_spawn" activity_name = "ACT_DOTA_SPAWN" modifiers = [ { modifier_name = "loadout" modifier_weight = 1 } ] optional = true default = "scripts/workshop_import_templates/default_content/shadow_shaman/ss_totem_loadout.dmx" always_use_default_anim = true }, { id = "animation_die" s1_legacy_name = "anim1" name = "#DOTA_Workshop_Animation_Die" suffix = "_anim_die" sequence_name = "die" activity_name = "ACT_DOTA_DIE" default = "scripts/workshop_import_templates/default_content/shadow_shaman/ss_totem_die.dmx" always_use_default_anim = true }, { id = "animation_stun" name = "#DOTA_Workshop_Animation_Disabled" suffix = "_anim_stun" sequence_name = "stun" activity_name = "ACT_DOTA_DISABLED" default = "scripts/workshop_import_templates/default_content/shadow_shaman/ss_totem_stun.dmx" always_use_default_anim = true }, { id = "animation_flail" name = "#DOTA_Workshop_Animation_Flail" suffix = "_anim_flail" sequence_name = "flail" activity_name = "ACT_DOTA_FLAIL" default = "scripts/workshop_import_templates/default_content/shadow_shaman/ss_totem_flail.dmx" always_use_default_anim = true }, ] anim_bundle_list = [ { id = "portrait_anims" name = "#DOTA_Workshop_Animation_PortraitIdle" bundle_type = "loop_and_rare" optional = true anim_list = [ { id = "passive_anim_loop" s1_legacy_name = "anim3" name = "#DOTA_Workshop_Animation_PortraitIdle" suffix = "_portrait_idle" sequence_name = "portrait_idle" activity_name = "ACT_DOTA_CAPTURE" looping = true activity_weight = 3 fallback_anim_id= "animation_idle" optional = true default = "scripts/workshop_import_templates/default_content/shadow_shaman/ss_totem_portrait.dmx" always_use_default_anim = true }, ] }, { id = "serpent_ward_idle" name = "#DOTA_Workshop_Animation_Idle" bundle_type = "multiblend_bundle" compound_sequence_name = "ward_idle_multi" compound_activity_name = "ACT_DOTA_IDLE" compound_looping = true pose_param_name = "aim" anim_list = [ { id = "animation_backleftidle" s1_legacy_name = "anim6" name = "#DOTA_Workshop_Animation_BackLeftIdle" desc = "#DOTA_Workshop_Animation_BackLeft_Desc" suffix = "_anim_backleftidle" sequence_name = "backleftidle" looping = true default = "scripts/workshop_import_templates/default_content/shadow_shaman/ss_totem_idle180.dmx" always_use_default_anim = true }, { id = "animation_leftidle" s1_legacy_name = "anim7" name = "#DOTA_Workshop_Animation_LeftIdle" desc = "#DOTA_Workshop_Animation_Left_Desc" suffix = "_anim_leftidle" sequence_name = "leftidle" looping = true default = "scripts/workshop_import_templates/default_content/shadow_shaman/ss_totem_idle90.dmx" always_use_default_anim = true }, { id = "animation_idle" s1_legacy_name = "anim5" name = "#DOTA_Workshop_Animation_Idle" desc = "#DOTA_Workshop_Animation_Center_Desc" suffix = "_anim_idle" sequence_name = "idle" looping = true default = "scripts/workshop_import_templates/default_content/shadow_shaman/ss_totem_idle.dmx" always_use_default_anim = true }, { id = "animation_rightidle" s1_legacy_name = "anim8" name = "#DOTA_Workshop_Animation_RightIdle" desc = "#DOTA_Workshop_Animation_Right_Desc" suffix = "_anim_rightidle" sequence_name = "rightidle" looping = true default = "scripts/workshop_import_templates/default_content/shadow_shaman/ss_totem_idle_minus90.dmx" always_use_default_anim = true }, { id = "animation_backrightidle" s1_legacy_name = "anim9" name = "#DOTA_Workshop_Animation_BackRightIdle" desc = "#DOTA_Workshop_Animation_BackRight_Desc" suffix = "_anim_backrightidle" sequence_name = "backrightidle" looping = true default = "scripts/workshop_import_templates/default_content/shadow_shaman/ss_totem_idle_minus179.dmx" always_use_default_anim = true }, ] }, { id = "serpent_ward_attack" name = "#DOTA_Workshop_Animation_Attack" bundle_type = "multiblend_bundle" compound_sequence_name = "ward_attack_multi" compound_activity_name = "ACT_DOTA_ATTACK" pose_param_name = "aim" anim_list = [ { id = "animation_backleftattack" s1_legacy_name = "anim11" name = "#DOTA_Workshop_Animation_BackLeftAttack" desc = "#DOTA_Workshop_Animation_BackLeft_Desc" suffix = "_anim_backleftattack" sequence_name = "backleftattack" has_attack_point= true anim_length = 0.83 default = "scripts/workshop_import_templates/default_content/shadow_shaman/ss_totem_attack_180.dmx" always_use_default_anim = true }, { id = "animation_leftattack" s1_legacy_name = "anim12" name = "#DOTA_Workshop_Animation_LeftAttack" desc = "#DOTA_Workshop_Animation_Left_Desc" suffix = "_anim_leftattack" sequence_name = "leftattack" has_attack_point= true anim_length = 0.83 default = "scripts/workshop_import_templates/default_content/shadow_shaman/ss_totem_attack_90.dmx" always_use_default_anim = true }, { id = "animation_attack" s1_legacy_name = "anim10" name = "#DOTA_Workshop_Animation_Attack" desc = "#DOTA_Workshop_Animation_attack_Desc" suffix = "_anim_attack" sequence_name = "attack" has_attack_point= true anim_length = 0.83 default = "scripts/workshop_import_templates/default_content/shadow_shaman/ss_totem_attack.dmx" always_use_default_anim = true }, { id = "animation_rightattack" s1_legacy_name = "anim13" name = "#DOTA_Workshop_Animation_RightAttack" desc = "#DOTA_Workshop_Animation_Right_Desc" suffix = "_anim_rightattack" sequence_name = "rightattack" has_attack_point= true anim_length = 0.83 default = "scripts/workshop_import_templates/default_content/shadow_shaman/ss_totem_attack_minus90.dmx" always_use_default_anim = true }, { id = "animation_backrightattack" s1_legacy_name = "anim14" name = "#DOTA_Workshop_Animation_BackRightAttack" desc = "#DOTA_Workshop_Animation_BackRight_Desc" suffix = "_anim_backrightattack" sequence_name = "backrightattack" has_attack_point= true anim_length = 0.83 default = "scripts/workshop_import_templates/default_content/shadow_shaman/ss_totem_attack_minus179.dmx" always_use_default_anim = true }, ] }, ] attach_list = [ { id = "attachment_hitlocation" s1_legacy_name = "attachment0" name = "#DOTA_Workshop_Attachment_HitLocation" desc = "#DOTA_Workshop_Attachment_HitLocation_Autofill_Default_Desc" attach_name = "attach_hitloc" attach_joint = "ArbitraryChain0_4" }, { id = "attachment_attackpoint" s1_legacy_name = "attachment1" name = "#DOTA_Workshop_Attachment_AttackPoint" desc = "#DOTA_Workshop_Attachment_AttackPoint_Autofill_Default_Desc" attach_name = "attach_attack1" attach_joint = "ArbitraryChain0_6" default_offset = [ 0.0, 0.0, 10.0 ] default_rotation = [ 0.0, 0.0, 0.0 ] }, ] hitbox_list = [ { set_name = "select_low" box_name = "root" bone_name = "root" min_bounds = [ -39.4656, -42.5024, -6.38672 ] max_bounds = [ 41.0628, 42.5024, 116.87 ] }, { set_name = "select_high" box_name = "root" bone_name = "root" min_bounds = [ -15.0015, -16.7537, -2.43543 ] max_bounds = [ 16.5987, 16.7537, 136.268 ] }, { set_name = "feet" box_name = "root" bone_name = "root" min_bounds = [ -7.75008, -17.4247, -4.49431 ] max_bounds = [ 16.934, 16.5684, 25.7676 ] }, { set_name = "head" box_name = "ArbitraryChain0_5" bone_name = "ArbitraryChain0_5" min_bounds = [ -4.51482, -16.0034, -8.95554 ] max_bounds = [ 31.3252, 16.0034, 21.3953 ] }, ] }, ] item_defs = [ { hero_name = "npc_dota_hero_shadow_shaman" loadout_slot = "summon" prefab_type = "wearable" has_portrait = true visuals = [ { type = "entity_model" asset_expr = "npc_dota_shadow_shaman_ward" modifier_expr = "$(model_serpent_ward:vmdl_name)" } ] } ] }