Skip to content

RitoShark/Particle-Randomizer

Repository files navigation

VFX Duplicator Tool

Simple Electron app to duplicate VfxSystemDefinitionData entries in League of Legends files.

Installation

  1. Install Node.js (if not already installed)
  2. Open terminal in this folder
  3. Run:
npm install

Usage

  1. Start the app:
npm start
  1. Click "Open File" and select your .py or .bin file

    • VFX entries are detected automatically!
  2. (Optional) Use the search bar to filter entries:

    • Type keywords to find specific VFX
    • Example: "Base", "Q_", "mis", etc.
  3. Select the VFX entries you want to duplicate:

    • Check individual boxes, or
    • Click "Select All" to select everything, or
    • Use search + "Select Visible" for filtered bulk selection
  4. Enter the number of copies you want (1-10)

  5. (Optional) Enable custom prefixes and enter custom names

  6. (Optional) Enable "Separate Assets" to organize assets:

    • Assets are automatically detected from your project's assets/ folder
    • Tool searches up from your .py/.bin file to find the project root
    • Enter a folder name for EACH copy (e.g., "FireVariant", "IceVariant")
    • Each duplicate will use its own asset folder
    • Assets will be detected and paths updated per copy
  7. Click "Generate Duplicates"

  8. Review the preview and detected assets (if enabled)

  9. Click "Save Modified File" to save the configuration

  10. (If assets enabled) Click "Copy Assets to Folder" to copy all asset files

    • Assets are copied from your project's assets/ folder
    • Copies are placed in assets/{folderName}/ next to your .py/.bin file

What it does

  • Duplicates VfxSystemDefinitionData entries with _1, _2, etc. suffixes OR custom names
  • Updates particleName and particlePath in each copy
  • Adds entries to ResourceResolver
  • Creates a randomizer emitter in the original VFX that randomly picks between all variants

Features

  • Auto-Detection on Load: VFX entries are automatically detected when you open a file
  • Search Bar: Instantly filter VFX entries by typing keywords
  • Bulk Processing: Select multiple VFX entries and process them all at once
  • Smart Selection Controls:
    • Select All / Deselect All
    • Select Visible (select only filtered results)
  • Custom Prefixes: Use custom suffixes like "_fire", "_ice" instead of "_1", "_2"
  • Per-Copy Asset Separation:
    • Each duplicate gets its own asset folder
    • Automatically finds your project's assets/ folder
    • Auto-detect all assets (textures, meshes, sounds)
    • Update paths to organized folders per copy
    • Physically copy assets to multiple variant folders
    • Perfect for creating variants with different textures!
  • Live Preview: See changes before saving
  • Error Handling: Shows which entries succeeded and which failed

Example

Input: Characters/Shaco/Skins/Skin0/Particles/Shaco_Base_W_box_poof

Default mode (with 2 copies):

  • Characters/Shaco/Skins/Skin0/Particles/Shaco_Base_W_box_poof_1
  • Characters/Shaco/Skins/Skin0/Particles/Shaco_Base_W_box_poof_2

Custom prefix mode (with custom names "fire", "ice"):

  • Characters/Shaco/Skins/Skin0/Particles/Shaco_Base_W_box_poof_fire
  • Characters/Shaco/Skins/Skin0/Particles/Shaco_Base_W_box_poof_ice

And adds a randomizer emitter to randomly select between all variants.

About

Randomize your VFX with many color variants.

Resources

Stars

Watchers

Forks

Packages

No packages published