{ id = "ability.terrorblade.demon" name = "#DOTA_Workshop_Terrorblade_Demon" desc = "#DOTA_Workshop_Terrorblade_Demon_Desc" template_group = "#DOTA_Workshop_SubmissionType_Ability" template_subgroup = "#npc_dota_hero_terrorblade" directory = "terrorblade" game_unit = "npc_dota_hero_terrorblade" workshop_tags = [ "Ability", "npc_dota_hero_terrorblade", "terrorblade_demon" ] models = [ { id = "model_terrorblade_demon" name = "#DOTA_Workshop_Terrorblade_Demon" auto_hitbox_set_name = "default" default_portrait_model = "models/heroes/terrorblade/demon.vmdl" lod_list = [ { id = "mesh_portrait" name = "#DOTA_Workshop_LOD0Title" desc = "#DOTA_Workshop_LOD0Desc" max_polygons = 10000 optional = true }, { id = "mesh_world" name = "#DOTA_Workshop_LOD1Title" desc = "#DOTA_Workshop_LOD1Desc" max_polygons = 4000 }, ] material_list = [ { id = "material_terroblade_demon" name = "#DOTA_Workshop_Mat0Title_Generic" desc = "#DOTA_Workshop_Mat0Desc_Generic" template_vmat = "materials/models/heroes/terrorblade/demon_color.vmat" max_tex_width = 1024 max_tex_height = 1024 }, ] anim_list = [ { id = "animation_attack" 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/terrorblade/demon_attack01.dmx" }, { id = "animation_attack_injured" name = "#DOTA_ItemTest_Animation_AttackInjured" suffix = "_anim_attack_injured" sequence_name = "attack_injured" activity_name = "ACT_DOTA_ATTACK" modifiers = [ { modifier_name = "injured" } ] has_attack_point= true anim_length = 1 default = "scripts/workshop_import_templates/default_content/terrorblade/demon_attack01_injured.dmx" }, { id = "animation_attack2" name = "#DOTA_Workshop_Animation_Attack2" desc = "#DOTA_Workshop_Animation_Attack2_Desc" suffix = "_anim_attack2" sequence_name = "attack2" activity_name = "ACT_DOTA_ATTACK2" has_attack_point= true anim_length = 1 default = "scripts/workshop_import_templates/default_content/terrorblade/demon_attack02.dmx" }, { id = "animation_attack2_injured" name = "#DOTA_ItemTest_Animation_Attack2Injured" suffix = "_anim_attack2_injured" sequence_name = "attack2_injured" activity_name = "ACT_DOTA_ATTACK2" modifiers = [ { modifier_name = "injured" } ] has_attack2_point= true anim_length = 1 default = "scripts/workshop_import_templates/default_content/terrorblade/demon_attack02_injured.dmx" }, { id = "animation_reflection" name = "#DOTA_WorkshopAnim_Terrorblade_Reflection" suffix = "_anim_reflection" sequence_name = "reflection" activity_name = "ACT_DOTA_CAST_ABILITY_1" default = "scripts/workshop_import_templates/default_content/terrorblade/demon_reflection.dmx" }, { id = "animation_conjure" name = "#DOTA_WorkshopAnim_Terrorblade_Conjure" suffix = "_anim_conjure" sequence_name = "conjure" activity_name = "ACT_DOTA_CAST_ABILITY_2" default = "scripts/workshop_import_templates/default_content/terrorblade/demon_conjure.dmx" }, { id = "animation_transform" name = "#DOTA_WorkshopAnim_Terrorblade_Transform" suffix = "_anim_transform" sequence_name = "transform" activity_name = "ACT_DOTA_CAST_ABILITY_3" default = "scripts/workshop_import_templates/default_content/terrorblade/demon_transform.dmx" }, { id = "animation_transform_end" name = "#DOTA_WorkshopAnim_Terrorblade_Transform_End" suffix = "_anim_transform_end" sequence_name = "transform_end" activity_name = "ACT_DOTA_CAST_ABILITY_3_END" default = "scripts/workshop_import_templates/default_content/terrorblade/demon_untransform.dmx" }, { id = "animation_sunder" name = "#DOTA_WorkshopAnim_Terrorblade_Sunder" suffix = "_anim_sunder" sequence_name = "sunder" activity_name = "ACT_DOTA_CAST_ABILITY_4" default = "scripts/workshop_import_templates/default_content/terrorblade/demon_sunder.dmx" }, { id = "animation_die" name = "#DOTA_Workshop_Animation_Die" suffix = "_anim_die" sequence_name = "die" activity_name = "ACT_DOTA_DIE" default = "scripts/workshop_import_templates/default_content/terrorblade/demon_death.dmx" }, { id = "animation_idle_injured" name = "#DOTA_ItemTest_Animation_IdleInjured" suffix = "_anim_idle_injured" sequence_name = "idle_injured" activity_name = "ACT_DOTA_IDLE" looping = true modifiers = [ { modifier_name = "injured" } ] default = "scripts/workshop_import_templates/default_content/terrorblade/demon_idle_injured.dmx" }, ] anim_bundle_list = [ { id = "idle_anims" name = "#DOTA_Workshop_Animation_Idle" bundle_type = "loop_and_rare" anim_list = [ { id = "passive_anim_loop" 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/terrorblade/demon_idle.dmx" }, { id = "passive_anim_rare" 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" name = "#DOTA_Workshop_Animation_PortraitIdle" suffix = "_portrait_idle" sequence_name = "portrait_idle" activity_name = "ACT_DOTA_CAPTURE" looping = true optional = true }, { id = "passive_anim_rare" name = "#DOTA_Workshop_Animation_PortraitRare" suffix = "_portrait_idle_alt" sequence_name = "portrait_idle_alt" activity_name = "ACT_DOTA_CAPTURE_RARE" optional = true }, ] }, { id = "run_anims" name = "#DOTA_Workshop_Animation_Run" bundle_type = "run_anim_bundle" compound_sequence_name = "turns" anim_list = [ { id = "run_anim_base" name = "#DOTA_Workshop_Animation_Run" suffix = "_run" sequence_name = "run" activity_name = "ACT_DOTA_RUN" looping = true suppress_run_motion_extraction = true default = "scripts/workshop_import_templates/default_content/terrorblade/demon_runcycle.dmx" }, { id = "run_anim_base3" name = "#DOTA_Workshop_Animation_RunInjured" suffix = "_run_injured" sequence_name = "run_injured" activity_name = "ACT_DOTA_RUN" modifiers = [ { modifier_name = "injured" modifier_weight = 1 } ] looping = true suppress_run_motion_extraction = true default = "scripts/workshop_import_templates/default_content/terrorblade/demon_runcycle_injured.dmx" }, { id = "run_anim_turnpose_center" name = "#DOTA_ItemTest_Animation_TurnPoseCenter" desc = "#DOTA_Workshop_Animation_TurnPoseCenter_Desc" suffix = "_turn_center" sequence_name = "turn_center" optional = true default = "scripts/workshop_import_templates/default_content/terrorblade/demon_turn_center.dmx" }, { id = "run_anim_turnpose_left" name = "#DOTA_ItemTest_Animation_TurnPoseLeft" desc = "#DOTA_Workshop_Animation_TurnPoseLeft_Desc" suffix = "_turn_left" sequence_name = "turn_left" optional = true default = "scripts/workshop_import_templates/default_content/terrorblade/demon_turn_left.dmx" }, { id = "run_anim_turnpose_right" name = "#DOTA_ItemTest_Animation_TurnPoseRight" desc = "#DOTA_Workshop_Animation_TurnPoseRight_Desc" suffix = "_turn_right" sequence_name = "turn_right" optional = true default = "scripts/workshop_import_templates/default_content/terrorblade/demon_turn_right.dmx" }, ] }, ] attach_list = [ { id = "attachment_hitlocation" name = "#DOTA_Workshop_Attachment_HitLocation" desc = "#DOTA_Workshop_Attachment_HitLocation_Autofill_Desc" attach_name = "attach_hitloc" attach_joint = "Spine1_JNT" }, { id = "attachment_attack1" name = "#DOTA_Workshop_Attachment_AttackPoint" desc = "#DOTA_Workshop_Attachment_AttackPoint_Autofill_Desc" attach_name = "attach_attack1" attach_joint = "RightMiddleFng0_JNT" }, { id = "attachment_attack2" name = "#DOTA_Workshop_Attachment_AttackPoint2" desc = "#DOTA_Workshop_Attachment_AttackPoint2_Autofill_Desc" attach_name = "attach_attack2" attach_joint = "LeftMiddleFng0_JNT" }, { id = "attachment_eye_r" name = "#DOTA_ItemTest_Attachment_GenericRightEye" desc = "#DOTA_Workshop_Attachment_Eye_Autofill_Desc" attach_name = "attach_eye_r" attach_joint = "Head0_JNT" default_offset = [ 3.6, 10.7, -5.0 ] default_rotation = [ 00.0, 90.0, 90.0 ] }, { id = "attachment_eye_l" name = "#DOTA_ItemTest_Attachment_GenericLeftEye" attach_name = "attach_eye_l" attach_joint = "Head0_JNT" default_offset = [ 3.6, 10.7, 5.0 ] default_rotation = [ 00.0, 90.0, 90.0 ] }, { id = "attachment_mouth" name = "#DOTA_Workshop_Attachment_Mouth" desc = "#DOTA_Workshop_Attachment_Mouth_Autofill_Desc" attach_name = "attach_mouth" attach_joint = "Head0_JNT" default_offset = [ -5.0, 15.0, 0.0 ] default_rotation = [ 00.0, 90.0, 90.0 ] }, { id = "attachment_wing_l1" name = "#DOTA_Workshop_Attachment_Wing_Left" desc = "#DOTA_Workshop_Attachment_Wing_Particle_Autofill_Desc" attach_name = "attach_wing_l1" attach_joint = "LeftWing0_JNT" }, { id = "attachment_wing_l2" name = "#DOTA_Workshop_Attachment_Wing_Left2" attach_name = "attach_wing_l2" attach_joint = "LeftWing1_JNT" default_offset = [ 20.0, 10.0, 0.0 ] default_rotation = [ -30.0, 110.0, 180.0 ] }, { id = "attachment_wing_l3" name = "#DOTA_Workshop_Attachment_Wing_Left3" attach_name = "attach_wing_l3" attach_joint = "LeftWingEnd_JNT" }, { id = "attachment_wing_r1" name = "#DOTA_Workshop_Attachment_Wing_Right" attach_name = "attach_wing_r1" attach_joint = "RightWing0_JNT" }, { id = "attachment_wing_r2" name = "#DOTA_Workshop_Attachment_Wing_Right2" attach_name = "attach_wing_r2" attach_joint = "RightWing1_JNT" default_offset = [ -20.0, -10.0, 0.0 ] default_rotation = [ 30.0, -70.0, 0.0 ] }, { id = "attachment_wing_r3" name = "#DOTA_Workshop_Attachment_Wing_Right3" attach_name = "attach_wing_r3" attach_joint = "RightWingEnd_JNT" }, ] hitbox_list = [ { set_name = "select_low" box_name = "Root0_JNT" bone_name = "Root0_JNT" min_bounds = [ -129.486, -82.3568, -94.436 ] max_bounds = [ 113.543, 46.3669, 94.436 ] }, { set_name = "select_high" box_name = "Root0_JNT" bone_name = "Root0_JNT" min_bounds = [ -56.3675, -25.3695, -35.8278 ] max_bounds = [ 17.3355, 33.4302, 35.8278 ] }, { set_name = "select_high" box_name = "Spine1_JNT" bone_name = "Spine1_JNT" min_bounds = [ -14.9672, -20.7746, -32.8624 ] max_bounds = [ 47.9063, 30.4769, 32.8624 ] }, { set_name = "select_high" box_name = "Neck0_JNT" bone_name = "Neck0_JNT" min_bounds = [ 0.604717, -12.5919, -15.2862 ] max_bounds = [ 37.7656, 15.5316, 15.2862 ] }, { set_name = "feet" box_name = "LeftLeg2_JNT" bone_name = "LeftLeg2_JNT" min_bounds = [ -6.95522, -17.0509, -12.7253 ] max_bounds = [ 40.3209, 23.3134, 13.3761 ] }, { set_name = "feet" box_name = "RightLeg2_JNT" bone_name = "RightLeg2_JNT" min_bounds = [ -40.3209, -23.3134, -13.3761 ] max_bounds = [ 6.95518, 17.0509, 12.7253 ] }, { set_name = "head" box_name = "head" bone_name = "head" min_bounds = [ 0.604717, -12.5919, -15.2862 ] max_bounds = [ 37.7656, 15.5316, 15.2862 ] }, { set_name = "hands" box_name = "LeftArm3_JNT" bone_name = "LeftArm3_JNT" min_bounds = [ 3.84903, -17.5474, -7.2628 ] max_bounds = [ 46.5357, 11.8794, 26.9084 ] }, { set_name = "hands" box_name = "RightArm3_JNT" bone_name = "RightArm3_JNT" min_bounds = [ -46.536, -11.8794, -26.9085 ] max_bounds = [ -3.84925, 17.5474, 7.2627 ] }, ] }, ] item_defs = [ { hero_name = "npc_dota_hero_terrorblade" loadout_slot = "ability3" prefab_type = "wearable" has_portrait = true visuals = [ { type = "hero_model_change" asset_expr = "models/heroes/terrorblade/demon.vmdl" modifier_expr = "$(model_terrorblade_demon:vmdl_name)" } ] } ] }