All pastes #809062 Raw Edit

Etwas

public text v1 · immutable
·published 2007-12-08 05:36 UTC
rendered paste body
// Rifle Infantry
#define IS_BUILDER
#define IS_ARMED
#define WEAPON_GUN
#define WEAPON_GRENADE
#define USE_SUPPRESSION
#define USE_PINDOWN_SYSTEM
#define USE_FEAR_SYSTEM


#define TAK			// This is a TAK script

#include "constants.h"
#include "InfAnimations.h"
/*#include "InfSuppressionVars.h"
#include "inf_takecover.h"
#include "inf_aimpose_run.h"
#include "inf_hitbyweapon.h"
#include "inf_movecontrolNade.h"*/


piece	torso, flare, pelvis, rthigh, lthigh, lleg, rleg, rfoot, lfoot, luparm, lloarm, ground, gun, ruparm, rloarm, head;


#ifdef IS_ARMED
static-var isAiming, HipAim;
#endif

#ifdef WEAPON_GRENADE
static-var isActiveGrenade;
#endif


#ifdef USE_PINDOWN_SYSTEM
static-var isPinned, PinnedLevel;
#endif

#ifdef USE_FEAR_SYSTEM
static-var FearLevel, removeFearLevel;
#endif

static-var isTransported, isMoving, isProne, Desync, inAimStance;



//static-var bAiming, transported, DecreasingFear, last_pos, bMoving, nade_active, fear, desync, IsProne, DEATH_SPEED, PickDeath, IsPinned, InAimStance, HipAim;

#define SIG_AIM1            1
#define SIG_AIM2            2
#define SIG_AIM3            4

#define RIFLE_MUZZLEFLASH UNIT_SFX8


//movement check for anims
//#include "Inf_movecheck.h"
//#include "Inf_pin_unpin.h"

#ifdef IS_ARMED
WeaponReady()
{
	if (!(isActiveGrenade OR HipAim)) {
		INF_WEAPON_READY
		show gun;
	}

}

#ifdef IS_BUILDER
StartBuilding(heading,pitch)
{
	set INBUILDSTANCE to 1;
}

StopBuilding()
{
	set INBUILDSTANCE to 0;
}

QueryNanoPiece(piecenum)
{
	piecenum = head;
}
#endif

#ifdef WEAPON_GUN
AimFromWeapon1(piecenum)
{
	piecenum = head;
}

QueryWeapon1(piecenum)
{
	piecenum = flare;
}

AimWeapon1(heading, pitch)
{
	signal SIG_AIM1;
	set-signal-mask SIG_AIM1;
	
	isAiming = TRUE;
	sleep 100;
	
	if (isActiveGrenade OR isPinned) return 0;
	
	// unit is in prone stance and not pinned down
	if (isProne AND FearLevel < PinnedLevel) {
		//signal RUNSTOP;
		turn torso to y-axis <0> speed <600>;
		turn ruparm to x-axis <-85> - pitch speed <480>;
		turn luparm to x-axis <-140> - pitch speed <400>;
		turn pelvis to y-axis heading speed <120>;
		wait-for-turn pelvis around y-axis;
		isAiming = FALSE;
		return 1;
	}
	if (!isProne) {	
		// unit is moving
		if (isMoving) {
			//HipAim=1;	
			turn torso to x-axis <0> - pitch speed <300>;
			turn torso to y-axis heading speed <300>;
			INF_AIM_RIFLE_RUNNING
			wait-for-turn torso around x-axis;
			wait-for-turn torso around y-axis;
			isAiming = FALSE;
			return 1;
		} 
		// unit is standing still
		else if (!isMoving AND !isTransported) {
			//signal RUNSTOP;
			INF_STAND
			if (!isAiming) call-script WeaponReady();
	
			turn torso to x-axis <0> - pitch speed <300>;
			turn torso to y-axis heading speed <300>;
			INF_AIM_RIFLE_STANDING
			wait-for-turn torso around x-axis;
			wait-for-turn torso around y-axis;
			isAiming = FALSE;
			return 1;
		}
	}
	// unit is in a transport
	if (isTransported)
	{
		turn torso to x-axis 0-pitch speed <300>;
		turn pelvis to y-axis heading speed <300>;
		INF_AIM_RIFLE_TRANSPORTED
		wait-for-turn torso around x-axis;
		wait-for-turn pelvis around y-axis;
		isAiming = FALSE;
		return 1;
	} 
	return 0;
}
FireWeapon1()
{
	
	if (isProne) {
		turn ruparm to x-axis <-95> speed <700>;
		turn luparm to x-axis <-150> speed <700>;
		emit-sfx RIFLE_MUZZLEFLASH from flare;
		sleep 20;
		turn ruparm to x-axis <-85> speed <200>;
		turn luparm to x-axis <-140> speed <200>;
	}
	else {
		turn ruparm to x-axis <15> speed <700>;
		turn luparm to x-axis <-75> speed <700>;
		emit-sfx RIFLE_MUZZLEFLASH from flare;
		sleep 20;
		turn ruparm to x-axis <20> speed <200>;
		turn luparm to x-axis <-70> speed <200>;
		sleep 50;
	}
}
#endif

#ifdef WEAPON_GRENADE
AimFromWeapon2(piecenum)
{
	piecenum = torso;
}

QueryWeapon2(piecenum)
{
	piecenum = gun;
}
AimWeapon2(heading, pitch)
{
	signal SIG_AIM2;
	set-signal-mask SIG_AIM2;
	if (isMoving OR isTransported) return 0;
	
	turn pelvis to y-axis heading - <30> now;
	return 1;
}
FireWeapon2(heading)
{
	if (!isProne) {
		isActiveGrenade = TRUE;
		INF_AIM_GRENADE_STANDING
		isActiveGrenade = FALSE;

	
	}
	else {
		isActiveGrenade = TRUE;
		INF_AIM_GRENADE_PRONE
		isActiveGrenade = FALSE;
	}
}
#endif

#ifdef WEPAON_FLAGKILLER
AimFromWeapon3(piecenum)
{
	piecenum = head;
}
QueryWeapon3(piecenum)
{
	piecenum = head;
}
AimWeapon3(heading, pitch)
{
	return 1;
}
FireWeapon3() 
{
	return;
}
#endif

//#include "Inf_death.h"

Create()
{

#ifdef IS_ARMED
	isAiming = FALSE;
	HipAim = FALSE;
#endif

#ifdef WEAPON_GRENADE
	isActiveGrenade = FALSE;
#endif


#ifdef USE_PINDOWN_SYSTEM
	isPinned = FALSE;
	PinnedLevel = 100;
#endif

#ifdef USE_FEAR_SYSTEM
	FearLevel = 0;
	removeFearLevel = FALSE;
#endif

	isTransported = FALSE;
	isMoving = FALSE;
	isProne = FALSE;
	Desync = rand(1,100);
	inAimStance = FALSE;

	hide flare;
	call-script WeaponReady();
}