====== Smithbox: Property Mass Edit ====== Authors: Vawser Disclaimer: this information is accurate for Smithbox 1.0.25. ===== Preamble ===== The Property Mass Edit tool allows you to apply a programmatic edit to a property throughout a set of maps (can be 1 map up to all maps). Note, for non-programmers, the usage of in the following sections means any text input. ===== Input ===== There are three inputs you need to fill out before you can execute a Property Mass Edit: * **Map Target**: this determines which maps you want to target. * **Selection Criteria**: this determines which map objects within the map you want to target. * **Edit Commands**: this determines the edit you want to apply to the targeted map objects. Once you can setup these inputs, you can click Apply and the mass edit will be executed. Note, you can have any number of terms for each input. You can add a new input box with the Plus button. You can remove the last added input box with the Minus button. ==== Map Target ==== The Map Target input determines which maps are targeted. There are two configuration options for this represented by the two combo boxes: * **Criteria Processing** * All must match: all the map target criteria must be true for the map to be included. * One must match: only one of the map target criteria must be true for the map to be included. * **Map Target Source** * Local: only maps that are currently loaded will be targeted. * Global: all maps will be targeted. You can then add as many map target criterias are you like, each which accept the following inputs: * **** * Select map whose name matches, or partially matches the specified string. Leave blank to target all maps. * **exclude: ** * Exclude the map whose name matches, or partially matches the specified string. Example: if you want to target the Chapel of Anticipation, you would add the following map target criteria: m10_01_00_00 Example: if you want to target all base open-world tiles, you would add the following map target criteria: m60 ==== Selection Criteria ==== The selection criteria determines which map objects are affected by the mass edit. There is one configuration option, represented by the combo box: * **Criteria Processing** * All must match: all the selection criteria must be true for the map object to be targeted. * One must match: only one of the selection criteria must be true for the map object to be targeted. You can then add as many selection criterias are you like, each which accept the following inputs: * **** * Select map object whose name matches, or partially matches the specified string. * **prop: [] ** * Select map objects who possess the specified property, and where the property's value is equal, less than, or greater than the specified value. * : the name of the property to target. Target a slot in an array property with the [] syntax. * : the comparator to use. Can be = (Equal), < (Less Than) or > (Greater Than). * prop:EntityID = 1 Example: if you wanted to target all map objects with an Entity ID above 1000, you would add the following selection criteria: prop:EntityID > 1000 Example: if you wanted to target all map objects with an Entity Group ID at index 1 below 999, you would add the following selection criteria: prop:EntityGroupID[1] < 999 ==== Edit Commands ==== The edit commands determine the properties that are edited within the targeted map objects. You can add as many edit commands as you like, each which accept the following inputs: * ** [] ** * Edit the specified property using the operation and value specified for the targeted map objects * : the name of the property to target. Target a slot in an array property with the [] syntax. * : the operation to apply with the value. Can be = (Set), + (Add), - (Subtract), * (Multiply), / (Divide) * + ) Example: if you want to set the Entity ID to 1000, you would add the following edit command: EntityID = 1000 Example: if you want to increment the existing Entity ID by 1, you would add the following edit command: EntityID + 1