mirror of
https://github.com/DrBeef/JKXR.git
synced 2025-02-17 01:11:56 +00:00
parent
64417d1521
commit
e765341b7d
20 changed files with 2298 additions and 3812 deletions
|
@ -164,6 +164,13 @@ void VR_SetHMDOrientation(float pitch, float yaw, float roll)
|
|||
if (!vr.maxHeight || vr.maxHeight < 1.0) {
|
||||
vr.maxHeight = vr.hmdposition[1];
|
||||
}
|
||||
|
||||
//GB Instantiate initial velocity
|
||||
if(!vr.tempWeaponVelocity)
|
||||
{
|
||||
vr.tempWeaponVelocity = 400.0f;
|
||||
}
|
||||
|
||||
vr.curHeight = vr.hmdposition[1];
|
||||
}
|
||||
|
||||
|
|
|
@ -29,6 +29,9 @@ typedef struct {
|
|||
bool third_person;
|
||||
float fov_x;
|
||||
float fov_y;
|
||||
|
||||
float tempWeaponVelocity;
|
||||
|
||||
bool immersive_cinematics;
|
||||
bool weapon_stabilised;
|
||||
bool right_handed;
|
||||
|
@ -40,6 +43,7 @@ typedef struct {
|
|||
int cgzoommode;
|
||||
int cgzoomdir;
|
||||
int saberBlockDebounce; // Amount of time after player is blocked that the saber position is fixed
|
||||
short saberBounceMove;
|
||||
|
||||
int forceid;
|
||||
|
||||
|
|
|
@ -17,6 +17,7 @@ Authors : Simon Brown
|
|||
#include <client/client.h>
|
||||
#include <statindex.h>
|
||||
#include "android/sys_local.h"
|
||||
#include "VrTBDC.h"
|
||||
|
||||
#ifdef JK2_MODE
|
||||
#include "../OpenJK/codeJK2/game/weapons.h"
|
||||
|
@ -121,12 +122,68 @@ void HandleInput_Default( ovrInputStateTrackedRemote *pDominantTrackedRemoteNew,
|
|||
QuatToYawPitchRoll(pWeapon->Pose.orientation, rotation, vr.weaponangles[ANGLES_DEFAULT]);
|
||||
QuatToYawPitchRoll(pOff->Pose.orientation, rotation, vr.offhandangles[ANGLES_DEFAULT]);
|
||||
|
||||
//if we are in saber block debounce, don't update the saber angles
|
||||
if (vr.saberBlockDebounce < cl.serverTime) {
|
||||
rotation[PITCH] = 45;
|
||||
QuatToYawPitchRoll(pWeapon->Pose.orientation, rotation, vr.weaponangles[ANGLES_SABER]);
|
||||
QuatToYawPitchRoll(pOff->Pose.orientation, rotation, vr.offhandangles[ANGLES_SABER]);
|
||||
rotation[PITCH] = 45;
|
||||
//If we are in a saberBlockDebounce thing then add on an angle
|
||||
//Lerped upon how far from the start of the saber move
|
||||
if (vr.saberBlockDebounce > cl.serverTime) {
|
||||
float lerp = 0.0f;
|
||||
//Where are we in the lerp
|
||||
// 0 = vr.saberBlockDebounce - TBDC_SABER_BOUNCETIME
|
||||
// 1 = vr.saberBlockDebounce - TBDC_SABER_BOUNCETIME / 2
|
||||
// 0 (again) = vr.saberBlockDebounce
|
||||
if(cl.serverTime < vr.saberBlockDebounce - TBDC_SABER_BOUNCETIME / 2)
|
||||
{
|
||||
//Somewhere between 0 and 1
|
||||
lerp = float(cl.serverTime - (vr.saberBlockDebounce - TBDC_SABER_BOUNCETIME)) / float((vr.saberBlockDebounce - TBDC_SABER_BOUNCETIME / 2) - (vr.saberBlockDebounce - TBDC_SABER_BOUNCETIME));
|
||||
}
|
||||
else
|
||||
{
|
||||
//Somewhere between 1 and 0
|
||||
lerp = 1 - float(cl.serverTime - (vr.saberBlockDebounce - TBDC_SABER_BOUNCETIME / 2)) / float(vr.saberBlockDebounce - (vr.saberBlockDebounce - TBDC_SABER_BOUNCETIME / 2));
|
||||
}
|
||||
switch(vr.saberBounceMove) {
|
||||
case VRLS_B1_BR:
|
||||
rotation[PITCH] += lerp * TBDC_SABER_BOUNCEANGLE;
|
||||
rotation[YAW] -= lerp * TBDC_SABER_BOUNCEANGLE;
|
||||
break;
|
||||
case VRLS_B1__R:
|
||||
rotation[YAW] -= lerp * TBDC_SABER_BOUNCEANGLE;
|
||||
break;
|
||||
case VRLS_B1_TR:
|
||||
rotation[PITCH] -= lerp * TBDC_SABER_BOUNCEANGLE;
|
||||
rotation[YAW] -= lerp * TBDC_SABER_BOUNCEANGLE;
|
||||
break;
|
||||
case VRLS_B1_T_:
|
||||
rotation[PITCH] -= lerp * TBDC_SABER_BOUNCEANGLE;
|
||||
break;
|
||||
case VRLS_B1_TL:
|
||||
rotation[PITCH] -= lerp * TBDC_SABER_BOUNCEANGLE;
|
||||
rotation[YAW] += lerp * TBDC_SABER_BOUNCEANGLE;
|
||||
break;
|
||||
case VRLS_B1__L:
|
||||
rotation[YAW] += lerp * TBDC_SABER_BOUNCEANGLE;
|
||||
break;
|
||||
case VRLS_B1_BL:
|
||||
rotation[PITCH] += lerp * TBDC_SABER_BOUNCEANGLE;
|
||||
rotation[YAW] += lerp * TBDC_SABER_BOUNCEANGLE;
|
||||
break;
|
||||
default:
|
||||
rotation[PITCH] -= lerp * TBDC_SABER_BOUNCEANGLE;
|
||||
rotation[YAW] += lerp * (TBDC_SABER_BOUNCEANGLE / 2);
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
/*else if(cl.serverTime > vr.saberBlockDebounce + 3000)
|
||||
{
|
||||
if(vr.saberBounceMove < 82)
|
||||
{
|
||||
vr.saberBounceMove = 82;
|
||||
}
|
||||
vr.saberBlockDebounce = cl.serverTime + TBDC_SABER_BOUNCETIME;
|
||||
}*/
|
||||
QuatToYawPitchRoll(pWeapon->Pose.orientation, rotation, vr.weaponangles[ANGLES_SABER]);
|
||||
QuatToYawPitchRoll(pOff->Pose.orientation, rotation, vr.offhandangles[ANGLES_SABER]);
|
||||
|
||||
rotation[PITCH] = vr_weapon_pitchadjust->value;
|
||||
QuatToYawPitchRoll(pWeapon->Pose.orientation, rotation, vr.weaponangles[ANGLES_ADJUSTED]);
|
||||
|
@ -167,6 +224,14 @@ void HandleInput_Default( ovrInputStateTrackedRemote *pDominantTrackedRemoteNew,
|
|||
vr.menu_right_handed = !vr.menu_right_handed;
|
||||
}
|
||||
}
|
||||
|
||||
//Close the datapad
|
||||
if (((secondaryButtonsNew & secondaryButton2) !=
|
||||
(secondaryButtonsOld & secondaryButton2)) &&
|
||||
(secondaryButtonsNew & secondaryButton2)) {
|
||||
Sys_QueEvent(0, SE_KEY, A_TAB, true, 0, NULL);
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -349,6 +414,29 @@ void HandleInput_Default( ovrInputStateTrackedRemote *pDominantTrackedRemoteNew,
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
//Parameter Changer
|
||||
static bool changed = false;
|
||||
if (between(-0.2f, primaryJoystickX, 0.2f) &&
|
||||
between(0.8f, pPrimaryJoystick->y, 1.0f)) {
|
||||
if(!changed) {
|
||||
vr.tempWeaponVelocity += 25;
|
||||
changed = true;
|
||||
ALOGV("**TBDC** Projectile speed %f",vr.tempWeaponVelocity);
|
||||
}
|
||||
} else if (between(-0.2f, primaryJoystickX, 0.2f) &&
|
||||
between(-1.0f, pPrimaryJoystick->y, -0.8f)) {
|
||||
if(!changed) {
|
||||
vr.tempWeaponVelocity -= 25;
|
||||
ALOGV("**TBDC** Projectile speed %f",vr.tempWeaponVelocity);
|
||||
changed = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
changed = false;
|
||||
}*/
|
||||
|
||||
//dominant hand stuff first
|
||||
{
|
||||
//Record recent weapon position for trajectory based stuff
|
||||
|
@ -359,16 +447,16 @@ void HandleInput_Default( ovrInputStateTrackedRemote *pDominantTrackedRemoteNew,
|
|||
VectorCopy(vr.weaponoffset, vr.weaponoffset_history[0]);
|
||||
vr.weaponoffset_history_timestamp[0] = vr.weaponoffset_timestamp;
|
||||
|
||||
if (vr.saberBlockDebounce < cl.serverTime) {
|
||||
VectorSet(vr.weaponposition, pWeapon->Pose.position.x,
|
||||
pWeapon->Pose.position.y, pWeapon->Pose.position.z);
|
||||
|
||||
///Weapon location relative to view
|
||||
VectorSet(vr.weaponoffset, pWeapon->Pose.position.x,
|
||||
pWeapon->Pose.position.y, pWeapon->Pose.position.z);
|
||||
VectorSubtract(vr.weaponoffset, vr.hmdposition, vr.weaponoffset);
|
||||
vr.weaponoffset_timestamp = Sys_Milliseconds();
|
||||
}
|
||||
VectorSet(vr.weaponposition, pWeapon->Pose.position.x,
|
||||
pWeapon->Pose.position.y, pWeapon->Pose.position.z);
|
||||
|
||||
///Weapon location relative to view
|
||||
VectorSet(vr.weaponoffset, pWeapon->Pose.position.x,
|
||||
pWeapon->Pose.position.y, pWeapon->Pose.position.z);
|
||||
VectorSubtract(vr.weaponoffset, vr.hmdposition, vr.weaponoffset);
|
||||
vr.weaponoffset_timestamp = Sys_Milliseconds();
|
||||
|
||||
|
||||
vec3_t velocity;
|
||||
VectorSet(velocity, pWeapon->Velocity.linearVelocity.x,
|
||||
|
@ -636,7 +724,8 @@ void HandleInput_Default( ovrInputStateTrackedRemote *pDominantTrackedRemoteNew,
|
|||
// Check quicksave
|
||||
static bool indicateQuickSave = true;
|
||||
if (canUseQuickSave) {
|
||||
int channel = (vr_control_scheme->integer >= 10) ? 2 : 1;
|
||||
//GB Fix buzzing left controller not right
|
||||
int channel = (vr_control_scheme->integer >= 10) ? 1 : 2;
|
||||
if (indicateQuickSave)
|
||||
{
|
||||
TBXR_Vibrate(40, channel, 0.5); // vibrate to let user know they can switch
|
||||
|
|
38
Projects/Android/jni/JKXR/VrTBDC.h
Normal file
38
Projects/Android/jni/JKXR/VrTBDC.h
Normal file
|
@ -0,0 +1,38 @@
|
|||
//
|
||||
// Created by baggyg on 02/04/2023.
|
||||
//
|
||||
|
||||
#ifndef JKXR_VRTBDC_H
|
||||
#define JKXR_VRTBDC_H
|
||||
|
||||
//VELOCITIES
|
||||
#define TBDC_BRYAR_PISTOL_VEL 3300
|
||||
#define TBDC_BLASTER_VELOCITY 4200
|
||||
#define TBDC_BOWCASTER_VELOCITY 3000
|
||||
#define TBDC_REPEATER_VELOCITY 3000
|
||||
#define TBDC_REPEATER_ALT_VELOCITY 1600
|
||||
#define TBDC_DEMP2_VELOCITY 2500
|
||||
#define TBDC_ROCKET_VELOCITY 2400
|
||||
|
||||
//FIRERATES
|
||||
#define TBDC_BRYAR_PISTOL_FIRERATE 250
|
||||
#define TBDC_BLASTER_FIRERATE 200
|
||||
|
||||
//SABERS
|
||||
#define TBDC_SABER_BOUNCETIME 200
|
||||
#define TBDC_SABER_BOUNCEANGLE 90
|
||||
|
||||
typedef enum {
|
||||
// Invalid, or saber not armed
|
||||
VRLS_NONE = 0,
|
||||
//Bounces
|
||||
VRLS_B1_BR = 82,
|
||||
VRLS_B1__R,
|
||||
VRLS_B1_TR,
|
||||
VRLS_B1_T_,
|
||||
VRLS_B1_TL,
|
||||
VRLS_B1__L,
|
||||
VRLS_B1_BL
|
||||
} vrBounce;
|
||||
|
||||
#endif //JKXR_VRTBDC_H
|
|
@ -32,6 +32,7 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
|
|||
#include "../game/wp_saber.h"
|
||||
#include "bg_local.h"
|
||||
#include <JKXR/VrClientInfo.h>
|
||||
#include <JKXR/VrTBDC.h>
|
||||
|
||||
#define LOOK_SWING_SCALE 0.5
|
||||
|
||||
|
@ -4780,12 +4781,14 @@ Ghoul2 Insert End
|
|||
CG_DoSaber( org_, axis_[0], length, client->ps.saberLengthMax, saberColor, renderfx );
|
||||
|
||||
if (CG_getPlayer1stPersonSaber(cent) &&
|
||||
cent->gent->client->ps.saberEventFlags & (SEF_BLOCKED|SEF_PARRIED) &&
|
||||
cent->gent->client->ps.saberEventFlags & (SEF_BLOCKED|SEF_PARRIED) &&
|
||||
cent->gent->client->ps.saberBounceMove != LS_NONE &&
|
||||
vr->saberBlockDebounce < cg.time)
|
||||
{
|
||||
cvar_t *vr_saber_block_debounce_time = gi.cvar("vr_saber_block_debounce_time", "200", CVAR_ARCHIVE); // defined in VrCvars.h
|
||||
vr->saberBlockDebounce = cg.time + vr_saber_block_debounce_time->integer;
|
||||
|
||||
//cvar_t *vr_saber_block_debounce_time = gi.cvar("vr_saber_block_debounce_time", "1000", CVAR_ARCHIVE); // defined in VrCvars.h
|
||||
//vr->saberBlockDebounce = cg.time + vr_saber_block_debounce_time->integer;
|
||||
vr->saberBlockDebounce = cg.time + TBDC_SABER_BOUNCETIME;
|
||||
vr->saberBounceMove = cent->gent->client->ps.saberBounceMove;
|
||||
cgi_HapticEvent("shotgun_fire", 0, 0, 100, 0, 0);
|
||||
}
|
||||
|
||||
|
|
|
@ -2035,11 +2035,40 @@ int NPC_ShotEntity( gentity_t *ent, vec3_t impactPos )
|
|||
}
|
||||
|
||||
int location = Q_irand(0, 99);
|
||||
if (location < 65 || cg.renderingThirdPerson ||
|
||||
int torsoRatio = 65;
|
||||
int legsRatio = 20;
|
||||
int headRatio = 15;
|
||||
|
||||
switch ( g_spskill->integer )
|
||||
{
|
||||
//Easiest difficulty, low chance of hittitng anything else
|
||||
case 0:
|
||||
torsoRatio = 90;
|
||||
legsRatio = 5;
|
||||
headRatio = 5;
|
||||
break;
|
||||
|
||||
//Medium difficulty, half-half chance of picking up the player
|
||||
case 1:
|
||||
torsoRatio = 60;
|
||||
legsRatio = 25;
|
||||
headRatio = 15;
|
||||
break;
|
||||
|
||||
//Hardest difficulty, always turn on attacking player
|
||||
case 2:
|
||||
default:
|
||||
torsoRatio = 50;
|
||||
legsRatio = 35;
|
||||
headRatio = 15;
|
||||
break;
|
||||
}
|
||||
|
||||
if (location < torsoRatio || cg.renderingThirdPerson ||
|
||||
ent->client == NULL || ent->client->ps.clientNum != 0) {
|
||||
// 65% chance (unless ent is not the player, then always go for chest, which is original behaviour)
|
||||
CalcEntitySpot(ent, SPOT_CHEST, targ);
|
||||
} else if (location < 85) {
|
||||
} else if (location < legsRatio + torsoRatio) {
|
||||
// 20% chance
|
||||
CalcEntitySpot(ent, SPOT_LEGS, targ);
|
||||
} else {
|
||||
|
|
|
@ -39,6 +39,8 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
|
|||
#include "wp_saber.h"
|
||||
#include <float.h>
|
||||
#include <JKXR/VrClientInfo.h>
|
||||
#include <JKXR/VrTBDC.h>
|
||||
extern cvar_t *g_TeamBeefDirectorsCut;
|
||||
|
||||
extern qboolean G_DoDismemberment( gentity_t *self, vec3_t point, int mod, int damage, int hitLoc, qboolean force = qfalse );
|
||||
extern qboolean G_EntIsUnlockedDoor( int entityNum );
|
||||
|
@ -7642,6 +7644,7 @@ void PM_WeaponLightsaber(void)
|
|||
PM_AddEvent( EV_FIRE_WEAPON );
|
||||
if ( !addTime )
|
||||
{
|
||||
|
||||
addTime = weaponData[pm->ps->weapon].fireTime;
|
||||
if ( g_timescale != NULL )
|
||||
{
|
||||
|
@ -8403,7 +8406,20 @@ static void PM_Weapon( void )
|
|||
return;
|
||||
}
|
||||
PM_AddEvent( EV_FIRE_WEAPON );
|
||||
addTime = weaponData[pm->ps->weapon].fireTime;
|
||||
|
||||
if(pm->ps->weapon == WP_BRYAR_PISTOL && g_TeamBeefDirectorsCut->value)
|
||||
{
|
||||
addTime = TBDC_BRYAR_PISTOL_FIRERATE;
|
||||
}
|
||||
else if(pm->ps->weapon == WP_BLASTER && g_TeamBeefDirectorsCut->value)
|
||||
{
|
||||
addTime = TBDC_BLASTER_FIRERATE;
|
||||
}
|
||||
else
|
||||
{
|
||||
addTime = weaponData[pm->ps->weapon].fireTime;
|
||||
}
|
||||
|
||||
|
||||
switch( pm->ps->weapon)
|
||||
{
|
||||
|
|
|
@ -35,6 +35,9 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
|
|||
#include "wp_saber.h"
|
||||
#include "Q3_Interface.h"
|
||||
#include "../../code/qcommon/strippublic.h"
|
||||
#include <JKXR/VrClientInfo.h>
|
||||
#include <JKXR/VrTBDC.h>
|
||||
extern cvar_t *g_TeamBeefDirectorsCut;
|
||||
|
||||
extern cvar_t *g_debugDamage;
|
||||
extern qboolean stop_icarus;
|
||||
|
@ -4992,7 +4995,7 @@ void G_Damage( gentity_t *targ, gentity_t *inflictor, gentity_t *attacker, vec3_
|
|||
knockback = 0;
|
||||
}
|
||||
// figure momentum add, even if the damage won't be taken
|
||||
if ( knockback && !(dflags&DAMAGE_DEATH_KNOCKBACK) ) //&& targ->client
|
||||
if ( knockback && (!(dflags&DAMAGE_DEATH_KNOCKBACK) || g_TeamBeefDirectorsCut->value)) //&& targ->client
|
||||
{
|
||||
G_ApplyKnockback( targ, newDir, knockback );
|
||||
G_CheckKnockdown( targ, attacker, newDir, dflags, mod );
|
||||
|
@ -5349,6 +5352,10 @@ void G_Damage( gentity_t *targ, gentity_t *inflictor, gentity_t *attacker, vec3_
|
|||
{//special case because this is shotgun-ish damage, we need to multiply the knockback
|
||||
knockback *= 12;//*6 for 6 flechette shots
|
||||
}
|
||||
else if(g_TeamBeefDirectorsCut->value)
|
||||
{
|
||||
knockback *= 2;
|
||||
}
|
||||
G_ApplyKnockback( targ, newDir, knockback );
|
||||
}
|
||||
|
||||
|
|
|
@ -29,7 +29,8 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
|
|||
#include "g_functions.h"
|
||||
#include "bg_local.h"
|
||||
#include <JKXR/VrClientInfo.h>
|
||||
|
||||
#include <JKXR/VrTBDC.h>
|
||||
extern cvar_t *g_TeamBeefDirectorsCut;
|
||||
//---------------
|
||||
// Blaster
|
||||
//---------------
|
||||
|
@ -54,6 +55,11 @@ static void WP_FireBlasterMissile( gentity_t *ent, vec3_t start, vec3_t dir, qbo
|
|||
}
|
||||
}
|
||||
|
||||
if(ent->client && ent->client->ps.clientNum == 0 && g_TeamBeefDirectorsCut->value)
|
||||
{
|
||||
velocity = TBDC_BLASTER_VELOCITY;
|
||||
}
|
||||
|
||||
WP_TraceSetStart( ent, start, vec3_origin, vec3_origin );//make sure our start point isn't on the other side of a wall
|
||||
|
||||
gentity_t *missile = CreateMissile( start, dir, velocity, 10000, ent, altFire );
|
||||
|
@ -121,9 +127,15 @@ void WP_FireBlaster( gentity_t *ent, qboolean alt_fire )
|
|||
|
||||
if ( alt_fire )
|
||||
{
|
||||
// add some slop to the alt-fire direction
|
||||
angs[PITCH] += Q_flrand(-1.0f, 1.0f) * BLASTER_ALT_SPREAD;
|
||||
angs[YAW] += Q_flrand(-1.0f, 1.0f) * BLASTER_ALT_SPREAD;
|
||||
if(vr->weapon_stabilised) {
|
||||
// add some slop to the alt-fire direction
|
||||
angs[PITCH] += Q_flrand(-0.5f, 0.5f) * BLASTER_ALT_SPREAD;
|
||||
angs[YAW] += Q_flrand(-0.5f, 0.5f) * BLASTER_ALT_SPREAD;
|
||||
} else {
|
||||
// add some slop to the alt-fire direction
|
||||
angs[PITCH] += Q_flrand(-1.0f, 1.0f) * BLASTER_ALT_SPREAD;
|
||||
angs[YAW] += Q_flrand(-1.0f, 1.0f) * BLASTER_ALT_SPREAD;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -138,10 +150,18 @@ void WP_FireBlaster( gentity_t *ent, qboolean alt_fire )
|
|||
}
|
||||
else
|
||||
{
|
||||
if (vr->cgzoommode != 4) { // much more accurate if using the scope
|
||||
// add some slop to the main-fire direction
|
||||
angs[PITCH] += Q_flrand(-1.0f, 1.0f) * BLASTER_MAIN_SPREAD;
|
||||
angs[YAW] += Q_flrand(-1.0f, 1.0f) * BLASTER_MAIN_SPREAD;
|
||||
if(vr->cgzoommode != 4) { // much more accurate if using the scope
|
||||
//GB - If double handing reduce by two thirds
|
||||
if(vr->weapon_stabilised)
|
||||
{
|
||||
// 1/3 as much variety if stabilised
|
||||
angs[PITCH] += Q_flrand(-0.33f, 0.33f) * BLASTER_MAIN_SPREAD;
|
||||
angs[YAW] += Q_flrand(-0.33f, 0.33f) * BLASTER_MAIN_SPREAD;
|
||||
} else {
|
||||
// add some slop to the main-fire direction
|
||||
angs[PITCH] += Q_flrand(-1.0f, 1.0f) * BLASTER_MAIN_SPREAD;
|
||||
angs[YAW] += Q_flrand(-1.0f, 1.0f) * BLASTER_MAIN_SPREAD;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,6 +29,8 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
|
|||
#include "bg_local.h"
|
||||
|
||||
#include <JKXR/VrClientInfo.h>
|
||||
#include <JKXR/VrTBDC.h>
|
||||
extern cvar_t *g_TeamBeefDirectorsCut;
|
||||
|
||||
//-------------------
|
||||
// Wookiee Bowcaster
|
||||
|
@ -98,7 +100,14 @@ static void WP_BowcasterMainFire( gentity_t *ent )
|
|||
for ( int i = 0; i < count; i++ )
|
||||
{
|
||||
// create a range of different velocities
|
||||
vel = BOWCASTER_VELOCITY * ( Q_flrand(-1.0f, 1.0f) * BOWCASTER_VEL_RANGE + 1.0f );
|
||||
if(ent->client && ent->client->ps.clientNum == 0 && g_TeamBeefDirectorsCut->value)
|
||||
{
|
||||
vel = TBDC_BOWCASTER_VELOCITY * ( Q_flrand(-1.0f, 1.0f) * BOWCASTER_VEL_RANGE + 1.0f );;
|
||||
}
|
||||
else
|
||||
{
|
||||
vel = BOWCASTER_VELOCITY * ( Q_flrand(-1.0f, 1.0f) * BOWCASTER_VEL_RANGE + 1.0f );
|
||||
}
|
||||
|
||||
vectoangles( forward, angs );
|
||||
|
||||
|
@ -160,8 +169,12 @@ static void WP_BowcasterAltFire( gentity_t *ent )
|
|||
}
|
||||
|
||||
WP_TraceSetStart( ent, start, vec3_origin, vec3_origin );//make sure our start point isn't on the other side of a wall
|
||||
|
||||
gentity_t *missile = CreateMissile( start, forward, BOWCASTER_VELOCITY, 10000, ent, qtrue );
|
||||
float velocity = BOWCASTER_VELOCITY;
|
||||
if(ent->client && ent->client->ps.clientNum == 0 && g_TeamBeefDirectorsCut->value)
|
||||
{
|
||||
velocity = TBDC_BOWCASTER_VELOCITY;
|
||||
}
|
||||
gentity_t *missile = CreateMissile( start, forward, velocity, 10000, ent, qtrue );
|
||||
|
||||
missile->classname = "bowcaster_alt_proj";
|
||||
missile->s.weapon = WP_BOWCASTER;
|
||||
|
|
|
@ -28,6 +28,9 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
|
|||
#include "w_local.h"
|
||||
#include "g_functions.h"
|
||||
#include "bg_local.h"
|
||||
#include <JKXR/VrClientInfo.h>
|
||||
#include <JKXR/VrTBDC.h>
|
||||
extern cvar_t *g_TeamBeefDirectorsCut;
|
||||
|
||||
//---------------
|
||||
// Bryar Pistol
|
||||
|
@ -69,8 +72,12 @@ void WP_FireBryarPistol( gentity_t *ent, qboolean alt_fire )
|
|||
AngleVectors( angs, forward, NULL, NULL );
|
||||
}
|
||||
|
||||
gentity_t *missile = CreateMissile( start, forward, BRYAR_PISTOL_VEL, 10000, ent, alt_fire );
|
||||
|
||||
float velocity = BRYAR_PISTOL_VEL;
|
||||
if(ent->client && ent->client->ps.clientNum == 0 && g_TeamBeefDirectorsCut->value)
|
||||
{
|
||||
velocity = TBDC_BRYAR_PISTOL_VEL;
|
||||
}
|
||||
gentity_t *missile = CreateMissile( start, forward, velocity, 10000, ent, alt_fire );
|
||||
missile->classname = "bryar_proj";
|
||||
missile->s.weapon = WP_BRYAR_PISTOL;
|
||||
|
||||
|
|
|
@ -28,6 +28,9 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
|
|||
#include "w_local.h"
|
||||
#include "g_functions.h"
|
||||
#include "bg_local.h"
|
||||
#include <JKXR/VrClientInfo.h>
|
||||
#include <JKXR/VrTBDC.h>
|
||||
extern cvar_t *g_TeamBeefDirectorsCut;
|
||||
|
||||
//-------------------
|
||||
// DEMP2
|
||||
|
@ -52,7 +55,12 @@ static void WP_DEMP2_MainFire( gentity_t *ent )
|
|||
|
||||
WP_TraceSetStart( ent, start, vec3_origin, vec3_origin );//make sure our start point isn't on the other side of a wall
|
||||
|
||||
gentity_t *missile = CreateMissile( start, forward, DEMP2_VELOCITY, 10000, ent );
|
||||
float velocity = DEMP2_VELOCITY;
|
||||
if(ent->client && ent->client->ps.clientNum == 0 && g_TeamBeefDirectorsCut->value)
|
||||
{
|
||||
velocity = TBDC_DEMP2_VELOCITY;
|
||||
}
|
||||
gentity_t *missile = CreateMissile( start, forward, velocity, 10000, ent );
|
||||
|
||||
missile->classname = "demp2_proj";
|
||||
missile->s.weapon = WP_DEMP2;
|
||||
|
|
|
@ -28,6 +28,8 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
|
|||
#include "w_local.h"
|
||||
#include "g_functions.h"
|
||||
#include "bg_local.h"
|
||||
#include <JKXR/VrClientInfo.h>
|
||||
extern cvar_t *g_TeamBeefDirectorsCut;
|
||||
|
||||
//-----------------------
|
||||
// Golan Arms Flechette
|
||||
|
|
|
@ -28,6 +28,9 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
|
|||
#include "w_local.h"
|
||||
#include "g_functions.h"
|
||||
#include "bg_local.h"
|
||||
#include <JKXR/VrClientInfo.h>
|
||||
#include <JKXR/VrTBDC.h>
|
||||
extern cvar_t *g_TeamBeefDirectorsCut;
|
||||
|
||||
//-------------------
|
||||
// Heavy Repeater
|
||||
|
@ -41,7 +44,12 @@ static void WP_RepeaterMainFire( gentity_t *ent, vec3_t dir, vec3_t start )
|
|||
|
||||
WP_TraceSetStart( ent, start, vec3_origin, vec3_origin );//make sure our start point isn't on the other side of a wall
|
||||
|
||||
gentity_t *missile = CreateMissile( start, dir, REPEATER_VELOCITY, 10000, ent );
|
||||
float velocity = REPEATER_VELOCITY;
|
||||
if(ent->client && ent->client->ps.clientNum == 0 && g_TeamBeefDirectorsCut->value)
|
||||
{
|
||||
velocity = TBDC_REPEATER_VELOCITY;
|
||||
}
|
||||
gentity_t *missile = CreateMissile( start, dir, velocity, 10000, ent );
|
||||
|
||||
missile->classname = "repeater_proj";
|
||||
missile->s.weapon = WP_REPEATER;
|
||||
|
@ -105,7 +113,12 @@ static void WP_RepeaterAltFire( gentity_t *ent )
|
|||
}
|
||||
else
|
||||
{
|
||||
missile = CreateMissile( start, forward, REPEATER_ALT_VELOCITY, 10000, ent, qtrue );
|
||||
float velocity = REPEATER_ALT_VELOCITY;
|
||||
if(ent->client && ent->client->ps.clientNum == 0 && g_TeamBeefDirectorsCut->value)
|
||||
{
|
||||
velocity = TBDC_REPEATER_ALT_VELOCITY;
|
||||
}
|
||||
missile = CreateMissile( start, forward, velocity, 10000, ent, qtrue );
|
||||
}
|
||||
|
||||
missile->classname = "repeater_alt_proj";
|
||||
|
|
|
@ -28,7 +28,9 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
|
|||
#include "w_local.h"
|
||||
#include "g_functions.h"
|
||||
#include "bg_local.h"
|
||||
|
||||
#include <JKXR/VrClientInfo.h>
|
||||
#include <JKXR/VrTBDC.h>
|
||||
extern cvar_t *g_TeamBeefDirectorsCut;
|
||||
//-----------------------
|
||||
// Rocket Launcher
|
||||
//-----------------------
|
||||
|
@ -147,6 +149,11 @@ void WP_FireRocket( gentity_t *ent, qboolean alt_fire )
|
|||
int damage = weaponData[WP_ROCKET_LAUNCHER].damage;
|
||||
float vel = ROCKET_VELOCITY;
|
||||
|
||||
if(ent->client && ent->client->ps.clientNum == 0 && g_TeamBeefDirectorsCut->value)
|
||||
{
|
||||
vel = TBDC_ROCKET_VELOCITY;
|
||||
}
|
||||
|
||||
if ( alt_fire )
|
||||
{
|
||||
vel *= 0.5f;
|
||||
|
@ -165,6 +172,7 @@ void WP_FireRocket( gentity_t *ent, qboolean alt_fire )
|
|||
|
||||
WP_TraceSetStart( ent, start, vec3_origin, vec3_origin );//make sure our start point isn't on the other side of a wall
|
||||
|
||||
|
||||
gentity_t *missile = CreateMissile( start, forward, vel, 10000, ent, alt_fire );
|
||||
|
||||
missile->classname = "rocket_proj";
|
||||
|
|
|
@ -156,7 +156,7 @@
|
|||
name none
|
||||
type ITEM_TYPE_TEXT
|
||||
rect 0 240 640 40
|
||||
text "MuadDib"
|
||||
text "MuadDib, BaggyG"
|
||||
font 2
|
||||
forecolor 1 1 1 1
|
||||
textscale 1.0
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,610 +0,0 @@
|
|||
// EXTERNAL WEAPON & AMMO DATA
|
||||
//
|
||||
// NOTE!!!!!!!!! Weapontype must start the block of weapon data.
|
||||
// NOTE!!!!!!!!! Ammo must start the block of ammo data.
|
||||
//
|
||||
// Weapontype - weapon data is associated with which weapon (must be first)
|
||||
// WP_NONE
|
||||
// WP_PHASER
|
||||
// WP_COMPRESSION_RIFLE
|
||||
// WP_IMOD
|
||||
// WP_SCAVENGER_RIFLE
|
||||
// WP_STASIS
|
||||
// WP_GRENADE_LAUNCHER,
|
||||
// WP_TETRION_DISRUPTOR,
|
||||
// WP_DREADNOUGHT,
|
||||
// WP_QUANTUM_BURST,
|
||||
// WP_BORG_WEAPON
|
||||
// WP_BORG_TASER
|
||||
// WP_BORG_ASSIMILATOR
|
||||
// WP_BORG_DRILL
|
||||
// WP_TRICORDER
|
||||
//
|
||||
// Weaponclass - weapon name
|
||||
// Weaponmodel - weapon model used in game
|
||||
// weaponicon - interface image
|
||||
// Ammotype - type of power weapon needs to fire
|
||||
// 0 - No power
|
||||
// 1 - Star Fleet power
|
||||
// 2 - Alien Crystal power
|
||||
// 3 - Phaser power
|
||||
// Ammolowcount - amount when "Low ammo" warning appears on screen
|
||||
// Flashcolor - color generate by weapon flash (R,G,B)
|
||||
// Firingsound - sound file used when firing
|
||||
// altfiringsound - sound file used when alt-firing
|
||||
// flashsound - sound file used by flash
|
||||
// altflashsound - sound file used by an alt-fire flash
|
||||
// stopsound - sound file used when a firing sound stops
|
||||
// Firetime - amount of time between firings
|
||||
// altfireTime - for alt fire
|
||||
// Range - range of weapon
|
||||
// energyPerShot - amount of energy used per shot
|
||||
// altenergypershot- for alt fire
|
||||
// barrelcount - number of barrels the model has (weaponname_b?.md3)
|
||||
// missileModel - missile .md3
|
||||
// altmissileModel - alternate missile .md3
|
||||
// missileSound - played while flying
|
||||
// altmissileSound - alternate missile launch sound
|
||||
// missileLight - intensity of lightsource for missile - if 0.0 then none (float)
|
||||
// altmissileLight - alternate missile light
|
||||
// missileLightColor - color in three float style R, G, B (0.0 to 1.0) - NOTE - if you have a light, you MUST HAVE THESE
|
||||
// altmissileLightColor - alternate color in three float style R, G, B (0.0 to 1.0)
|
||||
// missileHitSound - played on impact
|
||||
// altmissileHitSound - for alt fire
|
||||
// missileFuncName - missile fly function
|
||||
// altmissileFuncName - for alt fire
|
||||
//
|
||||
// FUNCTION NAMES
|
||||
// borgfunc
|
||||
// scavengerfunc
|
||||
// altscavengerfunc
|
||||
// stasisfunc
|
||||
// grenadefunc
|
||||
// altgrenadefunc
|
||||
// tetrionfunc
|
||||
// dreadnoughtfunc
|
||||
// quantumfunc
|
||||
// quantumaltfunc
|
||||
// botrocketfunc
|
||||
// forgeprojfunc
|
||||
// forgeprojfunc2
|
||||
// forgepsychfunc
|
||||
// parasiteacidfunc
|
||||
// stasisattackfunc
|
||||
// loaderlaserfunc
|
||||
// botprojfunc
|
||||
|
||||
//
|
||||
// For AMMO Types
|
||||
// ammoicon - STRING
|
||||
// ammomax - INT
|
||||
|
||||
|
||||
// WP_NULL
|
||||
{
|
||||
WEAPONTYPE WP_NONE
|
||||
}
|
||||
|
||||
// WP_STUN_BATON
|
||||
{
|
||||
weapontype WP_STUN_BATON
|
||||
weaponclass weapon_stun_baton
|
||||
weaponmodel models/weapons2/stun_baton/baton.md3
|
||||
weaponIcon gfx/hud/w_icon_stunbaton
|
||||
firingsound sound/weapons/baton/idle.wav
|
||||
barrelcount 3
|
||||
ammotype 1
|
||||
ammolowcount 5
|
||||
energypershot 0
|
||||
firetime 400
|
||||
range 8192
|
||||
altenergypershot 0
|
||||
altfiretime 400
|
||||
altrange 8192
|
||||
}
|
||||
|
||||
// WP_SABER
|
||||
{
|
||||
weapontype WP_SABER
|
||||
weaponclass weapon_saber
|
||||
weaponmodel models/weapons2/saber/saber_w.md3
|
||||
weaponIcon gfx/hud/w_icon_lightsaber
|
||||
firingsound sound/weapons/saber/saberhum1.wav
|
||||
ammotype 1
|
||||
ammolowcount 5
|
||||
energypershot 1
|
||||
firetime 100
|
||||
range 8192
|
||||
altenergypershot 3
|
||||
altfiretime 100
|
||||
altrange 8192
|
||||
missilemodel models/weapons2/saber/saber_w.md3
|
||||
}
|
||||
|
||||
|
||||
// WP_BRYAR_PISTOL
|
||||
{
|
||||
weapontype WP_BRYAR_PISTOL
|
||||
weaponclass weapon_bryar_pistol
|
||||
weaponmodel models/weapons2/briar_pistol/briar_pistol.md3
|
||||
weaponIcon gfx/hud/w_icon_briar
|
||||
missileFuncName bryar_func
|
||||
altmissileFuncName bryar_alt_func
|
||||
ammotype 2
|
||||
ammolowcount 15
|
||||
energypershot 1
|
||||
firetime 300 //400
|
||||
range 8192
|
||||
altenergypershot 1
|
||||
altfiretime 400
|
||||
altrange 8192
|
||||
muzzleEffect bryar/muzzle_flash
|
||||
altmuzzleEffect bryar/altmuzzle_flash
|
||||
altchargesound sound/weapons/bryar/altcharge.wav
|
||||
selectSound sound/weapons/bryar/select.wav
|
||||
}
|
||||
|
||||
// WP_BLASTER
|
||||
{
|
||||
weapontype WP_BLASTER
|
||||
weaponclass weapon_blaster
|
||||
weaponmodel models/weapons2/blaster_r/blaster.md3
|
||||
weaponIcon gfx/hud/w_icon_blaster
|
||||
ammotype 2
|
||||
ammolowcount 15
|
||||
energypershot 1
|
||||
firetime 300 //350
|
||||
range 8192
|
||||
altenergypershot 2
|
||||
altfiretime 150
|
||||
altrange 8192
|
||||
missileFuncName blaster_func
|
||||
altmissileFuncName blaster_alt_func
|
||||
muzzleEffect blaster/muzzle_flash
|
||||
altmuzzleEffect blaster/altmuzzle_flash
|
||||
selectSound sound/weapons/blaster/select.wav
|
||||
}
|
||||
|
||||
// WP_DISRUPTOR
|
||||
{
|
||||
weapontype WP_DISRUPTOR
|
||||
weaponclass weapon_disruptor
|
||||
weaponmodel models/weapons2/disruptor/disruptor.md3
|
||||
weaponIcon gfx/hud/w_icon_disruptor
|
||||
ammotype 3
|
||||
ammolowcount 15
|
||||
energypershot 3
|
||||
barrelcount 1
|
||||
firetime 600
|
||||
range 8192
|
||||
altenergypershot 3
|
||||
altfiretime 1300
|
||||
altrange 8192
|
||||
muzzleEffect disruptor/muzzle_flash
|
||||
altmuzzleEffect disruptor/altmuzzle_flash
|
||||
selectSound sound/weapons/disruptor/select.wav
|
||||
altchargesound sound/weapons/disruptor/altCharge.wav
|
||||
}
|
||||
|
||||
// WP_BOWCASTER
|
||||
{
|
||||
weapontype WP_BOWCASTER
|
||||
weaponclass weapon_bowcaster
|
||||
weaponmodel models/weapons2/bowcaster/bowcaster.md3
|
||||
weaponIcon gfx/hud/w_icon_bowcaster
|
||||
altchargesound sound/weapons/bowcaster/altcharge.wav
|
||||
ammotype 3
|
||||
ammolowcount 15
|
||||
energypershot 5
|
||||
firetime 750
|
||||
range 8192
|
||||
altenergypershot 5
|
||||
altfiretime 400
|
||||
altrange 8192
|
||||
missileFuncName bowcaster_func
|
||||
altmissileFuncName bowcaster_func
|
||||
muzzleEffect bowcaster/muzzle_flash
|
||||
altmuzzleEffect bowcaster/altmuzzle_flash
|
||||
selectSound sound/weapons/bowcaster/select.wav
|
||||
chargesound sound/weapons/bowcaster/altcharge.wav
|
||||
}
|
||||
|
||||
// WP_REPEATER
|
||||
{
|
||||
weapontype WP_REPEATER
|
||||
weaponclass weapon_repeater
|
||||
weaponmodel models/weapons2/heavy_repeater/heavy_repeater.md3
|
||||
weaponIcon gfx/hud/w_icon_repeater
|
||||
ammotype 4
|
||||
ammolowcount 25
|
||||
energypershot 1
|
||||
firetime 50
|
||||
range 8192
|
||||
altenergypershot 8
|
||||
altfiretime 800
|
||||
altrange 8192
|
||||
barrelcount 1
|
||||
missileFuncName repeater_func
|
||||
altmissileFuncName repeater_alt_func
|
||||
muzzleEffect repeater/muzzle_flash
|
||||
altmuzzleEffect repeater/altmuzzle_flash
|
||||
selectSound sound/weapons/repeater/select.wav
|
||||
}
|
||||
|
||||
// WP_DEMP2
|
||||
{
|
||||
weapontype WP_DEMP2
|
||||
weaponclass weapon_demp2
|
||||
weaponmodel models/weapons2/demp2/demp2.md3
|
||||
weaponIcon gfx/hud/w_icon_demp2
|
||||
ammotype 3
|
||||
ammolowcount 15
|
||||
energypershot 8
|
||||
firetime 450
|
||||
range 8192
|
||||
altenergypershot 10
|
||||
altfiretime 1200
|
||||
altrange 8192
|
||||
missileFuncName demp2_func
|
||||
muzzleEffect demp2/muzzle_flash
|
||||
altmissileFuncName demp2_alt_func
|
||||
altmuzzleEffect demp2/altmuzzle_flash
|
||||
selectSound sound/weapons/demp2/select.wav
|
||||
altchargesound sound/weapons/demp2/altCharge.wav
|
||||
}
|
||||
|
||||
|
||||
// WP_FLECHETTE
|
||||
{
|
||||
weapontype WP_FLECHETTE
|
||||
weaponclass weapon_flechette
|
||||
weaponmodel models/weapons2/golan_arms/golan_arms.md3
|
||||
barrelcount 1
|
||||
ammotype 4
|
||||
ammolowcount 15
|
||||
firetime 550
|
||||
energypershot 8
|
||||
range 8192
|
||||
weaponIcon gfx/hud/w_icon_flechette
|
||||
altenergypershot 8
|
||||
altfiretime 400
|
||||
altrange 8192
|
||||
missileFuncName flechette_func
|
||||
missileModel models/weapons2/golan_arms/projectileMain.md3
|
||||
altmissileFuncName flechette_alt_func
|
||||
muzzleEffect flechette/muzzle_flash
|
||||
altmuzzleEffect flechette/altmuzzle_flash
|
||||
altmissileModel models/weapons2/golan_arms/projectile.md3
|
||||
selectSound sound/weapons/flechette/select.wav
|
||||
}
|
||||
|
||||
// WP_ROCKET_LAUNCHER
|
||||
{
|
||||
weapontype WP_ROCKET_LAUNCHER
|
||||
weaponclass weapon_rocket_launcher
|
||||
weaponmodel models/weapons2/merr_sonn/merr_sonn.md3
|
||||
ammotype 5
|
||||
ammolowcount 1
|
||||
firetime 600
|
||||
energypershot 1
|
||||
range 8192
|
||||
weaponIcon gfx/hud/w_icon_merrsonn
|
||||
barrelcount 1
|
||||
altenergypershot 1
|
||||
altfiretime 1000
|
||||
altrange 8192
|
||||
missileLight 125
|
||||
missileLightColor 1.0 1.0 0.5
|
||||
altmissileLight 125
|
||||
altmissileLightColor 1.0 1.0 0.5
|
||||
missileFuncName rocket_func
|
||||
altmissileFuncName rocket_alt_func
|
||||
muzzleEffect rocket/muzzle_flash2
|
||||
altmuzzleEffect rocket/altmuzzle_flash
|
||||
missileModel models/weapons2/merr_sonn/projectile.md3
|
||||
altmissileModel models/weapons2/merr_sonn/projectile.md3
|
||||
missilesound sound/weapons/rocket/missleloop.wav
|
||||
altmissilesound sound/weapons/rocket/missleloop.wav
|
||||
selectSound sound/weapons/rocket/select.wav
|
||||
}
|
||||
|
||||
|
||||
// WP_THERMAL
|
||||
{
|
||||
weapontype WP_THERMAL
|
||||
weaponclass weapon_thermal
|
||||
weaponmodel models/weapons2/thermal/thermal.md3
|
||||
weaponIcon gfx/hud/w_icon_thermal
|
||||
ammotype 7
|
||||
ammolowcount 1
|
||||
energypershot 1
|
||||
firetime 800
|
||||
range 8192
|
||||
altenergypershot 1
|
||||
altfiretime 400
|
||||
altrange 8192
|
||||
missileModel models/weapons2/thermal/thermal_proj.md3
|
||||
altmissileModel models/weapons2/thermal/thermal_proj.md3
|
||||
barrelcount 0
|
||||
chargesound sound/weapons/thermal/charge.wav
|
||||
altchargesound sound/weapons/thermal/charge.wav
|
||||
selectSound sound/weapons/thermal/select.wav
|
||||
muzzleEffect thermal/muzzle_flash
|
||||
}
|
||||
|
||||
// WP_TRIP_MINE
|
||||
{
|
||||
weapontype WP_TRIP_MINE
|
||||
weaponclass weapon_trip_mine
|
||||
weaponmodel models/weapons2/laser_trap/laser_trap.md3
|
||||
weaponIcon gfx/hud/w_icon_tripmine
|
||||
ammotype 8
|
||||
ammolowcount 1
|
||||
energypershot 1
|
||||
firetime 800
|
||||
range 8192
|
||||
altenergypershot 1
|
||||
altfiretime 400
|
||||
altrange 8192
|
||||
missileModel models/weapons2/laser_trap/laser_trap_w.glm
|
||||
altmissileModel models/weapons2/laser_trap/laser_trap_w.glm
|
||||
selectSound sound/weapons/detpack/select.wav
|
||||
muzzleEffect tripmine/muzzle_flash
|
||||
|
||||
}
|
||||
|
||||
// WP_DET_PACK
|
||||
{
|
||||
weapontype WP_DET_PACK
|
||||
weaponclass weapon_det_pack
|
||||
weaponmodel models/weapons2/detpack/det_pack.md3
|
||||
weaponIcon gfx/hud/w_icon_detpack
|
||||
ammotype 9
|
||||
ammolowcount 1
|
||||
energypershot 1
|
||||
firetime 800
|
||||
range 8192
|
||||
altenergypershot 0
|
||||
altfiretime 400
|
||||
altrange 8192
|
||||
missileModel models/weapons2/detpack/det_pack_proj.glm
|
||||
selectSound sound/weapons/detpack/select.wav
|
||||
muzzleEffect detpack/muzzle_flash
|
||||
}
|
||||
|
||||
// WP_EMPLACED_GUN
|
||||
{
|
||||
weapontype WP_EMPLACED_GUN
|
||||
weaponclass weapon_emplaced_gun
|
||||
weaponmodel models/weapons2/noweap/noweap.md3
|
||||
|
||||
altenergypershot 1
|
||||
altrange 8192
|
||||
missileFuncName emplaced_func
|
||||
altmissileFuncName emplaced_func
|
||||
ammotype 6
|
||||
ammolowcount 15
|
||||
energypershot 1
|
||||
firetime 150
|
||||
altfiretime 150
|
||||
range 8192
|
||||
muzzleEffect emplaced/muzzle_flash
|
||||
}
|
||||
|
||||
// WP_BOT_LASER
|
||||
{
|
||||
weapontype WP_BOT_LASER
|
||||
weaponclass weapon_bryar_pistol
|
||||
weaponmodel models/weapons2/noweap/noweap.md3
|
||||
|
||||
//flashsound sound/weapons/probe/fire.wav
|
||||
//altflashsound sound/weapons/probe/alt_fire.wav
|
||||
altenergypershot 0
|
||||
altrange 8192
|
||||
missileFuncName bryar_func
|
||||
ammotype 1
|
||||
ammolowcount 15
|
||||
energypershot 2
|
||||
firetime 1600
|
||||
range 8192
|
||||
}
|
||||
|
||||
// WP_MELEE
|
||||
{
|
||||
weapontype WP_MELEE
|
||||
weaponclass weapon_melee
|
||||
weaponmodel models/weapons2/noweap/noweap.md3
|
||||
|
||||
ammotype 3
|
||||
ammolowcount 5
|
||||
energypershot 0
|
||||
firetime 1000
|
||||
range 1024
|
||||
}
|
||||
|
||||
// WP_ATST_MAIN
|
||||
{
|
||||
weapontype WP_ATST_MAIN
|
||||
weaponclass weapon_atst_main
|
||||
weaponmodel models/weapons2/noweap/noweap.md3
|
||||
weaponIcon gfx/hud/w_icon_atst
|
||||
//flashsound sound/weapons/atst/ATSTfire1.wav
|
||||
//altflashsound sound/weapons/atst/ATSTfire2.wav
|
||||
altenergypershot 1
|
||||
altrange 8192
|
||||
missileFuncName atstmain_func
|
||||
altmissileFuncName atstmain_func
|
||||
ammotype 6
|
||||
ammolowcount 15
|
||||
energypershot 1
|
||||
firetime 200
|
||||
altfiretime 150
|
||||
range 8192
|
||||
muzzleEffect emplaced/muzzle_flash
|
||||
}
|
||||
|
||||
// WP_ATST_SIDE
|
||||
{
|
||||
weapontype WP_ATST_SIDE
|
||||
weaponclass weapon_atst_side
|
||||
weaponmodel models/weapons2/noweap/noweap.md3
|
||||
weaponIcon gfx/hud/w_icon_atstside
|
||||
//flashsound sound/weapons/atst/ATSTfire3.wav
|
||||
//altflashsound sound/weapons/atst/ATSTfire4.wav
|
||||
altenergypershot 1
|
||||
altrange 8192
|
||||
|
||||
altmissileModel models/weapons2/merr_sonn/projectile.md3
|
||||
|
||||
missileFuncName atst_side_main_func
|
||||
altmissileFuncName atst_side_alt_func
|
||||
muzzleEffect emplaced/muzzle_flash
|
||||
altmuzzleEffect emplaced/muzzle_flash
|
||||
|
||||
ammotype 6
|
||||
ammolowcount 15
|
||||
energypershot 1
|
||||
firetime 400
|
||||
altfiretime 1000
|
||||
range 8192
|
||||
}
|
||||
|
||||
// WP_TIE_FIGHTER
|
||||
{
|
||||
weapontype WP_TIE_FIGHTER
|
||||
weaponclass weapon_tie_fighter
|
||||
weaponmodel models/weapons2/noweap/noweap.md3
|
||||
weaponIcon icons/w_icon_tie
|
||||
//flashsound sound/weapons/tie_fighter/tie_fire.wav
|
||||
//altflashsound sound/weapons/tie_fighter/tie_fire2.wav
|
||||
altenergypershot 1
|
||||
altrange 8192
|
||||
missileFuncName emplaced_func
|
||||
altmissileFuncName emplaced_func
|
||||
ammotype 6
|
||||
ammolowcount 15
|
||||
energypershot 1
|
||||
firetime 400
|
||||
altfiretime 400
|
||||
range 8192
|
||||
muzzleEffect emplaced/muzzle_flash
|
||||
}
|
||||
|
||||
// WP_RAPID_FIRE_CONC
|
||||
{
|
||||
weapontype WP_RAPID_FIRE_CONC
|
||||
weaponclass weapon_radid_concussion
|
||||
weaponmodel models/weapons2/noweap/noweap.md3
|
||||
weaponIcon icons/w_icon_tie
|
||||
//flashsound sound/weapons/rapid_conc/fire.wav
|
||||
//altflashsound sound/weapons/rapid_conc/alt_fire.wav
|
||||
altenergypershot 1
|
||||
altrange 8192
|
||||
missileFuncName emplaced_func
|
||||
altmissileFuncName repeater_alt_func
|
||||
ammotype 6
|
||||
ammolowcount 15
|
||||
energypershot 1
|
||||
firetime 400
|
||||
altfiretime 1000
|
||||
range 8192
|
||||
muzzleEffect emplaced/muzzle_flash
|
||||
}
|
||||
|
||||
// WP_BLASTER_PISTOL
|
||||
{
|
||||
weapontype WP_BLASTER_PISTOL
|
||||
weaponclass weapon_blaster_pistol
|
||||
weaponmodel models/weapons2/imp_pistol/pistol.md3
|
||||
|
||||
//flashsound sound/weapons/npc_blaster/fire.wav
|
||||
//altflashsound sound/weapons/npc_blaster/alt_fire.wav
|
||||
missileFuncName bryar_func
|
||||
altmissileFuncName bryar_alt_func
|
||||
ammotype 2
|
||||
ammolowcount 15
|
||||
energypershot 2
|
||||
firetime 400
|
||||
range 8192
|
||||
altenergypershot 2
|
||||
altfiretime 400
|
||||
altrange 8192
|
||||
muzzleEffect bryar/muzzle_flash
|
||||
}
|
||||
|
||||
// WP_TURRET
|
||||
{
|
||||
weapontype WP_TURRET
|
||||
weaponclass weapon_turret
|
||||
weaponmodel models/weapons2/noweap/noweap.md3
|
||||
weaponIcon icons/w_icon_turret
|
||||
altenergypershot 1
|
||||
altrange 8192
|
||||
missileFuncName turret_func
|
||||
ammotype 6
|
||||
ammolowcount 15
|
||||
energypershot 1
|
||||
firetime 400
|
||||
altfiretime 400
|
||||
range 8192
|
||||
muzzleEffect turret/muzzle_flash
|
||||
}
|
||||
|
||||
// AMMO_NONE
|
||||
{
|
||||
AMMOTYPE AMMO_NONE
|
||||
}
|
||||
|
||||
// AMMO_FORCE
|
||||
{
|
||||
AMMO AMMO_FORCE
|
||||
AMMOMAX 100
|
||||
}
|
||||
|
||||
// AMMO_BLASTER
|
||||
{
|
||||
AMMO AMMO_BLASTER
|
||||
AMMOMAX 300
|
||||
}
|
||||
|
||||
// AMMO_POWERCELL
|
||||
{
|
||||
AMMO AMMO_POWERCELL
|
||||
AMMOMAX 300
|
||||
}
|
||||
|
||||
// AMMO_METAL_BOLTS
|
||||
{
|
||||
AMMO AMMO_METAL_BOLTS
|
||||
AMMOMAX 400
|
||||
}
|
||||
|
||||
// AMMO_ROCKETS
|
||||
{
|
||||
AMMO AMMO_ROCKETS
|
||||
AMMOMAX 10
|
||||
}
|
||||
|
||||
// AMMO_EMPLACED
|
||||
{
|
||||
AMMO AMMO_EMPLACED
|
||||
AMMOMAX 999
|
||||
}
|
||||
|
||||
// AMMO_THERMAL
|
||||
{
|
||||
AMMO AMMO_THERMAL
|
||||
AMMOMAX 10
|
||||
}
|
||||
|
||||
// AMMO_TRIPMINE
|
||||
{
|
||||
AMMO AMMO_TRIPMINE
|
||||
AMMOMAX 5
|
||||
}
|
||||
|
||||
// AMMO_DETPACK
|
||||
{
|
||||
AMMO AMMO_DETPACK
|
||||
AMMOMAX 5
|
||||
}
|
Binary file not shown.
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 275 KiB |
Binary file not shown.
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 275 KiB |
Loading…
Reference in a new issue