Skip to content

Instantly share code, notes, and snippets.

@Aqarius90
Created May 23, 2024 19:43
Show Gist options
  • Save Aqarius90/d892d7c059e2d2e1b92654665a910b3c to your computer and use it in GitHub Desktop.
Save Aqarius90/d892d7c059e2d2e1b92654665a910b3c to your computer and use it in GitHub Desktop.
/* BASELINE FACTION DEFINITION STRUCTURE*/
class Baseline{
class items{/* */};
class gear{ /* */};
class clothes{/* */};
class backpacks{/* */}
class weapons{/* */};
//=================
class baselineMan{/* */};
class heavyInfantry:baselineMan{
gun=_Rifle;
/* grenades etc*/
};
/* rest of intermediaries */
//=================
class FTL:heavyInfantry{
gun=_GLRifle;
/* UGL_HE etc*/
};
class CO:heavyInfantry{
gun=_GLRifle;
/* UGL_SMK etc*/
};
/* rest of units*/
};
/*OPTION 1
* PRO:
* Loadout conveniently packed into unit configviewer
* Faction/variant can extend Items[] or overwrite individual unit (here, FTL)
* CON:
* Can *not* overwrite Unit Group (heavyInfantry) or Baseline
*/
class BaselineMan{
Baseline[] = {/*items*/};
Items[]={Baseline};
};
class heavyInfantry:BaselineMan{
heavyInfantry[] = {/*items*/};
Items[]+={heavyInfantry};
};
class FTL:heavyInfantry{
FTL[] = {/*items*/};
Items[]+={FTL};
};
// Syndikat:
class FTL:FTL{
FTL[] = {/*less UGL_HE*/};
};
// NATO:
class AR:AR{
NATOAR[] = {/*extra mags*/};
Items[]+={NATOAR);
};
/*OPTION 2
* PRO:
* Faction/variant can extend Items[] or overwrite *any* list
* CON:
* Loadout packed into faction, but not unit config
*/
BaselineItems[] = {/*items*/};
heavyInfantryItems[] = {/*items*/};
FTLItems[] = {/*items*/};
//=================
class BaselineMan{
Items[]={BaselineItems};
};
class heavyInfantry:BaselineMan{
Items[]+={heavyInfantryItems};
};
class FTL:heavyInfantry{
Items[]+={FTLItems};
};
// Syndikat:
FTL[] = {/*less UGL_HE*/};
// NATO:
NATOAR[] = {/*extra mags*/};
class AR:AR{
Items[]+={NATOAR);
};
class SLR:weapon{
weapon = arifle_SLR_lxWS;
mag_primary[] = {
20Rnd_762x51_slr_lxWS,
20Rnd_762x51_slr_reload_tracer_green_lxWS
};
};
class SLR_GL:SLR{
weapon = Weapon_arifle_SLR_V_GL_lxWS;
mag_secondary[] = {
1Rnd_40mm_HE_lxWS,
1Rnd_58mm_AT_lxWS,
1Rnd_50mm_Smoke_lxWS
};
};
class weapons{
Rifle[] = {_SLR};
GLRifle[] = {_SLR_GL};
};
class heavyInfantry:baselineMan{
gun=_Rifle; //pick at random, ammo matches gun
heavyInfantry[]= {{_this_gun_primaryMag,0,5},{_this_gun_primaryMag,1,2}};
};
class AAR:heavyInfantry{
AAR[] ={{_AR_primaryMag, 0, 1},{_LAT_primaryMag,0,1},};
};
class FTL:heavyInfantry{
gun=_GLRifle;
FTL[]={{_this_gun_secondaryMag,0,11},{_this_gun_secondaryMag,2,3}};//HE+SMK
};
/*FACTION VARIANT, no abridging, only delta*/
class SyndicatbutTaqiyahs:Syndicat{
class clothes:clothes{
base:base{
helmet[]={
Headgear_lxWS_H_cloth_5_A,
Headgear_lxWS_H_cloth_5_B,
Headgear_lxWS_H_cloth_5_C
};
};
};
//=================
};
/*BASIC FACTION*/
class Syndikat:Baseline{
class gear:gear{/* */};
class clothes:clothes{/* */};
class backpacks:backpacks{/* */}
class weapons:weapons{/* */};
//=================
/* */
class FTL:FTL{//no backpack, 5 less UGL_HE
backpack=;
FTL[]={{_this_gun_secondaryMag,0,6},{_this_gun_secondaryMag,1,3}, {_smoke_green, 2}};
};
/* */
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment