Param Editor · Mass Edit
DSMapStudio Param Mass Edit Guide
DSMapStudio Param Mass Edit Guide
To change one field across hundreds of rows — +10% damage on every weapon, zero a stat on a whole category, halve all upgrade costs — editing one at a time is hopeless and a spreadsheet is overkill. DSMapStudio's Mass Edit does it inside the tool with a single command: name which rows, which field, and what operation, and it applies the change to all of them at once. It's the formula engine of the Param Editor. You'll need a project open (first project setup); the general workflow is in the Param Editor hub.
What it does
Mass Edit applies a rule to many param cells at once. Instead of typing a value into each row, you write a command meaning "for these rows, change this field by this operation." It runs against the loaded params, so there's no export and no spreadsheet — the change lands directly on regulation.bin in your project. (Improved notably in the v1.08 and v1.09.1 releases.)
The trade-off: it's rule-based. Perfect for "multiply / add / set this field on a selection," less suited to pasting a column of hand-picked values — that's where CSV wins.
Two ways to run it
- Selection-based — select rows in the list (click,
Shift-click,Ctrl-click), then run a command scoped to that selection. Quick path once you've filtered to what you care about. - Query-based — write a full command that names the param and selects rows by ID, name, or property, clicking nothing. Repeatable: the same command produces the same change every time.
Same command language; the only difference is whether rows come from your selection or a selector in the command.
The command structure
A command is stages separated by colons, ending in a semicolon:
<param>: <row selector>: <field>: <operation>;
Left to right: pick a param, narrow to rows, choose a field, apply an operation. For example:
param EquipParamWeapon: id 1000000: correctStrength: = 99;
That targets EquipParamWeapon, row ID 1000000, its strength-scaling field, and sets it to 99. Swap the selector and operation and the same structure does something entirely different. End each command with ; to run several at once.
Operators
| Operator | Meaning | Example |
|---|---|---|
= | Set the field | = 99 → becomes 99 |
+ | Add | + 10 → value + 10 |
- | Subtract | - 1 → value − 1 |
* | Multiply | * 1.1 → +10% |
/ | Divide | / 2 → halved |
Mass Edit also supports more advanced operations (regex replacement on string fields, copying from references, and others) — for the complete set, see the official SoulsModding Mass Edit reference. For numeric balancing, the five above cover almost everything.
Targeting rows
The selector decides what changes — getting it right is the whole game:
selection— the highlighted rows.id <number or range>— by ID, a single1000000or a range covering a weapon's whole upgrade block.name <text>— rows whose Paramdex name matches.prop <field> <value>— rows where a field has a value, e.g. every weapon of a type.modified— only rows that differ from vanilla, so you re-apply a rule to just your own changes.
A precise selector plus a simple operator is how you make sweeping but safe changes — "every modified weapon, multiply attack by 1.1" touches only your edits.
Worked example — buff every weapon by 10%
The in-tool equivalent of a spreadsheet pass, no export:
- Select
EquipParamWeapon. - Open the Mass Edit input and enter a command scoping to your rows and the base-physical-attack field with
* 1.1, following theparam : rows : field : operationstructure above (whole table, or just themodifiedrows). - Run it — the 10% increase applies to every matching row at once.
- Type
modifiedto confirm, then save (Ctrl+S).
Because the operation is * 1.1, each weapon keeps its relative balance while the table scales up — the same result as the CSV worked example, without leaving the tool.
Mass Edit vs CSV
- Mass Edit when the change is a rule — multiply, add, set, scale a field across a selection. Faster, in-tool, repeatable as a saved command.
- CSV when the change is data — pasting specific values, column math against other columns, sharing as a file, or merging another mod's rows.
Many mods use both: Mass Edit for broad balance passes, CSV for distributing the result and for merges.
Safety
It changes many rows instantly, so a wrong selector does a lot of damage fast:
- Filter to the same rows first, so you see exactly what's in scope.
- Watch the operator.
=overwrites;*/+modify. A=where you meant*flattens every row to one value. - Verify with the Modified filter, then save only once confirmed.
- Back up the project's
regulation.binbefore a big pass.
For distributing or merging the result: CSV export/import and the merge guide; for the broader toolset, the Param Editor hub. A command that does nothing or errors is almost always the selector or a field name — check both.