This is because they inheirit from the default BIS classes. A lot of people do this when writing configs because it saves a hell of a lot of time. For example, it'll reduce this:
CODE
class SLASoldierAKSU: Man
{
scope=2;
side= 0;
displayName="Soldier with AKS74U";
model= "\ca\characters\np_soldier_b";
picture="\Ca\characters\data\Ico\i_null_CA.paa";
Icon= "\Ca\characters\data\map_ico\i_wojak_CA.paa";
hiddenSelections[] = {"medic"};
accuracy=0.7;
weapons[]={AKS74U,DefaultManWeapons};
magazines[]=
{
30Rnd_545x39_AK,30Rnd_545x39_AK,30Rnd_545x39_AK,30Rnd_545x39_AK,
30Rnd_545x39_AK, 30Rnd_545x39_AK,
HandGrenade,HandGrenade,HandGrenade,HandGrenade
};
respawnWeapons[]={AKS74U,DefaultManWeapons};
respawnMagazines[]={30Rnd_545x39_AK,30Rnd_545x39_AK,30Rnd_545x39_AK,30Rnd_545x39_AK};
class HeadLimits: HeadLimits
{
initAngleX=5; minAngleX=-40; maxAngleX=+40;
initAngleY=0; minAngleY=-60; maxAngleY=+60;
};
minHeadTurnAI = -60;maxHeadTurnAI = +60;
cost=40000;
class Wounds
{
tex[]={};
mat[]={
"ca\characters\data\np_hhl.rvmat",
"ca\characters\data\np_hhl_wound1.rvmat",
"ca\characters\data\np_hhl_wound2.rvmat",
"ca\characters\data\np_soldier_b_body.rvmat",
"ca\characters\data\np_soldier_b_body_wound1.rvmat",
"ca\characters\data\np_soldier_b_body_wound2.rvmat"
};
};
moves=CfgMovesMaleSdr;
boneHead = "head";
// boneLeftHand = "lruka";
// boneRightHand = "pruka";
bonePrimaryWeapon = "weapon";
// boneSecondaryWeapon = "roura";
weaponBone = "weapon";
triggerAnim = "ca\anims\characters\data\anim\sdr\trigger.rtm";
woman = 0;
faceType = man;
minGunElev=-80;maxGunElev=+60; //ToDo: hardcoded, obsolete?
minGunTurn=-1;maxGunTurn=+1;
minGunTurnAI=-30;maxGunTurnAI=+30;
class HeadLimits;
minHeadTurnAI = -70;maxHeadTurnAI = +70;
class ViewPilot: ViewPilot
{
initFov=0.95; minFov=0.4; maxFov=1.1;
initAngleX=8; minAngleX=-80; maxAngleX=+45;
initAngleY=0; minAngleY=-125; maxAngleY=+125;
};
selectionHeadWound = "head_injury";
selectionBodyWound = "body_injury";
selectionLArmWound = "l_arm_injury";
selectionRArmWound = "r_arm_injury";
selectionLLegWound = "l_leg_injury";
selectionRLegWound = "r_leg_injury";
selectionHeadHide = "";//"head_hide"; //head
selectionNeckHide = "";//"neck_hide"; //neck
memoryPointLStep = "footstepL";
memoryPointRStep = "footstepR";
memoryPointAim = "aimPoint";
memoryPointCameraTarget = "camera";
memoryPointCommonDamage = "l_femur_hit";
memoryPointLeaningAxis = "leaning_axis";
memoryPointAimingAxis = "aiming_axis";
memoryPointHeadAxis = "head_axis";
// mimic
selectionLBrow = "lBrow";
selectionMBrow = "mBrow";
selectionRBrow = "rBrow";
selectionLMouth = "lMouth";
selectionMMouth = "mMouth";
selectionRMouth = "rMouth";
selectionEyelid = "Eyelids";
selectionLip = "LLip";
class HitHead {armor=0.7;material=-1;name="head_hit";passThrough=1;};
class HitBody {armor=0.8;material=-1;name="body";passThrough=1;};
class HitHands {armor=0.5;material=-1;name="hands";passThrough=1;};
class HitLegs {armor=0.5;material=-1;name="legs";passThrough=1;};
useInternalLODInVehicles= 1;
accuracy=0.60; //changed
vehicleClass=Men;
type=VSoft;
//threat[] VSoft, VArmor, VAir
threat[]={1, 0.05, 0.05};
hitSound1[]={\ca\Characters\Data\Sound\Hit11,db-25,1};
hitSound2[]={\ca\Characters\Data\Sound\Hit12,db-25,1};
hitSound3[]={\ca\Characters\Data\Sound\Hit13,db-25,1};
hitSound4[]={\ca\Characters\Data\Sound\Hit14,db-25,1};
hitSound5[]={\ca\Characters\Data\Sound\Hit15,db-25,1};
hitSound6[]={\ca\Characters\Data\Sound\Hit16,db-25,1};
hitSound7[]={\ca\Characters\Data\Sound\Hit17,db-25,1};
hitSound8[]={\ca\Characters\Data\Sound\Hit18,db-25,1};
hitSound9[]={\ca\Characters\Data\Sound\Hit19,db-25,1};
hitSound10[]={\ca\Characters\Data\Sound\Hit20,db-25,1};
hitSound11[]={\ca\Characters\Data\Sound\Hit21,db-25,1};
hitSound12[]={\ca\Characters\Data\Sound\Hit22,db-25,1};
hitSound13[]={\ca\Characters\Data\Sound\Hit23,db-25,1};
hitSound14[]={\ca\Characters\Data\Sound\Hit24,db-25,1};
hitSound15[]={\ca\Characters\Data\Sound\Hit25,db-25,1};
hitSound16[]={\ca\Characters\Data\Sound\Hit26,db-25,1};
hitSound17[]={\ca\Characters\Data\Sound\Hit27,db-25,1};
hitSound18[]={\ca\Characters\Data\Sound\Hit28,db-25,1};
hitSound19[]={\ca\Characters\Data\Sound\Hit29,db-25,1};
hitSound20[]={\ca\Characters\Data\Sound\Hit30,db-25,1};
soundEnviron[]={"",db0,1};
soundEngine[] = {"\ca\characters\Data\sound\breath", db-60, 1.2};
additionalSound[] = {"\ca\characters\Data\sound\noise", db-120, 1};
#include "SoundEnvironExt.hpp"
weaponSlots = WeaponSlotPrimary + WeaponSlotSecondary + 12*WeaponSlotItem + 2*WeaponSlotBinocular + WeaponSlotHandGun + 8*WeaponSlotHandGunItem;
fsmFormation = "Formation";
};
To this:
CODE
class CAManBase;
class SoldierEB;
class SLASoldierAKSU: SoldierEB
{
displayName="Soldier with AKS74U";
weapons[]={AKS74U,DefaultManWeapons};
magazines[]=
{
30Rnd_545x39_AK,30Rnd_545x39_AK,30Rnd_545x39_AK,30Rnd_545x39_AK,
30Rnd_545x39_AK, 30Rnd_545x39_AK,
HandGrenade,HandGrenade,HandGrenade,HandGrenade
};
respawnWeapons[]={AKS74U,DefaultManWeapons};
respawnMagazines[]={30Rnd_545x39_AK,30Rnd_545x39_AK,30Rnd_545x39_AK,30Rnd_545x39_AK};
};
Which is a lot more manageable, I'm sure you'll agree
Anyways, the problem arises because of this bit:
CODE
scope=2
Which controls if vehicles are shown in the editor or not. In vanilla this is set to scope=2, so the default vehicle classes are displayed in the editor. However, in ACE, this has been replaced with scope=0, so they won't show up. This means that any vehicle which inheirits from these classes needs to have the scope=2 line added back into their config to show up in the editor. You can still place the classes using the create vehicle command, but that's a bit technical and I don't actually understand it myself
Which is problematic for the end user, because a lot of people like to binarize their addons, making changes to the config impossible.