SetItemStats

From Wiki G1R-MP G1 Remake Multiplayer
Revision as of 20:11, 18 October 2026 by QCherry (talk | contribs) (Document planned 0.1.9 item stats, armor, runes and experimental map-editor seats/lights; not a release)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

setItemStats

AVAILABLE FROM UPDATE 0.1.9
Planned for 0.1.9; not yet publicly released. Not included in public 0.1.8. See the scope and validation notes below.

Changes selected numeric properties of one item type.

Syntax

accepted, error, revision = setItemStats(item, fields)

Parameters

Name Type Required Description
item string yes Known canonical item key or recognized alias; this is not an inventory-instance ID.
fields table yes Property-name to numeric value map. Omitted fields are preserved; check per-item support and ranges.

Returns

Three values: accepted (boolean), error (string; empty on success), revision (decimal string). Check accepted before using the revision. Success means server acceptance, not visual/client completion. A no-op may return the unchanged revision.

Examples

local ok, why = setItemStats("mercenary", {
    resistanceEdge=80, resistanceBlunt=60, resistancePoint=50,
    resistanceFire=30, bonusHealth=25
})
assert(ok, why)

Notes

  • Planned for G1R:MP 0.1.9; not yet publicly released and not included in public 0.1.8. This documents the implemented development API, not a release announcement. See Item type stats for scope and remaining in-game validation.
  • Server-side only. Profiles affect every copy of the same type on this server, across dimensions; not individual item instances.
  • Use matching supported client and server builds. Server acceptance and a client application report do not prove the native gameplay effect.
  • Active overrides are owned per item type by the calling resource. Another resource cannot change that owned type. Resource stop removes its overrides.
  • Validation is atomic for the submitted transaction. Unsupported fields, wrong families, invalid/non-finite values, duplicate item/property aliases or ownership conflicts reject it.
  • A numeric 0 is an explicit value where allowed, not reset. Use resetItemStats to remove an override. Profiles are not automatically persisted.
  • Do not expose this setter directly to untrusted remote events. See getItemStatDefinitions and Item stat properties.