76 lines
2.3 KiB
Plaintext

#include maps\_utility;
#include common_scripts\utility;
#using_animtree( "generic_human" );
// self = the guy using the turret
main()
{
turret = self getTurret();
self.desired_anim_pose = "stand";
animscripts\utility::UpdateAnimPose();
// .primaryTurretAnim is used by code so don't change this variable name
self.primaryTurretAnim = %LGVGunner_aim;
self.additiveTurretRotateLeft = %nx_tp_chinese_lgv_gunner_aim_2_add;
self.additiveTurretRotateRight = %nx_tp_chinese_lgv_gunner_aim_4_add;
self.additiveRotateRoot = %additive_LGVGunner_aim_leftright;
self.additiveTurretIdle = %nx_tp_chinese_lgv_gunner_idle;
self.additiveTurretDriveIdle = %nx_tp_chinese_lgv_gunner_driveidle;
self.additiveTurretFire = %nx_tp_chinese_lgv_gunner_fire;
self.additiveUsegunRoot = %additive_LGVGunner_usegun;
self.turretDeathAnimRoot = %LGVGunner_death;
self.turretDeathAnim = %nx_tp_chinese_lgv_gunner_death;
self.turretPainAnims[ 0 ] = %nx_tp_chinese_lgv_gunner_pain;
self.turretReloadAnim = %nx_tp_chinese_lgv_gunner_rechamber;
self.turretSpecialAnimsRoot = %LGVGunner;
arr = [];
arr[ "nx_tp_chinese_lgv_gunner_rechamber" ] = %nx_tp_chinese_lgv_gunner_rechamber;
self.turretSpecialAnims = arr;
turret setup_turret_anims();
self thread animscripts\hummer_turret\minigun_code::main( turret );
// Setting verious parameters for LGV turret after minigun_code::main, which sets it to hummer values.
shots_per_second = turret GetTurretShotsPerSecondAI();
if ( shots_per_second > 0.0 )
{
turret.fireInterval = 1.0 / shots_per_second;
}
turret.secsOfFiringBeforeReload = 15.0;
turret.reloadDuration = 2.17;
turret.centerTurretForReload = true;
turret.extraFireTime_min = 0;
turret.extraFireTime_max = 1;
turret.wait_duration_after_aiming_before_firing = 0.2;
turret thread reload_fx();
}
#using_animtree( "vehicles" );
setup_turret_anims()
{
self UseAnimTree( #animtree );
self.passenger2turret_anime = %nx_vh_chinese_lgv_gunner_mount_turret;
self.turret2passenger_anime = %nx_vh_chinese_lgv_gunner_getout_turret;
}
reload_fx()
{
for (;;)
{
self waittill( "starting_reload" );
playFXOnTag( level._effect[ "nx_chinese_lgv_turret_steam" ], self, "tag_origin" );
playFXOnTag( level._effect[ "nx_chinese_lgv_turret_steam_muzzle" ], self, "tag_flash" );
}
}