"Tutorial_Lessons" { "Version" "1" ///////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////// // LAST HIT / DENY TRAINING ///////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////// "lasthit_training" // Wait here until we are ready to do actual setup { "advance_time" "0" "advance_event" "player_joined" "next_lesson" "lasthit_training_setup" } "lasthit_training_setup" { "convars" { // Delay start to buy and choose lane "dota_tutorial_prevent_start" "1" "sv_pausable" "1" // Camera setup "dota_endgame_cinematic_disable" "1" // Tuturial bot setup "dota_tutorial_percent_damage_decrease" "0" "dota_tutorial_percent_bot_exp_decrease" "0" "dota_tutorial_prevent_exp_gain" "0" "dota_bot_mode" "1" "dota_bot_disable" "0" "dota_tutorial_disable_bot_situational_items" "1" "dota_tutorial_force_bot_defend" "1" // Enable only the middle lane "dota_disable_top_lane" "1" "dota_disable_bot_lane" "1" "dota_disable_mid_lane" "0" // Tutorial environment setup "dota_tutorial_state_change_delay" "0" "dota_tutorial_show_tower_damage" "1" "dota_companion_enable" "0" "sf_loadout_tutorial_enable" "1" "dota_tutorial_log_hero" "1" "dota_tutorial_roquelaire_useperches" "1" // Shop "dota_player_auto_purchase_items" "0" "dota_tutorial_shop_override" "0" "dota_tutorial_disable_suggested_items" "0" } "advance_time" "0.0" "advance_event" "lesson_started" "next_lesson" "lasthit_training_pick_player" } "lasthit_training_pick_player" { "player_team" "good" "advance_event" "enter_pre_game" "advance_time" "0.0" "next_lesson" "lasthit_training_intro" } "lasthit_training_intro" { "fade_to" "0" "activate_permanent_glyph" "1" // minions attack towers, but can't kill them "give_courier" "1" "trigger_logic_relay" "training_lasthit_enable" // enable map logic "advance_event" "lesson_started" "advance_time" "0.0" "next_lesson" "lasthit_training_start_game" } "lasthit_training_start_game" { //"add_bot_with_settings" //{ //"hero" "last_hit_challenge_rival" //"team" "bad" //"force_lane" "mid" //"difficulty" "easy" //} "player_movement_allowed" "0" "force_game_start" "1" "activate_lasthit_helper" "1" //"lasthit_ui_mode" "2" "trigger_logic_relay" "roquelaire_spawn" "advance_event" "lesson_started" "advance_time" "0" "next_lesson" "lasthit_training_start_explanation1" } "lasthit_training_start_explanation1" { "setcamera_to_follow" "ss_roquelaire" "npc_speech" { "text" "#DOTA_Tutorial_LastHit_StartExplanation1" "npc" "ss_roquelaire" "allow_movement" "1" } "advance_event" "lesson_started" "advance_time" "10" "next_lesson" "lasthit_training_start_explanation2" } "lasthit_training_start_explanation2" { "npc_speech" { "text" "#DOTA_Tutorial_LastHit_StartExplanation2" "npc" "ss_roquelaire" "allow_movement" "1" } "advance_event" "lesson_started" "advance_time" "10" "next_lesson" "lasthit_training_start_explanation3" } "lasthit_training_start_explanation3" { "npc_speech" { "text" "#DOTA_Tutorial_LastHit_StartExplanation3" "npc" "ss_roquelaire" "allow_movement" "1" } "quest" { "name" "quest_lasthits" "type" "2" // 0 = point, 1 = gold, 2 = sword, 3 = shield "title" "#DOTA_Quest_LastHits" "subquest_player_stat" { "player_stat_type" "last_hits" "player_stat_value" "15" } } "quest" { "name" "quest_lasthits_pt1" "type" "2" // 0 = point, 1 = gold, 2 = sword, 3 = shield "subquest_player_stat" { "player_stat_type" "last_hits" "player_stat_value" "5" } } "quest" { "name" "quest_lasthits_pt2" "type" "2" // 0 = point, 1 = gold, 2 = sword, 3 = shield "subquest_player_stat" { "player_stat_type" "last_hits" "player_stat_value" "10" } } "advance_event" "lesson_started" "advance_time" "10" "next_lesson" "lasthit_waitforplayer" } "lasthit_waitforplayer" // wait for player to arrive at mid { "convars" { "dota_tutorial_roquelaire_useperches" "0" } "stop_npc_speech" "ss_roquelaire" "player_movement_allowed" "1" "movecamera_to" "!player" "trigger_logic_relay" "training_lasthit_roqmove" "advance_event" "lasthit_event_player_arrived" "next_lesson" "lasthit_training_lasthits_quest1" } "lasthit_training_lasthits_quest1" { "npc_speech" { "text" "#DOTA_Tutorial_LastHit_LastHits1" "npc" "ss_roquelaire" "allow_movement" "1" } "advance_on_quest" "quest_lasthits_pt1" "next_lesson" "lasthit_training_lasthits_quest2" } "lasthit_training_lasthits_quest2" { "npc_speech" { "text" "#DOTA_Tutorial_LastHit_LastHits2" "npc" "ss_roquelaire" "allow_movement" "1" } "advance_on_quest" "quest_lasthits_pt2" "next_lesson" "lasthit_training_lasthits_quest3" } "lasthit_training_lasthits_quest3" { "npc_speech" { "text" "#DOTA_Tutorial_LastHit_LastHits3" "npc" "ss_roquelaire" "allow_movement" "1" } "advance_on_quest" "quest_lasthits" "next_lesson" "lasthit_training_denies_explanation_setup" } "lasthit_training_denies_explanation_setup" { "convars" { "dota_disable_mid_lane" "1" } "ping_minimap" { "delay" "0" "entity_name" "tgt_midlane_explanation_moveto" "repeat" "10" } "npc_speech" { "text" "#DOTA_Tutorial_LastHit_DenyExplanationSetup" "npc" "ss_roquelaire" "allow_movement" "1" } "murder_all_creeps" "1" "task_move_location" "tgt_midlane_explanation_moveto" "advance_time" "0.0" "advance_event" "task_completed" "next_lesson" "lasthit_training_denies_explanation1" } "lasthit_training_denies_explanation1" { "player_movement_allowed" "0" "ping_minimap_stop" "1" "setcamera_to_follow" "ss_roquelaire" "convars" { "dota_disable_mid_lane" "0" } "npc_speech" { "text" "#DOTA_Tutorial_LastHit_DenyExplanation1" "npc" "ss_roquelaire" "allow_movement" "0" } "advance_event" "lesson_started" "advance_time" "8" "next_lesson" "lasthit_training_denies_explanation2" } "lasthit_training_denies_explanation2" { "npc_speech" { "text" "#DOTA_Tutorial_LastHit_DenyExplanation2" "npc" "ss_roquelaire" "allow_movement" "1" } "advance_event" "lesson_started" "advance_time" "8" "next_lesson" "lasthit_training_denies_explanation3" } "lasthit_training_denies_explanation3" { "npc_speech" { "text" "#DOTA_Tutorial_LastHit_DenyExplanation3" "npc" "ss_roquelaire" "allow_movement" "1" } "quest" { "name" "quest_denies" "type" "2" // 0 = point, 1 = gold, 2 = sword, 3 = shield "title" "#DOTA_Quest_Denies" "subquest_player_stat" { "player_stat_type" "denies" "player_stat_value" "3" "dont_count_current_value" "1" } } "advance_event" "lesson_started" "advance_time" "8" "next_lesson" "lasthit_training_denies_quest" } "lasthit_training_denies_quest" { "player_movement_allowed" "1" "movecamera_to" "!player" "npc_speech" { "text" "#DOTA_Tutorial_LastHit_Denies" "npc" "ss_roquelaire" "allow_movement" "1" } "activate_deny_helper" "1" "advance_on_quest" "quest_denies" "next_lesson" "lasthit_training_end" } "lasthit_training_end" { "player_movement_allowed" "0" "setcamera_to_follow" "ss_roquelaire" "npc_speech" { "text" "#DOTA_Tutorial_LastHit_End" "npc" "ss_roquelaire" } "advance_event" "lesson_started" "advance_time" "7" "next_lesson" "lasthit_training_really_end" } "lasthit_training_really_end" { "stop_npc_speech" "ss_roquelaire" "fade_to" "255" "finish_text" "#DOTA_LastHitTraining_Finished" "finish_tutorial" "1" } }