// Source Development Kit for Counter-Strike: Source // Author: Igor Potapov (CS:S nickname - IgI [29 RUS]) // Mail: 0-255@bk.ru // =================================================== // filename: CSSSDK.fgd // 1. Place this file into your // /SteamApps//SourceSDK/bin/cstrike/ // or // //bin/ // 2. Start the Hammer and go to // Main menu > Tools > Options... > Game Configurations Tab // 3. Remove any FGD-files from "Game Data files:" field and // add one only CSSSDK.fgd to that. // 4. Press OK // =================================================== //////////////////////////////////////////////////////////////////////////////// // // ALL ENTITY LIST (Count = 258) // //////////////////////////////////////////////////////////////////////////////// // ai_changetarget // ambient_generic // ammo_338mag // ammo_357sig // ammo_45acp // ammo_50AE // ammo_556mm // ammo_556mm_box // ammo_57mm // ammo_762mm // ammo_9mm // ammo_buckshot // color_correction // color_correction_volume // cycler // env_beam // env_beverage // env_blood // env_bubbles // env_cubemap // env_detail_controller // env_dustpuff // env_effectscript // env_embers // env_entity_dissolver // env_entity_igniter // env_entity_maker // env_explosion // env_fade // env_fire // env_firesensor // env_firesource // env_fog_controller // env_global // env_gunfire // env_hudhint // env_laser // env_lightglow // env_microphone // env_muzzleflash // env_particlelight // env_particlescript // env_physexplosion // env_physimpact // env_player_surface_trigger // env_screenoverlay // env_shake // env_shooter // env_smokestack // env_soundscape // env_soundscape_proxy // env_soundscape_triggerable // env_spark // env_splash // env_sprite // env_spritetrail // env_steam // env_sun // env_terrainmorph // env_texturetoggle // env_tonemap_controller // env_wind // filter_activator_class // filter_activator_name // filter_activator_team // filter_damage_type // filter_multi // func_areaportal // func_areaportalwindow // func_bomb_target // func_breakable // func_breakable_surf // func_brush // func_button // func_buyzone // func_clip_vphysics // func_conveyor // func_detail // func_door // func_door_rotating // func_dustcloud // func_dustmotes // func_fish_pool // func_hostage_rescue // func_illusionary // func_ladder // func_lod // func_monitor // func_movelinear // func_occluder // func_physbox // func_physbox_multiplayer // func_plat // func_platrot // func_precipitation // func_pushable // func_rot_button // func_rotating // func_smokevolume // func_tanktrain // func_tracktrain // func_traincontrols // func_wall // func_wall_toggle // func_water_analog // func_weight_button // game_end // game_player_equip // game_ragdoll_manager // game_score // game_text // game_ui // game_weapon_manager // game_zone_player // gibshooter // hostage_entity // info_camera_link // info_landmark // info_lighting // info_map_parameters // info_mass_center // info_no_dynamic_shadow // info_null // info_overlay // info_overlay_transition // info_player_counterterrorist // info_player_logo // info_player_start // info_player_terrorist // info_target // info_teleport_destination // infodecal // item_assaultsuit // item_defuser // item_kevlar // item_nvgs // item_sodacan // keyframe_rope // light // light_dynamic // light_environment // light_spot // logic_auto // logic_branch // logic_branch_listener // logic_case // logic_collision_pair // logic_compare // logic_lineto // logic_measure_movement // logic_multicompare // logic_relay // logic_timer // material_modify_control // math_colorblend // math_counter // math_remap // momentary_rot_button // move_rope // multisource // path_track // phys_ballsocket // phys_constraint // phys_constraintsystem // phys_convert // phys_hinge // phys_keepupright // phys_lengthconstraint // phys_magnet // phys_motor // phys_pulleyconstraint // phys_ragdollconstraint // phys_ragdollmagnet // phys_slideconstraint // phys_spring // phys_thruster // phys_torque // player_speedmod // player_weaponstrip // point_anglesensor // point_angularvelocitysensor // point_camera // point_clientcommand // point_devshot_camera // point_enable_motion_fixup // point_hurt // point_playermoveconstraint // point_proximity_sensor // point_push // point_servercommand // point_spotlight // point_surroundtest // point_teleport // point_template // point_tesla // point_viewcontrol // prop_detail // prop_door_rotating // prop_dynamic // prop_dynamic_ornament // prop_dynamic_override // prop_physics // prop_physics_multiplayer // prop_physics_override // prop_ragdoll // prop_sphere // prop_static // shadow_control // sky_camera // spark_shower // target_changegravity // test_effect // test_traceline // trigger_brush // trigger_gravity // trigger_hurt // trigger_impact // trigger_look // trigger_multiple // trigger_once // trigger_playermovement // trigger_proximity // trigger_push // trigger_remove // trigger_soundscape // trigger_teleport // trigger_vphysics_motion // trigger_wind // water_lod_control // weapon_ak47 // weapon_aug // weapon_awp // weapon_c4 // weapon_deagle // weapon_elite // weapon_famas // weapon_fiveseven // weapon_flashbang // weapon_g3sg1 // weapon_galil // weapon_glock // weapon_hegrenade // weapon_knife // weapon_m249 // weapon_m3 // weapon_m4a1 // weapon_mac10 // weapon_mp5navy // weapon_p228 // weapon_p90 // weapon_scout // weapon_sg550 // weapon_sg552 // weapon_smokegrenade // weapon_tmp // weapon_ump45 // weapon_usp // weapon_xm1014 //////////////////////////////////////////////////////////////////////////////// // // BASE NAMES // //////////////////////////////////////////////////////////////////////////////// @BaseClass = MyTargetName1 [ targetname(target_source) : "Name" : "" : "The name by which other entities refer to this one." ] @BaseClass base(MyTargetName1) = MyTargetName2 [ input AddOutput(string) : "Adds an entity I/O connection to this entity. Format: ::::. Very dangerous, use with care." input FireUser1(void) : "Causes this entity's OnUser1 output to be fired." input FireUser2(void) : "Causes this entity's OnUser2 output to be fired." input FireUser3(void) : "Causes this entity's OnUser3 output to be fired." input FireUser4(void) : "Causes this entity's OnUser4 output to be fired." output OnUser1(void) : "Fired in response to FireUser1 input." output OnUser2(void) : "Fired in response to FireUser2 input." output OnUser3(void) : "Fired in response to FireUser3 input." output OnUser4(void) : "Fired in response to FireUser4 input." ] @BaseClass base(MyTargetName2) = MyTargetName3 [ input Kill(void) : "Removes this entity from the world." input KillHierarchy(void) : "Removes this entity and all its children from the world." ] //////////////////////////////////////////////////////////////////////////////// // // BASE PARENTS // //////////////////////////////////////////////////////////////////////////////// @BaseClass = MyParentName1 [ parentname(target_destination) : "Parent" : "" : "The name of this entity's parent in the movement hierarchy. Entities with parents move with their parent." ] @BaseClass base(MyParentName1) = MyParentName2 [ input SetParent(string) : "Changes the entity's parent in the movement hierarchy." input SetParentAttachment(string) : "Change this entity to attach to a specific attachment point on its parent. Entities must be parented before being sent this input. The parameter passed in should be the name of the attachment." input SetParentAttachmentMaintainOffset(string) : "Change this entity to attach to a specific attachment point on it's parent. Entities must be parented before being sent this input. The parameter passed in should be the name of the attachment. The entity will maintain it's position relative to the parent at the time it is attached." input ClearParent(void) : "Removes this entity from the the movement hierarchy, leaving it free to move independently." ] //////////////////////////////////////////////////////////////////////////////// // // BASE TEAMS // //////////////////////////////////////////////////////////////////////////////// @BaseClass = MyTeamNum1 [ teamnum(choices) : "Team Num" : "" : "Choice the entity's team. If the player and this entity in a same team, this player can't to attack this entity, and this entity can't to attack this player when mp_friendlyfire is 0. See also filter_activator_team." = [ "" : "None" 2 : "Terrorist" 3 : "Counter-Terrorist" ] input SetTeam(integer) : "Changes the entity's team. See filter_activator_team." ] //////////////////////////////////////////////////////////////////////////////// // // BASE MASTER // //////////////////////////////////////////////////////////////////////////////// @BaseClass = MyMaster1 [ master(target_destination) : "Master" : "" : "The name of a multisource entity. If the master has not been activated, this entity cannot be used." ] //////////////////////////////////////////////////////////////////////////////// // // BASE ANGLES // //////////////////////////////////////////////////////////////////////////////// @BaseClass = MyAnglesTarget [ target(target_destination) : "Entity to Point at" : "" : "The name of an entity in the map that the entity will point at." ] @BaseClass = MyAngles1 [ angles(angle) : "Pitch Yaw Roll (Y Z X)" : "0 0 0" : "This entity's orientation in the world. Pitch is rotation around the Y axis, " + "Yaw is the rotation around the Z axis, Roll is the rotation around the X axis. Also it can be direction of moves, forces etc." ] @BaseClass = MyAngles2 [ angles(string) readonly : "Angles Fix (Read-Only)" ] //////////////////////////////////////////////////////////////////////////////// // // BASE ORIGIN // //////////////////////////////////////////////////////////////////////////////// @BaseClass = MyOrigin1 [ origin(origin) : "Origin (X Y Z)" : "" : "The position of this entity's center in the world. Rotating entities typically rotate around their origin." ] //////////////////////////////////////////////////////////////////////////////// // // BASE ENABLE/DISABLE // //////////////////////////////////////////////////////////////////////////////// @BaseClass = MyEnableDisable1 [ input Enable(void) : "Enable this entity." input Disable(void) : "Disable this entity." ] @BaseClass = MyEnableDisable2_ [ StartDisabled(choices) : "Start Disabled" : 0 = [ 0 : "No" 1 : "Yes" ] ] @BaseClass base(MyEnableDisable1, MyEnableDisable2_) = MyEnableDisable2 [] @BaseClass = MyEnableDisable3_ [ input Toggle(void) : "Toggles this entity between enabled and disabled states." ] @BaseClass base(MyEnableDisable2, MyEnableDisable3_) = MyEnableDisable3 [] @BaseClass base(MyEnableDisable1, MyEnableDisable3_) = MyEnableDisable4 [] @BaseClass = MyInitialState1 [ input TurnOn(void) : "Turn on this entity." input TurnOff(void) : "Turn off this entity." ] @BaseClass base(MyInitialState1) = MyInitialState2 [ InitialState(choices) : "Initial State" : 0 = [ 0 : "OFF" 1 : "ON" ] ] @BaseClass = MyInitialState3_ [ input Toggle(void) : "Toggles this entity between ON and OFF state." ] @BaseClass base(MyInitialState2, MyInitialState3_) = MyInitialState3 [] @BaseClass base(MyInitialState1, MyInitialState3_) = MyInitialState4 [] //////////////////////////////////////////////////////////////////////////////// // // BASE MODELS // //////////////////////////////////////////////////////////////////////////////// @BaseClass = MyModel1 [ model(studio) : "World Model" : "" : "The model to use for this entity. Must be a valid .MDL somewhere in the mod directory; to specify a model, write 'models/somefolder/mymodel.mdl'. Don't use backslashes, and don't write any directories above 'models'." skin(integer) : "Skin" : 0 : "Some models have multiple versions of their textures, called skins. Set this to a number other than 0 to use that skin instead of the default." ] @BaseClass base(MyModel1) = MyModel2 [ body(integer) : "Body Group" : 0 : "Some models have multiple sub-models, called body groups. Set this to a number other than 0 to use that body group instead of the default. Different body groups can be discerned by using Model Viewer." input Skin(integer) : "Changes the model skin to the specified number." input SetBodyGroup(integer) : "Changes the model's bodygroup to the specified number." ] @BaseClass = MyModelIgnite1 [ input Ignite(void) : "Set the object afire." output OnIgnite(void) : "Fired when this object catches fire." ] @BaseClass = MyModelAnim1 [ DefaultAnim(string) : "Default Animation Name" : "" : "The name of the idle animation that this prop will revert to whenever it finishes a random or forced animation." RandomAnimation(choices) : "Randomly Animate" : 0 : "If set, this prop will randomly choose and play animations, based upon the times specified in 'Min/Max Random Anim Time'. Inbetween the random animations, it will revert to playing the 'Default Animation'." = [ 0 : "No" 1 : "Yes" ] MinAnimTime(float) : "Min Random Anim Time" : "5.0" : "Minimum time between random animations." MaxAnimTime(float) : "Max Random Anim Time" : "10.0" : "Maximum time between random animations." input TurnOn(void) : "Make the prop visible." input TurnOff(void) : "Make the prop invisible." input SetAnimation(string) : "Force the prop to play an animation. The parameter should be the name of the animation." input SetDefaultAnimation(string) : "Set the Default Animation to the one specified in the parameter." output OnAnimationBegun(void) : "Fired whenever a new animation has begun playing." output OnAnimationDone(void) : "Fired whenever an animation is complete." ] //////////////////////////////////////////////////////////////////////////////// // // BASE PHYSICS // //////////////////////////////////////////////////////////////////////////////// @BaseClass = MyPhysInputs1 [ input Wake(void) : "Wake up this physics object, if it is sleeping." input Sleep(void) : "Put this physics object to sleep. It will wake if given the Wake input, or if force is applied to it. Note that physics objects go to sleep automatically after coming to rest for a while, so you don't really need to use this." input EnableMotion(void) : "Enable physics motion/collision response." input DisableMotion(void) : "Disable physics motion/collision response." output OnPlayerUse(void) : "Fired when the player tries to +USE the entity. This output will fire only if the Generate OnPlayerUse on +USE spawnflag is set." output OnMotionEnabled(void) : "Fired when motion is enabled on this entity, either via 'Health Level to Enable Motion' or 'Force Amount to Enable Motion' or from the EnableMotion input." ] @BaseClass base(MyPhysInputs1) = MyPhysInputs2 [ input DisableFloating(void) : "Disable fluid/floating simulation to reduce cost." output OnAwakened(void) : "Fired when this entity becomes awake (collision/force is applied to it while it's asleep)." ] @BaseClass = MyPhysMass1 [ massScale(float) : "Mass Scale" : "1.0" : "A scale multiplier for the object's mass. 0 or 1 = default." ] @BaseClass = MyPhysInertia1 [ inertiaScale(float) : "Inertia Scale" : "1.0" : "Scales the angular mass of an object. Used to hack angular damage and collision response. 0 or 1 = default." ] @BaseClass = MyPhysParams1 [ overridescript(string) : "Physics Override Parameters" : "" : "A list of physics key/value pairs that are usually in a physics prop .qc file. Format is 'key,value,key,value,etc'. "+ " Keys: mass , inertia , damping , rotdamping , drag , surfaceprop " ] @BaseClass = MyPhysDmgScale1 [ physdamagescale(float) : "Physics Impact Damage Scale" : "0.1" : "Scalar for the amount of damage this object takes from physical forces. Lower numbers will decrease damage." input PhysDamageScale(float) : "Set the Physics Impact Damage Scale for this character. NOTE: 0 means this feature is disabled for backwards compatibility." ] //////////////////////////////////////////////////////////////////////////////// // // BASE DAMAGE // //////////////////////////////////////////////////////////////////////////////// @BaseClass = MyDmgBreak1 [ pressuredelay(float) : "Pressure Delay" : "0.0" : "Delay, in seconds, after 'broken' by pressure before breaking." input Break(void) : "Breaks the breakable." input SetHealth(integer) : "Sets a new value for the breakable's health. If the breakable's health reaches zero it will break." input AddHealth(integer) : "Adds health to the breakable. If the breakable's health reaches zero it will break." input RemoveHealth(integer) : "Removes health from the breakable. If the breakable's health reaches zero it will break." output OnBreak(void) : "Fired when this breakable breaks." output OnHealthChanged(float) : "Fired when the health of this breakable changes, passing the new value of health as a percentage of max health, from [0..1]." ] @BaseClass = MyDmgBreak1_ [ ExplodeDamage(float) : "Explosion Damage" : "0.0" : "If non-zero, when this entity breaks it will create an explosion that causes the specified amount of damage. See also 'Explosion Radius'." ExplodeRadius(float) : "Explosion Radius" : "0.0" : "If non-zero, when this entity breaks it will create an explosion with a radius of the specified amount. See also 'Explosion Damage'." PerformanceMode(choices) : "Performance Mode" : 1 : "Used to limit the amount of gibs produced when this entity breaks, for performance reasons." = [ 0 : "Normal" 1 : "No Gibs on Server Side (default)" ] ] @BaseClass base(MyDmgBreak1_, MyDmgBreak1) = MyDmgBreak2 [] @BaseClass = MyDmgConstraint1 [ minhealthdmg(integer) : "Min Damage to Hurt" : 0 : "The entity will ignore any damage events if the damage is less than this amount." ] @BaseClass base(MyDmgConstraint1) = MyDmgConstraint2 [ damagetoenablemotion(integer) : "Health Level to Enable Motion" : 0 : "If specified, this object will start motion disabled. Once its health has dropped below this specified amount, it will enable motion." forcetoenablemotion(float) : "Force Amount to Enable Motion" : "0.0" : "If specified, this object will start motion disabled. Any impact that imparts a force greater than this value will enable motion." ] @BaseClass = MyDmgType1 [ damagetype(choices) : "Damage Type" : 64 : "Damage type. See filter_damage_type." = [ 0 : "GENERIC" 1 : "CRUSH" 5 : "SLASH" 8 : "BURN" 32 : "FALL" 64 : "BLAST" 128 : "CLUB" 1024 : "ENERGYBEAM" 4098 : "BULLET CS:S" 67108864 : "LASER CS:S" 134217792 : "BLAST UNDERWATER CS:S" 268435464 : "SLOWBURN CS:S" ] ] @BaseClass = MyDmgType2 [ damagetype(choices) : "Impact Damage Type" : 0 : "Sharp objects behave like blunt objects, but they deal angular slice damage if they're rotating." = [ 0 : "Blunt (Normal)" 1 : "Sharp" ] ] @BaseClass = MyDmgNoForces1 [ nodamageforces(choices) : "Disable Damage Forces" : 0 : "Used to determine whether or not damage should cause the entity to move." = [ 0 : "No" 1 : "Yes" ] input EnableDamageForces(void) : "Damaging the entity applies physics forces to it." input DisableDamageForces(void) : "Damaging the entity does *not* apply physics forces to it." ] @BaseClass = MyDmgFilter1 [ damagefilter(filterclass) : "Damage Filter" : : "Name of the filter entity (filter_damage_type or filter_multi) that controls which entities can damage us." input SetDamageFilter(string) : "Sets the entity to use as damage filter. See filter_damage_type. Pass in an empty string to clear the damage filter." ] //////////////////////////////////////////////////////////////////////////////// // // BASE FILTERS // //////////////////////////////////////////////////////////////////////////////// @BaseClass = MyFilerName1 [ filtername(filterclass) : "Filter Name" : "" : "Filter to use to see if activator triggers me. See filter_activator_class, filter_activator_name, filter_activator_team, filter_multi." ] //////////////////////////////////////////////////////////////////////////////// // // BASE TRIGGERS // //////////////////////////////////////////////////////////////////////////////// @BaseClass = MyTrigger1 [ input StartTouch(void) : "Test !caller on StartTouch of this trigger." input EndTouch(void) : "Test !caller on EndTouch of this trigger." output OnStartTouch(void) : "Fired when an entity starts touching this trigger. The touching entity must pass this trigger's filters to cause this output to fire." output OnEndTouch(void) : "Fired when an entity stops touching this trigger. Only entities that passed this trigger's filters will cause this output to fire." output OnEndTouchAll(void) : "Fires when an entity stops touching this trigger, and no other entities are touching it. Only entities that passed this trigger's filters are considered." ] @BaseClass base(MyTrigger1) = MyTrigger2 [ spawnflags(flags) = [ 1 : "Clients" : 1 4 : "Pushables (func_pushable only)" : 0 8 : "Physics Objects" : 0 1024 : "Debris (requires Physics Objects)" : 0 64 : "Everything" : 0 ] ] @BaseClass = MyTrigger3 [ output OnTrigger(void) : "Fired whenever the trigger is activated." ] //////////////////////////////////////////////////////////////////////////////// // // BASE RENDER // //////////////////////////////////////////////////////////////////////////////// @BaseClass = MyRenderMode1 [ rendermode(choices) : "Render Mode" : 0 : "Used to set a non-standard rendering mode on this entity." = [ 0 : "Normal" 1 : "Color" 2 : "Texture" 3 : "Glow" 4 : "Solid" 5 : "Additive" 7 : "Additive Fractional Frame" 9 : "World Space Glow" 10 : "Don;t Render" ] ] @BaseClass = MyRenderColor1 [ rendercolor(color255) : "FX Color (R G B)" : "255 255 255" : "The FX Color. Format: ." renderamt(integer) : "FX Alpha (0-255)" : 255 : "The FX Alpha. 0 = fully transparent. 255 = fully opaque." input Color(color255) : "Set the entity's color (R G B)." input Alpha(integer) : "Set the entity's alpha (0-255)." ] @BaseClass base(MyRenderColor1) = MyRenderColor2 [ input ColorRedValue(integer) : "Set Color Red Value (0 - 255)." input ColorGreenValue(integer) : "Set Color Green Value (0 - 255)." input ColorBlueValue(integer) : "Set Color Blue Value (0 - 255)." ] @BaseClass base(MyRenderColor2) = MyRenderColor3 [ HDRColorScale(float) : "HDR Color Scale" : "0.5" : "Float value to multiply sprite color by when running in HDR mode." ] @BaseClass = MyRenderFx1 [ renderfx(choices) : "Render FX" : 0 = [ 0 : "Normal" 1 : "Slow Pulse" 2 : "Fast Pulse" 3 : "Slow Wide Pulse" 4 : "Fast Wide Pulse" 9 : "Slow Strobe" 10 : "Fast Strobe" 11 : "Faster Strobe" 12 : "Slow Flicker" 13 : "Fast Flicker" 5 : "Slow Fade Away" 6 : "Fast Fade Away" 7 : "Slow Become Solid" 8 : "Fast Become Solid" 14 : "Constant Glow" 15 : "Distort" 16 : "Hologram (Distort + fade)" 23 : "Cull By Distance (TEST)" 24 : "Spotlight FX" 26 : "Fade Near" ] ] @BaseClass = MyRenderDisableShadows1 [ disableshadows(choices) : "Disable Shadows" : 0 : "Prevent this entity from casting shadows." = [ 0 : "No" 1 : "Yes" ] input DisableShadow(void) : "Turn dynamic shadow off." input EnableShadow(void) : "Turn dynamic shadow on." ] @BaseClass = MyRenderDisableShadows2 [ shadowcastdist(integer) : "Shadow Cast Distance" : 0 : "Use this to override how far this object casts shadows. 0 = default distance." ] @BaseClass base(MyRenderDisableShadows1,MyRenderDisableShadows2) = MyRenderDisableShadows3 [] @BaseClass = MyRenderSpaceFade1 [ screenspacefade(choices) : "Screen Space Fade" : 0 : "The method by which the fading distance should be determined. If 'No', the fade distances is the distance from the player's view to the object, in units. If 'Yes', the fade distance is the size of the object onscreen, in pixels." = [ 0 : "No" 1 : "Yes" ] ] @BaseClass = MyRenderFade1 [ fademindist(float) : "Fade Start Dist" : "-1.0" : "Distance at which the entity starts to fade (<0 = 'Fade End Dist - 400')." fademaxdist(float) : "Fade End Dist" : "0.0" : "Max fade distance at which the entity is visible (0 = don't fade out)." fadescale(float) : "Fade Scale" : "1.0" : "If you specify a fade in the worldspawn, or if the engine is running under dx7, or the engine will forcibly fade out props even if fademindist/fademaxdist isn't specified." + " This scale factor gives you some control over the fade. Using 0 here turns off the forcible fades." + " Numbers smaller than 1 cause the prop to fade out at further distances, and greater than 1 cause it to fade out at closer distances." input FadeMinDist(float) : "Changes the Fade Start Dist of the entity." input FadeMaxDist(float) : "Changes the Fade End Dist of the entity." ] @BaseClass = MyRenderLightingOrigin1 [ lightingorigin(target_destination) : "Lighting Origin" : "" : "Select an another entity to specify a location to sample lighting from, instead of using this entity's origin." input SetLightingOrigin(string) : "Sets the Lighting Origin for the studiomodel. Use a null string to deactivate the use of specific lighting origins." ] @BaseClass = MyRenderVisibleBrushes1 [ disablereceiveshadows(choices) : "Disable Receiving Shadows" : 0 : "Prevents dynamic shadows (e.g. player and prop shadows) from appearing on this entity." = [ 0 : "No" 1 : "Yes" ] ] @BaseClass = MyRenderVisibleBrushes2 [ _minlight(float) : "Minimum Light Level" : "0.0" : "VRAD phase. Minimum amount of light with which to light this brush." ] @BaseClass base(MyRenderVisibleBrushes1, MyRenderVisibleBrushes2) = MyRenderVisibleBrushes3 [] //////////////////////////////////////////////////////////////////////////////// // // BASE VBSP // //////////////////////////////////////////////////////////////////////////////// @BaseClass = MyVBSP1 [ mindxlevel(choices) : "Minimum DX Level" : 0 : "Remove this object from the map if VBSP is run using a lower dxlevel than..." = [ 0 : "DX6 (default)" 70 : "DX7" 80 : "DX8" ] maxdxlevel(choices) : "Maximum DX Level" : 0 : "Remove this object from the map if VBSP is run using a higher dxlevel than..." = [ 70 : "DX7" 80 : "DX8" 0 : "DX9 (default)" ] ] //////////////////////////////////////////////////////////////////////////////// // // START // //////////////////////////////////////////////////////////////////////////////// @mapsize(-16384, 16384) @SolidClass = worldspawn : "This is the world entity. Each map can only contain one, and it's automatically created for you. Changes to the world affect the entire map.\n\n"+ "The world entity is composed of all of the map's brushes not tied to entities. The world is not reset upon newround." [ message(string) : "Map Description / Title" : "" : "Map information. It's not used anywhere." skyname(string) : "2D-Skybox Name" : "tides" : "The set of sky textures to use for this map." startdark(choices) : "Start Dark" : 0 = [ 0 : "No" 1 : "Yes" ] no_decomp(choices) : "Disallow Decompiling" : "" : "If Yes, then new versions of VMEX will refuse to decompile your map." = [ "" : "No" 1 : "Yes" ] minoccluderarea(float) : "Min Occluder Area" : "0.0" : "Prevents this occluder from being used if it takes up less than X% of the screen." maxoccludeearea(float) : "Max Occluder Area" : "0.0" : "Prevents occlusion testing for entities that take up more than X% of the screen." maxpropscreenwidth(float) : "Start Fade Pixels" : "0.0" : "Number of pixels wide at which all props in the level start to fade. This number is ignored if the prop has a specific fade distance specified." minpropscreenwidth(float) : "End Fade Pixels" : "0.0" : "Minimum number of pixels wide at which the prop is visible (0 = don't fade out). This number is ignored if the prop has a specific fade distance specified." detailmaterial(material) : "Detail Material" : "detail/detailsprites.vmt" : "Defines a custom detail material for client-spawned details." detailvbsp(string) : "Detail .VBSP" : "detail.vbsp" : "Defines a .VBSP file to use for client-spawned details, in the mod directory." _minlight(float) : "Minimum Light Level" : "0.0" : "VRAD phase. Forces the minimum intensity of light throughout the map to be at least this." ] @PointClass base(MyTargetName3) = ai_changetarget : "Used to change the 'target' key of an entity, such as a trigger_teleport." [ target(target_destination) : "Target Entity" : "" : "Name of entity whose target will be changed." m_iszNewTarget(string) : "New Target" input Activate( void ) : "Changes the entities target" ] // ambient_generic Dynamic Presets // pitch pstart spinup spindwn volrun volstrt fadein fadeout lfotype lforate modptch modvol cspnup // {1, 255, 75, 95, 95, 10, 1, 50, 95, 0, 0, 0, 0, 0} - Huge Machine // {2, 255, 85, 70, 88, 10, 1, 20, 88, 0, 0, 0, 0, 0} - Big Machine // {3, 255, 100, 50, 75, 10, 1, 10, 75, 0, 0, 0, 0, 0} - Machine // {4, 100, 100, 0, 0, 10, 1, 90, 90, 0, 0, 0, 0, 0} - Slow Fade In // {5, 100, 100, 0, 0, 10, 1, 80, 80, 0, 0, 0, 0, 0} - Fade In // {6, 100, 100, 0, 0, 10, 1, 50, 70, 0, 0, 0, 0, 0} - Quick Fade In // {7, 100, 100, 0, 0, 5, 1, 40, 50, 1, 50, 0, 10, 0} - Slow Pulse // {8, 100, 100, 0, 0, 5, 1, 40, 50, 1, 150, 0, 10, 0} - Pulse // {9, 100, 100, 0, 0, 5, 1, 40, 50, 1, 750, 0, 10, 0} - Quick Pulse // {10, 128, 100, 50, 75, 10, 1, 30, 40, 2, 8, 20, 0, 0} - Slow Oscillator // {11, 128, 100, 50, 75, 10, 1, 30, 40, 2, 25, 20, 0, 0} - Oscillator // {12, 128, 100, 50, 75, 10, 1, 30, 40, 2, 70, 20, 0, 0} - Quick Oscillator // {13, 50, 50, 0, 0, 10, 1, 20, 50, 0, 0, 0, 0, 0} - Grunge Pitch // {14, 70, 70, 0, 0, 10, 1, 20, 50, 0, 0, 0, 0, 0} - Very Low Pitch // {15, 90, 90, 0, 0, 10, 1, 20, 50, 0, 0, 0, 0, 0} - Low Pitch // {16, 120, 120, 0, 0, 10, 1, 20, 50, 0, 0, 0, 0, 0} - High Pitch // {17, 180, 180, 0, 0, 10, 1, 20, 50, 0, 0, 0, 0, 0} - Very High Pitch // {18, 255, 255, 0, 0, 10, 1, 20, 50, 0, 0, 0, 0, 0} - Screaming Pitch // {19, 200, 75, 90, 90, 10, 1, 50, 90, 2, 100, 20, 0, 0} - Oscillate SpinUp/Down // {20, 255, 75, 97, 90, 10, 1, 50, 90, 1, 40, 50, 0, 0} - Pulse SpinUp/Down // {21, 100, 100, 0, 0, 10, 1, 30, 50, 3, 15, 20, 0, 0} - Random Pitch // {22, 160, 160, 0, 0, 10, 1, 50, 50, 3, 500, 25, 0, 0} - Random Pitch Fast // {23, 255, 75, 88, 0, 10, 1, 40, 0, 0, 0, 0, 0, 5} - Incremental SpinUp // {24, 200, 20, 95, 70, 10, 1, 70, 70, 3, 20, 50, 0, 0} - Alien // {25, 180, 100, 50, 60, 10, 1, 40, 60, 2, 90, 100, 100, 0} - Bizzare // {26, 60, 60, 0, 0, 10, 1, 40, 70, 3, 80, 20, 50, 0} - Planet X // {27, 128, 90, 10, 10, 10, 1, 20, 40, 1, 5, 10, 20, 0} - Haunted @PointClass base(MyTargetName3, MyParentName2) iconsprite("editor/ambient_generic.vmt") color(192 192 192) line(255 255 255, targetname, SourceEntityName) sphere(radius) = ambient_generic : "Universal ambient sound. Use it to play and control a single sound.\n\n"+ "Custom WAVs must be in standard PCM format. Custom MP3s must not have a sample rate higher than 44.1KHz. It's okay to use exceedingly long sounds, but try to keep the sound's filesize down." [ spawnflags(flags) = [ 1 : "Play Everywhere" : 0 16 : "Start Silent" : 1 32 : "Is NOT Looped" : 1 ] message(sound) : "Sound Name" : "" : "Name of the GameSound entry for the sound to play. Also supports direct .wav/.mp3 filenames. If you supply a WAV/MP3, it must be within '/sound' and you must use slashes (/), not backslashes." radius(float) : "Max Audible Distance" : "1250.0" : "Maximum distance at which this sound is audible." volstart(integer) : "Volume Start" : 0 : "The starting volume of this sound. When the entity is triggered, the volume will either go down to 0 or up to the 'Volume Full', depending on which input you send the ambient_generic." health(integer) : "Volume Full" : 10 : "The final volume of the sound after fading in. 10 is the loudest; 1 is the softest. The default is 10." fadeinsecs(string) : "Volume Fade In Time" : : "Seconds taken to fade the sound from 0 volume to 100% volume. Min = 0; Max = 100." fadein(string) : "Volume Fade In Speed" : : "Time taken to fade the sound from 0 volume to 100% volume. Formula is: = ( * 4) / ((101 - ) * 5). Use 'Volume Fade In Time' instead. Min = 0; Max = 100." fadeoutsecs(string) : "Volume Fade Out Time" : : "Seconds taken to fade the sound from 100% volume to 0 volume. Min = 0; Max = 100." fadeout(string) : "Volume Fade Out Speed" : : "Time taken to fade the sound from 100% volume to 0 volume. Formula is: = ( * 4) / ((101 - ) * 5). Use 'Volume Fade Out Time' instead. Min = 0; Max = 100." pitchstart(integer) : "Pitch Start" : 100 : "Sound starting pitch, expressed as a range from 1 to 255, where 100 is the sound's default pitch." pitch(integer) : "Pitch Full" : 100 : "Sound pitch, expressed as a range from 1 to 255, where 100 is the sound's default pitch." spinup(integer) : "Pitch Spin Up Speed" : 0 : "Same as 'Volume Fade In Speed', but for pitch, not volume. Min = 0; Max = 100." spindown(integer) : "Pitch Spin Down Speed" : 0 : "Same as 'Volume Fade Out Speed', but for pitch, not volume. Min = 0; Max = 100." lfotype(choices) : "LFO Type" : 0 : "The type of 5Hz vibrato to apply to the sound. (LFO = Low-Frequency Oscillator = vibrato)." = [ 0 : "Off" 1 : "Square: full up or down, never middle" 2 : "Triangle: fade between up and down" 3 : "Random" ] lforate(integer) : "LFO Rate" : 0 : "Rate of pitch changes if an LFO type is specified. Formula is: = 256 / . Min = 0; Max = 1000." lfomodvol(integer) : "LFO Volume Fade In/Out Speed" : 0 : "Amount by which to change the current volume if an LFO type is selected. Min = 0; Max = 100." lfomodpitch(integer) : "LFO Pitch Fade In/Out Speed" : 0 : "Amount by which to change the current pitch if an LFO type is selected. Min = 0; Max = 100." cspinup(integer) : "Incremental Spinup Count" : 0 : "When nonzero, scales the amount by which the pitch of the sound is increased with each PlaySound input until the pitch reaches the maximum supported. Min = 0; Max = 100." preset(choices) : "Dynamic Presets" : 0 : "A preset pattern of volume, pitch, etc. to apply for this sound. 'Haunted,' for instance, changes the pitch, volume, and tempo of the sound to create a haunted-house effect." = [ 0 : "None" 1 : "Huge Machine" 2 : "Big Machine" 3 : "Machine" 4 : "Slow Fade In" 5 : "Fade In" 6 : "Quick Fade In" 7 : "Slow Pulse" 8 : "Pulse" 9 : "Quick Pulse" 10 : "Slow Oscillator" 11 : "Oscillator" 12 : "Quick Oscillator" 13 : "Grunge Pitch" 14 : "Very Low Pitch" 15 : "Low Pitch" 16 : "High Pitch" 17 : "Very High Pitch" 18 : "Screaming Pitch" 19 : "Oscillate SpinUp/Down" 20 : "Pulse SpinUp/Down" 21 : "Random Pitch" 22 : "Random Pitch Fast" 23 : "Incremental SpinUp" 24 : "Alien" 25 : "Bizzare" 26 : "Planet X" 27 : "Haunted" ] SourceEntityName(target_destination) : "Source Entity Name" : "" : "If an entity is specified, sound will come from the named entity instead of this ambient." input PlaySound(void) : "Start the sound." input StopSound(void) : "Stop the sound if it is playing." input ToggleSound(void) : "Toggle the sound between playing and stopping." input Volume(integer) : "Set the sound volume, expressed as a range from 0 to 10, where 10 is the loudest." input FadeIn(integer) : "Fades the sound up to full volume over a specified number of seconds, with a range from 0 to 100 seconds." input FadeOut(integer) : "Fades the sound to silence over a specified number of seconds, with a range from 0 to 100 seconds." input Pitch(integer) : "Set the sound pitch, expressed as a range from 1 to 255, where 100 is the sound's default pitch." ] @BaseClass base(MyTargetName3, MyModelIgnite1) color(224 64 0) = MyItem1 [ output OnPlayerTouch(void) : "Fires when the player touches this object." ] @PointClass base(MyItem1) = ammo_338mag : ".338 Lapua Magnum (10 rounds); is technically invisible in-game, but can be picked up nonetheless.\n\n"+ "Weapons that use this ammo:\n(4-5,4-6) AWP / Magnum Sniper Rifle [CT+T]" [] @PointClass base(MyItem1) = ammo_357sig : ".357 SIG (13 rounds); is technically invisible in-game, but can be picked up nonetheless.\n\n"+ "Weapons that use this ammo:\n(1-3) P-228 / 228 Compact [CT+T]" [] @PointClass base(MyItem1) = ammo_45acp : ".45 ACP (25 rounds); is technically invisible in-game, but can be picked up nonetheless.\n\n"+ "Weapons that use this ammo:\n(1-2) USP / K&M .45 Tactical [CT+T]\n(3-1) MAC-10 / Ingram Mac-10 [CT+T]\n(3-3) UMP-45 / K&M UMP45 [CT+T]" [] @PointClass base(MyItem1) = ammo_50AE : ".50 Action Express (7 rounds); is technically invisible in-game, but can be picked up nonetheless.\n\n"+ "Weapons that use this ammo:\n(1-4) Deagle / Night Hawk .50C [CT+T]" [] @PointClass base(MyItem1) = ammo_556mm_box : "5.56 Parabellum (30 rounds); is technically invisible in-game, but can be picked up nonetheless.\n\n"+ "Weapons that use this ammo:\n(5-1) M-249 / M249 [CT+T]" [] @PointClass base(MyItem1) = ammo_556mm : "5.56 NATO (30 rounds); is technically invisible in-game, but can be picked up nonetheless.\n\n"+ "Weapons that use this ammo:\n(4-1) Galil / IDF Defender [T]\n(4-1) Famas / Clarion 5.56 [CT]\n(4-3) M4A1 / Maverick M4A1 Carbine [CT]\n(4-4) SG-552 / Krieg 552 [T]\n(4-5) SG-550 / Krieg 550 Commando [CT]" [] @PointClass base(MyItem1) = ammo_57mm : "5.7 x 28mm (50 rounds); is technically invisible in-game, but can be picked up nonetheless.\n\n"+ "Weapons that use this ammo:\n(1-5) Five-Seven / ES Five-Seven [CT]\n(3-4) P-90 / ES C90 [CT+T]" [] @PointClass base(MyItem1) = ammo_762mm : "7.62 NATO (30 rounds); is technically invisible in-game, but can be picked up nonetheless.\n\n"+ "Weapons that use this ammo:\n(4-2) AK-47 / CV-47 [T]\n(4-2,4-3) Scout / Schmidt Scout [CT+T]\n(4-4) AUG / Bullpup [CT]\n(4-6) G3-SG1 / D3/AU-1 [T]" [] @PointClass base(MyItem1) = ammo_9mm : "9mm Parabellum (30 rounds); is technically invisible in-game, but can be picked up nonetheless.\n\n"+ "Weapons that use this ammo:\n(1-1) Glock / 9x19mm Sidearm [CT+T]\n(1-5) Elite / .40 Dual Elites [T]\n(3-1) TMP / Schmidt Machine Pistol [CT]\n(3-2) MP5 navy / K&M Sub-Machine Gun [CT+T]" [] @PointClass base(MyItem1) = ammo_buckshot : "12 Gauge (8 rounds); is technically invisible in-game, but can be picked up nonetheless.\n\n"+ "Weapons that use this ammo:\n(2-1) M3 / Leone 12 Gauge Super [CT+T]\n(2-2) MX-1014 / Leone YG1265 Auto Shotgun [CT+T]" [] @PointClass base(MyTargetName3, MyEnableDisable2) iconsprite("editor/shadow_control.vmt") sphere(minfalloff) sphere(maxfalloff) = color_correction : "An entity to control the color correction in the map." [ minfalloff(float) : "Lookup Falloff Start Distance" : "0.0" : "This is the distance to the start of the falloff region." maxfalloff(float) : "Lookup Falloff End Distance" : "200.0" : "This is the distance to the end of the falloff region." maxweight(float) : "Maximum Weight" : "1.0" : "This is the maximum weight for this lookup." filename(string) : "Lookup Table Filename" : "" : "This is the lookup table filename." ] @BaseClass = color_correction_volume_ [ fadeDuration(float) : "Lookup Fade Duration" : "10.0" : "This is the duration for the lookup to fade in/out on extry/exit." maxweight(float) : "Maximum Weight" : "1.0" : "This is the maximum weight for this lookup." filename(string) : "Lookup Table Filename" : "" : "This is the lookup table filename." input StartTouch(void) : "Test !caller on StartTouch of this trigger." input EndTouch(void) : "Test !caller on EndTouch of this trigger." ] @SolidClass base(MyTargetName3, MyAngles1, MyEnableDisable3, color_correction_volume_, MyOrigin1) iconsprite("editor/shadow_control.vmt") = color_correction_volume : "An entity to control the color correction in the map." [] @PointClass base(MyTargetName3, MyParentName2, MyTeamNum1, MyAngles1, MyModel2, MyModelIgnite1, MyDmgFilter1, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderDisableShadows3, MyRenderFade1, MyRenderLightingOrigin1, MyVBSP1) sphere(fademindist) sphere(fademaxdist) studioprop() = cycler : "An entity used to display a model for testing purposes. Shooting it with cycle through the model's animations. Cycler is a very bad way of placing a model; however, for testing purposes, " + "it could be useful. You should use a prop_dynamic, prop_physics, or some other prop instead for realistic purposes." [ spawnflags(flags) = [ 1 : "Not Solid" : 0 ] input SetSequence(string) : "Set the cycler's sequence." input SetHealth(integer) : "Start next sequence." input Break(void) : "Break the cycler; same input as Kill." input Use(void) : "Play/Pause current sequence." ] @BaseClass = env_beam_ [ spawnflags(flags) = [ 1 : "Start ON" : 0 4 : "Random 'Strike Again Time' ('Life Time' must be NOT 0)" : 0 8 : "Ring ('Life Time' must be NOT 0)" : 0 16 : "Start Sparks ('Life Time' must be NOT 0)" : 0 32 : "End Sparks ('Life Time' must be NOT 0)" : 0 // 64 : "Decal End" : 0 128 : "Shade Start ('Life Time' must be 0)" : 0 256 : "Shade End ('Life Time' must be 0)" : 0 512 : "Taper Out ('Life Time' must be 0)" : 0 ] Radius(float) : "Radius" : "256.0" : "In the absence of an ending entity, beams will be drawn from the starting entity to a random point within this radius." life(float) : "Life Time" : "1.0" : "Amount of time before the beam dies. Setting to zero will make the beam stay forever. 0 = infinite." StrikeTime(float) : "Strike Again Time" : "1.0" : "When the 'Life Time' is nonzero, the beam strikes, dies, then strikes again after this amount of time. Can be negative to allow multiple beams at once." BoltWidth(float) : "Width of Beam" : "2.0" : "Width of the beam. Min = 0; Max = 102.3." NoiseAmplitude(float) : "Amount of Noise" : "0.0" : "The amount of noise in the beam. 0 = perfectly straight beam. Min = 0; Max = 64." damage(float) : "Damage" : "0.0" : "How much damage this beam does per second to things it hits when it is continually on, or instantaneously if it strikes. For continuous damage, the value should be greater than 10 or it may not work." texture(sprite) : "Sprite Name" : "sprites/laserbeam.vmt" : "The material used to draw the beam." TextureScroll(integer) : "Texture Scroll Rate" : 35 : "Rate at which the beam texture should scroll along the beam. Min = 0; Max = 100." framestart(integer) : "Sprite Starting Frame" : 0 : "The frame to start the beam texture on." LightningStart(target_destination) : "Start Entity" : "" : "Entity that the beam starts at." LightningEnd(target_destination) : "Ending Entity" : "" : "Entity that the beam ends at." TouchType(choices) : "Touch Type (tripwire)" : 0 : "If you want the beam to fire an output when touched by entities, choose the entity type here." = [ 0 : "None" 1 : "Player Only" 4 : "Player or Physprop" ] input TurnOn(void) : "Turns the beam on." input TurnOff(void) : "Turns the beam off." input Toggle(void) : "Toggles the beam between on and off." input StrikeOnce(void) : "Causes the beam to strike once. It will stay on for its set 'Life Time' and then turn off (it will never turn off if Life is set to zero)." input Width(float) : "Set the width of the beam (0 - 102.3)." input Noise(float) : "Set the amplitude of beam noise (0 - 64)." input ScrollSpeed(float) : "Set the scroll speed in units per second (0 - 100)." output OnTouchedByEntity(void) : "Fired when an entity touches the beam. Only fired if the entity passes the 'Touch Type' choice." ] @PointClass base(MyTargetName3, MyParentName2, MyTeamNum1, env_beam_, MyFilerName1, MyRenderColor3, MyRenderFx1, MyVBSP1) size(8 8 8) line(255 255 255, targetname, LightningStart, targetname, LightningEnd) sphere(Radius) = env_beam : "An entity that creates a visible beam between two points. The points can be attached to entities to make the beam move around." [] @PointClass base(MyTargetName3, MyParentName2, MyAngles1) size(8 8 8) = env_beverage : "Used to dispense a number of cool, refreshing beverages.\n\nWARNING: There is no 'models/can.mdl'! You will need to create your own!" [ health(integer) : "Capacity" : 10 : "Number of cans in the dispenser." beveragetype(choices) : "Skin (beverage type)" : 6 = [ 6 : "" 0 : "Cola" 1 : "Lemon-Lime" 2 : "Diet Cola" 3 : "Orange" 4 : "Cream Soda" 5 : "Root Beer" ] input Activate(void) : "Dispense a beverage." input Use(void) : "Dispense a beverage." ] @PointClass base(MyTargetName3) = env_blood : "An entity used to spawn blood effects." [ spawnflags(flags) = [ 1 : "Random Direction" : 0 // 2 : "Blood Stream" : 0 // The material for this one is nonexistent D:< 4 : "Spray From Player" : 0 8 : "Spray Decals" : 1 16 : "Emit Blood Cloud" : 0 32 : "Shoot Blood Drops" : 0 64 : "Emit Gore" : 0 ] spraydir(angle) : "Spray Direction (Pitch Yaw Roll)" : "0 0 0" : "The general direction in which the blood should spray, and the direction to trace to apply the decal." amount(float) : "Amount of blood" : "10.0" : "Emit force." input EmitBlood(void) : "Triggers the blood effect." ] @SolidClass base(MyTargetName3, MyAngles1) color(255 255 255) = env_bubbles : "An entity used to create a volume in which to spawn bubbles." [ spawnflags(flags) = [ 1 : "Start OFF" : 0 ] density(integer) : "Bubble Density" : 2 frequency(integer) : "Bubble Frequency" : 2 current(float) : "Speed of Current" : "0.0" : "The speed of the water current in the volume, used to move the bubbles." input Activate(void) : "Activates the bubbles." input Deactivate(void) : "Deactivates the bubbles." input Toggle(void) : "Toggles the bubbles on and off." input SetDensity(integer) : "Sets the bubble density." input SetFrequency(integer) : "Sets bubble emission rate in bubbles per second." input SetCurrent(integer) : "Sets current speed in units per second." ] @PointClass color(0 64 255) sidelist(sides) iconsprite("editor/env_cubemap.vmt") = env_cubemap : "An entity that creates a sample point for the Cubic Environment Map." [ cubemapsize(choices) : "Cubemap Size" : 0 = [ 0 : "Default" 1 : "1x1" 2 : "2x2" 3 : "4x4" 4 : "8x8" 5 : "16x16" 6 : "32x32" 7 : "64x64" 8 : "128x128" 9 : "256x256" ] sides(sidelist) : "Brush faces" ] @PointClass sphere(fademindist) sphere(fademaxdist) = env_detail_controller : "An entity that lets you control the fade distance settings for detail props." [ fademindist(float) : "Start Fade Distance" : "512.0" : "Distance at which the prop starts to fade." fademaxdist(float) : "End Fade Distance" : "1024.0" : "Maximum distance at which the prop is visible." ] @PointClass base(MyTargetName3, MyParentName2, MyAngles1) color(255 255 255) = env_dustpuff : "An entity that can emit dust puffs." [ scale(float) : "Scale" : "8.0" : "Size of the dust puff." speed(float) : "Speed" : "16.0" : "Speed at which the dust particles should move." color(color255) : "Dust color" : "128 128 128" input SpawnDust(void) : "Spawn a dust puff." ] @PointClass base(MyTargetName3, MyParentName2, MyAngles1, MyModelIgnite1) = env_effectscript : "An entity that allows you to script special visual effects via a script file." [ model(studio) : "Script Model" : "models/effects/teleporttrail.mdl" : "Model to use for animation sequences." scriptfile(string) : "Script File" : "scripts/effects/testeffect.txt" : "Name of the script to use for this model." input SetSequence(string) : "Sets the script model's sequence." ] @SolidClass base(MyTargetName3, MyAngles1) color(255 255 255) = env_embers : "An entity used to create a volume in which to spawn fire embers." [ spawnflags(flags) = [ 1 : "Start ON" : 0 ] density(integer) : "Density" : 16 lifetime(integer) : "Particle Lifetime" : 4 speed(integer) : "Particle Speed" : 32 rendercolor(color255) : "Ember Color (R G B)" : "255 255 255" input Use(void) : "Turn off spawn fire embers. Once only." ] @PointClass base(MyTargetName3) = env_entity_dissolver : "Entity Dissolver." [ dissolvetype(choices) : "Dissolve Type" : 0 = [ 0 : "Normal" 1 : "Electrical" // 2 : "Electrical Light" 3 : "Core Effect" ] target(target_destination) : "Target to Dissolve" : "" : "Targetname of the entity you want to dissolve." // magnitude(integer) : "Magnitude" : 250 : "How strongly to push away from the center." input Dissolve(string) : "Dissolve target, if no target is passed it'll use the target specified in the target field." ] @PointClass base(MyTargetName3) color(225 95 0) size(8 8 8) = env_entity_igniter : "An entity that catches a target entity on fire. If the entity is an animating model, it will have sprite flames attached to its skeleton. Otherwise the entity will emit particle flame puffs." [ target(target_destination) : "Entity to Ignite" : "" : "Name of the entity to catch on fire." lifetime(float) : "Lifetime in Seconds" : "10.0" : "Duration of flames." input Ignite(void) : "Ignite the target entity." ] @PointClass base(MyTargetName3, MyParentName2, MyAngles1) = env_entity_maker : "Spawns the specified entity template at its origin. If set to auto-spawn, it will spawn the template whenever there's room and the player "+ "is looking elsewhere." [ spawnflags(flags) = [ 1 : "Enable AutoSpawn (will spawn whenever there's room)" : 0 2 : "AutoSpawn: Wait for entity destruction" : 0 4 : "AutoSpawn: Even if the player is looking" : 0 8 : "ForceSpawn: Only if there's room" : 0 16 : "ForceSpawn: Only if the player isn't looking" : 0 ] EntityTemplate(target_destination) : "point_template To Spawn" : "" : "Name of the point_template to spawn here." PostSpawnSpeed(float) : "PostSpawn Movement Speed" : "0.0" : "If specified, all the entities created in the template will move this fast in the specified PostSpawn Movement Direction." PostSpawnDirection(angle) : "PostSpawn Movement Direction" : "0 0 0" : "If a PostSpawn Movement Speed is specified, all the entities created in the template will move in this direction." PostSpawnDirectionVariance(float) : "PostSpawn Direction Variance" : "0.15" : "This variance is applied to the PostSpawn Movement Direction for each spawned entity in the template. Use it to apply some randomness to the directions." input ForceSpawn(void) : "Spawn an instance of the template at this origin and angle." output OnEntitySpawned(void) : "Fired when an instance of the entity template has been spawned." output OnEntityFailedSpawn(void) : "Fired when a ForceSpawn input failed to spawn the template, either due to lack of space or being in player's view, depending on the spawnflags." ] @PointClass base(MyTargetName3, MyParentName2, MyTeamNum1) color(215 0 0) iconsprite("editor/env_explosion.vmt") sphere(iRadiusOverride) = env_explosion : "An entity that creates an explosion at its origin." [ spawnflags(flags) = [ 1 : "No Damage" : 0 2 : "Repeatable" : 0 4 : "No Fireball" : 0 // 8 : "No Smoke" : 0 // For E3 16 : "No Decal" : 0 32 : "No Sparks" : 0 64 : "No Sound" : 0 // 128 : "Random Orientation for Explosion Sprites" : 0 256 : "No Fireball Smoke" : 0 512 : "No Particles" : 0 // 1024 : "No Dynamic Light" : 0 // For E3 // 2048 : "Don't clamp sprite scale to >= 10" : 0 // 4096 : "Don't clamp sprite scale to <= 50" : 0 8192 : "Don't damage underwater objects" : 0 ] iMagnitude(Integer) : "Magnitude" : 100 : "The amount of damage done by the explosion." iRadiusOverride(Integer) : "Radius Override" : 0 : "If specified, the radius in which the explosion damages entities. 0 = the radius will be based on the magnitude." DamageForce(float) : "Damage Force" : "0.0" : "If specified, the force which explosion pushes entities. 0 = the force will be based on the magnitude." // fireballsprite(sprite) : "Fireball Sprite" : "sprites/zerogxplode.spr" // rendermode(choices) : "Render Mode" : 5 = // [ // 0 : "Normal" // 4 : "Solid" // 5 : "Additive" // ] input Explode(void) : "Triggers the explosion." ] @BaseClass = env_fade_ [ spawnflags(flags) = [ 1 : "Fade From" : 0 2 : "Modulate" : 0 4 : "Only Affect Activator" : 0 8 : "Stay Out" : 0 ] duration(float) : "Duration" : "2.0" : "The time that it will take to fade the screen in or out." holdtime(float) : "Hold Fade Time" : "0.0" : "The time to hold the faded in/out state." input Fade(void) : "Start the screen fade." output OnBeginFade(void) : "Fired when the fade has begun." ] @PointClass base(MyTargetName3, env_fade_, MyRenderColor1) iconsprite("editor/env_fade") = env_fade : "An entity that controls screen fades." [] @PointClass base(MyTargetName3, MyParentName2, MyTeamNum1, MyEnableDisable1) color(225 95 0) iconsprite("editor/env_fire") = env_fire : "An entity that handles a single flame at its origin. The flame causes heat 'damage' to other env_fire entities around it, and will eventually ignite non-flaming env_fire entities nearby, causing the fire to spread." [ spawnflags(flags) = [ 1 : "Infinite Duration" : 0 2 : "Smokeless" : 0 4 : "Start ON" : 0 8 : "Start Full" : 0 16 : "Don't Drop" : 0 // 32 : "No Glow" : 0 128 : "Delete when Out" : 0 // 256 : "Visible from above" : 0 ] firesize(float) : "Size" : "64.0" : "Height (in world units) of the flame." health(float) : "Duration" : "30.0" : "Amount of time the fire will burn." // fireattack(float) : "Attack" : "4.0" : "Amount of time the fire takes to grow to full strength." // firetype(choices) : "Type" : 0 = // BUGBUG // [ // 0 : "Natural" // 1 : "Plasma" // ] // ignitionpoint(float) : "Ignition Point" : "32.0" : "Amount of heat 'damage' to take before this flame should ignite." damagescale(float) : "Damage Scale" : "1.0" : "Multiplier of the burn damage done by the flame." input StartFire(void) : "Start the fire." input Extinguish(float) : "Puts out the fire permanently in the number of seconds specified." input ExtinguishTemporary(float) : "Puts out the fire temporarily in the number of seconds specified." output OnIgnited(void) : "Fires when the fire is first ignited." output OnExtinguished(void) : "Fires when the fire is fully extinguished." ] @PointClass base(MyTargetName3, MyParentName2, MyEnableDisable1) color(225 95 0) size(8 8 8) sphere(fireradius) = env_firesensor : "An entity that detects changes in heat nearby." [ spawnflags(flags) = [ 1 : "Start ON" : 1 ] fireradius(float) : "Radius" : "128.0" : "The radius around this entity in which to detect heat changes." heatlevel(float) : "Heat Level" : "32.0" : "The target heat level to check for. Outputs are fired when the heat moves over this target level (increasing or decreasing)." heattime(float) : "Time at Level" : "0.0" : "The amount of time the heat level must spend over the target level before the 'OnHeatLevelStart' output is fired." output OnHeatLevelStart(void) : "Fires when the heat level has been sustained for the specified length of time." output OnHeatLevelEnd(void) : "Fires when the heat level drops below the target level." ] @PointClass base(MyTargetName3, MyParentName2, MyEnableDisable1) color(225 95 0) iconsprite("editor/env_firesource") sphere(fireradius) = env_firesource : "An entity that provides heat to all nearby env_fire entities. Cannot be extinguished." [ spawnflags(flags) = [ 1 : "Start ON" : 0 ] fireradius(float) : "Radius" : "128.0" : "The radius around this entity in which to provide heat." firedamage(float) : "Intensity / Damage" : "10.0" : "Amount of heat 'damage' to apply to env_fire entities within the radius." ] @BaseClass = MyFog1 [ fogenable(choices) : "Fog Enable" : 0 = [ 0 : "No" 1 : "Yes" ] fogblend(choices) : "Fog Blend" : 0 : "Whether to use the secondary fog color as well as the primary." = [ 0 : "No" 1 : "Yes" ] use_angles(choices) : "Use Angles for Fog Dir" : 0 : "Use 'Pitch Yaw Roll' instead of 'Fog Dir'." = [ 0 : "No" 1 : "Yes" ] fogdir(vector) : "Fog Dir" : "0 0 1" : "A point that determines the directions of the primary and secondary fog. Format: ." fogcolor(color255) : "Primary Fog Color" : "255 255 255" fogcolor2(color255) : "Secondary Fog Color" : "255 255 255" fogstart(float) : "Fog Start" : "1024.0" fogend(float) : "Fog End" : "4096.0" ] @BaseClass = env_fog_controller_ [ farz(float) : "Far Z Clip Plane" : "-1" : "Nothing will be rendered beyond this distance from the camera. -1 = disable." foglerptime(float) : "Interpolate Time" : "0.0" : "Used by StartFogTransition function." input TurnOn(void) : "Turn the fog on." input TurnOff(void) : "Turn the fog off." input SetStartDist(float) : "Set the fog start distance." input SetEndDist(float) : "Set the fog end distance." input SetColor(color255) : "Set the primary fog color." input SetColorSecondary(color255) : "Set the secondary fog color." input SetFarZ(float) : "Set the far clip plane distance." input SetAngles(string) : "Set the angles to use for the secondary fog direction." input SetColorLerpTo(color255) : "Set the primary fog color." input SetColorSecondaryLerpTo(color255) : "Set the secondary fog color." input SetStartDistLerpTo(float) : "Set the fog start distance." input SetEndDistLerpTo(float) : "Set the fog end distance." input StartFogTransition(void) : "Start fog transition." ] @PointClass base(MyTargetName3, MyAngles1, MyFog1, env_fog_controller_, MyVBSP1) color(255 255 255) iconsprite("editor/fog_controller.vmt") sphere(fogstart) sphere(fogend) = env_fog_controller : "An entity that controls the fog and view distance in the map. "+ "If Fog Blend is enabled, then looking in the direction of this entity's angles or in the direction specified by Fog Dir "+ "shows primary fog; looking the other way shows secondary fog, and looking somewhere between shows a fade from one to the other.\n\n"+ "This entity is not reset upon newround." [] @PointClass base(MyTargetName3) color(128 255 128) = env_global : "An entity to control a global game state. This state can later be checked by other entities." [ spawnflags(flags) = [ 1 : "Set Initial State" : 1 ] globalstate(string) : "Global State to Set" : "" : "The state to set on or off." initialstate(choices) : "Initial State" : 0 = [ 0 : "OFF" 1 : "ON" 2 : "DEAD" ] input TurnOn(void) : "Set state of global to ON." input TurnOff(void) : "Set state of global to OFF." input Toggle(void) : "Toggles state of global between ON and OFF." input Remove(void) : "Set state of global to DEAD." ] @PointClass base(MyTargetName3, MyParentName2, MyEnableDisable2) = env_gunfire : "Gunfire Effect" [ target(target_destination) : "Target" : "" : "Shoot at this target. REMEMBER - this is an effect only! It does not do damage!" minburstsize(integer) : "Min Burst Size" : 2 : "Minimum number of rounds in a burst." maxburstsize(integer) : "Max Burst Size" : 7 : "Maximum number of rounds in a burst." minburstdelay(float) : "Min Delay Between Bursts" : "1.0" : "Minimum delay between bursts. (seconds)" maxburstdelay(float) : "Max Delay Between Bursts" : "3.0" : "Maximum delay between bursts. (seconds)" rateoffire(float) : "Rate of Fire" : "10.0" : "Expressed as rounds per second" spread(choices) : "Bullet Spread" : 5 : "The 'cone of inaccuracy' of the shots fired by this entity." = [ 0 : "None" 1 : "1 Degree" 5 : "5 Degrees" 10 : "10 Degrees" 15 : "15 Degrees" ] bias(float) : "Bullet Spread Bias" : "0.5" : "How to distribute bullets within the spread. Even distribution is a true scatter throughout the spread. Biased towards the outside makes the shots 'miss' the target by tending towards the outside of the spread." collisions(choices) : "Collision Detection" : 1 : "Whether/how to handle bullet collision detection. NOTE: If you select NONE, this entity will be very cheap to use, but all bullets will stop short at their target's position in space and there will be no impact effects. Normal collision detection does the same things NPCs do when they fire their guns (except harm anything)." = [ 0 : "None" 1 : "Normal" ] shootsound(sound) : "Shoot Sound" : "" : "Gunfire sound to make. Don't use RAW sounds!" ] @PointClass base(MyTargetName3) = env_hudhint : "An entity to control the display of HUD hints. HUD hints are used to show the player what key is bound to a particular command." [ message(string) : "Hint Text (localized)" : "" : "This can be simple text string or should be set to match the desired HUD hint entry in the /hl2/resource/valve_english.txt or /cstrike/resource/cstrike_english.txt." input ShowHudHint(void) : "Shows the hint message." input HideHudHint(void) : "Hides the hint message." ] @BaseClass = env_laser_ [ spawnflags(flags) = [ 1 : "Start ON" : 0 16 : "Start Sparks" : 0 32 : "End Sparks" : 0 ] LaserTarget(target_destination) : "Target of Laser" : "" : "Name of entity, or entities, to strike at. The target is randomly chosen if there are multiple entities matching the given name." width(float) : "Width of Beam" : "2.0" : "Width of the beam. Min = 0; Max = 102.3." NoiseAmplitude(float) : "Amount of Noise" : "0.0" : "The amount of noise in the beam. 0 = perfectly straight beam. Min = 0; Max = 64." damage(float) : "Damage" : "0.0" : "How much damage this laser does per second to things it hits." texture(sprite) : "Sprite Name" : "sprites/laserbeam.vmt" : "The material used to draw the laser beam." TextureScroll(integer) : "Texture Scroll Rate" : 35 : "Rate at which the beam texture should scroll along the laser beam. Min = 0; Max = 100." EndSprite(sprite) : "End Sprite" : "" : "If specified, this sprite will be drawn at the end of the laser beam." dissolvetype(choices) : "Dissolve Type" : "None" = [ 0 : "Default" 1 : "Heavy electrical" ] input TurnOn(void) : "Turns the laser on." input TurnOff(void) : "Turns the laser off." input Toggle(void) : "Toggles the laser between on and off." input Width(float) : "Set the width of the laser beam (0 - 102.3)." input Noise(float) : "Set the amplitude of laser beam noise (0 - 64)." input ScrollSpeed(float) : "Set the scroll speed in units per second (0 - 100)." ] @PointClass base(MyTargetName3, MyParentName2, MyTeamNum1, MyAngles1, env_laser_, MyRenderColor3, MyRenderFx1, MyVBSP1) size(8 8 8) line(255 255 255, targetname, LaserTarget) = env_laser : "An entity that creates a laser beam between itself and a given target." [] @PointClass base(MyTargetName3, MyParentName2, MyAngles1, MyVBSP1) color(20 140 20) sphere(MinDist) sphere(MaxDist) sphere(OuterMaxDist) sphere(GlowProxySize) = env_lightglow : "Extension of env_sprite. An entity that places an additive glow in the world, mostly used as a halo over light sources. In order to turn off this effect, send it a Color input with parameter '0 0 0'." [ spawnflags(flags) = [ 1 : "Visible only from front" : 0 ] VerticalGlowSize(integer) : "Vertical Size" : 30 : "Vertical diameter of the ellipse. Constant; does not change with distance." HorizontalGlowSize(integer) : "Horizontal Size" : 30 : "Horizontal diameter of the ellipse. Constant; does not change with distance." MinDist(integer) : "Minimum Distance" : 64 : "The sprite will be invisible if the camera is closer to it than this distance." MaxDist(integer) : "Maximum Distance" : 256 : "The sprite will be fully visible if the camera is further from it than this distance." OuterMaxDist(integer) : "Outer Maximum Distance" : 0 : "Once the maximum distance is reached, the sprite will begin to fade out again, becoming invisible once the camera is further than this distance from it. Disabled if less than the max distance." GlowProxySize(float) : "Glow Proxy Geometry Size" : "2.0" : "Size of the glow to be rendered for visibility testing. Must be larger than the distance from the sprite center to empty space. So if this glow is inside geometry (like a light bulb), set this value to be bigger than the bulb's radius. Any time a sphere of this radius would be visible (poking through any nearby geometry), the glow will be rendered." rendercolor(color255) : "FX Color (R G B)" : "255 255 255" HDRColorScale(float) : "HDR Color Scale" : "0.5" : "Float value to multiply sprite color by when running in HDR mode." input Color(color255) : "Change the render color of the glow." ] @PointClass base(MyTargetName3, MyParentName2, MyEnableDisable2) iconsprite("editor/env_microphone.vmt") sphere(MaxRange) = env_microphone : "An entity that acts as a microphone. It works in one of two modes. If it has a 'Speaker' set, it picks up all sounds within the specified sound range, " + "and rebroadcasts them through the Speaker entity. In this Speaker mode, it ignores the Hears X spawnflags and does not fire the SoundLevel output. " + "If it has no Speaker set, it measures the sound level at a point, and outputs the sound level as a value between 0 and 1. In Measuring mode, it only hears sounds that match the Hear X spawnflags." [ spawnflags(flags) = [ 1 : "Hears Combat sounds" : 1 2 : "Hears World sounds" : 1 4 : "Hears Player sounds" : 1 8 : "Hears Bullet impacts" : 1 16 : "Swallows sounds routed through speakers" : 0 32 : "Hears Explosions" : 1 ] target(target_destination) : "Measure target" : "" : "If the speaker is in Measuring mode, this is the name of the entity where the sound level is to be measured." SpeakerName(target_destination) : "Speaker" : "" : "The name of a speaker entity through which to play any sounds heard by this microphone. If specified, the microphone will consider itself in Speaker mode." ListenFilter(filterclass) : "Listen Filter" : "" : "The name of an filter entity which specifies the only entities the microphone can hear. Sounds emitted by other entities will not be heard." speaker_dsp_preset(choices) : "Speaker DSP Preset" : 0 : "Only useful in Speaker mode. If specified, when the microphone is enabled, it'll set the global dsp_speaker preset to this value. Sounds played back through speakers will then be affected by the selected DSP." = [ 0 : "Default" 50 : "NO EFFECT" 55 : "SPEAKER, LOUDER" 56 : "SPEAKER VERY SMALL" 57 : "LOUDSPEAKER, ECHO" 58 : "SPEAKER SMALL" 59 : "SPEAKER TINY" ] Sensitivity(float) : "Sensitivity (0-10)" : 1 : "Microphone sensitivity, 0=deaf, 1=default, 10=extremely sensitive). Only applicable in Measuring mode." SmoothFactor(float) : "Smoothing (0-1)" : 0 : "Smoothing factor, 0=no smoothing, 1=maximum smoothing). Only applicable in Measuring mode." MaxRange(float) : "Maximum hearing range" : 240 : "(0=infinity) Sounds beyond this range won't be heard, irrelevant of attenuation. "+ "WARNING: setting this to zero (or a value > 1024) when the microphone is in Speaker mode can be very bad for performance!!" input SetSpeakerName(string) : "Set the microphone to output through a different speaker entity." output SoundLevel(float) : "Fired in Measuring mode whenever the sound level changes." output OnRoutedSound(void) : "Fired whenever a sound is routed out through the specified speaker (if any)." output OnHeardSound(void) : "Fired whenever this microphone hears any sound it cares about." ] @PointClass base(MyTargetName3, MyAngles1, MyParentName2) = env_muzzleflash : "Muzzle Flash" [ parentattachment(string) : "Parent Attachment" : "" : "The name of an attachment on the parent to hierarchically attach to." scale(float) : "Scale" : "1.0" : "Size of the muzzle flash." input Fire(void) : "Fires the effect once." ] @PointClass color(255 255 0) = env_particlelight : "An entity that can be used to light the smoke particles emitted by env_smokestack entities. Currently does not light any other particles." [ Color(color255) : "Color" : "255 0 0" : "Color emitted by this light." Intensity(integer) : "Intensity" : 5000 directional(choices) : "Directional" : 0 : "If this is specified, then this light will use the bump map on the particles. Each particle system can have one ambient and one directional light." = [ 0 : "No" 1 : "Yes" ] PSName(target_destination) : "Particle System Entity" : "" : "Set this to the name of the env_smokestack that you want this light to affect." ] @PointClass base(MyTargetName3, MyParentName2, MyAngles1, MyModelIgnite1) = env_particlescript : "An entity that has special animation events that can be fired by a model with an animation inside its .qc designed for"+ "use by this entity." [ model(studio) : "Script Model" : "models/Ambient_citadel_paths.mdl" : "Model to use for animation sequences." input SetSequence(string) : "Sets the script model's sequence." ] @PointClass base(MyTargetName3, MyParentName2) iconsprite("editor/env_physexplosion.vmt") color(255 0 255) line(255 255 255, targetname, targetentityname) sphere(radius) sphere(inner_radius) = env_physexplosion : "An entity that creates an explosion at its origin. If the no-damage spawnflag is set, the explosion won't be visible, but will apply force to any physics objects within its radius." [ spawnflags(flags) = [ 1 : "No Damage - Only Force" : 1 2 : "Push Rlayers" : 0 4 : "Push Radially (vertical cylinder - NOT a sphere)" : 0 8 : "Test LOS before pushing" : 0 16 : "Disorient Players if pushed" : 0 ] magnitude(float) : "Magnitude" : "100.0" : "Amount of physics force applied by the explosion." radius(float) : "Radius Override" : "0.0" : "If specified, the radius in which the explosion damages entities. If unspecified, the radius will be based on the magnitude." inner_radius(float) : "Inner Radius" : "0.0" : "If not zero, the LOS is calculated from a point intersecting this sphere." targetentityname(target_destination) : "Limit to Entity" : "" : "If specified, the explosion will only affect the matching entity." input Explode(void) : "Trigger the explosion." output OnPushedPlayer(void) : "Fires when the player is pushed by the explosion." ] @PointClass base(MyTargetName3, MyParentName2, MyAngles1) iconsprite("editor/env_physexplosion.vmt") color(255 0 255) line(255 255 255, targetname, directionentityname) sphere(distance) = env_physimpact : "An entity that will cause a physics impact on another entity." [ spawnflags(flags) = [ 1 : "No fall-off" : 0 2 : "Infinite Length" : 0 4 : "Ignore Mass" : 0 ] magnitude(float) : "Magnitude" : "100.0" : "Strength of the impact." distance(float) : "Distance" : "0.0" : "How far to project the impact. 0 = uses a default value." directionentityname(target_destination) : "Point to Entity" : "" : "If set, 'Distance' and Angle settings are ignored and the direction and distance to the target entity will be used." input Impact(void) : "Trigger the impact" ] @PointClass base(MyTargetName3, MyEnableDisable1) = env_player_surface_trigger : "An entity that monitors the material of the surface the player is standing on, and fires outputs whenever it changes to/from a specific material." [ gamematerial(choices) : "Game Material to Watch" : "0" : "The material to watch. When the player stands on/off this material, this entity's outputs will be fired." = [ 0 : "None (player's in the air)" 67 : "Concrete" 77 : "Metal" 68 : "Dirt" 86 : "Vent" 71 : "Grate" 84 : "Tile" 83 : "Slosh" 87 : "Wood" 80 : "Computer" 89 : "Glass" 70 : "Flesh" 73 : "Clip" 79 : "Foliage" 78 : "Sand" ] input Enable(void) : "Start watching the player's surface." input Disable(void) : "Stop watching the player's surface." output OnSurfaceChangedToTarget(void) : "Fired when the player moves onto the specified game material." output OnSurfaceChangedFromTarget(void) : "Fired when the player moves off the specified game material." ] @PointClass base(MyTargetName3) = env_screenoverlay : "This entity superimposes materials onto the screen of the player who sends it an input. Useful for view effects like drunkenness, or teleporter afterimages, etc. "+ "Because these are actually displayed on the player's screen, it's recommended that they be translucent. Try the materials in 'overlays/'." [ OverlayName1(material) : "Overlay Name 1" : "" : "Name of the first overlay material to display." OverlayTime1(float) : "Duration 1" : "1.0" : "Amount of time that the first overlay should be displayed for, after which it will begin showing the second overlay. Use -1 for a permanent display." OverlayName2(material) : "Overlay Name 2" : "" : "Name of the second overlay material to display. If left blank, overlay displaying will finish, and this entity will consider itself done." OverlayTime2(float) : "Duration 2" : "1.0" : "Amount of time that the second overlay should be displayed for, after which it will begin showing the third overlay. Use -1 for a permanent display." OverlayName3(material) : "Overlay Name 3" : "" : "Name of the third overlay material to display. If left blank, overlay displaying will finish, and this entity will consider itself done." OverlayTime3(float) : "Duration 3" : "1.0" : "Amount of time that the third overlay should be displayed for, after which it will begin showing the fourth overlay. Use -1 for a permanent display." OverlayName4(material) : "Overlay Name 4" : "" : "Name of the fourth overlay material to display. If left blank, overlay displaying will finish, and this entity will consider itself done." OverlayTime4(float) : "Duration 4" : "1.0" : "Amount of time that the fourth overlay should be displayed for, after which it will begin showing the fifth overlay. Use -1 for a permanent display." OverlayName5(material) : "Overlay Name 5" : "" : "Name of the fifth overlay material to display. If left blank, overlay displaying will finish, and this entity will consider itself done." OverlayTime5(float) : "Duration 5" : "1.0" : "Amount of time that the fifth overlay should be displayed for, after which it will begin showing the sixth overlay. Use -1 for a permanent display." OverlayName6(material) : "Overlay Name 6" : "" : "Name of the sixth overlay material to display. If left blank, overlay displaying will finish, and this entity will consider itself done." OverlayTime6(float) : "Duration 6" : "1.0" : "Amount of time that the sixth overlay should be displayed for, after which it will begin showing the seventh overlay. Use -1 for a permanent display." OverlayName7(material) : "Overlay Name 7" : "" : "Name of the seventh overlay material to display. If left blank, overlay displaying will finish, and this entity will consider itself done." OverlayTime7(float) : "Duration 7" : "1.0" : "Amount of time that the seventh overlay should be displayed for, after which it will begin showing the eighth overlay. Use -1 for a permanent display." OverlayName8(material) : "Overlay Name 8" : "" : "Name of the eighth overlay material to display. If left blank, overlay displaying will finish, and this entity will consider itself done." OverlayTime8(float) : "Duration 8" : "1.0" : "Amount of time that the eighth overlay should be displayed for, after which it will begin showing the ninth overlay. Use -1 for a permanent display." OverlayName9(material) : "Overlay Name 9" : "" : "Name of the ninth overlay material to display. If left blank, overlay displaying will finish, and this entity will consider itself done." OverlayTime9(float) : "Duration 9" : "1.0" : "Amount of time that the ninth overlay should be displayed for, after which it will begin showing the tenth overlay. Use -1 for a permanent display." OverlayName10(material) : "Overlay Name 10" : "" : "Name of the tenth overlay material to display. If left blank, overlay displaying will finish, and this entity will consider itself done." OverlayTime10(float) : "Duration 10" : "1.0" : "Amount of time that the tenth overlay should be displayed for, after which this entity will stop displaying overlays. Use -1 for a permanent display." input StartOverlays(void) : "Start displaying the first overlay." input StopOverlays(void) : "Stop displaying any overlays." input SwitchOverlay(float) : "Switch to displaying a specific overlay. Pass in the desired overlay number in the parameter." ] @PointClass base(MyTargetName3, MyParentName2) iconsprite("editor/env_shake.vmt") sphere(radius) = env_shake : "An entity to control screen shake on players." [ spawnflags(flags) = [ 1 : "Global Shake" : 0 4 : "In Air" : 0 8 : "Physics" : 0 16 : "Ropes" : 0 32 : "DON'T shake view (for shaking ropes or physics only)" : 0 ] amplitude(float) : "Amplitude" : "4.0" : "The amount of noise in the screen shake. Should be a range between 0 and 16." radius(float) : "Effect Radius" : "500.0" : "The radius around this entity in which to affect players." duration(float) : "Duration" : "1.0" : "The length of time in which to shake the player's screens." frequency(float) : "Frequency" : "2.5" : "The frequency used to apply the screen shake. Should be a value between 0 and 255, where 0.1 = jerk, and 255.0 = rumble." input Amplitude(float) : "Set the amplitude (0-16)" input Frequency(float) : "Set the frequence. Should be a value between 0 and 255, where 0.1 = jerk, and 255.0 = rumble." input StartShake(void) : "Start the shake." input StopShake(void) : "Stop the shake." ] @BaseClass = MyGibShooter1 [ angles(angle) : "Gib Direction (Pitch Yaw Roll)" : "0 0 0" : "The direction the gibs will fly." m_flVariance(float) : "Gib Direction Variance" : "0.15" : "How much variance in the direction gibs are fired." gibangles(angle) : "Gib Angles (Pitch Yaw Roll)" : "0 0 0" : "The orientation of the spawned gibs." m_iGibs(integer) : "Number of Shots" : 3 : "Total number of gibs to shoot each time I'm activated." delay(float) : "Delay Between Shots" : "0.0" : "Delay (in seconds) between shooting each gib. If 0, all gibs shoot at once." m_flGibLife(float) : "Gib Life" : "4.0" : "Time in seconds for gibs to live +/- 5%" m_flVelocity(float) : "Gib Velocity" : "200.0" : "Speed of the fired gibs." gibanglevelocity(float) : "Gib Angular Velocity" : "0.0" : "How fast (degrees/sec) the gib pieces should spin. They will spin on x and y axis at between 10% and 100% of this speed." // Simulation(choices) = [] input Shoot(void) : "Force the to create and shoot a gib." ] @BaseClass = MyGibShooter2 [ nogibshadows(choices) : "Disable Shadows" : 0 = [ 0 : "No" 1 : "Yes" ] ] @BaseClass = env_shooter_ [ spawnflags(flags) = [ 1 : "Repeatable" : 0 2 : "On Fire" : 0 4 : "Remove Gibs After 'Gib Life'" : 1 ] shootmodel(studio) : "World Model" : "" : "Thing to shoot out. Can be a .mdl or a .vmt." skin(integer) : "Skin" : 0 : "Some models have multiple versions of their textures, called skins. Set this to a number other than 0 to use that skin on all gibs produced by this shooter." simulation(choices) : "Simulate" : 0 = [ 0 : "Point" 1 : "Physics" 2 : "Ragdoll" ] gibgravityscale(float) : "Gib Gravity Scale" : "1" : "ONLY WORKS FOR POINT GIBS. This field allows you to scale gravity so that gibs fall faster, slower, or not at all." shootsounds(choices) : "Material Sound" : -1 = [ -1 : "None" 0 : "Glass" 1 : "Wood" 2 : "Metal" 3 : "Flesh" 4 : "Concrete" ] ] @PointClass base(MyTargetName3, MyParentName2, env_shooter_, MyGibShooter1, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyGibShooter2, MyRenderLightingOrigin1, MyVBSP1) iconsprite("editor/env_shooter.vmt") = env_shooter : "An entity that shoots models, or sprites, out of its origin." [] @BaseClass = env_smokestack_ [ SmokeMaterial(material) : "Particle Material" : "particle/SmokeStack.vmt" : "Material of the smoke particles emitted by this stack." StartSize(float) : "Particle Start Size" : "20.0" : "Size of the smoke particles when they're first emitted." EndSize(float) : "Particle End Size" : "30.0" : "Size of the smoke particles at the point they fade out completely." BaseSpread(float) : "Radius of Spread" : "0.0" : "Amount of random spread in the origins of the smoke particles when they're spawned." SpreadSpeed(float) : "Spread Speed" : "15.0" : "Amount of random spread in the velocity of the smoke particles after they're spawned." Speed(float) : "Speed" : "30.0" : "The speed at which the smoke particles move after they're spawned." JetLength(float) : "Length of Smoke Trail" : "180.0" : "Length of the smokestack. Lifetime of the smoke particles is derived from this & particle speed." Rate(float) : "Emission Rate" : "20.0" : "Rate at which to emit smoke particles (i.e. particles to emit per second)." roll(float) : "Roll Speed (deg/sec)" : "15.0" : "Amount of roll in degrees per second." twist(float) : "Twist Speed (deg/sec)" : "0.0" : "The amount, in degrees per second, that the smoke particles twist around the origin." WindAngle(integer) : "Wind X/Y Angle" : 0 : "This specifies the wind direction. It is an angle in the XY plane. WindSpeed specifies the strength of the wind." WindSpeed(integer) : "Wind Speed" : 0 : "The strength of the wind." input SpreadSpeed(integer) : "Set the amount of random spread in the velocity of the smoke particles after they're spawned." input JetLength(integer) : "Set the length of the smoke trail." input Speed(integer) : "Set the speed at which the smoke particles move after they're spawned." input Rate(integer) : "Set the rate at which to emit smoke particles (particles per second)." ] @PointClass base(MyTargetName3, MyParentName2, MyAngles1, MyInitialState3, env_smokestack_, MyRenderColor1, MyVBSP1) color(255 255 255) sphere(BaseSpread) = env_smokestack : "An entity that spits out a constant stream of smoke. See particlezoo.vmf for sample usage. You can place up to two env_particlelight entities near the smoke stack to add ambient light to its particles." [] @BaseClass = env_soundscape_ [ radius(float) : "Radius" : "128.0" : "If set to -1, then the player can hear the soundscape as long as he can see it (regardless of distance to it)." input ToggleEnabled(void) : "Toggle the soundscape enabled state." output OnPlay(void) : "Fired when this soundscape becomes the active one." ] @PointClass base(MyTargetName2, MyEnableDisable2, env_soundscape_) color(192 192 192) iconsprite("editor/env_soundscape.vmt") sphere(radius) line(255 255 255, targetname, position0) line(255 255 255, targetname, position1) line(255 255 255, targetname, position2) line(255 255 255, targetname, position3) line(255 255 255, targetname, position4) line(255 255 255, targetname, position5) line(255 255 255, targetname, position6) line(255 255 255, targetname, position7) = env_soundscape : "An entity to control sound in an area. The active soundscape at any time is the last one that had line-of-sight to the player, and was within the radius. Please see http://developer.valvesoftware.com/wiki/List_of_CSS_Soundscapes for lists of soundscapes.\n\n"+ "This entity IS NOT RESET upon newround. Don't put it in movement hierarchies with entities that are. If you need it to move with an entity that's reset upon newround, use a logic_measure_movement point-entity." [ soundscape(string) : "Soundscape" : "" : "The name of the soundscape to use. Corresponds to an entry in the soundscapes*.txt file in the 'scripts' directory." position0(target_destination) : "Sound Position 0" : "" : "A sound position that will be referenced inside the soundscape text file. Usually used to position a set of sounds within the world." position1(target_destination) : "Sound Position 1" : "" : "A sound position that will be referenced inside the soundscape text file. Usually used to position a set of sounds within the world." position2(target_destination) : "Sound Position 2" : "" : "A sound position that will be referenced inside the soundscape text file. Usually used to position a set of sounds within the world." position3(target_destination) : "Sound Position 3" : "" : "A sound position that will be referenced inside the soundscape text file. Usually used to position a set of sounds within the world." position4(target_destination) : "Sound Position 4" : "" : "A sound position that will be referenced inside the soundscape text file. Usually used to position a set of sounds within the world." position5(target_destination) : "Sound Position 5" : "" : "A sound position that will be referenced inside the soundscape text file. Usually used to position a set of sounds within the world." position6(target_destination) : "Sound Position 6" : "" : "A sound position that will be referenced inside the soundscape text file. Usually used to position a set of sounds within the world." position7(target_destination) : "Sound Position 7" : "" : "A sound position that will be referenced inside the soundscape text file. Usually used to position a set of sounds within the world." ] @BaseClass = env_soundscape_proxy_ [ MainSoundscapeName(target_destination) : "Soundscape Entity" : "" : "The soundscape to get all sound parameters from." ] @PointClass base(MyTargetName2, MyEnableDisable2, env_soundscape_proxy_, env_soundscape_) color(128 128 128) iconsprite("editor/env_soundscape.vmt") sphere(radius) line(255 255 255, targetname, MainSoundscapeName) = env_soundscape_proxy : "An entity that acts like a soundscape but gets all of its sound parameters from another env_soundscape entity." [] @PointClass base(env_soundscape) color(192 192 192) iconsprite("editor/env_soundscape.vmt") sphere(radius) line(255 255 255, targetname, position0) line(255 255 255, targetname, position1) line(255 255 255, targetname, position2) line(255 255 255, targetname, position3) line(255 255 255, targetname, position4) line(255 255 255, targetname, position5) line(255 255 255, targetname, position6) line(255 255 255, targetname, position7) = env_soundscape_triggerable : "An entity that works like env_soundscape except that it works in conjunction with trigger_soundscape to determine when a player hears it.\n\n"+ "This entity IS NOT RESET upon newround. Don't put it in movement hierarchies with entities that are. If you need it to move with an entity that's reset upon newround, use a logic_measure_movement point-entity." [] @PointClass base(MyTargetName3, MyParentName2, MyAngles1) color(192 192 0) iconsprite("editor/env_spark.vmt") = env_spark : "An entity used to create sparks at its origin." [ spawnflags(flags) = [ 64 : "Start ON" : 0 128 : "Glow" : 0 256 : "Silent" : 0 512 : "Directional" : 0 ] MaxDelay(float) : "Max Delay" : "0.0" : "The longest delay between sparks (in seconds)." Magnitude(choices) : "Magnitude" : 1 : "The size of the sparks." = [ 1 : "Small" 2 : "Medium" 5 : "Large" 8 : "Huge" ] TrailLength(choices) : "Spark Trail Length" : 1 = [ 1 : "Short" 2 : "Medium" 3 : "Long" ] input StartSpark(void) : "Start the spark effect." input StopSpark(void) : "Stop the spark effect." input ToggleSpark(void) : "Toggle the on/off state of the spark effect." input SparkOnce(void) : "Spark once." output OnSpark(void) : "Fired when sparks is emited." ] @PointClass base(MyTargetName3, MyParentName2) = env_splash : "An entity that creates a splash effect at its origin, not necessarily in water. If the 'find water surface' spawnflag is set, it will instead trace down below itself to find the water surface on which to create splashes. "+ "The 'Diminish with Depth' flag will measure the distance between the entity and the closest solid face directly below it and scale the effect inversely based on that distance; if the nearest solid face is >108 units away, the splash will not occur." [ spawnflags(flags) = [ 1 : "Automatically find water surface (place entity above water)" : 0 2 : "Diminish with Depth (shallow water makes a bigger splash)" : 0 ] scale(float) : "Splash Scale" : "8.0" : "A rough scalar for the size of the effect. 16.0 should create a splash about the size of a player." input Splash(void) : "Create a splash effect." ] @BaseClass = env_sprite_ [ spawnflags(flags) = [ 1 : "Start ON" : 0 2 : "Play Once" : 0 ] model(sprite) : "Sprite Name" : "sprites/glow01.vmt" : "You should add '.VMT' independently. Material of the sprite to be drawn." scale(float) : "Scale" : "1.0" : "Scale multiplier of the sprite. (0-64)" framerate(float) : "Framerate" : "10.0" : "Rate at which the sprite should animate, if at all." GlowProxySize(float) : "Glow Proxy Geometry Size" : "2.0" : "Size of the glow to be rendered for visibility testing. Must be larger than the distance from the sprite center to empty space. So if this glow is inside geometry (like a light bulb), set this value to be bigger than the bulb's radius. Any time a sphere of this radius would be visible (poking through any nearby geometry), the glow will be rendered." input SetScale(float) : "Set the sprite's scale (0-64)." input ShowSprite(void) : "Show the sprite." input HideSprite(void) : "Hide the sprite. Won't be drawn until the 'ShowSprite' input is received." input ToggleSprite(void) : "Toggle the sprite between hidden and shown." ] @PointClass base(MyTargetName3, MyParentName2, MyAngles1, env_sprite_, MyRenderMode1, MyRenderColor3, MyRenderFx1, MyVBSP1) color(20 140 20) size(4 4 4) sprite() sphere(GlowProxySize) = env_sprite : "An entity that controls the drawing of a sprite in the world." [] @BaseClass = env_spritetrail_ [ spritename(sprite) : "Sprite Name" : "sprites/bluelaser1.vmt" : "You should add '.VMT' independently. Material of the sprite to be drawn." startwidth(float) : "Start Width" : "8.0" endwidth(float) : "End Width" : "1.0" lifetime(float) : "Lifetime" : "0.5" input ShowSprite(void) : "Show the sprite." input HideSprite(void) : "Hide the sprite. Won't be drawn until the 'ShowSprite' input is received." input ToggleSprite(void) : "Toggle the sprite between hidden and shown." ] @PointClass base(MyTargetName3, MyParentName2, env_spritetrail_, MyRenderMode1, MyRenderColor2, MyVBSP1) color(20 140 20) = env_spritetrail : "A magical trail you can parent to anything you heart desires." [] @BaseClass = env_steam_ [ spawnflags(flags) = [ 1 : "Emissive" : 0 ] type(choices) : "Particle Type" : 0 = [ 0 : "Normal" 1 : "Heat Wave" ] StartSize(float) : "Particle Start Size" : "10.0" : "The initial size of the particles after they spawn." EndSize(float) : "Particle End Size" : "25.0" : "The size of the particles at the point at which they are removed." SpreadSpeed(float) : "Spread Speed" : "15.0" : "Amount of random spread in the velocity of the smoke particles after they're spawned." Speed(float) : "Speed" : "120.0" : "The default speed at which the particles move after they spawn." JetLength(float) : "Length of Steam Jet" : "80.0" : "The length of the jet determines the lifetime of each particle." Rate(float) : "Emission Rate" : "26.0" : "The rate of particle emission. i.e. particles per second." rollspeed(float) : "Roll Speed (deg/sec)" : "8.0" : "Amount of roll in degrees per second." input SpreadSpeed(float) : "Sets the spread speed in units per second." input JetLength(float) : "Sets the length of steam jet." input Speed(float) : "Sets the default speed of the particles in units per second." input Rate(float) : "Sets the particle emission rate in particles per second." ] @PointClass base(MyTargetName3, MyParentName2, MyAngles1, MyInitialState3, env_steam_, MyRenderColor1, MyVBSP1) color(255 255 255) studioprop("models/editor/spot_cone.mdl") = env_steam : "An entity used to create a jet of steam." [] @BaseClass = env_sun_ [ pitch(float) : "Pitch" : "-60.0" : "Used as Pitch for angles 'Pitch Yaw Roll'" use_angles(choices) : "Use Angles" : 0 : "The old way to orient env_sun is to point it at a target. The new way is to specify the angles. If you use the new way, set this property to YES." = [ 0 : "No" 1 : "Yes" ] target(target_destination) : "Viewer Entity" : "" : "Name of an entity used to determine where the sun is in the skybox. The sun should be lined up on a line from this entity to the env_sun entity." rendercolor(color255) : "Sun Color (R G B)" : "100 80 80" overlaycolor(color255) : "Overlay Color (R G B)" : "0 0 0" : "A value of 0 0 0 will act the old way." HDRColorScale(float) : "HDR Color Scale" : "0.5" : "Float value to multiply sprite color by when running in HDR mode." size(integer) : "Sun Size" : 16 overlaysize(integer) : "Overlay Size" : -1 : "A value of -1 means the overlay will act the old way." material(sprite) : "Material Name" : "sprites/light_glow02_add_noz.vmt" : "Material of the inner glow." overlaymaterial(sprite) : "Overlay Material Name" : "sprites/light_glow02_add_noz.vmt" : "Material of the overlay glow." input TurnOn(void) : "Enable sun rendering." input TurnOff(void) : "Disable sun rendering." input SetColor(color255) : "Change the sun's color. Format: " input Color(color255) : "Change the sun's color. Format: " ] @PointClass base(MyTargetName2, MyAngles1, env_sun_, MyVBSP1) size(16 16 16) line(255 255 255, targetname, target) = env_sun : "An entity to control & draw a sun effect in the sky.\n\n"+ "This entity IS NOT RESET upon newround. Don't put it in movement hierarchies with entities that are. If you need it to move with an entity that's reset upon newround, use a logic_measure_movement point-entity." [] @PointClass base(MyTargetName3, MyParentName2, MyAngles1) size(8 8 8) sphere(startradius) sphere(goalradius) = env_terrainmorph : "Morphs terrain by pulling vertices along a normal.\n\n" + "Place this entity the desired distance from a terrain surface and set ANGLES " + "to the normal along which you want to pull the surface's vertices. If you set the INSTANT spawnflag, " + "the morph will take place instantly instead of over time.\n" [ spawnflags(flags) = [ 1 : "Instant" : 0 ] startradius(float) : "Start Radius" : "500.0" : "Radius of the effect when morphing begins. Only this value is used if the effect is flagged to occur instantly." goalradius(float) : "Goal Radius" : "100.0" : "Radius of the effect at the end of morphing. The radius of this effect will change from Start Radius to Goal Radius over the duration of this effect. This value is ignored if the effect is flagged to occur instantly." duration(float) : "Duration" : "3.0" : "The morph will take place over this period of time (seconds). Ignored if flagged to occur instantly" fraction(float) : "Displacement Fraction" : "1.0" : "If set to 1, the terrain surface will be pulled exactly to this entity's position. " + "If set to 0.5, the surface will be pulled exactly half way to this entity's position. " + "If set to 2, the surface will be pulled to an imaginary point twice as far away as this entity. " + "(Any Displacement Fraction greater than 1.0 will result in clipping. The surface cannot be pulled beyond " + "This entity's position and any vertices attemping will clip to this entity's position. You may use this feature to create mesas.)" input BeginMorph(void) : "Begin Morph." ] @PointClass base(MyTargetName3) = env_texturetoggle : "An entity that allows you to change the textures on other brush-built entities." [ target(target_destination) : "Target Entity" input IncrementTextureIndex(void) : "Increment target brush's current texture frame by one." input SetTextureIndex(integer) : "Set target brush's texture frame to the specified index." ] @PointClass base(MyTargetName3) iconsprite("editor/env_tonemap_controller.vmt") = env_tonemap_controller : "This entity controls the HDR tonemapping for the player, which means absolutely nothing to most people. Essentially, a mapper uses this if he wants to modify how wide a player's pupils are open, to create special lighting effects. Usually, modifying this is not necessary." [ input SetTonemapScale(float) : "Set the player's tonemap scale--the openness of his pupils. Parameter should be a value between 0 and 2, where 0 is the eyes fully closed, 1 is the unchanged autoexposure (default), and 2 is the eye fully wide open. Fades back to 1 via the current TonemapRate." input BlendTonemapScale(string) : "SetTonemapScale performed over a length of time. Parameter should be a value between 0 and 2 followed by a length of time in seconds. This appears jumpy, as if the TonemapRate fights the transition." input SetTonemapRate(float) : "Set the TonemapRate, the rate at which the player's eyes adjust to light. Higher values denote faster adjustments." input SetAutoExposureMin(float) : "Set AutoExposureMin, the minimum amount that the player's pupils are allowed to be open when automatically adjusting. Overrides AutoExposureMax if Min>Max." input SetAutoExposureMax(float) : "Set AutoExposureMax, the maximum amount that the player's pupils are allowed to be open when automatically adjusting." input SetBloomScale(float) : "Set BloomScale, a scalar for the size of light bloom effects." input UseDefaultAutoExposure(void) : "Use the default AutoExposureMin and AutoExposureMax values." input UseDefaultBloomScale(void) : "Use the default BloomScale." ] @PointClass base(MyTargetName2, MyAngles1) iconsprite("editor/env_wind.vmt") = env_wind : "An entity to control wind in the map. Unfinished. This entity is not reset upon newround." [ minwind(integer) : "Min Normal Speed" : 20 : "Minimum speed of the wind while idling." maxwind(integer) : "Max Normal Speed" : 50 : "Maximum speed of the wind while idling." mingust(integer) : "Min Gust Speed" : 100 : "Minimum speed of wind gusts." maxgust(integer) : "Max Gust Speed" : 250 : "Maximum speed of wind gusts." mingustdelay(float) : "Min Gust Delay" : "10.0" : "Minimum time delay between random gusts." maxgustdelay(float) : "Max Gust Delay" : "20.0" : "Maximum time delay between random gusts." gustduration(float) : "Gust Duration" : "5.0" : "How long will the wind gust for." gustdirchange(integer) : "Max Gust Dir Change (deg)" : 20 : "Maximum amount that the wind's direction changes due to a gust." ] @BaseClass base(MyTargetName3) = MyFilter1 [ Negated(choices) : "Filter Mode" : 0 : "If set to Allow, only entities who match the criteria will pass the filter. "+ "If set to Disallow, only entities who do NOT match the criteria will pass the filter." = [ 0 : "Allow entities that match criteria" 1 : "Disallow entities that match criteria" ] input TestActivator(void) : "Test the activator against the filter and fires OnPass or OnFail output." output OnPass(void) : "Fired in response to TestActivator input if the activator passes the filter." output OnFail(void) : "Fired in response to TestActivator input if the activator fails to pass the filter." ] @FilterClass base(MyFilter1) color(32 200 32) iconsprite("editor/filter_class.vmt") = filter_activator_class : "A filter that filters by the class name of the activator." [ filterclass(string) : "Filter Classname" : "" : "The class name to filter by. If the filter mode is Allow, only entities whose "+ "class name matches the given string will pass the filter. If the filter mode is Disallow, "+ "all entities EXCEPT those whose class name matches the given string will pass the filter." ] @FilterClass base(MyFilter1) color(32 200 32) iconsprite("editor/filter_name.vmt") = filter_activator_name : "A filter that filters by the name of the activator." [ filtername(string) : "Filter Name" : "" : "The name to filter by. If the filter mode is Allow, only entities whose "+ "name matches the given string will pass the filter. If the filter mode is Disallow, "+ "all entities EXCEPT those whose name matches the string will pass the filter." ] @FilterClass base(MyFilter1) color(32 200 32) = filter_activator_team : "A filter that filters by the team of the activator." [ filterteam(choices) : "Filter Team Number" : 2 : "The team number to filter by. If the filter mode is Allow, only entities whose "+ "team number matches the given team will pass the filter. If the filter mode is Disallow, "+ "all entities EXCEPT those whose team number matches the given team will pass the filter." = [ 2 : "Terrorists" 3 : "Counter-Terrorists" ] ] @FilterClass base(MyFilter1, MyDmgType1) color(32 200 32) = filter_damage_type : "A damage filter that filters by the type of damage inflicted. This can only be used as a damage filter, not as an activator filter. "+ "The damage type to filter by. If the filter mode is Allow, only damage types that "+ "match will pass the filter. If the filter mode is Disallow, all damage types EXCEPT those who match will pass the filter." [] @FilterClass base(MyFilter1) color(32 200 32) iconsprite("editor/filter_multiple.vmt") = filter_multi : "A filter that tests the activator against multiple filters. This allows you to build more complex filters, such as"+ "'Allow anyone on Team 1 who is also class engineer', or 'Allow everyone except classes npc_zombie and npc_headcrab'." [ Negated(choices) : "Negate Outcome" : 0 : "Whether to negate the result of the subfilters, after combining them using the Logic Type chosen.\n"+ "Negating the outcome using the AND logic type means that any subfilter must fail for this filter to pass.\n"+ "Negating the outcome using the OR logic type means that all subfilters must fail for this filter to pass." = [ 0 : "No" 1 : "Yes" ] filtertype(choices) : "Logic Type" : 0 = [ 0 : "AND (all filters must pass)" 1 : "OR (any filter must pass)" ] Filter01(filterclass) : "Filter 1" : "" : "Activator filter to test." Filter02(filterclass) : "Filter 2" : "" : "Activator filter to test." Filter03(filterclass) : "Filter 3" : "" : "Activator filter to test." Filter04(filterclass) : "Filter 4" : "" : "Activator filter to test." Filter05(filterclass) : "Filter 5" : "" : "Activator filter to test." ] @SolidClass base(MyTargetName3) color(0 255 192) = func_areaportal : "Optimization tool. A portal brush used to manage visibility in maps. Portals define areas, which are spaces " + "that are connected in the map. Both sides of a portal cannot touch the same area, for example, a " + "doughnut shaped map would require at least two portals to divide the map into two areas. A linear map " + "could be divided into two areas with a single area portal." [ StartOpen(choices) : "Initial State" : 0 = [ 0 : "Closed" 1 : "Opened" ] target(target_destination) : "Linked Door Name" : "" : "The name of a door whose open/closed state controls the on/off state of this area portal." PortalVersion(integer) readonly : "Portal Version (Read-Only)" : 1 : "(Don't change). Differentiates between shipping HL2 maps and maps using new engine features. 1 - new engine features." input Open(void) : "Open the portal. When the portal is open is can be seen through." input Close(void) : "Close the portal. When the portal is closed it cannot be seen through." input Toggle(void) : "Toggle the open/closed state of the portal." ] @SolidClass base(MyTargetName3) color(0 255 192) sphere(FadeStartDist) sphere(FadeDist) = func_areaportalwindow : "Optimization tool. The entity must be bordered on all sides but two by world brushes; the other two sides must touch two completely separate areas that are not connected except by another areaportal elsewhere in the map.\n\n"+ "Create a func_brush (or some other) entity that surrounds this one and set it as the Rendered Window. It will fade from full opacity (at distances further than the Fade End Distance) to a level of translucency defined by the Translucency Limit (at distances closer than the Fade Start Distance).\n\n"+ "The optimization comes from the fact that nothing in the area beyond this entity will be rendered if the camera is further than Fade End Distance from it." [ target(target_destination) : "Rendered Window" : "" : "The name of a brush entity to render as the window. It should surround and encompass the areaportalwindow." BackgroundBModel(target_destination) : "Foreground Brush-entity" : "" : "(Optional) Name of an entity to use as a 'Foreground' bmodel--it's teleported to the areaportal's location at map start (but it leaves behind its clipping hulls) and is drawn regardless of camera position and fade distances." FadeStartDist(float) : "Fade Start Distance" : "128.0" : "When the viewer is closer than this distance, the Rendered Window's alpha is set to Translucency Limit." FadeDist(float) : "Fade End Distance" : "512.0" : "When the viewer is further than this distance, the areaportalwindow prevents rendering of the area behind it." TranslucencyLimit(float) : "Translucency Limit" : "0.2" : "Alpha (opacity level) of the Rendered Window at distances less than the Fade Start Distance. Measured as a float from 0 (invisible) to 255 (opaque)." PortalVersion(integer) readonly : "Portal Version (Read-Only)" : 1 : "(Don't change). Differentiates between shipping HL2 maps and maps using new engine features. 1 - new engine features." ] @SolidClass base(MyTargetName2, MyEnableDisable4, MyTrigger2, MyOrigin1) color(255 0 0) = func_bomb_target : "Bomb target. Plant C4 here. If there's a func_bomb_target in the map, a random Terrorist will automatically be equipped with C4.\n\n"+ "This entity IS NOT RESET upon newround. Don't put it in movement hierarchies with entities that are. If you need it to move with an entity that's reset upon newround, use a logic_measure_movement point-entity." [ input BombExplode(void) : "Causes the bomb target to act as if C4 has exploded." output BombExplode(void) : "Fires when C4 explodes" ] @BaseClass = func_breakable_ [ health(integer) : "Health" : 0 : "Number of points of damage to take before breaking. 0 means don't break." propdata(choices) : "Prop Data" : 0 : "Set to the best approximation of the size and material of this entity's brushes. If set, it will override this entity's health and damage taken from various weapons. See the prodata.txt file in the scripts directory of your mod to get a detailed list of what each propdata entry specifies." = [ 0 : "None" 1 : "Wooden.Tiny" 2 : "Wooden.Small" 3 : "Wooden.Medium" 4 : "Wooden.Large" 5 : "Wooden.Huge" 6 : "Metal.Small" 7 : "Metal.Medium" 8 : "Metal.Large" 9 : "Cardboard.Small" 10 : "Cardboard.Medium" 11 : "Cardboard.Large" 12 : "Stone.Small" 13 : "Stone.Medium" 14 : "Stone.Large" 15 : "Stone.Huge" 16 : "Glass.Small" 17 : "Plastic.Small" 18 : "Plastic.Medium" 19 : "Plastic.Large" 20 : "Pottery.Small" 21 : "Pottery.Medium" 22 : "Pottery.Large" 23 : "Pottery.Huge" 24 : "Glass.Window" ] material(choices) : "Material Type" : 0 : "Set to the material type of the brush. Used to decide what sounds to make when damaged, and what gibs to produce when broken." = [ 0 : "Glass" 1 : "Wood" 2 : "Metal" // 3 : "Flesh" 4 : "CinderBlock" // 5 : "Ceiling Tile" // 6 : "Computer" 7 : "Unbreakable Glass" 8 : "Rocks" ] gibdir(angle) : "Precise Gib Direction" : "0 0 0" : "Specifies the direction to throw gibs when this breakable breaks. Be sure to select Use Precise Gib Dir in the Gibs Direction field!" explosion(choices) : "Gibs Direction" : 0 : "Used to decide which direction to throw gibs when broken." = [ 0 : "Random" 1 : "Relative to Attack" 2 : "Use Precise Gib Direction" ] ] @SolidClass base(MyTargetName3, MyParentName2, MyTeamNum1, func_breakable_, MyPhysDmgScale1, MyDmgBreak1, MyDmgConstraint1, MyDmgFilter1, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderVisibleBrushes3, MyOrigin1) color(0 128 255) = func_breakable : "A brush entity that can be broken from damage, or an input." [ spawnflags(flags) = [ 1 : "Only Break on Trigger" : 0 2 : "Break on Touch" : 0 4 : "Break on Pressure" : 0 512 : "Break immediately on Physics" : 0 1024 : "Don't take physics damage" : 0 ] ] @BaseClass = func_breakable_surf_ [ spawnflags(flags) = [ 1 : "Crack Decals" : 0 2 : "Take Damage from Held Objects" : 0 4 : "Break on Pressure" : 0 512 : "Break immediately on Physics" : 0 1024 : "Don't take physics damage" : 0 ] propdata(choices) : "Prop Data" : 24 = [ 24 : "Glass.Window" ] material(choices) : "Material Type" : 0 = [ 0 : "Glass" ] surfacetype(choices) : "Surface Type" : 0 = [ 0 : "Glass" ] fragility(integer) : "Fragility" : 100 : "If the 'Surface Type' is set to Glass, this value sets how fragile the glass pieces are after the surface has been broken." upperleft(vector) readonly : "Upper-left corner (Read-Only)" upperright(vector) readonly : "Upper-right corner (Read-Only)" lowerleft(vector) readonly : "Lower-left corner (Read-Only)" lowerright(vector) readonly : "Lower-right corner (Read-Only)" error(string) readonly : "Error Level (Read-Only)" : "" : "Defined automatically by Hammer; tells HL2 whether this is a valid func_breakable_surf." input Shatter(vector) : "Shatter the window. Input a vector. First two coordinates are the X,Y center of the shattering (as values from from 0-1). The third coordinate is the radius of the shatter, in units. Format: " ] @SolidClass base(MyTargetName3, MyParentName2, func_breakable_surf_, MyDmgBreak1, MyDmgFilter1, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderVisibleBrushes2) color(0 128 255) quadbounds() = func_breakable_surf : "A breakable surface, for partially breakable glass. All faces but the desired visible one must be marked as NODRAW and that" + " visible face must be a rectangle. The material applied to the visible face must be set up to be breakable. Suggested material: 'glass/glasswindowbreak070a'." [] @BaseClass = MySolidType1 [ solidbsp(choices) : "Solid Type" : 0 : "Set this to BSP if this brush is in heirarchy with a moving object of some kind, and the player can stand on this brush." = [ 0 : "VPhysics" 1 : "BSP" ] ] @BaseClass = func_brush_ [ Solidity(choices) : "Solidity" : 0 : "Used to control the solidity of these brushes." = [ 0 : "Toggle" 1 : "Never Solid" 2 : "Always Solid" ] ] @SolidClass base(MyTargetName2, MyTeamNum1, MyEnableDisable4, func_brush_, MySolidType1, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderVisibleBrushes3, MyOrigin1) = func_brush : "A brush entity with various features." [] @BaseClass = MyButtonInputs1 [ input Lock(void) : "Lock the button, preventing it from functioning." input Unlock(void) : "Unlock the button, allowing it to function." output OnPressed(void) : "Fired when the button is pressed." output OnUseLocked(void) : "Fired when the button is used while locked." ] @BaseClass base(MyButtonInputs1) = MyButtonInputs2 [ input Press(void) : "Activate the button, as if it was pressed." output OnDamaged(void) : "Fired when the button is damaged." output OnIn(void) : "Fired when the button reaches the in/pressed position." output OnOut(void) : "Fired when the button reaches the out/released position." ] @BaseClass = MyButtonSounds1 [ sounds(choices) : "Sounds" : 0 : "Sound played when the player presses the button." = [ 0 : "None (Silent)" // common/null.wav 1 : "Big Zap & Warmup (1.08 sec)" // buttons/button1.wav 2 : "Access Denied (0.70 sec)" 3 : "Access Granted (0.21 sec)" 4 : "Quick Combolock (0.99 sec)" 5 : "Power Deadbolt 1 (1.05 sec)" 6 : "Power Deadbolt 2 (0.57 sec)" // 7 : "Plunger" // buttons/button7.wav 8 : "Small Zap (0.64 sec)" 9 : "Keycard Sound (0.28 sec)" 10 : "Buzz (0.19 sec)" 11 : "Buzz Off (0.47 sec)" // buttons/button11.wav 12 : "Doors: Latch Locked (0.55 sec)" // doors/latchlocked2.wav 13 : "Doors: Latch Unlocked (0.49 sec)" // doors/latchunlocked1.wav 14 : "Light: Lightswitch (0.08 sec)" // buttons/lightswitch2.wav 15 : "Tech: Bleek (0.03 sec)" // buttons/button15.wav 16 : "Tech: Small Deny (0.06 sec)" 17 : "Tech: Small Doop (0.09 sec)" 18 : "Tech: Small Tech Deny (0.19 sec)" // 20 : "roomy beep" // buttons/button20.wav 34 : "Tech: Small Click Bleep (0.21 sec)" // buttons/button24.wav 21 : "Rotation: Turn + Squeak (0.90 sec)" // buttons/lever1.wav 22 : "Rotation: Lever + Gas (1.98 sec)" 23 : "Rotation: Ratchet + Squeak (1.72 sec)" 24 : "Rotation: Chain (0.78 sec)" 25 : "Rotation: Latch + Gas (1.60 sec)" 26 : "Rotation: Latch + Metal Thud (0.95 sec)" 27 : "Rotation: Ratchet (0.26 sec)" 28 : "Rotation: Lever (0.54 sec)" // 31 : "shock buzz" // buttons/button21.wav // 32 : "clickbeep" // buttons/button22.wav // 33 : "tech blip" // buttons/button23.wav // 35 : "small high blip" // buttons/button12.wav // 36 : "small tech fuzz blip" // buttons/button13.wav // 37 : "small click bleep (change to lightswitch)" // buttons/button14.wav (same as buttons/button24.wav) 19 : "Combine: Screen Fuzz (0.69 sec)" // buttons/button19.wav 40 : "Combine: Door Locked (0.78 sec)" // buttons/combine_button_locked.wav 41 : "Combine: Blip Growl (0.60 sec)" // buttons/combine_button1.wav 42 : "Combine: Squick Growl (0.90 sec)" 43 : "Combine: Whine Purr (0.75 sec)" // 44 : "combine click talk" // buttons/combine_button4.wav 45 : "Combine: Whine Purr Revers (0.83 sec)" // 46 : "combine click fizz (deny)" // buttons/combine_button6.wav 47 : "Combine: Click Talker (0.62 sec)" ] ] @BaseClass = func_button_ [ movedir(angle) : "Move Direction (Pitch Yaw Roll)" : "0 0 0" : "Specifies the direction of motion to move when the button is used." speed(float) : "Move Speed" : "10.0" : "The speed that the button moves, in units per second." lip(float) : "Lip" : "4.0" : "The amount, in units, of the button to leave sticking out of the wall it recedes into when pressed. Negative values make the button recede even further into the wall. 0 = default value (4)." wait(float) : "Delay Before Reset (-1 stay)" : "1.0" : "Amount of time, in seconds, after the button has been pressed before it returns to the starting position. Once it has returned, it can be used again. If the value is set to -1, the button never returns." sounds(choices) = [] locked_sound(choices) : "Locked Sound" : 0 : "Sound played when the player tries to use the button, and fails because it's locked. See 'Sounds' for more sounds." = [ 0 : "None" 1 : "Big Zap & Warmup (1.08 sec)" 2 : "Access Denied (0.70 sec)" 5 : "Power Deadbolt 1 (1.05 sec)" 6 : "Power Deadbolt 2 (0.57 sec)" 8 : "Small Zap (0.64 sec)" 10 : "Buzz (0.19 sec)" 11 : "Buzz Off (0.47 sec)" 12 : "Doors: Latch Locked (0.55 sec)" 16 : "Tech: Small Deny (0.06 sec)" 18 : "Tech: Small Tech Deny (0.19 sec)" 24 : "Rotation: Chain (0.78 sec)" 26 : "Rotation: Latch + Metal Thud (0.95 sec)" 27 : "Rotation: Ratchet (0.26 sec)" 40 : "Combine: Button Locked (0.78 sec)" 41 : "Combine: Blip Growl (0.60 sec)" 42 : "Combine: Squick Growl (0.90 sec)" 43 : "Combine: Whine Purr (0.75 sec)" 47 : "Combine: Click Talker (0.62 sec)" ] unlocked_sound(choices) : "Unlocked Sound" : 0 : "Sound played when the button is unlocked. See 'Sounds' for more sounds." = [ 0 : "None" 1 : "Big Zap & Warmup (1.08 sec)" 3 : "Access Granted (0.21 sec)" 4 : "Quick Combolock (0.99 sec)" 5 : "Power Deadbolt 1 (1.05 sec)" 6 : "Power Deadbolt 2 (0.57 sec)" 8 : "Small Zap (0.64 sec)" 9 : "Keycard Sound (0.28 sec)" 10 : "Buzz (0.19 sec)" 13 : "Doors: Latch Unlocked (0.49 sec)" 14 : "Light: Lightswitch (0.08 sec)" 15 : "Tech: Bleek (0.03 sec)" 17 : "Tech: Small Doop (0.09 sec)" 34 : "Tech: Small Click Bleep (0.21 sec)" 24 : "Rotation: Chain (0.78 sec)" 26 : "Rotation: Latch + Metal Thud (0.95 sec)" 27 : "Rotation: Ratchet (0.26 sec)" 41 : "Combine: Blip Growl (0.60 sec)" 45 : "Combine: Whine Purr Revers (0.83 sec)" 47 : "Combine: Click Talker (0.62 sec)" ] ] @SolidClass base(MyTargetName3, MyParentName2, MyMaster1, MyTeamNum1, MyAngles1, func_button_, MyButtonSounds1, MyButtonInputs2, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderVisibleBrushes3, MyOrigin1) color(0 128 32) = func_button : "A brush entity that's designed to be used for a player-useable button. When used by the player, it moves to a pressed position." [ spawnflags(flags) = [ 1 : "Don't move" : 0 32 : "Toggle" : 0 256 : "Touch Activates" : 0 512 : "Damage Activates" : 0 1024 : "Use Activates" : 1 2048 : "Starts Locked" : 0 4096 : "Sparks" : 0 ] ] @SolidClass base(MyTargetName2, MyTeamNum1, MyEnableDisable4, MyTrigger2, MyOrigin1) color(0 255 32) = func_buyzone: "Buy zone. Buy weapons here. This entity IS NOT RESET upon newround. Don't put it in movement hierarchies with entities that are. If you need it to move with an entity that's reset upon newround, use a logic_measure_movement point-entity." [] @SolidClass base(MyTargetName3) = func_clip_vphysics : "A brush entity that's considered solid to vphysics." [ filtername(filterclass) : "Filter Name" : "" : "The name of a filter-entity to control which objects will collide with the func_clip_vphysics. See also filter_activator_name." ] @BaseClass = func_conveyor_ [ spawnflags(flags) = [ 1 : "No Push" : 0 2 : "Not Solid" : 0 ] movedir(angle) : "Move Direction (Pitch Yaw Roll)" : "0 0 0" : "The direction conveyor moves." speed(float) : "Conveyor Speed" : "100.0" input ToggleDirection(void) : "ToggleDirection" // input SetSpeed(integer) : "SetSpeed" // BUG ] @SolidClass base(MyTargetName3, MyParentName2, MyTeamNum1, MyAngles1, func_conveyor_, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderVisibleBrushes3, MyOrigin1) = func_conveyor : "Conveyor belt." [] @SolidClass base(MyVBSP1) color(0 192 32) = func_detail : "An entity that turns its brushes into detail brushes. Detail brushes do NOT contribute to visibility in the PVS. World geometry "+ "is not clipped to detail brushes, so if you have a small detail clump attached to a wall, the wall won't be cut up by the detail brush."+ "func_detail is great for high-frequency brush geometry that's visual detail only. It's also ideal for reducing map VIS time." [] @BaseClass = MyDoor1 [ speed(float) // speed(float) : "Speed" : "100.0" : "The speed at which the door moves." lip(float) : "Lip" : "0.0" : "The amount, in units, of the button to leave sticking out of the wall it recedes into when pressed. Negative values make the button recede even further into the wall." wait(float) : "Delay Before Reset (-1 stay)" : "4.0" : "Amount of time, in seconds, after the door has opened before it closes. Once it has closed, it can be used again. If the value is set to -1, the door never closes itself." dmg(float) : "Block Damage" : "0.0" : "Amount of damage done to entities that block the movement of this door, per frame." forceclosed(choices) : "Force Closed" : 0 : "If set, this door will close no matter what. Useful for doors that have to close even if the player tries to block them with objects." = [ 0 : "No" 1 : "Yes" ] ignoredebris(choices) : "Ignore Debris" : 0 : "If set this will change the door's collision group to one that ignore collisions with debris objects (note that this is not compatible with the non-solid-to-player spawnflag)." = [ 0 : "No" 1 : "Yes" ] noise1(sound) : "Start Sound" : "" : "Sound to play when the door starts moving." noise2(sound) : "Stop Sound" : "" : "Sound to play when the door stops moving." loopmovesound(choices) : "Loop Moving Sound?" : 0 : "If set to true, the door's 'Start Sound' will be continually looped until the door finishes moving." = [ 0 : "No" 1 : "Yes" ] locked_sound(sound) : "Locked Sound" : "" : "Sound played when the player tries to use the door, and fails because it's locked." unlocked_sound(sound) : "Unlocked Sound" : "" : "Sound played when the button is door." input Open(void) : "Open the door, if it is not fully open." input Close(void) : "Close the door, if it is not fully closed." input Toggle(void) : "Toggle the door between open and closed." input Lock(void) : "Lock the door." input Unlock(void) : "Unlock the door." input SetSpeed(float) : "Set the door speed." input SetToggleState(float) : "Set the door state open/closed without update." output OnClose(void) : "Fired when the door starts closing." output OnOpen(void) : "Fired when the door starts opening." output OnFullyOpen(void) : "Fired when the door reaches the fully open position." output OnFullyClosed(void) : "Fired when the door reaches the fully closed position." output OnBlockedClosing(void) : "Fired when the door is blocked while closing." output OnBlockedOpening(void) : "Fired when the door is blocked while opening." output OnUnblockedClosing(void) : "Fired when the door is unblocked while closing." output OnUnblockedOpening(void) : "Fired when the door is unblocked while opening." ] @BaseClass = func_door_ [ spawnflags(flags) = [ 1 : "Starts Open" : 0 4 : "Non-solid to Player" : 0 8 : "Passable" : 0 32 : "Toggle" : 0 256 : "Use Opens" : 0 // 512 : "NPCs Can't" : 0 1024 : "Touch Opens" : 1 2048 : "Starts locked" : 0 4096 : "Door Silent" : 0 ] movedir(angle) : "Move Direction (Pitch Yaw Roll)" : "0 0 0" : "The direction the door will move, when it opens." ] @SolidClass base(MyTargetName3, MyParentName2, MyMaster1, MyTeamNum1, MyAngles1, func_door_, MyDoor1, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderVisibleBrushes3, MyOrigin1) color(0 128 32) = func_door : "A brush entity for use as a player-useable door." [ speed(float) : "Move Speed" : "100.0" : "The speed at which the door moves." ] @BaseClass = func_door_rotating_ [ spawnflags(flags) = [ 1 : "Starts Open" : 0 2 : "Reverse Dir" : 0 4 : "Non-solid to Player" : 0 8 : "Passable" : 0 16 : "One-way" : 0 32 : "Toggle" : 0 64 : "X Axis" : 0 128 : "Y Axis" : 0 256 : "Use Opens" : 0 // 512 : "NPCs Can't" : 0 1024 : "Touch Opens" : 1 2048 : "Starts locked" : 0 4096 : "Door Silent" : 0 ] distance(float) : "Rotation Distance (deg)" : "90.0" : "The amount, in degrees, that the button should rotate when it's pressed." ] @SolidClass base(MyTargetName3, MyParentName2, MyMaster1, MyTeamNum1, MyAngles1, MySolidType1, func_door_rotating_, MyDoor1, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderVisibleBrushes3, MyOrigin1) color(0 128 32) = func_door_rotating : "A brush entity for use as a rotating player-useable door." [ speed(float) : "Rotation Speed (deg/sec)" : "100.0" : "The speed at which the door rotates." ] @BaseClass = MyDust1 [ SizeMin(float) SizeMax(float) SpawnRate(integer) : "Particle Per Second" : 20 : "Number of particles to spawn, per second." SpeedMax(integer) : "Max Particle Speed" : 13 : "Maximum speed that the particles can move after spawning." LifetimeMin(integer) : "Min Particle Lifetime" : 2 : "Minimum number of seconds until each particle dies. Particles live for a random duration between this and 'Maximum Particle Lifetime'." LifetimeMax(integer) : "Max Particle Lifetime" : 5 : "Maximum number of seconds until each particle dies. Particles live for a random duration between 'Minimum Particle Lifetime' and this." DistMax(integer) : "Max Visible Distance" : 1024 : "Maximum distance at which particles are visible. They fade to translucent at this distance." Frozen(choices) : "Frozen" : 0 : "When set, this entity spawns the number of particles in SpawnRate immediately, and then goes inactive." = [ 0 : "No" 1 : "Yes" ] Color(color255) : "FX Color (R G B)" : "255 255 255" : "The FX Color. Format: ." Alpha(integer) input TurnOn(void) : "Turn this entity on." input TurnOff(void) : "Turn this entity off." ] @SolidClass base(MyTargetName3, MyEnableDisable2_, MyDust1) color(255 255 255) = func_dustcloud : "A brush entity that spawns a translucent dust cloud within its volume." [ SizeMin(float) : "Min Particle Size" : "100.0" SizeMax(float) : "Max Particle Size" : "200.0" Alpha(integer) : "FX Alpha (0-255)" : 30 : "The FX Alpha. 0 = fully transparent. 255 = fully opaque." ] @SolidClass base(MyTargetName3, MyEnableDisable2_, MyDust1) color(255 255 255) = func_dustmotes : "A brush entity that spawns a translucent dust cloud within its volume." [ SizeMin(float) : "Min Particle Size" : "10.0" SizeMax(float) : "Max Particle Size" : "20.0" Alpha(integer) : "FX Alpha (0-255)" : 255 : "The FX Alpha. 0 = fully transparent. 255 = fully opaque." ] @BaseClass = func_fish_pool_ [ model(studio) : "World Model" : "models/props/de_inferno/goldfish.mdl" fish_count(integer) : "Fish Count" : 8 : "Number of Fish in this Pool" max_range(float) : "Max Range" : "128.0" : "Radius in which the models are allowed to swim. Max = 255." ] @PointClass base(func_fish_pool_, MyAngles2) sphere(max_range) studioprop() = func_fish_pool : "Fish pool. Creates a number of models and allows them to swim around within the entity's radius." [] @SolidClass base(MyTargetName2, MyEnableDisable4, MyTrigger2, MyOrigin1) color(255 0 0) = func_hostage_rescue : "Hostage rescue zone. Bring hostages here. This entity IS NOT RESET upon newround. Don't put it in movement hierarchies with entities that are. If you need it to move with an entity that's reset upon newround, use a logic_measure_movement point-entity." [] @SolidClass base(MyTargetName2, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderVisibleBrushes3, MyOrigin1) = func_illusionary : "A nonsolid brush entity. This entity is deprecated. It has been superseded by func_brush." [] @SolidClass = func_ladder : "A ladder. Tie any brush to this entity to make it climbable." [] @BaseClass = func_lod_ [ DisappearDist(float) : "Disappear Distance" : "2000.0" : "The entity is always visible at distances closer than this to it. The entity is never visible at distances further from it than this plus the CVar lod_TransitionDist. Between the two, the entity will disappear if it's not seen or much motion is occurring." Solid(choices) : "Solid" : 0 : "Set whether or not these brushes should collide with other entities." = [ 0 : "Yes" 1 : "No" ] ] @SolidClass base(MyTargetName3, MyParentName2, MyTeamNum1, MyAngles1, func_lod_, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderVisibleBrushes3, MyOrigin1) sphere(DisappearDist) = func_lod : "Brush that fades out over a specified distance. Useful for creating details that don't need to be rendered from far away, improving performance." [] @BaseClass = func_monitor_ [ target(target_destination) : "Camera Name" : "" : "Name of the point_camera whose view should be rendered on the monitor faces." input SetCamera(string) : "Sets the camera to use for this monitor. Takes the name of a point_camera entity in the map." ] @SolidClass base(MyTargetName3, MyParentName2, MyTeamNum1, MyEnableDisable3, func_monitor_, func_brush_, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderVisibleBrushes3, MyOrigin1) = func_monitor : "A monitor that renders the view from a given point_camera entity. Must use a monitor texture, like dev/tvmonitor1a. Note that you aren't allowed to have one monitor visible to another; "+ "if you use multiple monitors, make sure they're in leaves that can't see each other!" [] @BaseClass = MyMoveLinear1 [ movedir(angle) : "Move Direction (Pitch Yaw Roll)" : "0 0 0" : "The direction the brush will move, when told to 'Open'." movedistance(float) : "Move Distance" : "100.0" : "The distance from the starting point that the water brush should move, in units." startposition(float) : "Start Position" : "0.0" : "Position of the brush when spawned. The range is a value between 0.0 and 1.0, where 0 is the starting position and 1 is the starting position + (move direction * move distance)." speed(float) : "Speed" : "100.0" : "The speed that the brush moves, in units per second." startsound(sound) : "Start Sound" : "" : "Sound played when the water brush starts moving." stopsound(sound) : "Stop Sound" : "" : "Sound played when the water brush stops moving." input Open(void) : "Move the brush to the end position (starting position + (move direction * move distance))." input Close(void) : "Move the brush to the starting position." input SetPosition(float) : "Move the brush to a specific position between 0.0 and 1.0, where 0 is the starting position and 1 is the starting position + (move direction * move distance)." output OnFullyOpen(void) : "Fired when the brush reaches the end position (starting position + (move direction * move distance))." output OnFullyClosed(void) : "Fired when the brush reaches the starting position." ] @BaseClass = func_movelinear_ [ spawnflags(flags) = [ 8 : "Not Solid" : 0 ] blockdamage(float) : "Block Damage" : "0.0" : "The amount of damage to do to any entity that blocks the brushes, per frame." ] @SolidClass base(MyTargetName3, MyParentName2, MyTeamNum1, MyAngles1, MyMoveLinear1, func_movelinear_, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderVisibleBrushes3, MyOrigin1) = func_movelinear : "A brush entity that moves linearly along a given distance, in a given direction." [] @SolidClass base(MyTargetName2) color(32 64 128) = func_occluder : "A occluder brush used to manage dynamic visibility in maps. Occluders are used to dynamically determine what things are behind them, to prevent trying to draw them at all." [ StartActive(choices) : "Initial State" : 1 = [ 0 : "Inactive" 1 : "Active" ] input Deactivate(void) : "Deactivate the occluder, When inactive, it can be seen through." input Activate(void) : "Activate the occluder. When active, it cannot be seen through." input Toggle(void) : "Toggle the active/inactive state of the occluder." ] @BaseClass = func_physbox_ [ spawnflags(flags) = [ 4096 : "Start Asleep (don't fall to ground)" : 0 32768 : "Motion Disabled" : 0 16384 : "Debris (don't collide with the player or other debris, don't fire triggers)" : 0 524288 : "Generate OnPlayerUse on +USE" : 0 1 : "Only Break on Trigger" : 0 2 : "Break on Touch" : 0 4 : "Break on Pressure" : 0 512 : "Break immediately on Physics" : 0 1024 : "Don't take physics damage" : 0 ] notsolid(choices) : "Solid to World" : 0 = [ 0 : "Yes" 1 : "No" ] output OnDamaged(void) : "Fired when this entity is damaged." ] @SolidClass base(MyTargetName3, MyTeamNum1, MyAngles1, func_breakable_, func_physbox_, MyPhysInputs2, MyPhysMass1, MyPhysParams1, MyPhysDmgScale1, MyDmgBreak1, MyDmgConstraint2, MyDmgType2, MyDmgNoForces1, MyDmgFilter1, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderDisableShadows3, MyRenderVisibleBrushes3, MyOrigin1) color(255 0 255) = func_physbox : "A brush entity that's physically simulated." [] @SolidClass base(func_physbox) = func_physbox_multiplayer : "This class is the same as func_physbox, except the runtime collisions use a more bouncy method that avoids the prediction errors normal physics objects get." [ spawnflags(flags) = [ 4096 : "Start Asleep (don't fall to ground)" : 0 32768 : "Motion Disabled" : 0 16384 : "Debris (don't collide with the player or other debris, don't fire triggers)" : 0 524288 : "Generate OnPlayerUse on +USE" : 0 1 : "Only Break on Trigger" : 0 // 2 : "Break on Touch" : 0 // 4 : "Break on Pressure" : 0 512 : "Break immediately on Physics" : 0 1024 : "Don't take physics damage" : 0 ] ] @BaseClass = MyPlat1 [ height(float) : "Move Distance" : "-100.0" : "The vertical distance from the starting position that this platform moves. If negative, the platform will lower." speed(float) : "Move Speed" : "50.0" : "Speed at which the platform moves. 0 = default value (150)." noise1(sound) : "Start Sound" : "" : "Sound to play when the platform starts moving." noise2(sound) : "Stop Sound" : "" : "Sound to play when the platform stops moving." volume(float) : "Sound Volume" : "0.85" : "The volume of the sounds. 1.0 is the loudest. 0 = default value (0.85)." input Toggle(void) : "Toggles the platform's state." input GoUp(void) : "Tells the platform to go up." input GoDown(void) : "Tells the platform to go down." ] @SolidClass base(MyTargetName3, MyParentName2, MyTeamNum1, MyPlat1, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderVisibleBrushes3, MyOrigin1) = func_plat : "A brush entity that moves vertically." [ spawnflags(flags) = [ 1 : "Toggle" : 1 ] ] @BaseClass = func_platrot_ [ rotation(float) : "Rotation Distance (deg)" : "360.0" : "The amount this platform should rotate as it moves, in degrees." ] @SolidClass base(MyTargetName3, MyParentName2, MyTeamNum1, func_platrot_, MyPlat1, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderVisibleBrushes3, MyOrigin1) = func_platrot : "A brush entity that moves vertically, and can rotate while doing so." [ spawnflags(flags) = [ 1 : "Toggle" : 1 64 : "X Axis" : 0 128 : "Y Axis" : 0 ] ] @SolidClass base(MyTargetName3) color(255 255 255) = func_precipitation : "A brush entity that creates rain and snow inside its volume." [ preciptype(choices) : "Precipitation Type" : 0 = [ 0 : "Rain" 1 : "Snow" 3 : "Snowfall" 2 : "Ash" ] renderamt(integer) : "Density" : 100 : "Min = 0; Max = 255." ] @SolidClass base(MyTargetName3, MyTeamNum1, func_breakable_, MyPhysDmgScale1, MyDmgBreak1, MyDmgConstraint1, MyDmgNoForces1, MyDmgFilter1, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderVisibleBrushes3, MyOrigin1) color(255 0 255) = func_pushable : "Pushable object." [ spawnflags(flags) = [ 1 : "Only Break on Trigger" : 0 2 : "Break on Touch" : 0 4 : "Break on Pressure" : 0 512 : "Break immediately on Physics" : 0 1024 : "Don't take physics damage" : 0 128 : "Breakable" : 1 ] ] @BaseClass = func_rot_button_ [ spawnflags(flags) = [ 1 : "Not Solid" : 0 2 : "Reverse Dir" : 0 32 : "Toggle" : 0 64 : "X Axis" : 0 128 : "Y Axis" : 0 256 : "Touch Activates" : 0 // 512 : "Damage Activates" : 0 1024 : "Use Activates" : 0 // 2048 : "Starts Locked" : 0 4096 : "Sparks" : 0 ] distance(float) : "Rotation Distance (deg)" : "90.0" : "The amount, in degrees, that the button should rotate when it's pressed." speed(float) : "Rotation Speed (deg/sec)" : "45.0" : "The speed that the button rotates, in degrees per second." wait(float) : "Delay Before Reset (-1 stay)" : "1.0" : "Amount of time, in seconds, after the button has been pressed before it returns to the starting position. Once it has returned, it can be used again. If the value is set to -1, the button never returns." health(choices) : "Damage Activates" : 0 : "This button can be activated by damage." = [ 0 : "No" 1 : "Yes" ] ] @SolidClass base(MyTargetName3, MyParentName2, MyMaster1, MyTeamNum1, MyAngles1, func_rot_button_, MyButtonSounds1, MyButtonInputs2, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderVisibleBrushes3, MyOrigin1) color(0 128 32) = func_rot_button : "A brush entity that's designed to be used for a rotating player-useable button. When used by the player, it rotates to a pressed position." [] @BaseClass = func_rotating_ [ spawnflags(flags) = [ 1 : "Start ON" : 0 2 : "Reverse Direction" : 0 4 : "X Axis" : 0 8 : "Y Axis" : 0 16 : "Acc/Dcc" : 0 32 : "Fan Pain" : 0 64 : "Not Solid" : 0 128 : "Small Sound Radius" : 0 256 : "Medium Sound Radius" : 0 512 : "Large Sound Radius" : 0 ] maxspeed(float) : "Max Rotation Speed (deg/sec)" : "100.0" : "The maximum rotation speed of the brushes, in degrees per second." fanfriction(float) : "Friction" : "20.0" : "The amount of rotational friction. Use 'Acc/Dcc' spawnflag." message(sound) : "Rotating Sound" : "" : "Sound to play while rotating." volume(float) : "Sound Volume" : "10.0" : "The volume of the rotation sound (10 = loudest)." dmg(float) : "Block Damage" : "0.0" : "Damage done to any entity that blocks the rotation, per frame." input SetSpeed(float) : "Set the speed as a ratio of the specified Max Rotation Speed, where 0 is stopped and 1 is the Max Rotation Speed.." input Start(void) : "Start the rotator rotating." input Stop(void) : "Stop the rotator from rotating." input Toggle(void) : "Toggle the rotator between rotating and not rotating." input Reverse(void) : "Reverse the direction of rotation of the rotator." input StartForward(void) : "Start the rotator rotating forward." input StartBackward(void) : "Start the rotator rotating backward." input StopAtStartPos(void) : "Stop the rotator from rotating when it gets around to the start position again (on its rotation axis)." ] @SolidClass base(MyTargetName3, MyParentName2, MyTeamNum1, MyAngles1, func_rotating_, MySolidType1, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderVisibleBrushes3, MyOrigin1) = func_rotating : "A rotating brush entity." [] @SolidClass base(MyTargetName3, MyVBSP1) color(255 255 255) = func_smokevolume : "A brush entity that spawns smoke particles within its volume." [ spawnflags(flags) = [ 1 : "Emissive" : 0 ] ParticleDrawWidth(float) : "Particle Draw Width" : "120.0" : "The size of the particles, in units." ParticleSpacingDistance(float) : "Particle Spacing Distance" : "80.0" : "The distance between the particles inside the volume. The lower the number, the denser the particles, and the more overdraw there will be. It is best to keep it as high as you can without it looking bad." RotationSpeed(float) : "Rotation Speed (deg/sec)" : "10.0" : "The speed that the particles should rotate, in degrees per second." MovementSpeed(float) : "Movement Speed (units/sec)" : "10.0" : "The speed that the particles should move around, in units per second." material(material) : "Material" : "particle/smoke_grenade1.vmt" : "The material to use for the particles." Color1(color255) : "Particle Color1 (R G B)" : "255 255 255" Color2(color255) : "Particle Color2 (R G B)" : "255 255 255" Density(float) : "Particle Density (0-1)" : "0.5" DensityRampSpeed(float) : "Density Ramp Speed" : "1.0" : "Speed to go from density 0 to density 1." input SetRotationSpeed(float) : "Set the particle rotation speed (in degrees per second)." input SetMovementSpeed(float) : "Set the particle movement speed (in units per second)." input SetDensity(float) : "Set the particle density. It should be a range from 0 to 1." ] @BaseClass = MyTrain1 [ spawnflags(flags) = [ 1 : "No Pitch (X-rot)" : 0 2 : "No User Control" : 0 8 : "Not Solid" : 0 16 : "Fixed Orientation" : 0 128 : "Use BSP instead of VPhysics" : 0 256 : "Use 'Max Speed' for Sound Pitch" : 0 512 : "Is Unblockable by Player" : 0 ] target(target_destination) : "First Stop Target" : "" : "The name of the first path_track in the train's path. The train will spawn at this path_track. It will also turn to face direction indicated by the 'Orientation Type' setting." speed(float) : "Initial Speed" : "0.0" : "The speed that the train will move at after it spawns, 0 = stopped." startspeed(float) : "Max Speed" : "100.0" : "The maximum speed that this train can move. Any speeds applied to this train, such as by path_tracks or SetSpeed inputs, will be clipped to this maximum value." velocitytype(choices) : "Change Speed" : 0 : "The method through which this train changes its velocity as it moves along the path." = [ 0 : "Instantaneously" 1 : "Linear blend" 2 : "Ease in/ease out" ] orientationtype(choices) : "Change Angles" : 1 : "The method through which this train changes its orientation as it moves along the path." = [ 0 : "Never (fixed orientation)" 1 : "Near path_tracks" 2 : "Linear blend" 3 : "Ease in/ease out" ] wheels(float) : "Distance Between the Wheels" : "50.0" : "Used for turning and stopping." height(float) : "Height above Track" : "4.0" : "The height above the track that this train moves." bank(float) : "Bank Angle on Turns" : "0.0" : "The angle of slope on turns." StartSound(sound) : "Start Sound" : "" : "A sound played when the train starts moving." MoveSound(sound) : "Move Sound" : "" : "A sound that is played (and looped) while the train is moving." StopSound(sound) : "Stop Sound" : "" : "A sound played when the train stops moving." volume(integer) : "Sound Volume" : 10 : "(10 = loudest)" MoveSoundMinPitch(integer) : "Min Sound Pitch (1-255)" : 60 : "The sound pitch value that the train will approach as it comes to a stop." MoveSoundMaxPitch(integer) : "Max Sound Pitch (1-255)" : 200 : "The sound pitch value that the train will approach as it approaches its max speed." MovePingSound(sound) : "Move Ping Sound" : "" : "A sound that is played more frequently as the train speeds up." MoveSoundMinTime(float) : "Min Ping Sound Interval" : "0.0" : "Minimum interval at which to play the move ping sound." MoveSoundMaxTime(float) : "Max Ping Sound Interval" : "0.0" : "Maximum interval at which to play the move ping sound." input Stop(void) : "Stop the train." input StartForward(void) : "Start the train moving forward." input StartBackward(void) : "Start the train moving backward." input Toggle(void) : "Toggle the train between start and stop." input Resume(void) : "Resume the train moving in the current direction after it was stopped via the 'Stop' or 'Toggle' input." input Reverse(void) : "Reverse the direction of the train." input SetSpeed(float) : "Set the speed of the train, as a ratio of max speed [0, 1]" input SetSpeedDir(float) : "Set the speed of the train, as a ratio of max speed. Negative values reverse the direction [-1, 1]" input SetSpeedReal(float) : "Set the speed of the train. Must be a positive value from 0 to max speed." ] @SolidClass base(MyTargetName3, MyParentName2, MyTeamNum1, MyTrain1, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderVisibleBrushes3, MyOrigin1) color(255 192 0) = func_tanktrain : "A moving platform that the player can ride. It follows a path of path_track entities.\n" + "NOTE: Build your train so that the front of the train is facing down the X axis. " + "When it spawns it will automatically rotate to face the next path_track on the path." [] @BaseClass = func_tracktrain_ [ dmg(float) : "Block Damage" : "0.0" : "The amount of damage this train does to entities that block it." ] @SolidClass base(MyTargetName3, MyParentName2, MyTeamNum1, MyTrain1, func_tracktrain_, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderVisibleBrushes3, MyOrigin1) color(255 192 0) = func_tracktrain : "A moving platform that the player can ride. It follows a path of path_track entities.\n" + "NOTE: Build your train so that the front of the train is facing down the X axis. " + "When it spawns it will automatically rotate to face the next path_track on the path." [] @SolidClass base(MyTargetName3, MyParentName2) = func_traincontrols : "When used by the player, this entity overrides the player's controls to let them drive a train." [ target(target_destination) : "Train Name" : "" : "The target train to control when the player uses these controls." ] @SolidClass base(MyTargetName2, MyTeamNum1, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderVisibleBrushes3, MyOrigin1) = func_wall : "A brush entity wall. This entity is deprecated. It has been superseded by func_brush and func_detail." [] @SolidClass base(MyTargetName3, MyParentName2, MyTeamNum1, MyAngles1, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderVisibleBrushes3, MyOrigin1) = func_wall_toggle : "A brush entity that can be toggled between solid/visible and nonsolid/invisible. This entity is deprecated. It has been superseded by func_brush." [ spawnflags(flags) = [ 1 : "Starts Invisible" : 0 ] input Toggle(void) : "Toggle the brush between on (solid, visible) and off (nonsolid, invisible)." ] @SolidClass base(MyTargetName3, MyParentName2, MyAngles1, MyMoveLinear1, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderVisibleBrushes3, MyOrigin1) = func_water_analog : "A water brush entity that moves linearly along a given distance, in a given direction" [] @BaseClass = func_weight_button_ [ WeightToActivate(float) : "Weight To Activate" : "100.0" : "Stress to activate." output OnPressed(void) : "Fired when activated." output OnReleased(void) : "Fired when deactivated." ] @SolidClass base(MyTargetName3, MyTeamNum1, MyAngles1, func_weight_button_, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderVisibleBrushes3, MyOrigin1) color(0 128 32) = func_weight_button : "Button which activates after a specified amount of weight is touching it." [] @PointClass base(MyTargetName3, MyMaster1) iconsprite("editor/game_end.vmt") = game_end : "An entity that ends a multiplayer game." [ input EndGame(void) : "End the multiplayer game. Not uses 'Master' field." input Use(void) : "Same as 'EndGame' input, but this uses 'Master' field." ] @PointClass base(MyTargetName3, MyMaster1) = game_player_equip : "An entity that gives equipment to the player who activates it. If the 'Use Only' spawnflag isn't set, then players can just touch this entity to get the equipment." [ spawnflags(flags) = [ 1 : "Use Only" : 0 ] // Weapons weapon_knife(choices) : "KNIFE" : "" : "Knife [CT+T]" = [ "" : "No" 1 : "YES" ] weapon_glock(choices) : "(1-1) Glock" : "" : "9x19mm Sidearm [Ammo 9mm] [CT+T]" = [ "" : "No" 1 : "YES" ] weapon_usp(choices) : "(1-2) USP" : "" : "K&M .45 Tactical [Ammo 45 ACP] [CT+T]" = [ "" : "No" 1 : "YES" ] weapon_p228(choices) : "(1-3) P-228" : "" : "228 Compact [Ammo 357 SIG] [CT+T]" = [ "" : "No" 1 : "YES" ] weapon_deagle(choices) : "(1-4) Deagle" : "" : "Night Hawk .50C [Ammo 50AE] [CT+T]" = [ "" : "No" 1 : "YES" ] weapon_elite(choices) : "(1-5) Elite" : "" : ".40 Dual Elites [Ammo 9mm] [T]" = [ "" : "No" 1 : "YES" ] weapon_fiveseven(choices) : "(1-5) Five-Seven" : "" : "ES Five-Seven [Ammo 57mm] [CT]" = [ "" : "No" 1 : "YES" ] weapon_m3(choices) : "(2-1) M3" : "" : "Leone 12 Gauge Super [Ammo Buckshot] [CT+T]" = [ "" : "No" 1 : "YES" ] weapon_xm1014(choices) : "(2-2) MX-1014" : "" : "Leone YG1265 Auto Shotgun [Ammo Buckshot] [CT+T]" = [ "" : "No" 1 : "YES" ] weapon_mac10(choices) : "(3-1) MAC-10" : "" : "Ingram MAC-10 [Ammo 45 ACP] [T]" = [ "" : "No" 1 : "YES" ] weapon_tmp(choices) : "(3-1) TMP" : "" : "Schmidt Machine Pistol [Ammo 9mm] [CT]" = [ "" : "No" 1 : "YES" ] weapon_mp5navy(choices) : "(3-2) MP5-Navy" : "" : "K&M Sub-Machine Gun [Ammo 9mm] [CT+T]" = [ "" : "No" 1 : "YES" ] weapon_ump45(choices) : "(3-3) UMP-45" : "" : "K&M UMP45 [Ammo 45 ACP] [CT+T]" = [ "" : "No" 1 : "YES" ] weapon_p90(choices) : "(3-4) P-90" : "" : "ES C90 [Ammo 57mm] [CT+T]" = [ "" : "No" 1 : "YES" ] weapon_galil(choices) : "(4-1) Galil" : "" : "IDF Defender [Ammo 556mm] [T]" = [ "" : "No" 1 : "YES" ] weapon_famas(choices) : "(4-1) Famas" : "" : "Clarion 5.56 [Ammo 556mm] [CT]" = [ "" : "No" 1 : "YES" ] weapon_ak47(choices) : "(4-2) AK-47" : "" : "CV-47 [Ammo 762mm] [T]" = [ "" : "No" 1 : "YES" ] weapon_scout(choices) : "(4-2,4-3) Scout" : "" : "Schmidt Scout [Ammo 762mm] [CT+T]" = [ "" : "No" 1 : "YES" ] weapon_m4a1(choices) : "(4-3) M4A1" : "" : "Maverick M4A1 Carbine [Ammo 556mm] [CT]" = [ "" : "No" 1 : "YES" ] weapon_sg552(choices) : "(4-4) SG-552" : "" : "Krieg 552 Commando [Ammo 556mm] [T]" = [ "" : "No" 1 : "YES" ] weapon_aug(choices) : "(4-4) AUG" : "" : "Bullpup [Ammo 762mm] [CT]" = [ "" : "No" 1 : "YES" ] weapon_sg550(choices) : "(4-5) SG-550" : "" : "Krieg 550 Commando [Ammo 556mm] [CT]" = [ "" : "No" 1 : "YES" ] weapon_g3sg1(choices) : "(4-6) G3-SG1" : "" : "D3/AU-1 [Ammo 762mm] [T]" = [ "" : "No" 1 : "YES" ] weapon_awp(choices) : "(4-5,4-6) AWP" : "" : "Magnum Sniper Rifle [Ammo 338 MAG] [CT+T]" = [ "" : "No" 1 : "YES" ] weapon_m249(choices) : "(5-1) M-249" : "" : "ES M249 Para [Ammo 556mm Box] [CT+T]" = [ "" : "No" 1 : "YES" ] // item_kevlar(choices) : "(6-1) KEVLAR" : "" : "KEVLAR [CT+T]" = [ "" : "No" 1 : "YES" ] item_assaultsuit(choices) : "(6-2) KEVLAR+HELMET" : "" : "KEVLAR+HELMET [CT+T]" = [ "" : "No" 1 : "YES" ] weapon_flashbang(choices) : "(6-3) FLASHBANG" : "" : "FLASHBANG [CT+T]" = [ "" : "No" 1 : "+1" 2 : "+2 = FULL" ] weapon_hegrenade(choices) : "(6-4) HE GRENADE" : "" : "HE GRENADE [CT+T]" = [ "" : "No" 1 : "YES" ] weapon_smokegrenade(choices) : "(6-5) SMOKE GRENADE" : "" : "SMOKE GRENADE [CT+T]" = [ "" : "No" 1 : "YES" ] item_defuser(choices) : "(6-6) DEFUSAL KIT" : "" : "DEFUSAL KIT [CT]" = [ "" : "No" 1 : "YES" ] item_nvgs(choices) : "(6-6,6-7) NIGHTVISION" : "" : "NIGHTVISION [CT+T]" = [ "" : "No" 1 : "YES" ] // Ammo ammo_9mm(choices) : "Ammo 9mm" : "" : "For: (1-1) Glock, (1-5) Elite, (3-1) TMP, (3-2) MP5 navy" = [ "" : "No" 1 : "+30" 2 : "+60" 3 : "+90" 4 : "+120 = FULL" ] ammo_45acp(choices) : "Ammo 45 ACP" : "" : "For: (1-2) USP, (3-1) MAC-10, (3-3) UMP-45" = [ "" : "No" 1 : "+25" 2 : "+50" 3 : "+75" 4 : "+100 = FULL" ] ammo_357sig(choices) : "Ammo 357 SIG" : "" : "For: (1-3) P-228" = [ "" : "No" 1 : "+13" 2 : "+26" 3 : "+39" 4 : "+52 = FULL" ] ammo_50AE(choices) : "Ammo 50AE" : "" : "For: (1-4) Deagle" = [ "" : "No" 1 : "+7" 2 : "+14" 3 : "+21" 4 : "+28" 5 : "+35 = FULL" ] ammo_57mm(choices) : "Ammo 57mm" : "" : "For: (1-5) Five-Seven, (3-4) P-90" = [ "" : "No" 1 : "+50" 2 : "+100 = FULL" ] ammo_buckshot(choices) : "Ammo Buckshot" : "" : "For: (2-1) M3, (2-2) MX-1014" = [ "" : "No" 1 : "+8" 2 : "+16" 3 : "+24" 4 : "+32 = FULL" ] ammo_556mm(choices) : "Ammo 556mm" : "" : "For: (4-1) Galil, (4-1) Famas, (4-3) M4A1, (4-4) SG-552, (4-5) SG-550" = [ "" : "No" 1 : "+30" 2 : "+60" 3 : "+90 = FULL" ] ammo_762mm(choices) : "Ammo 762mm" : "" : "For: (4-2) AK-47, (4-2,4-3) Scout, (4-4) AUG, (4-6) G3-SG1" = [ "" : "No" 1 : "+30" 2 : "+60" 3 : "+90 = FULL" ] ammo_338mag(choices) : "Ammo 338 MAG" : "" : "For: (4-5,4-6) AWP" = [ "" : "No" 1 : "+10" 2 : "+20" 3 : "+30 = FULL" ] ammo_556mm_box(choices) : "Ammo 556mm Box" : "" : "For: (5-1) M-249" = [ "" : "No" 1 : "+30" 2 : "+60" 3 : "+90" 4 : "+120" 5 : "+150" 6 : "+180" 7 : "+200 = FULL" ] input Use(void) ] @PointClass base(MyTargetName2) = game_ragdoll_manager : "An entity to control the number of ragdolls in the world, for performance reasons." [ MaxRagdollCount(integer) : "Max Ragdoll Count" : -1 : "Sets the max number of ragdolls that can be in the world at a time (if they are flagged to fade). Set to -1 if you want to use the default value (g_ragdoll_maxcount)." input SetMaxRagdollCount(integer) : "Set the Max Ragdoll Count." ] @PointClass base(MyTargetName3, MyMaster1) = game_score : "An entity that awards/deducts points from the player who activates it." [ spawnflags(flags) = [ 1 : "Allow Negative" : 0 2 : "Team Points" : 0 ] points(integer) : "Points to add (+/-)" : 1 input ApplyScore(void) : "Award or deduct the specified number of points from the activator or his team." ] @PointClass base(MyTargetName3, MyMaster1) iconsprite("editor/game_text.vmt") = game_text : "An entity that displays text on player's screens." [ spawnflags(flags) = [ 1 : "All Players" : 0 ] message(string) : "Message Text" : "" : "Message to display onscreen." channel(integer) : "Text Channel" : 1 : "You can have up to four individual game_text messages onscreen at once, stored in channels. Select which channel this text should be placed in, which will overwrite any active message already in that channel. Min = 0; Max = 255." effect(Choices) : "Text Effect" : 0 = [ 0 : "Fade In/Out" // 1 : "Credits" 2 : "Scan Out" ] x(float) : "Screen Pos X (0.0 - 1.0)" : "-1" : "Horizontal position on the player's screens to draw the text. Min = 0.0; Max = 1.0; -1 = centers. 0 is the far left of the screen and 1 is the far right. -1 centers the text." y(float) : "Screen Pos Y (0.0 - 1.0)" : "-1" : "Vertical position on the player's screens to draw the text. Min = 0.0; Max = 1.0; -1 = centers. 0 is the top of the screen and 1 is the bottom. -1 centers the text." fadein(float) : "Fade In Time" : "1.5" : "The time it should take for the text to fully fade in." holdtime(float) : "Hold Time" : "2.0" : "The time the text should stay onscreen, after fading in, before it begins to fade out." fadeout(float) : "Fade Out Time" : "0.5" : "The time it should take for the text to fade out, after the hold time has expired." fxtime(float) : "Scan Time" : "0.25" : "If the 'Text Effect' is set to Scan Out, this is the time it should take to scan out all the letters in the text." color(color255) : "Text Color" : "100 100 100" color2(color255) : "Scan Text Color" : "240 110 0" input Display(void) : "Display the message text." ] @PointClass base(MyTargetName3) = game_ui : "An entity used to override player input when the player's looking at it." [ spawnflags(flags) = [ 32 : "Freeze Player" : 1 64 : "Hide Weapon" : 1 128 : "+USE Deactivates" : 1 256 : "+JUMP Deactivates" : 1 ] FieldOfView(float) : "Field Of View" : "-1.0" : "The amount of tolerance in the view checking when determining whether the player's input is still under control. 1.0 = straight ahead, 0.0 = +/- 90 degrees, -1.0 = all directions. If the player isn't within the tolerance, the player regains control." input Deactivate(void) : "Return Player Control." input Activate(void) : "Take Player Control." output PlayerOn(void) : "Fired whenever this entity starts controlling the player's input." output PlayerOff(void) : "Fired whenever this entity stops controlling the player's input." output PressedMoveLeft(void) : "Fired whenever the player presses the moveleft key." output PressedMoveRight(void) : "Fired whenever the player presses the moveright key." output PressedForward(void) : "Fired whenever the player presses the forward key." output PressedBack(void) : "Fired whenever the player presses the backward key." output PressedAttack(void) : "Fired whenever the player presses the attack key." output PressedAttack2(void) : "Fired whenever the player presses the secondary attack key." output UnpressedMoveLeft(void) : "Fired whenever the player presses the moveleft key." output UnpressedMoveRight(void) : "Fired whenever the player presses the moveright key." output UnpressedForward(void) : "Fired whenever the player presses the forward key." output UnpressedBack(void) : "Fired whenever the player presses the backward key." output UnpressedAttack(void) : "Fired whenever the player presses the attack key." output UnpressedAttack2(void) : "Fired whenever the player presses the secondary attack key." output XAxis(string) : "An output that fires whenever the X axis of the player's input changes. i.e. -1 when the player has moveleft key down, 1 when the player has moveright key down, and 0 if neither." output YAxis(string) : "An output that fires whenever the Y axis of the player's input changes. i.e. -1 when the player has backward key down, 1 when the player has forward key down, and 0 if neither." output AttackAxis(string) : "An output that fires whenever the state of the player's attack key changes. i.e. 1 when the player has the attack key down, 0 otherwise." output Attack2Axis(string) : "An output that fires whenever the state of the player's secondary attack key changes. i.e. 1 when the player has the secondary attack key down, 0 otherwise." ] @PointClass base(MyTargetName3) = game_weapon_manager : "An entity used to limit the number of a particular weapon type in the world." [ weaponname(choices) : "Weapon Classname" : "weapon_awp" : "Classname of the weapon type to limit." = [ "weapon_ak47" : "weapon_ak47" "weapon_aug" : "weapon_aug" "weapon_awp" : "weapon_awp" // "weapon_c4" : "weapon_c4" "weapon_deagle" : "weapon_deagle" "weapon_elite" : "weapon_elite" "weapon_famas" : "weapon_famas" "weapon_fiveseven" : "weapon_fiveseven" "weapon_flashbang" : "weapon_flashbang" "weapon_g3sg1" : "weapon_g3sg1" "weapon_galil" : "weapon_galil" "weapon_glock" : "weapon_glock" "weapon_hegrenade" : "weapon_hegrenade" // "weapon_knife" : "weapon_knife" "weapon_m249" : "weapon_m249" "weapon_m3" : "weapon_m3" "weapon_m4a1" : "weapon_m4a1" "weapon_mac10" : "weapon_mac10" "weapon_mp5navy" : "weapon_mp5navy" "weapon_p228" : "weapon_p228" "weapon_p90" : "weapon_p90" "weapon_scout" : "weapon_scout" "weapon_sg550" : "weapon_sg550" "weapon_sg552" : "weapon_sg552" "weapon_smokegrenade" : "weapon_smokegrenade" "weapon_tmp" : "weapon_tmp" "weapon_ump45" : "weapon_ump45" "weapon_usp" : "weapon_usp" "weapon_xm1014" : "weapon_xm1014" ] maxpieces(integer) : "Max Pieces" : 0 : "The maximum amount of the specified weapon type allowed in the world." // ammomod(float) : "Ammo Modifier" : "0.1" : "Modifier for ammount of ammo dropped by a weapon." // input SetMaxPieces(integer) : "Set the new 'Max Pieces' value." // input SetAmmoModifier(float) : "Adjust the ammo modifier." ] @SolidClass base(MyTargetName3, MyParentName2, MyMaster1, MyOrigin1) = game_zone_player : "An entity used to count the number of players within a zone." [ input CountPlayersInZone(void) : "Count the number of players in the zone, and fire the corresponding outputs." output OnPlayerInZone(void) : "Fired whenever a count finds a player inside the zone." output OnPlayerOutZone(void) : "Fired whenever a count finds a player outside the zone." output PlayersInCount(integer) : "Fired after a count, and contains the number of players found inside the zone." output PlayersOutCount(integer) : "Fired after a count, and contains the number of players found outside the zone." ] @BaseClass = gibshooter_ [ spawnflags(flags) = [ 1 : "Repeatable" : 0 4 : "Remove Gibs After 'Gib Life'" : 1 ] simulation(choices) : "Simulate" : 0 = [ 0 : "Point" 1 : "Physics" // 2 : "Ragdoll" ] ] @PointClass base(MyTargetName3, MyParentName2, gibshooter_, MyGibShooter1, MyRenderLightingOrigin1, MyVBSP1) iconsprite("editor/gibshooter.vmt") = gibshooter : "An entity that shoots out gibs. Style of body part depends on language type." [] @PointClass base(MyTargetName3, MyTeamNum1, MyAngles1, MyModelIgnite1, MyDmgFilter1, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderDisableShadows3, MyRenderFade1) size(-16 -16 -3, 16 16 0) color(255 0 0) studio("models/Characters/hostage_04.mdl") = hostage_entity : "Hostage. A hostage NPC will spawn at this point. There are usually four hostages placed in each hostage rescue map. The model for each Hostage is randomly chosen. " + "Hostages use the same navigation mesh that bots use to navigate the map. To create this mesh, type 'nav_generate' in the in-game console when your map is loaded." [ input OnRescueZoneTouch(void) : "Rescue the hostage." ] @PointClass base(MyTargetName3) = info_camera_link : "An entity that ties a point_camera to brush entities other than func_monitor. The entity must have at least one face textured with a valid monitor texture, like dev/tvmonitor1a. "+ "Note that you aren't allowed to have one monitor visible to another; if you use multiple monitors, make sure they're in leaves that can't see each other!" [ target(target_destination) : "Target Object" : "" : "The name of the any entity." PointCamera(target_destination) : "Camera Name" : "" : "The name of a point_camera entity in the map that should be tied to the entity above." input SetCamera(string) : "Set the camera to use." ] @PointClass base(MyTargetName3) iconsprite("editor/info_landmark") = info_landmark : "An entity that acts as a landmark for transitions to another level. There should be a corresponding info_landmark entity in the next map. Entities will be transitioned to the next level relative to the info_landmark entities." [] @PointClass base(MyTargetName1) color(128 128 0) iconsprite("editor/info_lighting.vmt") = info_lighting : "An entity that can be used to change the lighting origin of a prop_static. Set the prop_static's Lighting Origin to point at this entity to "+ "make the prop_static light as if it was at the info_lighting's origin. Good for prop_static entities that are embedded in world geometry (like rocks/windows/etc)." [] @PointClass sphere(bombradius) = info_map_parameters : "Map parameters. Used to set which teams can buys, and the C4 bomb detonation radius." [ buying(choices) : "Teams that can buy" : 0 = [ 0 : "Everyone" 1 : "Only Counter-Terrorists" 2 : "Only Terrorists" 3 : "Nobody" ] bombradius(float) : "C4 Explosion Radius" : "500.0" : "Overrides the default radius of the explosion when the C4 bomb explodes. Max range is 2048." ] @PointClass size(8 8 8) = info_mass_center : "An entity that overrides the mass center of the target physics prop, or func_physbox, by moving it to the info_mass_center's location." [ target(target_destination) : "Target Object" : "" : "The entity whose mass center will be overridden." ] @PointClass = info_no_dynamic_shadow : "Use this entity to mark surfaces that shouldn't receive dynamic shadows." [ sides(sidelist) : "Brush Faces" ] @PointClass base(MyTargetName1) = info_null : "An entity that's immediately removed on spawning. Useful as a spotlight target." [] @PointClass base(MyAngles1) color(0 96 192) size(-1 -1 0, 1 1 1) studioprop("models/editor/overlay_helper.mdl") overlay() = info_overlay : "An entity that places an overlay on the world." [ material(material) : "Material" sides(sidelist) : "Brush Faces" RenderOrder(integer) : "Render Order" : 0 : "Higher values render after lower values. This value can be 0-3." StartU(float) : "U Start" : "0.0" EndU(float) : "U End" : "1.0" StartV(float) : "V Start" : "0.0" EndV(float) : "V End" : "1.0" BasisOrigin(Vector) readonly : "Overlay Basis Origin (Read-Only)" BasisU(Vector) readonly : "Overlay Basis U (Read-Only)" BasisV(Vector) readonly : "Overlay Basis V (Read-Only)" BasisNormal(Vector) readonly : "Overlay Basis Normal (Read-Only)" uv0(vector) readonly : "Overlay Point 1 (Read-Only)" uv1(vector) readonly : "Overlay Point 2 (Read-Only)" uv2(vector) readonly : "Overlay Point 3 (Read-Only)" uv3(vector) readonly : "Overlay Point 4 (Read-Only)" ] @PointClass sidelist(sides) size(16 16 16) sidelist(sides2) overlay_transition() = info_overlay_transition : "Overlay Transition." [ material(material) : "Material" sides(sidelist) : "Brush Faces" sides2(sidelist) : "Water Faces" LengthTexcoordStart(float) : "Texcoord Length Start" : "0.0" LengthTexcoordEnd(float) : "Texcoord Length End" : "1.0" WidthTexcoordStart(float) : "Texcoord Width Start" : "0.0" WidthTexcoordEnd(float) : "Texcoord Width End" : "1.0" Width1(float) : "Width Land" : "25.0" Width2(float) : "Width Water" : "25.0" DebugDraw(integer) : "Show Debug" : 0 : "Boolean value (0 or 1)." ] @PointClass base(MyTargetName2, MyAngles1) color(0 255 0) size(-16 -16 -3, 16 16 0) studioprop("models/player/ct_urban.mdl") = info_player_counterterrorist : "This entity marks the start point for counter-terrorists. " + "This entity IS NOT RESET upon newround. Don't put it in movement hierarchies with entities that are. If you need it to move with an entity that's reset upon newround, use a logic_measure_movement point-entity." [] @PointClass base(MyAngles1) color(0 255 0) studioprop("models/editor/playerstart.mdl") = info_player_logo : "This is for logo maps for demos. All players will spawn here, and there will be no class menu, team menu, or HUD." [] @PointClass base(MyAngles1) color(0 255 0) size(-16 -16 -3, 16 16 0) studioprop("models/editor/playerstart.mdl") = info_player_start : "This entity indicates the position and facing direction at which the player will spawn. Any number of "+ "info_player_start entities may be placed in a map for when working in cordoned-off portions of the map." [] @PointClass base(MyTargetName2, MyAngles1) color(0 255 0) size(-16 -16 -3, 16 16 0) studioprop("models/player/t_phoenix.mdl") = info_player_terrorist : "This entity marks the start point for terrorists. " + "This entity IS NOT RESET upon newround. Don't put it in movement hierarchies with entities that are. If you need it to move with an entity that's reset upon newround, use a logic_measure_movement point-entity." [] @PointClass base(MyTargetName2, MyAngles1) iconsprite("editor/info_target.vmt") = info_target : "An entity that does nothing. Very useful as a target for other entities, such as env_laser and trigger_teleport.\n\n"+ "This entity IS NOT RESET upon newround. Don't put it in movement hierarchies with entities that are. If you need it to move with an entity that's reset upon newround, use a logic_measure_movement point-entity." [] @PointClass base(MyTargetName3, MyParentName2, MyAngles1) studioprop("models/editor/playerstart.mdl") = info_teleport_destination : "An entity that does nothing itself, but can be used to specify the destination for a trigger_teleport entity. An info_target can be used instead." [] @BaseClass = infodecal_ [ Texture(decal) : "Texture" LowPriority(choices) : "Low Priority (can be replaced)" : 0 = [ 0 : "No" 1 : "Yes" ] input Activate(void) : "Force the decal to apply itself to the world." ] @PointClass base(MyTargetName2, infodecal_, MyAngles2) studioprop("models/editor/axis_helper_thick.mdl") decal() = infodecal : "An entity that places a decal on the world. If the decal has no target name, it will immediately apply itself when the level is loaded. "+ "If it has a name specified, it won't apply until it receives the 'Activate' input." [] @PointClass base(MyItem1) = item_assaultsuit : "Assault Suit (Kevlar + helmet); is technically invisible in-game, but can be picked up nonetheless." [] @PointClass base(MyTargetName3, MyTeamNum1, MyAngles1, MyModelIgnite1, MyDmgNoForces1, MyDmgFilter1, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderDisableShadows3, MyRenderFade1, MyRenderLightingOrigin1, MyVBSP1) studioprop("models/weapons/w_defuser.mdl") color(255 0 255) sphere(fademindist) sphere(fademaxdist) = item_defuser : "Defusal Kit" [] @PointClass base(MyItem1) = item_kevlar : "Kevlar; is technically invisible in-game, but can be picked up nonetheless." [] @PointClass base(MyItem1) = item_nvgs : "Nightvision; is technically invisible in-game, but can be picked up nonetheless." [] @BaseClass = item_sodacan_ [ skin(choices) : "Skin (beverage type)" : 0 = [ 0 : "Cola" 1 : "Lemon-Lime" 2 : "Diet Cola" 3 : "Orange" 4 : "Cream Soda" 5 : "Root Beer" ] input Skin(integer) : "Set the skin (beverage type) of the can" ] @PointClass base(MyTargetName3, MyTeamNum1, MyAngles1, MyModelIgnite1, item_sodacan_, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderDisableShadows3, MyRenderFade1, MyRenderLightingOrigin1, MyVBSP1) color(224 64 0) studioprop("models/can.mdl") sphere(fademindist) sphere(fademaxdist) = item_sodacan : "A lone soda can.\n\nWARNING: There is no 'models/can.mdl'! You will need to create your own!" [] @BaseClass = MyRope1 [ NextKey(target_destination) : "Next KeyFrame" : "" : "Name of the next keyframe along this keyframe path." Width(float) : "Width" : "2.0" : "Width of the rope." Type(choices) : "Type" : 0 = [ 0 : "Rope" 1 : "Semi-rigid" 2 : "Rigid" ] Slack(integer) : "Slack" : 100 : "How much extra length the rope has (by default it has the length between its two endpoints in the editor)." Subdiv(integer) : "Subdivision" : 2 : "Number of subdivisions between each rope segment. Min = 2. Max = 8. Higher values make smoother ropes, but are slower to render." Barbed(choices) : "Barbed" : 0 : "Test effect that makes the rope look sharper and more barbed." = [ 0 : "No" 1 : "Yes" ] Collide(choices) : "Collide with World" : 0 = [ 0 : "No" 1 : "Yes" ] Dangling(choices) : "Start Dangling" : 0 : "When set to Yes, the rope starts out detached from its target endpoint." = [ 0 : "No" 1 : "Yes" ] Breakable(choices) : "Breakable" : 0 : "When set to yes, the rope can be detached from either endpoint when shot." = [ 0 : "No" 1 : "Yes" ] RopeMaterial(material) : "Rope Material" : "cable/cable.vmt" : "The material to use when rendering the rope." TextureScale(float) : "Texture Scale" : "1.0" : "This changes the texture resolution. The default resolution is 4 pixels per unit. Larger values stretch the texture and smaller values scrunch it up." input Break(void) : "Break the rope, if it's marked to do so." input SetForce(vector) : "To apply force to a rope. Format: ." ] @BaseClass = MyRope2 [ PositionInterpolator(choices) : "Position Interpolator" : 2 : "Controls the way Hammer determines the points between two keyframes. Numbers higher than 2 will crash the editor!" = [ 0 : "Linear" 1 : "Catmull-Rom Spline" 2 : "Rope (based on slack setting)" ] ] @BaseClass base(MyAngles2) = MyRope3 [ MoveSpeed(integer) readonly : "Rope Hack (Read-Only)" : 64 // Hack to get Hammer to render ropes ] @KeyFrameClass base(MyTargetName2, MyRope1, MyRope3, MyVBSP1) color(192 96 0) studioprop("models/editor/axis_helper_thick.mdl") keyframe() = keyframe_rope : "A node entity that marks a point in a rope. The first node in the rope should be a move_rope, followed by 1 or more keyframe_ropes.\n\n"+ "This entity IS NOT RESET upon newround. Don't put it in movement hierarchies with entities that are. If you need it to move with an entity that's reset upon newround, use a logic_measure_movement point-entity." [] @BaseClass = MyLight1_1 [ spawnflags(flags) = [ 1 : "Initially OFF" : 0 ] _light(color255) : "Brightness (R G B A)" : "255 255 255 200" : "Brightness for players who aren't using HDR. Expressed as four numbers: 'Red Green Blue Intensity'." _lightHDR(color255) : "HDR Brightness (R G B A)" : "-1 -1 -1 1" : "If HDR is implemented into the mod, brightness for players who have HDR enabled. Expressed as four numbers: 'Red Green Blue Intensity'. -1 -1 -1 1 means use the 'Brightness'." ] @BaseClass = MyLight1_2 [ _ambient(color255) : "Ambient" : "255 255 255 20" : "Ambient light level (shadow colour) for players who aren't using HDR. Expressed as four numbers: 'Red Green Blue Intensity'." _ambientHDR(color255) : "HDR Ambient" : "-1 -1 -1 1" : "If HDR is implemented into the mod, ambient light level for players who have HDR enabled. Expressed as four numbers: 'Red Green Blue Intensity'. -1 -1 -1 1 means use the 'Ambient'." ] @BaseClass = MyLight2 [ _constant_attn(float) : "Constant" : "0.0" : "Determines brightness of the light at a certain distance. Higher Constants dim the light near the entity." _linear_attn(float) : "Linear" : "0.0" : "Determines brightness of the light at a certain distance. Higher Linears dim the light at all distances." _quadratic_attn(float) : "Quadratic" : "1.0" : "Determines brightness of the light at a certain distance. Higher Quadratics dim the light far from the entity." _fifty_percent_distance(float) : "50% Falloff Distance" : "0.0" : "Distance from this light at which it is reduced to 50% brightness. Ignores 'Quadratic', 'Linear', and 'Constant' if used." _zero_percent_distance(float) : "0% Falloff Distance" : "0.0" : "Distance from this light at which it cannot light objects anymore ((1/256)% brightness). Requires '50% Falloff Distance'." ] @BaseClass = MyLight3_1 [ style(choices) : "Appearance" : 0 = [ 0 : "Normal (m)" 1 : "Flicker A (mmnmmommommnonmmonqnmmo)" 6 : "Flicker B (nmonqnmomnmomomno)" 3 : "Candle A (mmmmmaaaaammmmmaaaaaabcdefgabcdefg)" 7 : "Candle B (mmmaaaabcdefgmmmmaaaammmaamm)" 8 : "Candle C (mmmaaammmaaammmabcdefaaaammmmabcdefmmmaaaa)" 9 : "Slow Strobe (aaaaaaaazzzzzzzz)" 4 : "Fast Strobe (mamamamamama)" 5 : "Gentle Pulse (jklmnopqrstuvwxyzyxwvutsrqponmlkj)" 2 : "Slow, Strong Pulse (abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba)" 11 : "Slow Pulse, Not Fade To Black (abcdefghijklmnopqrrqponmlkjihgfedcba)" 10 : "Fluorescent Flicker (mmamammmmammamamaaamammma)" 12 : "Underwater Light Mutation (mmnnmmnnnmmnn)" ] ] @BaseClass = MyLight3_2 [ pattern(string) : "Custom Appearance" : "" : "Set a custom pattern of light brightness for this light. Pattern format is a string of characters, where 'a' is total darkness, 'z' fully bright. i.e. 'aaggnnttzz' would be a steppy fade in from dark to light." input SetPattern(string) : "Set a custom pattern of light brightness for this light. Pattern format is a string of characters, where 'a' is total darkness, 'z' fully bright. i.e. 'aaggnnttzz' would be a steppy fade in from dark to light." input FadeToPattern(string) : "Fades from first value in old pattern, to first value in the new given pattern. Pattern format is a string of characters, where 'a' is total darkness, 'z' fully bright. i.e. 'aaggnnttzz' would be a steppy fade in from dark to light." ] @BaseClass = MyLight4 [ _distance(integer) : "Max Cast Distance for Models" : 0 : "Models will not be lit by this light if they are further than this distance from it." ] @PointClass base(MyTargetName2, MyInitialState4, MyLight1_1, MyLight2, MyLight3_1, MyLight3_2, MyLight4) color(255 255 0) iconsprite("editor/light.vmt") sphere(_fifty_percent_distance) sphere(_zero_percent_distance) sphere(_distance) light() = light : "An invisible light source." [] @BaseClass = light_dynamic_ [ spawnflags(flags) = [ 1 : "No Brush Light" : 0 2 : "No Model Light" : 0 ] pitch(integer) : "Pitch" : 0 : "Used by Hammer to fix up light cone angles. Expressed in degrees; -90 is straight down." _light(color255) : "Color (R G B)" : "255 255 255" : "Light color, expressed as three numbers: 'Red Green Blue'." brightness(integer) : "Brightness" : 2 : "Used to override the light's brightness. 1-20 make the light brighter. 21-30 or so cut a black circle out of the middle of the light. Less than 0 make the light dimmer. Too high or too low may stop the light from lighting up brushes." _inner_cone(float) : "Inner Cone Angle" : "30.0" : "Max = 90." _cone(float) : "Outer Cone Angle" : "45.0" : "Max = 90." spotlight_radius(float) : "Spotlight End Radius" : "80.0" : "This is the radius of the light, in inches, at the object that it is hitting." style(choices) = [] distance(float) : "Maximum Distance" : "512.0" : "This is the distance that light is allowed to cast, in units. Unlike other lights, you can't set this property to 0 to get an infinite light." input Color(color255) : "Set the light's render color (R G B)." input Brightness(integer) : "Set the light brightness." input Distance(float) : "Set the maximum light distance." input _inner_cone(float) : "Set the inner (bright) angle." input _cone(float) : "Set the outer (fading) angle." input Spotlight_Radius(float) : "Set the radius of the spotlight at the end point." input Style(integer) : "Change the lightstyle (see 'Appearance' field for possible values)." ] // Inverted 'Pitch' ='( @PointClass base(MyTargetName3, MyAnglesTarget, MyAngles1, MyParentName2, MyInitialState4, light_dynamic_, MyLight3_1) color(255 255 0) iconsprite("editor/light.vmt") size(4 4 4) sphere(distance) lightcone() = light_dynamic : "An invisible lightsource that changes in some way over time." [] @BaseClass = light_environment_ [ pitch(integer) : "Pitch" : 0 : "The downward pitch of the light from the sun. Expressed in degrees; -90 is straight down." _light(color255) _lightHDR(color255) _ambient(color255) _ambientHDR(color255) ] @PointClass base(MyTargetName2, MyInitialState4, light_environment_, MyAngles1, MyLight1_1, MyLight1_2, MyLight3_1, MyLight3_2) color(255 255 0) iconsprite("editor/light_env.vmt") = light_environment : "Sets the color and angle of the light from the sun and sky."+ "Brightness is emitted from the general direction of the light_environment entity; Ambient is emitted in all directions and is primarily used to color shadowed areas." [] @BaseClass = light_spot_ [ pitch(integer) : "Pitch" : -90 : "Used by Hammer to fix up light angles so VRAD doesn't get angry. Expressed in degrees; -90 is straight down." _light(color255) _lightHDR(color255) _inner_cone(float) : "Inner Cone Angle" : "30.0" : "Max = 90. If 'Inner Cone Angle' = 'Outer Cone Angle' = 180, then this light_spot object will be handled as Point Light (light) and 'Cone Focus' will be ignored." _cone(float) : "Outer Cone Angle" : "45.0" : "Max = 90. If 'Inner Cone Angle' = 'Outer Cone Angle' = 180, then this light_spot object will be handled as Point Light (light) and 'Cone Focus' will be ignored." _exponent(float) : "Cone Focus" : "1.0" : "An exponent used to modify the light falloff for points between the inner and outer angles. 0 = default value (1.0)." ] @PointClass base(MyTargetName2, MyAnglesTarget, MyAngles1, MyInitialState4, light_spot_, MyLight1_1, MyLight2, MyLight3_1, MyLight3_2, MyLight4) color(255 255 0) lightprop("models/editor/spot.mdl") sphere(_fifty_percent_distance) sphere(_zero_percent_distance) sphere(_distance) lightcone() = light_spot : "Invisible light source that emits a directional cone of light. For a visible spotlight effect, try point_spotlight." [] @PointClass iconsprite("editor/logic_auto.vmt") color(0 192 255) = logic_auto : "Fires outputs when a map spawns."+ "If 'Remove On Fire' flag is set the logic_auto is deleted after firing. "+ "It can be set to check a global state before firing. This allows you to only fire events based on "+ "what took place in a previous map." [ spawnflags(flags) = [ 1 : "Remove On Fire" : 1 ] globalstate(string) : "Global State to Read" : "" : "If set, this specifies a global state to check before firing. The OnMapSpawn output will only fire if the global state is set. A global state can be added on a map by env_global entity." output OnMapSpawn(void) : "Fired when the map is loaded for any reason." output OnNewGame(void) : "Fired when the map is loaded to start a new game." output OnBackgroundMap(void) : "Fired when the map is loaded as a background to the main menu." ] @PointClass base(MyTargetName3) iconsprite("editor/logic_branch.vmt") color(0 192 255) = logic_branch : "Tests a boolean value and fires an output based on whether the value is true or false. " + "Use this entity to branch between two potential sets of events." [ InitialValue(choices) : "Initial Value" : 0 : "Initial value for the boolean value (0 or 1)." = [ 0 : "FALSE" 1 : "TRUE" ] input SetValue(bool) : "Set the boolean value without performing the comparison. Use this to hold a value for a future test." input SetValueTest(bool) : "Set the boolean value and test it, firing OnTrue or OnFalse based on the new value." input Toggle(void) : "Toggle the boolean value between true and false." input ToggleTest(void) : "Toggle the boolean value and tests it, firing OnTrue or OnFalse based on the new value." input Test(void) : "Test the input value and fire OnTrue or OnFalse based on the value." output OnTrue(void) : "Fired when the input value is true (nonzero)." output OnFalse(void) : "Fired when the input value is false (zero)." ] @PointClass base(MyTargetName3) color(0 192 255) = logic_branch_listener : "Contains a list of logic_branch entities and fires outputs when the state of any of the logic_branches changes.\n\n"+ "This entity is used to fire an event when a set of conditions are all satisfied." [ Branch01(target_destination) : "Logic Branch 01" : "" : "The name of one or more logic_branches (wildcards allowed)." Branch02(target_destination) : "Logic Branch 02" : "" : "The name of one or more logic_branches (wildcards allowed)." Branch03(target_destination) : "Logic Branch 03" : "" : "The name of one or more logic_branches (wildcards allowed)." Branch04(target_destination) : "Logic Branch 04" : "" : "The name of one or more logic_branches (wildcards allowed)." Branch05(target_destination) : "Logic Branch 05" : "" : "The name of one or more logic_branches (wildcards allowed)." Branch06(target_destination) : "Logic Branch 06" : "" : "The name of one or more logic_branches (wildcards allowed)." Branch07(target_destination) : "Logic Branch 07" : "" : "The name of one or more logic_branches (wildcards allowed)." Branch08(target_destination) : "Logic Branch 08" : "" : "The name of one or more logic_branches (wildcards allowed)." Branch09(target_destination) : "Logic Branch 09" : "" : "The name of one or more logic_branches (wildcards allowed)." Branch10(target_destination) : "Logic Branch 10" : "" : "The name of one or more logic_branches (wildcards allowed)." Branch11(target_destination) : "Logic Branch 11" : "" : "The name of one or more logic_branches (wildcards allowed)." Branch12(target_destination) : "Logic Branch 12" : "" : "The name of one or more logic_branches (wildcards allowed)." Branch13(target_destination) : "Logic Branch 13" : "" : "The name of one or more logic_branches (wildcards allowed)." Branch14(target_destination) : "Logic Branch 14" : "" : "The name of one or more logic_branches (wildcards allowed)." Branch15(target_destination) : "Logic Branch 15" : "" : "The name of one or more logic_branches (wildcards allowed)." Branch16(target_destination) : "Logic Branch 16" : "" : "The name of one or more logic_branches (wildcards allowed)." input Test(void) : "Tests the state of all the logic_branches in the list and fires the appropriate output." output OnAllTrue(void) : "Fired when all the logic_branches in the list become true." output OnAllFalse(void) : "Fired when all the logic_branches in the list become false." output OnMixed(void) : "Fired when one of the logic branches in the list changes, but some are true and some are false." ] @PointClass base(MyTargetName3) iconsprite("editor/logic_case.vmt") color(0 192 255) = logic_case : "Compares an input to up to 16 preset values. If the input value is the same as " + "any of the preset values, an output corresponding to that value is fired.\n\n" + "For example: if Case01 is set to 2 and Case02 is set to 5, and the input value is 5, " + "the OnCase02 output will be fired.\n\n" + "This entity can also be used to select from a number of random targets via the " + "PickRandom input. One of the OnCase outputs that is connected to another entity will " + "be picked at random and fired." [ Case01(string) : "Case 01" Case02(string) : "Case 02" Case03(string) : "Case 03" Case04(string) : "Case 04" Case05(string) : "Case 05" Case06(string) : "Case 06" Case07(string) : "Case 07" Case08(string) : "Case 08" Case09(string) : "Case 09" Case10(string) : "Case 10" Case11(string) : "Case 11" Case12(string) : "Case 12" Case13(string) : "Case 13" Case14(string) : "Case 14" Case15(string) : "Case 15" Case16(string) : "Case 16" input InValue(string) : "Compares the Input value to the case values, and fires the appropriate output, if any." input PickRandom(void) : "Fires a random OnCase output with at least one connection." input PickRandomShuffle(void) : "Fires a random OnCase output with at least one connection, with no repeats until all cases have been picked, at which point the shuffle starts over." output OnCase01(void) : "Fired when the input value equals the Case01 value." output OnCase02(void) : "Fired when the input value equals the Case02 value." output OnCase03(void) : "Fired when the input value equals the Case03 value." output OnCase04(void) : "Fired when the input value equals the Case04 value." output OnCase05(void) : "Fired when the input value equals the Case05 value." output OnCase06(void) : "Fired when the input value equals the Case06 value." output OnCase07(void) : "Fired when the input value equals the Case07 value." output OnCase08(void) : "Fired when the input value equals the Case08 value." output OnCase09(void) : "Fired when the input value equals the Case09 value." output OnCase10(void) : "Fired when the input value equals the Case10 value." output OnCase11(void) : "Fired when the input value equals the Case11 value." output OnCase12(void) : "Fired when the input value equals the Case12 value." output OnCase13(void) : "Fired when the input value equals the Case13 value." output OnCase14(void) : "Fired when the input value equals the Case14 value." output OnCase15(void) : "Fired when the input value equals the Case15 value." output OnCase16(void) : "Fired when the input value equals the Case16 value." output OnDefault(string) : "Fired when the input value does not equal any of the Case values." ] @PointClass base(MyTargetName3, MyEnableDisable2_) size(8 8 8) color(0 192 255) = logic_collision_pair : "An entity that can be used to enables/disable vphysics collisions between two target entities." [ attach1(target_destination) : "Attachment 1" : "" : "The first entity." attach2(target_destination) : "Attachment 2" : "" : "The second entity." input EnableCollisions(void) : "Enable collisions between the first and second entity." input DisableCollisions(void) : "Disable collisions between the first and second entity." ] @PointClass base(MyTargetName3) iconsprite("editor/logic_compare.vmt") color(0 192 255) = logic_compare : "Compares an input value to another value. " + "If the input value is less than the compare value, the OnLessThan output is fired with the input value. " + "If the input value is equal to the compare value, the OnEqualTo output is fired with the input value. " + "If the input value is greater than the compare value, the OnGreaterThan output is fired with the input value." [ InitialValue(float) : "Initial Value" : "0.0" : "Initial value for the input value." CompareValue(float) : "Compare Value" : "0.0" : "The value to compare against." input SetValue(float) : "Set the value that will be compared against the compare value." input SetValueCompare(float) : "Set the value that will be compared against the compare value and performs the comparison." input SetCompareValue(float) : "Set the compare value." input Compare(void) : "Force a compare of the input value with the compare value." output OnLessThan(float) : "Fired when the input value is less than the compare value. Sends the input value as data." output OnEqualTo(float) : "Fired when the input value is equal to the compare value. Sends the input value as data." output OnNotEqualTo(float) : "Fired when the input value is different from the compare value. Sends the input value as data." output OnGreaterThan(float) : "Fired when the input value is greater than the compare value. Sends the input value as data." ] @PointClass base(MyTargetName3, MyParentName2) color(0 192 255) = logic_lineto : "An entity that calculates and outputs a vector from one entity to another." [ source(target_destination) : "Start Entity" : "" : "Name of the entity the line should start from." target(target_destination) : "End Entity" : "" : "Name of the entity that line should end at." output Line(vector) : "Fired when the vector, from the start entity to the end entity, changes. Passes along the vector as a parameter." ] @PointClass base(MyTargetName3, MyEnableDisable1) color(0 192 255) = logic_measure_movement : "An entity that can measure the movement of an entity relative to another entity " + "and apply that movement to a third entity." [ MeasureType(choices) : "Measurement Type" : 0 = [ 0 : "Position" 1 : "Eye Position" ] MeasureTarget(target_destination) : "Entity to Measure" : "" : "Entity whose movement you want to measure." MeasureReference(target_destination) : "Measure Reference" : "" : "The movement of 'Entity to Measure' will be measured relative to this entity." Target(target_destination) : "Entity to Move" : "" : "This entity will be moved to mimic the motions of 'Entity to Measure'." TargetReference(target_destination) : "Movement Reference" : "" : "The 'Entity to Move' will move relative to this entity." TargetScale(float) : "Movement Scale" : "1.0" : "A scale to divide the measured movements by, before applying those movements to the 'Entity to Move'. 1 = target entity moves as much as the measured entity, 2 = target entity moves half as far as the measured entity, and 0.5 = target entity moves twice as far as the measured entity." input SetMeasureTarget(string) : "Set the 'Entity to Measure', whose movement should be measured." input SetMeasureReference(string) : "Set the 'Measure Reference' entity." input Target(string) : "Set the 'Entity to Move', which will be moved to mimic the measured entity." input SetTargetReference(string) : "Set the 'Movement Reference' entity." input SetTargetScale(float) : "Set the scale to divide the measured movements by." ] @PointClass base(MyTargetName3) iconsprite("editor/logic_multicompare.vmt") color(0 192 255) = logic_multicompare : "Compares a set of inputs to each other. If they are all the same, fires an OnEqual output. " + "If any are different, fires the OnNotEqual output." [ ShouldComparetoValue(choices) : "Use Compare Value" : 0 = [ 0 : "No" 1 : "Yes" ] IntegerValue(integer) : "Compare Value" : 0 : "It can be enabled/disabled by 'Use Compare Value' property." input InputValue(integer) : "Input value." input CompareValues(void) : "Compares the values and fires appropriate outputs." output OnEqual(void) : "Fires if the values are equal." output OnNotEqual(void) : "Fires if the values are not equal." ] @PointClass base(MyTargetName3, MyEnableDisable3) iconsprite("editor/logic_relay.vmt") color(0 192 255) = logic_relay : "A message forwarder. Fires an OnTrigger output when triggered, and " + "can be disabled to prevent forwarding outputs.\n\n" + "Useful as an intermediary between one entity and another for turning " + "on or off an I/O connection, or as a container for holding a set of " + "outputs that can be triggered from multiple places." [ spawnflags(flags) = [ 1 : "Remove On Fire" : 0 2 : "Allow Fast Retrigger" : 0 ] input Trigger(void) : "Trigger the relay, causing its OnTrigger output to fire if it is enabled." input CancelPending(void) : "Cancel any events fired by this relay that are currently pending in the I/O event queue." input EnableRefire(void) : "Enables us to fire again." output OnTrigger(void) : "Fired when the relay is triggered." output OnSpawn(void) : "Fired when spawned." ] @PointClass base(MyTargetName3, MyEnableDisable3) iconsprite("editor/logic_timer.vmt") color(0 192 255) = logic_timer : "An entity that fires a timer event at regular, or random, intervals. It can also be set to oscillate between" + "a high and low end, in which case it will fire alternating high/low outputs each time it fires." [ spawnflags(flags) = [ 1 : "Oscillator (alternates between OnTimerHigh and OnTimerLow outputs)" : 0 ] UseRandomTime(choices) : "Use Random Time" : 0 = [ 0 : "No" 1 : "Yes" ] LowerRandomBound(float) : "Min Random Interval" : "0.5" : "If 'Use Random Time' is set, this is the minimum time between timer fires. The time will be a random number between this and the 'Max Random Interval'." UpperRandomBound(float) : "Max Random Interval" : "1.0" : "If 'Use Random Time' is set, this is the maximum time between timer fires. The time will be a random number between the 'Min Random Interval' and this." RefireTime(float) : "Refire Interval" : "1.0" : "If 'Use Random Time' isn't set, this is the time between timer fires, in seconds. Min = 0.01." input FireTimer(void) : "Force the timer to fire immediately." input RefireTime(float) : "Set a new 'Refire Interval'." input LowerRandomBound(float) : "Set a new 'Min Random Interval'." input UpperRandomBound(float) : "Set a new 'Max Random Interval'." input UseRandomTime(bool) : "Changes the timer's 'Use Random Time' property (use 1 or 0 for the override parameters)." output OnTimer(void) : "Fired when the timer expires." output OnTimerHigh(void) : "Fired every other time for an oscillating timer." output OnTimerLow(void) : "Fired every other time for an oscillating timer." ] @PointClass base(MyTargetName3, MyParentName2) = material_modify_control : "An entity that can be used to directly control material vars. To use it, you need to read the .vmt of the material you "+ "intend to change. Parent this entity to a brush model entity who's material you want to control." [ materialName(string) : "Material to Modify" : "" : "Material name on the 'Parent' entity." materialVar(string) : "Material VAR to Modify" : "" : "Material variable in the 'Material to Modify'." input SetMaterialVar(string) : "Fire to modify a material variable. The argument is the value to set the variable to." input SetMaterialVarToCurrentTime(void) : "This sets the material variable to the current time on the server." input StartAnimSequence(string) : "Force an animated material with the MaterialModifyAnimated proxy to play a set of animation frames. Format is: \nSetting to -1 uses the last frame of the texture. should be 1 or 0." ] @PointClass base(MyTargetName3) color(0 128 192) = math_colorblend : "Used to create a blend between two colors for controlling the color of another entity." [ spawnflags(flags) = [ 1 : "Ignore Out Of Range Input Values" : 0 ] inmin(float) : "Min Valid Input Value" : "0.0" : "Input values below this value will be ignored." inmax(float) : "Max Valid Input Value" : "1.0" : "Input values above this value will be ignored." colormin(color255) : "Output Color When Input is Min" : "0 0 0" : "When the input value is equal to 'Min Valid Input Value', this is the output RGB color." colormax(color255) : "Output Color When Input is Max" : "255 255 255" : "When the input value is equal to 'Max Valid Input Value', this is the output RGB color." input InValue(float) : "Input value and fire the output with the remapped value." output OutColor(color255) : "Fired when the InValue input is received, with the remapped RGB color as the parameter." ] @PointClass base(MyTargetName3) iconsprite("editor/math_counter.vmt") color(0 128 192) = math_counter : "Holds a numeric value and performs arithmetic operations upon it. If either the minimum or maximum " + "legal value is nonzero, OutValue will be clamped to the legal range, and the OnHitMin/OnHitMax " + "outputs will be fired at the appropriate times. If both min and max are set to zero, no clamping is " + "performed and only the OutValue output will be fired." [ startvalue(integer) : "Initial Value" : 0 : "Starting value for the counter." min(float) : "MinLegal Value" : "0.0" : "Minimum legal value for the counter. If min=0 and max=0, no clamping is performed." max(float) : "Max Legal Value" : "0.0" : "Maximum legal value for the counter. If min=0 and max=0, no clamping is performed." input Add(float) : "Add an amount to the counter and fire the OutValue output with the result." input Subtract(float) : "Subtract an amount from the counter and fire the OutValue output with the result." input Multiply(float) : "Multiply the counter by an amount and fire the OutValue output with the result." input Divide(float) : "Divide the counter by an amount and fire the OutValue output with the result." input SetValue(float) : "Set the counter to a new value and fire the OutValue output with the result." input SetValueNoFire(float) : "Set the counter to a new value without firing any outputs." input SetHitMax(float) : "Set the upper bound of the counter and fire the OutValue output with the current value." input SetHitMin(float) : "Set the lower bound of the counter and fire the OutValue output with the current value." output OutValue(float) : "Fired when the counter value changes." output OnHitMin(void) : "Fired when the counter value meets or goes below the min value. The counter must go back above the min value before the output will fire again." output OnHitMax(void) : "Fired when the counter value meets or exceeds the max value. The counter must go below the max value before the output will fire again." ] @PointClass base(MyTargetName3, MyEnableDisable1) color(0 128 192) = math_remap : "An entity that remaps a range of input values to a given range of output values." [ spawnflags(flags) = [ 1 : "Ignore Out Of Range Input Values" : 0 ] in1(float) : "Min Valid Input Value" : "0.0" : "Input values below this value will be ignored." in2(float) : "Max Valid Input Value" : "1.0" : "Input values above this value will be ignored." out1(float) : "Output Value When Input is Min" : "0.0" : "When the input value is equal to 'Min Valid Input Value', this is the output value." out2(float) : "Output Value When Input is Max" : "255.0" : "When the input value is equal to 'Max Valid Input Value', this is the output value." input InValue(float) : "Input value and fire the output with the remapped value." output OutValue(float) : "Fired when the InValue input is received, with the remapped input value as the parameter." ] @BaseClass = momentary_rot_button_ [ spawnflags(flags) = [ 1 : "Not Solid" : 1 32 : "Toggle (Disable Auto-Return)" : 1 64 : "X Axis" : 0 128 : "Y Axis" : 0 1024 : "Use Activates" : 1 2048 : "Starts Locked" : 0 8192 : "Jiggle When Used While Locked" : 0 ] startposition(float) : "Start Position" : "0.0" : "Postion when spawned. The value is a range between 0.0 and 1.0, where 0 is the unrotated position and 1 is the rotated position + 'Rotation Distance'." startdirection(choices) : "Start Direction" : -1 = [ -1 : "Forward" 1 : "Backward" ] distance(float) : "Rotation Distance (deg)" : "90.0" : "The maximum amount, in degrees, that the wheel is allowed to rotate." speed(float) : "Rotation Speed (deg/sec)" : "45.0" : "The amount, in degrees, that the wheel turns per second." returnspeed(float) : "Auto-Return Speed (deg/sec)" : "45.0" : "If the 'Toggle' spawnflag is not set, the speed at which the wheel auto-returns when left alone, in degrees per second." input SetPosition(string) : "Move to a position. The parameter must be a value between 0 and 1, where 0 is the unrotated position and 1 is the rotated position + 'Distance'." input SetPositionImmediately(string) : "Immediately teleport to a position. The parameter must be a value between 0 and 1, where 0 is the unrotated position and 1 is the rotated position + 'Rotation Distance'." output Position(float) : "Fired whenever the button moves. The output is the position of button from 0 to 1, where 0 is the unrotated position and 1 is the rotated position + 'Distance'." output OnUnpressed(void) : "Fired when the button is first released from being pressed." output OnFullyClosed(void) : "Fired when the button has reached position 1, the rotated position + 'Distance'." output OnFullyOpen(void) : "Fired when the button has reached position 0, the unrotated starting position." output OnReachedPosition(void) : "Fired whenever the button reaches a goal position: i.e. when it becomes open, becomes closed, or reaches the point specified by a 'SetPosition' input." ] @SolidClass base(MyTargetName3, MyParentName2, MyTeamNum1, MyAngles1, MyEnableDisable1, momentary_rot_button_, MyButtonSounds1, MySolidType1, MyButtonInputs1, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderVisibleBrushes3, MyOrigin1) color(0 128 32) = momentary_rot_button : "A brush entity that's designed to be used for rotating wheels, where the player can rotate them to arbitrary positions before stopping." [] @MoveClass base(MyTargetName2, MyRope1, MyRope2, MyRope3, MyVBSP1) color(192 96 0) studioprop("models/editor/axis_helper_thick.mdl") animator() = move_rope : "The first node in set of nodes that are used to place ropes in the world. It should connect to 1 or more keyframe_rope entities.\n\n"+ "This entity IS NOT RESET upon newround. Don't put it in movement hierarchies with entities that are. If you need it to move with an entity that's reset upon newround, use a logic_measure_movement point-entity." [] @PointClass base(MyTargetName2) color(128 255 128) = multisource : "Master entity which can be used by objects:\n- func_button\n- func_door\n- func_door_rotating\n- func_rot_button\n- game_end\n- game_player_equip\n- game_score\n- game_text\n- game_zone_player." [ globalstate(string) : "Global State to Read" : "" : "This specifies a global state to check. If not specified this entity is always ON. If 'global state' is ON than this entity is ON, otherwise OFF. See env_global." input Use(void) : "Causes this entity's 'OnTrigger' output to be fired." output OnTrigger(void) : "Fired in response to 'Use' input." ] @PointClass base(MyTargetName2, MyParentName2, MyAngles1) color(255 192 0) size(16 16 16) line(255 255 255, targetname, target) line(255 255 255, targetname, altpath) = path_track : "An entity used to build paths for other entities to follow. Each path_track is a node on the path, each holding the name of the next path_track in the path." [ spawnflags(flags) = [ 1 : "Disabled" : 0 32768 : "Branch First" : 0 4 : "Branch Reverse" : 0 8 : "Disable User Control on Pass" : 0 16 : "Teleport to This path_track" : 0 ] orientationtype(choices) : "Orientation Type" : 1 : "The way that the path follower faces as it moves through this path track." = [ 1 : "Face to Motion Direction" 2 : "Face to This path_track's Angles" ] target(target_destination) : "Next Stop Target" : "" : "The next path_track in the path." altpath(target_destination) : "Branch Path" : "" : "An alternative path_track to be the next node in the path. Useful for making branching paths. Use the ToggleAlternatePath / EnableAlternatePath inputs to make the alternative path active." speed(float) : "New Train Speed" : "0.0" : "When the train reaches this path_track, it will set its speed to this speed. "+ "This speed must be a positive value that is less than the train's max speed. A value of 0 will cause no change in the train's speed." input EnablePath(void) : "Enable the track." input DisablePath(void) : "Disable the track." input TogglePath(void) : "Cause the track to toggle on/off." input EnableAlternatePath(void) : "Enable the alternate path of the track." input DisableAlternatePath(void) : "Disable the alternate path of the track." input ToggleAlternatePath(void) : "Cause the track to toggle to/from its alternate path." input InPass(void) : "Fire 'OnPass' output." output OnPass(void) : "Fired when any entity following this path passes this path_track node." ] @BaseClass = MyTwoObjectPhysics1 [ attach1(target_destination) : "Entity 1" : "" attach2(target_destination) : "Entity 2" : "" constraintsystem(target_destination) : "Constraint System Manager" : "" : "The name of a phys_constraintsystem that this constraint should be a part of. All constraints on a set of entities should be placed in the same system, or they will fight each other during simulation." forcelimit(float) : "Force Limit to Break (lbs)" : "0" : "The amount of force an impact must apply to the constraint to break it. A way of calculating this is to set it to the mass of an object that would break this constraint if it were resting on the constrainted objects." torquelimit(float) : "Torque Limit to Break (lbs * dist)" : "0" : "The amount of torque required to break the constraint. A way of calculating this is to multiply any reference mass by the resting distance (from the center of mass of the object) needed to break the constraint." breaksound(sound) : "Play Sound on Break" : "" : "A sound played when the constraint is broken." input Break(void) : "Force the constraint to break." input TurnOn(void) : "Enable the constraint. Do this when the objects don't exist when the constraint spawns - or when you have deactivated the constraint. Broken constraints can NOT be turned on. They have been deleted." input TurnOff(void) : "Disable this constraint." input ConstraintBroken(void) : "Same as 'Break' input." output OnBreak(void) : "Fired when the constraint breaks." ] @BaseClass = MyTwoObjectPhysics2 [ spawnflags(flags) = [ 1 : "No Collision until break" : 0 4 : "Start inactive" : 0 ] ] @BaseClass = MyTwoObjectPhysics3 [ spawnflags(flags) = [ 1 : "No Collision until Break" : 1 4 : "Start Inactive" : 0 2 : "Keep Rigid" : 0 ] ] @PointClass base(MyTargetName3, MyTwoObjectPhysics1, MyTwoObjectPhysics2) iconsprite("editor/phys_ballsocket.vmt") color(255 0 255) = phys_ballsocket : "A constraint that keeps the position of two objects fixed, relative to the constraint's origin. It does not affect rotation." [] @PointClass base(MyTargetName3, MyTwoObjectPhysics1, MyTwoObjectPhysics2, MyAngles2) studioprop("models/editor/axis_helper.mdl") color(255 0 255) size(2 2 2) = phys_constraint : "A constraint that keeps the relative position and orientation of two objects fixed." [] @PointClass base(MyTargetName1) color(255 0 255) = phys_constraintsystem : "An entity used to manage a group of interacting constraints and keep them stable. " + "All constraints on a set of entities should be placed in the same system, or they will fight each other during simulation." [ additionaliterations(integer) : "Additional System Iterations" : 0 : "Adding iterations makes the interactions among constraints in a system tighter. It will not compensate for errors due to collision, but will help in cases where objects of disparate mass are constrained to each other." ] @PointClass base(MyTargetName3) size(16 16 16) color(0 128 192) line(255 255 255, targetname, target) line(255 255 255, targetname, target, targetname, swapmodel) = phys_convert : "Turns an arbitrary entity into a physically simulated entity. i.e. brush entities will behave like func_physbox, model entities behave like prop_physics." [ spawnflags(flags) = [ 1 : "Convert Asleep" : 0 ] target(target_destination) : "Entity to Convert" : "" : "Name of the entity that will be converted to a physics object when the ConvertTarget input is fired." swapmodel(target_destination) : "Model Swap Entity" input ConvertTarget(void) : "Converts this entity's target to a physically simulated object." output OnConvert(void) : "Fires after the conversion has taken place." ] @PointClass base(MyTargetName3, MyTwoObjectPhysics1) color(255 0 255) halfgridsnap = phys_hinge : "A physically simulated hinge. Use the helper to define the axis of rotation." [ spawnflags(flags) = [ 1 : "No Collision until Break" : 0 4 : "Start Inactive" : 0 8 : "Move Mass Center of the Entity to a Hinge" : 0 ] hingefriction(float) : "Friction" : "0.0" : "Resistance/friction in the hinge." hingeaxis(vecline) : "Hinge Axis" : "Use the helper." SystemLoadScale(float) : "Load Scale" : "1.0" : "Scale of the load connected to this hinge (1=just the objects directly connected)." input SetAngularVelocity(float) : "Set angular velocity around the hinge (motor)." ] @PointClass base(MyTargetName3, MyAngles1) color(255 0 255) = phys_keepupright : "A controller that tries to keep an entity facing a particular direction." [ spawnflags(flags) = [ 1 : "Start Inactive" : 0 ] attach1(target_destination) : "Target Entity" : "" : "The entity to align to the desired angles." angularlimit(float) : "Angular Limit" : "45.0" : "The maximum angular velocity that this controller can compensate for, in degrees per second." input TurnOn(void) : "Enable the controller." input TurnOff(void) : "Disable the controller." SetAngularLimit(float) : "Set new Angular Limit." ] @BaseClass = phys_lengthconstraint_ [ addlength(float) : "Additional Length" : "0.0" : "Add (or subtract) this amount to the rest length of the rope." minlength(float) : "Minimum Length" : "0.0" : "If the constraint is not rigid, this is the minimum length it can be." attachpoint(vecline) : "Attached Point" : "The position the rope attaches to object 2." ] @PointClass base(MyTargetName3, MyTwoObjectPhysics1, MyTwoObjectPhysics3, phys_lengthconstraint_, MyAngles2) studioprop("models/editor/axis_helper.mdl") color(255 0 255) size(2 2 2) = phys_lengthconstraint : "A constraint that preserves the distance between two entities. If the 'Keep Rigid' flag is set, think of it as a rod. If not, think off it as a virtual rope." [] @BaseClass = phys_magnet_ [ spawnflags(flags) = [ 1 : "Start Asleep (don't fall to ground)" : 0 2 : "Motion Disabled" : 0 4 : "Suck On Touch (attract metal when touched by anything)" : 0 8 : "Allow Attached Rotation (let metal objects on the magnet rotate)" : 0 ] forcelimit(float) : "Force Limit to Break (lbs)" : "0.0" : "The amount of force necessary to break a stuck object off the magnet. A way of calculating this is to set it to the mass of an object that would break this constraint if it were resting on the magnet." torquelimit(float) : "Torque Limit to Break (lbs * dist)" : "0.0" : "The amount of torque necessary to break a stuck object off the magnet. A way of calculating this is to multiply any reference mass by the resting distance (from the center of mass of the object) needed to break the constraint." maxobjects(integer) : "Maximum Attached Objects" : 0 : "The maximum number of physics objects that can be stuck to the magnet at once. 0 = no limit." input TurnOn(void) : "Turn the magnet on." input TurnOff(void) : "The the magnet off. This will detach anything current stuck to the magnet." input Toggle(void) : "Toggles the magnet's state." output OnAttach(void) : "Fired when an entity is grabbed by the magnet." output OnDetach(void) : "Fired when an entity is released by the magnet." ] @PointClass base(MyTargetName3, MyTeamNum1, MyAngles1, phys_magnet_, MyModel2, MyModelIgnite1, MyPhysMass1, MyPhysParams1, MyDmgNoForces1, MyDmgFilter1, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderDisableShadows3, MyRenderFade1, MyRenderLightingOrigin1, MyVBSP1) color(255 0 255) sphere(fademindist) sphere(fademaxdist) studioprop() = phys_magnet : "An entity that acts like a magnet, attaching metallic physics objects to itself when they touch it." [ model(studio) : "World Model" : "models/props_wasteland/cranemagnet01a.mdl" : "Model which will be used as a form for magnet." ] @PointClass base(MyTargetName3) color(255 0 255) halfgridsnap = phys_motor : "An entity that tries to spin a target entity at a particular speed." [ spawnflags(flags) = [ 1 : "Start ON" : 1 2 : "No World Collision" : 0 4 : "Hinge Object" : 1 ] attach1(target_destination) : "Attached Object" : "" : "Object to apply the force to." speed(float) : "Rotation Speed (deg/sec)" : "180.0" : "Angular speed (units are degress/second)." spinup(float) : "Spin Up Time" : "1.0" : "Spin up time in seconds (also affects the rate at which speed changes happen)." inertiafactor(float) : "System Interia Scale" : "1.0" : "Make this larger if the object being driven is constrained to a set of heavier objects." axis(vecline) : "Rotation Axis" : "" : "Use the helper." input TurnOn(void) : "Turns motor on." input TurnOff(void) : "Turns motor off." input SetSpeed(float) : "Sets target speed." ] @BaseClass = phys_pulleyconstraint_ [ addlength(float) : "Additional Length" : "0.0" : "Add (or subtract) this amount to the rest length of the pulley rope." gearratio(float) : "Pulley Gear Ratio" : "1.0" : "Add (or subtract) this amount to the rest length of the pulley rope." position2(vecline) : "Pulley Position 2" : "" : "The position of the pulley for Entity 2. The pulley for Entity 1 is the origin of this constraint entity. Entity 1 is always suspended from pulley point 1, and Entity 2 is always suspended from pulley point 2." ] @PointClass base(MyTargetName3, MyTwoObjectPhysics1, MyTwoObjectPhysics3, phys_pulleyconstraint_, MyAngles2) studioprop("models/editor/axis_helper.mdl") color(255 0 255) size(2 2 2) = phys_pulleyconstraint : "A constraint that is essentially two length constraints and two points. Imagine it as a virtual rope connected to two objects, each suspended from a pulley above them."+ "The constraint keeps the sum of the distances between the pulley points and their suspended objects constant." [] @BaseClass = phys_ragdollconstraint_ [ spawnflags(flags) = [ 1 : "No Collision until Break" : 1 4 : "Start Inactive" : 0 2 : "Only Limit Rotation (free movement)" : 0 ] xmin(float) : "Limit Min (X axis)" : "-90" : "-180 min and 180 max = no constraint on this axis." xmax(float) : "Limit Max (X axis)" : "90" : "-180 min and 180 max = no constraint on this axis." ymin(float) : "Limit Min (Y axis)" : "-0" : "-180 min and 180 max = no constraint on this axis." ymax(float) : "Limit Max (Y axis)" : "0" : "-180 min and 180 max = no constraint on this axis." zmin(float) : "Limit Min (Z axis)" : "-0" : "-180 min and 180 max = no constraint on this axis." zmax(float) : "Limit Max (Z axis)" : "0" : "-180 min and 180 max = no constraint on this axis." xfriction(float) : "Friction (X axis)" : "0" yfriction(float) : "Friction (Y axis)" : "0" zfriction(float) : "Friction (Z axis)" : "0" ] @PointClass base(MyTargetName3, MyTwoObjectPhysics1, phys_ragdollconstraint_, MyAngles2) studioprop("models/editor/axis_helper.mdl") color(255 0 255) size(2 2 2) = phys_ragdollconstraint : "A constraint that fixes the position of two entities, relative to this constraint's origin. Also allows for limits on the rotation around each axis, in the space of this constraint." [] @PointClass base(MyTargetName3, MyParentName2, MyEnableDisable2) iconsprite("editor/info_target.vmt") color(255 0 255) sphere(radius) halfgridsnap = phys_ragdollmagnet : "An entity that acts like a magnet for ragdolls. Useful for crafting exaggerated ragdoll behavior (i.e. guys falling over rails on death). If the "+ "Bar Magnet spawnflag is set, the magnet works like it was a cylindrical magnet i.e. it attracts ragdolls to the nearest point on a line." [ spawnflags( Flags ) = [ 2 : "Bar Magnet (use axis helper)" : 0 ] radius(float) : "Effective Radius" : "512" : "Radius in which ragdolls are affected around this entity's origin." force(float) : "Force (lbs)" : "8500.0" : "Magnetic force to apply to ragdolls within the radius. Expressed as kilograms per unit per second. So a force of 1000 will add 10 units/second to a 100kg man. It will add 100 units per second to a 10kg headcrab. CS:S Player mass = 85kg." axis(vecline) : "Bar Magnet Axis" : "Use the helper." target(target_destination) : "Entity to Affect" : "" : "If specified, the phys_ragdollmagnet will only affect the target entity." ] @BaseClass = phys_slideconstraint_ [ spawnflags(flags) = [ 1 : "No Collision until Break" : 1 4 : "Start Inactive" : 0 2 : "Limit Endpoints" : 0 ] slidefriction(float) : "Friction" : "0.0" : "Resistance/friction in the constraint." systemloadscale(float) : "Load Scale" : "1.0" : "Scale of the mass load connected to this constraint (1=just the objects directly connected)." slideaxis(vecline) : "Sliding Axis" : "Use the helper." input SetVelocity(float) : "Set linear velocity along the constraint." ] @PointClass base(MyTargetName3, MyTwoObjectPhysics1, phys_slideconstraint_, MyAngles2) studioprop("models/editor/axis_helper.mdl") color(255 0 255) size(2 2 2) halfgridsnap = phys_slideconstraint : "A constraint that constrains an entity along a line segment." [] @BaseClass = phys_spring_ [ spawnflags(flags) = [ 1 : "Force Only On Stretch" : 0 ] attach1(target_destination) : "Entity 1" : "" attach2(target_destination) : "Entity 2" : "" length(float) : "Spring Length" : "0.0" : "How long the spring would be if it was at rest (nothing hanging on it or attached). 0 means the length of the brush." constant(float) : "Spring Constant" : "50" : "Stiffness of the spring. The larger the number the less the spring will stretch." damping(float) : "Damping Constant" : "2.0" : "How much energy the spring loses. The larger the number, the less bouncy the spring." relativedamping(float) : "Relative Damping Constant" : "0.1" : "The amount of energy the spring loses proportional to the relative velocity of the two objects the spring is attached to." springaxis(vecline) : "Spring Axis" : "" : "Use the helper. Drag it out to match the virtual spring." input SetSpringConstant(float) : "Set the Spring Constant." input SetSpringLength(float) : "Set the Spring Length." input SetSpringDamping(float) : "Set the Spring Damping." ] @PointClass base(MyTargetName3, phys_spring_, MyAngles2) studioprop("models/editor/axis_helper.mdl") color(255 0 255) size(2 2 2) halfgridsnap = phys_spring : "A physically simulated spring."+ "'Length' is what's known as the 'natural spring length'. This is how long the spring would "+ "be if it was at rest (nothing hanging on it or attached). When you attach something to the "+ "spring, it will stretch longer than its 'natural length'. The amount of stretch is "+ "determined by the 'Sprint Constant'. The larger the spring constant the less stretch the spring." [] @BaseClass = MyForceController1 [ attach1(target_destination) : "Attached Object" : "" : "Object to apply the force to." force(float) : "Force (lbs)" : "0.0" : "Force (will be integrated, units are force kg*in/s^2)." forcetime(float) : "Time of Force" : "0" : "Automatic shut-off after this time has passed (0 = stay on forever or until deactivated)." input Activate(void) : "Turn the force on." input Deactivate(void) : "Turn the force off." input Scale(float) : "Set Force Scale." ] @PointClass base(MyTargetName3, MyParentName2, MyAngles1, MyForceController1) color(255 0 255) = phys_thruster : "An entity used to apply constant acceleration to a physics object. "+ "The force and torque is calculated using the position and direction of the thruster as an impulse. So moving those off the object's center "+ "will cause torque as well. Torque can be removed by unchecking the 'apply torque' flag. The position of the thruster can be forced to be "+ "at the object's center by checking to 'ignore pos' flag." [ spawnflags(flags) = [ 2 : "Apply Force" : 1 4 : "Apply Torque" : 1 8 : "Orient Locally" : 1 16 : "Ignore Mass" : 0 32 : "Ignore Pos" : 0 ] ] @PointClass base(MyTargetName3, MyForceController1) color(255 0 255) halfgridsnap = phys_torque : "An angular thruster. Use it to apply angular force to an entity." [ force(float) : "Angular Acceleration (lbs)" : "0" : "Angular acceleration (units are degress/s^2)." axis(vecline) : "Rotation Axis" : "" : "Use the helper." ] @PointClass base(MyTargetName3) size(32 32 32) = player_speedmod : "Scales the activating player's movement speed for all motion (this includes running, falling, and jumping), creating a slowmo or sped-up effect. Only works via an input." [ input ModifySpeed(float) : "Scale the player's speed by this amount." ] @PointClass base(MyTargetName3) size(32 32 32) = player_weaponstrip : "Strips the weapons from the player who triggers it." [ input Strip(void) : "Strips the activating player's weapons." input StripWeaponsAndSuit(void) : "Strip the activating player's weapons and armor." ] @PointClass base(MyTargetName3, MyEnableDisable3) = point_anglesensor : "An entity that detects if another entity points in a given direction for a period of time." [ target(target_destination) : "Target Entity Name" : "" : "Name of the entity whose angles will be sensed." lookatname(target_destination) : "Look At Entity" : "" : "The entity we want to check to see if the Target Entity is looking at." duration(float) : "Duration" : "0.0" : "The amount of time the Target Entity must look at the 'Look at Entity' to trigger this entity, in seconds." tolerance(float) : "Tolerance (deg)" : "15.0" : "The tolerance, in degrees, in the checking to determine when the Target Entity is looking at the Look At Entity." input Test(void) : "Check to see if the Target Entity is facing the Look At Entity within the specified tolerance, firing either the OnFacingLookat or OnNotFacingLookat output based on the result." output TargetDir(vector) : "Fired when the forward direction of the Target Entity changes. Passes the new forward direction as a parameter." output OnFacingLookat(void) : "Fired when the Target Entity points at the Look At Entity for more than the specified Duration, or in response to a Test input." output OnNotFacingLookat(void) : "Fires in response to a Test input when the Target Entity is not pointing at the Look At Entity." output FacingPercentage(float) : "Normalize value representing how close the entity is to facing directly at the target. (0-1)" ] @PointClass base(MyTargetName3) = point_angularvelocitysensor : "An entity that detects if another entity's angular velocity meets or exceeds a threshold value." [ target(target_destination) : "Target Entity Name" : "" : "Name of the entity whose angular velocity will be sensed." threshold(float) : "Threshold Velocity" : "0.0" : "The threshold angular velocity to compare against, in degrees per second." usehelper(choices) : "Use Axis Helper" : 0 : "Use axis helper to determine rotation values (clockwise/counter-clockwise)." = [ 0 : "No" 1 : "Yes" ] axis(vecline) : "Axis" : "Use the helper." input Test(void) : "Checks to see if the Target Entity's angular velocity meets or exceeds the Threshold Velocity, " + "firing either the OnGreaterThanOrEqualTo or OnLessThan output based on the result." output AngularVelocity(float) : "Fired when the Target's Angular Velocity changes, passing the new magnitude of the angular velocity." output OnGreaterThan(void) : "Fired when the Target Entity goes from slower than the threshold angular velocity to faster than the threshold angular velocity." output OnGreaterThanOrEqualTo(void) : "Fired when the Target Entity goes from slower than the threshold angular velocity to faster than the threshold angular velocity." output OnLessThan(void) : "Fired when the Target Entity goes from faster than the threshold angular velocity to slower than the threshold angular velocity." output OnLessThanOrEqualTo(void) : "Fired when the Target Entity goes from faster than the threshold angular velocity to slower than the threshold angular velocity." output OnEqualTo(void) : "Fired when the Target Entity reaches the threshold angular velocity from a different velocity." ] @PointClass base(MyTargetName3, MyParentName2, MyAngles1) studioprop("models/editor/camera.mdl") = point_camera : "Camera. Everything it sees can be displayed on brush-based entities "+ "in the map that use a monitor texture. Place this camera and a func_monitor block with at least one monitor-textured face, and specify this camera within the func_monitor's "+ "properties. You can also use an info_camera_link entity to display this point_camera's view on entities besides func_monitor." [ spawnflags(flags) = [ 1 : "Start OFF" : 0 ] FOV(float) : "FOV" : "90.0" : "Field of view in degrees. Lower numbers zoom in; higher numbers zoom out." fogEnable(choices) : "Fog Enable" : 0 : "Superimposes fog onto the camera's view before passing it along to entities referencing the camera." = [ 0 : "No" 1 : "Yes" ] fogColor(color255) : "Fog Color" : "0 0 0" fogStart(float) : "Fog Start" : "1024.0" : "The near fog plane." fogEnd(float) : "Fog End" : "4096.0" : "The far fog/clipping plane." input ChangeFOV(string) : "Changes camera's FOV over time. Format: ." input SetOnAndTurnOthersOff(void) : "Turn the camera on, and turn all other cameras off." input SetOn(void) : "Turn the camera on." input SetOff(void) : "Turn the camera off." ] @PointClass base(MyTargetName3) = point_clientcommand : "An entity that issues commands to the client console, as if it was typed in by the player (if activator is a player, or the local player in single player)." [ input Command(string) : "Command to execute on client." ] @PointClass base(MyAngles1) color(255 0 0) studioprop("models/editor/camera.mdl") = point_devshot_camera : "An entity used by the -makedevshots system, which automatically takes screenshots at the position of every devshot camera in the level." [ cameraname(string) : "Camera Name" : "" : "Used as the name of the directory to store screenshots from this camera." FOV(integer) : "FOV" : 75 : "Field Of View of this camera." ] @PointClass base(MyTargetName3, MyParentName2, MyAngles1) size(4 4 4) = point_enable_motion_fixup : "An entity used to move a motion-disabled prop when it enables motion. Parent this entity to the prop, and when the prop has its motion enabled, it will immediately teleport to the origin of this entity." [] @BaseClass = point_hurt_ [ spawnflags(flags) = [ 1 : "Start ON" : 0 ] DamageRadius(float) : "Radius" : "256.0" : "All entities within this radius of this entity will take damage. If a 'Target Entity' is specified, only that entity will take damage." DamageType(choices) = [] Damage(integer) : "Damage Amount" : 5 : "Damage done to all affected entities each time this entity fires." DamageDelay(float) : "Damage Delay" : "1.0" : "Delay between refires, in seconds." DamageTarget(target_destination) : "Target Entity" : "" : "If specified, only this entity will take damage. Otherwise, all entities within the Radius will take damage." input Hurt(void) : "Force a single fire, damaging either the Target Entity or all entities within the radius." ] @PointClass base(MyTargetName3, MyParentName2, MyInitialState4, point_hurt_, MyDmgType1) color(215 0 0) sphere(DamageRadius) = point_hurt : "An entity that does damage to all entities in a radius around itself, with a specified delay." + "If 'Target Entity' is specified, the damage is only done to that entity." [] @PointClass base(MyTargetName3, MyParentName2) sphere(radius) = point_playermoveconstraint : "An entity that constrains players to a radius around itself, slowing them down the closer they get to the edge of the radius." [ radius(float) : "Radius" : "256.0" : "Radius to constrain players to." width(float) : "Constraint Width" : "75.0" : "Width of the constraint edge. This is the distance in which to start slowing players down as they approach the edge of the radius." speedfactor(float) : "Speed Factor" : "0.15" : "Factor applied to the player's max speed as they approach the radius edge." input TurnOn(void) : "Start constraining any players within the radius." input TurnOff(void) : "Stop constraining any players previously constrained." output OnConstraintBroken(void) : "Fired when a player breaks through the constraint." ] @PointClass base(MyTargetName3, MyParentName2, MyAngles1, MyEnableDisable3) size(8 8 8) = point_proximity_sensor : "An entity that detects another entity's proximity to a target position." [ spawnflags(flags) = [ 1 : "Distance Along the Axis (uses 'Angles')" : 0 ] target(target_destination) : "Target Entity" : "" : "Name of the entity whose angles will be sensed." input SetTargetEntity(string) : "Set new 'Target Entity'." output Distance(float) : "Distance of the target entity away from this entity." ] @PointClass base(MyTargetName3, MyParentName2, MyAngles1, MyEnableDisable1) sphere(radius) sphere(inner_radius) = point_push : "Point Push." [ spawnflags(flags) = [ 1 : "Test LOS before pushing" : 0 2 : "Use Push Direction" : 0 4 : "No Falloff (constant push at any distance)" : 0 ] angles(angle) : "Push Direction (Y Z X)" enabled(choices) : "Start Enabled" : 0 = [ 0 : "No" 1 : "Yes" ] magnitude(float) : "Magnitude" : "100.0" : "How strongly to push away from the center." radius(float) : "Radius" : "128.0" : "Radius to affect items in." inner_radius(float) : "Inner Radius" : "0.0" : "If not zero, the LOS is calculated from a point intersecting this sphere." ] @PointClass base(MyTargetName3) = point_servercommand : "An entity that issues commands to the server console." [ input Command(string) : "Command to execute." ] @PointClass base(MyTargetName3, MyParentName2, MyAngles1) color(20 140 20) studioprop("models/editor/spot_cone.mdl") sphere(spotlightlength) = point_spotlight : "An entity to draw a spotlight. Will draw a beam when the player views it side on, and a halo when it's facing towards the player. Unless the 'No Dynamic Light' spawnflag is checked, it will also create a dynamic light wherever the end of the spotlight rests." [ spawnflags(flags) = [ 1 : "Start ON" : 1 2 : "No Dynamic Light" : 1 ] spotlightlength(float) : "Spotlight Length" : "200.0" : "Length of the spotlight beam." spotlightwidth(float) : "Spotlight Width" : "100.0" : "Width of the spotlight beam. Minimum is 0.0. Maximum is 102.3." rendercolor(color255) : "FX Color (R G B)" : "255 255 255" : "The FX color is used by the selected Render Mode." HDRColorScale(float) : "HDR Color Scale" : "0.5" : "Float value to multiply sprite color by when running in HDR mode." input LightOn(void) : "Turn the spotlight on." input LightOff(void) : "Turn the spotlight off." input Color(color255) : "Set the entity's color (R G B)." ] @PointClass base(MyTargetName3) = point_surroundtest : "Surround Sound Test" [ input FireCorrectOutput(void) : "Fire output based on snd_surround_speaker cvar value." output On2Speakers(void) : "Fired if server is using 2 speakers." output On4Speakers(void) : "Fired if server is using 4 speakers." output On51Speakers(void) : "Fired if server is using 5.1 speakers." ] @PointClass base(MyTargetName3, MyAngles1) = point_teleport : "An entity that teleports a target entity to this position and angles. "+ "If 'Teleport Home' spawn flag is set, teleports the target entity to its spawn position instead." + "If object is physically simulated, simulation is turned off when teleported." [ spawnflags(flags) = [ 1 : "Teleport Home" : 0 ] target(target_destination) : "Entity To Teleport" : "" : "Name of the entity that will be teleported." input Teleport(void) : "Teleport the target entity." ] @PointClass base(MyTargetName3) = point_template : "Turns an entity, or set of entities, into a single template that can be instanced anywhere, and multiple times. "+ "If there are interdependencies (entity I/O, hierarchy, or other name references) between the entities "+ "in the template, the entities in the template will have their names changed and the interdependencies will "+ "be reconnected to the changes names. The name change format is as follows: '&0000', where the 0000 "+ "will be replaced with the current global template instance, so wildcard searches for '*' will still find them.\n"+ "If you don't want the name fixup to happen, because you're only spawning the template once, or you want inputs to "+ "trigger all instances of the template, check the 'Preserve entity names' spawnflag. \n"+ "To spawn the template in other places, use an env_entity_maker." [ spawnflags(flags) = [ 1 : "Don't Remove Template Entities" : 0 2 : "Preserve Entity Names (Don't do name fixup)" : 1 ] Template01(target_destination) : "Template 1" Template02(target_destination) : "Template 2" Template03(target_destination) : "Template 3" Template04(target_destination) : "Template 4" Template05(target_destination) : "Template 5" Template06(target_destination) : "Template 6" Template07(target_destination) : "Template 7" Template08(target_destination) : "Template 8" Template09(target_destination) : "Template 9" Template10(target_destination) : "Template 10" Template11(target_destination) : "Template 11" Template12(target_destination) : "Template 12" Template13(target_destination) : "Template 13" Template14(target_destination) : "Template 14" Template15(target_destination) : "Template 15" Template16(target_destination) : "Template 16" input ForceSpawn(void) : "Spawn an instance of the template at the original position." output OnEntitySpawned(void) : "Fired after spawning an instance of this template." ] @PointClass base(MyTargetName3, MyParentName2) sphere(m_flRadius) = point_tesla : "An entity that creates tesla lightning arcs around its origin." [ m_bOn(choices) : "Start Enabled" : 0 = [ 0 : "No" 1 : "Yes" ] m_flRadius(float) : "Radius" : "200.0" : "Radius around the origin to find a point to strike with a tesla lightning beam." beamcount_min(integer) : "Min Num of Beams" : 6 : "Minimum number of tesla lightning beams to create when creating an arc." beamcount_max(integer) : "Max Num of Beams" : 8 : "Maximum number of tesla lightning beams to create when creating an arc." thick_min(float) : "Min Beam Width" : "4.0" : "Minimum width of the tesla lightning beams." thick_max(float) : "Max Beam Width" : "5.0" : "Maximum width of the tesla lightning beams." lifetime_min(float) : "Min Time Visible" : "0.3" : "Minimum lifetime of the tesla lightning beams." lifetime_max(float) : "Max Time Visible" : "0.4" : "Maximum lifetime of the tesla lightning beams." interval_min(float) : "Min Time Between Arcs" : "0.5" : "Minimum time delay between random arcing." interval_max(float) : "Max Time Between Arcs" : "2.0" : "Maximum time delay between random arcing." texture(sprite) : "Sprite Name" : "sprites/physbeam.vmt" : "Material to use for the tesla lightning beams." m_Color(color255) : "FX Color (R G B)" : "255 255 255" m_SoundName(sound) : "Sound Name" : "" : "Sound to be played whenever lightning is created. Try 'DoSpark' sound." m_SourceEntityName(string) : "Source Entity" : "" : "If specified, tesla lightning will originate from the specified entity. Otherwise, they originate from this entity." input TurnOn(void) : "Turn emitter on." input TurnOff(void) : "Turn emitter off." input DoSpark(void) : "Force a single arc." ] @PointClass base(MyTargetName3, MyParentName2, MyAngles1) color(255 0 0) = point_viewcontrol : "A camera entity that controls the player's view. While it's active, the player will see out of the camera.\n\n"+ "This entity IS NOT RESET upon newround. Don't put it in movement hierarchies with entities that are. If you need it to move with an entity that's reset upon newround, use a logic_measure_movement point-entity." [ spawnflags(flags) = [ 1 : "Start At Player" : 1 2 : "Follow Player" : 1 4 : "Freeze Player" : 0 8 : "Infinite Hold Time" : 0 64 : "Interruptable by Player" : 0 ] target(target_destination) : "Entity to Look At" : "" : "Name of the entity that the camera should point at and track while active." targetattachment(string) : "Target Attachment Name" : "" : "If set, the camera will focus on the specified attachment on the 'Entity to Look At'." wait(float) : "Hold Time" : "5.0" : "The amount of time the camera should control the player's view for, after which it deactivates itself. If the camera should stay active until told to deactive, set the 'Infinite Hold Time' spawnflag." input Enable(void) : "Enable the point_viewcontrol, and start controlling the player's view." input Disable(void) : "Disable the point_viewcontrol, and stop controlling the player's view." output OnEndFollow(void) : "Fired when the point_viewcontrol deactivates, due to the Disable input being received, the Entity to Look At being destroyed, or the Hold Time expiring." ] @PointClass base(MyAngles1) studioprop() = prop_detail : "Detail prop. Cannot be destroyed and cannot move (and cannot be used with a destroyable or movable model). May not appear on low-end machines." [ model(studio) : "World Model" : "" : "The special detail-model to use for this entity. Must be a valid .MDL somewhere in the mod directory; to specify a model, write 'models/somefolder/mymodel.mdl'. Don't use backslashes, and don't write any directories above 'models'." detailOrientation(choices) : "Detail Orientation" : 0 = [ 0 : "Static" 1 : "Facing" 2 : "Facing (Y Clamp)" ] ] @BaseClass = prop_door_rotating_ [ spawnflags(flags) = [ 1 : "Starts Open" : 0 16 : "Break on Touch" : 0 32 : "Break on Pressure" : 0 64 : "Use Hitboxes for Renderbox" : 0 128 : "No VPhysics (BSP used)" : 1 256 : "Disable Collision (Player can to pass through this door)" : 0 2048 : "Starts Locked" : 0 4096 : "Door Silent" : 0 8192 : "Use Closes" : 1 32768 : "Ignore player +USE" : 0 ] hardware(choices) : "Hardware Type" : 1 : "The type of door hardware (handle or push bar) that will be put on the model in-game." = [ 0 : "None" 1 : "Lever" 2 : "Push bar" ] spawnpos(choices) : "Spawn Position" : 0 = [ 0 : "Closed" 1 : "Open forward" 2 : "Open back" 3 : "Ajar (use Ajar Angles)" ] ajarangles(angle) : "Ajar Angles (Pitch Yaw Roll)" : "0 0 0" : "If the door 'Spawn Position' is set to Ajar, these are the angles to spawn at, instead of being open or closed." distance(float) : "Rotation Distance (deg)" : "90.0" : "The amount, in degrees, that the door should rotate when opened." speed(float) : "Rotation Speed (deg/sec)" : "100.0" : "The amount, in degrees, that the door turns per second." returndelay(integer) : "Delay Before Close (-1 stay)" : 3 : "Amount of time, in seconds, after the door has opened before it closes. If the value is set to -1, the door never closes itself." // forceclosed(choices) : "Force Closed" : 0 : "If set, this door will close no matter what. Useful for doors that have to close even if the player tries to block them with objects." = // [ // 0 : "No" // 1 : "Yes" // ] // dmg(float) : "Damage Inflicted When Blocked" : "0.0" : "Amount of damage done to entities that block the movement of this door, per frame." soundopenoverride(sound) : "Fully Open Sound" : "" : "Sound played when the door has finished opening." soundcloseoverride(sound) : "Fully Closed Sound" : "" : "Sound played when the door has finished closing." soundmoveoverride(sound) : "Moving Sound" : "" : "Sound played when the door starts to move." soundlockedoverride(sound) : "Locked Sound" : "" : "Sound played when the player tries to open the door, and fails because it's locked." soundunlockedoverride(sound) : "Unlocked Sound" : "" : "Sound played when the door is unlocked." // axis(axis) : "Hinge Axis" : "" : "Axis around which to rotate when the door is opened. This will be nonfunctional if an invalid model is used." input Open(void) : "Open the door, if it is not fully open." input OpenAwayFrom(string) : "Open the door away from the specified entity." input Close(void) : "Close the door, if it is not fully closed." input Toggle(void) : "Toggle the door between open and closed." input Lock(void) : "Lock the door." input Unlock(void) : "Unlock the door." input SetRotationDistance(float) : "Set the distance (in degrees) between Open and Closed." input EnableCollision(void) : "Enable collision between a door and player." input DisableCollision(void) : "Disable collision between a door and player." output OnOpen(void) : "Fired when the door is told to open." output OnClose(void) : "Fired when the door is told to close." output OnFullyOpen(void) : "Fired when the door reaches the fully open position." output OnFullyClosed(void) : "Fired when the door reaches the fully closed position." output OnBlockedClosing(void) : "Fired when the door is blocked while closing." output OnBlockedOpening(void) : "Fired when the door is blocked while opening." output OnUnblockedClosing(void) : "Fired when the door is unblocked while closing." output OnUnblockedOpening(void) : "Fired when the door is unblocked while opening." ] @PointClass base(MyTargetName3, MyParentName2, MyTeamNum1, MyAngles1, MyEnableDisable2, prop_door_rotating_, MyModel2, MyModelIgnite1, MyModelAnim1, MyDmgBreak2, MyDmgConstraint1, MyDmgFilter1, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderDisableShadows3, MyRenderFade1, MyRenderLightingOrigin1, MyVBSP1) color(0 128 32) sphere(fademindist) sphere(fademaxdist) sphere(ExplodeRadius) studioprop() = prop_door_rotating : "An entity used to place a model door in the world.\n\n"+ "If you want to use a model not configured for use with this entity, you can use a brush-based 'func_door_rotating' instead, with a 'prop_dynamic' parented to it." [ model(studio) : "World Model" : "models/props_c17/door01_left.mdl" : "Model. Must be properly configured for use as a rotating door; if you use a bad model, the entity will be quite buggy." ] @BaseClass = prop_dynamic_ [ spawnflags(flags) = [ 16 : "Break on Touch" : 0 32 : "Break on Pressure" : 0 64 : "Use Hitboxes for Renderbox" : 0 256 : "Disable Collision (Player can to pass through this object)" : 0 ] solid(choices) : "Collisions" : 6 = [ 0 : "Not Solid" 2 : "Use Bounding Box" 6 : "Use VPhysics" ] ] @PointClass base(MyTargetName3, MyParentName2, MyTeamNum1, MyAngles1, MyEnableDisable2, prop_dynamic_, MyModel2, MyModelIgnite1, MyModelAnim1, MyDmgBreak2, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderDisableShadows1, MyRenderFade1, MyRenderLightingOrigin1, MyVBSP1) sphere(fademindist) sphere(fademaxdist) sphere(ExplodeRadius) studioprop() = prop_dynamic : "A prop that can be placed in hierarchy and can play animations. It can also be configured to break when it takes enough damage. "+ "Note that the health of the object will be overridden by the health inside the model, to ensure consistent health game-wide. "+ "If the model used by the prop is configured to be used as a prop_physics (i.e. it should be physically simulated) then it CANNOT be "+ "used as a prop_dynamic. Upon level load it will display a warning in the console and remove itself. Use a prop_physics instead." [] @BaseClass base(prop_dynamic_) = prop_dynamic_ornament_ [ InitialOwner(target_destination) : "Target Entity" : "" : "Name of the entity that this ornament should attach to, at startup." input SetAttached(string) : "Attach the ornament to a different entity. Parameter should be the name of entity to attach to." input Detach(string) : "Detach from the Target Entity and become invisible. The ornament can be re-attached with the SetAttached input." ] @PointClass base(MyTargetName3, MyParentName2, MyTeamNum1, MyAngles1, MyEnableDisable2, prop_dynamic_ornament_, MyModel2, MyModelIgnite1, MyModelAnim1, MyDmgBreak2, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderDisableShadows1, MyRenderFade1, MyRenderLightingOrigin1, MyVBSP1) sphere(fademindist) sphere(fademaxdist) sphere(ExplodeRadius) studioprop() = prop_dynamic_ornament : "A way to attach one studio model to another as an ornament. It will render in the way that player/NPC weapons render." [ model(studio) : "World Model" : "models/weapons/w_suitcase_passenger.mdl" : "Special ornament-model. Must be properly configured for use as a ornament entity; if you use a bad model, this model will not properly attached." ] @BaseClass base(prop_dynamic_) = prop_dynamic_override_ [ health(integer) : "Health" : 0 : "Number of points of damage to take before breaking. 0 means don't break." ] @PointClass base(MyTargetName3, MyParentName2, MyTeamNum1, MyAngles1, MyEnableDisable2, prop_dynamic_override_, MyModel2, MyModelIgnite1, MyModelAnim1, MyDmgBreak2, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderDisableShadows1, MyRenderFade1, MyRenderLightingOrigin1, MyVBSP1) sphere(fademindist) sphere(fademaxdist) sphere(ExplodeRadius) studioprop() = prop_dynamic_override : "A prop that can be placed in hierarchy and can play animations. It can also be configured to break when it takes enough damage.\n"+ "prop_dynamic_override is a prototyping entity only. It will allow the use of models designed to be used as prop_physics." [] @BaseClass = prop_physics_ [ spawnflags(flags) = [ 1 : "Start Asleep (don't fall to ground)" : 0 8 : "Motion Disabled" : 0 // 2 : "Don't take physical damage" : 0 // It's bug =( 4 : "Debris (don't collide with the player or other debris, don't fire triggers)" : 0 4096 : "Force Debris Touch Triggers (requires Debris; OnPlayerUse can be fired)" : 0 16 : "Break on Touch" : 0 32 : "Break on Pressure" : 0 256 : "Generate OnPlayerUse on +USE" : 0 1024 : "Prevent motion enable on player bump" : 0 // 8192 : "Force server-side" : 0 2097152 : "No physics collisions" : 0 ] ] @PointClass base(MyTargetName3, MyTeamNum1, MyAngles1, prop_physics_, MyModel2, MyModelIgnite1, MyPhysInputs2, MyPhysMass1, MyPhysInertia1, MyPhysParams1, MyPhysDmgScale1, MyDmgBreak2, MyDmgConstraint2, MyDmgType2, MyDmgNoForces1, MyDmgFilter1, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderDisableShadows3, MyRenderFade1, MyVBSP1) color(255 0 255) sphere(fademindist) sphere(fademaxdist) sphere(ExplodeRadius) studioprop() = prop_physics : "A prop that physically simulates as a single rigid body. It can be constrained to other physics objects using hinges "+ "or other constraints. It can also be configured to break when it takes enough damage. "+ "Note that the health of the object will be overridden by the health inside the model, to ensure consistent health game-wide. "+ "If the model used by the prop is configured to be used as a prop_dynamic (i.e. it should not be physically simulated) then it CANNOT be "+ "used as a prop_physics. Upon level load it will display a warning in the console and remove itself. Use a prop_dynamic instead." [ model(studio) : "World Model" : "models/props_c17/oildrum001.mdl" : "Model. Must be properly configured for use as a physics object; if you use a bad model, the entity will be automatically REMOVED from a map." ] @PointClass base(prop_physics) color(255 0 255) sphere(fademindist) sphere(fademaxdist) sphere(ExplodeRadius) studioprop() = prop_physics_multiplayer : "This class is the same as prop_physics, except the runtime collisions use a more bouncy method that avoids " + "the prediction errors normal physics objects get." [ spawnflags(flags) = [ 1 : "Start Asleep (don't fall to ground)" : 0 8 : "Motion Disabled" : 0 // 2 : "Don't take physical damage" : 0 // It's bug =( 4 : "Debris (don't collide with the player or other debris, don't fire triggers)" : 0 4096 : "Force Debris Touch Triggers (requires Debris; OnPlayerUse can be fired)" : 0 16 : "Break on Touch" : 0 // 32 : "Break on Pressure" : 0 256 : "Generate OnPlayerUse on +USE" : 0 // 1024 : "Prevent motion enable on player bump" : 0 2097152 : "No physics collisions" : 0 8192 : "Force Server-Side" : 0 ] ] @BaseClass base(prop_physics_) = prop_physics_override_ [ health(integer) : "Health" : 0 : "Number of points of damage to take before breaking. 0 means don't break." ] @PointClass base(MyTargetName3, MyTeamNum1, MyAngles1, prop_physics_override_, MyModel2, MyModelIgnite1, MyPhysInputs2, MyPhysMass1, MyPhysInertia1, MyPhysParams1, MyPhysDmgScale1, MyDmgBreak2, MyDmgConstraint2, MyDmgType2, MyDmgNoForces1, MyDmgFilter1, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderDisableShadows3, MyRenderFade1, MyVBSP1) color(255 0 255) sphere(fademindist) sphere(fademaxdist) sphere(ExplodeRadius) studioprop() = prop_physics_override : "A prop that physically simulates as a single rigid body. It can be constrained to other physics objects using hinges "+ "or other constraints. It can also be configured to break when it takes enough damage. Health can be overridden on this version." [ model(studio) : "World Model" : "models/props_c17/oildrum001_explosive.mdl" : "The model to use for this entity. Must be a valid .MDL somewhere in the mod directory; to specify a model, write 'models/somefolder/mymodel.mdl'. Don't use backslashes, and don't write any directories above 'models'." ] @BaseClass = prop_ragdoll_ [ spawnflags(flags) = [ 4 : "Debris (don't collide with the player or other debris)" : 1 // 8192 : "Allow Dissolve" : 0 // Not used in CS:S ] // sequence(integer) : "Sequence" : 0 : "Animation sequence to spawn the ragdoll in." angleOverride(string) : "Override Animation" : "" : "Filled in by the engine via 'wc_update_entity' console command, do not edit by hand except to clear." input StartRagdollBoogie(void) : "Begins ragdoll boogie effect." ] @PointClass base(MyTargetName3, MyTeamNum1, MyAngles1, prop_ragdoll_, MyModel2, MyModelIgnite1, MyDmgNoForces1, MyDmgFilter1, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderDisableShadows3, MyRenderFade1, MyRenderLightingOrigin1, MyVBSP1) color(255 0 255) sphere(fademindist) sphere(fademaxdist) studioprop() = prop_ragdoll : "A prop that physically simulates and can be articulated with internal joints. The joint constraints are part of the physics model." [ model(studio) : "World Model" : "models/player/ct_gign.mdl" : "Model which will be used as Ragdoll." ] @BaseClass = prop_sphere_ [ spawnflags(flags) = [ // 1 : "Start Asleep (don't fall to ground)" : 0 // 8 : "Motion Disabled" : 0 // 2 : "Don't take physical damage" : 0 // It's bug =( 4 : "Debris (don't collide with the player or other debris, don't fire triggers)" : 0 // 4096 : "Force Debris Touch Triggers (requires Debris; OnPlayerUse can be fired)" : 0 16 : "Break on Touch" : 0 32 : "Break on Pressure" : 0 256 : "Generate OnPlayerUse on +USE" : 0 // 1024 : "Prevent motion enable on player bump" : 0 // 2097152 : "No physics collisions" : 0 ] radius(float) readonly : "Radius" : "12" ] @PointClass base(MyTargetName3, MyTeamNum1, MyAngles1, MyModel2, prop_sphere_, MyPhysInputs1, MyDmgBreak2, MyDmgConstraint1, MyDmgNoForces1, MyDmgFilter1, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderDisableShadows3, MyRenderFade1, MyVBSP1) color(255 0 255) sphere(radius) sphere(fademindist) sphere(fademaxdist) sphere(ExplodeRadius) studioprop() = prop_sphere : "" [ model(studio) : "World Model" : "models/combine_helicopter/helicopter_bomb01.mdl" : "The model to use for this entity. Must be a valid .MDL somewhere in the mod directory; to specify a model, write 'models/somefolder/mymodel.mdl'. Don't use backslashes, and don't write any directories above 'models'." ] @BaseClass = prop_static_ [ solid(choices) : "Collisions" : 6 = [ 0 : "Not Solid" 2 : "Use Bounding Box" 6 : "Use VPhysics" ] disableshadows(choices) : "Disable Shadows" : 0 : "Disable Lightmap shadow casting from this prop." = [ 0 : "No" 1 : "Yes" ] disablevertexlighting(choices) : "Disable Vertex Lighting" : 0 : "Disable receiving the Lightmap shadows by this prop if VRAD compile a map with -StaticPropLighting parameter." = [ 0 : "No" 1 : "Yes" ] disableselfshadowing(choices) : "Disable Self-Shadowing" : 0 : "Disable receiving the Lightmap shadows from yourself. See Disable Vertex Lighting." = [ 0 : "No" 1 : "Yes" ] ] @PointClass base(MyAngles1, MyModel1, prop_static_, MyRenderSpaceFade1, MyRenderFade1, MyRenderLightingOrigin1, MyVBSP1) sphere(fademindist) sphere(fademaxdist) studioprop() = prop_static : "A prop that doesn't move and doesn't animate." [ model(studio) : "World Model" : "models/props/de_dust/du_crate_64x64.mdl" : "Model. Must be properly configured for use as a static object; if you use a bad model, the entity will be automatically REMOVED from a map." lightingorigin(target_destination) : "Lighting Origin" : "" : "Select an info_lighting to specify a location to sample lighting from, instead of using this entity's origin." ] @PointClass base(MyTargetName3,MyAngles1) iconsprite("editor/shadow_control.vmt") = shadow_control : "An entity to control the dynamic shadows in the map.\n\n This entity is not reset upon newround." [ disableallshadows(choices) : "Disable All Shadows" : 0 = [ 0 : "No" 1 : "Yes" ] angles(angle) : "Pitch Yaw Roll (Y Z X)" : "80 45 0" : "This is the shadow direction. Pitch is rotation around the Y axis, yaw is the rotation around the Z axis, and roll is the rotation around the X axis." color(color255) : "Shadow Color" : "128 128 128" : "This is the color of the shadows." distance(float) : "Max Distance" : 75 : "This is the maximum distance the shadow is allowed to cast, in units." input Color(color255) : "Set the shadow color. Format: " input Direction(vector) : "Set the shadow direction. Format: " input SetAngles(string) : "Set the shadow direction. Format: " input SetDistance(float) : "Set the maximum shadow cast distance." input SetShadowsDisabled(bool) : "0 or 1. Set shadows disabled state." ] @BaseClass = sky_camera_ [ scale(integer) : "3D Skybox Scale" : 16 : "Amount by which to scale what the sky_camera sees in order to create a 3D skybox." ] @PointClass base(MyTargetName2, sky_camera_, MyFog1) size(32 32 32) color(0 64 255) sphere(fogstart) sphere(fogend) = sky_camera : "An entity used as a reference point when building a map's 3D skybox. Place a hollow cube outside of your map with the 'tools/toolsskybox' texture, place a sky_camera inside it, and place stuff (models, buildings, sprites) around the sky_camera.\n\n"+ "Everything around the sky_camera will be drawn relative to the point (0, 0, 0) in your map--in place of sky. Anything to the east of the sky_camera will be drawn to the east of the point (0, 0, 0) on the sky, for instance, and anything suspended above the sky_camera will be suspended above (0, 0, 0) on the sky.\n\n"+ "Sky_camera can also superimpose fog onto the models, brushes, and sprites surrounding it. This works in the same way as env_fog_controller, but obviously the distances will need to be greater, because the distance from the player to the objects in the 3D skybox will be great.\n\n"+ "It can be difficult to figure out how large to make things in the 3D skybox, or where to place them relative to the sky_camera. An easy way to scale your skybox is to: place a sky_camera entity at the point (0, 0, 0); select some core geometry of the map (to use as references) as well as that sky_camera; "+ "press CTRL+M and opt to scale the selection down by the reciprocal of the skybox scale, 0.0625 by default; and place this scaled-down selection within the 3D skybox." [] @PointClass base(MyTargetName1, MyAngles1) color(192 192 0) size(8 8 8) = spark_shower : "A shower of sparks. This entity must be used in conjunction with a point_template because the spark shower only occurs when the entity is spawned. Sparks fly in the direction of Angles." [] @PointClass base(MyTargetName3) = target_changegravity : "To change gravity for players." [ gravity(integer) : "Gravity" : 1 input ChangeGrav(void) : "Set new player (!activator) gravity." input ResetGrav(void) : "Reset player (!activator) gravity to 1." ] @PointClass base(MyTargetName3, MyParentName2, MyVBSP1) = test_effect [ input Use(void) : "Start beam effect." ] @PointClass base(MyAngles1) = test_traceline : "A debugging tool for testing tracelines." [] @BaseClass = trigger_brush_ [ // Not needed // DontMessageParent(choices) : "Don't Message Base Class" : 0 = // [ // 0 : "No" // 1 : "Yes" // ] InputFilter(choices) : "Input Filter" : 0 : "Used to specify which inputs this entity will accept." = [ 29 : "Ignore All" 20 : "Touch: Players" 17 : "Touch: Pushables" 16 : "Touch: Players + Pushables" 12 : "Use: Players" 9 : "Use: Pushables" 8 : "Use: Players + Pushables" 4 : "Touch + Use: Players" 1 : "Touch + Use: Pushables" 0 : "Allow Everything" ] input Use(void) : "Use." output OnStartTouch(void) : "Fired when an entity starts touching this trigger. The touching entity must pass this trigger's filters to cause this output to fire." output OnEndTouch(void) : "Fired when an entity stops touching this trigger. The touching entity must pass this trigger's filters to cause this output to fire." output OnUse(void) : "On use." ] @SolidClass base(MyTargetName3, MyParentName2, MyTeamNum1, MyAngles1, MyEnableDisable1, trigger_brush_, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderVisibleBrushes3, MyOrigin1) color(255 128 0) = trigger_brush : "Solid trigger." [] @BaseClass = trigger_gravity_ [ gravity(float) : "Gravity Scale" : "1.0" : "New gravity for player which touches this trigger." ] @SolidClass base(MyTargetName3, MyParentName2, MyAngles1, MyEnableDisable3, MyTrigger2, trigger_gravity_, MyFilerName1, MyOrigin1) color(255 128 0) = trigger_gravity : "A trigger volume that changes the gravity on any player that touches it." [] @BaseClass = trigger_hurt_ [ damage(float) : "Damage (dmg/sec)" : "10.0" : "The amount of damage done to entities that touch this trigger. The damage is done every half-second. See also 'Damage Model' for extra details on how damage can be dealt." damagecap(float) : "Max Damage (dmg/sec)" : "20.0" : "Maximum damage dealt per second. This field is only used if you select the Doubling w/Forgiveness damage model, via the spawnflag. 0 = default value (20)." damagemodel(choices) : "Damage Model" : 0 : "How damage is dealt. Normal always does the specified amount of damage each half second. Doubling starts with the specified amount and doubles it each time it hurts the toucher. Forgiveness means that if the toucher gets out of the trigger the damage will reset to the specified value. Good for making triggers that are deadly over time without having to cause massive damage on each touch." = [ 0 : "Normal" 1 : "Doubling w/forgiveness" ] input SetDamage(float) : "Set a new amount of damage for this trigger." output OnHurt(void) : "Fired whenever this trigger hurts something other than a player." output OnHurtPlayer(void) : "Fired whenever this trigger hurts a player." ] @SolidClass base(MyTargetName3, MyParentName2, MyAngles1, MyEnableDisable3, MyTrigger2, trigger_hurt_, MyDmgType1, MyFilerName1, MyOrigin1) color(215 0 0) = trigger_hurt : "A trigger volume that damages entities that touch it." [] @BaseClass = trigger_impact_ [ Magnitude(float) : "Magnitude" : "1000.0" : "The strength of the impact. Negative values reverse the direction." noise(float) : "Noise" : "0.1" : "The amount of directional noise (0-1). 0 = no noise, 1 = random direction." // viewkick(float) : "Viewkick" : "0.05" : "The amount to kick player's view if the player is in the trigger. Proportional to magnitude (0-1)." input Enable(void) : "Enable this trigger." input Disable(void) : "Disable this trigger." input Toggle(void) : "Toggles this trigger between enabled and disabled states." input StartTouch(void) : "Test !caller on StartTouch of this trigger." input Impact(void) : "Fire the impact, pushing all entities within the volume." input SetMagnitude(float) : "Set the magnitude of the impact." output ImpactForce(vector) : "Fired after an impact. The parameter passed along is the force of the impact that was generated." ] // It's VERY BAD entity ='( // VERY VERY BAD @SolidClass base(MyTargetName3, MyParentName2, MyAngles1, trigger_impact_, MyOrigin1) color(255 128 0) = trigger_impact : "A trigger volume that can be told to push all physics objects that are inside of it in the direction specified by this trigger's angles.\n"+ "Also outputs the force at the time of impact for anyone else that wants to use it." [] @BaseClass = trigger_look_ [ spawnflags(flags) = [ 1 : "Clients" : 1 4 : "Pushables (func_pushable only)" : 0 8 : "Physics Objects" : 0 1024 : "Debris (requires Physics Objects)" : 0 64 : "Everything" : 0 128 : "Fire Once" : 0 256 : "Use Velocity instead of facing" : 0 ] target(target_destination) : "Look Target" : "" : "The name of the entity to be looked at." LookTime(float) : "Look Time" : "0.5" : "The time, in seconds, that the player must look the target before firing the output. Resets if player leaves trigger, or looks outside the Field of View threshold." FieldOfView(float) : "Field Of View" : "0.9" : "How close the player has to be looking at the target. 1.0 = straight ahead\n 0.0 = +/- 90 degrees\n -1.0 = all directions)." Timeout(float) : "Timeout" : "0.0" : "The time, in seconds, to wait after player enters the trigger before firing the OnTimeout output, 0 = never." input FieldOfView(float) : "Set the magnitude of the impact." input LookTime(float) : "Set the magnitude of the impact." output OnTimeout(void) : "Fired after the timeout interval expires if the player never looked at the target." ] @SolidClass base(MyTargetName3, MyParentName2, MyAngles1, MyEnableDisable3, MyTrigger1, MyTrigger3, trigger_look_, MyFilerName1, MyOrigin1) color(255 128 0) = trigger_look : "An entity used to trigger something when the player looks at something. It fires 'OnTrigger' when the player "+ "looks at a target entity for the given amount of time, while within the trigger volume. If the player leaves "+ "the trigger or looks away from the target entity the clock resets. If the 'Use Velocity instead of facing' spawnflag " + "is checked, the trigger uses the player's velocity instead of the player's view, so it determines whenever the player "+ "is moving toward the target entity. Useful for triggering when players are driving a vehicle at something." [] @BaseClass = trigger_multiple_ [ wait(float) : "Delay Before Reset" : "1.0" : "Amount of time, in seconds, after the trigger_multiple has triggered before it can be triggered again. If set to -1, it will never trigger again. 0 = default value (0.2)." ] @SolidClass base(MyTargetName3, MyParentName2, MyAngles1, MyEnableDisable3, MyTrigger2, MyTrigger3, trigger_multiple_, MyFilerName1, MyOrigin1) color(255 128 0) = trigger_multiple : "A trigger volume that can be triggered multiple times." [] @SolidClass base(MyTargetName3, MyParentName2, MyAngles1, MyEnableDisable3, MyTrigger2, MyTrigger3, MyFilerName1, MyOrigin1) color(255 128 0) = trigger_once : "A trigger volume that removes itself after it is triggered once." [] @SolidClass base(MyTargetName3, MyParentName2, MyAngles1, MyEnableDisable3, MyFilerName1, MyOrigin1) color(255 128 0) = trigger_playermovement : "An entity that can be used to disable player's automatic ducking/unducking when jumping." [ spawnflags(flags) = [ 1 : "Clients" : 1 128 : "Disable Auto Player Movement" : 1 ] ] @BaseClass = trigger_proximity_ [ measuretarget(target_destination) : "Point to Measure From" : "" : "The name of a target entity whose origin is the point to measure the player's distance from." radius(float) : "Radius to Measure Within" : "256.0" : "The radius to which the distance should be mapped. If the player is outside the radius he will be ignored." output NearestEntityDistance(float) : "Fired continuously when entities are touching the trigger volume. The output parameter is the distance from the "+ "Point to Measure From to the nearest entity that passed the trigger filters. The distance is mapped to the radius distance, so it will be 0 when the "+ "entity is on the point, and 1 when the entity is at the edge of the radius." ] @SolidClass base(MyTargetName3, MyParentName2, MyAngles1, MyEnableDisable3, MyTrigger2, trigger_proximity_, MyFilerName1, MyOrigin1) color(255 128 0) = trigger_proximity : "Measures the distance of the entity within the trigger volume from a given point (and within " + "a given radius). The NearestEntityDistance output will be 0 when the entity is at the center point, " + "and 1 when the entity is at the radius." [] @BaseClass = trigger_push_ [ spawnflags(flags) = [ 1 : "Clients" : 1 4 : "Pushables (func_pushable only)" : 0 8 : "Physics Objects" : 0 1024 : "Debris (requires Physics Objects)" : 0 64 : "Everything" : 0 128 : "Once Only" : 0 ] pushdir(angle) : "Push Direction (Pitch Yaw Roll)" : "0 0 0" : "Angles indicating the direction to push touched entities." speed(float) : "Speed of Push" : "40.0" : "The speed at which to push entities away, in units / second." ] @SolidClass base(MyTargetName3, MyParentName2, MyAngles1, MyEnableDisable3, MyTrigger1, trigger_push_, MyFilerName1, MyOrigin1) color(255 128 0) = trigger_push : "A trigger volume that pushes entities that touch it." [] @SolidClass base(MyTargetName3, MyParentName2, MyAngles1, MyEnableDisable3, MyTrigger1, MyFilerName1, MyOrigin1) color(255 128 0) = trigger_remove : "A trigger volume that removes any entities that touch it. Be careful, removing some entities can cause instability. This is not the same as killing entities." [ spawnflags(flags) = [ // 1 : "Clients" : 1 4 : "Pushables (func_pushable only)" : 0 8 : "Physics Objects" : 0 1024 : "Debris (requires Physics Objects)" : 0 64 : "Everything" : 0 ] output OnRemove(void) : "Fired whenever an entity is removed." ] @BaseClass = trigger_soundscape_ [ soundscape(target_source) : "Soundscape Triggerable Name" : "" : "Name of env_soundscape_triggerable entity." ] @SolidClass base(MyTargetName2, MyAngles1, MyEnableDisable3, MyTrigger2, trigger_soundscape_, MyFilerName1, MyOrigin1) color(192 192 192) = trigger_soundscape : "Soundscape trigger. It is not necessary to create outputs for this trigger. It automatically will trigger the soundscape referred to by its 'Soundscape' property.\n\n"+ "This entity IS NOT RESET upon newround. Don't put it in movement hierarchies with entities that are. If you need it to move with an entity that's reset upon newround, use a logic_measure_movement point-entity." [] @BaseClass = trigger_teleport_ [ spawnflags(flags) = [ 1 : "Clients" : 1 4 : "Pushables (func_pushable only)" : 0 8 : "Physics Objects" : 0 1024 : "Debris (requires Physics Objects)" : 0 64 : "Everything" : 0 32 : "Preserve Angles (to prevent rotation of objects)" : 0 ] target(target_destination) : "Remote Destination" : "" : "The entity (usually info_target) specifying the point to which entities should be teleported." landmark(target_destination) : "Local Destination Landmark" : "" : "If specified, then teleported entities are offset from the target by their initial offset from the landmark." ] @SolidClass base(MyTargetName3, MyParentName2, MyAngles1, MyEnableDisable3, MyTrigger1, trigger_teleport_, MyFilerName1, MyOrigin1) line(0 255 0, targetname, target) color(255 128 0) = trigger_teleport : "A trigger volume that teleports entities that touch it. Entities are teleported to the Remote Destination, and have their angles "+ "set to that of the Remote Destination's. If a Local Destination Landmark is specified, teleported entities are offset from the target by their initial offset "+ "from the landmark, and their angles are left alone." [] @BaseClass = trigger_vphysics_motion_ [ spawnflags(flags) = [ 1 : "Clients" : 0 4 : "Pushables (func_pushable only)" : 0 8 : "Physics Objects" : 1 ] SetGravityScale(float) : "Gravity Scale" : "1.0" : "Scale gravity of objects in the field." SetAdditionalAirDensity(float) : "Additional Air Density" : "0.0" : "Additional air density for drag." SetVelocityLimit(float) : "Max Velocity" : "0.0" : "Max velocity in field. 0 = disables." SetVelocityLimitDelta(float) : "Max Velocity Delta" : "0.0" : "Max amount to reduce velocity per second when it exceeds the velocity limit. 0 = disables." SetVelocityScale(float) : "Velocity Scale" : "1.0" : "Velocity scale/drag." SetAngVelocityLimit(float) : "Max Angular Velocity (deg/sec)" : "0.0" : "Max angular velocity in field. Max angular velocity in field. (degrees/s). 0 = disables." SetAngVelocityScale(float) : "Angular Velocity Scale" : "1.0" : "Angular Velocity scale/drag." SetLinearForce(float) : "Linear Force" : "0.0" : "Linear force. 0 = disables." SetLinearForceAngles(angle) : "Linear Force Dir (Pitch Yaw Roll)" : "0 0 0" : "Direction of linear force (Pitch Yaw Roll)." ParticleTrailMaterial(sprite) : "Particle Trail Material" : "" : "Name of a material to use for the particle trail, no name means no particle trail. Try 'particle/fire.vmf' sprite." ParticleTrailLifetime(float) : "Particle Trail Lifetime" : "4.0" : "Lifetime of the particles to emit." ParticleTrailStartSize(float) : "Particle Trail Starting Sprite Size" : "2.0" : "Starting size of the sprite to emit." ParticleTrailEndSize(float) : "Particle Trail Ending Sprite Size" : "3.0" : "Ending size of the sprite to emit." input SetGravityScale(float) : "Scale gravity of objects in the field." input SetAdditionalAirDensity(float) : "Additional air density for drag." input SetVelocityLimit(float) : "Max velocity in field. 0 = disables." input SetVelocityLimitDelta(float) : "Max amount to reduce velocity per second when it exceeds the velocity limit. 0 = disables." input SetVelocityScale(float) : "Velocity scale/drag." input SetAngVelocityLimit(float) : "Max angular velocity in field. Max angular velocity in field. (degrees/s). 0 = disables." input SetAngVelocityScale(float) : "Angular Velocity scale/drag." input SetLinearForce(float) : "Linear force. 0 = disables." input SetLinearForceAngles(string) : "Direction of linear force (Pitch Yaw Roll)." input SetVelocityLimitTime(string) : "Accepts two arguments: the first is the new velocity limit, the second is the time it takes to ramp to that value." ] @SolidClass base(MyTargetName3, MyAngles1, MyEnableDisable3, trigger_vphysics_motion_, MyFilerName1, MyOrigin1) color(255 128 0) = trigger_vphysics_motion : "A volumetric trigger that affects the motion of physics objects and players that touch it." [] @BaseClass = trigger_wind_ [ spawnflags(flags) = [ 4 : "Pushables (func_pushable only)" : 0 8 : "Physics Objects" : 1 ] DirectionNoise(integer) : "Direction Noise (deg)" : 15 : "Noise added to wind direction +/-." Speed(integer) : "Speed" : 200 : "The base line for how hard the wind blows." SpeedNoise(integer) : "Speed Noise" : 100 : "Noise added to wind speed +/-." HoldTime(integer) : "Hold Time" : 3 : "Base line for how long to wait before changing wind." HoldNoise(integer) : "Hold Time Noise" : 2 : "Noise added to how long to wait before changing wind +/-. WARNING: a value of this field must be equal or less than 'Hold Time', otherwise it can lead to error." input SetSpeed(integer) : "Set the base line for how hard the wind blows." ] @SolidClass base(MyTargetName3, MyAngles1, MyEnableDisable3, trigger_wind_, MyFilerName1, MyOrigin1) color(255 128 0) = trigger_wind : "A trigger volume that pushes physics objects that touch it." [] @PointClass base(MyTargetName3) iconsprite("editor/waterlodcontrol.vmt") = water_lod_control : "An entity used to control the LOD behavior of any water in the map. If your map has water, this entity is required." [ cheapwaterstartdistance(float) : "Start Transition to Cheap Water" : "1024.0" : "This is the distance from the camera that water will start transitioning to cheap water, in units." cheapwaterenddistance(float) : "End Transition to Cheap Water" : "2048.0" : "This is the distance from the camera that water will finish transitioning to cheap water, in units." input SetCheapWaterStartDistance(float) : "Set the distance that water starts transitioning to cheap water." input SetCheapWaterEndDistance(float) : "Set the distance that water finishes transitioning to cheap water." ] @BaseClass = MyWeapon_ [ ammo(choices) = [] ] @BaseClass base(MyTargetName3, MyTeamNum1, MyAngles1, MyWeapon_, MyModelIgnite1, MyDmgNoForces1, MyDmgFilter1, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderDisableShadows2, MyRenderFade1, MyRenderLightingOrigin1, MyVBSP1) color(224 64 0) = MyWeapon1 [ spawnflags(flags) = [ 1 : "Motion Disabled" : 0 ] input HideWeapon(void) : "Hide weapon which is in player's hands." output OnPlayerPickup(void) : "Fires when the player picks up this weapon." ] @BaseClass base(MyWeapon1) = MyWeapon1_ammo1 [ ammo(choices) : "Additional Ammo" : "" : "Number of bullets this entity has in addition to the default clip." = [ "" : "No" 30 : "+30" 60 : "+60" 90 : "+90 = FULL" ] ] @BaseClass base(MyWeapon1) = MyWeapon1_ammo2 [ ammo(choices) : "Additional Ammo" : "" : "Number of bullets this entity has in addition to the default clip." = [ "" : "No" 10 : "+10" 20 : "+20" 30 : "+30 = FULL" ] ] @BaseClass base(MyWeapon1) = MyWeapon1_ammo3 [ ammo(choices) : "Additional Ammo" : "" : "Number of bullets this entity has in addition to the default clip." = [ "" : "No" 7 : "+7" 14 : "+14" 21 : "+21" 28 : "+28" 35 : "+35 = FULL" ] ] @BaseClass base(MyWeapon1) = MyWeapon1_ammo4 [ ammo(choices) : "Additional Ammo" : "" : "Number of bullets this entity has in addition to the default clip." = [ "" : "No" 30 : "+30" 60 : "+60" 90 : "+90" 120 : "+120 = FULL" ] ] @BaseClass base(MyWeapon1) = MyWeapon1_ammo5 [ ammo(choices) : "Additional Ammo" : "" : "Number of bullets this entity has in addition to the default clip." = [ "" : "No" 50 : "+50" 100 : "+100 = FULL" ] ] @BaseClass base(MyWeapon1) = MyWeapon1_ammo6 [ ammo(choices) : "Additional Ammo" : "" : "Number of bullets this entity has in addition to the default clip." = [ "" : "No" 30 : "+30" 60 : "+60" 90 : "+90" 120 : "+120" 150 : "+150" 180 : "+180" 200 : "+200 = FULL" ] ] @BaseClass base(MyWeapon1) = MyWeapon1_ammo7 [ ammo(choices) : "Additional Ammo" : "" : "Number of bullets this entity has in addition to the default clip." = [ "" : "No" 8 : "+8" 16 : "+16" 24 : "+24" 32 : "+32 = FULL" ] ] @BaseClass base(MyWeapon1) = MyWeapon1_ammo8 [ ammo(choices) : "Additional Ammo" : "" : "Number of bullets this entity has in addition to the default clip." = [ "" : "No" 25 : "+25" 50 : "+50" 75 : "+75" 100 : "+100 = FULL" ] ] @BaseClass base(MyWeapon1) = MyWeapon1_ammo9 [ ammo(choices) : "Additional Ammo" : "" : "Number of bullets this entity has in addition to the default clip." = [ "" : "No" 13 : "+13" 26 : "+26" 39 : "+39" 52 : "+52 = FULL" ] ] @PointClass base(MyWeapon1_ammo1) studioprop("models/weapons/w_rif_ak47.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_ak47 : "(4-2) CV-47 [Ammo 762mm] [T]" [] @PointClass base(MyWeapon1_ammo1) studioprop("models/weapons/w_rif_aug.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_aug : "(4-4) Bullpup [Ammo 762mm] [CT]" [] @PointClass base(MyWeapon1_ammo2) studioprop("models/weapons/w_snip_awp.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_awp : "(4-5,4-6) Magnum Sniper Rifle [Ammo 338 MAG] [CT+T]" [] @PointClass base(MyWeapon1) studioprop("models/weapons/w_c4.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_c4 : "C-4 Charge [T]" [] @PointClass base(MyWeapon1_ammo3) studioprop("models/weapons/w_pist_deagle.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_deagle : "(1-4) Night Hawk .50C [Ammo 50AE] [CT+T]" [] @PointClass base(MyWeapon1_ammo4) studioprop("models/weapons/w_pist_elite.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_elite : "(1-5) .40 Dual Elites [Ammo 9mm] [T]" [] @PointClass base(MyWeapon1_ammo1) studioprop("models/weapons/w_rif_famas.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_famas : "(4-1) Clarion 5.56 [Ammo 556mm] [CT]" [] @PointClass base(MyWeapon1_ammo5) studioprop("models/weapons/w_pist_fiveseven.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_fiveseven : "(1-5) ES Five-Seven [Ammo 57mm] [CT]" [] @PointClass base(MyWeapon1) studioprop("models/weapons/w_eq_flashbang.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_flashbang : "(6-3) FLASHBANG [CT+T]" [] @PointClass base(MyWeapon1_ammo1) studioprop("models/weapons/w_snip_g3sg1.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_g3sg1 : "(4-6) D3/AU-1 [Ammo 762mm] [T]" [] @PointClass base(MyWeapon1_ammo1) studioprop("models/weapons/w_rif_galil.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_galil : "(4-1) IDF Defender [Ammo 556mm] [T]" [] @PointClass base(MyWeapon1_ammo4) studioprop("models/weapons/w_pist_glock18.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_glock : "(1-1) 9x19mm Sidearm [Ammo 9mm] [CT+T]" [] @PointClass base(MyWeapon1) studioprop("models/weapons/w_eq_fraggrenade.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_hegrenade : "(6-4) HE GRENADE [CT+T]" [] @PointClass base(MyWeapon1) studioprop("models/weapons/w_knife_t.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_knife : "Knife [CT+T]" [] @PointClass base(MyWeapon1_ammo6) studioprop("models/weapons/w_mach_m249para.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_m249 : "(5-1) ES M249 Para [Ammo 556mm Box] [CT+T]" [] @PointClass base(MyWeapon1_ammo7) studioprop("models/weapons/w_shot_m3super90.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_m3 : "(2-1) Leone 12 Gauge Super [Ammo Buckshot] [CT+T]" [] @PointClass base(MyWeapon1_ammo1) studioprop("models/weapons/w_rif_m4a1.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_m4a1 : "(4-3) Maverick M4A1 Carbine [Ammo 556mm] [CT]" [] @PointClass base(MyWeapon1_ammo8) studioprop("models/weapons/w_smg_mac10.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_mac10 : "(3-1) Ingram MAC-10 [Ammo 45 ACP] [T]" [] @PointClass base(MyWeapon1_ammo4) studioprop("models/weapons/w_smg_mp5.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_mp5navy : "(3-2) K&M Sub-Machine Gun [Ammo 9mm] [CT+T]" [] @PointClass base(MyWeapon1_ammo9) studioprop("models/weapons/w_pist_p228.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_p228 : "(1-3) 228 Compact [Ammo 357 SIG] [CT+T]" [] @PointClass base(MyWeapon1_ammo5) studioprop("models/weapons/w_smg_p90.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_p90 : "(3-4) ES C90 [Ammo 57mm] [CT+T]" [] @PointClass base(MyWeapon1_ammo1) studioprop("models/weapons/w_snip_scout.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_scout : "(4-2,4-3) Schmidt Scout [Ammo 762mm] [CT+T]" [] @PointClass base(MyWeapon1_ammo1) studioprop("models/weapons/w_snip_sg550.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_sg550 : "(4-5) Krieg 550 Commando [Ammo 556mm] [CT]" [] @PointClass base(MyWeapon1_ammo1) studioprop("models/weapons/w_rif_sg552.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_sg552 : "(4-4) Krieg 552 Commando [Ammo 556mm] [T]" [] @PointClass base(MyWeapon1) studioprop("models/weapons/w_eq_smokegrenade.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_smokegrenade : "(6-5) SMOKE GRENADE [CT+T]" [] @PointClass base(MyWeapon1_ammo4) studioprop("models/weapons/w_smg_tmp.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_tmp : "(3-1) Schmidt Machine Pistol [Ammo 9mm] [CT]" [] @PointClass base(MyWeapon1_ammo8) studioprop("models/weapons/w_smg_ump45.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_ump45 : "(3-3) K&M UMP45 [Ammo 45 ACP] [CT+T]" [] @PointClass base(MyWeapon1_ammo8) studioprop("models/weapons/w_pist_usp.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_usp : "(1-2) K&M .45 Tactical [Ammo 45 ACP] [CT+T]" [] @PointClass base(MyWeapon1_ammo7) studioprop("models/weapons/w_shot_xm1014.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_xm1014 : "(2-2) Leone YG1265 Auto Shotgun [Ammo Buckshot] [CT+T]" [] //////////////////////////////////////////////////////////////////////////////// // // OTHER ENTITIES // //////////////////////////////////////////////////////////////////////////////// // Should be to use in singleplayer only // lightprop("models/editor/spot.mdl") <---- use this once the orientation is unfucked // @PointClass base(MyTargetName3, MyParentName2, MyAngles1) size(4 4 4) sphere(nearz) sphere(farz) // = env_projectedtexture : // "Projected texture entity." // [ // spawnflags(flags) = // [ // 1 : "Enabled" : 1 // ] // target(target_destination) : "Target Entity" : "" // lightfov(float) : "Field Of View" : "90.0" : "FOV" // nearz(float) : "NearZ" : "4.0" : "Near Z for projected texture." // farz(float) : "FarZ" : "750.0" : "Far Z for projected texture." // enableshadows(Choices) : "Enable Shadows" : 0 : "Enables/disables shadows from this projected texture." = // [ // 0 : "No" // 1 : "Yes" // ] // shadowquality(Choices) : "Shadow Quality" : 1 : "Quality of shadows." = // [ // 0 : "Low" // 1 : "High" // ] // lightonlytarget(Choices) : "Light Only Target" : 0 : "Limit flashlight effect to only effect target entity." = // [ // 0 : "No" // 1 : "Yes" // ] // lightworld(Choices) : "Light World" : 1 : "Control whether flashlight effects static world geometry." = // [ // 0 : "No" // 1 : "Yes" // ] // lightcolor(color255) : "Light Color" : "255 255 255 200" : "Light Color RGB-Intensity" // cameraspace(integer) : "Camera Space" : 0 : "Angles are interpreted as being relative to camera." // // input TurnOn(void) : "Turn on the texture." // input TurnOff(void) : "Turn off the texture." // input SetFOV(float) : "Set FOV." // ] // @BaseClass = func_train_ // [ // spawnflags(flags) = // [ // 8 : "Not Solid" : 0 // ] // target(target_destination) : "First Stop Target" : "" : "The name of the first path_corner in the train's path. The train will spawn at this path_corner." // // speed(float) : "Max Speed" : "100.0" : "Max speed at which the platform moves. 0 = default value (100)." // noise1(sound) : "Start Sound" : "" : "Sound to play when the platform starts moving." // noise2(sound) : "Stop Sound" : "" : "Sound to play when the platform stops moving." // volume(float) : "Sound Volume" : "0.85" : "The volume of the sounds. 1.0 is the loudest. 0 = default value (0.85)." // dmg(float) : "Block Damage" : "0.0" : "The amount of damage this train does to entities that block it. 0 = default value (2)." // // input Toggle(void) : "Toggle movement" // input Start(void) : "Start movement" // input Stop(void) : "Stop movement" // // input Use(void) : "Toggle movement - has a different functionality than Toggle" // ] // @SolidClass base(MyTargetName3, MyParentName2, MyTeamNum1, func_train_, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderVisibleBrushes3, MyOrigin1) // = func_train : // "A moving platform that the player can ride. It follows a path of path_track or path_corner entities.\n"+ // "Use func_tracktrain instead." // [] // @PointClass base(MyTargetName2, MyParentName2) color(247 181 82) size(16 16 16) line(255 255 255, targetname, target) // = path_corner : // "An entity used to build paths for other entities to follow. Each path_corner is a node on the path, each holding the name of the next path_corner in the path." // [ // spawnflags(flags) = // [ // 1 : "Wait for Retrigger" : 0 // 2 : "Teleport to This path_corner" : 0 // ] // target(target_destination) : "Next Stop Target" : "" : "The next path_corner in the path." // wait(float) : "Wait Here (sec)" : "0.0" : "The train will wait when will pass this path_corner." // speed(float) : "New Train Speed" : "0.0" : "When the train reaches this path_corner, it will set its speed to this speed. "+ // "This speed must be a positive value that is less than the train's max speed. A value of 0 will cause no change in the train's speed." // // input InPass(void) : "Causes this entity's OnPass output to be fired." // input SetNextPathCorner(string) : "Sets next pathcorner" // // output OnPass(void) : "Fires when a path follower passes this point." // ] // It is very dangerous entity because can lead to crash of game during explosion. // Don't use it. // @BaseClass = physics_cannister_ // [ // model(studio) : "World model" : "models/props_c17/canister02a.mdl" // spawnflags(flags) = // [ // 1 : "Start Asleep" : 0 // ] // expdamage(float) : "Explosion Damage" : "200.0" : "The amount of damage done by the explosion created when the cannister blows up." // expradius(float) : "Explosion Radius" : "250.0" : "The radius of the explosion to create when the cannister blows up." // health(integer) : "Health" : 50 : "The amount of damage the cannister takes before exploding." // fuel(float) : "Fuel Seconds" : "12.0" : "The amount of time that gas leaks from the cannister before being considered empty." // thrust(float) : "Thrust Force" : "1500.0" : "When the cap has been blown off, and the escaping gas is thrusting the cannister about, this is the amount of thrust generated." // gassound(sound) : "Thruster Sound" : "PhysicsCannister.ThrusterLoop" : "The sound played when the gas is escaping from the cannister." // // input Activate(string) : "Start gas escaping from the cannister." // input Deactivate(string) : "Stop gas escaping from the cannister." // input Explode(string) : "Force the cannister to explode." // input Wake(void) : "Wakes up the cannister, if it is sleeping." // // output OnActivate(void) : "Fired when gas starts to escape from the cannister." // ] // // @PointClass base(MyTargetName3, MyTeamNum1, MyAngles1, physics_cannister_, MyModel2, MyModelIgnite1, MyDmgFilter1, MyRenderMode1, MyRenderColor1, MyRenderFx1, MyRenderDisableShadows3, MyRenderFade1, MyVBSP1) color(255 0 255) sphere(fademindist) sphere(fademaxdist) sphere(expradius) studioprop() // = physics_cannister : // "A physically simulated gas cannister that can have its cap shot off, at which point gas will start escaping and cause the cannister to fly around. If it takes enough damage, it will explode." // [] // VEEEEERY slow tanktrain movement =( // 1 unit per sec // @PointClass base(MyTargetName3) iconsprite("editor/tanktrain_ai.vmt") // = tanktrain_ai : // "Train chase AI." // [ // target(target_destination) : "Train Name" // startsound(sound) : "Start Moving Sound" : "vehicles/diesel_start1.wav" // enginesound(sound) : "Engine Loop Sound" : "vehicles/diesel_turbo_loop1.wav" // movementsound(sound) : "Vehicle Movement Sound" : "vehicles/tank_treads_loop1.wav" // ] // @PointClass base(MyTargetName3) iconsprite("editor/tanktrain_aitarget.vmt") // = tanktrain_aitarget : // "An entity that changes the target of a tanktrain_ai entity." // [ // target(target_destination) : "Tank AI Entity" : "" : "The tanktrain_ai entity to change the target of." // newtarget(target_destination) : "New Target Entity" : "" : "The entity to tell the tanktrain_ai to target." // ] // @PointClass base(MyTargetName3, MyModelIgnite1, MyAngles2) studioprop("models/weapons/w_bullet.mdl") // = waterbullet : // "" // [] // @PointClass base(MyTargetName3, MyModelIgnite1, MyAngles2) studioprop("models/brokenglass_piece.mdl") // = window_pane : // "" // [] // =D // smokegrenade_projectile // hegrenade_projectile // flashbang_projectile // env_movieexplosion // env_particle_trail ='( // env_particlefire ='( // env_particlesmokegrenade ='( // fish // func_trackchange // It's func_platrot // func_trackautochange // It's func_platrot // func_vehicleclip // path_corner // Use path_track instead // prop_physics_respawnable // prop_vehicle // prop_vehicle_driveable // simple_physics_brush // simple_physics_prop //////////////////////////////////////////////////////////////////////////////// // // FGD CLASSES // //////////////////////////////////////////////////////////////////////////////// // node_dest // pointentityclass // vecline // axis // origin // sidelist // side // scene // material // filterclass // npcclass // vector // target_name_or_class // target_source // target_destination // studio // sprite // decal // color255 // color1 // angle // void // bool // integer // float // string // flags // choices // readonly