Param Editor · Mass Edit

DSMapStudio Param Mass Edit Guide

Tested on v1.11.1 Updated 2026-06-09

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

OperatorMeaningExample
=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 single 1000000 or 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:

  1. Select EquipParamWeapon.
  2. Open the Mass Edit input and enter a command scoping to your rows and the base-physical-attack field with * 1.1, following the param : rows : field : operation structure above (whole table, or just the modified rows).
  3. Run it — the 10% increase applies to every matching row at once.
  4. Type modified to 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.bin before 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.