Compare commits

..

No commits in common. "master" and "1.0.0.1" have entirely different histories.

18 changed files with 85 additions and 160 deletions

View File

@ -1,7 +1,7 @@
branches:
- master
name-template: "forge_factions_v$NEXT_PATCH_VERSION"
name-template: "a3f_factions_v$NEXT_PATCH_VERSION"
tag-template: "$NEXT_PATCH_VERSION"
categories:

View File

@ -16,7 +16,7 @@ on:
jobs:
build:
name: Build
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Checkout Source Code
uses: actions/checkout@v4

View File

@ -1,6 +1,6 @@
name = "FORGE Factions"
author = "IDSolutions"
prefix = "forge_factions"
prefix = "a3f_factions"
mainprefix = "z"
[files]

View File

@ -1,50 +0,0 @@
<p align="center">
<a href="https://gitea.innovativedevsolutions.org/IDSolutions/factions/releases/latest" target="blank">
<img src="https://img.shields.io/gitea/v/release/IDSolutions/factions?gitea_url=https%3A%2F%2Fgitea.innovativedevsolutions.org" alt="latest-release" /></a>
<a href="https://gitea.innovativedevsolutions.org/IDSolutions/factions/issues" target="blank">
<img src="https://img.shields.io/gitea/issues/open/IDSolutions/factions?gitea_url=https%3A%2F%2Fgitea.innovativedevsolutions.org" alt="open-issues" /></a>
<a href="https://gitea.innovativedevsolutions.org/IDSolutions/factions/actions?workflow=build.yml" target="blank">
<img src="https://gitea.innovativedevsolutions.org/IDSolutions/factions/actions/workflows/build.yml/badge.svg?branch=master" alt="build-status" /></a>
</p>
Arma 3 FORGE Factions: Redefine The Battlefield\
Version: Alpha 0.1.0
[Development Status: Active]
---
Experience warfare reimagined with Arma 3 FORGE Factions, a comprehensive faction expansion that brings new depths of military diversity to your operations. Command unique forces, deploy specialized units, and engage in complex scenarios across distinctive fighting forces.
Key Features:
---
* Elite Forces: From hardened PMC operators to specialized military units, lead forces that bring unique capabilities and tactical options to the battlefield
* Distinctive Identity: Each faction features carefully crafted loadouts, custom equipment selections, and specialized vehicle configurations that define their combat doctrine
* Dynamic Integration: Seamlessly connects with the FORGE framework, enabling deep progression and organizational development for each faction
* Tactical Variety: Unique unit compositions and equipment combinations create fresh tactical challenges and opportunities
* Command Options: Full Zeus and Eden Editor support ensures complete mission-making freedom with all faction assets
* Balanced Design: Meticulously tuned for competitive balance while maintaining each faction's unique character
* Future-Ready: Built for expansion with a modular framework that supports regular content updates
* Mission Framework: Ready-to-use unit compositions and mission templates accelerate scenario creation
Perfect for:
* Mission makers seeking fresh tactical possibilities
* Players wanting new combat experiences
* Communities running persistent campaigns
* Scenario designers crafting complex operations
Coming Features:
* Additional Faction Types
* Expanded Vehicle Pools
Support & Development
---
* Part of the FORGE Development Initiative
* Regular updates and expansion plans
* Community-driven improvement process
License:
---
This mod is licensed under the [Arma Public License (APL-SA)](https://www.bohemia.net/community/licenses/arma-public-license-share-alike).
Join us in reshaping modern warfare.

View File

@ -1 +1 @@
z\forge_factions\addons\main
z\a3f_factions\addons\main

View File

@ -1,6 +1,6 @@
class CfgMods {
class PREFIX {
dir = "@forge_factions";
dir = "@a3f_factions";
name = "FORGE Factions";
author = "IDSolutions";
picture = "A3\Ui_f\data\Logos\arma3_expansion_alpha_ca";
@ -8,7 +8,7 @@ class CfgMods {
hidePicture = "false";
action = "https://innovativedevsolutions.org";
actionName = "Website";
description = "FORGE Factions - Version 1.0.0";
description = "Innovative Dev Solutions";
dlcColor[] = {0.45, 0.47, 0.41, 1};
};
};

View File

@ -1,4 +1,4 @@
forge_factions_main
a3f_factions_main
========
Backbone of other components, defining most of the commonly used macros.

View File

@ -1,5 +1,5 @@
#define MAINPREFIX z
#define PREFIX forge_factions
#define PREFIX a3f_factions
#include "script_version.hpp"
@ -9,7 +9,7 @@
#define REQUIRED_VERSION 2.12
#ifdef COMPONENT_BEAUTIFIED
#define COMPONENT_NAME QUOTE(FORGE Factions - COMPONENT_BEAUTIFIED)
#define COMPONENT_NAME QUOTE(IDS Factions - COMPONENT_BEAUTIFIED)
#else
#define COMPONENT_NAME QUOTE(FORGE Factions - COMPONENT)
#define COMPONENT_NAME QUOTE(IDS Factions - COMPONENT)
#endif

View File

@ -1,4 +1,4 @@
#define MAJOR 1
#define MINOR 0
#define PATCH 0
#define BUILD 3
#define BUILD 1

View File

@ -1 +1 @@
z\forge_factions\addons\pmc
z\a3f_factions\addons\pmc

View File

@ -1,11 +1,11 @@
class CfgOrbat {
class FORGE {
class FORGE_Base {
class A3F_Base {
side = "West";
color[] = {0,0,0,1};
};
class FORGE_Departments_Base: FORGE_Base {
class A3F_Departments_Base: A3F_Base {
type = "HQ";
text = "FORGE PMC Departments";
textShort = "Departments";
@ -13,7 +13,7 @@ class CfgOrbat {
description = "FORGE PMC Departments.";
};
class FORGE_Loki_Base: FORGE_Base {
class A3F_Loki_Base: A3F_Base {
type = "Recon";
size = "FireTeam";
description = "FORGE Element: LOKI";
@ -21,18 +21,18 @@ class CfgOrbat {
textShort = "LOKI";
};
class FORGE_CompanyHome {
class A3F_CompanyHome {
side = "West";
type = "HQ";
text = "FORGE Private Military Company";
textShort = "FORGE PMC";
assets[] = {"B_FORGE_suburban_PMC_01", "B_FORGE_tahoe_UNM_PMC_01"};
assets[] = {"B_A3F_suburban_PMC_01", "B_A3F_tahoe_UNM_PMC_01"};
color[] = {0,0,0,1};
description = "FORGE PMC Orbat Groups.";
subordinates[] = {"FORGE_ShareHolders", "FORGE_ExecutiveMembers", "FORGE_Departments"};
subordinates[] = {"A3F_ShareHolders", "A3F_ExecutiveMembers", "A3F_Departments"};
};
class FORGE_ShareHolders {
class A3F_ShareHolders {
side = "West";
type = "HQ";
text = "FORGE PMC Shareholders";
@ -41,7 +41,7 @@ class CfgOrbat {
color[] = {0,0,0,1};
description = "FORGE PMC Shareholders.";
};
class FORGE_ExecutiveMembers {
class A3F_ExecutiveMembers {
side = "West";
type = "HQ";
text = "FORGE PMC Executive Members";
@ -51,7 +51,7 @@ class CfgOrbat {
description = "FORGE PMC Executive Members.";
};
class FORGE_Departments {
class A3F_Departments {
side = "West";
type = "HQ";
text = "FORGE PMC Departments";
@ -59,75 +59,75 @@ class CfgOrbat {
assets[] = {};
color[] = {0,0,0,1};
description = "FORGE PMC Departments.";
subordinates[] = {"FORGE_DepartmentsOperations", "FORGE_DepartmentsPersonnel", "FORGE_DepartmentsTech", "FORGE_DepartmentsMedia"};
subordinates[] = {"A3F_DepartmentsOperations", "A3F_DepartmentsPersonnel", "A3F_DepartmentsTech", "A3F_DepartmentsMedia"};
};
class FORGE_DepartmentsOperations: FORGE_Departments_Base {
class A3F_DepartmentsOperations: A3F_Departments_Base {
text = "Operations Department";
textShort = "Operations Dept.";
subordinates[] = {"FORGE_Command", "FORGE_DepartmentsOperationsContracts"};
subordinates[] = {"A3F_Command", "A3F_DepartmentsOperationsContracts"};
};
class FORGE_DepartmentsOperationsContracts: FORGE_Departments_Base {
class A3F_DepartmentsOperationsContracts: A3F_Departments_Base {
text = "Contract Acquisition";
textShort = "Contract Acquisition";
type = "Unknown";
};
class FORGE_DepartmentsPersonnel: FORGE_Departments_Base {
class A3F_DepartmentsPersonnel: A3F_Departments_Base {
text = "Personnel Department";
textShort = "Personnel Dept.";
subordinates[] = {"FORGE_DepartmentsPersonnelTraining", "FORGE_DepartmentsPersonnelEmployeeCare", "FORGE_DepartmentsPersonnelPayroll"};
subordinates[] = {"A3F_DepartmentsPersonnelTraining", "A3F_DepartmentsPersonnelEmployeeCare", "A3F_DepartmentsPersonnelPayroll"};
};
class FORGE_DepartmentsPersonnelTraining: FORGE_Departments_Base {
class A3F_DepartmentsPersonnelTraining: A3F_Departments_Base {
text = "Training";
textShort = "Training";
type = "Unknown";
};
class FORGE_DepartmentsPersonnelEmployeeCare: FORGE_Departments_Base {
class A3F_DepartmentsPersonnelEmployeeCare: A3F_Departments_Base {
text = "Employee Care";
textShort = "Employee Care";
type = "Unknown";
};
class FORGE_DepartmentsPersonnelPayroll: FORGE_Departments_Base {
class A3F_DepartmentsPersonnelPayroll: A3F_Departments_Base {
text = "Payroll";
textShort = "Payroll";
type = "Unknown";
};
class FORGE_DepartmentsTech: FORGE_Departments_Base {
class A3F_DepartmentsTech: A3F_Departments_Base {
text = "Tech Department";
textShort = "Tech Dept.";
subordinates[] = {"FORGE_DepartmentsTechWeaponMaintenance", "FORGE_DepartmentsTechResearchDevelopment"};
subordinates[] = {"A3F_DepartmentsTechWeaponMaintenance", "A3F_DepartmentsTechResearchDevelopment"};
};
class FORGE_DepartmentsTechWeaponMaintenance: FORGE_Departments_Base {
class A3F_DepartmentsTechWeaponMaintenance: A3F_Departments_Base {
text = "Weapon Maintenance";
textShort = "Weapon Maint.";
type = "Unknown";
};
class FORGE_DepartmentsTechResearchDevelopment: FORGE_Departments_Base {
class A3F_DepartmentsTechResearchDevelopment: A3F_Departments_Base {
text = "Research and Development";
textShort = "R&D";
type = "Unknown";
};
class FORGE_DepartmentsMedia: FORGE_Departments_Base {
class A3F_DepartmentsMedia: A3F_Departments_Base {
text = "Media Department";
textShort = "Media Dept.";
subordinates[] = {"FORGE_DepartmentsMediaCompanyRelations", "FORGE_DepartmentsMediaNationalOutreach"};
subordinates[] = {"A3F_DepartmentsMediaCompanyRelations", "A3F_DepartmentsMediaNationalOutreach"};
};
class FORGE_DepartmentsMediaCompanyRelations: FORGE_Departments_Base {
class A3F_DepartmentsMediaCompanyRelations: A3F_Departments_Base {
text = "Company Relations";
textShort = "Company Relations";
type = "Unknown";
};
class FORGE_DepartmentsMediaNationalOutreach: FORGE_Departments_Base {
class A3F_DepartmentsMediaNationalOutreach: A3F_Departments_Base {
text = "National Outreach";
textShort = "National Outreach";
type = "Unknown";
};
class FORGE_Command: FORGE_Base {
class A3F_Command: A3F_Base {
side = "West";
type = "HQ";
size = "Company";
@ -135,16 +135,16 @@ class CfgOrbat {
textShort = "FORGE Command";
color[] = {0,0,0,1};
description = "FORGE Command Group";
subordinates[] = {"FORGE_Loki_Command"};
subordinates[] = {"A3F_Loki_Command"};
};
class FORGE_Loki_Command: FORGE_Loki_Base {
class A3F_Loki_Command: A3F_Loki_Base {
size = "Brigade";
// insignia = "\z\forge_factions\addons\pmc\data\forge_armpatch.paa";
// insignia = "\z\a3f_factions\addons\pmc\data\a3f_armpatch.paa";
// texture = "";
subordinates[] = {"FORGE_Loki_Team1", "FORGE_Loki_Team2", "FORGE_Loki_Team3"};
subordinates[] = {"A3F_Loki_Team1", "A3F_Loki_Team2", "A3F_Loki_Team3"};
};
class FORGE_Loki_Team1: FORGE_Loki_Base {
class A3F_Loki_Team1: A3F_Loki_Base {
text = "Field Operatives";
TextShort = "Field Operatives";
size = "Squad";
@ -152,13 +152,13 @@ class CfgOrbat {
commander = "J. Schmidt";
commanderRank = "Captain";
};
class FORGE_Loki_Team2: FORGE_Loki_Base {
class A3F_Loki_Team2: A3F_Loki_Base {
text = "Intelligence Analysts";
TextShort = "Intelligence Analysts";
size = "Squad";
type = "Unknown";
};
class FORGE_Loki_Team3: FORGE_Loki_Base {
class A3F_Loki_Team3: A3F_Loki_Base {
text = "Strike Team Echo";
TextShort = "Strike Team Echo";
size = "Squad";

View File

@ -13,19 +13,14 @@
respawnItems[] = {}; \
linkedItems[] = {}; \
respawnLinkedItems[] = {}; \
facewear = ""; \
allowedFacewear[] = {}; \
allowedHeadgear[] = {}; \
allowedHeadgearB[] = {}; \
headgearList[] = {}; \
DLC = QUOTE(PREFIX); \
tLightInfluence = 0.015; \
class EventHandlers;
class Eventhandlers;
class CfgVehicles {
class Man;
class CAManBase: Man {
class EventHandlers;
class Eventhandlers;
class ACE_Actions;
class ACE_SelfActions;
};
@ -39,27 +34,27 @@ class CfgVehicles {
class CLASS(Unit_Combat_LS_PMC_RGR): CLASS(Unit_Combat_LS_Base) {
scope = 1;
uniformClass = QCLASS(Uniform_Combat_LS_PMC_RGR);
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_rgr_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_rgr_co.paa"};
};
class CLASS(Unit_Combat_LS_PMC_TN): CLASS(Unit_Combat_LS_Base) {
scope = 1;
uniformClass = QCLASS(Uniform_Combat_LS_PMC_TN);
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_tn_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_tn_co.paa"};
};
class CLASS(Unit_Combat_LS_PMC_BLK_TN): CLASS(Unit_Combat_LS_Base) {
scope = 1;
uniformClass = QCLASS(Uniform_Combat_LS_PMC_BLK_TN);
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_blk_tn_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_blk_tn_co.paa"};
};
class CLASS(Unit_Combat_LS_PMC_RGR_TN): CLASS(Unit_Combat_LS_Base) {
scope = 1;
uniformClass = QCLASS(Uniform_Combat_LS_PMC_RGR_TN);
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_rgr_tn_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_rgr_tn_co.paa"};
};
class CLASS(Unit_Combat_LS_PMC_BLK): CLASS(Unit_Combat_LS_Base) {
scope = 1;
uniformClass = QCLASS(Uniform_Combat_LS_PMC_BLK);
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_blk_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_blk_co.paa"};
};
class B_CTRG_Soldier_2_F;
@ -70,27 +65,27 @@ class CfgVehicles {
class CLASS(Unit_Combat_TS_PMC_RGR): CLASS(Unit_Combat_TS_Base) {
scope = 1;
uniformClass = QCLASS(Uniform_Combat_TS_PMC_RGR);
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_rgr_co.paa","\A3\Characters_F\Common\Data\basicbody_black_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_rgr_co.paa","\A3\Characters_F\Common\Data\basicbody_black_co.paa"};
};
class CLASS(Unit_Combat_TS_PMC_TN): CLASS(Unit_Combat_TS_Base) {
scope = 1;
uniformClass = QCLASS(Uniform_Combat_TS_PMC_TN);
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_tn_co.paa","\A3\Characters_F\Common\Data\basicbody_black_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_tn_co.paa","\A3\Characters_F\Common\Data\basicbody_black_co.paa"};
};
class CLASS(Unit_Combat_TS_PMC_BLK_TN): CLASS(Unit_Combat_TS_Base) {
scope = 1;
uniformClass = QCLASS(Uniform_Combat_TS_PMC_BLK_TN);
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_blk_tn_co.paa","\A3\Characters_F\Common\Data\basicbody_black_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_blk_tn_co.paa","\A3\Characters_F\Common\Data\basicbody_black_co.paa"};
};
class CLASS(Unit_Combat_TS_PMC_RGR_TN): CLASS(Unit_Combat_TS_Base) {
scope = 1;
uniformClass = QCLASS(Uniform_Combat_TS_PMC_RGR_TN);
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_rgr_tn_co.paa","\A3\Characters_F\Common\Data\basicbody_black_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_rgr_tn_co.paa","\A3\Characters_F\Common\Data\basicbody_black_co.paa"};
};
class CLASS(Unit_Combat_TS_PMC_BLK): CLASS(Unit_Combat_TS_Base) {
scope = 1;
uniformClass = QCLASS(Uniform_Combat_TS_PMC_BLK);
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_blk_co.paa","\A3\Characters_F\Common\Data\basicbody_black_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_blk_co.paa","\A3\Characters_F\Common\Data\basicbody_black_co.paa"};
};
class B_CTRG_Soldier_3_F;
@ -101,27 +96,27 @@ class CfgVehicles {
class CLASS(Unit_Combat_RS_PMC_RGR): CLASS(Unit_Combat_RS_Base) {
scope = 1;
uniformClass = QCLASS(Uniform_Combat_RS_PMC_RGR);
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_rgr_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_rgr_co.paa"};
};
class CLASS(Unit_Combat_RS_PMC_TN): CLASS(Unit_Combat_RS_Base) {
scope = 1;
uniformClass = QCLASS(Uniform_Combat_RS_PMC_TN);
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_tn_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_tn_co.paa"};
};
class CLASS(Unit_Combat_RS_PMC_BLK_TN): CLASS(Unit_Combat_RS_Base) {
scope = 1;
uniformClass = QCLASS(Uniform_Combat_RS_PMC_BLK_TN);
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_blk_tn_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_blk_tn_co.paa"};
};
class CLASS(Unit_Combat_RS_PMC_RGR_TN): CLASS(Unit_Combat_RS_Base) {
scope = 1;
uniformClass = QCLASS(Uniform_Combat_RS_PMC_RGR_TN);
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_rgr_tn_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_rgr_tn_co.paa"};
};
class CLASS(Unit_Combat_RS_PMC_BLK): CLASS(Unit_Combat_RS_Base) {
scope = 1;
uniformClass = QCLASS(Uniform_Combat_RS_PMC_BLK);
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_blk_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_blk_co.paa"};
};
#include "CfgVehicles_GroundItems.hpp"

View File

@ -5,10 +5,6 @@ class CLASS(Unit_I_Contractor_RGR): CLASS(Unit_Combat_RS_PMC_RGR) {
editorCategory = QCLASS(Loki);
editorSubcategory = QUOTE(EdSubcat_Personnel);
displayName = "Contractor (Ranger Green, No Equipment)";
class EventHandlers: EventHandlers {
init = "(_this select 0) setVariable [""BIS_enableRandomization"", false];";
};
};
class CLASS(Unit_I_Contractor_TN): CLASS(Unit_Combat_RS_PMC_TN) {
@ -18,10 +14,6 @@ class CLASS(Unit_I_Contractor_TN): CLASS(Unit_Combat_RS_PMC_TN) {
editorCategory = QCLASS(Loki);
editorSubcategory = QUOTE(EdSubcat_Personnel);
displayName = "Contractor (Tan, No Equipment)";
class EventHandlers: EventHandlers {
init = "(_this select 0) setVariable [""BIS_enableRandomization"", false];";
};
};
class CLASS(Unit_I_Contractor_BLK_TN): CLASS(Unit_Combat_RS_PMC_BLK_TN) {
@ -31,10 +23,6 @@ class CLASS(Unit_I_Contractor_BLK_TN): CLASS(Unit_Combat_RS_PMC_BLK_TN) {
editorCategory = QCLASS(Loki);
editorSubcategory = QUOTE(EdSubcat_Personnel);
displayName = "Contractor (Black, Tan, No Equipment)";
class EventHandlers: EventHandlers {
init = "(_this select 0) setVariable [""BIS_enableRandomization"", false];";
};
};
class CLASS(Unit_I_Contractor_RGR_TN): CLASS(Unit_Combat_RS_PMC_RGR_TN) {
@ -44,10 +32,6 @@ class CLASS(Unit_I_Contractor_RGR_TN): CLASS(Unit_Combat_RS_PMC_RGR_TN) {
editorCategory = QCLASS(Loki);
editorSubcategory = QUOTE(EdSubcat_Personnel);
displayName = "Contractor (Ranger Green, Tan, No Equipment)";
class EventHandlers: EventHandlers {
init = "(_this select 0) setVariable [""BIS_enableRandomization"", false];";
};
};
class CLASS(Unit_I_Contractor_BLK): CLASS(Unit_Combat_RS_PMC_BLK) {
@ -57,8 +41,4 @@ class CLASS(Unit_I_Contractor_BLK): CLASS(Unit_Combat_RS_PMC_BLK) {
editorCategory = QCLASS(Loki);
editorSubcategory = QUOTE(EdSubcat_Personnel);
displayName = "Contractor (Black, No Equipment)";
class EventHandlers: EventHandlers {
init = "(_this select 0) setVariable [""BIS_enableRandomization"", false];";
};
};

View File

@ -4,7 +4,7 @@ class CfgWeapons {
class CLASS(Uniform_Base): Uniform_Base {
DLC = QUOTE(PREFIX);
scope = 0;
picture = "\z\forge_factions\addons\pmc\data\uniform_combat_pmc_ca.paa";
picture = "\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_ca.paa";
model ="\A3\Characters_F\Common\Suitpacks\suitpack_original_F.p3d";
class ItemInfo: UniformItem {
@ -20,7 +20,7 @@ class CfgWeapons {
scope = 2;
displayName = "Combat Uniform Long (PMC, Ranger Green)";
hiddenSelections[] = {"camo"};
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_rgr_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_rgr_co.paa"};
class ItemInfo: ItemInfo {
uniformClass = QCLASS(Unit_Combat_LS_PMC_RGR);
@ -31,7 +31,7 @@ class CfgWeapons {
scope = 2;
displayName = "Combat Uniform TShirt (PMC, Ranger Green)";
hiddenSelections[] = {"camo"};
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_rgr_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_rgr_co.paa"};
class ItemInfo: ItemInfo {
uniformClass = QCLASS(Unit_Combat_TS_PMC_RGR);
@ -42,7 +42,7 @@ class CfgWeapons {
scope = 2;
displayName = "Combat Uniform Rolled (PMC, Ranger Green)";
hiddenSelections[] = {"camo"};
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_rgr_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_rgr_co.paa"};
class ItemInfo: ItemInfo {
uniformClass = QCLASS(Unit_Combat_RS_PMC_RGR);
@ -55,7 +55,7 @@ class CfgWeapons {
scope = 2;
displayName = "Combat Uniform Long (PMC, Tan)";
hiddenSelections[] = {"camo"};
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_tn_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_tn_co.paa"};
class ItemInfo: ItemInfo {
uniformClass = QCLASS(Unit_Combat_LS_PMC_TN);
@ -66,7 +66,7 @@ class CfgWeapons {
scope = 2;
displayName = "Combat Uniform TShirt (PMC, Tan)";
hiddenSelections[] = {"camo"};
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_tn_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_tn_co.paa"};
class ItemInfo: ItemInfo {
uniformClass = QCLASS(Unit_Combat_TS_PMC_TN);
@ -77,7 +77,7 @@ class CfgWeapons {
scope = 2;
displayName = "Combat Uniform Rolled (PMC, Tan)";
hiddenSelections[] = {"camo"};
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_tn_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_tn_co.paa"};
class ItemInfo: ItemInfo {
uniformClass = QCLASS(Unit_Combat_RS_PMC_TN);
@ -90,7 +90,7 @@ class CfgWeapons {
scope = 2;
displayName = "Combat Uniform Long (PMC, Black, Tan)";
hiddenSelections[] = {"camo"};
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_blk_tn_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_blk_tn_co.paa"};
class ItemInfo: ItemInfo {
uniformClass = QCLASS(Unit_Combat_LS_PMC_BLK_TN);
@ -101,7 +101,7 @@ class CfgWeapons {
scope = 2;
displayName = "Combat Uniform TShirt (PMC, Black, Tan)";
hiddenSelections[] = {"camo"};
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_blk_tn_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_blk_tn_co.paa"};
class ItemInfo: ItemInfo {
uniformClass = QCLASS(Unit_Combat_TS_PMC_BLK_TN);
@ -112,7 +112,7 @@ class CfgWeapons {
scope = 2;
displayName = "Combat Uniform Rolled (PMC, Black, Tan)";
hiddenSelections[] = {"camo"};
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_blk_tn_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_blk_tn_co.paa"};
class ItemInfo: ItemInfo {
uniformClass = QCLASS(Unit_Combat_RS_PMC_BLK_TN);
@ -125,7 +125,7 @@ class CfgWeapons {
scope = 2;
displayName = "Combat Uniform Long (PMC, Ranger Green, Tan)";
hiddenSelections[] = {"camo"};
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_rgr_tn_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_rgr_tn_co.paa"};
class ItemInfo: ItemInfo {
uniformClass = QCLASS(Unit_Combat_LS_PMC_RGR_TN);
@ -136,7 +136,7 @@ class CfgWeapons {
scope = 2;
displayName = "Combat Uniform TShirt (PMC, Ranger Green, Tan)";
hiddenSelections[] = {"camo"};
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_rgr_tn_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_rgr_tn_co.paa"};
class ItemInfo: ItemInfo {
uniformClass = QCLASS(Unit_Combat_TS_PMC_RGR_TN);
@ -147,7 +147,7 @@ class CfgWeapons {
scope = 2;
displayName = "Combat Uniform Rolled (PMC, Ranger Green, Tan)";
hiddenSelections[] = {"camo"};
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_rgr_tn_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_rgr_tn_co.paa"};
class ItemInfo: ItemInfo {
uniformClass = QCLASS(Unit_Combat_RS_PMC_RGR_TN);
@ -160,7 +160,7 @@ class CfgWeapons {
scope = 2;
displayName = "Combat Uniform Long (PMC, Black)";
hiddenSelections[] = {"camo"};
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_blk_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_blk_co.paa"};
class ItemInfo: ItemInfo {
uniformClass = QCLASS(Unit_Combat_LS_PMC_BLK);
@ -171,7 +171,7 @@ class CfgWeapons {
scope = 2;
displayName = "Combat Uniform TShirt (PMC, Black)";
hiddenSelections[] = {"camo"};
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_blk_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_blk_co.paa"};
class ItemInfo: ItemInfo {
uniformClass = QCLASS(Unit_Combat_TS_PMC_BLK);
@ -182,7 +182,7 @@ class CfgWeapons {
scope = 2;
displayName = "Combat Uniform Rolled (PMC, Black)";
hiddenSelections[] = {"camo"};
hiddenSelectionsTextures[] = {"\z\forge_factions\addons\pmc\data\uniform_combat_pmc_blk_co.paa"};
hiddenSelectionsTextures[] = {"\z\a3f_factions\addons\pmc\data\uniform_combat_pmc_blk_co.paa"};
class ItemInfo: ItemInfo {
uniformClass = QCLASS(Unit_Combat_RS_PMC_BLK);

View File

@ -51,7 +51,7 @@ class CfgPatches {
QCLASS(Uniform_Combat_RS_PMC_BLK)
};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"forge_factions_main"};
requiredAddons[] = {"a3f_factions_main"};
authors[] = {"J. Schmidt", "Creedcoder"};
author = "IDSolutions";
VERSION_CONFIG;

View File

@ -1,6 +1,6 @@
#define COMPONENT pmc
#define COMPONENT_BEAUTIFIED PMC
#include "\z\forge_factions\addons\main\script_mod.hpp"
#include "\z\a3f_factions\addons\main\script_mod.hpp"
// #define DEBUG_MODE_FULL
// #define DISABLE_COMPILE_CACHE
@ -13,4 +13,4 @@
#define DEBUG_SETTINGS DEBUG_SETTINGS_PMC
#endif
#include "\z\forge_factions\addons\main\script_macros.hpp"
#include "\z\a3f_factions\addons\main\script_macros.hpp"

View File

@ -38,7 +38,7 @@ func main() {
}
// Construct the filename using the version
artifactFilename := fmt.Sprintf("forge_factions-%s.zip", version)
artifactFilename := fmt.Sprintf("a3f_factions-%s.zip", version)
artifactPath := filepath.Join("releases", artifactFilename)
if err := uploadArtifact(client, repoOwner, repoName, release.ID, artifactPath); err != nil {
@ -55,7 +55,7 @@ func updateVersionFile(version string) error {
return fmt.Errorf("error marshaling version info: %w", err)
}
err = os.WriteFile("forge_factions_version.json", jsonData, 0644)
err = os.WriteFile("a3f_factions_version.json", jsonData, 0644)
if err != nil {
return fmt.Errorf("error writing version file: %w", err)
}
@ -74,7 +74,7 @@ func createGiteaClient() (*gitea.Client, error) {
func createRelease(client *gitea.Client, owner, repo, version string) (*gitea.Release, error) {
release, _, err := client.CreateRelease(owner, repo, gitea.CreateReleaseOption{
TagName: version,
Title: fmt.Sprintf("FORGE Factions v%s", version),
Title: fmt.Sprintf("IDSolutions Factions v%s", version),
Note: fmt.Sprintf("Release notes for version %s", version),
})
return release, err