Skip to content

Custom Skeleton Support - #3653

Open
Tiny-DM wants to merge 8 commits into
official-antistasi-community:unstablefrom
Tiny-DM:custom-skeletons
Open

Custom Skeleton Support#3653
Tiny-DM wants to merge 8 commits into
official-antistasi-community:unstablefrom
Tiny-DM:custom-skeletons

Conversation

@Tiny-DM

@Tiny-DM Tiny-DM commented Aug 8, 2025

Copy link
Copy Markdown

What type of PR is this.

  1. Bug
  2. Change
  3. Enhancement

What have you changed and why?

Information:
Modder resource to allow for the creation of templates with custom skeletons (or more accurately, custom base units the game tries to spawn)

Please verify the following and ensure all checks are completed.

  1. Have you loaded the mission in LAN host?
  2. Have you loaded the mission on a dedicated server?

Is further testing or are further changes required?

  1. No
  2. Yes (Please provide further detail below.)

How can the changes be tested?

Steps: Load the attached template with OPTRE installed and get some SF to spawn, they will be Spartans with custom base units / skeletons.
Vanilla_AI_CSAT_Arid.txt


Notes:
Skeletons are defined per unit class, so you can make sure the SF Autorifleman has a custom skeleton and the SF Medic doesnt if you want, but it cannot be randomized. The input to the faction load for each unit class entry looks like
_unitLine params ["_name", "_template", ["_traits", []], ["_count", 5], ["_baseClass", ""]];
So the existing standard of [name, loadouts] needs to have extra nils added to add a custom base class. See example below:

private _unitTypes = [
    ["SquadLeader", _squadLeaderTemplate, nil, nil, "OPTRE_Spartan3_Soldier_TeamLeader"],
    ["Rifleman", _riflemanTemplate, nil, nil, "OPTRE_Spartan3_Soldier_Rifleman_AR"],
    ["Medic", _medicTemplate, [["medic", true]], nil, "OPTRE_Spartan3_Soldier_Corpsman"],
    ["Engineer", _engineerTemplate, [["engineer", true]], nil, "OPTRE_Spartan3_Soldier_Engineer"],
    ["ExplosivesExpert", _explosivesExpertTemplate, [["explosiveSpecialist", true]], nil, "OPTRE_Spartan3_Soldier_Rifleman_AR"],
    ["Grenadier", _grenadierTemplate, nil, nil, "OPTRE_Spartan3_Soldier_Rifleman_AR"],
    ["LAT", _latTemplate, nil, nil, "OPTRE_Spartan3_Soldier_Rifleman_AT"],
    ["AT", _atTemplate, nil, nil, "OPTRE_Spartan3_Soldier_Rifleman_AT"],
    ["AA", _aaTemplate, nil, nil, "OPTRE_Spartan3_Soldier_Rifleman_AR"],
    ["MachineGunner", _machineGunnerTemplate, nil, nil, "OPTRE_Spartan3_Soldier_Automatic_Rifleman"],
    ["Marksman", _marksmanTemplate, nil, nil, "OPTRE_Spartan3_Soldier_Marksman"],
    ["Sniper", _sniperTemplate, nil, nil, "OPTRE_Spartan3_Soldier_Scout_Sniper"]
];

Loadouts are still applied as normal. So certain loadouts may need to be empty or have custom gear to support the skeleton.

@Tiny-DM Tiny-DM added this to the 3.9.1 milestone Aug 8, 2025
@Tiny-DM Tiny-DM added Enhancement New feature or request Review pending labels Aug 8, 2025
@Tiny-DM Tiny-DM modified the milestones: 3.9.1, 3.10.0 Aug 16, 2025
@ante185
ante185 requested a review from jaj22 September 13, 2025 14:44
Comment thread A3A/addons/core/functions/Templates/fn_compatibilityLoadFaction.sqf Outdated
@jaj22 jaj22 added Change requested A change has been requested, and this can't be merged until it's done. and removed Review pending labels Sep 23, 2025
@Tiny-DM Tiny-DM added Review pending and removed Change requested A change has been requested, and this can't be merged until it's done. labels Sep 25, 2025
Comment thread A3A/addons/core/functions/CREATE/fn_createUnit.sqf Outdated
Comment thread A3A/addons/core/functions/init/fn_initACE.sqf Outdated
@Tiny-DM Tiny-DM modified the milestones: 3.10.0, 3.10.1, 3.10.2 Nov 9, 2025
@Tiny-DM Tiny-DM modified the milestones: 3.10.2, 3.10.3 Nov 18, 2025
@Tiny-DM Tiny-DM modified the milestones: 3.10.3, 3.11.0 Feb 3, 2026
@Tiny-DM Tiny-DM modified the milestones: 3.11.0, 3.12.0 Feb 13, 2026
@Tiny-DM Tiny-DM modified the milestones: 3.12.0, 3.11.1, 3.11.2 Jun 9, 2026

@jaj22 jaj22 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Mostly good, needs a couple of tweaks.

Comment thread A3A/addons/core/functions/Templates/fn_compatibilityLoadFaction.sqf Outdated
Comment thread A3A/addons/core/functions/CREATE/fn_createUnit.sqf Outdated
Comment thread A3A/addons/core/functions/CREATE/fn_createUnit.sqf Outdated
@jaj22 jaj22 added Change requested A change has been requested, and this can't be merged until it's done. and removed Review pending labels Jun 9, 2026
Comment thread A3A/addons/core/functions/init/fn_initVarCommon.sqf Outdated
@Tiny-DM
Tiny-DM requested a review from jaj22 June 10, 2026 05:37

@jaj22 jaj22 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Should be fine.

@jaj22 jaj22 added Ready for merge and removed Change requested A change has been requested, and this can't be merged until it's done. labels Jun 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Enhancement New feature or request Ready for merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants