Selection Filtering Mods

May 17, 2019 at 12:04 PM
Selection Filtering Mods
  • This information was compiled for your use as a reference and learning resource. Please keep in mind that Halo 5 Forge updates over the years, including but not limited to the huge Monitor's Bounty update, means you may find information that is no longer relevant or was modified in an update. We're working to get this info up-to-date. Feel free to contact staff if you find deprecated information, when they can forward your concern to the appropriate team for correction.


    In Halo 5 Scripting, selection filtering mods are used in Action settings found in Mod Lists. Selection filtering mods "add in" and "filter out" which Objects, Targets, Players and Elements affect whether or not that Action runs, as well as which Objects, Targets, Players and Elements that Action will affect. Action filtering mods are sometimes hidden and must be accessed by clicking OBJECTS, TARGETS or NUMBERS, or they will sometimes appear after selecting other settings in Actions. (See Actions page for specific settings). Examples of script Actions that affect Objects, Targets and Players include movement, move towards target, player traits and scoring scripts. Below is a list of all Mods and their descriptions. When selecting mods, you will first have the option to choose between the first twelve listed below. Once you choose one of these, the other options will be available. Team and Label mods have an additional sub-menu.



    SPECIAL MODS
    There are some mods that refer to objects/players that vary based on the circumstance. ACTIVATOR and EXTRA are defined by the Script's Condition. Only some Conditions do this and ACTIVATOR and/or EXTRA show up within all the script's Actions when these are chosen.
    • THIS refers to the object containing the script
    • ACTIVATOR usually the object or player that triggers, or "activates" the Condition
    • EXTRA usually players or objects identified in the Condition (see mod definitions for more information)

    GENERAL TYPES OF MODS
    To build a list of objects/players to select for an Action to work on, use the add mod type to increase the size of the list and then use the filtering mod types to remove some to refine the list of objects/players to be selected.
    • [add] is the only mod type that can add players and objects to the initially empty list and later can add more "in addition to" those already defined.
    • [exclude] removes only the players and objects with property values that match the type and sometimes the specified value for the chosen mod.
    • [include] removes any players and objects that do not match the type and values specified by the mod, leaving only those that match. [include] mods remove the widest range of players and objects out of the general mod types.

    NOTES on [add]
    • The [add] mods are the only ones to add Objects and Players to the list "in addition to". [include], [exclude], and [remove] all remove items (see definitions below).

    NOTES on ACTIVATOR and EXTRA
    • In mod filtering, ACTIVATOR is determined by the Object or Player that was chosen in that Action's Condition settings.
    • The Condition Message:Received gets it's ACTIVATOR from the Message:Send Action that sends the message, either sharing it's ACTIVATOR, or using the Message:Send script object if set to THIS.
    • Similarly, Power Check: ACTIVATOR is passed to the script by the Power Set action that triggers this condition
    • Interacted: ACTIVATOR is the player that interacted with the switch, powerup, etc
    • Boundary Check: ACTIVATOR is the objects and players that just crossed the boundary and meet the condition
    • For Message Received and Power Check only the last action to call Message Send or Power Set will be able to pass its object or player to the condition. Boundary Check can pass multiple objects to ACTIVATOR.
    • Objects/Players returned by EXTRA depend on which condition the script has.
    • When using Boundary:Check set to Continuous, use EXTRA for both players and objects.
    • Number Check: EXTRA returns the objects or players whose number changed. Objects numbers can only be checked by scripts in the object itself. Players whose specified number channel was changed are all returned in a group by EXTRA.

    NOTES on Select First/Select Last
    • First/Last change if objects are off the map at the same time and then spawned into the map. First is the 1st one to spawn on the map.
    • Likely an array is used and it's filled back in with lowest open position 1st whenever objects spawn.
    • That means despawning/spawning 1 object just puts it back where it left.
    • So 2 objects can be despawned (they don't have to leave the map at the same time, just both off the map for any time together) and the 1st one spawned in will be chosen by Select First before the other.
    • Players can switch First/Last order with objects, but there might be more to it.
    • Forge monitor mode doesn't seem to switch it, but dying does.
    • Objects spawned at the same time (like the beginning of a game or round) probably get added with a process that works the same way each time, but it might be much safer to use some Despawn/Spawn scripts and the Despawn/Respawn object settings to set them up reliably at the start of each round (Spawned) before play begins (Round Event: Start)

    NOTES on Despawned Objects
    • We can't use filtering mods to select destroyed or despawned objects or players. For example, if attempting to use the target filtering mods OBJECTS=THIS [add], Group Siblings [add], because the object is not found on the map, THIS [add] returns nothing and then no siblings can be added. You can work around this by temporarily spawning the object using the Condition when Destroyed/Despawned, then using Action Spawn (Force=ON), then the Action Despawn with your mod filters OBJECTS=THIS [add], Group Siblings [add].





    Mods and Descriptions List(top)




    THIS [add] Appends the THIS object to the list.

    ACTIVATOR [add] Appends the ACTIVATOR object to the list.

    EXTRA [add] Appends EXTRA objects to the list identified by the Condition.

    Players [add] Appends all players (living and dead) to the list.

    Team [add] Appends all the objects on a explicit team to the list.

    Team:THIS [add] Appends all the objects on THIS object's team to the list.

    Team: ACTIVATOR [add] Appends all the objects on the ACTIVATOR object's team to the list.

    Label [add] Appends all the objects with <param> label to the list.

    Label:THIS [add] Appends all the objects sharing a label with THIS object to the list.

    Label: ACTIVATOR [add] Appends all the objects sharing a label with the ACTIVATOR object to the list.

    Boundary:THIS [add] Appends all the objects in THIS object's boundary to the list.

    Boundary:ACTIVATOR [add] Appends all the objects in ACTIVATOR object's boundary to the list.

    THIS [remove] Remove the THIS object from the list.

    ACTIVATOR [remove] Remove the ACTIVATOR object from the list.

    EXTRA [remove] Remove the EXTRA objects from the list.

    Objects [include] Removes all objects from the list that are players.

    Objects [exclude] Removes all objects from the list that aren't players.

    Players [include] Removes all objects that aren't players from the list.

    Players [exclude] Removes all players from the list.

    Dead [include] Removes objects from the list that are not dead. Non-health based objects (blocks, etc.) are removed.

    Dead [exclude] Removes objects from the list that are dead. Non-health based objects (blocks, etc.) are removed.

    Groups [include] Removes objects from the list that are not in groups.

    Groups [exclude] Removes objects from the list that are in groups.

    Group: Parents [add] For each grouped object in the list, add its parent to the list.

    Group: Parents [exclude] Removes the objects from the list that are group parents.

    Group:Siblings [add] For each grouped object in the list, add all the children in its group to the list.

    Group:Siblings [exclude] Remove objects from the list that are group children.

    Team [include] Remove objects from the list that aren't on the explicit team.

    Team [exclude] Remove objects from the list that are on the explicit team.

    Team:THIS [include] Remove objects from the list that aren't on THIS object's team.

    Team:THIS [exclude] Remove objects from the list that are on THIS object's team.

    Team:ACTIVATOR [include] Remove objects from the list that aren't on the ACTIVATOR object's team.

    Team:ACTIVATOR [exclude] Remove objects from the list that are on the ACTIVATOR object's team.

    Boundary:THIS [include] Remove all objects from the list that aren't in THIS object's boundary.

    Boundary:THIS [exclude] Remove all objects from the list that are in THIS object's boundary.

    Boundary:ACTIVATOR [include] Remove all objects from the list that aren't in the ACTIVATOR object's boundary.

    Boundary:ACTIVATOR [exclude] Remove all objects from the list that are in the ACTIVATOR object's boundary.

    Label [include] Remove all objects from the list that don't share the explicit label.

    Label [exclude] Remove all objects from the list that share the explicity label.

    Label:THIS [include] Remove all objects from the list that don't share a label with the THIS object.

    Label:THIS [exclude] Remove all objects from the list that share a label with THIS object.

    Label:ACTIVATOR [include] Remove all objects from the list that don't share a label with the ACTIVATOR object.

    Label:ACTIVATOR [exclude] Remove all objects from the list that share a label with the ACTIVATOR object.

    Number [include] Remove all objects from the list that don't match the explicit Number.

    Number [exclude] Remove all objects from the list that match the explicit Number.

    Number:THIS [include] Remove all objects from the list with a Number that doesn't match the Number of THIS object.

    Number:THIS [exclude] Remove all objects from the list with a Number that matches the Number of THIS object.

    Number:ACTIVATOR [include] Remove all objects from the list with a Number that doesn't match the Number of the ACTIVATOR objects.

    Number:ACTIVATOR [exclude] Remove all objects from the list with a Number that matches the Number of the ACTIVATOR objects.

    Order [include] Remove all objects from the list that don't match the explicit Spawn Order.

    Order [exclude] Remove all objects from the list that match the explicit Spawn Order.

    Order:THIS [include] Remove all objects from the list with a Spawn Order that doesn't match THIS object.

    Order:THIS [exclude] Remove all objects from the list with a Spawn Order that matches THIS object.

    Order:THIS Number [include] Removes all objects from the list with a Spawn Order that doesn't match THIS object's Number Value.

    Order:THIS Number [exclude] Removes all objects from the list with a Spawn Order that matches THIS object's Number Value.

    Order:ACTIVATOR [include] Remove all objects from the list with a Spawn Order that doesn't match the ACTIVATOR objects.

    Order:ACTIVATOR [exclude] Remove all objects from the list with a Spawn Order that matches the ACTIVATOR objects.

    Order:ACTIVATOR:Number [include] Remove all objects from the list with a Spawn Order that doesn't match the ACTIVATOR objects Number Value.

    Order:ACTIVATOR:Number [exclude] Remove all objects from the list with a Spawn Order that matches the ACTIVATOR objects Number value.

    Select First Removes all but the first X [specified by Count] objects from the list.

    Select Last Removes all but the last X [specified by Count] objects from the list.

    Select Random Removes all but random X [specified by Count] objects from the list.

    Select Nearest Removes all but the X [specified by Count] objects from the list nearest to THIS object.

    Select Farthest Removes all but the X [specified by Count] objects from the list farthest from THIS object.

    [NOTHING] When used as the first modifier, generates an empty list. Otherwise, does nothing.



    Labels Sub-Menu List(top)



    slayer: include
    slayer: exclude
    slayer: standard: include
    slayer: free-for-all: include
    slayer: multi-team: include
    slayer: doubles: include
    ctf: include
    ctf: exclude
    ctf: flag: spawn & return
    ctf: standard: include
    ctf: neutral-flag: include
    ctf: object
    strongholds: include
    strongholds: exclude
    strongholds: base
    strongholds: standard: include
    strongholds: one-base: include
    breakout: include
    breakout: exclude
    sportsball: spawn
    sportsball: return
    sportsball: include
    sportsball: exclude
    sportsball: object
    infected: include
    infected: exclude
    minigame: include
    minigame: exclude
    minigame:1: object
    minigame:2: object
    minigame:3: object
    minigame:4: object
    minigame:5: object
    forge: include
    user: alpha
    user: barvo
    user: charlie
    user: delta
    user: echo
    user: foxtrot
    user: golf
    user: hotel
    user: india
    user: juliet
    user: kilo
    user: lima
    user: mike
    user: november
    user: oscar
    user: papa
    user: quebec
    user: romeo
    user: sierra
    user: tango
    user: uniform
    user: victor
    user: whiskey
    user: x-ray
    user: yankee
    user: zulu
    oddball:include
    oddball:exclude
Yumudas Beegbut likes this.