Skip to content

feat(metal-farp): progressive animated construction scene (#19)#22

Merged
FullGas1 merged 1 commit into
developfrom
feature/lot5-metal-farp-animation
Jul 19, 2026
Merged

feat(metal-farp): progressive animated construction scene (#19)#22
FullGas1 merged 1 commit into
developfrom
feature/lot5-metal-farp-animation

Conversation

@FullGas1

@FullGas1 FullGas1 commented Jul 19, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Rewrites Metal FARP from 9 steps (instant deploy) to 13-step animated construction sequence (~45 s)
  • Trucks + tent first, Tower Crane at t+5.5 s, Under_Construction helipad t+10.5-30.5 s, finished FG_small_Helipad at t+30.5 s, crane removed t+35.5 s, equipment + warehouse at t+45 s
  • Registers Tower Crane (stock) and FG_small_Helipad_Under_Construction (mod, same zip) via registerIfAbsent
  • Adds FG_small_Helipad_Under_Construction to modTypes
  • Creates plugins/metal-farp/tests/metal_farp_spec.lua with 6 Busted assertions

Closes #19

Test plan

Generated with Claude Code

Summary by Sourcery

Introduce a progressive, animated Metal FARP construction sequence with additional props and timing changes.

New Features:

  • Add an under-construction helipad variant and tower crane prop to support the staged build-up of the Metal FARP scene.

Enhancements:

  • Expand the Metal FARP scene from an instant deployment to a 13-step timed animation with revised spawn ordering and delays.
  • Update scene metadata to include all required mod types while keeping stock assets out of the mod type list.

Tests:

  • Add smoke tests for the Metal FARP scene covering registration, crate declaration, required CTLD version, modTypes contents, step count, and critical helipad spawn behavior.

#19)

- Rewrites the 9-step scene into a 13-step animated sequence (~45 s total)
- Trucks and tent appear first; Tower Crane spawns at t+5.5 s
- FG_small_Helipad_Under_Construction animates construction from t+10.5 s to t+30.5 s
- FG_small_Helipad revealed at t+30.5 s (critical); crane removed at t+35.5 s
- Equipment and warehouse follow; warehouse stocked only once pad is live
- Cross-step object references stored in scene._params (_craneObj, _underConstObj)
- Registers Tower Crane and FG_small_Helipad_Under_Construction via registerIfAbsent
- Adds FG_small_Helipad_Under_Construction to modTypes (same zip, no new modUrls)
- Creates plugins/metal-farp/tests/metal_farp_spec.lua with 6 Busted assertions

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@sourcery-ai

sourcery-ai Bot commented Jul 19, 2026

Copy link
Copy Markdown

Reviewer's Guide

Reworks the Metal FARP scene from an instant 9-step deployment into a 13-step progressive construction animation, introducing under-construction helipad and tower crane assets, updating mod type registration, and adding tests that assert scene configuration and critical behavior.

Flow diagram for progressive Metal FARP construction sequence

flowchart LR
    t0["t0: Fuel_Truck + Repair_Truck"] --> t0_05["t0+0.5s: FARP_Tent"]
    t0_05 --> t5_5["t0+5.5s: Tower_Crane (spawn, save _craneObj)"]
    t5_5 --> t10_5["t0+10.5s: FG_small_Helipad_Under_Construction (spawn, save _underConstObj)"]
    t10_5 --> t30_5_destroy_uc["t0+30.5s: destroy _underConstObj"]
    t30_5_destroy_uc --> t30_5_pad["t0+30.5s: FG_small_Helipad (critical, save farpName)"]
    t30_5_pad --> t35_5_destroy_crane["t0+35.5s: destroy _craneObj"]
    t35_5_destroy_crane --> t35_5_ammo["t0+35.5s: ammo_cargo"]
    t35_5_ammo --> t40_lights["t0+40s: NF-2_LightOn + Windsock + Carrier_Seaman"]
    t40_lights --> t45_warehouse["t0+45s: warehouse stocking + completion"]
Loading

File-Level Changes

Change Details Files
Convert Metal FARP scene from instant deployment to 13-step progressive construction animation with timed spawns and teardown of props.
  • Reordered and retimed all scene steps to stage trucks, tent, crane, construction helipad, final helipad, support equipment, and warehouse over ~45 seconds.
  • Introduced stateful tracking in scene._params for the tower crane and under-construction helipad objects so they can be destroyed at specific steps.
  • Changed initial steps so trucks and tent appear before construction props and helipad completion, with updated polar offsets and headings.
  • Ensured the critical flag remains on the final FG_small_Helipad spawn step and continues to capture the FARP name for warehouse stocking.
plugins/metal-farp/src/CTLD_metalFarpScene.lua
Register new construction-related object types and update modTypes metadata for validation.
  • Registered FG_small_Helipad_Under_Construction as a STATIC fortification with probeSkip for runtime validation skipping.
  • Registered stock Tower Crane as a STATIC structure with appropriate type and shape_name for use as a construction prop.
  • Extended metalFarpScene.modTypes to include FG_small_Helipad_Under_Construction while keeping Tower Crane excluded as a stock type.
plugins/metal-farp/src/CTLD_metalFarpScene.lua
Add smoke tests for Metal FARP scene configuration and behavior expectations.
  • Load the Metal FARP scene file in a busted test context using a ROOT path helper.
  • Assert that the Metal FARP scene is enabled and has a crate declaration with a weight.
  • Verify requiresCtld version, presence of both helipad mod types in modTypes, and that Tower Crane is not listed there.
  • Check that the scene defines exactly 13 steps and that the FG_small_Helipad step is marked critical.
plugins/metal-farp/tests/metal_farp_spec.lua

Assessment against linked issues

Issue Objective Addressed Explanation
#19 Rewrite the Metal FARP scene Lua file to implement the 13-step progressive construction animation with the specified timings and object lifecycle (trucks/tent first, Tower Crane and FG_small_Helipad_Under_Construction appear/destroy at the described times, FG_small_Helipad spawns at ~30.5 s with farpName captured, and warehouse stocking/completion at ~45 s).
#19 Add CTLDObjectRegistry entries for Tower Crane (stock STATIC type "Tower Crane", shape "TowerCrane_01") and FG_small_Helipad_Under_Construction (mod STATIC), and configure metalFarpScene.modTypes to include FG_small_Helipad_Under_Construction while not including Tower Crane.
#19 Create a Busted unit test file plugins/metal-farp/tests/metal_farp_spec.lua that asserts the new observable behaviour: correct step count (13), FG_small_Helipad_Under_Construction in modTypes, Tower Crane not in modTypes, and critical=true on the FG_small_Helipad spawn step.

Possibly linked issues


Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've left some high level feedback:

  • The step 2 registryKey is set to "repare_Truck", which looks like a typo compared to the registered "Repair_Truck" key and will prevent that step from spawning correctly.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The step 2 `registryKey` is set to `"repare_Truck"`, which looks like a typo compared to the registered `"Repair_Truck"` key and will prevent that step from spawning correctly.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@FullGas1
FullGas1 merged commit 9a04b1f into develop Jul 19, 2026
6 checks passed
@FullGas1
FullGas1 deleted the feature/lot5-metal-farp-animation branch July 19, 2026 13:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(metal-farp): scene animation rewrite + unit tests

1 participant