ACE3/addons/dragon/CfgVehicles.hpp

150 lines
5.4 KiB
C++
Raw Normal View History

Implement M47 Dragon (#6773) * abc * Revert "abc" This reverts commit bcb4214bd99bba3fec692efa4dca950323da582d. * Update to current commit * Ports over NouberNou's dragon guidance * Add Dragon model * Make the Dragon CSW capable * Fix bugs regarding argument order * Add Dragon Attack Profile. Change how missileGuidance guidance_pfh works in order to allow for different types of missiles besides continious thrust * Fix bug regarding missile direction. Add official US Army training manual for the dragon for reference purposes * Adjust model to reflect real-life one * Add attackProfile and guidanceProfile onFired functions * Change Dragon "onFired" to reflect missileGuidance changes * Only implementing the Super-Dragon. Remove Tabs. Add new lines to all files. Add string-table. Tweak missile flight dynamics * Add sight description * Fix inheritance issues. Missile damage values tweaked. Fix String Table. Add backblast area. * Add feature wiki page. * Fix picture issues * Remove Dragon manual * add missing semi-colon * Tweak damage values. Fix formatting. Add lazy evaluation where applicable * Disable the ability to switch to the unusable launcher. Convert rvmat numbers to equivalent but more readable numbers. Multiple code fixes. ace_csw required. Formatting fixes. TGA -> PAA. Remove unused comments in missile guidance code * Dragon flight dynamics tweaked. Now assuming there is a booster angle creating wobble. Add a slight delay when the wire breaks to fire all of the service charges * hpp newline fixes. Case sensitivity for model and rvmat references * Update Wiki dependencies * Revert "Update Wiki dependencies" This reverts commit efc298c481d10fc0db32e08ada376f04ac9b3fd5. * fix dependency component * Changed inheritance structure to be more rigid. Remove un-needed config values. Fix script issues regarding positioning and the launchers aliveness * get rid of the optic for the base dragon. fucking bi configs not making sense * Lock non-useable dragon on initialization * Add model.cfg for animations * Fix formatting. Fix M47 Dragon Optic zoom * Change LOD selection names * Revert indentation, keep parenthesis. "Start, stop, start stop! Jesus! I'm starting to think Mattis is just a big cock tease" * Re-update indentation of model.cfg * Path fix. Whitespace fix * Sight attach/detach on same vehicle * If the sight gets detached, make sure the dragon goes dumb. Remove resetting of resting position when gunner gets out - looks stupid, but when the dragon is fired weird stuff happens * disable debug * Add EOF * Maybe finally fix EOF problem
2019-06-08 04:48:37 +00:00
class CfgVehicles {
class LandVehicle;
class StaticWeapon: LandVehicle {
class Turrets;
class MainTurret;
class ACE_Actions {
class ACE_MainActions {};
};
};
class StaticATWeapon: StaticWeapon {};
class GVAR(staticBase): StaticATWeapon {
scope = 1;
author = ECSTRING(common,ACETeam);
displayname = CSTRING(dragonName);
side = 1;
faction = "BLU_F";
crew = "B_soldier_f";
model = QPATHTOF(models\ace_m47_static.p3d);
picture = "\A3\Static_F_Gamma\data\UI\gear_StaticTurret_AT_CA.paa";
UiPicture = "\A3\Static_F_Gamma\data\UI\gear_StaticTurret_AT_CA.paa";
icon = "\A3\Static_F_Gamma\data\UI\map_StaticTurret_AT_CA.paa";
threat[] = {0.7,1.0,0.1};
cost = 150000;
class Damage {
tex[] = {};
mat[] = {
"a3\static_f_gamma\data\staticturret_01.rvmat",
"a3\static_f_gamma\data\staticturret_01_damage.rvmat",
"a3\static_f_gamma\data\staticturret_01_destruct.rvmat",
"a3\static_f_gamma\data\staticturret_02.rvmat",
"a3\static_f_gamma\data\staticturret_02_damage.rvmat",
"a3\static_f_gamma\data\staticturret_02_destruct.rvmat",
"a3\weapons_f_beta\launchers\titan\data\titan_launcher.rvmat",
"a3\weapons_f_beta\launchers\titan\data\titan_launcher_damage.rvmat",
"a3\weapons_f_beta\launchers\titan\data\titan_launcher_destruct.rvmat",
"a3\weapons_f_beta\launchers\titan\data\titan_mtube.rvmat",
"a3\weapons_f_beta\launchers\titan\data\titan_mtube_damage.rvmat",
"a3\weapons_f_beta\launchers\titan\data\titan_mtube_destruct.rvmat"
};
};
class Turrets: Turrets {
class MainTurret: MainTurret {
optics = 1;
turretInfoType = "RscWeaponEmpty";
gunnerOpticsModel = QPATHTOF(models\optics_m47.p3d);
minElev = -30;
maxElev = 20;
weapons[] = { QGVAR(dummyStatic) };
magazines[] = { QGVAR(super) };
gunnerAction = "gunner_static_low01";
gunnergetInAction = "";
gunnergetOutAction = "";
discreteDistance[] = {};
discreteDistanceInitIndex = 0;
displayName = CSTRING(dragonName);
class ViewOptics {
initAngleX = 0;
minAngleX = -30;
maxAngleX = 30;
initAngleY = 5;
minAngleY = -100;
maxAngleY = 100;
initFov = 0.055;
minFov = 0.055; // 6 degree FOV
maxFov = 0.055;
visionMode[] = {"Normal"};
thermalMode[] = {0};
};
gunnerRightHandAnimName = "OtocHlaven_shake";
gunnerLeftHandAnimName = "OtocHlaven_shake";
gunBeg = "spice rakety";
gunEnd = "konec rakety";
memoryPointGunnerOptics = "look";
};
};
class AnimationSources {
class rest_rotate {
source="user";
animPeriod=0.00001;
initPhase=-0.35;
maxValue="3.60";
minValue="-3.60";
};
class optic_hide {
source="user";
animPeriod=0.0001;
initPhase=1;
maxValue="1";
minValue="0";
};
class missile_hide {
source="user";
animPeriod=0.0001;
initPhase=0;
maxValue="1";
minValue="0";
};
};
soundGetOut[] = {"A3\sounds_f\dummysound",0.001,1,5};
soundGetIn[] = {"A3\sounds_f\dummysound",0.00031622776,1,5};
armorStructural = 10.0;
class ACE_CSW {
disassembleTo = QGVAR(super);
};
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
displayName = CSTRING(dragonName);
class GVAR(pickUp) {
displayName = ECSTRING(csw,Pickup_displayName);
condition = QUOTE(call FUNC(canPickupTripod));
statement = QUOTE(call EFUNC(csw,assemble_pickupTripod));
};
class GVAR(attachSight) {
displayName = CSTRING(attachSight);
condition = QUOTE(call FUNC(sightCanAttach));
statement = QUOTE(call FUNC(sightAttach));
};
class GVAR(detachSight) {
displayName = CSTRING(detachSight);
condition = QUOTE(call FUNC(sightCanDetach));
statement = QUOTE(call FUNC(sightDetach));
};
};
};
};
class GVAR(staticAssembled): GVAR(staticBase) {
scope = 2;
class AnimationSources: AnimationSources {
class optic_hide: optic_hide {
initPhase = 0;
};
};
class Turrets: Turrets {
class MainTurret: MainTurret {
weapons[] = { QGVAR(superStatic) };
};
};
};
};