Rusted Warfare Mod Workshop
All coursesCreative tools中文

Use effects to communicate state and inheritance to keep it consistent

Organize muzzle flashes, hull animation and shared settings into a maintainable set

Give each effect an informational role

A short expanding glow signals stabilization, the muzzle flash marks a shot, and a subtle idle scale adds life, effects should communicate behavior rather than hide a missing state change

[action_focus]
spawnEffects: CUSTOM:signal

[turret_main]
shoot_flame: CUSTOM:signal

[effect_signal]
image: glow.png
life: 24
alpha: 0.8
scaleFrom: 0.6
scaleTo: 1.5
fadeOut: true
attachedToUnit: false
color: #8AE9D1

Start with a subtle keyframe change

The idle animation moves between scale 1 and 1.03 without changing collision or health, inspect readability before keeping it, animation scale is a visual property

[animation_idlePulse]
onActions: idle
pingPong: true
body_0s: {scale:1}
body_1s: {scale:1.03}

Override only the variant differences

Skyguard inherits the mode actions, memory setup and effects from firecontrol.ini and overrides identity, cost, art and target role, a base effect change then applies to both

[core]
copyFrom: firecontrol.ini
name: rwa08Skyguard
displayText: 防空火控车 / Skyguard
price: 650
maxHp: 320

[graphics]
image: skyguard.png

[attack]
canAttackFlyingUnits: true
canAttackLandUnits: false
maxAttackRange: 210

Maintain a reference checklist

When renaming, follow inheritance paths, image files, projectile names, CUSTOM effects, actions and animation names, an existing file does not guarantee that every named reference is valid, avoid inheritance cycles

Try it yourself

Change the shared glow color and predict both variants, then override the color only in Skyguard

Open interactive lesson and download the companion mod