// KZ Mapping API Version 2 // WIP. final version will likely be bumped up to 3. @OverrideClass = trigger_multiple [ timer_trigger_type(choices) : "KZ | Trigger Type" : "0" : "The type of KZ trigger." = [ 0 : "Disabled" 1 : "Modifiers" 2 : "Reset Checkpoints" 3 : "Single bhop reset" 4 : "Anti Bhop" 5 : "Start Zone" 6 : "End Zone" 7 : "Split Zone" 8 : "Checkpoint Zone" 9 : "Stage Zone" 10 : "General Teleport" 11 : "Multi Bhop" 12 : "Single Bhop" 13 : "Sequential Bhop" 14 : "Push" ] // KZ Modifiers timer_modifier_disable_pause(boolean) {group="KZ | Modifiers" enabled={variable="timer_trigger_type" value="1"}} : "Disable Pausing" : 0 : "Disable pausing when the player is touching this trigger" timer_modifier_disable_checkpoints(boolean) {group="KZ | Modifiers" enabled={variable="timer_trigger_type" value="1"}} : "Disable Checkpoints" : 0 : "Disable checkpoints when the player is touching this trigger" timer_modifier_disable_teleports(boolean) {group="KZ | Modifiers" enabled={variable="timer_trigger_type" value="1"}} : "Disable Teleports" : 0 : "Disable teleporting when the player is touching this trigger" timer_modifier_disable_jumpstats(boolean) {group="KZ | Modifiers" enabled={variable="timer_trigger_type" value="1"}} : "Disable Jumpstats" : 0 : "Disable jumpstats when the player is touching this trigger" timer_modifier_enable_slide(boolean) {group="KZ | Modifiers" enabled={variable="timer_trigger_type" value="1"}} : "Enable Slide" : 0 : "Makes every surface surfable, if the player is touching this trigger." timer_modifier_gravity(float) {group="KZ | Modifiers" enabled={variable="timer_trigger_type" value="1"}} : "Player Gravity" : "1.0" : "Scales the player's gravity by this amount." timer_modifier_jump_impulse(float) {group="KZ | Modifiers" enabled={variable="timer_trigger_type" value="1"}} : "Jump Speed Modifier" : "1.0" : "Multiply the player's base jump velocity by this value. This has exponential effect on jump heights, a 2x modifier will give players 4x the jump height." timer_modifier_force_duck(boolean) {group="KZ | Modifiers" enabled={variable="timer_trigger_type" value="1"}} : "Force Ducking" : 0 : "Force ducking when the player is touching this trigger" timer_modifier_force_unduck(boolean) {group="KZ | Modifiers" enabled={variable="timer_trigger_type" value="1"}} : "Force Unducking" : 0 : "Force unducking when the player is touching this trigger" // KZ Anti Bhop timer_anti_bhop_time(float) {group="KZ | Anti Bhop" min="0.0" max="100.0" enabled={variable="timer_trigger_type" value="4"}} : "Time" : "0.2" : "Only works if the Name is timer_anti_bhop. " + "0.0 prevents jumping completely. This is the time for which antibhop will be applied. Time is only counted when the player is on the ground." // KZ Zone timer_zone_course_descriptor(target_destination) {group="KZ | Zone" enabled={variable="timer_trigger_type" values=["5", "6", "7", "8", "9"]}} : "Course Descriptor" : : "info_target_server_only entity that describes this course. Every zone trigger must be associated with a course. Maximum length is 127 characters." // KZ Split Zone timer_zone_split_number(integer) {group="KZ | Zone" min="1" enabled={variable="timer_trigger_type" value="7"}} : "Split Number" : 1 : "Split number. Split numbers must be sequential, starting from 1." // KZ Checkpoint Zone timer_zone_checkpoint_number(integer) {group="KZ | Zone" min="1" enabled={variable="timer_trigger_type" value="8"}} : "Checkpoint Number" : 1 : "Checkpoint number. Checkpoint numbers must be sequential, starting from 1." // KZ Stage Zone timer_zone_stage_number(integer) {group="KZ | Zone" min="1" enabled={variable="timer_trigger_type" value="9"}} : "Stage Number" : 1 : "Stage number. Stage numbers must be sequential, starting from 1." // KZ Teleport timer_teleport_destination(target_destination) {group="KZ | Teleport" enabled={variable="timer_trigger_type" values=["10", "11", "12", "13"]}} : "Destination" : : "The entity to which the player should be teleported. Using special targetnames starting with ! won't work. (!activator, !player etc) Maximum length is 127 characters." timer_teleport_delay(float) {group="KZ | Teleport" min="0.0" max="100.0" enabled={variable="timer_trigger_type" values=["10", "11", "12", "13"]}} : "Delay" : "0.0" : "This is how long the player can stay in the trigger. If it's one of the bhop triggers, then this means how long the player can stay on ground. For only bhop triggers the minimum delay is 0.1 seconds." timer_teleport_use_dest_angles(boolean) {group="KZ | Teleport" enabled={variable="timer_trigger_type" values=["10", "11", "12", "13"]}} : "Use Destination Angles" : 1 : "Whether to set the player's view angles to the destination entity's angles or keep the player's current view angles." timer_teleport_reset_speed(boolean) {group="KZ | Teleport" enabled={variable="timer_trigger_type" values=["10", "11", "12", "13"]}} : "Reset Speed" : 1 : "Whether to reset the player's speed when they get teleported" timer_teleport_reorient_player(boolean) {group="KZ | Teleport" enabled={variable="timer_trigger_type" values=["10", "11", "12", "13"]}} : "Reorient Player" : 0 : "Reorients the player's velocity and view yaw angle by the teleport destination's yaw angle. This overrides the value of 'Use Destination Angles'. This will cause visible lag when the player moves their mouse." timer_teleport_relative(boolean) {group="KZ | Teleport" enabled={variable="timer_trigger_type" values=["10", "11", "12", "13"]}} : "Relative To Trigger Origin" : 0 : "Only works if the Name is timer_teleport. " + "Gets the offset of the player to this trigger, then teleports the player to the destination with that offset added. If 'Reorient Player' is enabled, then the offset is rotated by the destination entity's yaw." // KZ Push timer_push_amount(vector) {group="KZ | Push" enabled={variable="timer_trigger_type" values=["14"]}} : "Push Amount" : "0 0 0" : "Push the player by this amount." timer_push_condition_start_touch(boolean) {group="KZ | Push" enabled={variable="timer_trigger_type" values=["14"]}} : "Push on Start Touch" : 0 : "Push the player upon trigger start touch." timer_push_condition_touch(boolean) {group="KZ | Push" enabled={variable="timer_trigger_type" values=["14"]}} : "Push on Touch" : 0 : "Push the player upon trigger touch." timer_push_condition_end_touch(boolean) {group="KZ | Push" enabled={variable="timer_trigger_type" values=["14"]}} : "Push on End Touch" : 0 : "Push the player upon trigger end touch." timer_push_condition_jump_event(boolean) {group="KZ | Push" enabled={variable="timer_trigger_type" values=["14"]}} : "Push on Jump Event" : 1 : "Push the player upon jump event." timer_push_condition_jump_button(boolean) {group="KZ | Push" enabled={variable="timer_trigger_type" values=["14"]}} : "Push on Jump Button" : 0 : "Push the player upon jump button press." timer_push_condition_attack(boolean) {group="KZ | Push" enabled={variable="timer_trigger_type" values=["14"]}} : "Push on Attack" : 0 : "Push the player upon player attack (primary)." timer_push_condition_attack2(boolean) {group="KZ | Push" enabled={variable="timer_trigger_type" values=["14"]}} : "Push on Attack 2" : 0 : "Push the player upon player attack (secondary)." timer_push_condition_use(boolean) {group="KZ | Push" enabled={variable="timer_trigger_type" values=["14"]}} : "Push on Use" : 0 : "Push the player upon player use." timer_push_abs_speed_x(boolean) {group="KZ | Push" enabled={variable="timer_trigger_type" values=["14"]}} : "Set Player X Speed" : 0 : "Whether to set the player's X speed to the specified value instead of adding to it." timer_push_abs_speed_y(boolean) {group="KZ | Push" enabled={variable="timer_trigger_type" values=["14"]}} : "Set Player Y Speed" : 0 : "Whether to set the player's Y speed to the specified value instead of adding to it." timer_push_abs_speed_z(boolean) {group="KZ | Push" enabled={variable="timer_trigger_type" values=["14"]}} : "Set Player Z Speed" : 0 : "Whether to set the player's Z speed to the specified value instead of adding to it." timer_push_cancel_on_teleport(boolean) {group="KZ | Push" enabled={variable="timer_trigger_type" values=["14"]}} : "Cancel on teleport" : 1 : "Remove the push from this trigger if the player is teleported." timer_push_cooldown(float) {group="KZ | Push" min="0.0" max="100.0" enabled={variable="timer_trigger_type" values=["14"]}} : "Push Cooldown" : "0.1" : "This is how long the player has to wait before they can be pushed again by this trigger." timer_push_delay(float) {group="KZ | Push" min="0.0" max="5.0" enabled={variable="timer_trigger_type" values=["14"]}} : "Push Delay" : "0.0" : "Delay the push by this long." ] @OverrideClass = info_target_server_only [ timer_course_descriptor(boolean) : "KZ | Is Course Descriptor" : 0 : "Mark this info_target_server_only as a course descriptor." // KZ Course Descriptor timer_course_name(string) {group="KZ | Course Descriptor" enabled={variable="timer_course_descriptor" value="1"}} : "Course Name" : : "The name of the course. Every zone trigger must be associated with a course name, which can be a maximum of 64 bytes long (non-english characters take up more bytes)." timer_course_disable_checkpoint(boolean) {group="KZ | Course Descriptor" enabled={variable="timer_course_descriptor" value="1"}} : "Disable Checkpoints" : 0 : "Disable setting checkpoints in this course." timer_course_number(integer) {group="KZ | Course Descriptor" min="1" enabled={variable="timer_course_descriptor" value="1"}} : "Course Number" : 1 : "Course number to uniquely identify this course." ] @OverrideClass = worldspawn [ timer_mapping_api_version(integer) {min="2" max="2"} : "KZ | Mapping API Version" : 2 : "When the fgd changes with a Mapping API update and you update the fgd, then you have to change this parameter in hammer to the correct version (written at the top of the new fgd) on every map you use it on!" ] @OverrideClass = info_teleport_destination [ timer_zone_course_descriptor(target_destination) : "KZ | Course Descriptor" : : "info_target_server_only entity that describes which course this teleport destination is connected to." ] // team_select_camera entity @PathClass base(map_preview_camera_path, point_camera_vertical_fov) = team_select_camera [ variant(integer): "Variant" rendercolor(remove_key) ] // team_select_counterterrorist entity @PointClass base(RenderFields) studio("agents/models/ctm_sas/ctm_sas.vmdl") metadata { class_game_keys = [ { key = "team_preview_variant" value = "1" }, { key = "variant" value = 1 }, { key = "animgraph" value = "characters/models/shared/animgraphs/ui_player_ct.vanmgrph" }, { key = "character_mode" value = "team-select" }, { key = "CT_true" value = "true" }, ] } = team_select_counterterrorist : "A model entity that can be used for characters in ui maps." [ ordinal(integer): "Ordinal" weapon(string): "Classname of item to equip" : "" : "Should be corresponding to ordinal:\n1 - weapon_awp\n2 - weapon_m4a1\n3 - weapon_knife\n4 - weapon_mp7\n5 - weapon_deagle\n6 - weapon_knife\n7 - weapon_m4a1_silencer\n8 - weapon_elite\n9 - weapon_negev\n10 - weapon_mp7" team_preview_position(choices) : "Team preview position" : "" : "" = [ "1" : "1" "2" : "2" "3" : "3" "4" : "4" "5" : "5" "other" : "Other" ] ] // team_select_terrorist entity @PointClass base(RenderFields) studio("agents/models/tm_phoenix/tm_phoenix.vmdl") metadata { class_game_keys = [ { key = "team_preview_variant" value = "1" }, { key = "variant" value = 1 }, { key = "animgraph" value = "characters/models/shared/animgraphs/ui_player_t.vanmgrph" }, { key = "character_mode" value = "team-select" }, { key = "CT_true" value = "false" }, ] } = team_select_terrorist : "A model entity that can be used for characters in ui maps." [ ordinal(integer): "Ordinal" weapon(string): "Classname of item to equip" : "" : "Should be corresponding to ordinal:\n1 - weapon_knife\n2 - weapon_awp\n3 - weapon_ak47\n4 - weapon_xm1014\n5 - weapon_deagle\n6 - weapon_knife\n7 - weapon_elite\n8 - weapon_deagle\n9 - weapon_ak47\n10 - weapon_xm1014" team_preview_position(choices) : "Team preview position" : "" : "" = [ "1" : "1" "2" : "2" "3" : "3" "4" : "4" "5" : "5" "other" : "Other" ] ] // point_prefab entity @PointClass base(Targetname) editormodel("models/editor/info_target", nobounds ) = point_prefab : "An entity used to place prefabs in the world." [ targetMapName(string) : "Map Name" forceWorldGroupID(string) : "WorldGroupID" fixupNames(boolean) : "Fixup Entity Names" : 0 prefab_load_dynamic(boolean) : "Load Dynamically" : 1 prefab_associated_relay(string) : "Associated Relay" ]