WIKI

Моды

Sample mod - Iron Kingdom

Руководства по модам написаны на английском, как и поставляются с игрой.

A futuristic tactical-defense mode for Torreta on the traditional path, built from the mod TD kit. Industrial combat mechs carry energy sabres and hold the road while ballistic, ion and artillery towers cover them. The raised tower platforms use worn concrete; insects and mechs follow the natural-soil road between them.

ALDRA, Ranger and Sentinel in the native renderer

  • Four towers retain their existing upgrade paths and balance:
    • Ballistic outpost (Gun): rapid fire or precision specialisations.
    • Mech bay (Machine Gun): three Sentinel mechs meet insects on the road. Levels 2 and 3 strengthen the squad.
    • Ion tower (Bolt): heavy ion damage, or area arcs.
    • Artillery (Cannon): heavy mortar or a faster rocket battery.
  • ALDRA, the command mech, starts on the road. Click it (or press A over it) to take command, then walk it with WASD or the left stick; Escape, a right click or B lets it go. It repairs while idle and returns 18 seconds after falling.
  • Two powers: Orbital strike (F1) marks a circle, then drops an armoured penetrator after 0.9 seconds, dealing 140 damage within radius 95; Deploy ranger mechs (F2) sends two lighter units for 14 seconds.
  • Thirty waves keep the same enemies, rewards, resistances and victory condition. Cards, the factory and the Collector are off. Start with 260 gold and 20 lives; co-op players each build on one half of the board.

Models

The mechs, bays and wrecks are the base game's Mech Hangar models, and the sample ships none of them. Its models.json names each slot's game model with game_model, so the slot wears the game's own file. No mod may share the game's tower or scenery models (owner, 12/10). To give the kingdom other models, put your own GLB in the mod and name it with file in place of game_model. Version 1.5.0 dropped the nine copies the sample carried until then.

SlotGame modelRole
Allies/SoldierAllies/SentinelOlive armoured mech, blue energy sabre and ballistic shield
Allies/ReinforcementAllies/RangerLighter grey chassis, orange sensor module and amber sabre
Allies/HeroAllies/CommanderOxide-red and graphite command chassis (ALDRA), two red energy sabres, no shield
Towers/MachineGun_1Towers/Hangar_1Open hangar with three service stations and a roof sensor
Towers/MachineGun_2Towers/Hangar_2Reinforced walls, twin power banks and an overhead repair trolley
Towers/MachineGun_3Towers/Hangar_3Heavy portal armour, suspended service arms and a command roof bridge
Environment/Rubble_MachineGun_1Environment/Rubble_Hangar_1Torn canopy, collapsed wall, portal and disconnected service hardware
Environment/Rubble_MachineGun_2Environment/Rubble_Hangar_2Wreckage from the reinforced bay
Environment/Rubble_MachineGunEnvironment/Rubble_HangarWreckage from the heavy command bay

Version 1.4.5 refines the shared enamel with subtle sun fading, a lighter olive reflectance and shallower coating pits. The same finish reaches the three mechs, all bay levels and their wrecks. Gameplay and progression are unchanged.

They use painted armour with varied wear and roughness, exposed metal, joint seals, cooling vents, hydraulic lines and restrained emissive optics. Geometry, materials and embedded textures remain replaceable using the ordinary mod model contract. Other modes keep the shared stock ally models.

The optional MechRig node opts into cosmetic articulated steps and sabre strikes. Keep Body, Weapon and Shield under the same hierarchy as the catalogue. StrideLeft and StrideRight are children of Body, with KneeLeft and KneeRight beneath their respective stride pivots. Weapon and Shield sit at the shoulders; include the entire arm, hand and equipment under each, so equipment stays attached during strikes. Forward is +X, up is Godot Y (Blender Z). The animation never changes damage, range or movement. Models without MechRig retain the existing static presentation and lunge.

The Commander and Ranger carry two sabres; their DualSabres marker makes the left arm follow with a mirrored strike. The Ranger retains amber blades, while the Commander retains red blades. Both arms share one compact sword mesh and its materials. The Sentinel retains its shield and single blue sabre.

ALDRA also includes optional ViewWrist and ViewElbow anchors under each shoulder (Weapon/Shield). The first-person view uses them to articulate whole rigid arm components with the same PBR finish, including closed fingers and an opposing thumb. Both sabres are carried upright when walking and advance only during a strike. Compact geometry and native LODs are cached during loading; the world model still supplies the shadow. Existing mods without these anchors retain the previous hand-only view.

ViewWristSocket optionally places the forearm joint behind the palm while ViewWrist remains the weapon grip. The shared Commander uses this offset so its wrist bearing and piston sleeves stay connected through walking and strikes. Models without the socket keep the original grip-centred forearm attachment.

The reference-detail kit also marks its completed fingers with AuthoredHand. The view keeps the emitter hardware in a narrow envelope above ViewWrist instead of cutting the emitter into forearm pieces. Fingers include their own thumb; the legacy generated thumb is used only for older unmarked models. Identical metal and coating surfaces share material slots, and complete rigid models retain the opaque shader, native LODs and shared physical maps. The mech coating has stronger handling chips than the bay coating; each family shares its own matched normal/occlusion/roughness/metalness maps across palettes. The first-person extractor recognizes converted energy shader surfaces as well as authored material names, so raw mod blades stay with the hands after loading. The optical caps use small colour-specific iris emission maps and a dark glass edge. Their explicit base-colour chart prevents the raw GLB importer from promoting the cavity chart to the primary UVs. The material adapter also retains an explicitly imported emission_on_uv2 setting for other mod materials.

Materials named Mech plasma <name> and Mech core <name> opt into the bounded sabre shader. The former uses an open, tapered mesh envelope with glTF UV V in 0.5..1 (base at 1), while the latter is the thin blade core. Their imported emission colour selects the energy colour. Other material names retain ordinary glTF PBR behavior. The shader animates filaments without CPU particles or fullscreen distortion. Only the first-person hands receive two shadowless local lights, enabled at High/Ultra; world squads do not create additional lights. Each sabre has one hand-sized grip and a short vented emitter collar directly above the fingers. The energy blade starts at that collar; there is no second handle-sized chamber. The authored tip position and combat reach are unchanged.

The editable source is Assets/Models/Source/StoneKingdomMechs.blend. Rebuild the game's mech GLBs (Assets/Models/Allies/) with Blender:

blender --background --python tools/art/build_stone_kingdom_mechs.py
python3 tools/art/iron_dual_sabres.py

Mech bay

The bay has no weapon barrel. Its fixed Hangar sits beside Yaw under the authored root, so aiming only rotates the roof sensor. Pitch is directly below Yaw, with the three mandatory Muzzle_0, Muzzle_1 and Muzzle_2 sockets below Pitch. They are inert: fires: false remains in all three levels. Blender suffixes on repeated pivot names are supported by the model loader. The entire footprint fits a 64-unit tile, including the entrance ramp, armour and roof equipment. There is no Machine Gun fusion model.

The standard boot process rebuilds palette and action-ring icons from these GLBs. Version 1.3.0 adds the bay visuals without changing prices or squad balance: each level keeps three Sentinels, with 70/115/170 health and 5/8/12 damage respectively. The models share the mech pipeline's worn enamel, metal, normal maps, roughness and restrained blue lights.

Edit Assets/Models/Source/IronKingdomMechBays.blend, or rebuild the game's Assets/Models/Towers/Hangar_*.glb with:

blender --background --python tools/art/build_iron_kingdom_bays.py

Destroyed mech bays

Version 1.4.4 adds one wreck per bay level. When a worm destroys the building, the wreck descends with it and remains on the tile, using the ordinary saved rubble record and construction obstruction. Each pile uses the actual bay's olive panels, torn roof, fallen entrance pillar, radar and interior hardware. Disconnected lamps are dark. Embedded PBR textures, local contact occlusion and the EnvironmentFinish marker preserve the bay finish and react to rain.

Eight Piece_<n> groups allow compatible mods to collect the rubble over multiple trips. The geometry does not change the configured trip count or enable the Collector in Iron Kingdom. The stock worm timing, obstruction, saving and multiplayer replication remain shared with ordinary tower wrecks. A level-specific model override takes priority over the unsuffixed fallback.

Edit Assets/Models/Source/IronKingdomWrecks.blend, or rebuild the game's Assets/Models/Environment/Rubble_Hangar*.glb with:

blender --background --threads 3 --python tools/art/build_iron_kingdom_wrecks.py

Orbital strike

The payload has a tungsten nose, ceramic panels, alloy casing, ion guidance strips and four hinged fins. It descends from above, opens the fins and breaks at the marked point. A brief local light, shock wave, flying soil and casing, sparks, wind-drifting smoke and a fading scorch mark finish the impact. Sounds use the effects bus at the target location. Cosmetic debris does not block tiles. Models and effect materials are warmed during loading, including mod overrides.

The existing stones ability ID, 140 damage, 95 radius, 45-second cooldown and air-target support are retained. visual: "orbital" and impact_delay: 0.9 in allies.abilities opt into this sequence. Hits occur once at impact using the enemies' current positions. Other strike abilities remain instantaneous unless they configure a delay. Effects stop with pause and follow game speed.

Two additional catalogue slots can be replaced through any compatible mod's models.json with material: "imported":

SlotContract
Environment/OrbitalPayloadCentre at the origin; nose points down Godot -Y (Blender -Z). Stock body is about 32 units tall. Optional Fin1–Fin4 empty pivots fold their complete meshes about local -Z. No skeleton or baked animations.
Environment/OrbitalFragmentOne small torn casing shard, centred at the origin, about 4 × 6 units. The runtime tumbles copies and removes them after 5.5 seconds.

The stock models use embedded albedo, normal and roughness textures. Edit Assets/Models/Source/OrbitalStrike.blend, or rebuild both assets with:

blender --background --python tools/art/build_orbital_strike.py

Enable the sample in Options → Mods and restart. It is a total conversion with its own mod profile; the existing Workshop ID is retained. Only one total conversion plays at a time, alongside compatible cosmetic and gameplay mods.

python3 tools/mods/build_stone_kingdom.py regenerates gameplay data, display names and the model manifest. It preserves the thirty-wave tuning, prices, health, damage, respawn times and saved ability IDs of the original mode.

Surface credits

The embedded enamel maps in the mech, bay and wreck GLBs incorporate a neutral abrasion, roughness and micro-normal derivative of Blue Metal Plate by Rob Tuytel, released under CC0-1.0: https://polyhaven.com/a/blue_metal_plate (https://polyhaven.com/license). The original blue pigment and plate joints are excluded. Olive enamel, dark primer and neutral exposed metal are baked together with aspect-aware UVs by tools/art/iron_surface_finish.py. Source hashes and calibration are recorded in Assets/Materials/Realism/coating_scan_sources.json; no runtime download is used.