From 0aa94f6b6b7b49972a839aadaee4dbb42a3a53de Mon Sep 17 00:00:00 2001 From: enneract Date: Tue, 25 Nov 2014 01:45:57 +0100 Subject: Lightning Gun assets. --- assets/gfx/lightning/beam.jpg | Bin 6750 -> 0 bytes assets/icons/iconw_lightning.tga | Bin 0 -> 6814 bytes assets/models/weapons/lightning/CREDITS | 8 + assets/models/weapons/lightning/bolt.jpg | Bin 0 -> 4820 bytes assets/models/weapons/lightning/firing.wav | Bin 0 -> 138938 bytes assets/models/weapons/lightning/flash.jpg | Bin 0 -> 7860 bytes assets/models/weapons/lightning/flash0.wav | Bin 0 -> 70028 bytes assets/models/weapons/lightning/impact0.wav | Bin 0 -> 23760 bytes assets/models/weapons/lightning/impact1.wav | Bin 0 -> 29234 bytes assets/models/weapons/lightning/impact2.wav | Bin 0 -> 23370 bytes assets/models/weapons/lightning/lightning.jpg | Bin 0 -> 50840 bytes assets/models/weapons/lightning/lightning.md3 | Bin 0 -> 20692 bytes .../models/weapons/lightning/lightning_flash.md3 | Bin 0 -> 868 bytes assets/models/weapons/lightning/lightning_hand.md3 | Bin 0 -> 2628 bytes .../models/weapons/lightning/sidrial license.txt | 245 +++++++++++++++++++++ assets/models/weapons/lightning/weapon.cfg | 17 +- assets/models/weapons/rocketl/flash0.wav | Bin 99924 -> 99924 bytes assets/scripts/hw_lightning.particle | 10 +- assets/scripts/hw_lightning.shader | 29 ++- src/cgame/cg_event.c | 3 + src/cgame/cg_local.h | 1 + src/cgame/cg_main.c | 2 + src/cgame/cg_weapons.c | 33 ++- src/game/tremulous.h | 6 +- 24 files changed, 338 insertions(+), 16 deletions(-) delete mode 100644 assets/gfx/lightning/beam.jpg create mode 100644 assets/icons/iconw_lightning.tga create mode 100644 assets/models/weapons/lightning/CREDITS create mode 100644 assets/models/weapons/lightning/bolt.jpg create mode 100644 assets/models/weapons/lightning/firing.wav create mode 100644 assets/models/weapons/lightning/flash.jpg create mode 100644 assets/models/weapons/lightning/flash0.wav create mode 100644 assets/models/weapons/lightning/impact0.wav create mode 100644 assets/models/weapons/lightning/impact1.wav create mode 100644 assets/models/weapons/lightning/impact2.wav create mode 100644 assets/models/weapons/lightning/lightning.jpg create mode 100644 assets/models/weapons/lightning/lightning.md3 create mode 100644 assets/models/weapons/lightning/lightning_flash.md3 create mode 100644 assets/models/weapons/lightning/lightning_hand.md3 create mode 100644 assets/models/weapons/lightning/sidrial license.txt diff --git a/assets/gfx/lightning/beam.jpg b/assets/gfx/lightning/beam.jpg deleted file mode 100644 index d3b2b30..0000000 Binary files a/assets/gfx/lightning/beam.jpg and /dev/null differ diff --git a/assets/icons/iconw_lightning.tga b/assets/icons/iconw_lightning.tga new file mode 100644 index 0000000..280e83d Binary files /dev/null and b/assets/icons/iconw_lightning.tga differ diff --git a/assets/models/weapons/lightning/CREDITS b/assets/models/weapons/lightning/CREDITS new file mode 100644 index 0000000..c45a8d2 --- /dev/null +++ b/assets/models/weapons/lightning/CREDITS @@ -0,0 +1,8 @@ +firing.wav: +flash0.wav: + http://freesound.org/people/roper1911/sounds/152322/ + +impact0.wav: +impact1.wav: +impact2.wav: + http://freesound.org/people/FreqMan/sounds/24726/ diff --git a/assets/models/weapons/lightning/bolt.jpg b/assets/models/weapons/lightning/bolt.jpg new file mode 100644 index 0000000..29818cc Binary files /dev/null and b/assets/models/weapons/lightning/bolt.jpg differ diff --git a/assets/models/weapons/lightning/firing.wav b/assets/models/weapons/lightning/firing.wav new file mode 100644 index 0000000..668860a Binary files /dev/null and b/assets/models/weapons/lightning/firing.wav differ diff --git a/assets/models/weapons/lightning/flash.jpg b/assets/models/weapons/lightning/flash.jpg new file mode 100644 index 0000000..56cdcd9 Binary files /dev/null and b/assets/models/weapons/lightning/flash.jpg differ diff --git a/assets/models/weapons/lightning/flash0.wav b/assets/models/weapons/lightning/flash0.wav new file mode 100644 index 0000000..39747a7 Binary files /dev/null and b/assets/models/weapons/lightning/flash0.wav differ diff --git a/assets/models/weapons/lightning/impact0.wav b/assets/models/weapons/lightning/impact0.wav new file mode 100644 index 0000000..8f70050 Binary files /dev/null and b/assets/models/weapons/lightning/impact0.wav differ diff --git a/assets/models/weapons/lightning/impact1.wav b/assets/models/weapons/lightning/impact1.wav new file mode 100644 index 0000000..530d28b Binary files /dev/null and b/assets/models/weapons/lightning/impact1.wav differ diff --git a/assets/models/weapons/lightning/impact2.wav b/assets/models/weapons/lightning/impact2.wav new file mode 100644 index 0000000..ffff0d2 Binary files /dev/null and b/assets/models/weapons/lightning/impact2.wav differ diff --git a/assets/models/weapons/lightning/lightning.jpg b/assets/models/weapons/lightning/lightning.jpg new file mode 100644 index 0000000..1e2db36 Binary files /dev/null and b/assets/models/weapons/lightning/lightning.jpg differ diff --git a/assets/models/weapons/lightning/lightning.md3 b/assets/models/weapons/lightning/lightning.md3 new file mode 100644 index 0000000..c96197b Binary files /dev/null and b/assets/models/weapons/lightning/lightning.md3 differ diff --git a/assets/models/weapons/lightning/lightning_flash.md3 b/assets/models/weapons/lightning/lightning_flash.md3 new file mode 100644 index 0000000..2f6ceb0 Binary files /dev/null and b/assets/models/weapons/lightning/lightning_flash.md3 differ diff --git a/assets/models/weapons/lightning/lightning_hand.md3 b/assets/models/weapons/lightning/lightning_hand.md3 new file mode 100644 index 0000000..edda546 Binary files /dev/null and b/assets/models/weapons/lightning/lightning_hand.md3 differ diff --git a/assets/models/weapons/lightning/sidrial license.txt b/assets/models/weapons/lightning/sidrial license.txt new file mode 100644 index 0000000..14ac66d --- /dev/null +++ b/assets/models/weapons/lightning/sidrial license.txt @@ -0,0 +1,245 @@ +The weapons (blaster, gat, grenner) their effects and +icons as well as the powerup-models are taken from +Sidrial Quake3-MOD by Fountainhead Entertainment +---------------------------------------------------------- + + +LIMITED USE SOFTWARE LICENSE AGREEMENT + +This Limited Use Software License Agreement (this +"Agreement") is a legal agreement between you, the +end-user, and Fountainhead Entertainment, Inc. +("Fountainhead"). BY CONTINUING THE INSTALLATION +OF THE TOTAL CONVERSION TITLED SIDRIAL (THE +"SOFTWARE"), BY LOADING OR RUNNING THE SOFTWARE, +OR BY PLACING OR COPYING THE SOFTWARE ONTO YOUR +COMPUTER HARD DRIVE, COMPUTER RAM OR OTHER +STORAGE, YOU ARE AGREEING TO BE BOUND BY THE TERMS +OF THIS AGREEMENT. + +1. Grant of License. Subject to the terms +and provisions of this Agreement and so long as +you fully comply at all times with this Agreement, +Fountainhead grants to you the non-exclusive and +limited right to use the Software only in +executable or object code form. The term +"Software" includes all elements of the Software, +including, without limitation, data files and +screen displays. You are not receiving any +ownership or proprietary right, title or interest +in or to the Software or the copyrights, +trademarks, or other rights related thereto. For +purposes of the first sentence of this section, +"use" means loading the Software into RAM and/or +onto computer hard drive, as well as installation +of the Software on a hard disk or other storage +device, and means the uses permitted in sections +2. and 4. herein below. You agree that the +Software will not be downloaded, shipped, +transferred, exported or re-exported into any +country in violation of the U.S. Export +Administration Act (or any other law governing +such matters) by you or anyone at your direction +and that you will not utilize and will not +authorize anyone to utilize, in any other manner, +the Software in violation of any applicable law. +The Software shall not be downloaded or otherwise +exported or re-exported into (or to a national or +resident of) any country to which the U.S. has +embargoed goods or to anyone or into any country +who/which are prohibited, by applicable law, from +receiving such property. In exercising your +limited rights hereunder, you shall comply, at all +times, with all applicable laws, regulations, +ordinances and statutes. Fountainhead reserves +all rights not granted in this Agreement, +including, without limitation, all rights to +Fountainhead's trademarks. All other trademarks +and trade names are properties of their respective +owners. + +2. Permitted New Creations. Subject to the +terms and provisions of this Agreement and so long +as you fully comply at all times with this +Agreement, Fountainhead grants to you the +non-exclusive and limited right to create for the +Software (except any Software code) your own +modifications (the "New Creations") which shall +operate only with the Software (but not any demo, +test or other version of the Software). You may +include within the New Creations certain textures +and other images (the "Software Images") from the +Software. You shall not create any New Creations +which infringe against any third party right or +which are libelous, defamatory, obscene, false, +misleading, or otherwise illegal or unlawful. You +agree that the New Creations will not be +downloaded, shipped, transferred, exported or +re-exported into any country in violation of the +U.S. Export Administration Act (or any other law +governing such matters) by you or anyone at your +direction and that you will not utilize and will +not authorize anyone to utilize, in any other +manner, the New Creations in violation of any +applicable law. The New Creations shall not be +downloaded or otherwise exported or re-exported +into (or to a national or resident of) any country +to which the U.S. has embargoed goods or to anyone +or into any country who/which are prohibited, by +applicable law, from receiving such property. You +shall not rent, sell, lease, lend, offer on a +pay-per-play basis or otherwise commercially +exploit or commercially distribute the New +Creations. You are only permitted to distribute, +without any cost or charge, the New Creations to +other end-users so long as such distribution is +not infringing against any third party right and +is not otherwise illegal or unlawful. As noted +below, in the event you commit any breach of this +Agreement, your license and this Agreement shall +automatically terminate, without notice. + +3. Intellectual Property Rights. Certain + +printed materials (the "Printed Materials") may +accompany the Software. The Software, the Printed +Materials and all copyrights, trademarks and all +other conceivable intellectual property rights +related to the Software and the Printed Materials +are owned by Fountainhead and are protected by +United States copyright laws, international treaty +provisions and all applicable law, such as the +Lanham Act. You must treat the Software and the +Printed Materials like any other copyrighted +material, as required by 17 U.S.C., §101 et seq. +and other applicable law. You agree to use your +best efforts to see that any user of the Software +licensed hereunder, the Printed Materials or the +New Creations complies with this Agreement. You +agree that you are receiving a copy of the +Software and the Printed Materials by limited +license only and not by sale and that the "first +sale" doctrine of 17 U.S.C. §109 does not apply to +your receipt or use of the Software or the Printed +Materials. This section shall survive the +cancellation or termination of this Agreement. + +4. NO FOUNTAINHEAD WARRANTIES. FOUNTAINHEAD +DISCLAIMS ALL WARRANTIES, WHETHER EXPRESS OR +IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE AND ANY WARRANTY OF +NON-INFRINGEMENT, WITH RESPECT TO THE SOFTWARE, +THE PRINTED MATERIALS, THE SOFTWARE IMAGES AND +OTHERWISE. THE SOFTWARE IS PROVIDED "AS IS" AND +WITHOUT WARRANTY. FOUNTAINHEAD DOES NOT WARRANT +THAT THE SOFTWARE OR THE OPERATION OF THE SOFTWARE +WILL BE UNINTERRUPTED OR ERROR FREE OR THAT THE +SOFTWARE WILL MEET YOUR SPECIFIC OR SPECIAL +REQUIREMENTS. ADDITIONAL STATEMENTS, WHETHER ORAL +OR WRITTEN, DO NOT CONSTITUTE WARRANTIES BY +FOUNTAINHEAD AND SHOULD NOT BE RELIED UPON. This +section shall survive the cancellation or +termination of this Agreement. + +5. Governing Law, Venue, Indemnity and +Liability Limitation. This Agreement shall be +construed in accordance with and governed by the +applicable laws of the State of Texas and +applicable United States federal law. Except as +set forth below, exclusive venue for all +litigation regarding this Agreement shall be in +Dallas County, Texas and you agree to submit to +the jurisdiction of the federal and state courts +in Dallas County, Texas for any such litigation. +You hereby agree to indemnify, defend and hold +harmless Fountainhead and Fountainhead's +respective officers, employees, directors, agents, +licensees (excluding you), sub-licensees +(excluding you), successors and assigns from and +against all losses, lawsuits, damages, causes of +action and claims relating to and/or arising from +the New Creations or the distribution or other use +of the New Creations or relating to and/or arising +from your breach of this Agreement. You agree +that your unauthorized use of the Software Images, +the Printed Materials, or the Software, or any +part thereof, may immediately and irreparably +damage Fountainhead such that Fountainhead could +not be adequately compensated solely by a monetary +award, and in such event, Fountainhead's option, +that Fountainhead shall be entitled to an +injunctive order, in addition to all other +available remedies including a monetary award, to +prohibit such unauthorized use without the +necessity of Fountainhead posting bond or other +security. IN ANY CASE, FOUNTAINHEAD AND +FOUNTAINHEAD'S RESPECTIVE OFFICERS, EMPLOYEES, +DIRECTORS, SHAREHOLDERS, REPRESENTATIVES, AGENTS, +LICENSEES (EXCLUDING YOU), SUBLICENSEES (EXCLUSING +YOU), SUCCESSORS AND ASSIGNS SHALL NOT BE LIABLE +FOR LOSS OF DATA, LOSS OF PROFITS, LOST SAVINGS, +SPECIAL, INCIDENTAL, CONSEQUENTIAL, INDIRECT OR +PUNITIVE DAMAGES OR ANY OTHER DAMAGES ARISING FROM +ANY ALLEGED CLAIM FOR BREACH OF WARRANTY, BREACH +OF CONTRACT, NEGLIGENCE, STRICT PRODUCT LIABILITY, +OR OTHER LEGAL THEORY EVEN IF FOUNTAINHEAD OR +THEIR RESPECTIVE AGENT(S) HAVE BEEN ADVISED OF THE +POSSIBILITY OF ANY SUCH DAMAGES, OR EVEN IF SUCH +DAMAGES ARE FORESEEABLE, OR LIABLE FOR ANY CLAIM +BY ANY OTHER PARTY. This section shall survive +the cancellation or termination of this Agreement. + +6. General Provisions. Neither this +Agreement nor any part or portion hereof shall be +assigned or sublicensed by you. Fountainhead may +assign its respective rights under this Agreement +in the assigning party's sole discretion. Should +any provision of this Agreement be held to be +void, invalid, unenforceable or illegal by a court +of competent jurisdiction, the validity and +enforceability of the other provisions shall not +be affected thereby. If any provision is +determined to be unenforceable by a court of +competent jurisdiction, you agree to a +modification of such provision to provide for +enforcement of the provision's intent, to the +extent permitted by applicable law. Failure of +Fountainhead to enforce any provision of this +Agreement shall not constitute or be construed as +a waiver of such provision or of the right to +enforce such provision. IMMEDIATELY UPON YOUR +FAILURE TO COMPLY WITH OR BREACH OF ANY TERM OR +PROVISION OF THIS AGREEMENT, YOUR LICENSE GRANTED +HEREIN AND THIS AGREEMENT SHALL AUTOMATICALLY +TERMINATE, WITHOUT NOTICE, AND FOUNTAINHEAD MAY +PURSUE ALL RELIEF AND REMEDIES AGAINST YOU, WHICH +ARE AVAILABLE UNDER APPLICABLE LAW AND/OR THIS +AGREEMENT. Immediately upon termination of this +Agreement, any and all rights you are granted +hereunder shall terminate, you shall have no right +to use the Software, the Printed Materials or the +New Creations, in any manner, and you shall +immediately destroy all copies of the Software, +the Printed Materials and the New Creations in +your possession, custody or control, and all +rights granted hereunder shall revert, without +notice, to and be vested in Fountainhead. + +YOU ACKNOWLEDGE THAT YOU HAVE READ THIS AGREEMENT, +YOU UNDERSTAND THIS AGREEMENT, AND UNDERSTAND THAT +BY CONTINUING THE INSTALLATION OF THE SOFTWARE, BY +LOADING OR RUNNING THE SOFTWARE, OR BY PLACING OR +COPYING THE SOFTWARE ONTO YOUR COMPUTER HARD DRIVE +OR RAM, YOU AGREE TO BE BOUND BY THE TERMS AND +CONDITIONS OF THIS AGREEMENT. YOU FURTHER AGREE +THAT, EXCEPT FOR WRITTEN SEPARATE AGREEMENTS, IF +ANY, BETWEEN FOUNTAINHEAD AND YOU, THIS AGREEMENT +IS A COMPLETE AND EXCLUSIVE STATEMENT OF THE +RIGHTS AND LIABILITIES OF THE PARTIES HERETO, +RELATING TO THE SUBJECT MATTER HEREOF. THIS +AGREEMENT SUPERSEDES ALL PRIOR ORAL AGREEMENTS, +PROPOSALS OR UNDERSTANDINGS, AND ANY OTHER +COMMUNICATIONS, IF ANY, BETWEEN FOUNTAINHEAD AND +YOU RELATING TO THE SUBJECT MATTER OF THIS +AGREEMENT. diff --git a/assets/models/weapons/lightning/weapon.cfg b/assets/models/weapons/lightning/weapon.cfg index 59133e2..4d48e0f 100644 --- a/assets/models/weapons/lightning/weapon.cfg +++ b/assets/models/weapons/lightning/weapon.cfg @@ -1,14 +1,19 @@ -weaponModel models/weapons/lcannon/lcannon.md3 -icon icons/iconw_lucifer -crosshair 48 gfx/2d/crosshair-lcannon_s +weaponModel models/weapons/lightning/lightning.md3 +icon icons/iconw_lightning +crosshair 24 gfx/2d/crosshair-lgun_s primary { continuousFlash - flashDlightColor 1.0 1.0 1.0 + flashDlightColor 0.8 0.9 1.0 - impactMark 8 gfx/marks/bullet_mrk - impactParticleSystem models/weapons/lightning/impactPS + flashSound 0 models/weapons/lightning/flash0.wav + firingSound models/weapons/lightning/firing.wav + + impactMark 6 gfx/marks/bullet_mrk + impactSound 0 models/weapons/lightning/impact0.wav + impactSound 1 models/weapons/lightning/impact1.wav + impactSound 2 models/weapons/lightning/impact2.wav } diff --git a/assets/models/weapons/rocketl/flash0.wav b/assets/models/weapons/rocketl/flash0.wav index 009febe..89e78b7 100644 Binary files a/assets/models/weapons/rocketl/flash0.wav and b/assets/models/weapons/rocketl/flash0.wav differ diff --git a/assets/scripts/hw_lightning.particle b/assets/scripts/hw_lightning.particle index afcba47..f9370d5 100644 --- a/assets/scripts/hw_lightning.particle +++ b/assets/scripts/hw_lightning.particle @@ -5,29 +5,29 @@ models/weapons/lightning/impactPS { particle { - shader sync gfx/psaw/blue_particle + shader sync gfx/lightning/particle displacement 0 0 0 ~2.0 velocityType normal velocityDir linear velocityMagnitude 100 - velocity 0 0 -1 ~90 + velocity 0 0 -1 ~10 accelerationType static accelerationDir linear accelerationMagnitude 800 acceleration 0 0 -1 ~10 - radius 0 1.0~2.0 3.0~2.0 + radius 0 9 0 alpha 0 1.0 1.0 rotation 0 ~360 - bounce 0.5 - lifeTime 1000 + lifeTime 100 } - count 3 + count 1 delay 0 period 0 - ~0% } diff --git a/assets/scripts/hw_lightning.shader b/assets/scripts/hw_lightning.shader index 2fa0c0c..c42612b 100644 --- a/assets/scripts/hw_lightning.shader +++ b/assets/scripts/hw_lightning.shader @@ -1,9 +1,36 @@ +gfx/lightning/particle +{ + { + map models/weapons/lightning/flash.jpg + blendFunc add + } +} + gfx/lightning/beam { nomipmaps { - map gfx/lightning/beam + map models/weapons/lightning/bolt.jpg blendFunc add tcMod scroll -5 0 + tcMod scale 5 1 + } +} + +models/weapons/lightning/flash +{ + cull none + { + map models/weapons/lightning/flash.jpg + blendFunc add + } +} + +models/weapons/lightning/bolt +{ + cull none + { + map models/weapons/lightning/bolt.jpg + blendFunc add } } diff --git a/src/cgame/cg_event.c b/src/cgame/cg_event.c index d9e2f77..4c756ad 100644 --- a/src/cgame/cg_event.c +++ b/src/cgame/cg_event.c @@ -335,6 +335,9 @@ static void CG_Obituary( entityState_t *ent ) message = "^5almost dodged^7"; message2 = "^5's ^5rocket"; break; + case MOD_LIGHTNING: + message = "^5was electrocuted by^7"; + break; case MOD_GRENADE: message = "^5couldn't escape^7"; message2 = "^5's ^5grenade"; diff --git a/src/cgame/cg_local.h b/src/cgame/cg_local.h index 72b5a96..d979046 100644 --- a/src/cgame/cg_local.h +++ b/src/cgame/cg_local.h @@ -1338,6 +1338,7 @@ typedef struct qhandle_t alienWoundsBleedPS; qhandle_t lightningBeam; + qhandle_t lightningImpactPS; } cgMedia_t; typedef struct diff --git a/src/cgame/cg_main.c b/src/cgame/cg_main.c index 9abdc7e..6be1d50 100644 --- a/src/cgame/cg_main.c +++ b/src/cgame/cg_main.c @@ -867,6 +867,8 @@ static void CG_RegisterGraphics( void ) cgs.media.humanWoundsBleedPS = CG_RegisterParticleSystem( "humanWoundBleedPS" ); cgs.media.headShotPS = CG_RegisterParticleSystem( "headShotPS" ); + cgs.media.lightningImpactPS = CG_RegisterParticleSystem( "models/weapons/lightning/impactPS" ); + CG_BuildableStatusParse( "ui/assets/human/buildstat.cfg", &cgs.humanBuildStat ); CG_BuildableStatusParse( "ui/assets/alien/buildstat.cfg", &cgs.alienBuildStat ); diff --git a/src/cgame/cg_weapons.c b/src/cgame/cg_weapons.c index 86306e1..21d0352 100644 --- a/src/cgame/cg_weapons.c +++ b/src/cgame/cg_weapons.c @@ -868,7 +868,7 @@ static float CG_MachinegunSpinAngle( centity_t *cent, qboolean firing ) /* ============= -CG_RenderBeam +CG_RenderGenericBeam ============= */ @@ -1169,6 +1169,7 @@ void CG_AddPlayerWeapon( refEntity_t *parent, playerState_t *ps, centity_t *cent cent->muzzlePsTrigger = qfalse; } + // Lightning Gun's beam if( weaponNum == WP_LIGHTNING_GUN ) { attachment_t attachment; @@ -1213,6 +1214,19 @@ void CG_AddPlayerWeapon( refEntity_t *parent, playerState_t *ps, centity_t *cent if( CG_AttachmentPoint( &attachment, beam_start ) ) CG_RenderGenericBeam( beam_start, tr.endpos, cgs.media.lightningBeam, 3 ); + + if( tr.entityNum != ENTITYNUM_NONE && + !( tr.surfaceFlags & SURF_NOIMPACT ) ) + { + particleSystem_t *ps = CG_SpawnNewParticleSystem( cgs.media.lightningImpactPS ); + + if( CG_IsParticleSystemValid( &ps ) ) + { + CG_SetAttachmentPoint( &ps->attachment, tr.endpos ); + CG_SetParticleSystemNormal( ps, tr.plane.normal ); + CG_AttachToPoint( &ps->attachment ); + } + } } // make a dlight for the flash @@ -1353,6 +1367,15 @@ void CG_AddViewWeapon( playerState_t *ps ) } + // Lightning Gun vibration effect + if( ( weapon == WP_LIGHTNING_GUN ) && ps->eFlags & EF_FIRING ) + { + VectorMA( hand.origin, random( ) * 0.1, cg.refdef.viewaxis[ 0 ], + hand.origin ); + VectorMA( hand.origin, random( ) * 0.1, cg.refdef.viewaxis[ 1 ], + hand.origin ); + } + AnglesToAxis( angles, hand.axis ); // map torso animations to weapon animations @@ -1753,6 +1776,7 @@ void CG_FireWeapon( centity_t *cent, weaponMode_t weaponMode ) int c; weaponInfo_t *wi; weapon_t weaponNum; + qboolean skipSound = qfalse; es = ¢->currentState; @@ -1772,6 +1796,10 @@ void CG_FireWeapon( centity_t *cent, weaponMode_t weaponMode ) wi = &cg_weapons[ weaponNum ]; + if( wi->wim[ weaponMode ].continuousFlash && + cent->muzzleFlashTime >= cg.time - 100 ) + skipSound = qtrue; + // mark the entity as muzzle flashing, so when it is added it will // append the flash to the weapon model cent->muzzleFlashTime = cg.time; @@ -1783,6 +1811,9 @@ void CG_FireWeapon( centity_t *cent, weaponMode_t weaponMode ) cent->muzzlePsTrigger = qtrue; } + if( skipSound ) + return; + // play a sound for( c = 0; c < 4; c++ ) { diff --git a/src/game/tremulous.h b/src/game/tremulous.h index b42a7b4..ad4a688 100644 --- a/src/game/tremulous.h +++ b/src/game/tremulous.h @@ -515,9 +515,9 @@ TREMULOUS EDGE MOD SRC FILE #define PRIFLE_SECONDARY_REPEAT 400 #define LIGHTNING_PRICE 500 -#define LIGHTNING_AMMO 500 -#define LIGHTNING_K_SCALE 500 -#define LIGHTNING_DPS 100 // damage per second +#define LIGHTNING_AMMO 300 +#define LIGHTNING_K_SCALE 1 +#define LIGHTNING_DPS 60 // damage per second #define LIGHTNING_REPEAT 50 // keep it as low as possible #define LIGHTNING_DAMAGE ( LIGHTNING_DPS * LIGHTNING_REPEAT / 1000 ) #define LIGHTNING_RANGE 450 -- cgit