{ id = "ability.lycan.lycan_ult" name = "#DOTA_Import_Lycan_Ult" desc = "#DOTA_Import_Lycan_Ult_Desc" template_group = "#DOTA_Workshop_SubmissionType_Ability" template_subgroup = "#npc_dota_hero_lycan" directory = "lycan/ultimate" game_unit = "npc_dota_hero_lycan" workshop_tags = [ "Ability", "npc_dota_hero_lycan", "lycan_ult" ] models = [ { id = "model_lycan_ult" s1_legacy_name = "model0" name = "#DOTA_Import_Lycan_Ult" auto_hitbox_set_name = "default" default_portrait_model = "models/heroes/lycan/lycan_wolf.vmdl" lod_list = [ { id = "mesh_portrait" s1_legacy_name = "lod0" name = "#DOTA_Workshop_LOD0Title" desc = "#DOTA_Workshop_LOD0Desc" max_polygons = 5500 optional = true }, { id = "mesh_world" s1_legacy_name = "lod1" name = "#DOTA_Workshop_LOD1Title" desc = "#DOTA_Workshop_LOD1Desc" max_polygons = 3500 }, ] material_list = [ { id = "material_lycan_ult" s1_legacy_name = "vmt0" name = "#DOTA_Import_Mat0Title_Generic" desc = "#DOTA_Import_Mat0Desc_Generic" template_vmat = "materials/models/heroes/lycan/lycan_wolf_body_color.vmat" max_tex_width = 512 max_tex_height = 512 }, ] anim_list = [ { id = "animation_attack" s1_legacy_name = "anim2" name = "#DOTA_Workshop_Animation_Attack" desc = "#DOTA_Workshop_Animation_Attack_Desc" suffix = "_anim_attack" sequence_name = "attack" activity_name = "ACT_DOTA_ATTACK" has_attack_point= true anim_length = 1 default = "scripts/workshop_import_templates/default_content/lycan/lycan_wolf_attack.dmx" }, { id = "animation_attack_fast" name = "#DOTA_Workshop_Animation_Attack" desc = "#DOTA_Workshop_Animation_Attack_Desc" suffix = "_anim_attack_fast" sequence_name = "attack_fast" activity_name = "ACT_DOTA_ATTACK" modifiers = [ { modifier_name = "fast" } ] has_attack_point= true anim_length = 1 default = "scripts/workshop_import_templates/default_content/lycan/lycan_wolf_attack_fast.dmx" }, { id = "animation_attack_faster" name = "#DOTA_Workshop_Animation_Attack" desc = "#DOTA_Workshop_Animation_Attack_Desc" suffix = "_anim_attack_faster" sequence_name = "attack_faster" activity_name = "ACT_DOTA_ATTACK" modifiers = [ { modifier_name = "faster" } ] has_attack_point= true anim_length = 1 default = "scripts/workshop_import_templates/default_content/lycan/lycan_wolf_attack_faster.dmx" }, { id = "animation_attack2" name = "#DOTA_Workshop_Animation_AttackB" desc = "#DOTA_Workshop_Animation_AttackB_Desc" suffix = "_anim_attack2" sequence_name = "attack2" activity_name = "ACT_DOTA_ATTACK" has_attack_point= true anim_length = 1 default = "scripts/workshop_import_templates/default_content/lycan/lycan_wolf_attack2.dmx" }, { id = "animation_attack2_fast" name = "#DOTA_Workshop_Animation_Attack" desc = "#DOTA_Workshop_Animation_Attack_Desc" suffix = "_anim_attack2_fast" sequence_name = "attack2_fast" activity_name = "ACT_DOTA_ATTACK" modifiers = [ { modifier_name = "fast" } ] has_attack_point= true anim_length = 1 default = "scripts/workshop_import_templates/default_content/lycan/lycan_wolf_attack2_fast.dmx" }, { id = "animation_attack2_faster" name = "#DOTA_Workshop_Animation_Attack" desc = "#DOTA_Workshop_Animation_Attack_Desc" suffix = "_anim_attack2_faster" sequence_name = "attack2_faster" activity_name = "ACT_DOTA_ATTACK" modifiers = [ { modifier_name = "faster" } ] has_attack_point= true anim_length = 1 default = "scripts/workshop_import_templates/default_content/lycan/lycan_wolf_attack2_faster.dmx" }, { id = "animation_attack_bite" name = "#DOTA_Workshop_Animation_Attack_Bite" desc = "#DOTA_Workshop_Animation_Attack_Bite_Desc" suffix = "_anim_attack_bite" sequence_name = "attack_bite" activity_name = "ACT_DOTA_ATTACK" has_attack_point= true anim_length = 1 default = "scripts/workshop_import_templates/default_content/lycan/lycan_wolf_attack_bite.dmx" }, { id = "animation_attack_bite_fast" name = "#DOTA_Workshop_Animation_Attack" desc = "#DOTA_Workshop_Animation_Attack_Desc" suffix = "_anim_attack_bite_fast" sequence_name = "attack_bite_fast" activity_name = "ACT_DOTA_ATTACK" modifiers = [ { modifier_name = "fast" } ] has_attack_point= true anim_length = 1 default = "scripts/workshop_import_templates/default_content/lycan/lycan_wolf_attack_bite_fast.dmx" }, { id = "animation_attack_bite_faster" name = "#DOTA_Workshop_Animation_Attack" desc = "#DOTA_Workshop_Animation_Attack_Desc" suffix = "_anim_attack_bite_faster" sequence_name = "attack_bite_faster" activity_name = "ACT_DOTA_ATTACK" modifiers = [ { modifier_name = "faster" } ] has_attack_point= true anim_length = 1 default = "scripts/workshop_import_templates/default_content/lycan/lycan_wolf_attack_bite_faster.dmx" }, { id = "animation_disabled" s1_legacy_name = "anim4" name = "#DOTA_Workshop_Animation_Disabled" suffix = "_anim_disabled" sequence_name = "disabled" activity_name = "ACT_DOTA_DISABLED" default = "scripts/workshop_import_templates/default_content/lycan/lycan_wolf_stun.dmx" }, { id = "animation_flail" s1_legacy_name = "anim5" name = "#DOTA_Workshop_Animation_Flail" desc = "#DOTA_Workshop_Animation_Flail_Desc" suffix = "_anim_flail" sequence_name = "flail" activity_name = "ACT_DOTA_FLAIL" default = "scripts/workshop_import_templates/default_content/lycan/lycan_wolf_flail.dmx" }, { id = "animation_die" s1_legacy_name = "anim3" name = "#DOTA_Workshop_Animation_Die" suffix = "_anim_die" sequence_name = "die" activity_name = "ACT_DOTA_DIE" default = "scripts/workshop_import_templates/default_content/lycan/lycan_wolf_death_forward.dmx" }, { id = "animation_die2" s1_legacy_name = "anim12" name = "#DOTA_Workshop_Animation_Die2" suffix = "_anim_die2" sequence_name = "die2" activity_name = "ACT_DOTA_DIE" default = "scripts/workshop_import_templates/default_content/lycan/lycan_wolf_death_back.dmx" optional = true }, { id = "animation_die_special" s1_legacy_name = "anim15" name = "#DOTA_Workshop_Animation_Die_Special" suffix = "_anim_die_special" sequence_name = "die_special" activity_name = "ACT_DOTA_DIE_SPECIAL" default = "scripts/workshop_import_templates/default_content/lycan/lycan_wolf_death_forward.dmx" optional = true }, { id = "animation_ability1" s1_legacy_name = "anim13" name = "#DOTA_Import_Lycan_Ult_Anim_Ability1" suffix = "_anim_ability1" sequence_name = "ability1" activity_name = "ACT_DOTA_CAST_ABILITY_1" default = "scripts/workshop_import_templates/default_content/lycan/lycan_wolf_cast1_summonWolves.dmx" }, { id = "animation_ability2" s1_legacy_name = "anim14" name = "#DOTA_Import_Lycan_Ult_Anim_Ability2" suffix = "_anim_ability2" sequence_name = "ability2" activity_name = "ACT_DOTA_CAST_ABILITY_2" default = "scripts/workshop_import_templates/default_content/lycan/lycan_wolf_cast2_howl.dmx" }, { id = "animation_cast4_transformation" name = "#DOTA_Import_Lycan_Ult_Anim_Ability4_Override" desc = "#DOTA_Import_Lycan_Ult_Anim_Ability4_Override_Desc" suffix = "_anim_cast4_transformation" sequence_name = "cast4_transformation" activity_name = "ACT_DOTA_OVERRIDE_ABILITY_4" default = "scripts/workshop_import_templates/default_content/lycan/wolf_cast4_transformation.dmx" }, ] anim_bundle_list = [ { id = "idle_anims" name = "#DOTA_Workshop_Animation_Idle" bundle_type = "loop_and_rare" anim_list = [ { id = "passive_anim_loop" s1_legacy_name = "anim0" name = "#DOTA_Workshop_Animation_Idle" desc = "#DOTA_Workshop_Animation_Idle_Desc" suffix = "_anim_idle" sequence_name = "idle" activity_name = "ACT_DOTA_IDLE" looping = true default = "scripts/workshop_import_templates/default_content/lycan/lycan_wolf_idle.dmx" }, { id = "passive_anim_rare" s1_legacy_name = "anim6" name = "#DOTA_Workshop_Animation_IdleRare" desc = "#DOTA_Workshop_Animation_IdleRare_Desc" suffix = "_anim_idlerare" sequence_name = "idle_alt" activity_name = "ACT_DOTA_IDLE_RARE" optional = true }, ] }, { id = "portrait_anims" name = "#DOTA_Workshop_Animation_PortraitIdle" bundle_type = "loop_and_rare" fallback_bundles = [ "idle_anims" ] optional = true anim_list = [ { id = "passive_anim_loop" s1_legacy_name = "anim7" name = "#DOTA_Workshop_Animation_PortraitIdle" suffix = "_portrait_idle" sequence_name = "portrait_idle" activity_name = "ACT_DOTA_CAPTURE" looping = true activity_weight = 3 default = "scripts/workshop_import_templates/default_content/lycan/lycan_wolf_portrait.dmx" }, { id = "passive_anim_rare" s1_legacy_name = "anim8" name = "#DOTA_Workshop_Animation_PortraitRare" suffix = "_portrait_idle_alt" sequence_name = "portrait_idle_alt" activity_name = "ACT_DOTA_CAPTURE" optional = true default = "scripts/workshop_import_templates/default_content/lycan/lycan_wolf_portrait_headturn.dmx" }, ] }, { id = "run_anims" name = "#DOTA_Workshop_Animation_Run" bundle_type = "run_anim_bundle" compound_sequence_name = "turns" anim_list = [ { id = "run_anim_base" s1_legacy_name = "anim1" name = "#DOTA_Workshop_Animation_Run" suffix = "_run" sequence_name = "run" activity_name = "ACT_DOTA_RUN" looping = true default = "scripts/workshop_import_templates/default_content/lycan/lycan_wolf_run.dmx" }, { id = "run_anim_turnpose_center" s1_legacy_name = "anim9" name = "#DOTA_Workshop_Animation_TurnPoseCenter" desc = "#DOTA_Workshop_Animation_TurnPoseCenter_Desc" suffix = "_turn_center" sequence_name = "turn_center" default = "scripts/workshop_import_templates/default_content/lycan/lycan_wolf_turn_center.dmx" optional = true }, { id = "run_anim_turnpose_left" s1_legacy_name = "anim10" name = "#DOTA_Workshop_Animation_TurnPoseLeft" desc = "#DOTA_Workshop_Animation_TurnPoseLeft_Desc" suffix = "_turn_left" sequence_name = "turn_left" default = "scripts/workshop_import_templates/default_content/lycan/lycan_wolf_turn_left.dmx" optional = true }, { id = "run_anim_turnpose_right" s1_legacy_name = "anim11" name = "#DOTA_Workshop_Animation_TurnPoseRight" desc = "#DOTA_Workshop_Animation_TurnPoseRight_Desc" suffix = "_turn_right" sequence_name = "turn_right" default = "scripts/workshop_import_templates/default_content/lycan/lycan_wolf_turn_right.dmx" optional = true }, ] }, ] attach_list = [ { id = "attachment_hitlocation" s1_legacy_name = "attachment0" name = "#DOTA_Workshop_Attachment_HitLocation" desc = "#DOTA_Workshop_Attachment_HitLocation_Autofill_Desc" attach_name = "attach_hitloc" attach_joint = "spine3" }, { id = "attachment_attackpoint_mouth" s1_legacy_name = "attachment1" name = "#DOTA_Workshop_Attachment_AttackPoint" desc = "#DOTA_Workshop_Attachment_Mouth_Autofill_Desc" attach_name = "attach_upper_jaw" attach_joint = "head" }, { id = "attachment_mane" name = "#DOTA_Workshop_Attachment_Lycan_Ult_Mane" desc = "#DOTA_Workshop_Attachment_Lycan_Ult_Mane_Autofill_Desc" //mane particles attach_name = "attach_mane" attach_joint = "neckFur_R2C0" }, { id = "attachment_mouth" name = "#DOTA_Workshop_Attachment_Lycan_Ult_Jaw" desc = "#DOTA_Workshop_Attachment_Lycan_Ult_Jaw_Autofill_Desc" //salivation particles attach_name = "attach_mouth" attach_joint = "jaw1_0" }, { id = "attachment_tail" name = "#DOTA_Workshop_Attachment_Tail" desc = "#DOTA_Workshop_Attachment_Tail_Autofill_Desc" attach_name = "attach_tail" attach_joint = "Tail_R3C0" }, ] hitbox_list = [ { set_name = "select_low" box_name = "root" bone_name = "root" min_bounds = [ -52.6552, -71.3616, -84.9266 ] max_bounds = [ 130.323, 74.2345, 47.4415 ] }, { set_name = "select_high" box_name = "hip0_0" bone_name = "hip0_0" min_bounds = [ -23.5123, -22.3204, -69.5804 ] max_bounds = [ 123.964, 21.1871, 21.1517 ] }, { set_name = "head" box_name = "head" bone_name = "head" min_bounds = [ -25.2682, -32.9306, -15.8504 ] max_bounds = [ 31.6657, 32.9306, 51.7227 ] }, { set_name = "hands" box_name = "wrist_L" bone_name = "wrist_L" min_bounds = [ 2.74797, -13.5483, -16.2032 ] max_bounds = [ 50.9973, 16.7593, 17.7297 ] }, { set_name = "hands" box_name = "wrist_R" bone_name = "wrist_R" min_bounds = [ -51.059, -12.5143, -17.6006 ] max_bounds = [ 0.459062, 13.5252, 15.7971 ] }, { set_name = "feet" box_name = "ankle_R" bone_name = "ankle_R" min_bounds = [ -39.3396, -9.94878, -24.316 ] max_bounds = [ 3.9499, 15.0988, 10.7183 ] }, { set_name = "feet" box_name = "ankle_L" bone_name = "ankle_L" min_bounds = [ -3.9499, -15.0988, -10.7183 ] max_bounds = [ 39.3396, 9.94878, 24.316 ] }, ] }, ] item_defs = [ { hero_name = "npc_dota_hero_lycan" loadout_slot = "ability4" prefab_type = "wearable" localization_prefix = "LYCAN_" localization_suffix = "_SHAPESHIFT" item_type_name = "Shapeshift" has_portrait = true visuals = [ { type = "hero_model_change" asset_expr = "models/heroes/lycan/lycan_wolf.vmdl" modifier_expr = "$(model_lycan_ult:vmdl_name)" } ] } ] }