Add Dragon model

This commit is contained in:
Brandon-PC\Brandon 2019-01-03 02:46:04 -07:00
parent 6fd65589cb
commit 923a83ee27
36 changed files with 711 additions and 48 deletions

View File

@ -1,4 +1,4 @@
class ACEGVAR(missileguidance,AttackProfiles) {
class EGVAR(missileguidance,AttackProfiles) {
class DRAGON {
name = "FGM-77 Dragon";
visualName = "FGM-77 Dragon";

View File

@ -1,53 +1,99 @@
//CfgAmmo.hpp
class CfgAmmo {
class MissileBase;
class CUP_M_47_AT_EP1: MissileBase {
class ace_m47_dragon_base: MissileBase {
model = QPATHTOF(models\dragon.p3d);
irLock = 1;
manualControl = 1;
deflecting = 0;
fuseDistance = 5;
effectsMissile = "missile2";
whistleDist = 2;
hit = 360;
indirectHit = 9;
indirectHitRange = 1;
cost = 4000;
trackOversteer = 0.95;
trackLead = 0.9;
timeToLive = 20;
maneuvrability = 10;
simulationStep = 0.005;
sideAirFriction = 0.05;
maxControlRange = 1500;
maxSpeed = 200;
initTime = 0.151;
thrustTime = 1.45;
thrust = 300;
scope = 2;
};
class Rocket_03_AP_F;
class ace_missile_dragon : Rocket_03_AP_F {
model = QPATHTOF(models\dragon.p3d);
maxSpeed = 120;
thrust = 0;
initTime = 0;
thrustTime = 0;
sideAirFriction = 0.5;
initTime = 0;
thrustTime = 0;
sideAirFriction = 0.5;
effectsMissile = "";
effectFlare = "";
airFriction = 0.5;
irLock = 0;
manualControl = 0;
deflecting = 0;
fuseDistance = 5;
whistleDist = 2;
timeToLive = 20;
lockType = 0;
manualControl = 0;
deflecting = 0;
fuseDistance = 5;
whistleDist = 2;
class ace_missileguidance {
enabled = 1;
minDeflection = 0; // Minium flap deflection for guidance
maxDeflection = 0; // Maximum flap deflection for guidance
incDeflection = 0; // The incrmeent in which deflection adjusts.
canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode
// Guidance type for munitions
defaultSeekerType = "SACLOS";
seekerTypes[] = { "SACLOS" };
defaultSeekerLockMode = "LOAL";
seekerLockModes[] = { "LOAL", "LOBL" };
onFired = QACEFUNC(hot,onFired);
seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos]
seekerAngle = 15; // Angle from the shooter's view that can track the missile
seekerAccuracy = 1; // seeker accuracy multiplier
seekerMinRange = 75;
seekerMaxRange = 1000; // Range from the missile which the seeker can visually search
correctionDistance = 15; // distance from center of crosshair where missile sits. If the missile leaves this the missile will ground itself
missileLeadDistance = 0; // distance ahead of the missile where the SACLOS system will project to
offsetFromCrosshair[] = { 0, 0, 0 }; // where the missile wants to stay in relation to the center of the crosshair.
// Attack profile type selection
defaultAttackProfile = "DRAGON";
attackProfiles[] = {"DRAGON"};
};
hit = 360;
indirectHit = 9;
indirectHitRange = 1;
cost = 4000;
trackOversteer = 0.95;
trackLead = 0.9;
timeToLive = 20;
maneuvrability = 10;
simulationStep = 0.005;
maxControlRange = 1500;
scope = 2;
};
}
class ShellBase;
class ace_m47_dragon_serviceCharge : ShellBase {
hit = 1;
indirectHit = 2;
indirectHitRange = 1;
typicalSpeed = 100;
explosive = 1;
cost = 300;
model = "\A3\Weapons_F\empty.p3d";
airFriction = 0;
timeToLive = 1;
explosionTime = 0.001;
soundFly[] = {"",1,1};
soundEngine[] = {"",1,4};
CraterEffects = "";
explosionEffects = "ace_m47_serviceExplosion";
hitarmor[] = {"soundDefault1", 1};
hitbuilding[] = {"soundDefault1", 1};
hitconcrete[] = {"soundDefault1", 1};
hitdefault[] = {"soundDefault1", 1};
hitfoliage[] = {"soundDefault1", 1};
hitglass[] = {"soundDefault1", 1};
hitglassarmored[] = {"soundDefault1", 1};
hitgroundhard[] = {"soundDefault1", 1};
hitgroundsoft[] = {"soundDefault1", 1};
hitiron[] = {"soundDefault1", 1};
hitman[] = {"soundDefault1", 1};
hitmetal[] = {"soundDefault1", 1};
hitmetalplate[] = {"soundDefault1", 1};
hitplastic[] = {"soundDefault1", 1};
hitrubber[] = {"soundDefault1", 1};
hitwood[] = {"soundDefault1", 1};
sounddefault1[] = {QPATHTOF(sounds\service_charge.wss), 56.2341, 1, 1800};
soundHit[] = {QPATHTOF(sounds\service_charge.wss),56.23413,1,1800};
multiSoundHit[] = {"soundDefault1", 1};
scope = 2;
};
};

View File

@ -0,0 +1,14 @@
//CfgMagazines.hpp
class CfgMagazines {
class 1Rnd_GAA_missiles;
class ace_m47_dragon : 1Rnd_GAA_missiles {
sound[] = {};
soundFly[] = {};
soundHit[] = {};
model = QPATHTOF(models\dragon.p3d);
ammo = "ace_missile_dragon";
initSpeed = 100;
scope = 2;
};
};

View File

@ -0,0 +1,142 @@
class MainTurret;
class CfgVehicles {
class LandVehicle;
class StaticWeapon : LandVehicle {
class Turrets {
class MainTurret;
};
};
class StaticMGWeapon: StaticWeapon{
class Turrets : Turrets {
class MainTurret : MainTurret {
class ViewOptics;
};
};
};
class ACE_M47_Dragon_Static_Base : StaticMGWeapon {
features = "Balls";
scope = 0;
displayName = "ACE M47 Dragon";
class Armory {
description = "Balls";
};
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.3,1.0,0.3};
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 = PATHTOF(models\optics_m47.p3d);
minElev = -20;
weapons[] = {"ACE_M47_Dragon_Static"};
magazines[] = {};
gunnerAction = "gunner_static_low01";
gunnergetInAction = "";
gunnergetOutAction = "";
discreteDistance[] = {};
discreteDistanceInitIndex = 0;
class OpticsIn
{
class Wide: ViewOptics
{
initFov = 0.015;
minFov = 0.015;
maxFov = 0.015;
gunnerOpticsModel = PATHTOF(models\optics_m47.p3d);
gunnerOutOpticsModel = "\A3\weapons_f\reticle\optics_empty";
gunnerOpticsEffect[] = {"TankGunnerOptics1","OpticsBlur2","OpticsCHAbera2"};
};
};
displayName = "Balls in your face";
class ViewOptics: ViewOptics
{
initAngleX = 0;
minAngleX = -30;
maxAngleX = 30;
initAngleY = 5;
minAngleY = -100;
maxAngleY = 100;
initFov = 0.015;
minFov = 0.015;
maxFov = 0.015;
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 assembleInfo
{
primary = 0;
base = "";
assembleTo = "";
dissasembleTo[] = {};
displayName = "";
};
hiddenSelections[] = {"camo_launcher","camo_tube"};
};
class ACE_M47_Dragon_Static : ACE_M47_Dragon_Static_Base {
author = "ACE Team";
_generalMacro = "O_static_AT_F";
scope = 2;
displayname = "ACE_M47_Dragon_Static";
side = 1;
faction = "BLU_F";
crew = "B_soldier_f";
hiddenSelectionsTextures[] = {"\a3\weapons_f_beta\launchers\titan\data\launcher_co.paa","\a3\weapons_f_beta\launchers\titan\data\tubem_co.paa"};
class assembleInfo: assembleInfo
{
dissasembleTo[] = {"B_AT_01_weapon_F","B_HMG_01_support_F"};
};
};
};

View File

@ -1,6 +1,36 @@
class Mode_SemiAuto;
class CfgWeapons {
class Launcher_Base_F;
class CUP_launch_M47: Launcher_Base_F {
class launch_Titan_F;
class ACE_M47_Dragon: launch_Titan_F {
model = QPATHTOF(models\ace_m47_magazine.p3d);
picture = QPATHTOF(data\m47_dragon_item_ca.paa);
scope = 2;
};
class missiles_titan_static;
class ACE_M47_Dragon_static: missiles_titan_static {
displayName = "M47 Dragonzzz2222";
magazines[] = {"ace_m47_dragon"};
};
class launch_NLAW_F;
class ACE_M47_Daysight: launch_NLAW_F {
displayName = "M47 TODO Balls"; // Stay next to tubes in gear dialogs
model = QPATHTOF(models\ace_m47_optic.p3d);
picture = QPATHTOF(data\m47_daysight_item_ca.paa);
optics = 1;
weaponInfoType = "RscWeaponEmpty";
modelOptics = QPATHTOF(models\optics_m47);
reloadaction = "";
showSwitchAction = 1;
useAsBinocular = 1;
uipicture = "";
descriptionshort = "SU-36/P Daysight";
ace_disposable = 0;
magazines[] = {};
type = 4096;
opticsPPEffects[] = {"OpticsCHAbera1","OpticsBlur1"};
opticsZoomMin = 0.015;
opticsZoomMax = 0.015;
};
};

BIN
addons/dragon/anim/M47.rtm Normal file

Binary file not shown.

View File

@ -19,3 +19,5 @@ class CfgPatches {
#include "CfgWeapons.hpp"
#include "CfgMagazines.hpp"
#include "CfgAmmo.hpp"
#include "CfgVehicles.hpp"

View File

@ -0,0 +1,96 @@
class StageTI
{
texture="z\ace\addons\dragon\data\M47_TI_CA.tga";
};
ambient[]={0.958,0.98400003,1,1};
diffuse[]={0.958,0.98400003,1,1};
forcedDiffuse[]={0,0,0,0};
emmisive[]={0,0,0,1};
specular[]={0.153,0.169,0.111,1};
specularPower=90;
PixelShaderID="Super";
VertexShaderID="Super";
class Stage1
{
texture="z\ace\addons\dragon\data\M47_nohq.tga";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,0};
};
};
class Stage2
{
texture="a3\weapons_f\data\detailmaps\Metal_rough_DT.tga";
uvSource="tex";
class uvTransform
{
aside[]={4,0,0};
up[]={0,4,0};
dir[]={0,0,1};
pos[]={0,0,0};
};
};
class Stage3
{
texture="#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,0};
};
};
class Stage4
{
texture="z\ace\addons\dragon\data\m47_as.tga";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,0};
};
};
class Stage5
{
texture="z\ace\addons\dragon\data\M47_smdi.tga";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,0};
};
};
class Stage6
{
texture="#(ai,32,128,1)fresnel(4.01,2.86)";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,0};
};
};
class Stage7
{
texture="a3\data_f\env_land_co.tga";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,0};
};
};

View File

@ -0,0 +1,96 @@
class StageTI
{
texture="z\ace\addons\dragon\data\M47_TI_CA.tga";
};
ambient[]={0.98899996,1,0.958,1};
diffuse[]={0.98899996,1,0.958,1};
forcedDiffuse[]={0,0,0,0};
emmisive[]={0,0,0,1};
specular[]={0.15899999,0.21200001,0.19600001,1};
specularPower=90;
PixelShaderID="Super";
VertexShaderID="Super";
class Stage1
{
texture="z\ace\addons\dragon\data\M47mis_nohq.tga";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,0};
};
};
class Stage2
{
texture="a3\weapons_f\data\detailmaps\Metal_rough_DT.tga";
uvSource="tex";
class uvTransform
{
aside[]={4,0,0};
up[]={0,4,0};
dir[]={0,0,1};
pos[]={0,0,0};
};
};
class Stage3
{
texture="#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,0};
};
};
class Stage4
{
texture="#(argb,8,8,3)color(1,1,1,1,AS)";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,0};
};
};
class Stage5
{
texture="z\ace\addons\dragon\data\M47mis_smdi.tga";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,0};
};
};
class Stage6
{
texture="#(ai,32,128,1)fresnel(4.01,2.86)";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,0};
};
};
class Stage7
{
texture="a3\data_f\env_land_co.tga";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,0};
};
};

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,16 @@
class Extended_PreInit_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_pre_init));
};
};
class Extended_GetIn_Eventhandlers {
class ADDON {
clientGetin = QUOTE(_this call ace_sys_crewserved_fnc_getInDragon);
};
};
class Extended_GetOut_Eventhandlers {
class ADDON {
clientGetout = QUOTE(_this call ace_sys_crewserved_fnc_getOutDragon);
};
};

View File

@ -0,0 +1,125 @@
class MainTurret;
class CfgVehicles {
class LandVehicle;
class StaticWeapon : LandVehicle {
class Turrets {
class MainTurret;
};
};
class StaticMGWeapon: StaticWeapon{
class Turrets : Turrets {
class MainTurret : MainTurret {
class ViewOptics;
};
};
};
class ACE_M47_Dragon_Static_Base : StaticMGWeapon {
features = "Balls";
scope = 0;
displayName = "ACE M47 Dragon";
class Armory
{
description = "$STR_A3_CfgVehicles_HMG_01_Base_Armory0";
};
model = QUOTE(PATHTOF(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.3,1.0,0.3};
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 = "RscOptics_titan";
gunnerOpticsModel = "\A3\Weapons_F_Beta\acc\reticle_titan.p3d";
minElev = -20;
weapons[] = {"missiles_titan_static"};
magazines[] = {"1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles"};
//gunnerOpticsModel = "\ca\Weapons_e\optics_m47";
gunnerAction = "gunner_staticlauncher";
gunnergetInAction = "";
gunnergetOutAction = "";
displayName = "";
class ViewOptics: ViewOptics
{
initAngleX = 0;
minAngleX = -30;
maxAngleX = 30;
initAngleY = 0;
minAngleY = -100;
maxAngleY = 100;
initFov = 0.08333;
minFov = 0.04167;
maxFov = 0.08333;
visionMode[] = {"Normal","Ti"};
thermalMode[] = {0,1};
};
gunnerRightHandAnimName = "OtocHlaven_shake";
gunnerLeftHandAnimName = "OtocHlaven_shake";
//gunBeg = "Usti hlavne";
//gunEnd = "Konec hlavne";
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 assembleInfo
{
primary = 0;
base = "";
assembleTo = "";
dissasembleTo[] = {};
displayName = "";
};
hiddenSelections[] = {"camo_launcher","camo_tube"};
};
class ACE_M47_Dragon_Static : ACE_M47_Dragon_Static_Base {
author = "ACE Team";
_generalMacro = "O_static_AT_F";
scope = 2;
displayname = "ACE_M47_Dragon_Static";
side = 1;
faction = "BLU_F";
crew = "B_soldier_f";
hiddenSelectionsTextures[] = {"\a3\weapons_f_beta\launchers\titan\data\launcher_co.paa","\a3\weapons_f_beta\launchers\titan\data\tubem_co.paa"};
class assembleInfo: assembleInfo
{
dissasembleTo[] = {"B_AT_01_weapon_F","B_HMG_01_support_F"};
};
};
};

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,96 @@
class CfgSkeletons {
class Default {
isDiscrete = 1;
skeletonInherit = "";
skeletonBones[] = {};
};
class ace_m47_static_skeleton: Default {
skeletonInherit = "Default";
skeletonBones[] = {
"bipod","",
"grav_box","bipod",
"launcher","grav_box",
"optic","launcher",
"missile","launcher"
};
};
};
class CfgModels {
class Default {
sectionsInherit = "";
sections[] = {};
};
class ace_m47_static: Default {
sectionsInherit = "Default";
sections[] = {};
skeletonName = "ace_m47_static_skeleton";
class Animations {
class MainGun {
type="rotation";
selection="launcher";
sourceAddress = "clamp";
source="MainGun";
axis="elevate_axis";
animPeriod=0.01;
initPhase=0;
maxValue="rad 360";
minValue="rad -360";
angle1="rad 360";
angle0="rad -360";
};
class MainTurret {
type="rotation";
source="MainTurret";
selection="bipod";
sourceAddress = "loop";
axis="rotate_axis";
animPeriod=0.005;
minValue="rad -360";
maxValue="rad +360";
angle0="rad -360";
angle1="rad +360";
};
class rest_rotate {
type="rotation";
selection="grav_box";
sourceAddress = "clamp";
source="user";
axis="elevate_axis";
animPeriod=0.00001;
initPhase=-0.35;
maxValue="3.60";
minValue="-3.60";
angle1="rad -360";
angle0="rad 360";
};
class optic_hide
{
type = "hide";
source = "user";
selection = "optic";
animPeriod = 0.0001;
minValue = 0;
maxValue = 1;
minPhase = 0;
maxPhase = 1;
hideValue = 0.99;
initPhase = 1;
};
class missile_hide
{
type = "hide";
source = "user";
selection = "missile";
animPeriod = 0.0001;
minValue = 0;
maxValue = 1;
minPhase = 0;
maxPhase = 1;
hideValue = 0.99;
};
};
};
};

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.