Skip to content

Outerbeast/anti_rush

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

anti_rush

A custom entity that allows you to add and configure barriers to levels, which prevent players from rushing

Installation:

  1. Download and extract the files into svencoop_addon, or your own maps files

  2. Add map_script anti_rush to your map cfg

    OR

    Add a trigger_script entity to your map with the key "m_iszScriptFile" set to "anti_rush"

    OR

    If you have a main map script, add an #include for this script in your main map script header e.g. #include "anti_rush"

  3. You need to register the entity in your main map script so its usable in your map:

void MapInit()
{
   ANTI_RUSH::EntityRegister();
}

Entity Configuration

"classname" "anti_rush"

Positioning:

Name Key Description
Origin "origin" "x y z" Position of the antirush icon sprite
Angles "angles" "p y r" Orientation of the icon. Typically you would just change the yaw value y
Zone Radius "zoneradius" "r" %age trigger zone radius. Default is 512, set value cannot go lower than 16. Radius is used by default if zone bounds are not set/measured incorrectly
Percent Trigger Zone Min (X Y Z) "zonecornermin" "x1 y1 z1" %age trigger zone bounding box min origin (if you are facing 0 degrees, this is the coords of the lower front right corner of the box)
Percent Trigger Zone Max (X Y Z) "zonecornermax" "x2 y2 z2" Same as above but upper back left corner of the box
Barrier Min (X Y Z) "blockercornermin" "x1 y1 z1" Blocker wall bounding box, follows same rules for dimensions as the %age trigger zone
Barrier Max (X Y Z) "blockercornermax" "x2 y2 z2" Blocker wall bounding box, follows same rules for dimensions as the %age trigger zone

Logic:

Name Key Description
Name "targetname" "trigger_antirush" Add a targetname if you want something else, e.g. game_counter to trigger this
Master "master" "antirush_master" We can lock the %age player/ monster kill requirements using this (direct trigger is still allowed)
Start Trigger "netname" "thing(s)_to_target" Triggers an entity when the anti_rush entity spawns and becomes active (Optional)
Percent Required "percentage" "66" %age of total players required to trigger. Default is 0 (%age is disabled).
Target "target" "thing(s)_to_target_or_unlock" Triggers a target when %age condition is met or triggered directly (this also has the add bonus of unlocking things with "master" that match the target)
Blocked Target "message" "thing(s)_to_target" Triggers an entity when a player enters the zone for the first time, and the anti rush point is not unlocked yet. Each player is passed as activator.
Lock entities "lock" "*m;*n;*o" Locks brush entities that use these models (Only locks trigger_s and func_s)
Monsters to kill "kill_monsters" "name1;name2;name3" Semicolon seperated list of monsters required to kill to trigger
Kill Target "killtarget" "thing(s)_to_delete" Deletes an entity when triggered (Optional)
Delay Before Trigger "delay" "t" Time delay in seconds before triggering "target" and "killtarget".

Effects

Name Key Description
Icon "icon" "sprites/antirush/percent.spr" Sprite to draw (obey env_sprite rules for positioning with origin/angles)- you can use your own sprite, or disable this using "No Icon" flag.
Sound "noise" "buttons/bell1.wav" Sound to play when the entity is triggered. This can be disabled using "No Sound" flag.
Scale "scale" "0.15" Scales the icon sprite, default value is 0.15.
Barrier Border Beam Points "borderbeampoints" "a b c;d e f;g h i" List of point values to draw barrier border beams. Minimum is 3 sets of points.
Icon Fade Timeout "fadetime" "t" Time delay in seconds before removing the antirush icon automatically. If border beams are used, those are removed t + 5 seconds.

AntiRush icon sprite rendering is done using the standard rendermode, renderamt and rendercolor keys. Below are the default settings:

"rendermode" "5"

"renderamt" "255"

"rendercolor" "255 0 0" This also affects the border beam coloration

Flags

Name Value "spawnflags" "f" Description
Start Off 1 Entity starts inactive, trigger to turn it on
Don't lock target 2 Entity will not lock entities who's master keyvalue matches this entity's target, if master exists. Entities locked via lock key are unaffected.
No Sound 4 Entity will not play a sound when triggered (Alternatively "sound" "sound/null.wav" can be used).
No Icon 8 Disables the antirush icon (Alternatively "icon" "sprites/null.spr" can be used)
Remember Player 16 Players who already reached the zone then leave the zone afterwards will still be counted towards the %age

Credits

Programming by Outerbeast

Special thanks to:-

  • CubeMath - building concept and basis for AntiRush logic
  • I_Ka - icon sprites
  • H2 - programming support